COPYRIGHT (C) 1984-2026 MERRILL CONSULTANTS DALLAS TEXAS USA

MXG CHANGES ALL

=========================MEMBER=CHANGE44===============================
 /* COPYRIGHT (C) 1984-2026 MERRILL CONSULTANTS DALLAS TEXAS USA */

Testing MXG VERSION 44.01 is dated Mar 15, 2026 thru Change 44.009

ANNUAL  MXG VERSION 43.43 was    dated Jan  8, 2026 thru Change 43.074.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    MXG Version 44.01 Dated Mar 15, 2026 thru Change 44.009
II.   Changes Log
III.  SAS Version requirement information.
IV.   WPS Version requirement information.
V.    MXG Version Required for Hardware, Operating System Release, etc.
VI.   Incompatibilities and Installation of MXG 44.01.
VII.  Online Documentation of MXG Software.

  Member NEWSLTRS contains old Technical Notes. many of which are still
  valid, but the last was in 2018.  Now, TECHNOTES and FLASHes are in
  CHANGES/CHANGESS. which are also online.

  Member CHANGES contains the changes made in this current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  CHANGESS and NEWSLTRS are also online at http://www.mxg.com,

========================================================================
NEW SUPPORT
  This is the Current Version, MXG 44.01, dated MAR 15, 2026
  Supports z/16, z/17, z/OS 3.1 & z/OS 3.2, none of which have had any
  incompatible changes since MXG 39.08, but new variables were added in
  MXG 41.41, 43.02 43.43 and 44.01 described below and in CHANGESS..
  And support for CICS/TS 6.2/6.3 requires MXG 43.02 or later.

========================================================================

I.  MXG VERSION 44.01 DATED MAR 15, 2026, THRU CHANGE 44.009


==MAJOR CHANGES ADDED IN MXG 44.01, DATED MAR 15, 2026 THRU 44.009.==

ERRORS CORRECTED FOR Z/17:
  VMAC113   44.007  IBM Changed MEMP Equation for z/17

ERRORS CORRECTED
  VMAC85    44.009  Variable R85PENDT was not kept in TYPE85RD,TYPE85TD
  VMACDB2   44.006  Many QLST variables missing in DB2STAT/DB2STAT0
  CONFIGW4  44.002  Altair SLC/WPS SASAUTOS=(SOURCLIB SASAUTOS) %DS2CSV

NEW SUPPORT FOR Z/17
  VMAC73    44.008  Support for Channel Group 5 utilizations (z/17)

NEW SUPPORT
  VMAC83    44.003  Support for SMF 83 subtype 8 Anomaly TYPE85AN
  VMACRACF  44.005  Support for new RACF RACF2D0 and RACF590 datasets.
  VMXGRMFI  44.001  RMFINTRV variable CSFRAVAV/HIAV/LOAV/MEAV reinstated


========================================================================
II.   Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 44.01 after 43.43.

  Dataset/
  Member    Change    Description

  CONFIGW4  44.002  Altair SLC/WPS SASAUTOS=(SOURCLIB SASAUTOS) %DS2CSV
  VMAC113   44.007  IBM Changed MEMP Equation for z/17
  VMAC73    44.008  Support for Channel Group 5 utilizations (z/17)
  VMAC83    44.003  Support for SMF 83 subtype 8 Anomaly TYPE85AN
  VMAC85    44.009  Variable R85PENDT was not kept in TYPE85RD,TYPE85TD
  VMACDB2   44.006  Many QLST variables missing in DB2STAT/DB2STAT0
  VMACRACF  44.005  Support for new RACF RACF2D0 and RACF590 datasets.
  VMXGRMFI  44.001  RMFINTRV variable CSFRAVAV/HIAV/LOAV/MEAV reinstated

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

Inverse chronological list all Changes in MXG Version 44.01 after 43.43

NEXTCHANGE:

====== CHANGES THRU 44.09 ARE IN MXG 44.01 DATED MAR 15, 2026 =========

Change 44.009  Variable R85PENDT was not kept in TYPE85RD,TYPE85TD.
VMAC85
Feb 26, 2026
   Thanks to Geoff Wilde, U.S.BANK, USA.

Change 44.008  TYPE73 Utilization variables for Channel Group 5 for z/17
VMAC73         SMF73TRU/PRU/TWU/PWU converted to MB per Second.:
Feb 25, 2026
   Thanks to Andrew Nyiri, WESTPAC, AUSTRALIA
   Thanks to Edmond Lam, WESTPAC, AUSTRALIA

Change 44.007  TYPE113 variable MEMP equation was changed for z/17
VMAC113        SM113VN2=8.
ASUM113
Feb 24, 2026
   Thanks to Virginie Peigney, CA-GIP, France

Change 44.006 -Many QLST variables missing because IBM changed version
VMACDB2          WHEN QLSTVRSN is SET GREATER THAN OR EQUAL TO:
Feb 22, 2026                    '000001' - QLST ENTRY CONTAINS FIELDS
                               QLSTLOCN_OFF TO QLSTHTHD.
                    '000002' - QLST ENTRY CONTAINS FIELDS
                               QLSTLOCN_OFF TO QLSTNTILS.
                    '000003' - QLST ENTRY CONTAINS FIELDS
                               QLSTLOCN_OFF TO QLSTNATK.
                     OTHERWISE - QLST ENTRY CONTAINS FIELDS
                                 QLSTLOCN_OFF TO QLSTPRLV.
              -Support for three new variables in  DB2STAT0,DB2STAT:
                 QLSTNTPLH  ='TERMINATED*HP*DBATS*POOLINACT'
                 QLSTNTILS  ='TERMINATED*TCP*SOCKET*CLOSED'
                 QLSTNATK   ='AUTHENTICATION*TOKENS*USED'
   Thanks to Matthew T Chappell, Queensland Government,AUSTRALIA.

Change 44.005  Support for RACF 2D0 and 590 segments create two datasets
EXRAC2D0         dddddd   dataset   description
EXRAC590         RAC2D0   RACF02D0  GENERAL RESOURCE PROXY
VMACRACF         RAC590   RACF0590  USER KERB DATA
VMXGINIT
Feb 20, 2026
   Thanks to Matthew T Chappell, Queensland Government,AUSTRALIA.

Change 44.004  Many blank labels are now populated
MANY           TYPE26J2: SMF26DNL extra equal sign missing quote.
Feb 18, 2026   ASUM70PR: LPxICFS
               DB2STATS & DB2STAT1: QTPCGBPC corrected to QTPCGBP
               NDMWH2:   NDMUDTE & NDMUTME
               SARRI36:  SV36INLN, SV36IVLN & SV36NIDX
               SARRT36:  SV36ENAM & SV36TNO
               SARRU36:  SV36RID
               SV36IOF:  SV36ILN SV36NIDX SV36INLN SV36IVLN SV36ENAM
                           SV36TNO
               TYPE30NP: SMF30_NNPICTRS_ENTRY_ID & SMF30_NNPICTRS_VALUE
               TYPE73:   SMF73G5PRU
               TYPE749:  LOCSMF749RO LOCSMF749SO SMF749MAXI
                           SMF749RN SMF749RO SMF749SN
               TYPE80TK: TOKOWNERSOE
               TYPE8811: SMF88ATKE
               TYP11901: TISTATUS
               TYP11940: DM_LTEDATETIME & DM_LTSDATETIME
               TYP11942: DM_LISDATETIME
               TYP11943: DM_LTEDATETIME & DM_LTSDATETIME
               TYP120BU: SM120UDENT SM120UDEXI SM120UDLEFT
                           SM120UDREQID SM120UDVER TRACKING_TOKEN
               T102S196: QWT02R2N
               ASUM70PR  LP0ICFS-LQQICFS
               ASUMCEC   LP0ICFS-LQQICFS

Change 44.003  Support for SMF 83 SUBTYPE8 creates TYPE83AN dataset with
EXTY83AN       Data Access Anomaly information.
FORMATS
VMAC83
Feb  8, 2026
   Thanks to Arthur Elsäßer, Service- und Technisches Berichtswesen

Change 44.002  Altair/SLC/WPS SASAUTOS=(SOURCLIB SASAUTOS) is required
CONFIGW4       if SLC-distributed %DS2CSV is used. Otherwise, %DS2CSV
Jan 29, 2026   macro is un-resolved ERROR.
   Thanks to Scott Barry, SBBTECHLLC, USA.

Change 44.001  RMFINTRV variables CSFRAVAV CSFRHIAV CSFRLOAV CSFRMEAV
VMXGRMFI       were removed by Change 43.015 and supposedly restored in
Jan 24, 2026   Change 43.045, but that change was not implemented.
   Thanks to Michael R Buechlein, Edward D Jones, USA.


LASTCHANGE: Version 44.

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

III.  SAS Version requirement information:

   SAS Versions
    The current version nomenclature is SAS 9.4 TS1M8 (9.4M8),
     "M8", or with options  VERSIONLONG;
      "SAS 9.4 (9.04.01M8P080520)" on z/OS
           9.4 (TS04.01M8P08052020)"  on ASCII.

     SAS V9.4 M8 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.

     SAS V9.4.M7 and M8 for ASCII execution require SAS HOT FIX 69871.

     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL B support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 causes JCLTEST9/TESSOTHR to ABEND, TOO MANY ARGUMENTS
                FOR COUNTW() requires SAS Version 9.2 so 9.1.3 can NOT
                safely be used for MXG. See CHANGE 41.046, Jun 21, 2023.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V9.1.3 SAS Problem Note 17038 Hot Fix is required for
                DSNTYPE=LARGE.

     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 43.02 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 was STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


IV.   WPS Version requirement information:

      WPS Version 4.04 (04.04.01.00.005305 has been tested.
      DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
      Error was introduced in 4.03.01  and 4.04.00. See Change 39.171.
      Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/

      WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
      WPS Version 4.0 reportedly fixed version 3 problems.
      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


V.    MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

   -Support for z/17 processor data.

    MXG 38.07 or later is needed; there are no incompatible changes for
         z/17 but the SMF 113 default was changed in MXG 43.02 to z/17.
         and new variables were added in MXG 41.41.

   -Support for z/16 processor data.

    MXG 38.07 or later is needed, but 40.01 will ABEND, see below

    SMF: Only SMF 113 records were incompatibly changed, but there is no
         execution error as only counter labels and values were changed,
         causing coefficients for the calculated variables (RMI,etc) to
         also be changed and default coefficients are changed to z/16,
         You should use separate SAS steps for each processor type; MXG
         will OUTPUT only the processor type you requested in //SYSIN,
         and will skip other processor type records, so you do NOT need
         to pre-process SMF records to select processor type. You will
         want to rename one pair of datasets if you want to put them in
         the same PDB Data Library.
          For z/15 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11F %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
          and for z/16 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11G %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
         to get correct values in TYPE1131 and ASUM1131 datasets.

         MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
         40.03 for zVM.

         MXG 40.01 will ABEND due to a TYPE30 error exposed by the z/16.
         with z/OS 2.5 or APAR OA61511. You can correct by changing the
         line 1812 in VMAC30 from 192 to 220, or ask support for the
         current VMAC30 member with Change 40.050.

         Many other SMF and Data Gatherer records were updated in 40.04.

    RMF  ASMRMFV processes RMF III data with no errors, Change 40.068
         added some new fields. New DNG3 table support was in 40.05.


   -Support for z/15 processor data.
     The z/15 and z/15 T02 processors INCOMPATIBLY changed the SMF 113
     records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
     ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
     Support for counter changes for both models was in MXG 37.08.
        If you use MIPS in reports, the format $MGRMIPS provides the
        MIPS/MSU value for each processor; the z15 values were updated
        in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
        These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
        GRAFWRKX and TYPERMFV (RMF III).

     The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
     HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs.  Change 38.048.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

    SMF Back Levels: MXG 37.08 or later is required for both z15 & z/16
         SMF 113 change, but those back level versions could fail due
         to other records changed by subsystem updates you made for the
         z/16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
         exist when that back=level was created..

   The new zEDC/EADM compression hardware requires MXG 38.05 to support
   new metrics.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09

   -The MXG Tape Mount Monitor program/started task MXGTMNT must be at
    ML-55 which was created in MXG 33.09 in 2015 and is unchanged. That
    Maintenance Level is in the Startup Messages in the JOBLOG of the
    MXGTMNT Started Task.  If there is no ML= message or it is not 55
    then you must assemble the MXGTMNT Program with member ASMTAPEE.
     TO CONFIRM YOU ARE USING ML-55, LOOK AT THE SYSLOG MESSAGES
     FOR THE MXGTMNT STARTED TASK AND CONFIRM YOU SEE THIS MESSAGE:
     6.27.07 STC03134  TMNT016I MXG TAPE MONITOR MAINTENANCE LEVEL 55
                       INITIALIZATION COMPLETE (2022/05/04777.25)

      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.
      z/OS 2.4 Compatible from SMF Manual May 2020 38.105  38.05.
      z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075  39.03.
      z/OS 2.4 Compatible RMF III PGMR Apr  1 2021 39.074  39.03.
      z/OS 2.5 Compatible from SMF     Aug 12,2021         39.06.
      z/OS 2.5 Compatible RMF III      Aug 12,2021         39.08.
      z/OS 2.5 RMF III 4 new tables    Aug 12,2021         39.08.
      z/OS 2.5 Protects Possible New 72.3 fields (40.078)  40.04.
      z/OS 3.1 Support in MXG 39.08 New vars in 41.05 CH 41.092.
      z/OS 3.1 MXG 42.03 required for RMF III TYPERMFV CH 42.069
      z/OS 3.2 Support in MXG 39.08 New vars in 41.05 CH 41.092.
      z/OS 3.2 MXG 42.03 required for RMF III TYPERMFV CH 42.069

   There were no incompatible changes for z/OS 3.1 and 3.2 and z/17
   after MXG 39.08 in common SMF records, but new variables were
   added in MXG 41.05 and in 43.02 and RMF III RMFV requires 43.02.

Change 41.092  Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2       We and several customers have tested z/OS 3.1 records
VMAC30         with back levels of MXG that support z/OS 2.5 (39.08)
VMAC7072       with no errors reported, and we expect no issues.
VMAC79         Change 41.096 added the new AI data in TYPE99 and
Oct 26, 2023   there were other APARs in 3.1, but we expect no issues.
               New variables were added, see Change 41.092 full text.
               This change was in MXG 41.05.


      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15 New SMF 113 fields INCOMPAT  Nov 18, 2020        37.08
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      z15 ANAL9914 Support CH 39.006   Jan 14, 2021        39.01
      z/16 NEW SMF113 values, NO ABEND  See CHANGE 40.070  40.03
      z/16 MXG 38.07 OR LATER IS NEEDED.                   38.07
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS/TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS/TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS/TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS/TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS/TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS/TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS/TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS/TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS/TS 3.2 Compressed Records   Nov  3, 2007        25.11
      CICS/TS 4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS/TS 4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS/TS 4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS/TS 4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS/TS 4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS/TS 5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS/TS 5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS/TS 5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS/TS 5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS/TS 5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS/TS 5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS/TS 5.3 GA date              Dec 11, 2015        33.33
      CICS/TS 5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS/TS 5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS/TS 5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS/TS 5.4 GA                   Jun 17, 2017        35.03
      CICS/TS 5.5 GA (INCOMPAT)        Jan 29, 2018        36.11
      CICS/TS 5.6 GA (INCOMPAT)        Jun  1, 2020        38.07
      CICS/TS 5.6 NEW DATA (COMPAT)    Oct  5, 2020        38.09
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Jan 11, 2020        40.01
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Sep 20, 2020        40.02
      CICS/TS 6.1 UTILEXCL/IMACEXCL OK Aug 15, 2022        40.05
      CICS/TS 6.1 VMAC110 NO IMACEXCL  May 31, 2023        43.02
      CICS/TS 6.2 INCOMPATIBLE BETA16  Sep 20, 2023  75    43.02
      CICS/TS 6.3 INCOMPATIBLE BETA13  Jul 27, 2025  76    43.02
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DB2 13.1 NEW DATA NO ERRORS      Jan     2017        40.40
      DB2 13.1 IDAA/NETEZZZ ONLY ABEND Mar 19, 2013        41.01
      DB2 13.1 ABEND 41.06/41.41 102   Jan 12, 2024        42.01
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 22, 2019        37.02
      z/VM    7.1  INCOMPAT ABEND      Feb 14, 2019        37.02
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      IMS log 15.4 NO CHANGES          Mar  1, 2018        35.07
      IMS log 15.4 Minor Chg 42.033    May  8, 2024        42.02
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA-BROADCOM
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

VI.   Installation of MXG

 1. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section V.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VII.  Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.

LASTCHANGE: VERSION 43.
=========================MEMBER=CHANGE43===============================
 /* COPYRIGHT (C) 1984-2025 MERRILL CONSULTANTS DALLAS TEXAS USA */

        MXG VERSION 43.43 is     dated Jan  8, 2026 thru Change 43.074.
     An MXG VERSION 43.03 was re-dated Oct 22, 2025 thru Change 43.064.
        MXG VERSION 43.03 was re-dated Oct 20, 2025 thru Change 43.063.
        MXG VERSION 43.03 was dated Oct 13, 2025 thru Change 43.062.
        MXG VERSION 43.02 was dated Jul 14, 2025 thru Change 43.046.
        MXG VERSION 43.01 was re-dated Apr  9, 2025 thru Change 43.020.
        MXG VERSION 43.01 was dated Apr  1, 2025 thru Change 43.014.

REDATED MXG VERSION 42.42 was dated Jan 24, 2025, thru Change 42.105
ANNUAL  MXG VERSION 42.42 was dated Jan  3, 2025, thru Change 42.101

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    MXG Version 43.43 Dated Jan  8, 2026 thru Change 43.074.
II.   Changes Log
III.  SAS Version requirement information.
IV.   WPS Version requirement information.
V.    MXG Version Required for Hardware, Operating System Release, etc.
VI.   Incompatibilities and Installation of MXG 43.43.
VII.  Online Documentation of MXG Software.

  Member NEWSLTRS contains old Technical Notes. many of which are still
  valid, but the last was in 2018.  Now, TECHNOTES and FLASHes are in
  CHANGES/CHANGESS. which are also online.

  Member CHANGES contains the changes made in this current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  CHANGESS and NEWSLTRS are also online at http://www.mxg.com,

========================================================================
NEW SUPPORT
 This Current Version is the ANNUAL VERSION MXG 43.43 dated JAN 8, 2026
  Supports z/16, z/17, z/OS 3.1 & z/OS 3.2, none of which have had any
  incompatible changes since MXG 39.08, but new variables were added in
  MXG 41.41, 43.02 and 43.43 as described below..
  And support for CICS/TS 6.3 requires MXG 43.02.

========================================================================

I.  MXG VERSION 43.43 DATED JAN  8, 2026, THRU CHANGE 43.074


==MAJOR CHANGES ADDED IN MXG 43.43, DATED JAN  8, 2026 THRU 43.074.==

ERRORS CORRECTED
  VMAC102   43.071    Variable QW0196GB not kept in dataset T102S196.
  VMAC98    43.066    Datasets TYPE119LS,TYPE119LL were misaligned.
NEW SUPPORT
  VMAC7072  43.073    z/OS 3.2 SMF Manual Variables Added to
                      TYPE72GO TYPE72TR TYPE748S TYPE74CA datasets
  VMAC30    43.070    New SMF30LE Language Environment variables added.
  VMAC121   43.069    Support for TYPE121J JAVD dataset for JOBS subtype
  VMACNDM   43.068    Variables added NDM-CDI NDMHW2 High-Watermark dset
ENHANCEMENTS
  ANALRANK  43.065    ANALRANK "TOP TEN" REPORTS ENHANCED.
  ASUM72GO  43.067    New option to calculate SYSPLEX Performance Index.

==MAJOR CHANGES ADDED IN MXG 43.03, DATED Oct 22, 2025 THRU 43.064.==

ERRORS CORRECTED
  VMAC110   43.064    CICS/TS 6.1 REQUIRES MXG 43.03 due to TYPOS.
  VMAC110   43.043    CICS/TS 6.2 AND 6.3 REQUIRES MXG 43.03
  JCLASMXG  43.059    JCLASMXG JOB ABEND, NRUSING typo for NOUSING.
  VMXGRMFI  43.058    First TRNDRMFI run TRNDRMFI not Found
  VMXGALOC  43.056    AUTOALOC=YES, MXG 43.01/43.02 ERROR LIBNAMES ABEND
  VMAC82    43.055    SMF 82 INPUT EXCEEDED subtype 45 and 47 inserts.
  ODS       43.052    ERROR: Physical file T060GQP.SASWCUR.TFF not exist
CORRECTIONS
  VMAC102   43.047    Variable QW0396PG was not kept in T102S396.
  VMAC30    43.048    S30DMxxx variables not Kept in subtype 4.
NEW SUPPORT
  VMGUEST   43.060    To populate RMF data for z/OS under z/vm VMGUEST.
  ANAL2023  43.054    New ANAL2023 dataset merges TYPE120 and TYPE123.
  VMAC119   43.050    New TLS/IPS variables, Subtype 11 and 12 updates.


==MAJOR CHANGES ADDED IN MXG 43.02, DATED Jul 14, 2025 THRU 43.046.==

NEW SUPPORT
  TYPE1131  43.046 -Support for z/17 and z/OS 3.1 and z/OS 3.2 have not
                    had any incompatible changes since MXG 39.08 but new
                    variables were added in MXG 41.41 and 43.02.
                    And, support for CICS/TS 6.3 requires MXG 43.03

  TYPEBMCA  43.044  Support for BMC AMI OPsM for IMS new datasets
  TYPE110   43.043  Support for CICS/TS 6.3 GA Jul 5, 2025 INCOMPATIBLE.
  TYPE110   43.043  Support for CICS/TS 6.3 OPEN BETA 13. INCOMPATIBLE.
  UTILEXCL  43.043  Support for CICS/TS 6.3 OPEN BETA 13. INCOMPATIBLE.
  TYPE73    43.041  Support for APAR OA66054/OA66014 TYPE73 Chan Groups.
  TYPE7072  43.039  Support for APAR OA66812 creates TYPE70WC Workloads
  TYPE7072  43.025  Support for APARS OA66054/66402/66018 TYPE70 power.
  TYPE74    43.019  Support for APAR OA62970 R744SLTM set to zero.
  TYPE98    43.011  Support APAR OA66854 Type 98 ST 1025 new TYPE98JI

ERRORS CORRECTED
  TYPE119   43.042  Correction TYPE119 Subtypes 38-44 contents.
  ASMRMFV   43.040  S002 ABEND when processing PCIG3 table with 41 pci.
  TYPE119   43.034  Correction TYPE11944 did not input all variables.
  TYPEACF2  43.030  INPUT STATEMENT EXCEEDED ACSMFREC='V' ACF2VR record.
  VMXGRMFI  43.029  PROC SORT DATA=R70PRHOUR NODUP to NODUPKEY spikes
  TYPE119   43.028  Dataset TYP11951 SMF119ML_SS_RDATE?EDATE invalid.
  TECHNOTE  43.023  DB2 IFCID 0254 QW0254AR/ER large values from IBM.
  2MACSMF   43.021  Reading VSAM SMF INVALID DATA FOR RMFSTART.
  BUILDPD3  43.020  ERROR: Attempt to %GLOBAL a local name.
  TYPEBVIR  43.017  INPUT STATEMENT EXCEEDED BVIRTYPE=33x
  VMXGRMFI  43.015  R71MAX= list had MX variables changed to AV.
  TYPEIMS   43.010  Correct undefined MACRO _VIMS450 dataset IMS450FT


==MAJOR CHANGES ADDED IN MXG 43.01, DATED Apr  1, 2025 THRU 43.014.==

NEW SUPPORT
 VMAC115    43.003  Support for V933 MQ SMF 115 Subtype 216 TY115216.
 VMAC119    43.001  Support for SMF 119 Subtype 11 Policy Segment

========================================================================
II.   Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 43.03 after 43.02.

  Dataset/
  Member    Change    Description


Alphabetical list of important changes in MXG 43.43 after 43.03.

  ANALRANK  43.065    ANALRANK "TOP TEN" REPORTS ENHANCED.
  ASUM72GO  43.067    New option to calculate SYSPLEX Performance Index.
  VMAC102   43.071    Variable QW0196GB not kept in dataset T102S196.
  VMAC121   43.069    Support for TYPE121J JAVD dataset for JOBS subtype
  VMAC30    43.070    New SMF30LE Language Environment variables added.
  VMAC7072  43.073    z/OS 3.2 SMF Manual Variables Added to
                        TYPE72GO TYPE72TR TYPE748S TYPE74CA datasets
  VMAC98    43.066    Datasets TYPE119LS,TYPE119LL were misaligned.
  VMACNDM   43.068    Variables added NDM-CDI NDMHW2 High-Watermark dset

Alphabetical list of important changes in MXG 43.03 after 43.02.

  Dataset/
  Member    Change    Description

  ANAL2023  43.054    New ANAL2023 dataset merges TYPE120 and TYPE123.
  JCLASMXG  43.059    JCLASMXG JOB ABEND, NRUSING typo for NOUSING.
  ODS       43.052    ERROR: Physical file T060GQP.SASWCUR.TFF not exist
  VMAC102   43.047    Variable QW0396PG was not kept in T102S396.
  VMAC119   43.050    New TLS/IPS variables, Subtype 11 and 12 updates.
  VMAC30    43.048    S30DMxxx variables not Kept in subtype 4.
  VMAC82    43.055    SMF 82 INPUT EXCEEDED subtype 45 and 47 inserts.
  VMGUEST   43.060    To populate RMF data for z/OS under z/vm VMGUEST.
  VMXGALOC  43.056    AUTOALOC=YES, MXG 43.01/43.02 ERROR LIBNAMES ABEND
  VMXGRMFI  43.058    First TRNDRMFI run TRNDRMFI not Found

Alphabetical list of important changes in MXG 43.02 after 43.01.

  Dataset/
  Member    Change    Description

  ASMRMFV   43.040  S002 ABEND when processing PCIG3 table with 41 pci.
  BUILDPD3  43.020  ERROR: Attempt to %GLOBAL a local name.
  TECHNOTE  43.023  DB2 IFCID 0254 QW0254AR/ER large values from IBM.
  TYPE110   43.043  Support for CICS/TS 6.3 OPEN BETA 13. INCOMPATIBLE.
  TYPE119   43.028  Dataset TYP11951 SMF119ML_SS_RDATE?EDATE invalid.
  TYPE119   43.034  Correction TYPE11944 did not input all variables.
  TYPE119   43.042  Correction TYPE119 Subtypes 38-44 contents.
  TYPE7072  43.025  Support for APARS OA66054/66402/66018 TYPE70 power.
  TYPE7072  43.039  Support for APAR OA66812 creates TYPE70WC Workloads
  TYPE73    43.041  Support for APAR OA66054/OA66014 TYPE73 Chan Groups.
  TYPE74    43.019  Support for APAR OA62970 R744SLTM set to zero.
  TYPE98    43.011  Support APAR OA66854 Type 98 ST 1025 new TYPE98JI
  TYPEACF2  43.030  INPUT STATEMENT EXCEEDED ACSMFREC='V' ACF2VR record.
  TYPEBMCA  43.044  Support for BMC AMI OPsM for IMS new datasets
  TYPEBVIR  43.017  INPUT STATEMENT EXCEEDED BVIRTYPE=33x
  TYPEIMS   43.010  Correct undefined MACRO _VIMS450 dataset IMS450FT
  UTILEXCL  43.043  Support for CICS/TS 6.3 OPEN BETA 13. INCOMPATIBLE.
  VMACSMF   43.021  Reading VSAM SMF INVALID DATA FOR RMFSTART.
  VMXGRMFI  43.015  R71MAX= list had MX variables changed to AV.
  VMXGRMFI  43.029  PROC SORT DATA=R70PRHOUR NODUP to NODUPKEY spikes

Alphabetical list of important changes in MXG 43.01 after 42.42.

  Dataset/
  Member    Change    Description

  VMAC115   43.003  Support for V933 MQ SMF 115 Subtype 216 new vars.
  VMAC119   43.001  Support for SMF 119 Subtype 11 Policy Based TYP11911

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

Inverse chronological list all Changes in MXG Version 43.03 after 42.42

NEXTCHANGE:

====== CHANGES THRU 43.074 ARE IN MXG 43.43 DATED Jan  8, 2026 =========

Change 43.074  SMF Manual updates for z/OS 3.2, COMPATIBLY.
VMAC98        -Variables added to dataset TYPE98PB
Dec 31, 2025

Change 43.073  SMF Manual updates for z/OS 3.2, COMPATIBLY.
VMAC7072      -Variables added to dataset TYPE72GO and TYPE72TR:
VMAC74           R723RST2G='2G*MEM OBJ*RESIDENCY*TIME'
VMAC88        -Variables added to dataset TYPE748S
Dec 22,2025      R748SCRSAT='SYNC IO*READ*SUCCESS*TIME'
                 R748SCWSAT='SYNC IO*WRITE*SUCCESS*TIME'
                 R748SNWSAT='SYNC IO*NVS*SUCCESS*TIME'
              -Variable added to dataset TYPE74CA
                 R7451CT7='ZHPF*READ*PREFETCH*REQUESTS'
              -Variable added to dataset TYPE88.
                 SMF88LTDE='TOD*TIME*INTERVAL*EXPIRED.
              -Variable added to dataset TYPE8811
                 SMF88ATKE='LAST*ALTER*TOKEN*TIME

Change 43.072  Format $MGTIVDS adds values for NON-VSAM and IAM DSORGs.
FORMATS
Nov 27, 2025
   Thanks to Desmond Fung King Wai, HKICL, HONG KONG

Change 43.071  Variable QW0196HN was not kept in DB2 dataset T102S196.
VMAC102
Nov 25, 2025
   Thanks to Ronald W. Bassett, OPTUM, USA.
   Thanks to Peter A. Vikeras, OPTUM, USA.

Change 43.070  Support for new Language Environment segment in TYPE 30
VMAC30         records, adds new SMF30LE_ variables added to TYPE30_4
Nov 25, 2025   step termination records.

Change 43.069  Support for new TYPE121J JAVA dataset for JOBS subtype.
EXTY121J
IMAC121
VMAC121
VMXGINIT
NOV 20, 2025
   Thanks to Arthur Elsaesser, Finanz Informatik, GERMANY
   Thanks to Tobias Danco, Finanz Informatik, GERMANY

Change 43.068  Multiple variables added to NDM-CDI NDMHW2 dataset the
VMACNDM        HW2 High-Watermark statistics datasaet.
Nov 19, 2025
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 43.067  New option to calculate SYSPLEX Performance Index.
ASUM72GO
Nov 13, 2025
   Thanks to Naveed Jeddy, ATOS, INDIA.

Change 43.066  Typos in SM918LOCKSUSPENT variable names corrected.
VMAC98         Datasets TYP119LS, TYP119LL misaligned, -3 offset twice.
Nov 12, 2025
   Thanks to Karl Lasecki,CAS, USA.

Change 43.065  ANALRANK produces TOP TEN interval reports for interval
ANALRANK       resource variables, and is enhanced with new examples:
Nov  9, 2025    DataSet      Variables
                DB2ACCT      ELAPSTM  DB2TCBTM GETPAGE
                CICSTRAN     TASCPUTM IRESPTM
                STEPS        CPUTCBTM CPUSRBTM CPUTM PAGEINS EXCPs IOTMs
                SMFINTRV     CPUTM    EXCPTOTL IOTMTOTL
   Thanks to Hanumanth Rao, Chatrata, OTI NYC, USA.

====== CHANGES THRU 43.064 ARE IN MXG 43.03 DATED Oct 22, 2025 =========

Change 43.064  ABOUT HALF OF THE CICS/TS 6.1 CICSTRAN VARIABLES ARE BAD.
VMAC110        An incomplete comment typo caused 8 bytes to be skipped
Oct 22, 2025   and the subsequent 200+ variables were misaligned.
               MXG Support for 6.1 was in MXG 41.02 dated May 31, 2023,
               and this is the first report, suggesting there is little
               use of those CICSTRAN tactical fields, but confirming
               that MXG QA tests were insufficient to catch this error.
               MXG 43.03 is required for CICS/TS 6.1.
               MXG 43.02 supports CICS/TS 6.3.
   Thanks to Ken Pressley, Salt River Project, USA.

Change 43.063  TYP120BL & TYP120AA ERROR: VARIABLE SM120BCJ HAS BEEN
VMAC120        DEFINED AS BOTH NUMERIC AND CHARACTER.  Only if your code
Oct 20, 2025   merges multiple datasets (like seven daily PDBs to create
               your weekly PDB). Variable has been restored to NUMERIC.
   Thanks to Andreas von imhof, RABOBANK, THE NETHERLANDS.

====== CHANGES THRU 43.062 WERE IN MXG 43.03 DATED Oct 22, 2025 ========

Change 43.062  Dataset T115216 variables QQSTLGET QQSTLPUT are corrected
VMAC115        to DATETIME variables. They are not always populated.
Oct  6, 2025
   Thanks to Andreas von imhof, RABOBANK, THE NETHERLANDS.

Change 43.061  SM981UT_xx and SM981ENV_xx variables were incorrectly
VMAC98         populated from split second second records that do not
Oct  3, 2025   contain an ENV segment.

Change 43.060  To populate RMF data for Z/OS systems running under z/VM
VMGUEST        you must specify VMGUEST in RMF control member ERBRMFxx.
Sep 28, 2025   as NOVMGUEST is default. If NOVMGUEST is specified,TYPE70
               has no observations because 4 of the subtype=1 triplets
               BCS/PRCS, BVS/PRDS, CNS/CPUID and COS are not populated.
   Thanks to Tony Curry, BMC, USA.

Change 43.059  JCLASMXG JOB ABEND, NRUSING typo should be NOUSING.
JCLASMXG       Error APF AUTHORIZATION FAILURE introduced MXG 42.01.
Sep 28, 2025   Job revised to use specific object names to better
               isolate the assembly link-edit steps.
               JCLASMXG job assembles all ASM language programs in MXG.

Change 43.058  IF YOU run TRNDRMFI for the first time you may get an
VMXGRMFI       error TRNDRMFI not fOUND. This was caused by the code
Sep 17, 2025   looking for workloads, Now only looks at week.rmfintrv.
   Thanks to Robert McElhaney, Toyota North America, USA.

Change 43.057  TYPE30NP variables
                 SMF30_NNPICTRS_ENTRY_ID SMF30_NNPICTRS_VALUE
Sep 17, 2025   are now KEPT.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 43.056  AUTOALOC=YES MXG 43.01/43.02 Change 43.005 failed.
BLDSMPDB       For a long time a critical error message was produced
VMXGALOC       and processing was terminated if one or more LIBNAMES
Sep 16, 2025   could not be allocated. This change enhances that message
               adding a message to VMXGALOC when it is not called by
               BLDSMPDB, and corrects the non-failing case, which was
               was not tested, causing all executions to fail with the
               error message that LIBNAME allocations failed.

Change 43.055 -SMF 82 INPUT EXCEEDED RECORD LENGTH ABEND subtype 45 & 47
VMAC82         due to new inserted variables SMF82AUD_STOD SMF82AUD_SEC
Sep  2, 2025   and no protection for unknown TAG values.
              -TYPE8247 overlooked variables added to KEEP list.
   Thanks to Christine Wood, Evernorth, USA.
   Thanks to Altino Pimentel, Evernorth, USA.
   Thanks to Alexander Pasterick, Evernorth, USA.

Change 43.054 -Variable TRACKING_TOKEN added to TYPE123C, and TYPE1232
ANAL2023       datasets which are combined to create TYPE123 dataset and
VMAC120        added to TYP120AA which becomes TYPE120, and datasets
VMAC123A       TYPE120 and TYPE123 are MERGED to create dataset ANAL2023
Sep  4, 2025   if both datasets have matching TOKENs,and creating T120
VMXGINIT       if 120s don't match or creating T123 if 123s don't match
EXT120AA       in new member ANAL2023.
Sep 11, 2025  -IMACJBCK added to VMAC123 for selection by JOB.
              -New dataset TYP120AA is created.
              -Dataset TYP120100 was cleaned of some very large values
               and some extraneous observations with mostly missing
               values are no longer output.

Change 43.053  Variables NOBUFFS and LASTDS values for "HALT" were
VMAC90A        truncated to "HAL", the first value reference was "MXG"
Aug 22, 2025   which set their lengths to 3. Blank added to correct.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 43.052  SAS Error ERROR: Physical file T060GQP.SASWCUR.TTF does
ODS            not exist is an ODS Error when PDF is specified and it is
Aug 20, 2025   documented in
                 https://sas.service-now.com/csm?id=kb_article_view
                       &sysparm_article=KB0041911.
   Thanks to Robert McElhaney, Toyota North America, USA.

Change 43.051  Variables QSST_P64DISNUM and QSST_P65DISBLK were
VMACDB2        reversed in order in their INPUT statement in DB2STAT0
Aug 20, 2025   dataset.
   Thanks to Kenneth Hammer, GH-Solutions, DENMARK

Change 43.050  New TLS variables added to TYP11912TLS Subtype 12
VMAC119          S11912SS_TLS_SCERT_SERIAL_LEN
Sep  2, 2025     S11912SS_TLS_SCERT_SERIAL
                 S11912SS_TLS_SCERT_TIME_TYPE
                 S11912SS_TLS_SCERT_TIME
                 S11912SS_TLS_CCERT_SERIAL_LEN
                 S11912SS_TLS_CCERT_SERIAL
                 S11912SS_TLS_CCERT_TIME_TYPE
                 S11912SS_TLS_CCERT_TIME
               New IPS variables added to TYP11912IPS Subtype 12
                 S11912SS_IPS_SCERT_SERIAL_LEN
                 S11912SS_IPS_SCERT_SERIAL
                 S11912SS_IPS_SCERT_TIME_TYPE
                 S11912SS_IPS_SCERT_TIME
                 S11912SS_IPS_CCERT_SERIAL_LEN
                 S11912SS_IPS_CCERT_SERIAL
                 S11912SS_IPS_CCERT_TIME_TYPE
                 S11912SS_IPS_CCERT_TIME
               New Common variables added to TYP11912SUM Subtype 12
                 S11912SAINITFAILEDHSCONNCNT S11912SAENDFAILEDHSCONNCNT


               TYPE119 SUBTYPE 11 and 12 datasets and variables

               SUBTYPE TRIPLET VARIABLE
               11       OFF02  SMF119SC_SA
                        OFF03  SMF119SC_IPFLT
                        OFF04  SMF119SC_TLS_SCERT_TIME
                        OFF04  SMF119SC_TLS_CCERT_TIME
                        OFF05  SMF119SC_SSH_SCERT_TIME
                        OFF05  SMF119SC_SSH_CCERT_TIME
                        OFF06  SMF119SC_IPSEC_LCLCERT_TIME
                        OFF06  SMF119SC_IPSEC_RMTCERT_TIME
               DATASET: TYP119ZE - TLS variables
                        OFF08  SMFIPSECPOL
               DATASET  TYP11911 - Rest of above variables
                        OFF07  SMF119SC_DN_LEN
               DATASET  TYP119DN - 07 Variables

               12       OFF02  S11912DURATM
               DATASET  TYP11912SUM
                        OFF03  S11912SS_TLS_SCERT_TIME
                        OFF03  S11912SS_TLS_CCERT_TIME
               DATASET  TYP11912TLS - 03 Variables
                        OFF04  S11912SS_SSH_SOURCE
               DATASET  TYP11912SSH - 04 variables
                        OFF05  S119SS_IPS_IKEMAJVER
                        OFF05  S11912SS_IPSEC_LCLCERT_TIME
                        OFF05  S11912SS_IPSEC_RMTCERT_TIME
               DATASET  TYP11912IPSEC - 05 VARIABLES
                        OFF06  S11912SS_DN_LEN
               DATASET  TYP11912DN - 06 Variables

Change 43.049 -ARRAY INVALID SUBSCRIPT for INDEXST=61682 for USER SMF
VMXGGETM       record that had 'F0F2'x instead of '0002'x for SUBTYPE is
Aug  3, 2025   now protected. UTILGETM is used to create the SMFSMALL
               dataset for new version testing.
              -IMACFILE/&MACFILE added so records could be deleted.
  Thanks to Abhishek Chhangani, ATOS, USA.

Change 43.048 -Variable SMF30HWMMEMLIMITMB ADDED TO type30_V/4/5.
VMAC30         A group of variables were INPUT and KEPT in _V/_4 but
Jul 27, 2025    S30DMREQUESTED2G S30DMMINREQUESTED2G S30DMASSIGNED2G
                S30DMINUSEAS2G S30DMINUSEASFIXED1M
                S30DMINUSEASPAGEABLE1M S30DMINUSEAS4K
                S30DMINUSEASDATTABLES S30DMINUSEAS4KHWM
                S30DMINUSEASPAGEABLE1MHWM S30DMINUSEASFIXED1MHWM
                S30DMINUSEASDM2GHWM S30DMINUSEASDATTABLESHWM
                S30DMINUSEHWM S30DM2GFAILED S30DM1MFAILED S30DM4KFAILED
                S30NUMINUSEAS2GHWM S30NUM2GFAILED S30DMINUSEAS2GHWM
                S30DM2GNOTAVAIL S30OBTAINSHOMESPACE
                S30IARV64OBTAINHOMESPACE S30FRAMESFIRSTREFERENCEBACK
                S30SUMREAL1M S30SUMSQUARESREAL1M S30NUMSAMPLES
                S30HWMHVREAL1M
                were not kept in TYPE30_5 dataset.
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 43.047  Variable QW0396PG was not kept in dataset T102S396.
VMAC102
Jul 18, 2025
   Thanks to Jan Tielemans, KBC, BELGIUM

====== CHANGES THRU 43.046 ARE IN MXG 43.02 DATED Jul 14, 2025 =========

Change 43.046  Datasets TYPE1131/ASUM1131 now default to z/17 processor.
VMAC113        The "John Burg" calculated equations are unchanged from
Jul 9, 2025    z/16, now using counter version SM113VN2=8.
              -We have no reports of any incompatibilities nor impact of
               any other records created on a z/17.

Change 43.045  RMFINTRV variables removed in Change 43.015 are restored.
VMXGRMFI
Jul 9, 2025

Change 43.044  Support for BMC AMI OpsM for IMS creates new datasets:
EXBMCADB       dddddd    dataset    description
EXBMCALG       BMCADB    BMCADB     DB
EXBMCALT       BMCALG    BMCALG     LOG
EXBMCAPL       BMCALT    BMCALT     LATCH
EXBMCARS       BMCAPL    BMCAPL     POOL
EXBMCAST       BMCARS    BMCARS     RS
EXBMCATR       BMCAST    BMCAST     STATUS
IMACBMCA       BMCATR    BMCATR     TRAN
TYPEBMCA
TYPSBMCA
VMACBMCA
VMXGINIT
Jul  7, 2025
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 43.043  Support for CICS/TS 6.3 OPEN BETA 13 adds four variables
UTILEXCL       from the two new count/time fields XSSAFT and XSRESCHK:
VMAC110         XSSAFTTM
Jul  1, 2024    XSSAFTCN
                XSRESCTM
                XSRESCDN
               This change is required for 6.3 because fields are
               inserted in the SMF 110 record.
               CICS/TS 6.3 became GA July 6, 2025 and is in MXG 43.02.

Change 43.042  Type 119 subtypes 38 thru 44 had incorrect input and/or
FORMATS        formatting of variables suffixed with LCL/RMT LNKID and
VMAC119        LCL/RMT GID, and datetime variables TIME and DATE were
Jun 13, 2025   also wrong.  New variables LTE/LIS/DATETIME were created.
Jun 23, 2025   Formats $MG119RX and  $MG119RY were updated.
   Thanks to Richard Davey, Bank of America, USA.

Change 43.041  Support for APAR OA66054 and OA66014 for new Channel
VMAC73         Measurement Groups 3 and 4 data in RMF 73 record added to
Jun 17, 2025   Data Set TYPE73.

Change 43.040 -S002 ABEND in ASMRMFV when processing PCIG3 table when
ASMRMFV        more than 41 entries exist (table is longer than 32756).
VMACRMFV       Now, PCI logic splits the PCIG3 data areas into multiple
EXZRBASC       PCIG3 RMFBSAM records with a max of41 entries per record.
FORMATS       -VMACRMFV processing of MXG02 counters wrong due to
VMXGINIT       missing field and resultant incorrect location pointer
Jun 12, 2025   off by 70 bytes.
              -New dataset ZRBASC: ASMRMFV VSAM CLOSE TABLE COUNTERS.
               is created.
   Thanks to  Ronald W. Bassett, OPTUM, USA.

Change 43.039  Support for APAR OA66812 which creates TYPE70WC dataset
EXTY70WC       with Workload Classification Pricing, adding eight counts
FORMATS        for current 8 defined workload classes.
VMAC7072
VMXGINIT
Jul  7, 2025

Change 43.038  Format $MG119CI, value '4010'x was incorrectly mapped; it
FORMATS        is corrected to '4010X:AES256-CTR (CPACF)'.
Jun  4, 2025

Change 43.037  For TAG='0115'x, in lines 1983 and 1984, CNT should be
VMAC82         SMF82_TAG_USG_COUNT
Jun  2, 2025
   Thanks to Miguel Monferrer Carajal, ITNOW, SPAIN.

Change 43.036  Support for CICS/TS 6.3 BETA 10 INCOMPATIBLE INSERTS.
VMAC110        New variables added to CICSTRAN dataset:
UTILEXCL         OTELID                 ='OTEL*TRACE*ID'
Jun 12, 2025     OTELPID                ='OTEL*PARENT*SPAN*ID'
                 OTELSID                ='OTEL*SPAN*ID'
                 OTELMISC               ='OTEL*MISC'

Change 43.035  Line 12873 in VMACDB2 was incorrect and was corrected to
VMACDB2        QW0225COMSTG_DPAGE.
May 28, 2025
   Thanks to Kenneth Hammer, GH-Solutions, DENMARK.

Change 43.034  Dataset TYP11944 did not input all variables and only
VMAC119        output the first interface.
May 26, 2025
   Thanks to Kerry L. Turk, FMR, USA.

Change 43.033  Format $MGB32RV for variable RTNBORVL in Dataset BVIR323
FORMATS        BORROWED was misspelled as BARROWED.
May 14, 2025
   Thanks to Jack Hyde,MasterCard, USA.

Change 43.032  Dataset T102S196 variable QW2196HL2='3rd holder 2nd part'
VMAC102        added, it was misspelled in the KEEP= statement.
May 11, 2025
   Thanks to Ron Bassett, OPTUM, USA.

Change 43.031  Dataset T102S172 variable QW0172WAS='SOURCE OF WORTH'
VMAC102        added.
May  9, 2025
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 43.030  INPUT EXCEEDED for ACSMFREC='V' ACF2VR record. Expected
VMACACF2       field length of ACVMNXKY of 40 had only 39 bytes, now is
May  8, 2025   protected.
   Thanks to Michael R Buechlein, Edward D Jones, USA.
   Thanks to John A Conroy, Edward D Jones, USA.

Change 43.029  The PROC SORT DATA=R70PRHOUR NODUP was revised
VMXGRMFI       to  PROC SORT DATA=R70PRHOUR NODUPKEY to correctly
May  2, 2025   remove the spikes that should not have been kept.
Jul  7, 2025
   Thanks to Mark Tomlinson, Lloyds Banking, ENGLAND
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND

Change 43.028  Dataset TYP11951 variables SMF119ML_SS_RDATE and EDATE
VMAC119        inputwith informat PDJULI4. needed ?? to suppress invalid
Apr 28, 2025   data log message which occurs validly when event did not
               happen so the field was not populated. Variables have a
               missing value in those cases.

Change 43.027  Format $MGSMFID updates for SMF 115 Subtype 216.
FORMATS
Apr 28, 2025
   Thanks to John Donoghue, AIB, IRELAND.

Change 43.026  Unused Change.
Apr 18, 2025

Change 43.025  Support for APARS OA66054, OA66402 and OA66018 add these
VMAC7072       variables to TYPE70 dataset:
Apr 18, 2025      CPUPOWYE='CPU*POWER*MEASUREMENT*AVAILABLE*?'
May  7, 2025      CPUPOWNO='CPU*POWER*MEASUREMENT*NOT*AVAILABLE?'
                  SMF70MDL_REP='REPLACEMENT*CAPACITY*MODEL'
                  SMF70MRCR   ='REPLACEMENT*CAPACITY*RATING'
                  SMF70NRCR   ='NOMINAL*CAPACITY*RATING'
                  SMF70_CPUPOWER        ='AVG*U-WATTS*ALL*CPU'
                  SMF70_STORAGEPOWER    ='AVG*U-WATTS*STORAGE'
                  SMF70_IOPOWER         ='AVG*U-WATTS*IO'
                  SMF70_CPCTOTALPOWER   ='AVG*U-WATTS*ALL*CPC'
                  SMF70_CPCUNASSRESPOWER='AVG*U-WATTS*STANDBY'
                  SMF70_CPCINFRAPOWER   ='AVG*U-WATTS*OTHERS'
                  SMF70_NUMPOWERSAMPLES ='NUMBER*POWER*SAMPLES'
                  SMF70_POWERPARTITIONNAME='LPAR NAME'

Change 43.024  Format $MGBV321P for BVIR variable PYMDID and $MGB32MT
FORMATS        format for variable MEDATYPE updted for '2C'x Media JM.
Apr 17,2025
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 43.023  DB2 IFCID 0254 residency variables can have large values.
TECHNOTE       Variables QW0254AR and QW0254ER are impacted. From IBM:
Apr 15,2025
               These residency times are a weighted average. It is
               updated every time a data entry or directory entry is
               reclaimed (removed from the GBP) for whatever reason. The
               way the weighted average is calculated, a single entry
               can make a significant difference i n the moving weighted
               average, if its residency time is large enough. So if you
               get a small number of reclaims of entries with LARGE
               residency times, it will tend to really pull up the
               weighted average quickly, whereas the same thing happens
               in the opposite direction too - if you get a small number
               of reclaims with SMALL residency timed, it will tend to
               really pull DOWN the weighted average quickly.

               And before you ask, how is it possible that we have a
               change in directory entry residency times when the number
               of reclaims is zero, that is possible as data entry
               reclaims were occurring at the time. This may sound
               confusing , but it often happens that when the data entry
               is reclaimed so that a director entry loses all its data,
               the directory entry itself also gets reclaimed at that
               time. We call that "incidental reclaim" (it's because we
               reclaimed th e data entry that we also reclaimed the
               directory entry) , and those incidental reclaims are not
               being counted as a directory entry reclaim. But despite
               not being counted as a directory entry reclaim, the
               directory entry really WAS reclaimed, and the calculation
               of its directory entry residency time is averaged into
               the moving weighted average.

               The fact that the Db2 default stats interval changed from
               1 min to 10 sec also increase the likelihood that you see
               such a large swing in residency time.

               So all seems to be working as expected, you just have to
               be aware of how things are calculated. I think you need
               to look at these residency times over a wider time range,
               and during times with a "continuous" workload (ignore
               times of low activity) to get a good feel for the true
               directory and data entry residency times as that will
               even out these (s hort) spikes,.

Change 43.022  Format MG110XN descriptive names for variable STID for
FORMATS        CICS Statistics records was updated for some STIDs.
Apr 13,2025
  Thanks to MP Welch, Bank of America, USA.

Change 43.021  Reading a VSAM SMF file, "INVALID DATA FOR RMFSTART"
VMACSMF        because the INPUTs for PRODCMF, RMFSTART,and SMF70RVS
Apr 13,2025    did not have the +OFFSMF to align the VSAM record, which
               has a four-byte length field at the start of the record.
               Only occured when there was an SMF ID 70 in the input,
               and only those three variables had wrong values.
  Thanks to MP Welch, Bank of America, USA.

====== CHANGES THRU 43.020 ARE IN MXG 43.01 DATED Apr  9, 2025 ======

Change 43.020  ERROR:"Attempt to %GLOBAL a name (BUILDINGPDB) which
BUILDPD3       exists in a local environment" BUILDPD3 ONLY, 42.42+
BUILDPDB       Removed the %GLOBAL BUILDPDB; %LET BUILDPDB; statements
VMXGINIT       in BUILDPDB and BUILDPD3 members, and BUILDINGPDB macro
               variable name added to VMXGINIT GLOBAL statement..
   Thanks to Graham Cornwell,

Change 43.019  APAR OA62970 will set R744SLTM to zero, reporting that
VMAC74         it is unreliable and can not be accurately captured.
Apr  8, 2025     R744SLTM='MAXIMUM*LOCK TABLE*ENTRIES USED'

Change 43.018 -Dataset T102S254 new variables:
VMAC102          QW0254AR='DATA*AREA*RESIDENCY*TIME'
Mar 26, 2025     QW0254ER='DIRECTORY*ENTRY*RESIDENCY*TIME'
              -Dataset T102S196 variable QW0196ET value corrected.
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 43.017  BVIR History File BVIRTYPE=33x has a short 64 byte last
VMACBVIR       segment, now detected and only GCDTTRIN and GCDTTRFM are
Mar 26, 2025   are INPUT so GCLVMTOC and subsequent variables in BVIR331
               dataset will be missing values in those observations, and
               the INPUT STATEMENT EXCEEDED STOPOVER is avoided.
              -New BVIRTYPE=36 record is not yet supported.
   Thanks to Harald Seifert. HUK-COLBURG, GERMANY.
   Thanks to Maria Paola Bramost, V-TServices.com

Change 43.016  SMF Record Type 105 has subtypes but the MVSXAFLG bit 1
VMACSMF        that says a record has subtypes is not on so SUBTYPE=0
Mar 25, 2025   was set, impacting ANALID reports on SMF records, but
               not impacting 105 processing as VMAC105 INPUT SUBTYPE.
               ID=105 is added in _SMF to the INPUT for those IDs that
               don't set the subtype bit: 42,103,105,108,119,120
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 43.015  The R71MAX= list of variables contained some variables
VMXGRMFI       that did not have a MAX value; they were changed to use
Mar 24, 2025   the Average value.  These are the changed variables:
                CSFRSRAV CSFRWLAV CSFRFXAV CSFRLSAV CSFRTOAV CSFRAVMX
                ESFRLSAV ESFRTOAV ESFRAVMX ESFRSRAV ESFRWLAV ESFRHSAV,
               But this caused other issues corrected in Change 43.045.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND


====== CHANGES THRU 43.014 WERE IN MXG 43.01 DATED Apr  1, 2025 ======

Change 43.014  The maximum text length of an IPV4 IP address is $15
VMAC119        which is the length of most IPV4 variables in TYPE 119
Mar 19, 2025   datasets, where the $CHAR4 record field is converted to
               text.  However, four fields input as $16 were kept as $16
               and that raised a conflict when datasets were merged.
               The %VMXGIPV4 %macro is pervasive, changing it to $15
               could create more serious errors. so the circumvention is
               to use DATA TYP119xx;
                      LENGTH SMF119SC_SARIP $15 ;
                      SET PDB.TYP119xx;
               if one of these variables is used in a MERGE
                  SMF119SC_SARIP   SMF119SC_SALIP
                  S11912SASRVIP    S11912SACLTIP
   Thanks to Michael K Yuan, Navy Federal Credit Union, USA

Change 43.013  Variable SMF30_RAXFLAG6 new description RAX6*R2V*UNAUTH,
VMAC30         added in the z/OS Release after 3.1.
Mar 14, 2025

Change 43.012  Cosmetic Cleanup with no error.  BASExxxx token is used
VMXGALOC       to name the directory where output is written, but three
Mar 11, 2025   tokens, BASECICS, BASEDB2, and BASEMQ created directories
               and set KEEP* when they were not used. Now the default
               is to do nothing when they are not specified.
   Thanks to Richard Way, Office Depot, USA.

Change 43.011  Support for Type 98 Subtype 1025 record creates new
EXTY98JI         DDDDDD  DATASET    Description
VMAC98           TY98JI  TYPE98JI   IMS EXCEPTIONAL JOB LIST
VMXGINIT       These datasets now contain both IMS and CICS SUBTYPEs
FORMATS          TY98B1  TYPE98B1   CICS IMS BUCKET 1
Mar 10, 2025     TY98B2  TYPE98B2   CICS IMS BUCKET 2
                 TY98EX  TYPE98EX   CICS IMS EXCEPTIONAL INDEX
               and this data set is unchanged
                 TY98JB  TYPE98JB   CICS EXCEPTIONAL JOB LIST
               This is support for APAR OA66854.
   Thanks to Luxmi Gnanamuttu, TD, CANADA.
   Thanks to Cornelio Navarro, TD, CANADA.
   Thanks to Lynn Ly, TD, CANADA.

Change 43.010  The MACRO _SIMS45V was missing the ending semicolon in
VMACIMS        line 1619 causing MACRO _VIMS45O to be undefined which
Feb 20, 2025   caused 1375 variables to be created in dataset IMS450FT.
   Thanks to Bradley Leis, TELUS, CANADA.

Change 43.009  MXG 42.42 replaced these average variables with maximum
VMXGRMFI       value variables (xxxxxxAV to yyyyyyMX)
Feb 19, 2025     CSLPFXAV FIXEDAV FIXLOAV LPAFXAV LSQAFXAV PRVFXAV
                 PVTAFCAV SQAFXAV
               but they were still in LABEL and LENGTH statements, so
               those variables were created with missing values.
               They are removed and no longer created.
               But see later Change 43.045.
   Thanks to Piara Bhamra, Lloyds Banking Group, ENGLAND.

Change 43.008  We do NOT RECOMMEND Installing MXG in a "SAS" DIRECTORY,
TECHNOTE       like SASHOME or WorldProgramming or their subdirectories
Feb  9, 2025   BECAUSE A NEW SAS INSTALL OR UPDATE could wipe out MXG
               SOURCLIBs and ANY Tailored/Updated members you or your
               predecessor might have made.

Change 43.007  SMF 120 Subtype 100 ODM Offset changed trashing values
VMAC120        but NOT causing an ABEND.  No documenting of the change.
Feb  9, 2025
   Thanks to Scott Barry, SBBTechLLC, USA.


CHANGE 43.006  Change 38.107 modified the allowable length of INCODE
ADOCABND       from 32767 to 65535 but then checked it for LE 32767.
VMXGSUM        Now checks for the value of 65535.  Member ADOCABND was
Feb  6, 2025   updated to match the corrected error message

Change 43.005  VMXGALOC prints a critical error message on the log and
BLDSMPDB       terminates processing if one or more LIBNAMEs could not
VMXGALOC       be allocated. This change enhances the visibility of the
Feb  6, 2025   message and adds a new message to VMXGALOC when it is
               not called by BUILDPDB. But VMXGALOC needed correction in
               MXG 43.03 Change 43.056

Change 43.004  SMF 113 calculation of MEMP for the z16 was wrong, and
ASUM113        caused large values for RNI, because the z15 equation was
VMAC113        used. Martin Packer's MEMLP and MEMRP variables were also
Feb  6, 2025   wrongly using the z15 equation.
   Thanks to Michael Flessig, HUK-COBURG, GERMANY
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 43.003  Support for V933 MQ SMF 115 SUBTYPE 216 added 64 vars
VMAC115        to dataset TY1152216.
Feb  3, 2025
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 43.002  Typo in line 934 of BUILD005 of SPUN30_1= SUM(SPUN30_1
BUILD005       fortunately has no impact. While the count field is
Jan 30, 2025   not incremented, the spinning record is correctly output
               and the count field in one of the other records for this
               job will be used to determine the OKFLAG status.
   Thanks to Bradley Leis, TELUS, CANADA.

Change 43.001  Dataset TYP11911 has four new variables added from
VMAC119        the new segment Subtype 11 'Policy Based Enforcement'
Jan 30, 2025    SMF119IPSECPOL='ZERT*IPSEC*POLICY*RULE*NAME'
                SMF119TLSPOL  ='ZERT*TLS*POLICY*RULE*NAME'
                SMF119SSHPOL  ='ZERT*SSH*POLICY*RULE*NAME'
                SMF119NOPOL   ='ZERT*NONE*POLICY*RULE*NAME'
   Thanks to Douglas C. Walter, CITIGROUP, USA..

LASTCHANGE: Version 43.

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

III.  SAS Version requirement information:

   SAS Versions
    The current version nomenclature is SAS 9.4 TS1M8 (9.4M8),
     "M8", or with options  VERSIONLONG;
      "SAS 9.4 (9.04.01M8P080520)" on z/OS
           9.4 (TS04.01M8P08052020)"  on ASCII.

     SAS V9.4 M8 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.

     SAS V9.4.M7 and M8 for ASCII execution require SAS HOT FIX 69871.

     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL B support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 causes JCLTEST9/TESSOTHR to ABEND, TOO MANY ARGUMENTS
                FOR COUNTW() requires SAS Version 9.2 so 9.1.3 can NOT
                safely be used for MXG. See CHANGE 41.046, Jun 21, 2023.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V9.1.3 SAS Problem Note 17038 Hot Fix is required for
                DSNTYPE=LARGE.

     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 43.02 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 was STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


IV.   WPS Version requirement information:

      WPS Version 4.04 (04.04.01.00.005305 has been tested.
      DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
      Error was introduced in 4.03.01  and 4.04.00. See Change 39.171.
      Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/

      WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
      WPS Version 4.0 reportedly fixed version 3 problems.
      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


V.    MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

   -Support for z/17 processor data.

    MXG 38.07 or later is needed; there are no incompatible changes for
         z/17 but the SMF 113 default was changed in MXG 43.02 to z/17.
         and new variables were added in MXG 41.41.

   -Support for z/16 processor data.

    MXG 38.07 or later is needed, but 40.01 will ABEND, see below

    SMF: Only SMF 113 records were incompatibly changed, but there is no
         execution error as only counter labels and values were changed,
         causing coefficients for the calculated variables (RMI,etc) to
         also be changed and default coefficients are changed to z/16,
         You should use separate SAS steps for each processor type; MXG
         will OUTPUT only the processor type you requested in //SYSIN,
         and will skip other processor type records, so you do NOT need
         to pre-process SMF records to select processor type. You will
         want to rename one pair of datasets if you want to put them in
         the same PDB Data Library.
          For z/15 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11F %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
          and for z/16 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11G %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
         to get correct values in TYPE1131 and ASUM1131 datasets.

         MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
         40.03 for zVM.

         MXG 40.01 will ABEND due to a TYPE30 error exposed by the z/16.
         with z/OS 2.5 or APAR OA61511. You can correct by changing the
         line 1812 in VMAC30 from 192 to 220, or ask support for the
         current VMAC30 member with Change 40.050.

         Many other SMF and Data Gatherer records were updated in 40.04.

    RMF  ASMRMFV processes RMF III data with no errors, Change 40.068
         added some new fields. New DNG3 table support was in 40.05.


   -Support for z/15 processor data.
     The z/15 and z/15 T02 processors INCOMPATIBLY changed the SMF 113
     records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
     ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
     Support for counter changes for both models was in MXG 37.08.
        If you use MIPS in reports, the format $MGRMIPS provides the
        MIPS/MSU value for each processor; the z15 values were updated
        in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
        These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
        GRAFWRKX and TYPERMFV (RMF III).

     The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
     HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs.  Change 38.048.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

    SMF Back Levels: MXG 37.08 or later is required for both z15 & z/16
         SMF 113 change, but those back level versions could fail due
         to other records changed by subsystem updates you made for the
         z/16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
         exist when that back=level was created..

   The new zEDC/EADM compression hardware requires MXG 38.05 to support
   new metrics.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09

   -The MXG Tape Mount Monitor program/started task MXGTMNT must be at
    ML-55 which was created in MXG 33.09 in 2015 and is unchanged. That
    Maintenance Level is in the Startup Messages in the JOBLOG of the
    MXGTMNT Started Task.  If there is no ML= message or it is not 55
    then you must assemble the MXGTMNT Program with member ASMTAPEE.
     TO CONFIRM YOU ARE USING ML-55, LOOK AT THE SYSLOG MESSAGES
     FOR THE MXGTMNT STARTED TASK AND CONFIRM YOU SEE THIS MESSAGE:
     6.27.07 STC03134  TMNT016I MXG TAPE MONITOR MAINTENANCE LEVEL 55
                       INITIALIZATION COMPLETE (2022/05/04777.25)

      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.
      z/OS 2.4 Compatible from SMF Manual May 2020 38.105  38.05.
      z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075  39.03.
      z/OS 2.4 Compatible RMF III PGMR Apr  1 2021 39.074  39.03.
      z/OS 2.5 Compatible from SMF     Aug 12,2021         39.06.
      z/OS 2.5 Compatible RMF III      Aug 12,2021         39.08.
      z/OS 2.5 RMF III 4 new tables    Aug 12,2021         39.08.
      z/OS 2.5 Protects Possible New 72.3 fields (40.078)  40.04.
      z/OS 3.1 Support in MXG 39.08 New vars in 41.05 CH 41.092.
      z/OS 3.1 MXG 42.03 required for RMF III TYPERMFV CH 42.069
      z/OS 3.2 Support in MXG 39.08 New vars in 41.05 CH 41.092.
      z/OS 3.2 MXG 42.03 required for RMF III TYPERMFV CH 42.069

   There were no incompatible changes for z/OS 3.1 and 3.2 and z/17
   after MXG 39.08 in common SMF records, but new variables were
   added in MXG 41.05 and in 43.02 and RMF III RMFV requires 43.02.

Change 41.092  Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2       We and several customers have tested z/OS 3.1 records
VMAC30         with back levels of MXG that support z/OS 2.5 (39.08)
VMAC7072       with no errors reported, and we expect no issues.
VMAC79         Change 41.096 added the new AI data in TYPE99 and
Oct 26, 2023   there were other APARs in 3.1, but we expect no issues.
               New variables were added, see Change 41.092 full text.
               This change was in MXG 41.05.


      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15 New SMF 113 fields INCOMPAT  Nov 18, 2020        37.08
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      z15 ANAL9914 Support CH 39.006   Jan 14, 2021        39.01
      z/16 NEW SMF113 values, NO ABEND  See CHANGE 40.070  40.03
      z/16 MXG 38.07 OR LATER IS NEEDED.                   38.07
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS/TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS/TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS/TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS/TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS/TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS/TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS/TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS/TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS/TS 3.2 Compressed Records   Nov  3, 2007        25.11
      CICS/TS 4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS/TS 4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS/TS 4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS/TS 4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS/TS 4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS/TS 5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS/TS 5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS/TS 5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS/TS 5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS/TS 5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS/TS 5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS/TS 5.3 GA date              Dec 11, 2015        33.33
      CICS/TS 5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS/TS 5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS/TS 5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS/TS 5.4 GA                   Jun 17, 2017        35.03
      CICS/TS 5.5 GA (INCOMPAT)        Jan 29, 2018        36.11
      CICS/TS 5.6 GA (INCOMPAT)        Jun  1, 2020        38.07
      CICS/TS 5.6 NEW DATA (COMPAT)    Oct  5, 2020        38.09
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Jan 11, 2020        40.01
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Sep 20, 2020        40.02
      CICS/TS 6.1 UTILEXCL/IMACEXCL OK Aug 15, 2022        40.05
      CICS/TS 6.1 VMAC110 NO IMACEXCL  May 31, 2023        41.02
      CICS/TS 6.2 INCOMPATIBLE BETA16  Sep 20, 2023  75    41.04
      CICS/TS 6.3 INCOMPATIBLE BETA13  Jul 27, 2025  76    43.02
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DB2 13.1 NEW DATA NO ERRORS      Jan     2017        40.40
      DB2 13.1 IDAA/NETEZZZ ONLY ABEND Mar 19, 2013        41.01
      DB2 13.1 ABEND 41.06/41.41 102   Jan 12, 2024        42.01
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 22, 2019        37.02
      z/VM    7.1  INCOMPAT ABEND      Feb 14, 2019        37.02
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      IMS log 15.4 NO CHANGES          Mar  1, 2018        35.07
      IMS log 15.4 Minor Chg 42.033    May  8, 2024        42.02
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA-BROADCOM
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

VI.   Installation of MXG

 1. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VII.  Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.

LASTCHANGE: VERSION 43.
=========================MEMBER=CHANGE42================================
 /* COPYRIGHT (C) 1984-2025 MERRILL CONSULTANTS DALLAS TEXAS USA */

REDATED MXG VERSION 42.42  is dated Jan 24, 2025, thru Change 42.105

ANNUAL  MXG VERSION 42.42 was dated Jan  3, 2025, thru Change 42.101

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 42.42 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 42.42.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains old Technical Notes. many of which are still
  valid, but the last was in 2018.  Now, TECHNOTES and FLASHes are in
  CHANGES/CHANGESS. which are also online.

  Member CHANGES contains the changes made in this current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  CHANGESS and NEWSLTRS are also online at http://www.mxg.com,

========================================================================

I.  MXG VERSION 42.42 REDATED Jan 24, 2025, THRU CHANGE 42.105


==MAJOR CHANGES ADDED IN MXG 42.42, RE-DATED Jan 24, 2025 THRU 42.105.==

ERRORS CORRECTED
  READDB2   42.105  Parm PACKAGE printed WARNINGS, did not use PACKAGE
  UTILBLDP  42.104  Missing Parens cause sytax errors that cause ABEND
  VMAC7072  42.102  Variable R725ENRC not input in TYPE725K/L/M datasets

NEW SUPPORT

ENHANCEMENT
  VMACIMS   42.103  Variable DLOGRTKN added to IMS5050 Dataset.


==MAJOR CHANGES ADDED IN MXG 42.42, DATED Jan  3, 2025 THRU 42.101.====

ERRORS CORRECTED
  VMACHSM   42.095  Datasets HSMDSRFU/HSMVSRFU only output first 13.
  VMACATF   42.077  Omegamon IMSATF SUMMARY outputs all transactions
  VMACHSM   42.095  HSM datasets HSMDSRFU and HSMFSRFU only outputted 13
  WPS       42.092  WPS  fails with character strings longer than 32767.
  READDB2   42.089  READDB2 failed if PACKAGE= parameter was used.
NEW SUPPORT
  VMAC98    42.097  Support for SMF 98 Subtypes 5,6,7 and 8.
  VMAC82    42.090  Support Type 82 subtype 49 + new TAG datasets.
  VMAC74    42.079  Support for APAR OA66017 Subtype 8 for DS8K.
  VMAC102   42.076  Support for DB2 SMF 102 IFCID 499 populates T102S499
  VMAC119   42.075  Support for new variables SMF 119 Subtype 2 TYP11902
  VMACIMS   42.074  Support for IMS Log Record LCODE 45 STATTYPE 16.
ENHANCEMENT
  SAGANAL   42.094  BOOST changes TYPE30 LOSU_SEC to maximum in family.
  DODSCRDT  42.088  DODSCRDT selects INFILE records by creation date.
  VMXG70PR  42.087  Clock "FALL BACK" needs one hour wait.
  ANALMSUS  42.081  MIPS now calculated for all reports.
  VMAC121   42.098  Some CPU varibles were not labeled or not formatted.

==MAJOR CHANGES ADDED IN MXG 42.03, DATED Sep 15, 2024 THRU 42.072.====

ERRORS CORRECTED
  VMACRMFV  42.069  z/OS 3.1 ERROR Array Subscript out of range.
  VMAC80A   42.052  TYPE80A INPUT EXCEEDED, long TOKXUGROUPS field.
  VMAC119   42.049  Support for TYP11938 Subtype 38 dataset EXCEEDED.
  VMAC102   42.054  SMF 102 IFCID 196 misaligned, IBM stored zero.
  VMAC119   42.071  Correction to dataset TYP11906 & TYP11945 variables.
  VMAC119   42.065  Only first segment SMF 119 Subtype 44 was output.
NEW SUPPORT
  VMAC113   42.064  IBM changed z/16 RNI coeff from 4.3 to 4.1
  VMAC7072  42.070  Support for Martin Packers Home Address blog post.
  VMAC122A  42.037  Support SMF 122 Subtype 2 IBM Dependency.
  VMAC1415  42.063  z/OS 3.1 new variables in TYPE1415.
  VMAC30    42.062  Variables IOUNITS IOCOEFF MSOUNITS MSOCOEFF zeroed.
ENHANCEMENT

==MAJOR CHANGES ADDED IN MXG 42.02, DATED Jun 22, 2024 THRU 42.048.====

ERRORS CORRECTED
  VMXG70PR  42.048  OBS count wrong in ASUMCEC, MSUHR Values wrong.
  VMAC102   42.041  TYPE102 IFCID 365 INPUT EXCEEDED REDORD LENGTH.
  VMAC82    42.042  CPU LOOP with SMF 82 SUBTYPE 40.SMF82_Tag increased
NEW SUPPORT
  VMAC119   42.047  Support for new variables in TYP11912 TLS.
  VMAC102   42.037  Support for new ZPARMS in T102S106
  VMAC80A   42.025  Support for RACF APAR OA61951 PHRASEINT.
  VMAC99    42.022  Support for APAR OA65652 new variables TYPE99Q2.
  VMAC122A  42.037  Support SMF 122 Subtype 2 IBM Dependency.
  VMAC80A   42.025  Support for APAR OA61951 RACF PHRASEINT
  VMAC80A   42.038  Support for new Tokens TOKDBV2 and TOKOWNERS
ENHANCEMENT
  VMAC119   42.045  ZERT TYP11912DN missing observations

==MAJOR CHANGES ADDED IN MXG 42.01, DATED MAR 15, 2024 THRU 42.022.====

ERRORS CORRECTED
  VMAC102  42.001  Records with QWHSNSDA GT 4 had missing values.
  UCICSCNT 42.002  Utility INPUT STATEMENT EXCEEDED CICS subtype 2.
  VMAC102  42.001  Many Missing Values in Many TYPE102 datasets.
  VMAC102  42.013  DB2 SMF 102 IFCID 172 INPUT EXCEEDED LENGTH ZERO
  VMAC102  42.019  DB2 SMF 102 IFCID 365 INPUT EXCEEDED LENGTH ZERO
  VMAC112  42.006  Omegamon for CICS ONDV SUPRA INPUT EXCEEDED.
  VMAC119  42.017  ZERT SMF 119 Subtype 12 TYP1192SUM corrections
  CICSIFUE 42.020  CICSIFUE Decompression U4038LE Abend with WPS.
ENHANCEMENT
  ANAL115  42.004  Major overhaul of report/analysis member for MQ.
  VMAC30   42.008  Support for APAR OA65055 TYPE30   JAVA CPU ZIP SU
  VMAC99   42.009  Support for APAR OA65055 TYPE99SL JAVA CPU ZIP SU
  VMAC99   42.022  Support for APAR OA65652 SMF 99 Subtype 2
  VMACRACF 42.016  Support for RACF IRRDBU00 RACTYPE=0161 records.
  VMXGSUM  42.007  New Parameter NOMXGECHO suppress print of parms.

========================================================================

II.   SAS Version requirement information:

   SAS Versions
    The current version nomenclature is SAS 9.4 TS1M8 (9.4M8),
     "M8", or with options  VERSIONLONG;
      "SAS 9.4 (9.04.01M8P080520)" on z/OS
           9.4 (TS04.01M8P08052020)"  on ASCII.

     SAS V9.4 M8 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.

     SAS V9.4.M7 and M8 for ASCII execution require SAS HOT FIX 69871.

     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL B support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 causes JCLTEST9/TESSOTHR to ABEND, TOO MANY ARGUMENTS
                FOR COUNTW() requires SAS Version 9.2 so 9.1.3 can NOT
                safely be used for MXG. See CHANGE 41.046, Jun 21, 2023.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V9.1.3 SAS Problem Note 17038 Hot Fix is required for
                DSNTYPE=LARGE.

     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 42.42 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 was STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 4.04 (04.04.01.00.005305 has been tested.
      DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
      Error was introduced in 4.03.01  and 4.04.00. See Change 39.171.
      Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/

      WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
      WPS Version 4.0 reportedly fixed version 3 problems.
      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

   -Support for z/16 processor data.

    MXG 38.07 or later is needed, but 40.01 will ABEND, see below

    SMF: Only SMF 113 records were incompatibly changed, but there is no
         execution error as only counter labels and values were changed,
         causing coefficients for the calculated variables (RMI,etc) to
         also be changed and default coefficients are changed to z/16,
         You should use separate SAS steps for each processor type; MXG
         will OUTPUT only the processor type you requested in //SYSIN,
         and will skip other processor type records, so you do NOT need
         to pre-process SMF records to select processor type. You will
         want to rename one pair of datasets if you want to put them in
         the same PDB Data Library.
          For z/15 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11F %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
          and for z/16 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11G %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
         to get correct values in TYPE1131 and ASUM1131 datasets.

         MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
         40.03 for zVM.

         MXG 40.01 will ABEND due to a TYPE30 error exposed by the z/16.
         with z/OS 2.5 or APAR OA61511. You can correct by changing the
         line 1812 in VMAC30 from 192 to 220, or ask support for the
         current VMAC30 member with Change 40.050.

         Many other SMF and Data Gatherer records were updated in 40.04.

    RMF  ASMRMFV processes RMF III data with no errors, Change 40.068
         added some new fields. New DNG3 table support was in 40.05.


   -Support for z/15 processor data.
     The z/15 and z/15 T02 processors INCOMPATIBLY changed the SMF 113
     records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
     ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
     Support for counter changes for both models was in MXG 37.08.
        If you use MIPS in reports, the format $MGRMIPS provides the
        MIPS/MSU value for each processor; the z15 values were updated
        in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
        These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
        GRAFWRKX and TYPERMFV (RMF III).

     The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
     HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs.  Change 38.048.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

    SMF Back Levels: MXG 37.08 or later is required for both z15 & z/16
         SMF 113 change, but those back level versions could fail due
         to other records changed by subsystem updates you made for the
         z/16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
         exist when that back=level was created..

   The new zEDC/EADM compression hardware requires MXG 38.05 to support
   new metrics.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.
      z/OS 2.4 Compatible from SMF Manual May 2020 38.105  38.05.
      z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075  39.03.
      z/OS 2.4 Compatible RMF III PGMR Apr  1 2021 39.074  39.03.
      z/OS 2.5 Compatible from SMF     Aug 12,2021         39.06.
      z/OS 2.5 Compatible RMF III      Aug 12,2021         39.08.
      z/OS 2.5 RMF III 4 new tables    Aug 12,2021         39.08.
      z/OS 2.5 Protects Possible New 72.3 fields (40.078)  40.04.
      z/OS 3.1 Support in MXG 39.08 New vars in 41.05 CH 41.092.
      z/OS 3.1 MXG 42.03 required for RMF III TYPERMFV CH 42.069

   z/OS 3.1 Support is in MXG 41.05+ (42.03 for RMF III RMFV).:

Change 41.092  Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2       We and several customers have tested z/OS 3.1 records
VMAC30         with back levels of MXG that support z/OS 2.5 (39.08)
VMAC7072       with no errors reported, and we expect no issues.
VMAC79         Change 41.096 added the new AI data in TYPE99 and
Oct 26, 2023   there were other APARs in 3.1, but we expect no issues.
               New variables were added, see Change 41.092 full text.
               This change was in MXG 41.05.


      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15 New SMF 113 fields INCOMPAT  Nov 18, 2020        37.08
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      z15 ANAL9914 Support CH 39.006   Jan 14, 2021        39.01
      z/16 NEW SMF113 values, NO ABEND  See CHANGE 40.070  40.03
      z/16 MXG 38.07 OR LATER IS NEEDED.                   38.07
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS/TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS/TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS/TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS/TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS/TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS/TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS/TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS/TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS/TS 3.2 Compressed Records   Nov  3, 2007        25.11
      CICS/TS 4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS/TS 4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS/TS 4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS/TS 4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS/TS 4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS/TS 5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS/TS 5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS/TS 5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS/TS 5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS/TS 5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS/TS 5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS/TS 5.3 GA date              Dec 11, 2015        33.33
      CICS/TS 5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS/TS 5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS/TS 5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS/TS 5.4 GA                   Jun 17, 2017        35.03
      CICS/TS 5.5 GA (INCOMPAT)        Jan 29, 2018        36.11
      CICS/TS 5.6 GA (INCOMPAT)        Jun  1, 2020        38.07
      CICS/TS 5.6 NEW DATA (COMPAT)    Oct  5, 2020        38.09
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Jan 11, 2020        40.01
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Sep 20, 2020        40.02
      CICS/TS 6.1 UTILEXCL/IMACEXCL OK Aug 15, 2022        40.05
      CICS/TS 6.1 VMAC110 NO IMACEXCL  May 31, 2023        41.02
      CICS/TS 6.2 INCOMPATIBLE BETA16  Sep 20, 2023        41.04
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DB2 13.1 NEW DATA NO ERRORS      Jan     2017        40.40
      DB2 13.1 IDAA/NETEZZZ ONLY ABEND Mar 19, 2013        41.01
      DB2 13.1 ABEND 41.06/41.41 102   Jan 12, 2024        42.01
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 22, 2019        37.02
      z/VM    7.1  INCOMPAT ABEND      Feb 14, 2019        37.02
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      IMS log 15.4 NO CHANGES          Mar  1, 2018        35.07
      IMS log 15.4 Minor Chg 42.033    May  8, 2024        42.02
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA-BROADCOM
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 42.42.

 1. Incompatibilities introduced in MXG 42.42:

  a. Changes in MXG architecture made between 42.42 and prior versions
     that can introduce known incompatibilities.

     IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
     YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
     The error before this correction will be:
     ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.

LASTCHANGE: Version 43.

VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 42.42:

  Dataset/
  Member    Change    Description

  ANAL115   42.004  Major overhaul of report/analysis member for MQ.
  ANALMSUS  42.081  MIPS now calculated for all reports.
  BUILDPDB  42.021  New variable MAXWKSET MAXIMUM*WORKING*SET added.
  CICSIFUE  42.020  CICSIFUE Decompression U4038LE Abend with WPS.
  DODSCRDT  42.088  DODSCRDT selects INFILE records by creation date.
  READDB2   42.089  READDB2 failed if PACKAGE= parameter was used.
  READDB2   42.105  Parameter Package did not select
  SAGANAL   42.094  BOOST changes LOSU_SEC to maximum in family.
  UCICSCNT  42.002  Utility INPUT STATEMENT EXCEEDED CICS subtype 2.
  UTILBLDP  42.104  Missing Parens Syntax Error, %LEFT MACRO UNRESOLVED
  VMAC102   42.001  Many Missing Values in Many TYPE102 datasets.
  VMAC102   42.013  DB2 SMF 102 IFCID 172 INPUT EXCEEDED LENGTH ZERO
  VMAC102   42.019  DB2 SMF 102 IFCID 365 INPUT EXCEEDED LENGTH ZERO
  VMAC102   42.037  Support for new ZPARMS in T102S106
  VMAC102   42.041  TYPE102 IFCID 365 INPUT EXCEEDED REDORD LENGTH.
  VMAC102   42.054  SMF 102 IFCID 196 misaligned, IBM stored zero.
  VMAC102   42.076  Support for DB2 SMF 102 IFCID 499 populates T102S499
  VMAC112   42.006  Omegamon for CICS ONDV SUPRA INPUT EXCEEDED.
  VMAC113   42.064  IBM changed z/16 RNI coeff from 4.3 to 4.1
  VMAC119   42.017  ZERT SMF 119 Subtype 12 TYP1192SUM corrections
  VMAC119   42.045  ZERT TYP11912DN missing observations
  VMAC119   42.049  Support for TYP11938 Subtype 38 dataset EXCEEDED.
  VMAC119   42.065  Only first segment SMF 119 Subtype 44 was output.
  VMAC119   42.071  Correction to dataset TYP11906 & TYP11945 variables.
  VMAC119   42.075  Support for new variables SMF 119 Subtype 2 TYP11902
  VMAC122A  42.037  Support SMF 122 Subtype 2 IBM Dependency.
  VMAC1415  42.063  z/OS 3.1 new variables in TYPE1415.
  VMAC30    42.008  Support for APAR OA65055 TYPE30   JAVA CPU ZIP SU
  VMAC30    42.062  Variables IOUNITS IOCOEFF MSOUNITS MSOCOEFF zeroed.
  VMAC7072  42.070  Support for Martin Packers Home Address blog post.
  VMAC7072  42.102  Datasets TYPE752K/TYPE752L/TYPE752M INPUT misaligned
  VMAC74    42.079  Support for APAR OA66017 Subtype 8 for DS8K.
  VMAC80A   42.025  Support for APAR OA61951 RACF PHRASEINT
  VMAC80A   42.038  Support for new Tokens TOKDBV2 and TOKOWNERS
  VMAC80A   42.052  TYPE80A INPUT EXCEEDED, long TOKXUGROUPS field.
  VMAC82    42.042  CPU LOOP with SMF 82 SUBTYPE 40.SMF82_Tag increased
  VMAC82    42.090  Support Type 82 subtype 49 + new TAG datasets.
  VMAC98    42.097  Support for SMF 98 Subtypes 5,6,7 and 8.
  VMAC99    42.009  Support for APAR OA65055 TYPE99SL JAVA CPU ZIP SU
  VMAC99    42.022  Support for APAR OA65652 SMF 99 Subtype 2
  VMACATF   42.077  Omegamon IMSATF SUMMARY outputs all transactions
  VMACHSM   42.095  HSM datasets HSMDSRFU and HSMFSRFU only outputted 13
  VMACIMS   42.074  Support for IMS Log Record LCODE 45 STATTYPE 16.
  VMACRACF  42.016  Support for RACF IRRDBU00 RACTYPE=0161 records.
  VMACRMFV  42.069  z/.OS 3.1 ERROR Array Subscript out of range.
  VMXG70PR  42.048  OBS count wrong in ASUMCEC, MSU Values wrong.
  VMXG70PR  42.087  Clock "FALL BACK" needs one hour wait.
  VMXGSUM   42.007  New Parameter NOMXGECHO suppress print of parms.
  WPS       42.092  WPS  fails with character strings longer than 32767.

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

Inverse chronological list of all Changes in MXG Version 42.42
          .
NEXTCHANGE:

====== CHANGES THRU 42,105 ARE IN MXG 42.42 RE-DATED Jan 24, 2025 ======

Change 42.105  Parameter PACKAGE printed WARNINGS after Change 42.089
READDB2        and did not select on Package, but did not ABEND.  Line .
Jan 13, 2025   1652 was changed to %PACKAGE instead of &PACKAGE.
   Thanks to Matthew T. Chappell, Queenslad Transport, AUSTRALIA

Change 42.104 -First 42.42 UTILBLDP SYNTAX ERROR due to missing parens.
UTILBLDP       ERROR, so far at only one site. Change lines 899-900 to
Jan 24, 2025     %LET USERADD=%SYSFUNC(COMPBL(%STR(&PART1) ID));
                 %LET MACFILEX=%SYSFUNC(COMPBL(_CDEID MACFILEX));
              -ERROR UNRESOLVED MACRO LEFT or CMPRES or TRIM can occur
               if you do not have a SASAUTOS call in CONFIGxx/AUTOEXEC
               from the MXG examples.  In first 42.42, %LEFT and %CMPRES
               were added in UTILBLDP and %LEFT in READDB2; %LEFT was
               removed by this change but %CMPRES couldn't be replaced.
               Also, members VMXGALOC VGETALOC ANALWHO all use %CMPRES
               so restoring the SASAUTOS call is the only correction.
                 SASAUTOS=(SOURCLIB SASAUTOS) in CONFIGxx or in AUTOEXEx
                 OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS)
               Only one site has reported the missing SASAUTOS error.
              -An unrelated exposure was circumvented in this change:
               %UTILBLDP would fail if your MACyyyyX= or USERADD= code
               exceeded the 32K limit on Character variable size. The
               logic was changed to use a macro string variable which
               has a 64K limit.
   Thanks to Douglas C. Walter, CITIGROUP, USA..

Change 42.103  Variable DLOGRTKN, RECOVERY TOKEN, was added to IMS5050
VMACIMS        dataset.
Jan  8, 2025
   Thanks to Camilo Lopez Calderon, ITNow, SPAIN.

Change 42.102  Datasets TYPE752K, TYPE752L, TYPE752M failed to INPUT the
VMAC7072       variable R725ENRC, causing misalignment and wrong values
Jan  8, 2025   in R725ENSU/R725ENTI/R725ENS1/R725ENS2.
   Thanks to Jan Tielemans, KBC, BELGIUM

====== CHANGES THRU 42.101 ARE IN MXG 42.42 DATED Jan  3, 2025 =========

Change 42.101  Line 2339 had double slash // at end of the line, which
VMAC119        caused the INPUT statement to move to the next line which
Jan  2, 2025   misaligned the input of subsequent variables in dataset
               TYP11901. There was no execution error, only this NOTE:
                 NOTE: Invalid argument to function INPUT _ERROR=1.
               except that if the next SMF record was an ID=3, which is
               only 14 bytes long, an Input Record Was Not Long Enough
               caused a STOPOVER ABEND. Since ERRORABEND is in effect, I
               would have thought that _ERROR_=1 would have caused that
               ABEND, but there is an obscure note that says ERRORABEND
               is not honored for any Invalid Data type errors!
   Thanks to Declan Vibert, Altair, ENGLAND.
   Thanks to James McCubbin, Altair, ENGLAND.

Change 42.100  MXGWARN messages about FMTSEARCH added by Change 42.046
VMXGINIT       were removed but the test for the existence or back level
Jan  2, 2025   of the FORMATS library remain.
   Thanks to Joe McCann, PennMutual, USA.

Change 42.099  Further updates for Omegamon IMSATF SUMMARY records.
VMACATF
Dec 31, 2024
   Thanks to Donald Cleveland, Elevance Health, USA.

Change 42.098  Some CPU variables were not labeled or not formatted.
EXTY121
Dec 30, 2024

Change 42.097  Support for Type 98 subtype 5 6 7 8 creates 12 datasets
EXTY985A        TYPE98A  ENHANCED READ BUCKET
EXTY985B        TYPE98B  ENHANCED READ JOBINDEX
EXTY985C        TYPE98C  ENHANCED READ JOB LIST
EXTY985A        TYPE98A  BASIC READ BUCKET
EXTY985B        TYPE98B  BASIC READ JOBINDEX
EXTY985C        TYPE98C  BASIC READ JOBLIST
EXTY985A        TYPE98A  ENHANCED WRITE BUCKET
EXTY985B        TYPE98B  ENHANCED WRITE JOBINDEX
EXTY985C        TYPE98C  ENHANCED WRITE JOB LIST
EXTY985A        TYPE98A  BASIC WRITE BUCKET
EXTY985B        TYPE98B  BASIC WRITE JOBINDEX
EXTY985C        TYPE98C  BASIC WRITE JOBLIST
FORMATS
VMAC98
Dec 27, 2024
   Thanks to Craig S Bigler, Progressive, USA
   Thanks to Ann Knapik, Progressive, USA

Change 42.096  Dataset TYPE11912TLS variable S11912SS_TLS_NET_CIPHER
FORMATS        FORMAT $MG119CF expected '4040'x for the last two chars
Dec 17, 2024   but the data has '0000'x, format revised for both.
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 42.095  HSM datasets HSMDSRFU and HSMVSRFU only outputted the
TYPEHSM        the first 13 function values, although $MGHSMFU format
Dec 12, 2024   decoded these additional types, they were not output.
                 14='14:VOL OR DS RESTORE'
                 15='15:ABACKUP FUNCTION'
                 16='16:ARECOVER FUNCTION'
                 17='17:EXPIRE PRI OR MIGRATED DATA SET'
                 18='18:PARTIAL RELEASE FUNCTION'
                 19='19:EXPIRE OR ROLL OFF INCREMENTAL BACKUP'
                 20='20:(H)BDELETE INCREMENTAL BACKUP'
                 21='21:FAST REPLICATION BACKUP FUNCTION'
                 22='22:FAST REPLICATION RECOVER FUNCTION'
                 23='23:FAST REPLICATION DELETE FUNCTION'
                 24='24:CLASS TRANSITION'
                 25='25:MIGRATION TO CLOUD'
                 26='26:RECALL FROM CLOUD'
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 42.094  The SAGANAL program uses SMF 30 Intervals to track the
SAGANAL        hourly MSU of the four SAS work types, but suddenly the
Dec  8, 2024   MSU Values were extremely small, because IBM raises
               intervals when BOOST is active, to the value of the
               fastest processor in that family. For a 8562 D04 with
               normal LOSU_SEC of 6950, IBM changes the LOSU_SEC value
               from 6950 to 88218.

               To support multiple processors with different LOSU_SEC
               values the program normalizes the CPUTM in the 30s to the
               speed of the fastest processor, using the ratio of each
               system's LOSU_SEC to the maximum value, MAXSUFACT, as
               documented in this note in SAGANAL

               CALCULATION OF MSU FROM SMF 30S FOR SAG.

               THE RECORDED CPUTM FOR AN INTERVAL IS MULTIPLIED BY THE
               RATIO OF THIS SYSTEM'S SPEED LOSU_SEC DIVIDED BY THE
               MAXSUFACT TO NORMALIZE THE CPU TIME TO THE SPEED OF THE
               FASTEST MACHINE, AND THEN THAT NORMALIZED CPUTM IS
               MULTIPLIED BY SMF70CPA, THE CEC'S SU_SEC, TO GET THE MSU.

               The equation used to normalize the CPUTM is
                 IF MAXSUFACT GT 0 AND LOSU_SEC GT 0 THEN
                    CPUTM=FLOOR(100*CPUTM*LOSU_SEC/MAXSUFACT)/100;

               IF ONLY ONE SYSTEM'S DATA IS SELECTED, THE LOSU_SEC AND
               MAXSUSEC ARE THE SAME, SO THE CPUTM IS UNCHANGED, AND THE
               MSU CALCULATION IS THE SAME.

               WHEN THERE ARE MULTIPLE SYSTEMS, EACH CPUTM IS NORMALIZED
               TO THE FASTEST MACHINE ON THE CEC, SO THOSE SLOWER
               MACHINES WILL HAVE THEIR CPU TIME REDUCED WHEN LOSU_SEC
               IS LESS THAN MAXSUSEC. THE REDUCED CPUTM WILL THEN BE
               MULTIPLIED BY SMF70CPA TO GET THE (SMALLER) MSU FOR THAT
               SYSTEM.

                 MAXSUFACT=88218
                 LOSU_SEC=6950
                 6950/88218=.078
                 SMF70CPA=4722

               A SYSTEM with an hour interval with 3600 seconds of CPUTM
               (frequently true for ADABAS) has an hourly SYSTEM MSU of
               3600*4722=17 MSU per engine, so with 4 engines the hourly
               CECMSU HAS 17*4=68 MSU which is exactly the hourly value
               in CECMSU capacity in the SMF record. But when
               Normalized, with the 88218 maximum value, that 68 MSU CEC
               CAPACITY is only 5.3!

               The solution is to delete those intervals when BOOST is
               active as they not only corrupt the MSU values, they are
               not representative of normal system values, using
                 IF BOOSTACTIVE GT 0 THEN DELETE;

Change 42.093 -If you used RMFINTRV or VMXGRMFI with PDB=SMF, the input
VMXGRMFI       SMF file was read twice.  Now it doesn't.
BUILDPDB      -Added an example of testing a new RMFINTRV member.
BUILDPD3      -For protection, macro variable BUILDINGPDB=YES is added
Dec  6, 2024   to the two BUILDPDx members, to prevent second read.

Change 42,092  WPS fails with character strings longer than 32767 bytes
UTILBLDP       when using SYSFUNC(COMPBL...  Corrected using %LEFT from
BLDSMPDB       SASAUTOS.                           .
               Jan 24. 2025. See Change 42.003 which removed %LEFTS
Dec  6, 2024

Change 42.091  Dataset T102S196 variables QWn196HL, UOWID, contained
VMAC102        unexpected hex values that distorted PROC PRINT output.
Nov 19, 2024   Replaced by QWn196HL1 and QWn196HL2 variables..

Change 42.090  Support for Type 82 subtype 49 updated TYPE82AU dataset
EXTY8291       created TYPE8249 for COMPLIANCE and created five new
EXTY8293       datasets to support duplicated tags.
EXTY8294         TAG   DATASET
EXTY8295        0201   TYPE8291
EXTY8297        0213   TYPE8293
FORMATS         0214   TYPE8294
VMAC82          0205   TYPE8295
VMXGINIT        0206   TYPE8295
Dec 12, 2024    0207   TYPE8297
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 42.089  If you tried to use PACKAGE= parameter it failed with a
READDB2        macro error. Problem was fixed and examples added to doc
Nov  9, 2024   in the member.
   Thanks to Kammara Bheema Linga Prasad, Allstate, USA.

Change 42.088  DODSCRDT lets you select INFILE records to be selected
DODSCRDT       based on the creation date of the z/OS file. An example
Nov  1, 2024   %INCLUDE was added to the commented execution example.

Change 42.087  If you did not wait an hour after rolling the clocks
TECHNOTE       back you would get NOT SORTED errors on CPS70PR8 and
VMXG70PR       CPS70PRA because GMTOFFTM was not in the BY list.
Nov  8, 2024
               When you change clocks for DST or back to standard
               time there can be anomalies in the data. In the
               spring there will be a hole in the data - an hour
               will be missing and sometimes will be longer than
               expected for jobs steps that were running at the
               time you moved the clock. In the fall any datasets
               that are summarized by Tod will have an hour that
               will be twice what is normal unless you quiesce
               the system for an hour.
   Thanks to Gregory Rudder, Shelter Insurance, USA.

Change 42.086  Skipped Change Number
Nov 12, 2024

Change 42.085 -Expand RMFBSAM LRECL support to 16K-1 (16777215) bytes
VMACRMFV      -Add support for data conversion of table formats to/from
Dec 24, 2024   versions with new field to document the prior to
               conversion version identifier,  The following tables
               were affected:
                 ASIG3, CATG3, CFIG3, CPCDB, CPDG3, CPUG3, CPUDB,
                 CRYG3, CSRG3, DVTG3, ENCG3, ENTG3, GEIG3, IQDG3,
                 LOKG3, OPDG3, PCIG3, RCDG3, SCMG3, SCMCM, SCMDI,
                 SPGG3, SSHG3, SVPG3, LOKG3, XCFG3, ZXFG3

Change 42.084  Value of 11 was added to MGSARTY format for variable
FORMATS        variable SMFVOTYP in multiple SARRUnn datasets.
Oct 28, 2024
   Thanks to Steven W. Erkkila, USBANK, USA.

Change 42.083  Support for IMS LCODE=50x Log Record creates IMS5050
EXIMS550       dataset.
FORMATS
VMACIMS
VMXGINIT
NOV  5, 2024

Change 42.082  Values of 7 and 11 were added to MG0748L format for
FORMATS        variable R748LTYP in dataset TYPE748L.
Oct 23, 2024

Change 42.081  MIPS now added to all reports.
ANALMSUS
Oct 12, 2024

Change 42.080  Variable TISTATUS created in dataset TYPE11901
VMAC119           TISTATUS  /*TCP*SOCKET*STATUS*S=SERVER*C=CLIENT*/
Oct 14, 2024

Change 42.079  Support for APAR OA66017 for TYPE74 Subtype 8 for DS8K
VMAC74         storage systems compression statistics.  This coding adds
Oct 7, 2024    these variables to dataset TYPE748X:
                 R748CMPX='COMPRESSION*EXTENT*POOL'
                 R748SZVL='VALID*EXTENT*SIZES'
                 R748XEPS='EXTENT*SIZES IN*EXTENT POOL'
                 R748XTLC='TOTAL*LOGICAL*CAPACITY'
                 R748XTPC='TOTAL*PHYSICAL*CAPACITY'
                 R748XULC='USED*LOGICAL*CAPACITY'
                 R748XUPC='USED*PHYSICAL*CAPACITY'
                and this variable to TYPE748A:
                 R748AAS6='DDM CLASS*COMPRESSED'

Change 42.078 -TYPE8231 variables STARTED and ENDED were not converted
VMAC82         to local time zone. The type 82 records do not provide
Oct  3, 2024   a GMT Offset variable, one has to compare the SMFTIME and
               hope there is an "ending" time TODSTAMP variable to use
               to calculate the offset. Variable SMF82SXT in TYPE8221
               and SMF82AUD_JOB_ENTRY_DATETIME in TYPE82AU have no end
               time variable, so GMT is added to the variable's label.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 42.077  Revised support for Omegamon IMSATF SUMMARY records now
VMACATF        outputs all transactions.  The original 2015 MXG support
Oct  1, 2024   found one transaction per record, with no clue that there
               could be multiple transactions i.e. no count field so MXG
               only output the first transaction in each record. That no
               MXG User noticed suggests no one was ever using these ATF
               log records.
   Thanks to Donald Cleveland, Elevance Health, USA.
   Thanks to Vitali Mints, Rocket Software, USA.
   Thanks to John Bubenheim,IBM,USA.

Change 42.076  Support for DB2 SMF 102 IFCID 499 populates T102S499.
FORMATS
VMAC102
Sep 27, 2024
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND

Change 42.075  Support for new variables in SMF 119 Subtype 2 TYP11902
FORMATS         TTSMCREASON='SMC-R*LINK*FAILURE*REASON*CODE'
VMAC119         TTXRT32='RETRANSMISSIONS*REQUIRED*/
SEP 29, 2024    TTSMCDREASON='SMC-D*LINK*FAILURE*REASON*CODE'
                TTSMCDEID='SMC-DV2*ENTERPRISE*ID'/
                TTSMCFLAGS='SMC-R*FLAG'
                TTSMCDSTATUS='SMC-D*LINK*STATUS'
                TTSMCFLAG2='TTSMCVERSION'
                TTTTLSSESSIDLEN='AT-TLS*SESSION*ID*LENGTH'
                TTTTLSSESSID='AT-TLS*SESSION*ID'/
                TTTTLSSRU='SSL*SESSION*REUSE'
                TTTTLSNKS='AT-TLS*NEGOTIATED*KEY*SHARE'
              -FORMAT $MG119RX-TTSMCREASON and $MG119RY for TTSMCDREASON
                 HAVE OTHER NON-ZERO REASON CODE VALUES:
                 INTERNAL ERROR, IF SMF119AP_TTSMCRSNRMT (X'80') BIT .
                  BIT IS OFF IN SMF119AP_TTSMCFLAGS.
                 REMOTE PEER SET VALUE, IF SMF119AP_TTSMCRSNRMT (X'80')
                  BIT IS ON IN SMF119AP_TTSMCFLAGS.
               SEE THE DOCUMENTATION OF THE PEER PRODUCT FOR MORE INFON.
     Thanks to Richard Davey, Bank of America, USA.

Change 42.074  Support for IMS Log Records LCODE 45 STATTYPE 16 creates
EXIMS45S       four new datasets with Fast Path Buffer Pool statistics:
EXIMS45T         DDDDDD  DATASET  Eye Catcher  Description
EXIMS45U         IMS45S  IMS45162  DBFBPNO2    FPBM GLOBAL STATISTICS
EXIMS45V         IMS45T  IMS45163  DBFBPNO3    FP SUBPOOL STATISTICS
FORMATS          IMS45U  IMS45164  DBFBPNO4    FP SUBPOOL EXTENT STATS
VMACIMS          IMS45V  IMS45165  DBFBPNO9    FP BUFFER STATISTICS
VMXGINIT
Sep 24, 2024
   Thanks to Kurt Gramling, TSYS, USA

Change 42.073  UNUSED CHANGE NUMBER.
Sep 19, 2024

====== CHANGES THRU 42.072 ARE IN MXG 42.03 DATED Sep 15, 2024 =========

Change 42.072  You can now send MQ data to a separate database with
BLDSMPDB       different numbers of pseudo-GDGs on ASCII.
VMXGALOC       To use you must either use the reroutex options in
Sep 13, 2024   BLDSMPDB or override the _L****** macro in MACKEEP.

Change 42.071 -Dataset TYP11906 variables IFINBITRT/IFOUBITRT/IFBITRATE
VMAC119        could have missing values because they were calculated
Sep  6, 2024   before DURATM had been correctly populated from IFDURTM.
              -Dataset TYP11945 variable DM_ISDURATION incorrectly input
               as datetime instead of duration.
   Thanks to Karl Lasecki,CAS, USA.

Change 42.070 -Support for Martin Packer's RMF Processing Home Address
VMAC7072       Fields in his blog https://mainframeperformancetopics.com
VMAC74         /2024/06/14/engineering-part-7-rmf-processor-home-address
Aug 31, 2024   fields/
Sep 26, 2024  -Dataset TYPE74CF from SMF 74 Subtype 4 Segment PO:
                Labels added for CFPBGS01-16 and CFPCCT01-16.
                Numeric variables CFPTLE01-16 are set to missing values;
                they were incorrectly created as numeric variables and
                are replaced by $HEX32 Character variables CFPTLECH01-16
              -Dataset TYPE70PR from SMF 70 Logical Processor Section
                Labels for SMF70CORTn which should have been SMF70CORDn
                provide additional decoding of their contents.
                SMF70CORT1='DISPATCH*LOC*TOPO NESTING*LEVEL1*ZERO'
                SMF70CORT2='DISPATCH*LOC*TOPO NESTING*LEVEL2*CHIP'
                SMF70CORT3='DISPATCH*LOC*TOPO NESTING*LEVEL3*DCM'
                SMF70CORT4='DISPATCH*LOC*TOPO NESTING*LEVEL4*DRAWER'
                SMF70CORT5='DISPATCH*LOC*TOPO NESTING*LEVEL5*ZERO'
                SMF70CORT6='DISPATCH*LOC*TOPO NESTING*LEVEL6*ZERO'
              -Format MG070NL for SMF70MAXNL='MAXIMUM*TOPOLOGY*NESTING'
               decodes these values:
                0='0:NO INFORMATION'
                1='1:NO NESTING STRUCTURE'
                2='2:NESTING LEVELS AVAILABLE'
                3='3:NESTING LEVELS AVAILABLE'
                4='4:NESTING LEVELS AVAILABLE'
                5='5:NESTING LEVELS AVAILABLE'
                6='6:NESTING LEVELS AVAILABLE'
              -Martin also added these technical notes:
               If you see non-zero L4RP or MEMRP numbers in SMF 113
               don't be alarmed now, it's just a spring clean ??
               er um it's quite normal because there are things that
               have nothing to do with LPAR cross-drawer activity.
               There are several benign causes, but if the values in.
               L4RP or MEMRP become significant that's a different.
               matter, and, as always, things like CPI - preferably at
               the engine level - help tell the story. And you can
               pretty much ignore home address for VL processors,
               especially if 70-1 says they are parked.
   Thanks to Martin Packer,IBM, UK.

Change 42.069  VMACRMFV experiencing two issues with zoS 3.1
VMACRMFV      -ERROR: Array subscript out of range at line 22512
Aug 26, 2024  -Incorrect navigation to service/report class data zos 3.1
Oct 10, 2024    Failing instruction (ACTTIME=RTSTHR) occurs when all
                buckets in RCDDEN are zero and the DO loop sweeping the
                array exits with the implied array element pointer left
                at 15 (beyond the array boundary).
                With 3.1 the Resource collection data entry added
                RCDSRVFLG and a two byte reserved field that triggered
                mis-aligning the class data input statement.  Navigation
                to the class data now makes use of the RCDSCOF/RCDRCOF
                plus RCDCLX fields to locate the class data.
                NOTE:Changed VMACRMFV was not in MXG 42.03 library..
                     It was moved to master source library Oct 10, 2024.

   Thanks to Kurt Gramling, TSYS, USA.

Change 42.068  Variable RACF263 path name has been increased to maximum
VMAC80A        length 1024 from the arbitrary length 255 definition of
Aug 21, 2024   the pathname.
   Thanks to David Obernoder, DATEV eG, GERMANY.

Change 42.067 -Corrections/additions in TYP11938 Subtype 38 dataset.
VMAC119        Only first segment was output, is corrected.
Aug 17, 2024   Variable DM_LSDURATION formatted TIME12.2..
               Variable DM_LSPNETID was not Kept.
               Two new variables added.
                 DM_LSRMTHOSTNAME.
                 DM_LSEID         ='SMC-D*ENTERISE*ID*EID'
               Variables input as $CHAR format $HEX corrections
                 DM_LSLCLGID DM_LSRMTGID                 $HEX16.
   Thanks to Karl Lasecki,CAS, USA.

Change 42.066  The label for IECZSTC3='ZSORT*PH1*TCB TIME is corrected
VMAC16         to 'ZSORT*PH3*TCB TIME'.
Aug  7, 2024
   Thanks to John Donoghue, AIB, IRELAND>

Change 42.065  Only the first segment of SMF 119 Subtype 44 was output..
VMAC119
Aug  5, 2024
   Thanks to Svend Zaunick, F-I, GERMANY.
   Thanks to Fynn Schoelzel, F-I, GERMANY.

Change 42.064  IBM Changed the z/16 coefficient for RNI from 4.3 to 4.1.
ASUM113        Doc is at https://www.ibm.com/support/pages/node/6354583.
VMAC113
Aug  5, 2024
   Thanks to John Burg, IBM, USA.

Change 42.063  Updates in z/OS 3.1 SMF Manual dated Jul 23, 2024;
TYPE1415      -TYPE1415 new variables
Jul 29, 2024   DSENCRYP='DSENCRYP*TOK'
               DSENHKEY='DSENCARC*HKEY'
               DSENCREJ='DSENCREJ'
              -TYPE99Q2 Support for APAR OA65652 added by Change 42.022.

Change 42.062  Variables IOUNITS IOCOEFF MSOUNITS MSOCOEFF are zero.in
TYPE30         TYPE30xx and TYPE72GO datasets starting in z/OS 2.5/3.1.
TYPE7072       IBM fields R723CIOC R723MIOC R723CMSO R723MMSO are listed
Jul 29, 2024   "always zero" in the SMF Manual for 2.5 dated May 24,2022
               and SMF03LOC SMF30MSC coefficients are "always zero" in
               the SMF manual for z/OS 3.1 dated Apr 19, 2024. And the
               variable EXCPRMF in TYPE30xx is also zero as it was based
               on IOUNITS.  I've not found any IBM notes on when/why.

Change 42.061  Variables SMF70PMU='AVG BLKED*DISPATCH*UNITS*PROMOTED' in
TYPE7072       dataset TYPE70 was incorrectly calculated.
Jul 24, 2024
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 42.060  MXG TYPExxxx members normally output dataset to WORK,
TYPE99         while TYPSxxxx members sort and output to PDB, but if all
Jul 18, 2024   dataset's have accumulated data, the _Sxxxx Product Sort
               macro is added in the TYPExxxx member, or if only some of
               the datasets are accumulated, the _Sdddddd Data Set Sort
               macro is added so that the DIF() functions are invoked to
               deaccumulate and output the correct data to PDB.
               These SMF datasets have accumulated data:
                  all datasets   99 103 113  79
                  some datasets MQM NPM TPX WECR.
               The _S99 was missing in MXG 42.01 and 42.02 in TYPE99.
   Thanks to Keith C. Shaffer, Evernorth, USA.
   Thanks to Altino Pimentel, Evernorth, USA.

Change 42.059  Dataset ASUM70GL the Group Capacity LPAR detail, variable
VMXG70PR       MINENTIT, the Minimum Entitlement of an LPAR in a
Jul 17, 2024   capacity group, was incorrectly calculated as the LPARs
               group weighted share of the total complex MSU (which,
               among other things, is greater than the complex weighted
               share of the total complex MSUs). MINENTIT incorrectly
               was greater than the MAXENTIT.
   Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA

Change 42.058  New variables added to DCOLLECT DCOLMIGS Data Set
VMACDCOL          UM_CLOUD_NAME_LENGTH='CLOUD*CONNECTION*NAME*LENGTH'
Jul 16, 2024      UM_CLOUD_NAME='CLOUD*NETWORK*CONNECTION*NAME'
                  UM_CONTAINER_NAME='CLOUD*NETWORK*CONNECTION*NAME'
                  UM_OBJ_NUMBER=    'NUMBER*OF OBJECTS*STORED'
                  UM_CLD_COMP_PERCENT='PERCENT*SAVED BY*TCT COMPRESSION'
   Thanks to Raj C. Xavier, FMR, USA.
   Thanks to Kulvinder Makkar,FMR,USA.

Change 42.057  If you run CICINTRV and look at the log you would see a
UTILDUR        bogus MXGWARN message. It can be ignored as it is a
VMXGCICI       result of VMXGSUM printing the code it generates. UTILDUR
Jul 15, 2024   now checks the durations in the data and if it is larger
               than the requested interval produces an MXGWARN message.
   Thanks to John Roderick, DC GOV, USA.

Change 42,056  Example 4 failed. Doc was corrected and member
UTILBLDP       TYPEJOBS was created.
TYPEJOBS
JCLPDBJB
Jul  4, 2024

Change 42.055  New variables added to ASUM1131 dataset by Martin show
ASUM113        the components of MEMP, the Percent Sourced from Memory:
VMAC113          MEMLP   ='PERCENT*SOURCED*SAME*DRAWER'
Jul  4, 2024     MEMRP   ='PERCENT*SOURCED*OTHER*DRAWER'
               The calculations are for z/16 and exposed MXG values for
               MEMP used the z/15 equations.
   Thanks to Michael Fleissig, Huk-Coburg, Germany
   Thanks to Martin Packer, IBM, ENGLAND.

Change 42.054  SMF 102 IFCID 196 dataset T102S196 was misaligned because
VMAC102        the undocumented IBM change to store zero in the triplet
Jul  3, 2024   length field and store the length value in the first two
               bytes of the segment was not correctly handled in MXG.
   Thanks to James Lieser, Optum, USA.
   Thanks to Peter Vikeras, Optum,USA

Change 42.053  If you used SPINSTC, you could get 0 obs in pdb.jobs
BUILD005       because of faulty logic. The code checked the value of
BUIL3005       SPINSTC and entered a DO loop that then checked the
Jul  4, 2024   typetask for STC and prevented the ELSE DO from
               being executed and setting OKFLAG from being set to 1
               which causes jobs to be output. The check for STC was
               added to check for SPINSTC and ELSE DO removed.
   Thanks to Shivang Sharma,ENSONO, USA.
   Thanks to Dana A Mccreary, UPS, USA
   Thanks to Arnold Kim, UPS, USA.
   Thanks to D. Barry, UPS, USA.

Change 42.052 -TYPE80A INPUT EXCEEDED due to unexpected short length 7
VMAC80A        for TOKXUGROUPS field, now using $VARYING INFORMAT.
Jun 29, 2024  -Support for TYPE80Z TOKXRGROUPS field also using VARYING.
   Thanks to Swapna Gavini, Kyndryl, AUSTRALIA.

Change 42.051  Utility program IMACDSCK finds all DSNAMES.is enhanced to
EXDCODSN       look at datasets created by DCOLLECT.
EXDCOCLU
EXDCOMIG
EXDCOBKP
IMACDSCK
Jun 28, 2024
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 42.050  Format $MGCICDS for variables SMDDSAIN in dataset CICSMD
FORMATS        and variable SMSDSAIN in dataset CICSMDSA values 0Ax-0Dx.
Jun 25, 2024   were added.
   Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA

Change 42.049  SMF 119 Subtype 38 INPUT STATEMENT EXCEEDED INVALID DATA
VMAC119        for PIB4 because lines 4035-4040 were missing the period
Jun 24, 2024   at the end of the &PIB.4. INFORMAT.  SAS Only detects the
               error when that code is executed, i.e. for a subtype=38.
   Thanks to Janet Harris, NTRS, USA.
   Thanks to Leopoldo E. Esparza, NTRS, USA.
   Thanks to Suresh Upputuri, NTRS, USA.

====== CHANGES THRU 42.048 ARE IN MXG 42.02 DATED Jun 22, 2024 =========

Change 42.048 -IFLMSUHR was calculated incorrectly and additional OBS
VMXG70PR       were output because a SET was used instead of a MERGE.
Jun 22, 2024   This caused incorrect ASUMCEC observation counts and
               some incorrect duration values that were introduced in
               MXG Version 42.01.
              -MSUHR totals were wrong (ZIPMSUHR ICFMSUHR IFLMSUHR
              IFAMSUHR)
             -ASUM70GC dataset was incorrectly summarized at the
              LPAR level instead of capacity group.
   Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA

Change 42.047  New variables added to TYP11912TLS dataset:
FORMATS          S11912SS_TLS_SRV_HS_SM  /*SERVER*HS_SIG_METHOD*/
VMAC119          S11912SS_TLS_CLI_HS_SM  /*CLIENT*HS_SIG_METHOD*/
Jun 20, 2024     S11912SS_TLS_NEG_KEY_SH /*NEGOTIATED*KEY_SHARE*/
   Thanks to Luis Mendoza, ICE, USA.

Change 42.046  The below test for FMTSEARCH was removed from MXG 42.42.
VMXGINIT       The MXGWARN caused confusion, the problem was obscure
Jun 15, 2024   and rarely encountered. The tests for the existence of
Jan  2, 2025   a FORMAT library or for a Back Level FORMATS remain.

               Original Change Text:
               Modified to check FMTSEARCH for values other than (WORK
               LIBRARY) or to see if you are using WPS; then the check
               for old or non-existent formats is bypassed. Using
               IMACFMTS and keeping formats in LIBRARY rather than
               using FMTSEARCH is recommended. NOTE: on z/OS, those
               ddnames must have DISP=NEW or OLD if you plan to add or
               modify formats.

Change 42.045  ZERT dataset TYP11912DN and TYP11912SUM were missing obs
VMAC119        because the triplet count fields NUM11906 and NUM11907
Jun 14, 2024   in Subtype 12 records were always one, but IBM never
               documented that one segment could contain many obs and
               never provided the actual count.  The DO to NUM11906/07
               was replaced with DO WHILE LENLEFT logic to determine the
               actual number of observations that are in the segment.
   Thanks to Jorge Fong, City of New York, USA.

Change 42.044  Now allows you to specify how many LPARS to keep in
VMXG70PR       ASUMCEC/70pr New parameter LPARS2KEEP= lets you specify
Jun  7, 2024   the number of LPARS to keep. This can significantly
               reduce the size of the resulting dataset. In one test
               using 20 the size of ASUMCEC was reduced by 61%! In order
               to simplify the logic 5 10 20 or 30 LPARS are kept so if
               you specify 4 5 are kept. If you specify a number smaller
               than the number of LPARS found in the data a WARNING
               message is created and LPARS2KEEP is set to a null
               string.

Change 42.043  If you added a PROC COPY after CICINTRV it failed since
CICINTRV       the datasets had been deleted by VMXGCICI. Deletion was
VMXGCICI       removed from VMXGCICI and left inside of comments in
JUN  3, 2024   CICINTRV.
   Thanks to Keith C. Shaffer, Evernorth, USA.

Change 42.042  CPU LOOP with SMF 82 SUBTYPE 40. SMF82_TAG '010F'x was
VMAC82         increased to 16 bytes.
Jun  3, 2024
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 42.041  TYPE102 IFCID 365 INPUT EXCEEDED RECORD MXG 42.01.
VMAC102        New fields added that exposed issues with QLSTLEN not
May 27, 2024   matching actual length of data.
                 QLSTNTPLH='TERMINATED*HIGH*PERFORMANCE'
                 QLSTNTILS='TERMINATED*TOP*SOCKET*CLOSED'
   Thanks to John Kim, Morgan Stanley, USA

Change 42.040  The TYPE70 dataset has 18 Arrays with 255 variables that
VMAC7072       have suffix M0-M8,MA-MZ,YA-YC,ZA-ZZ.102-255 & start with
May 27, 2024     CPUEDT CPUPAT CPUPDT CPUWAI IFATYP IFAWAI
                 IORATE MVSWAI PCTCPB PCTIFB PCTONL PCTTPI
                 PCTZIB ZIPWAI LCPUDE LCPUWA PCTCIB CAI
               that contain the metrics for each CPU.
               It's highly likely that you have never used any of these
               per-CPU variables in this poor design, because each array
               is summed into the actual metric of interest that you
               have been using, for example CPUEDTTM is the Effective
               Dispatch Time for the interval and there aren't any knobs
               to turn for each of the individual CPUs. But there might
               be a need to examine some of those individual CPU metrics
               when SMT is active, which is why the TYPE70EN per-engine
               dataset was created with a single set of variables and an
               observation per engine per thread per interval so those
               unwieldy array variables in TYPE70 are not really needed.
               And that's good, because with SMT, they are incorrectly
               stored in the wrong array entry. For example, the IORATEx
               variables for CPU 0,1,2,and 3 are not in the expected
               IORATE0/IORATE1/IORATE2/IORATE3 variables, but are found
               in IORATE0/IORATE2/IORATE4 with missing values in those
               IORATE1/3/5 variables: MXG confused CPUID with THREAD.
               But as those individual rates are summed into the IORATE
               variable which is the interval value, no data was lost.
               Only a single MXG user has reported this error, and this
               code was implemented in the Spring of 2015. With no other
               reported issues with these unlikely-to-be-needed TYPE70
               variables, and with the availability of TYPE70EN dataset,
               and the exposure of creating a new problem in the very
               complex support for the SMF 70 record, this error can not
               be corrected safely.

Change 42.039  TYPE 119 formats $MG119CF and $MG119KA were corrected.
FORMATS
May 20, 2024
   Thanks to Matthew T. Chappell, Queensland Government, AUSTRALIA

Change 42.038  Support new tokens TOKDB2 and TOKOWNERS in TYPE80TK.
VMAC80A
May 19, 2024
   Thanks to Bruce Henson, CITIGROUP, ENGLAND
   Thanks to Harald Seifert. HUK-COLBURG, GERMANY.

Change 42.037  New DB2 Zparms added to dataset T102S106.
VMAC102          MXG Variable    IBM ZPARM
May 19, 2024      QWP4AUDIWU     ALLOW_UPD_DEL_INS_WITH_UR
                  QWP4DSSAR      DISALLOW_SSARAUTH
                  QWP4FCXC       FLASHCOPY*XCXC
                  QWP4LSSIC      LA_SINGLESEL_ISOCS_CDY
                  QWP4LIRO       LOAD_RO_OBJECTS
                  QWP4MXUDF      MAX_UDF
                  QWP4MXAIDC     MAX_MEMORY_FOR_AI_DATA_CACHING
                  QWP4PKGDEPLVL  PACKAGE_DEPENDENCY_LEVEL
                  QWP4RTNP       REORG_TS_NOPAD_DEFAULT
                  QWP4LTMX       SPREG_LOCK_TIMEOUT_MAX
                  QWP1STIMM      STATIME_MAIN
                  QWP4STPGS      STATPGSAMP
                  QWP4TCNE       TABLE_COL_NAME_EXPANSION
                  QWP4TSCT       TS_COMPRESSION_TYPE
                  QWP4UTHIST     UTILITY_HISTORY
                  QWP4UBCDC      UTILS_BLOCK_FOR_CDC
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 42.036  Support for TOKDANAM values XUHSTORY XUTIMING XUGROUPS in
VMAC80A        TYPE80TK.
May 15, 2024   Support for EV44VAL length greater than 80 error messages
               RACF EV(44) ERROR. INVALID RACFDLNN and INPUT EXCEEDED.
   Thanks to Bheema Linga Prasad Kammara, NAB, AUSTRALIA.
   Thanks to Bhuvaneshwari Shanmugam, NAB, AUSTRALIA.

Change 42.035  Change 41.085 opens the format library to check and be
VMXGINIT       sure it is current. That means that if you use fmtsearch
May 15, 2024   to point at user formats you must specify disp=old on
               the dd statement if you want to update it (zOS only).
               Note: This Change was doc only. See Change 42.046.
   Thanks to Raymond Smith, OPTUM, USA.

Change 42.034 -Using a TAPE (SEQUENTIAL) data library for the PDB data
VMXGSUM        library has NEVER been wise due to the restrictions that
May 15, 2024   only one dataset can be open at a time, which required
               protection in BUILDPDB logic, and, in the past, the time
               needed for rewinds, now nonexistent with virtual tape,
               but also the loss of datasets after an existing dataset
               if that existing dataset is updated. MXG has protected
               the BUILDPDB process to allow use of tape, but a change
               to VMXGSUM is needed to permit that process. There has
               always been a warning message for SEQUENTIAL PDB DD.

Change 42.033 -IMS LOG ENQFLAG=0CX and FLAG2=41X is output to IMS35P.
VMACIMS       -Variable LG50RTKN kept in IMS5950 and TPCPRTKN kept in
May  9, 2024   IMS56FA.
   Thanks to  Oscar Curero, NTTDATA, SPAIN

Change 42.032  Documentation only, note that only one DEST will be set.
VGETDEST
May  1, 2024

Change 42.031 -New variable MAXWKSET 'MAXIMUM*WORKING*SET (K BYTES)' is
BUILD005       created in PDB.JOBS with the maximum value of any step.
BUIL3005      -Using a TAPE (SEQUENTIAL) data library for the PDB data
SPUNJOBS       library has NEVER been wise due to all of the rewinds
May 13, 2024   needed to retrieve PDB datasets, MXG has protected the
               BUILDPDB process to support it, but a change to VMXGSUM
               is needed to protect that process. And, virtual tape has
               mitigated those concerns.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 42.030 -The TYPE30_6 Early Address Space SMF 30 subtype 6 records
VMAC30         variables SRVSRBTM and SRVTCBTM and CPUTOTTM were wrong
Apr 25, 2024   when BOOST was active because they were calculated prior
               to the DIF() deaccumulate logic. These three variables
               are not the standard CPUTCBTM CPUSRBTM and CPUTM times
               that are in the SMF 30 records. The three variables are
               calculated from Service Units and added when it was
               claimed that they were more accurate than TIME fields.
              -Variable BOOSTCLASS was wrong if BOOSTACTIVE was missing
               value in the TYPE30xx datasets, when it should have been
               blank.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 42.028  DELTATM in PDB.VXINTUSR was incorrectly divided by the
VMACVMXA       number of configured engines ENGCONFG; that division is
Apr 18, 2024   removed.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 42.027  Support for IBM Dependency Based Build SMF 122 Subtype 2.
VMAC122A       Note the product suffix is 122A because there was an
Apr 18, 2024   earlier Tivoli SMF 122 record.
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 42.026  DCB Attributes RECFM=F LRECL=660 are added to the INFILE
VMACCTLT       CONTROLT so that file can be read from a pipe. Normally,
Apr  9, 2024   the FILENAME statement is used to supply attributes but
               those attributes are not available with a pipe.
               Since the CONTROL-T file is unlikely to ever be changed,
               there was no need to use macro variables for them.

Change 42.025  Support for APAR OA61951 which added RACF PHRASEINT, the
FORMATS        PASSWORD PHRASE CHANGE INTERVAL for both PASSWORD and for
VMAC80A        SETROPTS with these added changes:
Apr  3, 2024   -Added new KW18 vars for PHRASEINT.
               -Commented out the references to KW24S102 to KW24S109,
                these were created from an IBM reserved field in error.
                The correct values are in the following byte and already
                decoded as KW24SP70- KW24SP77. Unfortunately the
                subsequent keyword specified and keyword ignored flag
                numbers are now out of sync as a result.
               -Removed newly added KW24PA00-KW24PA01 as KW24PALG turned
                out not to be a bit masked field.
                https://www.ibm.com/docs/en/zos/3.1.0?topic=records-reco
                rd-type-80-racf-processing-record incorrectly shows
                these values as bits 0 and 1 but data had a value of 01X
                for KDFAES. KW24PALG is now formatted to display values.
                ftp://public.dhe.ibm.com/s390/zos/racf/pdf/oa43999.pdf
                shows the correct definition (0=existing algorithm,
                1=KDFAES).
               -Flags KW24I108, KW24I109, KW24S116, KW24S117 (originally
                for EIMREGISTRY and NOEIMREGISTRY) have been repurposed,
                I108/S116 is now ENHANCEDGENERICOWNER and I109/S117 is a
                reserved bit. This changed in the manuals in z/OS V2R3.
               -Corrected XMBALLRACF to XBMALLRACF in two labels.
               -KW24SCLV label has been changed from
                "SECURITY*AUDIT*VALUE" to "SECLABEL*AUDIT*VALUE"
               -KW24SP40 fixed typo in label
               -Added KW24MLSO KW24POPT KW24PWSR to $HEX formats and to
                &MXGNOTRA.
               -Fixed CHGINTRV to set missing when 0FFX, not 0FFFFFFFFX.
                Confirmed this with a PASSWORD USER(xxx) NOINTERVAL.
               -Dataset TYPE8018 new variables CHGINTRV PHRINTRV.
               -Dataset TYPE8024 new variables KW24PALG KW24PHRI.
               -Variables USRSEKTN KW24PWSR are $HEX formatted.
   Thanks to Matthew T Chappell, Queensland Government, AUSTRALIA.

Change 42.024  Variable SIISPCT for z16 in SMF 113 datasets, using E164
ASUM1134       counter instead of E170.
VMAC113
Mar 21, 2024
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 42.023  ANAL9914 report CECTYPE test did not include Z16 so no
ANAL9914       REPORT=JIM was produced, even though there is no change
Mar 19, 2024   for the 16.
   Thanks to Marvin L. Silverman, Bank of America, USA.

====== CHANGES THRU 42.022 ARE IN MXG 42.01 DATED MAR 15, 2024 =========

Change 42.022  Support for APAR OA65652 which adds variables to TYPE99Q2
VMAC99           PQAVQREQ='AVERAGE*QUEUED*REQUESTS'
Mar 12, 2024     PQBATQTM='BATCH*QUEUE*TIME'
                 PQBATSEL='BATCH*JOBS*SELECTED'

Change 42.021  INVALID REFERBACK IN THE COND FIELD in JCLASMXG example
JCLASMXG       that assembles all MXG ASM members due to ASMRMFX in the
Mar  9, 2024   COND instead of ASMRMFI.
   Thanks to MP Welch, Bank of America, USA.

Change 42.020  Using CICSIFUE under WPS results in U4038 LE abend with
CICSIFUE       the following error message:
Mar 12, 2024       CEE3194E An attempt was made to initialize an AMODE24
                     program when the  XPLINK(ON) run-time option was in
                     effect. AMODE24 programs are not supported in an
                     XPLINK environment.
               So AMODE 31 and RMODE 31 statements were added to each
               CSECT in CICSIFUE. CICSIFUE is the z/OS Exit to
               decompress CICS and DB2 SMF records; see EXITCICS to
               install the exit, which saves significant CPU Time
               processing those data records.

Change 42.019  DB2 SMF 102 IFCID 365 now has the Length QWT02R2L zero
VMAC102        requiring revision to read the Length at the Offset.
Mar  6, 2024   I can find no documentation when individual IFCIDS are
               being changed, I fear maybe every time an IFCID is to
               be updated.  The advantage of the header zero length
               is that the individual segments can be different lengths.
   Thanks to Harald Seifert, HUK-COLBURG, GERMANY.

Change 42.018  When I/O velocity is not enabled, the VELOCCPU was not
VMAC7072       correct; it should have been set to VELOCITY. Observed
Mar  6, 2024   that R723CTOU contains both GP and IIP usage but R723CCUS
               only contains GP usage.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 42.017  ZERT SMF 119 Subtype 12 dataset TYP11912SUM (ZERT COMMON)
VMAC119 2024   observations were not output if there was a sixth triplet
Mar  1, 2024   (Certificate DN) segment, causing S11912SASECPROTOS to
               only contain 0 (NO CRYPTO) and S11912SASESSIONID only C
               so none of the observations were for encrypted sessions..
   Thanks to Richard A Warren, USBank, USA.
   Thanks to ???, IBM SMF 119 Support, USA.

Change 42.016  Support for RACF IRRDBU00 Unload RACTYPE=0151 creates new
EXRAC151       RACF0151 dataset 'Group CSDATA Custom Fields'.
IMACRACF         GPCSD_NAME ='GROUP*NAME'
VMACRACF         GPCSD_TYPE ='DATA*TYPE*FOR*CUSTOM*FIELD'
VMXGINIT         GPCSD_KEY  ='CUSTOM*FIELD*KEYWORD'
Mar  1, 2024     GPCSD_VALUE='CUSTOM*FIELD*VALUE'
   Thanks to Nathan Battles, Navy Federal, USA.

Change 42.015 -SMF70CSF was missing for ICF IFL LPARS. Now added as
VMXG70PR       the MAX value for all LPARS. ICF/IFL MSU values were
Feb 25, 2024   added to ASUMCELP. Count of ICF LPARS added to ASUMCEC.
Mar  9, 2024  -Unrelated, could have a SORT ERROR on GMTOFFTM and the
Mar 15, 2024   variable was not carried forward into ASUMCELP dataset.
   Thanks to Scott Barry, SBBTechLLC, USA.
   Thanks to Perry Metzel, Alight, USA.

Change 42.014  NOTE: INVALID NUMERIC DATA "xxxxxxxx'x for some datetime
VMACBETA       variables in BETA30 and BETA31 datasets due to typo were
Feb 20, 2024   present since last update in 2021. No ABEND, just NOTES.
   Thanks to Tino Buschmann, ITZBund, GERMANY.

Change 42.013 -INPUT EXCEDED SMF 102 IFCID 172 when QWT02R2L NOT ZERO.
VMAC102        Change 41.112 supported the undocumented case when the
Feb 20, 2024   length field was zero, but records with zero length were
               not correctly decoded.
              -ZERO OBSERVATIONS in T102S196 due to debugging statement
               IF QWTR22L=196 THEN DELETE. But the 196 has similar
               length issues as the preceding 172 structure. Code was
               revised and tested for QWT02R2N=1 records, but records
               with QWT02R2N=2 are needed to verify.
    Thanks to John Milne, Kyndryl, AUSTRALIA.

Change 42.012  LINUX ONLY. ASCII IEBUPDTE to build directory of files
IEBUPDTE       would have built directories with a backslash \ rather
Feb 19, 2024   than a forward slash / if the last character was not /.

Change 42.011  Testing corrections.  S031PSTP had missing period in the
VMACBETA       $EBCDIC8 informat, but subtype 30 and 31 are misaligned
Feb 19, 2024   and doc is needed to investigate.
   Thanks to Tino Buschmann, ITZBund, GERMANY

Change 42.010  Variable CRYIAES='AVG BYTES*PER AES ENCRYPT*SERVICE CALL'
VMAC7072       was incorrectly formatted as a time when it is just a
Feb 18, 2024   numeric value.
   Thanks to Graham Harris, Natwest, ENGLAND.

Change 42.009  Support for APAR OA65055 which adds JAVA CP and zIIP
VMAC99         service units to dataset TYPE99SL:
Feb 15, 2024   S99RTCAPLEADTIME    ='RTCAP*LEAD*TIME*MINUTES'
               S99TIME_TO_CAP      ='TIME*TO*CAP*SECONDS'
               S99TIME_TO_CAP_GROUP='TIME*TO*CAP*GROUP*SECONDS'
               S99SUS_ZIIP         ='ZIIP*ELIG*UNWEIGH*SU ON*ZIIP'
               S99SUS_ZIIP_ON_CP   ='ZIIP*ELIG*UNWEIGH*SU ONCP'
               S99SUS_JAVA_ON_ZIIP ='ZIIP*ELIG*UNWEIGH*JAVA SU*ON ZIIP'
               S99SUS_JAVA_ON_CP   ='ZIIP*ELIG*UNWEIGH*JAVA SU*ON CP'
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 42.008  Support for APAR OA65055 which adds JAVA CP and zIIP time
VMAC30         to TYPE30_V, TYPE30_4, TYPE30_5, PDB.SMFINTRV  datasets:
Feb  8, 2024     SMF30_TIME_JAVA_ON_ZIIP         ='JAVA*WORK*ON ZIP'
                 SMF30_ENCLAVE_TIME_JAVA_ON_ZIIP ='JAVA*ENCLAVE*ON ZIP'
                 SMF30_DEPENC_TIME_JAVA_ON_ZIIP  ='JAVA*DEPENC*ON*ZIP'
                 SMF30_TIME_JAVA_ON_CP           ='JAVA*WORK*ON*CP'
                 SMF30_ENCLAVE_TIME_JAVA_ON_CP   ='JAVA*ENCLAVE*ON*CP'
                 SMF30_DEPENC_TIME_JAVA_ON_CP    ='JAVA*DEPENC*ON*CP'
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 42.007  Added VMXGSUM parameter MXGNOECHO= to suppress printing
VMXGSUM        all of the VMXGSUM parameters, enabled by specifying YES
Feb  8, 2024   in your VMXGSUM invocation.  Added %GLOBAL macro variable
               NOMXGECHO which can be externally set before VMXGSUM is
               invoked, with %LET NOMXGECHO=YES; to suppress listing.
   Thanks to Harald Seifert, HUK-COLBURG, GERMANY.

Change 42.006  INPUT STATEMENT EXCEEDED for Omegamon for CICS ONDV
VMAC112        for SUPRA records. The MXG TEST for FOCVER GE 'V560'
Feb  6, 2024   should have been for V550 to INPUT SATTACH since that
               field was present in the V550 record and its INPUT
               then aligned SUSEDF and SRECLEN correctly.
   Thanks to Gaetan Martel, Intact, CANADA

Change 42.005 -JCL examples added and comments revised to show how to
GRAFCEC        use ODS for reports instead of the MXGODSxxxx arguments
Feb  7, 2024   that should not have been created.
              -Corrected duplicate BY statement missed by SAS.
   Thanks to Tom Maccabe, Dominion Energy, USA.

Change 42.004  Significant overhaul of this MQ report/analysis program.
ANAL115        New parameters added to simplify report criteria.
Jan 31, 2024     INCODECFS=code to limit CFS report
                 INCODEBUF=COde to limit buffer report
                 INCODELOG=code to limit LOG report
                 INCODEMSG=code to limit db2 REPORTS
               Parameters were put in alpha order.
               TY115201 ADDED as input to LOG report
               TY115215 ADDED as input to buffer report

Change 42.003  If you run with RUNWEEK=NO and FIRSTRUN=YES option OBS=0
BLDSMPDB       was set to copy PDB to days of week but 0 OBS was not
Jan 18, 2024   reset so anything after BUILDPDB had 0 OBS. Statement was
               moved so that it will always be run.
   Thanks to Jim Poletti, Edward Jones, USA.

Change 42.002  INPUT STATEMENT EXCEEDED reading subtype 2 Statistics
UCICSCNT       records which are not compressed because MXGDECOM was
Jan 17, 2024   incorrectly invoked for subtypes one and two.

   Thanks to Raymond Smith, OPTUM, USA.
   Thanks to Ronald W. Bassett, OPTUM, USA.

Change 42.001  MXG 41.06 and 41.41.  Change 41.112 accidentally changed
VMAC102        the INPUT names for QWT02R4L-QWT02R9L to QWT02R4LX-R9LX
Jan 12, 2024   so the correct named variables were missing values and
               those segments were not input, causing missing values for
               all of the variables that should have been input.
               Impacted all IFCIDS with QWHSNSDA GT 4.
   Thanks to Jan Tielemans, KBC, BELGIUM
LASTCHANGE: Version 42.
=========================MEMBER=CHANGE41================================
 /* COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA */
        MXG VERSION 41.41 was dated Jan 10, 2024, thru Change 41.122.
        MXG VERSION 41.06 was dated Dec 15, 2023, thru Change 41.117.
        MXG VERSION 41.05 was dated Nov 16, 2023, thru Change 41.108.
        MXG VERSION 41.04 was dated Sep 20, 2023, thru Change 41.086.
        MXG VERSION 41.03 was dated Aug 11, 2023, thru Change 41.069.
        MXG VERSION 41.02 was dated Jun  5, 2023, thru Change 41.038.
        MXG VERSION 41.01 was dated Mar 24, 2023, thru Change 41.015.

ANNUAL  MXG VERSION 40.40 was dated Feb  3, 2023, thru Change 40.162.

        New TECHNOTES previously in NEWSLTRS are now in CHANGESS.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 41.41 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 41.41.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains old Technical Notes. many of which are still
  valid, but the last was in 2018.  Now, TECHNOTES and FLASHes are in
  CHANGES/CHANGESS. which are also online.

  Member CHANGES contains the changes made in this current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  CHANGESS and NEWSLTRS are also online at http://www.mxg.com,

========================================================================

I.  MXG ANNUAL VERSION 41.41 DATED Jan 12, 2024, THRU CHANGE 41.112.

==MAJOR CHANGES ADDED IN MXG 41.41, DATED Jan 12, 2024 THRU 41.112.====

  NONE

==MAJOR CHANGES ADDED IN MXG 41.06, DATED Dec 15, 2023 THRU 41.117.====

  VMXG70PR  41.107  ASUMCELP MSU variables for each CPU type added.
  UCICSCNT  41.106  CICS Utility INPUT STATEMENT EXCEEDED MNSEGCL 5
  ANALCEC   41.105  CEC Analysis new SORTBYADDS to control reports.
  VMACDB2H  41.102  ASUMUOW merge of CICSTRAN and DB2ACCT fewer SPUN.

==MAJOR CHANGES ADDED IN MXG 41.05, DATED Nov 16, 2023 THRU 41.108.====

NEW SUPPORT

Change 41.092  Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2       We and several customers have tested z/OS 3.1 records
VMAC30         with back levels of MXG that support z/OS 2.5 (39.08)
VMAC7072       with no errors reported, and we expect no issues.
VMAC79         Change 41.096 added the new AI data in TYPE99 and
Oct 26, 2023   there were other APARs in 3.1, but we expect no issues.
               New variables were added, see Change 41.092 full text.
               This change was in MXG Version 41.05.

  VMAC123A  41.094  Support for z/OS Connect V3.0.74.0 new variables.
  VMAC26J2  41.092  Support for z/OS 3.1 SMF Manual Changes COMPATIBLE
  VMAC110   41.081  Support for CICS/TS 6.2 BETA16 INCOMPATIBLE inserts.
  VMACVIRS  41.080  Support for VIRTEL/VIRSTAT versions 640/641.
  VMAC99    41.096  Support for AI Data Section WLM AI Batch INITs.

ERRORS CORRECTED

  UCICSCNT  41.106  CICS Utility INPUT STATEMENT EXCEEDED MNSEGCL 5

ENHANCEMENT

  VMACMARS  41.099  Corrections to Hitachi Mainframe Analysis Recorder
  VMAC110   41.095  CICSTRAN variable WBURISCN spelled WBIRISCN.
  VMAC99    41.090  TYPE99_6 variables SERVER01-05 SERVPN01-05 wrong.
  VMXG70PR  41.107  ASUMCELP MSU variables for each CPU type added.
  ANALCEC   41.105  CEC Analysis new SORTBYADDS to control reports.
  VMACDB2H  41.102  ASUMUOW merge of CICSTRAN and DB2ACCT fewer SPUN.
  CICINTRV  41.087  CICINTRV now supports a ONEMINUTE value for _CICINTV
  ANALAVAI  41.098  Availability report can now grouped on program name
  JAVA      41.091  Two JAVA memory options were found needed in z/OS.
  FORMATS   41.097  CICS 6.1 dynamic storage areas not in $MGCICLO.

==MAJOR CHANGES ADDED IN MXG 41.04, DATED Sep 20, 2023 THRU 41.086.====

NEW SUPPORT

  VMAC110   41.081  Support for CICS/TS 6.2 BETA 16 INCOMPATIBLE
                    New field inserted in SMF CICSTRAN record.

ERROR CORRECTED:

  UTILEXCL  41.075  UTILEXCL error in Change 41.063 ABCODE (MXG 41.03).
                    Caused CPUTM GT ELAPSED Msgs if both ABCODEs kept.

ENHANCEMENTS

  VMACSARR  41.073  SARR/CAVIEW Subtype 36 datasets now populated
  TYPE7072  41.071  Variable CECSER6 is added to TYPE70/70PR/RMFINTRV
  TYPEXAN   41.071  Variable CECSER6 is added to XAMSYS
  TYPE119   41.070  TYP11906 added 5th Home Address variables.

==MAJOR CHANGES ADDED IN MXG 41.03, DATED Aug 11, 2023 THRU 41.069.====

ABENDS CORRECTED:

  VMAC99    41.066  SMF 99 Subtype 9 INPUT EXCEEDED, ERROR IN SMF MANUAL
  VMAC74    41.052  BMC CMF Only Subtype 9 INPUT STATEMENT EXCEEDED.
  VMAC98    41.049  SMF 98 CICS Subtype 1024 ABEND, only ST 1 supported

ERRORS CORRECTED:

  UTILBLDP  41.068  %CLEARDB2 addition caused VARIABLE STARTHR errors.
  VMAC116   41.067  DB2H Header Variables QWHCAID/QWHCOPID in TYPE116.
  VMACDB2   41.065  DB2 IDAA variables Q8STINSC-Q8STVLCS shifted, wrong.
  VMAC119   41.064  Dataset TYP11910 UCLIPV6 was wrong, had blanks.
  VMAC74    41.064  TYPE74CA storage variables CSCONF+ are GB not MB.
  VMAC71    41.041  Correction to CSTORE which was too small.

ENHANCEMENTS

  UTILEXCL  41.063  Protection for EXCLUDEd CICS Field 114 ABCODEC.
  VMAC30    41.053  Support for APAR OA62355 new TYPE30 Containers.
  VMACRMFV  41.043  Support for z/OS 3.1 RMF III variables in ZRBASI/GEI
  VMAC71    41.042  Support for z/OS 3.1 Dedicated memory variables.



==MAJOR CHANGES ADDED IN MXG 41.02, DATED Jun  5, 2023 THRU 41.038.====

ERRORS CORRECTED:

Change 41.038 -Support for CICS/TS 6.2  INCOMPATIBLE, FIELDS INSERTED,
UTILEXCL       MANY WRONG VALUES (Neg TASZIPTM, MAXTASKS 3.2 Billion)
VMAC110        but no error messages. Tested now with OPEN BETA BUILD12.
May 31, 2023  -CORRECTION for CICS/TS 6.1 with default VMAC110 but was
               ok if UTILEXCL was used to create an IMACEXCL for 6.1.
               Default VMAC110 in 41.01 and earlier was misaligned, with
               possible error message "CPUTM 10X LARGER THAN ELAPSED".
               This change is in MXG 41.02 dated Jun 5, 2023.

  VMAC7072  41.025  LARGE VALUE FOR LCPUPDTM IBM Error protected.
  VMACXAM   41.021  zVPS VSICPU misaligned, floating point error.
  VMAC102   41.016  SMF 102 IFCID 389 INPUT STATEMENT EXCEEDED error.

ENHANCEMENTS
  TYPE83    41.019  Support for TYPE 83 Subtype 7 Multi-Factor record
  TYPE113   41.033  Support for HIS SMF 113 MT Diagnostic Counters
  VMAC80A   41.036  Support new TOKDANAM values and EV944 ERROR fixed.
  VMAC102   41.035  Support for DB2 TRACE IFCIDS 411 and 412
  VMACEREP  41.034  JCL Examples to create EREP History File.
  VMAC113   41.033  Support for HIS SMF 113 MT Diagnostic Counters
  VMACNDM   41.029  Dataset NDMRT enhanced with Parameter values.
  ASMRMFI   41.028  Version 2 of ASMRMFI for SPLIT70 processing
  VMACTRMS  41.026  Support for TRMS Version 7.02 subtypes 6 and 7
  VMAC90A   41.023  Support for SMF 90 Subtype 42 BOOT VALIDATION.
  VMACRACF  41.020  New RACF Unload IRRDBU00 datasets.
  VMAC93    41.019  Support for TYPE83MF Multi Factor Authentication

==MAJOR CHANGES ADDED IN MXG 41.01, DATED Mar 24, 2023 THRU 41.015.====

ERRORS CORRECTED:
  VMACDB2  41.013  DB2 Subtype 1 EXCEEDED LENGTH if Q8STNAME length LT 8
  SASHOTFIX 41.012 SAS HOTFIX 69871 ASCII PLATFORMS REQUIRED SPLIT70.
  TYPE113  41.005  TYPE1131 for z/15 L2P variable was wrong
  TYPE89   41.004  TYPE89 variable SMF89SOLUTION ID off by 1 byte.
  TYPE99   41.001  SMF 99 Subtype 1 INPUT EXCEEDED, S99SLLN=80 not doc.
  ASMRMFX  41.003  Revision to Change 40.140 SPLIT70 and CICSIFUE.
  VMAC71   41.008  TYPE71 CSFRLSAV missing value

ENHANCEMENTS
  SPLIT70   41.011  New ASMRMFI using IBM GRBSMFR z/OS 2.5 SPLIT70
  VMACDB2   41.010  Support for DB2 V13 100/101 (COMPATIBLE, New Vars)
  VMAC102   41.010  Support for DB2 V13 102 (New IFCID 396)
  FORMATS   41.007  $MGRMIPS format updated for z/16 processor types.
  SPLIT70   41.011  New ASMRMFI using IBM GRBSMFR z/OS 2.5 SPLIT70
  ASMRMFX   41.003  Revision to Change 40.140 SPLIT 70s and CICSIFUE.
  VMAC30    41.015  More new Direct Memory (z/OS 3.1) variables added.
  SPLIT70   41.012  SAS HOT FIX 69871 on ASCII for LRECL GT 32756.
  SPLIT70   41.011  ASMRMFI using IBM BRBSMFR for LRECL GT 32756.
  VMACRMFV  41.009  New RMF III variables added Data Gatherer Pgmr Guide
  TYPE113   41.005  TYPE1131 for z/15 L2P variable was wrong
  TYPE89    41.004  TYPE89 variable SMF89SOLUTION ID off by 1 byte.
  ASMRMFX   41.003  Revision to Change 40.140 SPLIT 70s and CICSIFUE.
  TYPE99    41.001  SMF 99 Subtype 1 INPUT EXCEEDED, S99SLLN=80 not doc.
  FORMATS   41.007  MIPS values for z/16 Processor Format $MGRMIPS.
========================================================================

II.   SAS Version requirement information:

   SAS Versions
    The current version nomenclature is SAS 9.4 TS1M8 (9.4M8),
     "M8", or with options  VERSIONLONG;
      "SAS 9.4 (9.04.01M8P080520)" on z/OS
           9.4 (TS04.01M8P08052020)"  on ASCII.

     SAS V9.4 M8 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.

     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 causes JCLTEST9/TESSOTHR to ABEND, TOO MANY ARGUMENTS
                FOR COUNTW() requires SAS Version 9.2 so 9.1.3 can NOT
                safely be used for MXG. See CHANGE 41.046, Jun 21, 2023.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 41.41 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 was STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 4.04 (04.04.01.00.005305 has been tested.
      DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
      Error was introduced in 4.03.01  and 4.04.00. See Change 39.171.
      Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/

      WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
      WPS Version 4.0 reportedly fixed version 3 problems.
      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

   -Support for z16 processor data.
    SMF: Only SMF 113 records were incompatibly changed, but there is no
         execution error as only counter labels and values were changed,
         causing coefficients for the calculated variables (RMI,etc) to
         also be changed and default coefficients are changed to z16,
         You should use separate SAS steps for each processor type; MXG
         will OUTPUT only the processor type you requested in //SYSIN,
         and will skip other processor type records, so you do NOT need
         to pre-process SMF records to select processor type. You will
         want to rename one pair of datasets if you want to put them in
         the same PDB Data Library.
          For z/15 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11F %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
          and for z/16 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11G %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
         to get correct values in TYPE1131 and ASUM1131 datasets.

         MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
         40.03 for zVM.

         MXG 40.01 will ABEND due to a TYPE30 error exposed by the z16.
         with z/OS 2.5 or APAR61511.  You can correct by changing the
         line 1812 in VMAC30 from 192 to 220, or ask support for the
         current VMAC30 member with Change 40.050.

         Many other SMF and Data Gatherer records were updated in 40.04.

    RMF  ASMRMFV processes RMF III data with no errors, Change 40.068
         added some new fields. New DNG3 table support was in 40.05.


   -Support for z15 processor data.
     The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
     records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
     ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
     Support for counter changes for both models was in MXG 37.08.
        If you use MIPS in reports, the format $MGRMIPS provides the
        MIPS/MSU value for each processor; the z15 values were updated
        in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
        These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
        GRAFWRKX and TYPERMFV (RMF III).

     The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
     HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs.  Change 38.048.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

    SMF Back Levels: MXG 37.08 or later is required for both z15 & z16
         SMF 113 change, but those back level versions could fail due
         to other records changed by subsystem updates you made for the
         z16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
         exist when that back=level was created..

   The new zEDC/EADM compression hardware requires MXG 38.05 to support
   new metrics.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.
      z/OS 2.4 Compatible from SMF Manual May 2020 38.105  38.05.
      z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075  39.03.
      z/OS 2.4 Compatible RMF III PGMR Apr  1 2021 39.074  39.03.
      z/OS 2.5 Compatible from SMF     Aug 12,2021         39.06.
      z/OS 2.5 Compatible RMF III      Aug 12,2021         39.08.
      z/OS 2.5 RMF III 4 new tables    Aug 12,2021         39.08.
      z/OS 2.5 Protects Possible New 72.3 fields (40.078)  40.04.

      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15 New SMF 113 fields INCOMPAT  Nov 18, 2020        37.08
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      z15 ANAL9914 Support CH 39.006   Jan 14, 2021        39.01
      z16 NEW SMF113 values, NO ABEND  See CHANGE 40.070   40.03
      z16 MXG 38.07 OR LATER IS NEEDED.
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS/TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS/TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS/TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS/TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS/TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS/TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS/TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS/TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS/TS 3.2 Compressed Records   Nov  3, 2007        25.11
      CICS/TS 4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS/TS 4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS/TS 4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS/TS 4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS/TS 4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS/TS 5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS/TS 5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS/TS 5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS/TS 5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS/TS 5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS/TS 5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS/TS 5.3 GA date              Dec 11, 2015        33.33
      CICS/TS 5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS/TS 5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS/TS 5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS/TS 5.4 GA                   Jun 17, 2017        35.03
      CICS/TS 5.5 GA (INCOMPAT)        Jan 29, 2018        36.11
      CICS/TS 5.6 GA (INCOMPAT)        Jun  1, 2020        38.07
      CICS/TS 5.6 NEW DATA (COMPAT)    Oct  5, 2020        38.09
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Jan 11, 2020        40.01
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Sep 20, 2020        40.02
      CICS/TS 6.1 UTILEXCL/IMACEXCL OK Aug 15, 2022        40.05
      CICS/TS 6.1 VMAC110 NO IMACEXCL  May 31, 2023        41.02
      CICS/TS 6.2 INCOMPATIBLE BETA16  Sep 20, 2023        41.04
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 22, 2019        37.02
      z/VM    7.1  INCOMPAT ABEND      Feb 14, 2019        37.02
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA-BROADCOM
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 41.41.

 1. Incompatibilities introduced in MXG 41.41:

  a. Changes in MXG architecture made between 41.41 and prior versions
     that can introduce known incompatibilities.

     IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
     YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
     The error before this correction will be:
     ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 41.41:

  Dataset/
  Member    Change    Description
  ANALAVAI  41.098  Availability report can now grouped on program name
  ANALCEC   41.105  CEC Analysis new SORTBYADDS to control reports.
  ASMRMFI   41.028  Version 2 of ASMRMFI for SPLIT70 processing
  ASMRMFX   41.003  Revision to Change 40.140 SPLIT 70s and CICSIFUE.
  CICINTRV  41.087  CICINTRV now supports a ONEMINUTE value for _CICINTV
  FORMATS   41.007  MIPS values for z/16 Processor Format $MGRMIPS.
  FORMATS   41.097  CICS 6.1 dynamic storage areas not in $MGCICLO.
  JAVA      41.091  Two JAVA memory options were found needed in z/OS.
  SASHOTFIX 41.012  SAS HOTFIX 69871 ASCII PLATFORMS REQUIRED SPLIT70.
  SPLIT70   41.011  ASMRMFI using IBM BRBSMFR for LRECL GT 32756.
  SPLIT70   41.011  New ASMRMFI using IBM GRBSMFR z/OS 2.5 SPLIT70
  SPLIT70   41.012  SAS HOT FIX 69871 on ASCII for LRECL GT 32756.
  TYPE113   41.005  TYPE1131 for z/15 L2P variable was wrong
  TYPE119   41.079  TYP11906 added 5th Home Address variables.
  TYPE7072  41.071  Variable CECSER6 is added to TYPE70 and TYPE70PR
  TYPE89    41.004  TYPE89 variable SMF89SOLUTION ID off by 1 byte.
  TYPE99    41.001  SMF 99 Subtype 1 INPUT EXCEEDED, S99SLLN=80 not doc.
  UCICSCNT  41.106  CICS Utility INPUT STATEMENT EXCEEDED MNSEGCL 5
  UTILBLDP  41.068  %CLEARDB2 addition caused VARIABLE STARTHR errors.
  UTILEXCL  41.063  Protection for EXCLUDEd CICS Field 114 ABCODEC.
  UTILEXCL  41.075  UTILEXCL error introduced in Change 41.063 ABCODE
  VGETOBS   41.088  %VGETOBS sets &VGETOBS=1 if lib is on tape.
  VMAC102   41.010  Support for DB2 V13 102 (New IFCID 396)
  VMAC102   41.016  SMF 102 IFCID 389 INPUT STATEMENT EXCEEDED error.
  VMAC102   41.035  Support for DB2 TRACE IFCIDS 411 and 412
  VMAC102   41.112  DB2 SMF 102 IFCID 172 no obs, Length field zero.
  VMAC110   41.081  Support for CICS/TS 6.2 BETA16 INCOMPATIBLE inserts.
  VMAC110   41.095  CICSTRAN variable WBURISCN spelled WBIRISCN.
  VMAC110   41.113  CICS 110 SUBTYPE 1 MNSEGCL 5 INPUT EXCEEDED.
  VMAC113   41.033  Support for HIS SMF 113 MT Diagnostic Counters
  VMAC113   41.115  Updates to the CPU MF formulas for z14 and z15.
  VMAC116   41.067  DB2H Header Variables QWHCAID/QWHCOPID in TYPE116.
  VMAC119   41.064  Dataset TYP11910 UCLIPV6 was wrong, had blanks.
  VMAC123A  41.094  Support for z/OS Connect V3.0.74.0 new variables.
  VMAC26J2  41.092  Support for z/OS 3.1 SMF Manual Changes COMPATIBLE
  VMAC30    41.015  More new Direct Memory (z/OS 3.1) variables added.
  VMAC30    41.053  Support for APAR OA62355 new TYPE30 Containers.
  VMAC7072  41.025  LARGE VALUE FOR LCPUPDTM IBM Error protected.
  VMAC7072  41.111  Support for APAR OA64781 TYPE70 Variable capacity
  VMAC71    41.008  TYPE71 CSFRLSAV missing value.
  VMAC71    41.041  Correction to CSTORE which was too small.
  VMAC71    41.042  Support for z/OS 3.1 Dedicated memory variables.
  VMAC74    41.052  BMC CMF Only Subtype 9 INPUT STATEMENT EXCEEDED.
  VMAC74    41.064  TYPE74CA storage variables CSCONF+ are GB not MB.
  VMAC80A   41.036  Support for TOKDANAM values and EV944 ERROR fixed.
  VMAC90A   41.023  Support for SMF 90 Subtype 42 BOOT VALIDATION.
  VMAC93    41.019  Support for TYPE83MF Multi Factor Authentication
  VMAC98    41.049  SMF 98 CICS Subtype 1024 ABEND, only ST 1 supported
  VMAC99    41.066  SMF 99 Subtype 9 INPUT EXCEEDED, ERROR IN SMF MANUAL
  VMAC99    41.090  TYPE99_6 variables SERVER01-05 SERVPN01-05 wrong.
  VMAC99    41.096  Support for AI Data Section WLM AI Batch INITs.
  VMACDB2   41.010  Support for DB2 V13 100/101 (COMPATIBLE, New Vars)
  VMACDB2   41.010  Support for DB2 V13 new variables COMPATIBLY ADDED
  VMACDB2   41.013  DB2 Subtype 1 EXCEEDED LENGTH if Q8STNAME length LT
  VMACDB2   41.065  DB2 IDAA variables Q8STINSC-Q8STVLCS shifted, wrong.
  VMACDB2H  41.102  ASUMUOW merge of CICSTRAN and DB2ACCT fewer SPUN.
  VMACEREP  41.034  JCL Examples to create EREP History File.
  VMACMARS  41.099  Corrections to Hitachi Mainframe Analysis Recorder
  VMACNDM   41.029  Dataset NDMRT enhanced with Parameter values.
  VMACRACF  41.020  New RACF Unload IRRDBU00 datasets.
  VMACRACF  41.109  Support for RACF TYPEs 0141/0209/0290/02C9/0509.
  VMACRMFV  41.009  New RMF III variables added Data Gatherer Pgmr Guide
  VMACRMFV  41.043  Support for z/OS 3.1 RMF III variables in ZRBASI/GEI
  VMACSARR  41.073  SARR/CAVIEW Subtype 36 datasets now populated.
  VMACTRMS  41.026  Support for TRMS Version 7.02 subtypes 6 and 7
  VMACVIRS  41.080  Support for VIRTEL/VIRSTAT versions 640/641.
  VMACXAM   41.021  zVPS VSICPU misaligned, floating point error.
  VMXG70PR  41.107  ASUMCELP MSU variables for each CPU type added.


  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE:

====== CHANGES THRU 41.122 ARE IN MXG 41.41 DATED Jan 10, 2024 =========

Change 41.122  WPS ABENDs reading ID=79 SUBTYPE=15 RMF record which does
VMACSMF        not have an RMF Product Segment, which caused OFFRMFP to
VMACSMFL       be a missing value, and WPS failed on INPUT @OFFRMFP+40
Jan  8, 2024   due to that offset's missing value. (SAS does NOT fail.)
               The code with that INPUT statement was not in the prior
               block that executed IF NOT (ID=79 AND SUBTYPE=15) so it
               is relocated into that code block to not INPUT @OFFRMFP
               for the 79 subtype 15, while WPS investigates why they
               failed.  The error message with the USER 999 ABEND is
               "ERROR: The input record was not long enough for INPUT."
               There are thousands of INPUT @offset statements in MXG,
               where offset could be a missing value, but they are all
               protected with a test for IF NRTRIPLET GT 0 so the INPUT
               isn't executed when there is no segment. But while the
               SMF manual states the subtype 15 does NOT have a Product
               Segment, there actually is one, and the count in SMF70PRN
               is 1, so SAS tolerated the missing offset value and the
               INPUT @OFFRMFP was executed, but with incorrect alignment
               causing a large value in SMF70RAN and incorrect values in
               MVSLEVEL and PRODVERSION in the _SMF Header variables.
               Those _SMF variables are now correctly missing values.
               (Those variables are/were correct in the VMAC79 code and
               in the TYPE7915 ILRM dataset built by SAS.)

Change 41.121  During QA testing we found that sometimes a VMXGSUM with
ASUMDBDS       NEWSHIFT=Y failed looking for a variable SHIF rather than
ASUMMWNT       SHIFT if the DATETIME= var was also in the by list.
ASUMSTC        These members were all exposed, DATETIME was corrected.
ASUMVMON       From VMXGSUM documentation in comments:
TRNDVDEV         The variable "DATETIME" was never intended to be in
Dec 28, 2023     the output data set, but early on it was kept by
                 accident, and users wrote code expecting it, so it has
                 to be kept by default, but you can and should use the
                 DROPDT=YES, option to tell VMXGSUM to drop the variable
                 named "DATETIME", as it is not needed, is not a
                 descriptive name and can be confusing. ASUMDBDS
                 summarizes MONIDBDS dataset.

Change 41.120  Support for CICS Optional CMR segment variable CMDUDAT2.
IMACICMX       Note: for new variables in optional segments supported in
UTILEXCL       IMACICxx members, the new variable does not need to be in
Dec 28, 2023   VMAC110. UTILEXCL must be run to create the new IMACEXCL,
               and it is updated to add the new variable to the _VCICTRN
               macro, which is the list of all variables to be kept.
   Thanks to Ankush Dudhbavare, Ensono, USA.
   Thanks to Bob Olah, Ensono, USA.
   Thanks to Shantanu Gupta, Ensono, USA.
   Thanks to Sashank Samarth, Ensono, USA.
   Thanks to Rahul Raj, Ensono, USA.

Change 41.119  DB2 IDAA variable Q8ACTWDP was not divided by 4096 and
IMACDBNZ       was not FORMATed to TIME13.3. Q8ACNWDP was incorrectly
Dec 27, 2023   divided by 4096.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 41.118  The new code to check for backlevel FORMATS caused error
VMXGINIT       message "MGFMTVR 484" if the FORMATS library did not
Dec 27, 2023   exist even though the NOFMTERR option was enabled. This
               error message had no impact, but the message is removed.
   Thanks to Steve Estle, Peraton, USA.

====== CHANGES THRU 41.117 ARE IN MXG 41.06 DATED Dec 15, 2023 =========

Change 41.117  Failed if no libname.memnames matching the specified
VMXGCOPY       parameters with an invalid DO loop. Now detects and shuts
Dec 13, 2023   down.

Change 41.116  New z/OS 3.1 variable is added to RACF0200 dataset:
VMACRACF          USBD_PHR_INTERVAL='DAYS*PASSWORD*CAN BE*USED'.
Dec 12, 2023
   Thanks to Gaetan Martel, INTACT, CANADA.

Change 41.115  Updates to the CPU MF formulas for the z14 and z15 are
ASUM113        made because the z16 algorithm was improved in capturing
VMAC113        Finite Time so the z14 and z15 metrics are adjusted for
Dec  8, 2023   consistency.  The website http://www.ibm.com/support/
Dec 28, 2023   techdocs/atsmastr.nsf/Webindex/TC000066 has the details.
               Variables ESTFINCP & ESTSCP1M calculations were changed.
               This change was wrong in 41.06, corrected in 41.41. The
               test for version was misspelled SMF113VN2 vs SM113VN2.
   Thanks to John Burg, IBM, USA.

Change 41.114  Variable SV36RID was not kept.
VMACSARR
Dec  1, 2023
   Thanks to Steven W. Erkkila, USBANK, USA.

Change 41.113  SMF 110 SUBTYPE 1 MNSEGCL 5 RESOURCE (NOT CICSTRAN) ABEND
VMAC110        INPUT STATEMENT EXCEEDED due to 2 typos for MNR5OFFU that
Nov 29, 2023   should have been MNR5OFFW. Error introduced in 38.114,
   Thanks to Robin van Westendorp, Standard Bank of South Africa, S.A.
   Thanks to Jorge J. Quintela, Standard Bank of South Africa, S.A.

Change 41.112  DB2 SMF 102 IFCID 172 no obs because QWT02R2L length is
VMAC102        zero, now a flag that the length is in the first two
Nov 30, 2023   bytes pointed to by the QWT02R2O offset, an undocumented
               change for SMF 102 records, although previously observed
               in other DB2 SMF records.
   Thanks to Jan Tielemans, KBS, BELGIUM.

Change 41.111  Support for APAR OA64781 and OA65494 TYPE70 dataset adds
VMAC7072         SMF70MDL_VAR='MODEL*VARIABLE*CAPACITY*IDENTIFIER'
Nov 21, 2023     SMF70MVCR   ='MODEL*VARIABLE*CAPACITY*RATING'
                 SMF70NVCR   ='MODEL*VARIABLE*CAPACITY*NOMINAL'
                 SMF70ZSU_ON_ZIIP='UNWEI ZIIP*ELIGIBLE*SU*ON ZIIP'
                 SMF70ZSU_ON_CP  ='UNWEI ZIIP*ELIGIBLE*SU*ON CP'
                 SMF70JSU_ON_ZIIP='UNWEI ZIIP*ELIGIBLE*JAVA SU*ON ZIIP'
                 SMF70JSU_ON_CP  ='UNWEI ZIIP*ELIGIBLE*JAVA SU*ON CP'
                 SMF70CPE_LO     ='LOW*CPENABLE*THRESHOLD*VALUE'
                 SMF70CPE_HI     ='HI*CPENABLE*THRESHOLD*VALUE'

Change 41.110  Variable T103ERIP, Remote IP Address, in TYPE103E dataset
VMAC103        was incorrectly input, the +1 should have been +4.
Nov 21, 2023
   Thanks to Niels Oksholm, FDC, DENMARK.

Change 41.109  Support for RACF TYPE 0141/0209/0290/02C9/0509 creates
EXRAC141       five new datasets.
EXRAC209
EXRAC290
EXRAC2C0
EXRAC509
FORMATS
IMACRACF
VMACRACF
VMXGINIT
Nov 21, 2023
   Thanks to Ervin Claxon, CSX, USA.

====== CHANGES THRU 41.108 ARE IN MXG 41.05 DATED Nov 16, 2023 =========

Change 41.108  Variable SV36MED was incorrectly input as numeric but
VMACSARR       changing it to character would expose compatibility
Nov 15, 2023   issues, so now SV30MED is INPUT and kept in SARRU36.
   Thanks to Steven W. Erkkila, USBANK, USA.

Change 41.107  Dataset ASUMCELP adds variables ICFMSU IFAMSU IFLMSU
VMXG70PR       ZIPMSU and ZIPMSUHR to ASUMCELP with MSU totals for
Nov 14, 2023   each CPU Type.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 41.106  UCICSCNT utility INPUT STATEMENT EXCEEDED for MNSEGCL=5
UCICSCNT       SUBTYPE=1 Resource Record, URIMAP and WEBSVC were not
Nov 14, 2023   decoded causing misalignment, and MXGDECOM code to
               decompress SMF 110 records was not in this old utility.
   Thanks to Raymond J Smith, OPTUM, USA.

Change 41.105  New parameter SORTBYADDS lets you add variables to the
ANALCEC        by list.
Nov  6, 2023

Change 41.104  Option STOPOVER added to INFILE statements so bad record
VMXGHSM        will be identified; without STOPOVER option SAS reports
Nov  6, 2023   LOST CARD that doesn't identify the problem record.

Change 41.103  If you changed times for Daylight Savings on an active
VMXG70PR       system, a PROC MEANS could fail creating GRCAPS3 due to
Nov  6, 2023   GMTOFFTM out of order. This change moves GMTOFFTM
               to an ID statement.
   Thanks to Gennady Katsnelson, Kyndryl, USA.

Change 41.102 ASUMUOW merge of CICSTRAN and DB2ACCT could have many obs
VMACDB2H      sent to SPINUOW because the CICSTRAN SMFTIME resolution is
Nov  2, 2023  .01 seconds and QWHSSTCK resolution is .000001 seconds and
              the DELTAGMT included fractional seconds where the GMT
              offset must be in whole seconds.  Changing the  DELTAGMT
              derivation, using DELTAGMT=ROUND(SMFTIME-QWHSSTCK); gives
              the correct whole seconds, also populating the blank value
              in TRANNAME in PDB.ASUMUOW, and providing the correct DB2
              event order with or without ASUMUOW.

Change 41.101 TYPE80xx Resource Name variables RESNAME, RESNAMEx and
VMAC80A       RES25MEx were INPUT as $VARYING64 but they can be $245
Nov  3, 2023  so are now increased in TYPE8001/8009/8024/8025/8033
              datasets..
   Thanks to Bill Arrowsmith, Euroclear, BELGIUM
   Thanks to Geoff Moverley, Euroclear, BELGIUM

Change 41.100 Dataset TYPE3804 reread the first segment because OFFTHREE
VMAC38        was not updated, and the _ETY3804 statement was not inside
Oct 31, 2023  the DO loop so many observations were not output.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND
   Thanks to Mark Tomlinson, Lloyds Banking, ENGLAND

Change 41.099 Corrections to Hitachi Mainframe Analysis Recorder MAR SMF
VMACMAR       Variables MARS3CSWO MARS3CRFO now kept in MARST03 dataset
Oct 25, 2023  Dataset MARST03 variables MARS3CSWO MARS3CRFO now kept.
              Dataset MARST03 BY List added MARSSN.
             -Dataset MARST05 byte variables were not converted from KB
             -Dataset MARST05 time variables were incorrect informat and
              not multiplied by 128.
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 41.098 Availability reporting can now be grouped on program name
ANALAVAI      rather than job name to specify application groups.
Oct 24, 2023
   Thanks to Laszlo Horvath, Kyndryl, Germany
   Thanks to Thomas Tesche, Intergo, Germany
   Thanks to Attila Halacsy, Lumdru, Germany

Change 41.097  CICS 6.1 dynamic storage areas PCDSA PUDSA EPCDSA EPUDSA
FORMATS        were not included in the $MGCICLO format.
Oct 23, 2023
   Thanks to David Price, NatWest, SCOTLAND.

Change 41.096  Support for AI Data Section which exists only for periods
EXTY99AI       participating in WLM AI batch initiator management.
FORMATS        Added in z/OS 3.1, creates new TYPE99AI dataset:
IMAC99           SM992AIMODELNAME   ='MODEL*NAME*IDENTIFIER'
VMAC99           SM992AIMODELVERSION='MODEL*VERSION'
VMXGINIT         SM992AIMODELUSECASE='MODEL*USECASE'
Oct 18, 2023     SM992AIFLAGS       ='AI*FLAGS*SEE AIPRED*AISIMU'
                 SM992AIINFTIME     ='LAST*INFERENCE*DURATION'
                 SM992AIDATA0       ='LAST*INFERENCE*RESULT'
                 SM992AIDATA1       ='ACTIVE*SERVER*PREDICTION'
                 SM992AIDATA2       ='ACTIVE*SERVER*PREDICTION*ERROR'
                 SM992AIDATA3       ='CP*SERVICE*PREDICTION'
                 SM992AIDATA4       ='CP*SERVICE*PREDICTION*ERROR'
                 SM992AIDATA5       ='ZIIP*SERVICE*PREDICTION'
                 SM992AIDATA6       ='ZIIP*SERVICE*PREDICTION*ERROR'
                 SM992AIDATA7       ='MODEL*DATA*FETCH*TIME'
                 SM992AIDATA8       ='MODEL*PROCESSING*TIME'
                 SM992AIPRED='AI*PREDICTIONS*ENABLED*THIS SRVCLASS?'
                 SM992AISIMU='AI*PREDICTIONS*IN SIMULATION*MODE?'
              -AI-powered WLM batch initiator management augments WLM
               with AI to optimize the management of IBM Z workloads.
               These iteratively delivered capabilities will allow z/OS
               to intelligently predict upcoming batch workload and
               react by allocating an appropriate number of initiators.
               This is designed to optimize system resources and batch
               management, thus eliminating overhead from manual fine-
               tuning and trial-and-error approaches. AI-powered WLM
               batch management is the initial use case leveraging the
               AI Framework for IBM z/OS.

Change 41.095  CICSTRAN variable WBURISCN was incorrectly spelled as
UTILEXCL       WBIRISCN, now corrected.
VMAC110
Oct 17, 2023
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 41.094  Support for z/OS Connect V3.0.74.0 adds two variables to
VMAC123A        SM123MAJOR='CONNECT*FEATURE*MAJOR*VERSION'
Oct 16, 2023    SM123MINOR='CONNECT*FEATURE*MINOR*VERSION'

Change 41.093  Variable NAMENODE was input $24 but is $64, and this
VMACXAM        caused variables LOCATION MAP and TCPRELEASE to be
Oct 12, 2023   misaligned in XMTCPSYS dataset.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 41.092  Support for z/OS 3.1 SMF Manual changes (COMPATIBLE).
VMAC26J2       We and several customers have tested z/OS 3.1 records
VMAC30         with back levels that support z/OS 2.5 (MXG 39.08).
VMAC7072       Change 41.096 added the new AI data in TYPE99 and
VMAC79         there were other APARs in 3.1, but we expect no issues.
Oct 26, 2023  -Dataset TYPE26J2 new variables:
                 SMF26UNL='SYS_HOLDUNTIL*DATETIME'
                 SMF26DNL='SYS_DEADLINE='DATETIME
                 SMF26JTK='SYS_JOBTOKEN*SIGNATURE'
                 SMF26JT1='LOCAL*JOB*SIGNATURE*ONE'
                 SMF26JT2='LOCAL*JOB*SIGNATURE*TWO'
                 SMF26TZO='GMT*OFFSET'
               The GMT Offset is NOT exact, with values that follow the
               SMFTIME, producing values of 09:29:59.28 .03 .05 .01
               for South Australia which should be 9:30:00.00.
               SMF26UNL and SMF26DNL haven't been tested with non-zero
               and SMF26TSO is not added to them until validated.
              -Dataset TYPE30_4 TYPE30_5 TYPE30_V new variables
                 SMF30JCLID1='LOCAL*JOB8SIGNATURE*ONE'
                 SMF30JCLID2='LOCAL*JOB8SIGNATURE*TWO'
                 SMF30JCLTOKEN='IDENTIFIER*FOR THE*JOB'
                 SMF30HOLDUNTIL'HOLDUNTIL*DATETIME'
                 SMF30DEADLINE='DEADLINE*DATETIME'
              -The two changes for 26 and 30 were added by APAR OA64643.
              -Dataset TYPE72GO new variable:
                 R723CPUCRIT='SERVICE*CLASS*IMPLICITLY*CPU CRITICAL'
                 Comment added for bit 7 R723MFLG WLMBATCH AI INFUSED
              -Comment added for bit 7 for R791FLG3 in dataset TYPE791
                 and R792FLG3 in dataset TYPE792.

Change 41.091  Two JAVA memory options are found needed in z/OS CONFIGxx
ANALMSUS       for graphs with ANALMSUS and may be needed for other uses
CONFIMXG       of JAVA, even though REGION=0M was specified. JAVA
CONFIGxx       required those min and max sizes to be at least 512m,
Oct  8, 2023   or the JAVA JVM failed to load.
                JREOPTIONS=(
                 -Xmx512m
                 -Xms512m
                 -Dsun.java2d.fontpath=append:&SASHOME./
                    ReportFontsforClients/9.4
              -With the above name for the FONTs directory, SAS messaged
               that something in the fontpath was not a directory and
               failed in the ODS and EXCELDEST statements.  That error
               was because the site had changed the SAS Default value of
               NOCAPS to CAPS, which translates INPUT characters to
               upper case.  MXG hadn't previously had an issue with CAPS
               so MXG does NOT force NOCAPS.
              -However, the option NOCAPSOUT, SAS Default, z/OS only was
               forced by Change 39.144 because ODS, USS, & Linux command
               text in SASLOG messages needs to be printed in mixed case
               so support can see the exact text that was used. That
               change overlooked CONFIMXG, which is now corrected.
   Thanks to Gene Pate, Hawaii Government, USA.

Change 41.090  TYPE99_6 dataset variables SERVER01-05 & SERVPN01-05 were
VMAC99         incorrect due to misalignment.
Oct  7, 2023
   Thanks to Heimir Hauksson, Barclays, ENGLAND.

Change 41.089  Cosmetic. INVALID DATA FOR RMFSTART SMF 79 SUBTYPE 15 has
VMACSMF        no impact other than that message and a hex dump of the
VMACSMFL       SMF record and possibly 4000+ lines of a PUT _ALL_ even
Oct  4, 2023   when NOT processing type 79 subtype 15 records. The _SMF
               macro decodes the SMF Header and many Product Headers
               and it expected all RMF records have a Product segment,
               but the RMF 79.15 is documented that it doesn't, and the
               MXG logic in VMAC79 for the actual decode of the full
               79.15 record knows there isn't one, skipping that INPUT.
               Now, the _SMF Header logic also skips that INPUT.
   Thanks to Brian Sanger, Barclays, ENGLAND.
   Thanks to Lalit Patil, Barclays, ENGLAND.
   Thanks to Heimir Hauksson, Barclays, ENGLAND
   Thanks to IBM Support whose time I wasted as this was an MXG error.

Change 41.088  For CICS CMF 110 SUBTYPE=1 MNSEGCL=1 Dictionary Records,
ASMDICTS       ASMDICTS is a USER2 EXIT to IBM's IFASMFDP or IFASMFDL
ADOCDICT       "SMF DUMP" programs that selects only the Dictionary
JCLDICTS       records, skipping the other 110 records.
Oct  3, 2023

Change 41.087  CICINTRV now supports a ONEMINUTE value for _CICINTV for
VMXGCICI       one minute statistics interval in CICINTRV dataset.
Sep 22, 2023
   Thanks to Naveed Jeddy, ATOS, INDIA.

====== CHANGES THRU 41.086 ARE IN MXG 41.04 DATED Sep 20, 2023 =========


Change 41.086  %VGETOBS sets these values for &VGETOBS macro variable:
VGETOBS         If the dataset does not exist, VGETOBS=0
Sep 19, 2023    If the dataset does exist, on DISK, VGETOBS= obs count,
                  so VGETOBS=0 if zero or the actual count of obs.
                If the dataset does exist, on TAPE, and has two+ obs,
                  VGETOBS=1.
                If the dataset does exist, on TAPE, zero obs, VGETOBS-0.
                Note that finding the size of a dataset on a tape data
                library requires reading the full tape until SAS finds
                the dataset of interest, so this change to find that a
                tape data set actually has observations can increase the
                elapsed runtime significantly, and we have no solution.
                And this also applies if the access method is SEQ to
                read a SEQ dataset on disk, i.e LIBNAME PDB V9SEQ;
   Thanks to Heimir Hauksson, Barclays, ENGLAND.

Change 41.085  IBM confirms the Interval Duration in Subtype 6 and 7 of
TECHNOTE       the TYPE 119 records can be either less than or greater
TYPE119        than the actual SMF Interval and they will not fix it.
Sep 19, 2023   The problem is that the STARTIME calculation depends on
               the correct DURATM, and when the duration is less than,
               the STARTIME is in a different 15 minute interval.
                STARTIME=900*FLOOR((STARTIME+1)/900); WILL CORRECT.
               but MXG won't use that and will preserve original values.
   Thanks to Jorge Fong, City of New York, USA.

Change 41.084  Syntax error, single % where double %% is needed.
ASUMMSUS
Sep 19, 2023
   Thanks to Gene Pate, Hawaii Government, USA.

Change 41.083  ARRAY RANGE EXCEEDED error with more than 256 SYSTEMs in
VMAC7072       the SMF file.  Limit increased to 1024.
Sep 17, 2023
   Thanks to Robert Olah, Ensono, USA.

Change 41.082  New initialization messages if the FORMATS library had
VMXGINIT       not been created or if the FORMATS were not created by
Sep 16, 2023   the current version. This WARNING removed Change 42.046.

Change 41.081  Support for CICS/TS 6.2 BETA 16 INCOMPATIBLE.  Inserted
VMAC110        new variable TCLSTSKS='ACTIVE +*QUEUED TASKS IN TRANCLASS
UTILEXCL
Sep 15, 2023

Change 41.080  Support for VIRTEL/VIRSTAT records, incompatibly changed
VMACVIRS       in version 640/641.
Sep 14, 2023
   Thanks to Ervin Claxon, CSX, USA.

Change 41.079  Variable GEIFLG22 could be wrong, typo lost end comment.
VMACRMFV       Format CPUPHYAD CAN NOT BE FOUND when ZRBCPU has 0 obs?
Sep 14, 2023   Add ZRBCPU to ASMRMFV selection and/or Contact Support.
   Thanks to Heimir Hauksson, Barclays, ENGLAND.

Change 41.078  ERROR: FOLLOWING COLUMNS WERE NOT FOUND: FILEREF XENGINE
VMACSMF        in the PROC SQL in %MACRO SMFFTP execution in VMACSMF was
Sep 14, 2023   found ONLY because there was an innocuous SAS Note
                 THE SAS OPTION CATCACHE WAS SET TO 0 BECAUSE SAS OPTION
                 MINSTG (MINIMUM STORAGE IS ON) that prevented those
                 columns from being created in the PROC SQL view of
                 DICTIONARY.EXTFILES.

Change 41.077  Corrected MIPS calculations. Only a problem if the LPAR
ANALCEC        was not capped and the available MSU/MIPS were missing
Sep 12, 2023   values.

Change 41.076  Dataset Label TYPE71 corrected to 'RMF PAGING ACTIVITY'.
VMAC71         Starting in MXG 37.37, when TYPE71 was sorted, label was
Sep  8, 2023   TY71: deaccumulated dataset label.
   Thanks to Raymond Smith, OPTUM, USA.
   Thanks to Ronald W Bassett, OPTUM, USA.

Change 41.075  Change 41.063 corrected error in created IMACEXCL when
UTILEXCL       ABCODEC (second ABEND CODE) was excluded but created new
Sep  6, 2023   CPUTM 10X LARGER THAN ELAPSED error when it wasn't.
   Thanks to Daniel D. Hamiel, Nedbank, SOUTH AFRICA.
   Thanks to Graeme G. Smeda, Nedbank, SOUTH AFRICA.

Change 41.074  On WINDOWS if you are installing a new release of SAS
TECHNOTE       with STUDIO installed, you MUST disable some STUDIO
Aug 31, 2023   services. You will get an errors trying to create the
               private java runtime directory because services have a
               lock on the directory. From Windows Command Box, enter
               SERVICES.MSC and scroll to find SAS and stop these tasks:
                  SASStudioSpawner
                  SASStudioWebAppServer

Change 41.073  Support for Subtype 36 SARR (CAVIEW) SMF Record populates
VMACSARR       SARRU36 SARRT36 and SARRI36 datasets which previously had
Aug 29, 2023   zero observations.
   Thanks to Steven W. Erkkila, USBank, USA.
   Thanks to Troy Wegener, USBank, USA.

Change 41.072  CICS/TS 6.2 will suppress SMF records with zero-counting
TECHNOTE       fields in these type of statistics  (SMF 110 Subtype 2):
Aug 23, 2023     Interval Stata
                 Perform Stats (CEMT PERFORM STAT)
                 Perform Reset (CEMT PERFORM STAT RESET)
               These types of statistics are NOT suppressed to reflect
               there was a change in stats.
                 End of day statistics
                   (so zero-count ones will appear in SMF once a day).
                 Unsolicited statistics
                 In other types of statistics records just after the
                   resource is being created in CICS (to reflect the
                   change in stats.
               This suppression is automatically enabled with no toggle.
               -One region, 500,000 transactions, 97% not being used.
                 -75.8 MiB SMF data for transaction statistics DFHXMRDS
                 -saved per day.
               -One region, 500,000 programs with 70% not used.
                 -40 MiB SMF data for Program Usage stats (DFHLDRDS)
                  savings per interval

Change 41.071  Variable CECSER6 is added to TYPE70/TYPE70PR/RMFINTRV for
VMAC7072       z/OS and to XAMSYS for Velocity.
VMACXAM          CECSER  ='CEC 4 DIGIT*SERIAL NUMBER*OF THE CEC'
VMXGRMFI         CECSER6 ='CPC 6 DIGIT*SERIAL NUMBER*OF THE CPC'
Sep 12, 2023
   Thanks to Douglas C Walter, CITIGROUP, USA.

Change 41.070  Dataset TYP11906 arbitrarily kept only 4 Home Address but
VMAC119        site has 5 so two new variables (IFADDLIx5) are added.
Aug 15, 2023
   Thanks to Karl Lasecki, Chemical Abstracts, USA.

====== CHANGES THRU 41.069 ARE IN MXG 41.03 DATED Aug 11, 2023 =========

Change 41.069  MXG 41.03 Early Adopter ONLY.  Missing asterisk caused
UTILEXCL       errors in the created IMACEXCL.
Aug  9, 2023
   Thanks to John Compton, Altair, UK

Change 41.068  %CLEARDB2 inserted by prior (unreleased) change 41.062
UTILBLDP       caused STARTHR NOT FOUND in MOBWRK02.
Aug  7, 2023

Change 41.067  DB2H Header variables QWHCAID and QWHCOPID were increased
VMAC116        to $128 but VMAC116 also inputs both variables, but only
Aug  2, 2023   length $8.  If DB2 and 116 are processed together and the
               first reference is 116 - UTILBLDP(USERADD=116 DB2) - then
               the DB2 variables were truncated.  Both variables are now
               set to $128 length in VMAC116 to protect the DB2 values.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY

Change 41.066  SMF 99 Subtype 9 INPUT STATEMENT EXCEEDED because the SMF
VMAC99         manual showed length of 5 for field at offset 91 in the
Jul 28, 2023   channel path data entry section but length is only one as
               the next offset in the manual is 92.  There was also an
               INVALID DATA FOR S999CHNR because it's PIB.1. was missing
               the second period, and the INPUT statement was missing
               S999FLG1 AND S999FLGS, which are now added to the dataset
               TYPE999I. The record also looks invalid as all fields
               after S999FLGS are hex zeros.
   Thanks to Mayank Vyas, ATOS, ???

Change 41.065  MXG 41.01 and 41.02, IDAA variables Q8STINSC to Q8STVLCS
VMACDB2        in lines 12303 to 12334 were shifted right beyond column
Jul 28, 2023   72, truncating the */ end of comment, which caused wrong
               values but no error.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 41.064  Dataset TYP11910 variable UCLIPV6 was wrong, containing
VMAC119        blanks ('20'x or '40'x) for the first five segments for
Jul 27, 2023   Local IP addresses that were not IPV6 because the wrong
               "High" bits variable was used in its calculation.
   Thanks to Miguel Fco. Monferrer Carvajal, ITNOW, SPAIN.

Change 41.063  REPLACED BY CHANGE 41.075.
UTILEXCL       If CICS field 114 ABCODEC is EXCLUDEd but 113 ABCODEO is
Jul 26, 2023   not, IMACEXCL wasn't aligned and you will likely get
                 ERROR.VMAC110 CPUTM 10X LARGER THAN ELAPSED and the
                 value in MCTSSDRL in that message is 4 less than
                 COL-SEGSTART.  Change 38.113 originally circumvented.
               This change detects the EXCLUDEd ABCODEC and sets macro
               variable MXGCICSABCODELN=4 to correct the MXG error.
               By default, UTILEXCL creates variable ABCODE $EBCDIC8.
               from the two 4-byte fields ABCODEO and ABCODEC 113/114,
               but if only ABCODEO 113 exists, that INPUT statement
               needed to be ABCODE $EBCDIC4.
   Thanks to Paul Beesley, ATOS, UK.

Change 41.062  Modified to check the value of LRGLRECL and if gt 32760
UTILBLDP       and you have asked for BUILDPDB with CICS DB2 or you are
Jul 22, 2023   using USERADD to read 110 or DB2 data without the CICS
               INFILE exit on zOS LRGLRECL is set to 32760 with:
                MXGNOTE: LRGLRECL MODIFIED FROM &LRGLRECL TO 32760;
               If DB2 data is being processed issues %cleardb2 before
               reading data.

Change 41.061  Previously, use of ENCODING=EBCDIC1047 could cause wrong
VMXGINIT       values and ENCODING=OPEN_ED-1047 was required to resolve,
Jul 18, 2023   as was documented in Change 37.267, but that is no longer
               true, the same values are created with either ENCODING.
               This change removes the ERROR message for EBCDIC1047 and
               only prints the ENCODING value when MXGDEBUG is enabled.

Change 41.060  SORTS added to correct ERROR: BY VARIABLES WORK.GETCPA,
ANALMSUS       that only occurred when multiple CECs data was analyzed.
Jul 17, 2023
   Thanks to Robert Hamilton, Fifth Third Bank, USA.

Change 41.059  Total lines added to reports 7 and 8 and new report 9
UTILRMFI       added that compares control and report class CPU times.
Jul 13, 2023   If total line on report 9 does not match between control
               and report classes you cannot use report class to define
               workloads.

Change 41.058  Blank or missing values for QWHCxxxx variables in the DB2
VMAC102        T102Snnn trace datasets can be due to the absence of the
Jul 14, 2023   Correlation Header, which is optional:
                  The DB2 manual  on "start trace", specifies:
                  If you omit the TDATA option, correlation headers and
                  distributed headers (if present) are included by
                  default. However, I changed my command from:
                   START TRACE(STAT) DEST(SMF) IFCID(412) CLASS(11)
                  To:
            -START TRACE(STAT) DEST(SMF) IFCID(412) CLASS(11) TDATA(COR)
                  And I am getting the data I expect.
   Thanks to Robert Hagle, State Farm, USA.

Change 41.057  Variable QBACSYIT was not divided by 1E6 in the DB2ACCTP
VMACDB2        dataset.
Jul 11, 2023
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 41.056  Variable PCTMVSBY was not created in PDB.ASUMCELP.
VMXG70PR       ANALCEC now recognizes the system is under z/VM.
Jul  5, 2023
Jul 17, 2023
   Thanks to Naveed Jeddy, ATOS,

Change 41.055  No code change, example added:
UTILBLDP       EXAMPLE 24.
Jul  4, 2023    BUILDPDB suppresses DB2 and CICS. Add 38, LLA, X37,
                FTP, and TCP. Defer PDBAUDIT. Run ASUNSMFI ASUMJOBS.
                After UTILBLDP run ASUMMIPS and %INCLUDE YOUR OWN CODE.
                Finally, run PDBAUDIT.

Change 41.064  TYPE74CA storage variables CSCONF CSAVAIL CSPINNED CSOFFL
VMAC74         CNCONF and CNPINNED were displayed as MB but they are GB.
Aug  1, 2023   Originally documented in KB when R745SFT=1, now IBM sets
               R745SFT=2 but the values are still in KB with either 1/2.
               MXG now multiplies by 1024 for either value in R745SFT.
   Thanks to Shivang Sharma, ENSONO, USA.

Change 41.053  Support for APAR OA62355 which adds new TYPE 30 Container
BUILD005       section, adding these variables to TYPE30_4 TYPE30_5
BUIL3005       and PDB.STEPS:
VMAC30           SMF30_CONTAINER_ID    $EBCDIC64. /*CONTAINER*ID*/
Jul  1, 2023     SMF30_CONTAINER_QUAL  $EBCDIC32. /*CONTAINER*QUALIFIER*
                 SMF30_POD_ID          $EBCDIC64. /*POD*ID*/

Change 41.052  BMC CMF, TYPE 74 SUBTYPE 9 INPUT STATEMENT EXCEEDED only
VMAC74         if a PCIE Function was CONFIGURED online or offline.
Jun 29, 2023   Corrected by BMC APAR BQM1865 (available in May 2023).
               The reconfiguration record created a PCIE Function ID
               segment that did not have a matching Sync I/O segment but
               R749SION was not a zero.
   Thanks to Raymond J. Smith, OPTUM, USA.

Change 41.051  Variable WBIRISCN was misspelled in UTILEXCL as WBURISCN.
UTILEXCL       Variable WBJSNRPL was misspelled in VMAC110 as WBJBNRPL.
Jun 29, 2023

Change 41.050  Previously, only ID=102 SMF records had Subtype GT 255,
FORMATS        and MXG protected that ID, but now, SMF 98 records with
VMACSMF        subtype 1024 & 1025 exposed an ancient circumvention for
Jul  2, 2023   for a bad MIM record that had only a one byte subtype.
               That MXG fix input only MIM's first byte, but that one
               byte input now, with subtype GT 255, incorrectly makes
               the subtype value wrong, to a 4 for 1024/1025 or to 127
               for a subtype of 32767.  This change removes that code
               and now, subtypes 0 to 32767 are now correctly input.
               HOWEVER, the large subtypes impact the calculated value
               of the ANALID reporting variable SMFIDSUB that has only
               three subtype positions (098.001), creating an unexpected
               value of 99.024 for the ID 98 Subtype 1024 record!
               Fortunately, all of the ANALID reports use the $MGSMFID
               format for printing SMFIDSUB, so adding an entry for
               ' 99.024'='098.1024' now displays the expected value,
               avoiding a risky revision of the SMFIDSUB creation logic.

Change 41.049 -WIC SMF 98 CICS Subtype 1024 ABEND, INPUT STATEMENT WAS
EXTY98B1       EXCEEDED because only the Subtype 1 was documented in the
EXTY98B2       SMF Manual. Now, the z/OS Workload Interaction Correlator
EXTY98EX       CICS 1024 WIC (an IBM Priced Product) is documented in
EXTY98JB         HTTPS://WWW.IBM.COM/DOCS/EN/CICS-TS/5.6?TOPIC=CAEZWIC-
IMAC98           DATA-FIELDS-SMF-TYPE-98-SUBTYPE-1024-RECORDS
VMAC98         and this change creates four new datasets from the 1024.
VMXGINIT         DDDDDD   DATASET   DESCRIPTIONS
Jun 26, 2023     TY98B1   TYPE98B1  CICS BUCKET 1
Jun 26, 2023     TY98B2   TYPE98B2  CICS BUCKET 2
Jul  2, 2023     TY98EX   TYPE98EX  CICS EXCEPTIONAL INDEX
                 TY98JB   TYPE98JB  CICS EXCEPTIONAL JOB
   Thanks to Harald Seifert, HUK-COBURG, GERMANY

Change 41.048 -Cleanup of datasets that were left in //WORK after SORTs:
ANALID          VMAC7072:
ASUMMIPS          Delete WORK.TYPE70PR in _STY70.
BUILDPDB          Delete WORK.TYPE70 WORK.TYPE72GO in _STY72GO
BUILDPD3        ASUMMIPS:
VMAC7072          Delete RMF70SUM RMF72SUM SMFSUM.
Jun 25, 2023      ASUMMIPS is now defined as a %MACRO so that you can
                  invoke only %ASUMMIPS; instead of having to specify
                  _RMFMIPS and _SMFMIPS. There is a single parameter
                  REPORTS= with a default of ALL which will run both.
                  REPORTS=RMF will run _RMF and REPORTS=SMF _SMF.
                ANALID:
                  Delete SMFRECST.
              -New TYPE30CP and TYPE30NP output to PDB in BUILDPDB/PD3.
              -MXG 41.01 Only. SMF70MTTT wasn't DIF()'d missed semicolon

Change 41.047  The selection order for //SOURCLIB DD is from the FIRST
TECHNOTE       DSNAME in the concatenation, but the selection order for
Jun 23, 2023   //CONFIG DD is the LAST DSNAME in the concatenation.

Change 41.046  ERROR 72-185 COUNTW HAS TOO MANY ARGUMENTS with SAS 9.1.3
TECHNOTE       signals the death of that ancient version for MXG use.
Jun 20, 2023   The third argument was not added until SAS Version 9.2.
               Fortunately, only six ancient (2013) Websphere Flat File
               processing members VMACXD-fg/ns/sp/ss/ti/ts have the 3rd
               argument, but they do cause JCLTEST9/TESSOTHR to ABEND.

Change 41.045  CICSEXCE Exception Records are only written for ABENDING
TECHNOTE       tasks, so transactions that have long wait delays, but do
Jun 20, 2023   run (i.e., socket wait that eventually clears) won't have
               observations.

Change 41.044  SMF Type 30s with SRVCLASS=SYSOTHER can be created by the
TECHNOTE       Veloci-Raptor product documented in their note:
Jun 14, 2023     There is a very brief period of time during mode switch
                 or during a policy activation where SRM and WLM control
                 blocks are still being created. If SMF writes type 30
                 records during this time when the control blocks are
                 not present, it will record the address space as being
                 associated with service class SYSOTHER.  So even if an
                 installation fully classifies all work, that site might
                 see an occasional job associated with SYSOTHER in 30s.

Change 41.043  Ten Dedicated Memory variables are added to ZRBASI.
VMACRMFV       Four Dedicated Memory variables are added to ZRBGEI.
Jun 12, 2023   These fields are new in z/OS 3.1.

Change 41.042  Twelve sets of MIN/MAX/AVG Dedicated Memory variables are
VMAC71         added (new in z/OS 3.1) to TYPE71 dataset.
Jun 10, 2023

Change 41.041  SMF71GFX (MAX TOTAL 2GB FRAMES CAN BE USED) is added into
VMAC71         CSTORE replacing incorrect SMF71GRX (MAX 2GB PAGES FIXED)
Jun  7, 2023   which caused CSTORE to be too small.
   Thanks to Ann Knapik, Progressive, USA.

Change 41.040  Dino Software's Veloci-Raptor subtype 5-6 and 16-21 have
EXVELO00       only the header thru DSNAME decoded so all are output in
IMACVELO       new VELOST00 dataset with VELBUBTY format
VMACVELO
VMXGINIT
FORMATS
Jun  7, 2023
   Thanks to Philip E. Barchat, Broadridge, USA.

Change 41.039  MXGDEBUG new option MACRO sets MPRINT SYMBOLGEN MLOGIC
VMXGINIT       options and will display the ENCODING OPTION in effect of
Jun  6, 2023   MXGDEBUG is non-blank.

====== CHANGES THRU 41.038 ARE IN MXG 41.02 DATED Jun  5, 2023 =========

Change 41.038 -Support for CICS/TS 6.2  INCOMPATIBLE, FIELDS INSERTED,
UTILEXCL       MANY WRONG VALUES (Neg TASZIPTM, MAXTASKS 3.2 Billion)
VMAC110        but no error messages. Tested now with OPEN BETA BUILD12.
May 31, 2023  -CORRECTION for CICS/TS 6.1 with default VMAC110 but was
Jun  4, 2023   ok if UTILEXCL was used to create an IMACEXCL for 6.1.
               Default VMAC110 in 41.01 and earlier was misaligned, with
               possible error message "CPUTM 10X LARGER THAN ELAPSED".
               This change is in MXG 41.02 dated Jun 5, 2023.
               June 4 "cosmetic"  updates previously overlooked:
               Variables now KEPT in CICSTRAN:
                  WBJSNRPL
               Variables added to compiler faker (only to prevent an
               "uninitialized variable" note if excluded):
                  ASFTCHTM=.; ASRMATTM=.; WMQASRTM=.;
                  ASFTCHCN=.; ASRMATCN=.; WMQASRCN=.;
                  WBJSNRPL=.;
                Variables formatted TIME16.6:
                  ASFTCHTM ASRMATTM WBSVINTM WBURIOTM WBURIRTM
                  WBURISTM WMQASRTM

Change 41.037  Dino Software's Veloci-Raptor datasets were misaligned
VMACVELO       after the header DSNAME field due to a 3 byte reserved
May 30, 2023   field that was not skipped.  Only subtypes 1, 2, 3 & 4
               have data fields described in the DSECT so only those
               subtypes are processed, with subtype 3 and 4 both output
               in VELOST04 pending documentation from the vendor.
   Thanks to Phillip Barchat, Broadridge, USA.

Change 41.036  Support for TOKDANAM values XUHSTORY XUTIMING XUGROUPS in
VMAC80A        TYPE80TK.
May 22, 2023   Support for EV44VAL length greater than 80 error messages
               RACF EV(44) ERROR. INVALID RACFDLNN and INPUT EXCEEDED.
   Thanks to Bheema Linga Prasad Kammara, NAB, AUSTRALIA.
   Thanks to Bhuvaneshwari Shanmugam, NAB, AUSTRALIA.

Change 41.035  Support for DB2 TRACE IFCIDs 411 and 412 creates two new
EX102411       datasets:
EX102412          DDDDDD   DATASET   DESCRIPTION
FORMATS           102411   T102S411  APPLICATION STATISTICS
IMAC102           102412   T102S412  USER STATISTICS
VMAC102
VMXGINIT
May 19, 2023
   Thanks to Rohini Bachina, FMR, USA

Change 41.034  JCL example creates EREP History File that MXG can read
VMACEREP       //UNLTAP   EXEC PGM=IFCEREP1,PARM='ACC=Y,PRINT=NO,ZERO=N'
May 16, 2023   //SERLOG   DD  DISP=OLD,DSN=SYS1.LOGREC
               //ACCDEV   DD  DISP=(MOD,KEEP),DSN=EREP.HISTORY(0)
               //TOURIST  DD  SYSOUT=*
               //SYSIN    DD  DUMMY
               //EREP     EXEC MXGSAS
               //SYSIN    DD *
               //EREP     DD  DSN=EREP.HISTORY(0),DISP=SHR
               //PDB      DD  DSN=EREP.PDB(0),DISP=SHR
               //SYSIN DD *
                 %INCLUDE SOURCLIB(TYPSEREP);
   Thanks to Tom Medland, Kyndryl, USA.

CHANGE 41.033  Support for HIS SMF 113 MT Diagnostic Counters in dataset
ASUM113        TYPE1131 and ASUM1131 for z/OS.
VMAC113
May 12, 2023
   Thanks to David Cogar, Wells Fargo, USA.

CHANGE 41.032  Format MG099PT created for variable S99CCCCPT to identify
FORMATS        the processor type, CP or ZIIP.  Labels changed to
VMAC99            S99CPUA   ='MVS*CP*PERCENT*BUSY'
May  9, 2023      SMF99_SUPA='MVS*ZIIP*PERCENT*BUSY'
               and format for SUPA now matches CPUA 5.1.
    Thanks to Joe Faska, DTCC, USA.

CHANGE 41.031  Some tests for FOCVER=560 for VSAM records were found to
VMAC112        apply to FOCVER=550, causing UNKNOWN SUBSUBTYPE FFFF
May  5, 2023   message and no output.
   Thanks to Murikipudi Devanand, ALLSTATE, USA.

CHANGE 41.030  If you did not execute the _SUOWSPN macro you got a
VMXGUOW        DATASET NOT FOUND error for SPIN.SPINUOW.  NODSNFERR and
May  5, 2023   NOVNFERR are now set at top of VMXGUOW and reset at end.
   Thanks to Andy Mashburn, Trustmark, USA.
   Thanks to Laura Bridges, Trustmark, USA.

CHANGE 41.029  Dataset NDMRT enhanced with 9 Parameter Value variables,
VMACNDM        and 9 length of parameter values:
May  3, 2023     NDMRTPAR1='PARM*ONE'
Jul 27, 2023     NDMRTPAR2='PARM*TWO'
                        ...      ...
                 NDMRTPAR9='PARM*NINE'
                 NDMRTPARLEN1='LENGTH*OF*PARM*ONE'
                 NDMRTPARLEN2='LENGTH*OF*PARM*TWO'
                           ...                ...
                 NDMRTPARLEN9='LENGTH*OF*PARM*NINE'
                 NDMRTPARCT='COUNT*OF*PARMS'
   Thanks to Kerry L. Turk, FMR, USA.

Change 41.028 -Version 2 of ASMRMFI for SPLIT70 processing.
ASMRMFI       -GRBSMFR found to be leaving the reassembly area from
JCLRMFI        the RSQ=1 "broken" (split) record of the set of records
JCLRMFIL       used to reassemble long record.  To prevent the long
May  7, 2023   record from being detected as a "broken" record, the
               reassembly triplet will now be zeroed out for 7x
               records longer than 32767  bytes.
              -SYSPRINT added with identification and maintenance
               levels and summary statistics showing basic counts of
               records processed and actions performed.
              -Return/reason code detection for records not converted
               to "current" added.
              -For Diagnostic S0C1 abends R15 now points to GRBSMFR
               answer area.
              -JCLRMFIL had invalid refer-back.

CHANGE 41.027  The _SMF header macro now populates VMSYSTEM, CPUTYPE,
VMACSMF        PRODCMF and RMFSTART, to enhance the use of _SMF for the
VMACSMFL       selection of SMF records to be read and reported, using
May  15 2023   %LET MACFILE= %QUOTE ( IF whatever ) ; for selection.

CHANGE 41.026  Support for Seasoft TRMS Version 7.02 new subtype 6 and 7
EXTRMS06       and new variables including decoding S05KEY. Datasets:
EXTRMS07        DDDDDD     DATASET   DESCRIPTION
FORMATS         TRMS06     TRMS06    TRMS REPORT RESTORE
IMACTRMS        TRMS07     TRMS07    TRMS REPORT TRANSFORMATION
VMACTRMS
VMXGINIT
Apr 29, 2023
   Thanks to Tom Welch, ???, ???
   Thanks to Larry Dinwiddie, Seasoft, USA.
   Thanks to Randall Evans, Seasoft, USA.
   Thanks to Hector Torres Aguilar, ATOS, MEXICO.
   Thanks to Naveed Jeddy, ATOS, INDIA.

CHANGE 41.025  LARGE VALUE FOR LCPUPDTM message revised and LCPUPDTM is
VMAC7072       set to zero when LCPUPDTM GT DURATM+60 DETECTED.  Problem
Apr 25, 2023   is under investigation, found only with LPARNAME=PHYSICAL
               in ten cases in 12,000 type 70 subtype 1 records from 40
               systems at z/OS 2.3 2.4 and 2.5.

CHANGE 41.024  CPCMSU was not carried into GROUP level datasets and
VMXG70PR       caused an unitialized message. If you had multiple
Apr 25, 2023   systems with different GMT offsets it could fail with
               data out of order because BY list was different for
               the PROC SORT than the following PROC MEANS for the
               GRCAPS2.

Change 41.023  Support for SMF 90 Subtype 42 BOOT VALIATION records
VMAC90A        creates three datasets
IMAC90A           DDDDDD   DATASET   DESCRIPTION
FORMATS           T9042A   TYP9042A  BOOT VALIDATION AUDIT
VMXGINIT          T9042B   TYP9042B  BAD BOOT CERTIFICATE
EXT9042A          T9042C   TYP9042C  BOOT VALID CERT EXTRACT
EXT9042B       APARs OA62783 and OA63507 create the new subtype.
EXT9042C
Apr 25, 2023

Change 41.022  Variable SMFTIME is not kept in TYPE30_1, TYPE30_4, and
TECNOTE        TYPE30_5 datasets because it is stored in the variables
Apr 15, 2023   JINTTIME in 30_1, TERMTIME in 30_4 and JTRMTIME in 30_5.
   Thanks to Phil J. Grasser, NSCORP, USA.

Change 41.021  MXG code to process Velocity Software zVPS VSICPU data
VMACXAM        was misaligned causing very large (E75) values that were
Apr 14, 2023   not detected when the dataset was created, but caused
               Floating Point errors when a PROC COMPARE was used to
               read that dataset.
   Thanks to Raymond J. Smith, Optum, USA.
   Thanks to Ralph J. Romano, Optum, USA

Change 41.020 -Support for RACF Unload IRRDBU00 utility creates three
EXRA1210       new datasets
EXRAC20A       TYPE    DDDDDD   DATASET   DESCRIPTION
EXRAC2F0       02F0    RAC2F0   RACF02F0  EIM LDAPBIND PROFILE NAME
EXRAC530       020A    RAC20A   RACF020A  MFA FACTOR
EXRAC5E0       1210    RA1210   RACF1210  MFA FACTOR TAGS
EXRAC5H0       05E0    RAC5E0   RACF05E0  CFDEF
FORMATS        05H0    RAC5H0   RACF05H0  MFA FACTOR DEFINITION
IMACRACF       0530    RAC530   RACF0530  GEN RES SSIGNON
VMACRACF      -Record Types 0130 0208 0280 02B0 0508 are decoded into
VMXGINIT       existing datasets.
Apr 14, 2023  -Dataset RACFID now has undecoded Record Types.
               Their existing datasets had only header variables.
   Thanks to Gaetan Martel, Intact, CANADA.
   Thanks to Serge-TI Belanger, Intact, CANADA.

Change 41.019 -Support for new TYPE83MF Multi Factor Authentication
EXTY83MF       dataset from SMF 83 Subtype 7.
IMAC83        -MG080SE format (IBM ICHRUTKN) new decimal value 21 added.
VMAC83
VMXGINIT
FORMATS
Apr  3, 2023
   Thanks to Andre Gustavo Moretto, Kyndryl, USA.

Change 41.018  If you want to see/use the actual byte values for MGBYTES
FORMATS        formatted variables, for example to download to a CSV and
Mar 31, 2023   plot with EXCEL, you can create this temporary format:
                  PROC FORMAT; VALUE MGBYTES;
               to replace MXG's MGBYTES format.  The temporary format
               will only be used for the step/session with PROC FORMAT.

Change 41.017  If you wanted a report of INITs by SYSTEM, it failed
ANALINIT       because JOBCLASS was hardcoded in some &SORTBY code.
Mar 30, 2023   Code was revised to support multiple &SORTBY values.
   Thanks to Jim S. Horne, Lowe's, USA.

Change 41.016  DB2 SMF 102 IFCID 389 variable QW0389FF added causing MXG
VMAC102        INPUT STATEMENT EXCEEDED error.  Now alignment corrected.
Mar 30, 2023
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

====== CHANGES THRU 41.015 ARE IN MXG 41.01 DATED Mar 24, 2023 =========

Change 41.015  More new Direct Memory (z/OS 3.1) variables were added to
VMAC30         the initial list in Change 40.087.  The full set of new
Mar 21, 2023   variables are these:
                S30DMREQUESTED2G S30DMMINREQUESTED2G S30DMASSIGNED2G
                S30DMINUSEAS2G S30DMINUSEASFIXED1M
                S30DMINUSEASPAGEABLE1M S30DMINUSEAS4K
                S30DMINUSEASDATTABLES S30DMINUSEAS4KHWM
                S30DMINUSEASPAGEABLE1MHWM S30DMINUSEASFIXED1MHWM
                S30DMINUSEASDM2GHWM S30DMINUSEASDATTABLESHWM
                S30DMINUSEHWM S30DM2GFAILED S30DM1MFAILED S30DM4KFAILED
                S30NUMINUSEAS2GHWM S30NUM2GFAILED S30DMINUSEAS2GHWM
                S30DM2GNOTAVAIL S30OBTAINSHOMESPACE
                S30IARV64OBTAINHOMESPACE S30FRAMESFIRSTREFERENCEBACK
                S30SUMREAL1M S30SUMSQUARESREAL1M S30NUMSAMPLES
                S30HWMHVREAL1M

Change 41.014 -Variables P0RCDI and P1RCDI are now correctly FORMATTED
VMACBVIR       as HEX4 instead of MGBYTES and removed from &MXGBYLN.
Mar 21, 2023  -Variable MAXAHCT was INPUT one byte too soon, +1 added.
   Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.

Change 41.013  INPUT STATEMENT EXCEEDED for DB2NETZA Q8ST IDAA SMF 100
VMACDB2        SUBTYPE 1 DB2NETZA records, due to MXG error in heuristic
Mar 19, 2023   calculation of the offset to the next segment, BUT ONLY
               if variable length field Q8STNAME is Less than 8 bytes.
               This is not new MXG code and only one site so far has
               seen the error and all prior test data did have 8 bytes.
               You can circumvent the error with
              %LET MACFILE= %QUOTE(IF ID=100 AND SUBTYPE=1) THEN DELETE;
               in your SYSIN, or ask MXG Support to email the VMACDB2.

               The site with this error is not actually using NETEZZA
               and I'm asking IBM for help in understanding why the Q8ST
               segment is created, can it be disabled, and where the
               installation defines that character field and its length.

               The LENQ8ST length of segment field is INPUT before the
               loop so it is not updated for each instance of the Q8ST
               segments. It was 897 for all three segments, but the hex
               dump shows that they are 897, 900 and 900 bytes long.
               Those wrong LENQ8ST values and the Q8STNAMELEN length of
               QBSTNAME were used in MXG's heuristic calculation of the
               location of the next segment, but that code was WRONG if
               QBSTNAMELEN was NOT 8 bytes, causing the OFFQ8ST location
               of next segment to be mis-aligned; the MXG calculation
               logic error was also assisted by the undocumented 2-byte
               field found after the Q8STNAME field.

               That undocumented 2-field after the QBSTNAME field may
               have been an IBM attempt to provide the actual LENQ8ST
               for each segment, but its value is wrong, containing 898
               (+2=900) in the first two segments when it should have
               been 895 (+2=897) and 898 (+2=900). It has a value of 116
               in the last segment, but that is not used as there is no
               next segment, and there are 133 undocumented bytes after
               it, and none of the other triplets point to that area.

               Q8STNAME is the Accelerator Server Identifier and you can
               verify the non-8 value in QBSTNAMELEN variable in the log
               in the PUT _ALL_ after the hex dump if you get the ABEND.
   Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.

Change 41.012 -SAS Support for SPLIT70 LRECL GT 32760 Windows and Unix.
SASTECH        Changes 40.140 40.150 150A 150B 41.003 and 40.011 require
SPLIT70        SAS HOT FIXES in SAS Note 69871 for ASCII Platforms.
Mar 10, 2023    A fix for this issue for Base SAS 9.4_M8 is available at
         https://tshf.sas.com/techsup/download/hotfix/HF2/L8X.html#69871
                A fix for this issue for Base SAS 9.4_M7 is available at
         https://tshf.sas.com/techsup/download/hotfix/HF2/I9R.html#69871
               -MXG (i.e. SAS) can read VBS records with LRECL greater
                than 32K. However, IBM reassembly architecture of RMF
                records (introduced in 2015 with z/OS 2.2) resulted in
                splitting the data in the original long LRECL records
                (have seen 3.7M) into records
                smaller than 32k. This splitting resulted in related
                triplet sections assumed by MXG coding to all to be in
                the same record to no longer be a valid assumption. To
                resolve the issue, reassembly of the original long
                record was developed on z/OS, but during testing of the
                reassembly process on SAS/PC, it was found that using
                RECFM=S370VBS for the output LARGE LRECL, those files
                were not being properly created. This hotfix addresses
                that issue with SAS/PC.

Change 41.011 -Addition of ASMRMFI program using IBM GRBSMFR service
ADOCRMFI       to reassemble "broken" (split) RMF (7x) long records
ASMRMFI        (where the LRECL is greater than 32756 bytes)
JCLASMXG      -Revision of ADOCRMFX to include reference to ASMRMFI
JCLRMFI       - Addition of JCLRMFI assemble/link of ASMRMFI
SPLIT70       - ASMRMFI added to JCLASMXG
Mar 10, 2023

Change 41.010  Support for DB2 V13 new variables (COMPATIBLY ADDED).
FORMATS       -New IFCID 396 creates new T102S396 dataset which is a low
EX102396       overhead trace record for index page splits, low overhead
IMAC102        as it's only generated when elapsed time of index page
VMXGINIT       split is unusually high (GT 1 second) and provides both
FORMATS        the UR ID and data sharing member number.
VMACDB2       -Variables added to DB2ACCT AND DB2STAT5 (IFCID 369):
VMAC102          QWAC_AIDB_FNS_ELAP='ELAP TIME*SQL DATA*INSIGHTS'
Mar  6, 2023     QWAC_AIDB_FNS_CP  ='CPU  TIME*SQL DATA*INSIGHTS'
                 QWAC_AIDB_FNS_ZIIP='ZIIP TIME*SQL DATA*INSIGHTS'
                 QWAC_AIDB_COUNT    ='SQL DATA*INSIGHTS*EVENTS'
              -Variables added to DB2STAT0 and DB2STATS:
                 Q9STCTDM='CMD*DIS*ML'
                 Q9STCTSM='CMD*START*ML'
                 Q9STCTPM='CMD*STOP*ML'
                 Q9STCTDR='CMD*DISPLAY*SERVICE'
                 Q9STCTSR='CMD*START*SERVICE'
                 Q9STCTPR='CMD*STOP*SERVICE'
                 Q9STCTS1='CMD*START*CDDS'
                 Q9STCTS2='CMD*STOP*CDDS'
                 Q9STCTBL='CMD*DISPLAY*BLOCKERS'
                 Q9STCTX6='CMD*RUN*MLUTIL'
                 Q9STCTX7='CMD*DISPLAY*STATS'
                 QSSTDISYES='64-BIT DISCARDDATA*KEEPREAL'
                 QDSTNLSC='ILOS*CANCELS*CPU*CONTENTION'
                 QDSTNAKD='CURR DBATS*ACTIVE*KEEPDYNAMIC*YES'
                 QDSTMAKD='MAX DBATS*ACTIVE*KEEPDYNAMIC*YES'
                 QDSTNDBT='DBATS*TERMINATED*SINCE DDF*STARTED'
                 QDSTNTPL='DBATS*TERMINATED*IN POOL GT*POOLINAC'
                 QDSTNTRU='DBATS*TERMINATED*REUSED*LIMIT'
                 QDSTDBPQ='CURR DBATS*SUSPENCED*PROFILE*EXCEPTION'
                 QDSTMDPQ='MAX DBATS*SUSPENDED*PROFILE*EXCEPTION'
              -Variables added to DB2ACCT DB2STAT1 and DB2STATS
                 QXSTTIMEFROMAPPL='SET*CURRENT*LOCK*SQL8TIMEOUTS'
                 QXSTTIMEFROMPROF='SET*CURRENT*LOCK*PROFILE*TIMEOUTS'
              -Variables added to DB2STAT1 and DB2STATS
                 QTPCGBP ='INFREQUENT*ACCESSED DS*PHYSICALLY CLOSED'
                 QTPCUT  ='UTIL-ACCESS-ONLY*PHYSICALLY*CLOSED'
                 QTAUCNOT='PLANAUTH*CHECKS*NOT USE*PLAN AUTH CACHE'
                 QTAUCOW1='OVERWRITES*AUTHID*IN PLAN*AUTH CACHE'
                 QISTCONDLKF='FAILED*COND LOCK*DURING*INSERT'
                 QISTRETRYLK='FAILED*COND LOCK*RETRY*UNCOND'
              -Variables added to DB2GBPST
                 QBGLWX='IXLCACHE*REQ WITH*ASYNC XI'
                 QBGLSU='IXLAXISN*SYNCH-UP*CALLS'
                 QBGLAS='IXLAXISN*SUSPENDS*AWAIT XI*TO COMPLETE'
              -Variables added to DB2GBPAT
                 QBGBART ='DATA*AREA*RESIDENCY*TIME'
                 QBGBERT ='DIRECTORY*ENTRY*RESIDENCY*TIME'

Change 41.009  RMF Monitor III new data Data Gatherer Programmer Guide
VMACRMFV       GC31-5701-50 dated Feb 20, 2023
Mar  2, 2023  -Dataset ZRBLCP New Variables
                 LCPUHPPW='HDW*PROC*PMA*WEIGHT'
                 LCPUMTNL='MAX*TOPOLOGY*NESTING*LEVELS'
                 LCPUCRD1='COORDINATE*NESTING*LEVEL*1'
                 LCPUCRD2='COORDINATE*NESTING*LEVEL*2'
                 LCPUCRD3='COORDINATE*NESTING*LEVEL*3'
                 LCPUCRD4='COORDINATE*NESTING*LEVEL*4'
                 LCPUCRD5='COORDINATE*NESTING*LEVEL*5'
                 LCPUCRD6='COORDINATE*NESTING*LEVEL*6'
              -Dataset ZRBCPD new variables
                 CPDCCMC ='CHARACTERISTICS*PART'
                 CPDCCMD ='MEASUREMENT*PART'
                 CPDCCMX   ='EXTENDED*CHAN*GROUP*DATA'
                 CPDPNETID1='PNETID*ACCESS*FROM*FIRST PORT'
                 CPDPNETID2='PNETID*ACCESS*FROM*SECOND PORT'

Change 41.008  Change 40.108 caused CSFRLSAV to be missing. CSTORE was
VMAC71         revised to include SMF71GRX, and relocated after GRX had
Mar  2, 2023   been input, but CSFRLSAV was not moved and depends on the
               the value in CSTORE. CSFRLSAV moved to after CSTORE calc.
   Thanks to Bradley Leis, TELUS, CANADA.

Change 41.007  The MIPS values for the z/16 processor types were added
FORMATS        to the $MGRMIPS format.
Mar  1, 2023
   Thanks to Arnold Kim, UPS, USA.
   Thanks to Aylee ??, UPS, USA.
   Thanks to Ggail??, UPS, USA.
   Thanks to Jessica Sanchez, UPS, USA.
   Thanks to dlicamara ??, UPS, USA.
   Thanks to jrivera ??, UPS, USA.
   Thanks to Dana A McCreary, UPS, USA.

Change 41.006  The variables in dataset ZRBASI added in Change 40.085
VMACRMFV          ASI_EJST ASI_SRBT ASICPUTA_CP ASI_CP_PHTM
Feb 28, 2023   were 1000 times too small as they were incorrectly input
               with &PIB.4.6 when they should have used &PIB.4.3.
   Thanks to Graham Harris, NatWest, SCOTLAND.

Change 41.005  The test in line 1996 was corrected to SM113VN2 IN (5,6)
VMAC113        because the calculated L2P sourced-from variable was
Feb 26, 2023   non-zero in TYPE1131.  Values in ASUM1131 were correct.
   Thanks to Graham Harris, NatWest, SCOTLAND.

Change 41.004  TYPE89 variables SMF89ZNV SMF89SNF SMF80SEQ and
VMAC89         SMF89SOLUTIONID were off by one byte because a one byte
Feb 17, 2023   reserved field was not skipped.
   Thanks to Joe Faska, DTCC, USA.
   Thanks to Madison Harris, DTCC, USA.

Change 41.003 -Revisions to existing programs to reassemble "broken"
ADOCRMFX       (split) RMF records into the original long (greater
ASMMACS        than 32756 bytes) records
ASMRMFX       -Addition of two new reassembly routines:
EXITRMFX         RMFXIFUE an updated version of CICSIFUE to reassemble
JCLASMXG                  "broken" RMF records as well as decompress
JCLRMFXA                  CICS 110.1/112 and DB2 100/101/102 records for
JCLRMFXL                  110.1 decompression, RMFXIFUE now checks for
JCLRMFXS                  records too short to contain the full length
RMFXE35                   of the CICS product section and now chains
RMFXIFUE                  through the CICS product section to locate the
Feb 20, 2023              CRL field that indicates whether the record is
Mar  6, 2023              compressed. The 112 record mapping is now also
                          separate from the original single DSECT with
                          hardcoded offsets.
                 RMFXE35  a replacement for ERBPPE35 in the sample
                          RMF post-processing sort example that
                          front-ends ERBPPE35 to restore the swapped
                          fields from ERBPPE15 processing, then uses the
                          restored records to reassemble the "broken"
                          RMF records. All RMF records are written to
                          DDNAME LONGVBS to retain the processing
                          sequence while avoiding sort's record length
                          limitations.
              -Addition of assemble and link steps for RMFXE35 and
               RMFXIFUE in JCLASMXG
              -Revision of ADOCRMFX to reflect current status of RMFX
               members
              -$CHGLOG member added to ASMMACS for tracking changes
              -Revision to ASMRMFX to remove IBM RMF macros and replace
               them with custom coding of the RMF product section data
               structures
              -Addition of program structure documentation to ASMRMFX
              -Addition of EXITRMFX JCl to assemble and link RMFXIFUE
              -Addition of JCLRMFXA example of ASMRMFX use
              -Addition of JCLRMFXL example of ASMRMFX assemble/link
              -Addition of JCLRMFXS example of RMFXE35 use


Change 41.002  Dataset TYPE123C variable SM123S2_API_REQ_NAME is the
VMAC123A       same as variable SM123APISN in TYPE123A and TYPE1232 and
Feb  6, 2023   is needed for MERGEs, so variable SM123APISN is now added
               to dataset TYPE123C.
   Thanks to Wayne A. Schumack, USBank, USA.

Change 41.001  SMF 99 Subtype 1 INPUT EXCEEDED, unexpected S99SLLN=80
VMAC99         segment length when S99SLLN=104 was expected.
Feb  4. 2023
   Thanks to Naveed Jeddy, ATOS, USA
   Thanks to Vinod Kumar Panatula, ATOS, USA.
   Thanks to Ashutosh Purohit, ATOS, USA.
   Thanks to Mayank Vyas, ATOS, USA
   Thanks to PURNENDU JOSHI, ATOS, USA.


LASTCHANGE: Version 41.
=========================MEMBER=CHANGE40================================
 /* COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA */

        MXG VERSION 40.40 is  dated Feb  3, 2023, thru Change 40.162.

        MXG VERSION 40.07 was dated Jan 16, 2023, thru Change 40.154.
        MXG VERSION 40.06 was dated Oct 23, 2022, thru Change 40.134.
        MXG VERSION 40.05 was dated Aug 15, 2022, thru Change 40.101.
        MXG VERSION 40.04 was dated Jun 29, 2022, thru Change 40.078.
        MXG VERSION 40.03 was dated Jun 23, 2022, thru Change 40.077.
First   MXG VERSION 40.03 was dated Jun 15, 2022, thru Change 40.073.
        MXG VERSION 40.02 was dated May  5, 2022, thru Change 40.055.
        MXG VERSION 40.01 was dated Mar  5, 2022, thru Change 40.032.
First   MXG VERSION 40.01 was dated Mar  4, 2022, thru Change 40.031.

ANNUAL  MXG VERSION 39.39 was dated Jan  5, 2022, thru Change 39.227.

        New TECHNOTES previously in NEWSLTRS are now in CHANGESS.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 40.40 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 40.40.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains old Technical Notes. many of which are still
  valid, but the last was in 2018.  Now, TECHNOTES and FLASHes are in
  CHANGES/CHANGESS. which are also online.

  Member CHANGES contains the changes made in this current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  CHANGESS and NEWSLTRS are also online at http://www.mxg.com,

========================================================================

I.  MXG VERSION 40.40 DATED Feb  3, 2023, THRU CHANGE 40.162.

==MAJOR CHANGES ADDED IN MXG 40.40, DATED Feb  3, 2023 THRU 40.162.====

ENHANCEMENTS
  VMAC113  40.162  Support for z16 AI WAIUCPU/CAIUCPU/AIUCPU/AIUCPI
  VMAC1154 40.158  Initial Support 4 subtypes of SMF 1154 Compliance

==MAJOR CHANGES ADDED IN MXG 40.07, DATED Jan 16, 2023 THRU 40.154.====

INCOMPATIBILITY SUPPORTED
  TYPERMFX 40.150  IBM change to SMF 70.1 SPLIT records, TYPE70PR IMPACT
                   Requires REASSEMBLY of SPLIT into VBS LRECL GT 32760
                   Only sites with many LPARS & ENGINES have 70.1 splits
                   USE RMFSPLIT program to see if you have SPLIT 70.1.
                   See Change 40.150 and 40.150A for reassembly support.
ERRORS CORRECTED
  VMXGGETM 40.147  UTILGETM utility Memory Failure SAS Hot Fix 66883.
  VMACVMXA 40.141  OUT OF ORDER error sorting VXUSEACT, BY list wrong.
  VMACVMXA 40.140  RNI in VXPRCMFC was always zero, ++ syntax accepted.
  VMACCIMS 40.139  UOWTIME in CIMSTRAN wrong prevented CICSTRAN merge.
  VMACDB2H 40.138  QWHCCTKN QWHCEUID QWHCEUTX QWHCEUWN not %U Unicode.
  VMAC7072 40.137  BOOSTACTIVE=2 /*BOTH*/ was never tested.
  VMXGINIT 40.136  SAS VIYA error, blank needed after close paren.
ENHANCEMENTS

  VMAC115  40.154  Support for SMF 115 Subtype 216 creates TY115216.
  ZMAC110  40.149  Possible Update for CICS/TS 6.2, not data tested yet.
  VMAC99   40.148  Support for TYPE 99 Subtypes 9 and 10.
  ASUM70PR 40.146  ICF LPARs can be output in ASUMCELP and ASUM70LP.
  ANALCEC  40.145  New report on how LPARs on your CEC
  VMAC102  40.135  DB2 Function Level 501 revised labels new fields.

==MAJOR CHANGES ADDED IN MXG 40.06, DATED Oct 23, 2022 THRU 40.134.====

ENHANCEMENTS
  TYPE113  40.121  TYPE113 can only validly process one CPU type.
  TYPE110  40.129  Support for CICS/TS 6.1 Stat variables in CICWBG.
  TYPE110  40.129  Support for CICS/TS 6.1 new CICTLS Stat dataset.
  GRAFCEC  40.126  Support for TREND data restored.
  SMFMANUL 40.125  Updates from Sep 26, 2022 SMF Manual Refresh.
ERRORS CORRECTED
  TYPE0    40.127  Zero obs in PDB.IPL dataset for some IPLs.
  TYPE90A  40.107  Correction for TYPE9040 Boost variable SMF9040T.
  TYPE30   40.105  INTBTIME/INTETIME Missing in SMFINTRV corrected.
  TYPE7072 40.104  Variable SMF70TYP in TYPE70PR always 2:IIP.
  UTILEXCL 40.100  CICS/TS 6.1 ERROR 22-322, comma should be period.
IBM APARS
  TYPE7072 40.102  IBM APAR OA62064 corrects CPUSER/SMF70SER '5555'X.

==MAJOR CHANGES ADDED IN MXG 40.05, DATED Aug 15, 2022 THRU 40.101.====

ERRORS CORRECTED
  UTILEXCL 40.100  CICS/TS 6.1 SOFLAG SYNTAX ERROR IN CREATED IMACEXCL.
  TYPE30   40.098  MXG 40.01 only INPUT EXCEEDED,SMF30CONFOLOW invalid.
  TYPE74   40.096  TYPE749 PCIE Statistics only first bucket was output.
  VMAC119  40.086  TYP11911 variables corrected, formats updated.
  VMAC73   40.084  Invalid counters SMF73CMG=2 when CHPID was Varied.
ENHANCEMENTS
  VMXGHSM  40.099  z/OS 2.5 dataset SFSMSHSM new variables added.
  VMACVMXA 40.095  Support for z/VM 7.2 MONWRITE VXPRCMFC HIS counters.
  TECHNOTE 40.090  MXG Variables/Datasets that include RUCSA metrics.
  VMACSVIE 40.089  New variables added to SV34TRAN and SV35TRAN.
  VMAC42   40.088  Support for APAR OA59611 adds S42DS2MV
  VMAC30   40.087  Dedicated Memory variables added.
  VMACRMFV 40.085  New ZRBASI time variables added in z/OS 2.4 & 2.5.
  BUILD005 40.082  Sixty variables added to TYPE30_4 now in PDB.STEPS.

==MAJOR CHANGES ADDED IN MXG 40.04, DATED Jun 29, 2022 THRU 40.078.====

Change 40.078  MXG 39.09 and earlier fail with APAR OA61811/OA62502.
VMAC7072       due to an MXG error for SMF 72 Subtype 3 TYPE72GO that
Jun 25, 2022   failed to test for new fields after the last segment,
               which caused INPUT mis-alignment and invalid data values.

              -WE STRONGLY SUGGEST YOU INSTALL THE CURRENT MXG 40.04
               WHICH AVOIDS THE COMPLEXITY OF THE BELOW CIRCUMVENTION
               AND PROVIDES SIGNIFICANT OTHER ENHANCEMENTS AFTER YOUR .
               BACKLEVEL VERSION. PLEASE USE THE FORM AT
                  HTTPS://WWW.MXG.COM/SOFTWARE_DOWNLOAD_REQUEST

               You can circumvent this MXG error by:
                -Download files at http://www.mxg.com/downloads/

               The APAR inserted new fields in SMF 72 Subtype 3 TYPE72GO
               that exposed an MXG coding error that failed to test for
               new added fields after the last new segment, causing the
               INPUT misalignment and invalid data values to be created.

               There MAY be INVALID DATA FOR R723IFAT messages or other
               fields printed, but those are accidental and there might
               not be ANY log messages that the error occurred. And even
               if there are INVALID DATA messages, they do not set a
               CONDITION CODE, so there may be no clue on the log that
               the error occurred.

               MXG 39.39 thru MXG 40.03 correctly input the new data.
               but only this change or MXG 40.04 has the protection for
               additional new fields in any future IBM updates..
                  PTFs:  z/OS 2.3  UJ07991
                  PTFs:  z/OS 2.4  UJ07990
                  PTFs:  z/OS 2.5  UJ07989

==MAJOR CHANGES ADDED IN MXG 40.03, DATED Jun 23, 2022 THRU 40.077.====

ERRORS CORRECTED
  VGETDDS  40.075  MEMBER FROM 40.02 REPLACED FIRST 40.03 MEMBER
  VMXGSET  40.075  MEMBER FROM 40.02 REPLACED FIRST 40.03 MEMBER
  VMAC42   40.076  ERROR: SHORT 42 SUBTYPE 6 ACCESS METHOD SECTION.

ENHANCEMENTS
  VMACNDM  40.074  NDMCT new TLSVERSION variable (1.1,1.2,1.3) added.

==MAJOR CHANGES ADDED IN MXG 40.03, DATED Jun 15, 2022 THRU 40.073.====

ERRORS CORRECTED
  VMAC110  40.063  CICSTRAN variables DSAPTHTM JVMTHDTM MAXHTDTM wrong.
  VMACBVIR 40.056  Dataset BVIR302 had only half the observations.
ENHANCEMENTS
  FORMATS  40.062  TYPE119SSH KEX_METHOD and KEX_ALG $MG119KX updated.
  VMACEDGR 40.061  Datasets EDGRDEXT and EDGRXEXT updates.
  VMACRMFV 40.060  RMF III updates for ZRBRED, and FORMATS.
  BUILD005 40.057  Protection for DUPLICATE TYPE30 SUBTYPE 1 message.
NEW SUPPORT
  VMAC80A  40.059  Support for SMF 80 RACFTYPE=67 updated TYPE8081.
  VMAC90A  40.058  Support for APAR OA60660 for TYPE9040 BOOST.

==MAJOR CHANGES ADDED IN MXG 40.02, DATED May  5,2022 THRU 40.055.

  CHANGE 40.042 in MXG 40.02 is REQUIRED for CICS/TS 6.1 BETA 25+
  which removed fields from CICS 110 Records (May 2022)..
  Change 40.001 in MXG 40.01 was required for CICS/TS 6.1 BETA 22
  (March 2022) which also incompatibly changed the CICS 110 records.

  TYPE30 ABEND with MXG 40.01 with z/OS 2.5 or APAR OA61511 that
  is corrected by Change 40.050 in MXG 40.02.

ERRORS CORRECTED
  ASMRMFV  40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax (CC=08)
  ASMRMFV  40.036  Logic for ZEROLP option corrected for CPCDB.
  TECHNOTE 40.040  IBM APAR PH40410 corrects negative DB2 QPACZITM.
  TYPE0    40.039  z/OS 2.5 TYPE 0 IPL lengths 78/83 not in table.
  TYPE30   40.050  Support for OA61511 Crypto/NNPI counts in SMF 0 & 30.
  TYPE7072 40.034  TYPE70 vars SMF70PMT/SMF70PMU were corrected.
  TYPEDCOM 40.038  Reserved fields overlooked, misalignment.
  TYPERMFV 40.029  ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT
  VMXG70PR 40.035  Vars SMF70GMU/SMF70CPA/SMF70WLA missing in ASUMCELP.
  VMXGUOW  40.041  LIBNAME PDB NOT FOUND if did not ask for MQ data.

==MAJOR CHANGES ADDED IN MXG 40.01, DATED Mar  5, 2022 THRU 40.032.

NEW MXG VERSION 40.01 REQUIRED FOR CICS/TS 6.1 BETA 22.
  TYPE110  40.001  CICS/TS 6.1 BETA 22 INSERT NEW FIELD, INCOMPATIBLE.


ERRORS CORRECTED
  TYPE74   40.005  R742PUTx variables in TYPE74PA divided by 1E-6 twice.
  TYPE16   40.014  BAD SMF 16 DFSORT, JOB had S222, INPUT EXCEEDED
  TYPEVMXA 40.010  Broken Control Record ABEND z/VM 7.2.21.02.
  TYPERMFV 40.029  ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT
  TYPERMFV 40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax (CC=08).

ENHANCEMENTS
  ASUM115  40.002  Summarization/Trending for MQ SMF 115 and 116.

  All of these enhancements are described in the Change Log, below.


========================================================================

II.   SAS Version requirement information:

   SAS Versions
    The current version nomenclature is SAS 9.4 TS1M7 (9.4M7),
     "M7", or with options  VERSIONLONG;
      "SAS 9.4 (9.04.01M7P080520)" on z/OS
           9.4 (TS04.01M7P08052020)"  on ASCII.

     SAS V9.4 M7 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.



     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 36.11 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 4.04 (04.04.01.00.005305 has been tested.
      DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
      Error was introduced in 4.03.01  and 4.04.00. See Change 39.171.
      Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/

      WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
      WPS Version 4.0 reportedly fixed version 3 problems.
      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

   -Support for z16 processor data.
    SMF: Only SMF 113 records were incompatibly changed, but there is no
         execution error as only counter labels and values were changed,
         causing coefficients for the calculated variables (RMI,etc) to
         also be changed and default coefficients are changed to z16,
         You must use separate SAS steps for each processor type and
         read only SMF 113 from that processor type.
          For z/15 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11F %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
          and for z/16 you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA11G %
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
         to get correct values in ASUM1131 dataset.

         MXG Support for z/16 for SMF 113 requires 40.05 for z/OS and
         40.03 for zVM.

         MXG 40.01 will ABEND due to a TYPE30 error exposed by the z16.
         Change line 1812 in VMAC30 from 192 to 220 or ask support for
         the current VMAC30 member with Change 40.050.

         Many other SMF and Data Gatherer records were updated in 40.04.

    RMF  ASMRMFV processes RMF III data with no errors, Change 40.068
         added some new fields. New DNG3 table support was in 40.05.


   -Support for z15 processor data.
     The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
     records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
     ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
     Support for counter changes for both models was in MXG 37.08.
        If you use MIPS in reports, the format $MGRMIPS provides the
        MIPS/MSU value for each processor; the z15 values were updated
        in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
        These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
        GRAFWRKX and TYPERMFV (RMF III).

     The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
     HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs.  Change 38.048.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

    SMF Back Levels: MXG 37.08 or later is required for both z15 & z16
         SMF 113 change, but those back level versions could fail due
         to other records changed by subsystem updates you made for the
         z16 (e.g.CICS TS/6.1 which requires MXG 40.02) that didn't
         exist when that back=level was created..

   The new zEDC/EADM compression hardware requires MXG 38.05 to support
   new metrics.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.
      z/OS 2.4 Compatible from SMF Manual May 2020 38.105  38.05.
      z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075  39.03.
      z/OS 2.4 Compatible RMF III PGMR Apr  1 2021 39.074  39.03.
      z/OS 2.5 Compatible from SMF     Aug 12,2021         39.06.
      z/OS 2.5 Compatible RMF III      Aug 12,2021         39.08.
      z/OS 2.5 RMF III 4 new tables    Aug 12,2021         39.08.

      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15 New SMF 113 fields INCOMPAT  Nov 18, 2020        37.08
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      z15 ANAL9914 Support CH 39.006   Jan 14, 2021        39.01
      z16 NEW SMF113 values, NO ABEND  See CHANGE 40.070   40.03
      z16 MXG 38.07 OR LATER IS NEEDED.
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS/TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS/TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS/TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS/TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS/TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS/TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS/TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS/TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS/TS 3.2 Compressed Records   Nov  3, 2007        25.11
      CICS/TS 4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS/TS 4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS/TS 4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS/TS 4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS/TS 4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS/TS 5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS/TS 5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS/TS 5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS/TS 5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS/TS 5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS/TS 5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS/TS 5.3 GA date              Dec 11, 2015        33.33
      CICS/TS 5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS/TS 5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS/TS 5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS/TS 5.4 GA                   Jun 17, 2017        35.03
      CICS/TS 5.5 GA (INCOMPAT)        Jan 29, 2018        36.11
      CICS/TS 5.6 GA (INCOMPAT)        Jun  1, 2020        38.07
      CICS/TS 5.6 NEW DATA (COMPAT)    Oct  5, 2020        38.09
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Jan 11, 2020        40.01
      CICS/TS 6.1 ONE NEW (INCOMPAT)   Sep 20, 2020        40.02
      CICS/TS 6.1 UTILEXCL SOFLAG      Aug 15, 2022        40.05
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 22, 2019        37.02
      z/VM    7.1  INCOMPAT ABEND      Feb 14, 2019        37.02
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA-BROADCOM
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 40.40.

 1. Incompatibilities introduced in MXG 40.40:

  a. Changes in MXG architecture made between 40.40 and prior versions
     that can introduce known incompatibilities.

     IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
     YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
     The error before this correction will be:
     ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 40.40:

  Dataset/
  Member   Change    Description
  ANALCEC  40.145  New report on how LPARs on your CEC
  ASMRMFV  40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax (CC=08)
  ASMRMFV  40.036  Logic for ZEROLP option corrected for CPCDB.
  ASUM115  40.002  Summarization/Trending for MQ SMF 115 and 116.
  ASUM70PR 40.146  ICF LPARs can be output in ASUMCELP and ASUM70LP.
  BUILD005 40.057  Protection for DUPLICATE TYPE30 SUBTYPE 1 message.
  BUILD005 40.082  Sixty variables added to TYPE30_4 now in PDB.STEPS.
  FORMATS  40.062  TYPE119SSH KEX_METHOD and KEX_ALG $MG119KX updated.
  GRAFCEC  40.126  Support for TREND data restored.
  JCLRMFX  40.150  Support for IBM INCOMPATIBLE CHANGE RMF 70 ST 1.
  SMFMANUL 40.125  Updates from Sep 26, 2022 SMF Manual Refresh.
  TECHNOTE 40.040  IBM APAR PH40410 corrects negative DB2 QPACZITM.
  TECHNOTE 40.090  MXG Variables/Datasets that include RUCSA metrics.
  TYPE0    40.039  z/OS 2.5 TYPE 0 IPL lengths 78/83 not in table.
  TYPE0    40.127  Zero obs in PDB.IPL dataset for some IPLs.
  TYPE110  40.001  CICS/TS 6.1 BETA 22 INSERT NEW FIELD, INCOMPATIBLE.
  TYPE110  40.001  CICS/TS 6.1 OPEN BETA 22 REQUIRES MXG 40.01 INCOMPAT.
  TYPE110  40.042 -CICS/TS 6.1 BETA 25 removed fields, INCOMPATIBLE.
  TYPE110  40.129  Support for CICS/TS 6.1 Stat variables in CICWBG.
  TYPE113  40.070 -Support for z16 SMF 113 Labels and Equations INCOMPT
  TYPE113  40.121  TYPE113 can only validly process one CPU type.
  TYPE113  40.128  Code block for LSPRWKLD missing in TYPE1131/TYPE113.
  TYPE16   40.014  TRUNCATED SMF 16 DFSORT record, INPUT EXCEEDED
  TYPE30   40.017  TYPE30_4/30_5 EXCPTOTL wrong for MULTIDD='Y'
  TYPE30   40.025  Support or OA61511 Crypto/NNPI counters ABEND 40.01
  TYPE30   40.098  MXG 40.01 only INPUT EXCEEDED,SMF30CONFOLOW invalid.
  TYPE30   40.105  INTBTIME/INTETIME Missing in SMFINTRV corrected.
  TYPE7072 40.034  TYPE70 vars SMF70PMT/SMF70PMU were corrected.
  TYPE7072 40.102  IBM APAR OA62064 corrects CPUSER/SMF70SER '5555'X.
  TYPE7072 40.104  Variable SMF70TYP in TYPE70PR always 2:IIP.
  TYPE74   40.005  R742PUTx variables in TYPE74PA divided by 1E-6 twice.
  TYPE74   40.096  TYPE749 PCIE Statistics only first bucket was output.
  TYPE90A  40.107  Correction for TYPE9040 Boost variable SMF9040T.
  TYPEDCOM 40.038  Reserved fields overlooked, misalignment.
  TYPERMFV 40.029  ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT
  TYPEVMXA 40.010  Broken Control Record ABEND z/VM 7.2.21.02.
  TYPEZCOS 40.037  New ZCOS01TI='ZCOS*DATETIME' created.
  UTILEXCL 40.100  CICS/TS 6.1 ERROR 22-322, comma should be period.
  VMAC102  40.135  DB2 Function Level 501 revised labels new fields.
  VMAC110  40.063  CICSTRAN variables DSAPTHTM JVMTHDTM MAXHTDTM wrong.
  VMAC110  40.129  New dataset CICTLS (CICS TLS CIPHER) STID=151.
  VMAC115  40.154  Support for SMF 115 Subtype 216 dataset TY115216.
  VMAC119  40.086  TYP11911 variables corrected, formats updated.
  VMAC1154 40.158  Initial Support 4 subtypes of SMF 1154 Compliance
  VMAC30   40.087  Dedicated Memory variables added.
  VMAC42   40.088  Support for APAR OA59611 adds S42DS2MV
  VMAC7072 40.137  BOOSTACTIVE=2 /*BOTH*/ was never tested.
  VMAC73   40.084  Invalid counters SMF73CMG=2 when CHPID was Varied.
  VMAC80A  40.059  Support for SMF 80 RACFTYPE=67 updated TYPE8081.
  VMAC90A  40.058  Support for APAR OA60660 for TYPE9040 BOOST.
  VMAC99   40.148  Support for TYPE 99 Subtypes 9 and 10.
  VMACBVIR 40.056  Dataset BVIR302 had only half the observations.
  VMACCIMS 40.139  UOWTIME in CIMSTRAN wrong prevented CICSTRAN merge.
  VMACDB2H 40.138  QWHCCTKN QWHCEUID QWHCEUTX QWHCEUWN not %U Unicode.
  VMACEDGR 40.061  Datasets EDGRDEXT and EDGRXEXT updates.
  VMACRMFV 40.060  RMF III updates for ZRBRED, and FORMATS.
  VMACRMFV 40.085  New ZRBASI time variables added in z/OS 2.4 & 2.5.
  VMACSVIE 40.089  New variables added to SV34TRAN and SV35TRAN.
  VMACVMXA 40.095  Support for z/VM 7.2 MONWRITE VXPRCMFC HIS counters.
  VMACVMXA 40.140  RNI in VXPRCMFC was always zero, ++ syntax accepted.
  VMACVMXA 40.141  OUT OF ORDER error sorting VXUSEACT, BY list wrong.
  VMXG70PR 40.035  Vars SMF70GMU/SMF70CPA/SMF70WLA missing in ASUMCELP.
  VMXGGETM 40.147  UTILGETM utility Memory Failure SAS Hot Fix 66883.
  VMXGHSM  40.099  z/OS 2.5 dataset SFSMSHSM new variables added.
  VMXGINIT 40.136  SAS VIYA error, blank needed after close paren.
  VMXGUOW  40.041  LIBNAME PDB NOT FOUND if did not ask for MQ data.

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE

====== CHANGES THRU 40.162 ARE IN MXG 40.40 DATED Feb  3, 2023 =========

Change 40.162  New z/16 AI variables in TYPE1131 and ASUM1131 are added:
ASUM113          WAIUCPU='WAITING*FOR ACCESS*TO AIU'
VMAC113          CAIUCPU='EXECUTING*AIU'
Feb  2, 2023     AIUCPU='TOTAL*AIU*CPU'
                 AIUCPI='AIU*EXECUTING*CYCLES PER*INSTRUCTION'
               These values and other z16 enhancements are in John
               Burg's paper "How To Measure Those New z16 Capabilities"
               from the IBM WSC Tech Bytes Conference, available at:
                 https://www.ibm.com/support/pages/wsc-tech-bytes-
                       conference-proceedings

Change 40.161  Format MG030NP for variable SMF30_NNPICTRS_ENTRY_ID in
VMAC30         dataset TYPE30NP decodes the 27 NNPA AIU Entry IDs.
Jan 29, 2023   Format MG030CP for variable SMF30_CRYPTRS_ENTRY_ID in
               dataset TYPE30CP decodes the 156 Crypto Entry IDs.
   Thanks to Mark C. Smith, IRS, USA.
   Thanks to Mike R. Deneseus, IRS, USA.

Change 40.160  Variable S11912SS_SSH_SKEY_LEN in dataset TYPE11912SSH's
VMAC119        label was corrected from CLIENT to SERVER.  The slash in
Jan 26, 2023   label for variable SMF119SC_SSH_CKEY_TYPE was removed.
   Thanks to John Milne, Kyndryl, AUSTRALIA

Change 40.159  TYPE74ST variable R744QFLG was incorrectly formatted as a
VMAC74         one-byte $HEX2 value variable, but it is a bit-value and
Jan 27, 2023   these new variables decode the individual bits:
                 R744QFLG0='NORMAL*ACTIVE*INSTANCE*OF STRUCTURE'
                 R744QFLG1='NEW*INSTANCE*DURING*REBUILD'
                 R744QFLG2='OLD*INSTANCE*DURING*REBUILD'
                 R744QFLG3='JUST*ADDED OR*DELETED*INSTANCE'
                 R744QFLG4='IN HOLD*DELETION*NOT*FINISHED'
                 R744QFLG5='DUMP*INITIATED*FOR STRUCTURE'
                 R744QFLG6='STRUCTURE*REBUILD*IN*PROGRESS'
                 R744QFLG7='IN PROGRESS*REBUILD*IS DUPLEXING'
   Thanks to Keith C. Shaffer, Cigna, USA.

Change 40.158  Initial support for 4 subtypes of SMF 1154 Compliance
EXB5401A-I     Monitoring data. These are the 23 datasets created from
EXB5402A-B     Subtype 01-04 and there are another 19 subtypes so this
EXB5403A-H     will take some time to complete.
EXB5404A-D       dddddd  dataset   description           subtype
FORMATS          B5401A  TYB5401A  TCP/IP STACK             01
IMAC1154         B5401B  TYB5401B  IPV4 CONFIG              01
TYPE1154         B5401C  TYB5401C  IPV6 CONFIG              01
TYPS1154         B5401D  TYB5401D  TCP CONFIG               01
VMAC1154         B5401A  TYB5401A  TCP/IP STACK             01
VMXGINIT         B5401B  TYB5401B  IPV4 CONFIG              01
Jan 24, 2023     B5401C  TYB5401C  IPV6 CONFIG              01
                 B5401D  TYB5401D  TCP CONFIG               01
                 B5401E  TYB5401E  UDP CONFIG               01
                 B5401F  TYB5401F  GLOBAL CONFIG            01
                 B5401G  TYB5401G  PORT CONFIG              01
                 B5401H  TYB5401H  MANAGEMENT CONFIG        01
                 B5401I  TYB5401I  NETWORK CONFIG           01
                 B5402A  TYB5402A  FTP DAEMON GENERAL       02
                 B5402B  TYB5402B  FTP DAEMON DATA          02
                 B5403A  TYB5403A  TN3270 TELNET GENERAL    03
                 B5403B  TYB5403B  TM3270 TELNET GLOBAL     03
                 B5403C  TYB5403C  TN3270 TELNET PARMS      03
                 B5403D  TYB5403D  TN3270 PARMS GROUPS      03
                 B5403E  TYB5403E  TN3270 PARMS MAP         03
                 B5403F  TYB5403F  TN3270 LUMAP             03
                 B5403G  TYB5403G  TN3270 PRTMAP            03
                 B5403H  TYB5403H  TN3270 RESTRICT APPL     03
                 B5404A  TYB5404A  CSSMTP IDENTIFICATION    04
                 B5404B  TYB5404B  CSSMTP CONFIGURATION     04
                 B5404C  TYB5404C  CSSMTP TARGET SERVER     04
                 B5404D  TYB5404D  CSSMTP CONFIGURATION DA  04

Change 40.157  New variables in XMSYTCUV dataset:
VMACXAM          LCXHGPCP='LPAR*GROUP*CAPACITY'
Jan 20, 2023     CALGCAPV='LPAR*GROUP*CAPPING'
                 LCUCWCPL='WAIT*COMPLETION*FLAG?'
                 LCUCCAPP='ON*PARTITION*CAPPING?'
                 LCXCCON ='CPU*ONLINE*FLAG?'
                 LCXPOLTP='CORE*POLARIZATION'

Change 40.156  Change 40.105 failed to remove the IF SUBSTEP GT 0 test,
SMFINTRV       causing INTBTIME and INTETIME in PDB.SMFINTRV to still be
VMAC30         missing values. The corrected member was not moved from
Jan 20, 2023   the test to production sourclib.
   Thanks to Peter A. Vikeras, OPTUM, USA.
   Thanks to Raymond J. Smith, OPTUM, USA.
   Thanks to Ralph J. Romano, OPTUM, USA.

Change 40.155  TYPE74 variables AVGIOQMS, DEVIOQTM and AVGRSPMS were
VMAC74         incorrect because they used NRREQENQ instead of SMF74IOS
Jan 20, 2023   for the duration. Variable AVGENQUE could also be missing
               because it tested a "no longer used" bit in DEVIND that
               is sometimes used!
   Thanks to Jan Tielemans, KBC, BELGIUM.

====== CHANGES THRU 40.154 ARE IN MXG 40.07 DATED Jan 16, 2023 =========

Change 40.154  Support for SMF 115 Subtype 216 creates TY115216 dataset.
VMAC115
Jan 16, 2023

Change 40.153  TYPE8500 variables R850RC and R850RS labels incorrectly
VMAC85         had "TIME" but they are not time variables.
Jan 12, 2023
   Thanks to Scott Rowe, SSA, USA.

Change 40.152 -TYPE71 variables SMF71S3A/SMF713S3M/SMF713S3X labels
VMAC71          were corrected from "ON SCM" to "IN CSTORE".
Jan 11, 2023
   Thanks to Rick Southby, IAG, AUSTRALIA.

Change 40.151 -Variables added to SYSVIEW dataset SV34TRAN:
VMACSVIE         IMTR_CLK_OPNCLS_ELAP='APPLICATION*OPEN/CLOSE*TIME'
Jan  3, 2023     IMTR_CNT_BYTES_IN   ='TOTAL*INPUT*BYTES'
                 IMTR_CNT_BYTES_OUT  ='TOTAL*OUTPUT*BYTES'
              -Variables added to SYSVIEW dataset SV35TRAN:
                 IMRA_APPL_ELAPSED   ='APPLICATION*ELAPSED*TIME'
                 IMRA_CNT_BYTES_IN   ='AVERAGE*I/P*MESSAGE*BYTES'
                 IMRA_CNT_BYTES_OUT  ='AVERAGE*O/P*MESSAGE*BYTES'

Change 40.150B Updates for Change 40.150 Split RMF 70 Subtype 1:
ASMRMFX        ASMRMFX - ASM CODE FOR REASSEMBLY (USE IN JCLRMFX1)
JCLRMFXA       JCLRMFXA- JCL TO ASSEMBLE ASMRMFX FOR REASSEMBLY
JCLASMXG       JCLASMXG- Assemble all SEVEN MXG ASM MEMBERS
JCLRMFX        JCLRMFX - Three STEP SAS REASSEMBLY JOB (TYPERMFX)
JCLRMFX1       JCLRMFX1- Three Step ASM REASSEMBLY JOB (ASMRMFX)
TYPERMFX       TYPERMFX- SAS CODE FOR REASSEMBLY (USE IN JCLRMFX)
ASMMACS        ASMMACS - MACROS FOR ASM PROGRAMS
ADOCRMFX       ADOCRMFX- DOCUMENT REASSEMBLY PROGRAMS/JOBS
Jan  30, 2023  SEE CHANGE 41.012 for REQUIRED SAS HOT FIXES.

Change 40.150A Updates for Change 40.150 Split RMF 70 Subtype 1 were
JCLRMFX        made.  Only SMF 70 subtype 1 records are processed, the
TYPS7001       RMF 73 was included only because split 73s were available
Jan 15, 2023   for testing the reassembly and there is no need for any
               other Split records to be reassembled at this time.
               The TYPS7073 program was renamed to TYPS7001.
               The TYPERMFX reassembly program works on z/OS with both
               SAS and WPS, but does not currently work on ASCII; so we
               are developing an ASMRMFX for ASCII sites.
               Reassembled large LRECL records can be processed on ASCII
               directly with the FTP ACCESS method using SITE RDW and
               S370VS. or downloaded with RECFM=U,BLKSIZE=32760 and then
               using S370VBS on the ASCII INFILE statement.
               SEE CHANGE 41.012 FOR REQUIRED SAS HOT FIXES.
   Thanks to Thomas D Foster, SSA, USA.
   Thanks to Mark London, SSA, USA
   Thanks to Ashley Klunk, SSA, USA
   Thanks to Jaipal Nimmala, SSA, USA.

 CHANGES THRU 40.150 WERE IN MXG 40.07 DATED Jan 16, 2023 Early Adopters

Change 40.150 -INCOMPATIBLE CHANGE TO SMF 70.1 FOR SITES CREATING SPLIT
ADOCRMFX       SMF records.  ONLY IMPACTS MXG TYPE70PR PR/SM DATASET.
FORMATS       -ONLY SITES WITH LOTS OF ENGINES AND LPARS CREATE THEM.
JCLRMFX        This program will tell you if you have split records:
RMFSPLIT         //SPLITS EXEC MXGSAS94  (your SAS JCL Procedure)
TYPERMFX         //SMF    DD DSN=YOUR.SMF,DISP=SHR
TYPS7001          %INCLUDE SOURCLIB(VMACSMF);
VMAC7072          DATA;_SMF;IF ID=70 AND SUBTYPE=1;
VMACSMF            INPUT @OFFSMF+47  NRCPUD   &PIB.2.
VMACSMFL                 @OFFRMFP+74 SMF70RAN &PIB.2.
VMXGINIT                @OFFRMFP+104 SMF70RBR &PIB.2.
Jan 16, 2023       @;
                   PUTLOG _N_= SYSTEM= SMFTIME= RMFSRCL= HEX2.
                               SMF70RAN= SMF70RBR= LENGTH= NRCPUD=;
               IF NRCPUD=0, that SYSTEM uses the alternate algorithm and
               its SMF 70.1 records must be reassembled, with MXG 40.07.
               You can also use the 40.07 RMFSPLIT program report.
              -SPLIT records are created when the length of data for an
               interval exceeds 32760 bytes and multiple 32760 byte
               blocks are created. If LPAR COUNT*ENGINE COUNT*88 is GT
               26,000 you have split records (10 LPARS and 30 ENGINES).
               APARs OA62064 and OA63108 changed IBM's "old" breaking
               algorithm to the "new" breaking algorithm but with no
               mention of that change!!!
              -The good news with the new SPLIT records is that the
               TYPE70 dataset is CORRECTLY created. It is ONLY the
               TYPE70PR PR/SM dataset that has missing or incorrect
               values that were previously populated from those
               now-non-existent segments. Fortunately, there is no
               execution error, just bad data in TYPE70PR and in the
               ASUMxxxx datasets created from TYPE70PR.
              -Previously, for the SMF70 Subtype 1 record, each SPLIT
               record repeated the CPU Data Sections and the Logical
               Core Sections, so the TYPE70PR PR/SM dataset could be
               created, since some fields from CPUD and CORE segments
               are needed, but the new algorithm no longer writes those
               sections in the 2nd and subsequent SPLIT records, and
               this broke the back of the MXG PR/SM implementation,
               which had been designed to match the record contents.
              -IBM Claims the change was NOT INCOMPATIBLE, stating that
               it has ALWAYS BEEN A REQUIREMENT TO SORT and Reassemble
               the split records into a single VBS Record with the
               larger LRECL, (77,000 in this case), using the fields in
               the Reassembly Area fields, but IBM does NOT provide a
               utility to create those records, and neither IFASMFDP nor
               DFSORT can process records with LRECL greater than 32760.
              -The alternate splitting logic was already implemented
               with z/OS 2.2 but with APAR OA62064 (which introduces
               record level x'8F' for SMF 70 subtype 1) additional
               fields were added to the CPU data section so that in
               case of large LPARs with many processors it becomes more
               likely that the alternate splitting is used.
              -If the alternate algorithm is used, the value of NRCPUD,
               the count of CPU Detail Sections, will be zero in the
               second and subsequent split records, RMFSPLIT provides
               that reporting, and NRCPUD is available in _SMF. header.
              -In z/OS 2.5 IBM does offer the GRBRMFR service that can
               be called to assist with the reassembly, but that service
               will NOT be provided for z/OS 2.4 or earlier releases.
              -The MXG Solution is the new TYPERMFX SAS program and the
               example JCLRMFX whose first step Selects and SORTS the
               70.1 and 73 SMF records (the SORT ensures split records
               are in the correct order required for reassembly).  The
               second step uses the SAS TYPERMFX program to reassemble
               and write out the Large LRECL records, which are then
               read by the SAS TYPS7001 program in the third step to
               create the TYPE70 TYPE70EN TYPE70PR and TYPE73 datasets,
               and which %includes ASUM70PR to create these datasets
                 ASUM70GC ASUM70GL ASUM70LP ASUMCELP ASUMCEC
               in the output PDB Data Library, which can then be used
               for reports, and/or copied into the daily PDB library.
               Changes made:
               -JCLRMFX is the three step reassembly & PDB create job.
               -TYPERMFX SAS program to reassemble into Large LRECL recs
               -TYPS7001 reads LRECL SMF and creates the PDB.
               -VMACSMFL replaces _SMF to use &LRGLRECL for SMF to input
                the Large LRECLs and should only be used with JCLRMFX.
               -VMACSMF and VMACSMFL were updated to decode SMF70RAN and
                other RMF reassembly variables available for _SMF..
               -FORMATS set RMFSRCL HEX2. so '8F'x is printed.
               -VMXGINIT GLOBALs &LRGLRECL and sets it to 264000; the
                largest reassembled LRECL was 77000 bytes.
               -VMAC7072 was updated to add SMF70RAN/RBR/RSQ reassembly
                variables to TYPE70.
               -New RMFSPLIT program reads today's SMF data and alert
                you if you have split records and whether data is lost.
               -New member ADOCRMFX has detail documentation on the
                Reassembly program TYPERMFX and the JCLRMFX example.
               -SAS and WPS both work correctly with a download LRGLRECL
                reassembled file with RECFM=U on the download.
               -SEE CHANGE 41.012 FOR REQUIRED SAS HOT FIXES.


Change 40.149 -Support for CICS/TS 6.2 new fields added. New fields:
ZMAC110          XSNLNACT - DFHTASK 048 - FAILED AUOR NOLOG NOTAUTH
ZTILEXCL         XSNLNFCT - DFHTASK 049 - FAILED AUOR NOLOG NOTFIND
FORMATS       -SMFPSRVR is 75 for CICS/TS 6.2 so formats were updated:
Jan  8, 2023     MGVERCIC $MGVERCIC $MGSYIL
              -The two members ZMAC110 and ZTILEXCL (ONLY in 40.40 with
               BUILTBY= JAN 26, 2023 Change 40.149) are the updated code
               for the CICS/TS 6.2, but they have not been tested with
               6.2 Records. You can copy/rename them to UTILEXCL and
               VMAC110 in your "USERID.SOURCLIB" to test and validate
               this change, and advise of your success to support.
   Thanks to Todd Gagle, Broadcom, USA.

Change 40.148  Support for TYPE 99 Subtypes 9 and 10.
VMAC99
Dec  2, 2022

Change 40.147  Array size of 2047,33165 required 550MB Region and caused
VMXGGETM       Memory Failure errors if SAS Hot Fix 66883 for z/OS was
Dec  1, 2022   not applied. The array was much larger than was needed.
               The first size (2047) is the number of possible SMF IDs
               (2047) and 33165 was set to the number of combinations,
               but it only needs to be the number of possible subtypes
               for an ID.  Current maximum subtype is 499 for the DB2
               DB2 101 trace records, but 4096 was chosen since that
               only requires a 110 MB REGION size. And, VMXGGETM is only
               used to create a test file of two of your SMF records so
               it's not routinely executed by UTILGETM.
   Thanks to Allana Jacob, Kyndryl, CANADA.
   Thanks to Pranav Yader, Kyndryl, CANADA.
   Thanks to Amha Tsegaye, Kyndryl, CANADA.

Change 40.146 -Corrections to ASUMCELP dataset. SMF70LAC is now the MAX
ASUM70PR       value to more accurately match SCRT reports, and GMTOFFTM
VMXG70PR       and SMF70CPA are now populated.
Nov 28, 2022  -The ICF LPARS observations can now be created in ASUMCELP
Dec  3, 2022   and ASUM70LP datasets if you specify  %LET ICFLPARS=YES;
               before your %INCLUDE SOURCLIB(ASUM70PR) statement.
               That will increase the number of obs in ASUMCELP/ASUM70PR
               and most of the current LPAR variables will have missing
               values, as only the ICF metrics are populated in the ICF
               observations and the ICF metrics are missing values in
               other LPAR observations. The ICF observations will have
               LPARICFS NE 0.
   Thanks to Joseph Montana, BKFS, USA.

Change 40.145  A report program that will show you in spreadsheet form
ANALCEC        how the LPARs on your CEC are defined. It will tell you
Nov 21, 2022   how many MSU/MIPS are available to MVS based on the
Dec 25, 2022   lowest of cap values and CPUs assigned to LPAR.
   Thanks to Miguel Fernandez, BNYMellon, USA.

CHANGE 40.144  The last line of MDIZERO was an unclosed comment causing
MDIZERO        SLP to abend. MDIZERO now creates the OUT_DIR if it does
IEBUPDTE       not exist. IEBUPDTE cosmetic updates with PUTLOGS.
Nov 21. 2022

Change 40.143  Change 40.103 was still incorrect, RECFM=VBS is needed to
VMACDCOL       support any BLKSIZE value in the dumped DCOLLECT or IMS
VMACIMS        VB records.
Nov 21, 2022
   Thanks to Richard Egan, Westpac, AUSTRALIA.

Change 40.142  Uninitialized S30DM2GFAILED variable corrected, variable
BUILD005       D30DMINUSEADM2GHWM now output, and some labels for these
BUIL3005       new Dedicated Memory metrics were corrected.
VMAC30
Nov 18, 2022

Change 40.141  Variable CALTODON was incorrectly in the MACRO _BUSEACT
VMACVMXA       sort list for VXUSEACT, causing an OUT OF ORDER error.
Nov 15, 2022   triggered by the Daylight Savings Time Change.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 40.140 -z/VM VXPRCMFC (SMF113 equivalent) RNI was always zero due
VMACVMXA       to a typo that caused L3P to always be a missing value.
Nov 16, 2022  -Lines 6310 (z14/15) and 6375 (z16) creating L4RP both had
               ++ but the SAS Compiler did not flag that error, which
               did not impact the value in L4RP for the z16, as all of
               the EXTND counts in that statement were zero on this box
               which only had one drawer.  L4RP is non zero in others.
   Thanks to Graham Harris, NatWest, SCOTLAND

Change 40.139  Change 37.095 incorrectly decoded UOWTIME which prevented
VMACCIMS       merging CIMSTRAN and CICSTRAN datasets.
Nov 14, 2022
   Thanks to Charles Piggott, R+V Allgemeine Versicherung AG, GERMANY.

Change 40.138  DB2 variables QWHCCTKN QWHCEUID QWHCEUTX QWHCEUWN are not
VMACDB2H       %U Unicode fields, but MXG incorrectly converted them
Nov  3, 2022   with $ASCII128 informat (when they were "truncated" with
               offset). Now they are converted with $EBCDIC128.
   Thanks to Paul Weissman, UBS, USA.

Change 40.137  Bit test to set BOOSTACTIVE=2 /*BOTH*/ was never tested
VMAC7072       if either ZIP or SPEED boost was active.
Oct 26, 2022
   Thanks to Peter J. Gray, ANZ DXC, AUSTRALIA.

Change 40.136  SAS VIYA error %SUBSTR(&SYSVER,1,1)EQ V needed a blank
VMXGINIT       between the ) and the V.
Oct 26, 2022
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 40.135  DB2 ZPARM ADDED by Function Level 501 replacing FL 100.
FORMATS       -T102S106 labels revised:
VMAC102         QWP4TSCT='COMPRESSION*TYPE*F=FIXED*H=HUFFMAN'
Oct 27, 2022    QWP4ENKL='ENCRYPTION*KEYLABEL'
Nov 14, 2022    QWP4AUTCSU='AUTH*COMPATIBILITY*SELECT FOR UNLOAD'
                QWP4CDSTL='CACHDYN*BOTH*CAPTURE*LOAD*NONE'
                QWP4CDRL='COMPRESS*DIRLOB?'
                QWP4SFPR='STATFDBK*PROFILE?'
                QWP4DDLM='DDL*MATERIALIZATION*IMMEDIATE*PENDING'
                QWP4DINA='DEFAULT*INSERT*ALGORITHM'
                QWP4PSPN='PAGESET*PAGENUM*ABSOLUTE*RELATIVE?'
               -T102S106 new variables:
                QWP4DSSAR='DISALLOW*SSARAUTH?'
                QWP4UBCDC/*UTILS*BLOCK*FOR*CDC?*/
                QWP4LIRO /*LOAD*RO*OBJECTS?*/
                QWP4UZS  /*UTIL*USE*ZSORT?*/
                QWP4RINSU/*REORG*INDEX*NOSYSUT1?*/
                QWP4RICLD/*REORG*IC LIMIT*DASD*/
                QWP4RICLT/*REORG*IC LIMIT*TAPE*/
                QWP4LDISCALE/*LOAD*DEL*IMPLICIT*SCALE*/
                QWP4SUBSTRCP='SUBSTR*COMPATABILITY*P=PREV*C=CURR'
   Thanks to Lai Fai Wong, Bank of America, USA.

====== CHANGES THRU 40.134 ARE IN MXG 40.06 DATED Oct 23, 2022 =========

Change 40.134  BMC CMF MXGWARN:IMPOSSIBLE VALUE DETECTED TYPE70PR CPU
VMAC7072       LCPUPDTM Dispatch Time z/16 Data under z/OS 2.4, not RMF.
Oct 21, 2022   MANY of those messages were printed, now limited to ten.
Nov  2, 2022   Some LCPUADDR engines had hundreds of hours of LCPUPDTM
Nov 14, 2022   Partition Dispatch Time for PHYSICAL LPAR. This message
               has always and continues to set LCPUPDTM to zero,
               Nov 2: BMC reports their error was introduced in BQM1809,
               workaround is to back out BQM1809 and a circumvention is
               given in that Case if you can't back it out.
               Nov 14: BMC APAR BQM1868 will correct when available.

Change 40.133  New parameter added and now listed in alphabetic order.
ANALDB2R       New LISTIDS=NO (DEFAULT) suppresses the reports from
ANALDBTR       VFMT102 that listed all of the OBID DBIDs found and used
READDB2        in the PROC FORMAT. Generally only useful for debugging.
VFMT102
Oct 23, 2022

Change 40.132  DB2ACCTP variables QBACSYI QBACSYIT and QBACIOC were
VMACDB2        missing values because they were missing in the revised
Oct 19, 2022   INPUT statement.
   Thanks to Raymond J. Smith, OPTUM, USA.
   Thanks to Ralph J. Romano, OPTUM, USA.

Change 40.131  Support for new TYPE7 variable SMF7DTYPX to report flood
VMAC7          filtered SMF records for all types (0-2047), to replace
Oct 11, 2022   SMF7DTYP which was only one byte for only 0-255 records.
               If the dropped record is greater than 255, SMF7DTYP will
               contain 126, which is the extended type indicator value.

Change 40.130  Support for SMF 106, updated and validated with all four
VMAC106        records creating these four datasets:
Oct 11, 2022      (LABEL='TY1061: BCPII HWISET API CALLS'
                  (LABEL='TY1062: BCPII HWICMD API CALLS'
                  (LABEL='TY1063: BCPII HWIREST NO OPS API CALLS'
                  (LABEL='TY1064: BCPII HWIREST OPS API CALLS'
   Thanks to Hans Langeveld, KLM, THE NETHERLANDS.
   Thanks to Mark Duifs, KLM, THE NETHERLANDS.

Change 40.129  Support for CICS/TS 6.1 (COMPATIBLE) new vars/dataset:
EXCICTLS      -New variables in CICWBG (CICS URIMAPS) STID=101.
FORMATS          WBGENRFC='ENTRYPOINT*REF*COUNT'
SCICSORT         WBGDIUTA='DIRECT*USER*TRAN*ATT'
VMAC110          WBGSJMSR='SCHEME*JMS*REQUEST'
VMXGINIT         WBGSIIOR='SCHJEME*IIOP*REQUEST'
Oct 12, 2022     WBGPIPEL='PIPELINE*REQUESTS'
              -New variables in CICSJS (JVMSERVER) STID=116.
                 SJSCOCAU='CODE*CACHE*USED'
                 SJSCOCAA='CODE*CACHE*ALLOCATED'
                 SJSDACAU='DATA*CACHE*USED'
                 SJSDACAA='DATA*CACHE*ALLOCATED'
                 SJSCLSTU='CLASS*STORAGE*USED'
                 SJSCLSTA='CLASS*STORAGE*ALLOCATED'
                 SJSCLCAS='CLASSCACHE*SIZE'
                 SJSCLCAF='CLASSCACHE*FREE'
              -Cosmetic. CICS/TS 6.1 WARNING about SKIPPED FIELDS for
               STID's 48 is now skipped, as the new fields are
               reserved fields.
              -New dataset CICTLS (CICS TLS CIPHER) STID=151.
                 OCCIPHER='TLS*CIPHER*CODE'
                 OCTLSINB='INB CICS*CONFIG*TLS*CIPHERS'
                 OCTLSOUT='OUT CICS*CONFIG*TLS*CIPHERS'
                 OCATTINB='INB ATTLS*CIPHERS'
                 OCATTOUT='OUT ATTLS*CIPHERS'
                 OCDATETM='TLS*DATETIME'
              -This should be the last update to CICS/TS 6.1 SMF data.
   Thanks to Rob D'Andrea, NATWEST, SCOTLAND.

Change 40.128  The Code Block to create variable LSPRWKLD was missing in
VMAC113        TYPE1131/TYPE113 datasets, but only TYPE1131/ASUM1131 is
Oct  6, 2022   used, as IBM no longer updates the subtype 2.
   Thanks to Ronald W. Basset, OPTUM, USA.

Change 40.127 -WARNING SMF 90-10 WITHOUT PRECEEDING TYPE0 message and/or
VMAC0          zero observations in PDB.IPL dataset. DOWNTM calculation
VMAC90A        revised and used to confirm ID=0 IPL SMF was found before
Oct  7, 2022   ID=90.10 IPL SRM.
              -Blank LABELs in VMAC90A updated.
   Thanks to Karthick Bojjireddy, HSBC, USA.

Change 40.126  A prior change dropped support for the TREND data. That
GRAFCEC        is now restored and ODS PROCLIB added to make indices
Oct  4, 2022   more meaningful.
   Thanks to Tom S. MacCabe, Dominion Energy Services, Inc., USA.

Change 40.125  Updates from Sep 26, 2022 SMF Manual Refresh.
VMAC74         TYPE74CA Variables R745INCR/BYTR/BYTW/RTIR/RTIW Reserved.
Oct  3, 2022   TYPE74CA Variables CSDS/CSIM reserved.
               TYPE74DU Variable R744RFLG='STATUS*FLAGS'
               TYPE75 Doc updated: UCBTYPE is only valid if Page Space
               Type is not SCM, i.e., SCMPGTYP NE 'Y'.

Change 40.124  ERROR: UNABLE TO RESTORE 'BASE.FREQ.ONEWAYFREQA' FROM
PROC FREQ      TEMPLATE STORE! is due to back level SAS at 9.1.3 and
Oct  2, 2022   issuing ODS commands in VMXGINIT. Install Current SAS.

Change 40.123  If a DB2 subsystem is restarted during the period covered
VFMT102        by the input SMF data, it is possible to get duplicate
Oct  1, 2022   values for a given DBID OBID. This change detects that
               and flags the problem with an MXGWARN message and keeps
               only the last OBS found when there is more than one.

Change 40.122  Typo, LENGT(& should be LENGTH(&
GRAFCEC
Sep 30, 2022
   Thanks to Tom S. MacCabe, Dominion Energy Services, Inc., USA.

Change 40.121  TYPE113 can only validly process one CPU type at a time,
ASUM113        but prior to this change, all CPU types were incorrectly
VMAC113        output, and only observations from the default CPU type
Sep 30, 2022   (z15 in 40.02- SM113VN2=6, z16 in 40.03+ SM113VN2=7) or
               the requested CPU type (if you reset MACRO _XLA113 per
               Change 40.095) contained valid data values and correct
               variable's labels. This change detects the value in MACRO
               _XLA113 and only outputs those observations, printing an
               MXGWARN message if other types were found in SMF data,
               and creating 0 obs in TYPE113/TYPE1131 if no requested
               CPU type records were found.
               Note that if you have multiple CPU Types, z16 and z15,
               you would use the default z16 in your normal BUILDPDB and
               output the TYPE1131 and ASUM1131 datasets to your normal
               PDB data library, and would run a second step, changing
               changing _XLA113 to _XLA113F for the z15 and changing the
               //PDB DD to a DIFFERENT DATA LIBRARY as the two datasets
               TYPE1131/ASUM1131 CAN NOT BE COMBINED and they must be
               separately analyzed. The simplest job is
                 // EXEC MXGSASV9
                 //SMF DD DSN=YOUR.SMF113.DATA,DISP=SHR
                 //PDB DD DSN=YOUR.Z15.TYPE113.PDB,DISP=OLD
                 //SYSIN DD *
                  %LET MACKEEP=  MACRO _XLA113  _XLA113F  % ;
                  %INCLUDE SOURCLIB(TYPS113,ASUM113);
               but the more complete job which enhances the ASUM1131
               data set with TYPE70PR data would be
                 // EXEC MXGSASV9
                 //SMF DD DSN=YOUR.SMF113.SMF70.DATA,DISP=SHR
                 //PDB DD DSN=YOUR.Z15.TYPE113.PDB,DISP=OLD
                 //SYSIN DD *
                   %LET MACKEEP=  MACRO _XLA113  _XLA113F  % ;
                   %UTILBLDP(BUILDPDB=NO,USERADD=7072 113,
                             OUTFILE=INSTREAM,
                             WANTSMF=70.1 113.1,
                             INCLAFTR=ASUM70PR ASUM113);
                             %INCLUDE INSTREAM; RUN;
               You could tailor your BUILDPDB to create an SMF file with
               only the needed SMF records for the second job adding the
               //SMFOUT DD DSN=YOUR.SMF113.SMF70.DATA,DISP=(,CATLG). . .
               and using
               //SYSIN DD *
                %LET MACFILE=
                  %QUOTE(
                    FILE SMFOUT DCB=SMF;
                    IF (ID=70 AND SUBTYPE=1) OR (ID=113 AND SUBTYPE=1)
                           THEN PUT _INFILE;
                           FILE LOG; );
              -ASUM113 was corrected to CRYPTO83 instead of CRYPTO70.
   Thanks to Ralph J. Romano, OPTUM, USA.

Change 40.120  Flag variables added to TYPE16:
VMAC16           ICETOOL ='CALLED*BY*ICETOOL?'
Sep 28, 2022     APFAUTH ='RUNNING*APF*AUTHORIZED?'
                 MOBJWORK='MEMORY*OBJECTS*USED FOR*WORK?'
                 JOINKEY1='INVOKED*JOINKEYS*SUBTASK 1?'
                 JOINKEY2='INVOKED*JOINKEYS*SUBTASK 2?'
   Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.

Change 40.119  If you add type120 data to the PDB you could get an array
VGETSORT       subscript out of range message in a weekly or monthly
Sep 27, 2022   job. VGETSORT is used to build a list of the datasets
               that could possibly be added to the week or month and
               includes the variables in the SORTEDBY list. This was
               kept in an array that was 20 deep but some some of the
               type 120 datasets have very long _B lists and exceeded
               the array size. Array was expanded to 50.

Change 40.118  Unused Change Number
Sep 22, 2022

Change 40.117  Format MGXAMPO is created to map values of PFXPOLAR for
FORMATS        the Polarization and PFXPOLAR is now a numeric value.
VMACXAM
Sep 21, 2022
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 40.116  New DB2 V12 variables added in DB2STAT0/DB2STATS:
VMACDB2         QTGSLCAIC QTGSDGBL QTGSLICNT QTGSGICNT QTGSGCONT
Sep 20, 2022    QTGSFCONT QTGSCPLOK QTGSCNOTY
               New DB2 V12 variables added in DB2STAT1/DB2STATS and
               DB2ACCTP and DB2ACCT:
                QTXALCMM QTXALCMU QTXALCSM QTXACRLK QTXACWLK
                QTXACRUK QTXACWUK QTXACRCH QTXACWCH QTXACRNT
                QTXACNNT QTXACRCP QTXACWCP QTXACRAL QTXACWAL
                QTXACWSY QTXASRCL QTXAUCNT QTXALCCP QTXACGEN
                QTXACRQF QTXACWQF QTXADLCL QTXATOUT QTXARTRY
                QTXANRTY QTXASUSP QTXARSUM QTXASTAT QTXADEAD
                QTXATIME
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 40.115  Support for DB2 IFCID 314.
FORMATS        Format MGD314R added.
VMAC102
Oct 11, 2022
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 40.114  UTILGETM/VMXGGETM ERROR: Array Subscript out of range.
VMXGGETM       This utility, used only in JCLTESx program to create the
               SMFSMALL file, still had the old limit of SMF Type values
               of 256, but now the maximum TYPE is 2047, with 0-127 and
               1152-2047 for IBM with 128-1151 available for users.
               The actual record type in the record is 126, which tells
               MXG this is an Extended SMF Header record with the true
               ID in that header. The specific record was TYPE=1153,
               the JES2 Monitor record.
   Thanks to Jim S. Horne, Lowe's, USA.
   Thanks to Saddam Hussain, Lowe's, USA

Change 40.113  Updates from Aug 23, 2022 SMF Manual:
VMAC7072      -TYPE70 new variable:
VMAC73           ALTVMMACHINE='RUNNING*UNDER*ALTERNATE*VM MACHINE'
Sep 10, 2022  -TYPE73 new variables:
Oct 17, 2022     SMF73NT1='PNET ID OF*ETHERNET*NETWORK*1ST PORT'
                 SMF73NT2='PNET ID OF*ETHERNET*NETWORK*2ND PORT'
              -Note that no SMF 78 Subtype 3 records are written if your
               system is running under an Alternate Virtual Machine.
              -Oct 17: VMAC73 Early Adopter's 40.06 STOPOVER corrected.

Change 40.112  CICS TS/6.1 is SMFPSRVR 74 but FORMATs printed TS5.7.
FORMATS        No impact on code as all tests are for 74.
Aug  6, 2022

Change 40.111 -The CICS Resource & Identity records, 110 subtype 1 with
TYPE110        MNSEGCL=5 or 6 create these seldom needed datasets that
UTILBLDP       can take a lot of disk space and they compress poorly:
Sep  2. 2022   MNSEGCL=5    RESOURCE
                 COUNTER   SEG DATASET
                  MNR5NUMI      CICSRDS  CICS RESOURCE DATA CLASS
                  MNR5NUMF      CICSRDFI CICS RESOURCE FILE DETAIL
                  MNR5NUMT      CICSRDQU CICS RESOURCE TSQUEUE DETAIL
                  MNR5NUMD      CICSRDPL CICS RESOURCE DPL DETAIL
                  MNR5NUMU      CICSRDUR CICS RESOURCE URIMAP DETAIL
                  MNR5NUMW      CICSRDWB CICS RESOURCE WEBSVC DETAIL
               MNSEGCL=6    IDENTITY
                 COUNTER       DATASET
                  MNI6NUMI      CICSIDNT  CICS IDENTITY TRANSACTION INFO
                  MNI6NUMD      CICSIDND  CICS IDENTITY REALM/DISTING
               They can be made zero obs dataset using
                 %LET MACFILE=
                  %QUOTE(
                   IF ID=110 AND SUBTYPE=1 AND MNSEGCL IN (5,6)
                     THEN DELETE; );
               in your SYSIN, or with UTILBLDP by adding MNSEGCL5
               and/or MNSEGCL6 or MNSEGCL to the SUPPRESS= parameter.
               In addition, when TYPS110 is used, they are never sorted
               nor written to the PDB data library, in VMAC110 comments:
            MACRO S110:
           /* SUBTYPE=1, CICS MONITOR DATASETS:                      */
           /* _SCICTRN  - CICSTRAN IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICRDS  - CICSRDS  IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICRDD  - CICSRDPL IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICRDF  - CICSRDFI IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICRDQ  - CICSRDQU IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICRDU  - CICSRDUR IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICRDW  - CICSRDQB IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICIDN  - CICIDNTY IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICIDD  - CICIDNDD IS NOT SORTED TO PDB, HIGH VOLUME.*/
           /* _SCICACC  - CICSACCT NOT SORTED, PRE-CICS/ESA ONLY.    */
           /* _SCICSYS  - CICSYSTM NOT SORTED, PRE-CICS/ESA ONLY.    */

Change 40.110 -If you specified FIRSTRUN=YES and RUNWEEK=NO the SAS
BLDSMPDB       OPTION OBS=0 was still in effect, causing all subsequent
Sep 2, 2022    datasets to have 0 OBS which could also cause an ERROR.
   Thanks to Doug Medland, Kyndryl, CANADA

Change 40.109  ERROR 557-185:Variable SETPDB is not an object because
ANAL307X       SET&PDBMXG..TYPExxxx was missing the blank between SET
Aug 30, 2022   and &PDBMXG.
   Thanks to Karl Lasecki, American Chemical Society, USA.

Change 40.108  The LFAAREA was introduced in 2017 but no one noticed in
VMAC71         those 5 years that it was not included in the CSTORE size
Aug 30, 2022   which suggest memory is not the critical resource it once
               was!  Variable CSTORE is updated to include SMF71GRX,
               the maximum frame size of the LFA, converted to bytes to
               match CSTORE UNITS.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 40.107  Correction for TYPE9040 BOOST dataset SMF9040T/IBM _ETOD,
VMAC90A        which is valid in both START and END event records, but
Aug 27, 2022   in the START record is the projected END of BOOST time.
               and was incorrectly compared with SMFTIME to create the
               GMTOFF9040 offset value.  New variables:.
                  SMF9040STR  the SMFTIME of the START event.
                  SMF9040EGMT the SMF9040T before GMTOFFSET in END
                  SMF9040SGMT the SMF9040T before GMTOFFSET in START
                  SMF9040TE   the SMF9040T after GMTOFFSET in END
               The last three variables are needed for the GMTOFF9040
               calculation (by descending sort and retained from END.)
               You must use %INCLUDE SOURCLIB(TYPS9040) or
                 %INCLUDE SOURCLIB(TYPE9040); _STY9040
               because the GMT correction is in the dataset SORT.
              -Note that the CAPTURAT in RMFINTRV can be over 100% in
               Boosted intervals, and IBM says that is correct and will
               eventually provide a documentation update.
   Thanks to Peter Relson, IBM z/OS Core Design, USA.
   Thanks to Jim S. Horne, Lowe's, USA.

Change 40.106  Support for new variables in MONITASK dataset, added by:
VMACTMO2       PTF TH04514 in V4.2 for CICS/TS 5 AND 6.
Aug 25, 2022       TAHWMRUL='RULE*RECORD'
                   TARECSEQ='RECORD*SEQUENCE*FLAG'
                   TAABNCD2='ABEND*CODE'
   Thanks to Daniel D. Hamiel, NEDBANK, SOUTH AFRICA.

Change 40.105  Variables INTBTIME/INTETIME were missing if the first 30
VMAC30         was a subtype 2/3 for an OMVS (SUBSTEP GT 0) record.
SMFINTRV       Change 25.089 set SMF30IST to missing IF SUBSTEP GT 0
Aug 24, 2022   because in 2007 it contained the original INITTIME and
               not the current interval's start time, and could not be
               used to create the GMTOFF30 (that MXG must calculate
               because IBM has never put it in the 30 records!).
               Now, the value in SMF30IST for OMVS jobs is valid and
               no longer set missing and the INTBTIME/INTETIME are
               now valid in that first 30 record.
               See Change 40.156 correction.
   Thanks to Ronald W. Bassett, OPTUM, USA.

Change 40.104  Variable SMF70TYP in TYPE70PR was always 2:IIP, while in
VMAC7072       TYPE70EN, it correctly mapped 0:CP 1:IFA 2:IIP, which are
Aug 22, 2022   the only engine types in TYPE70EN. But in TYPE70PR, the
Dec 10, 2022   correct variable is SMF70CIX which maps all five engines:
               1:CP 3:IFA 4:IFL 5:ICF and 5:ZIIP. But now SMF70TYP does
               correctly map it's three engine types in TYPE70PR.
   Thanks to Pat Perreca, Wakefern, USA.

Change 40.103  The INFILE statement for IMSLOG didn't supply attributes
VMACDCOL       LRECL and RECFM for the execution system, needed if they
VMACIMS        are not supplied in the FILENAME IMSLOG statement. There
Aug 22, 2022   was also a logic error in both VMACIMS/VMACDCOL INFILEs.
   Thanks to Ervin Claxon, CSX, USA.
   Thanks to David Feimer, Luminex, USA.

Change 40.102  APAR OA62064 corrects invalid CPUSER/SMF70SER '5555'x
VMAC7072       values, although that is not stated in the text, which
Aug  18, 2022  notes that APAR introduces z16 support.  IBM says the
               bad serial number is also addresses in that APAR.
               No change was made to MXG code.
   Thanks to Rob D'Andrea, NATWEST, SCOTLAND

====== CHANGES THRU 40.101 ARE IN MXG 40.05 DATED Aug 15,2022 ==========

Change 40.101  TYPE6 ESS segments with GEPARNLN=0 are valid null values,
IMAC6ESS       so the MXGERROR INVALID IMAC6ESS RECORD SKIPPED is now
Aug   8, 2022  only written if GEPARMNL GT LENGTH.

Change 40.100  CICS/TS 6.1 ERROR 22-322 using UTILEXCL -SOFLAG $CHAR4,
UTILEXCL       the comma after CHAR4 should be a period.
Aug  8, 2022
   Thanks to Gennady Katsnelson, Kyndryl, USA

Change 40.099 -Support for VMXGHSM DFSMSHSM Data Areas z/OS 2.5 Chap 15,
VMXGHSM        DVL-Dump Volume Record adds these variables to HSMDVL:
Aug  6, 2022      DVLDEVT='SOURCE VOL*UCB TYPE'
                  DVLFVALD='VOLUME HAS*VALID COPIES'
                  DVLMEDIA='MEDIA*TYPE'
                  DVLSEQNR='SEQUENCE*NUMBER'
                  DVLSTACK='NUMBER*OF DUMPS*STACKED'
   Thanks to Lindsay Oxenham, Defense, AUSTRALIA

Change 40.098  MXG 40.01 only. INPUT STATEMENT EXCEDED, INVALID data for
VMAC30         SMF30CONFOLOW because the INFORMAT &PIB.2 was missing the
Aug  4, 2022   final period, It should have been &PIB.2. with period.
   Thanks to Mary Kay Pettengill, Sirius, USA.

Change 40.097  If you are using Luminex MDI you could get a S013 ABEND
MDIZERO        in your z/OS job, if it did not produce any output in
Aug  4, 2022   SASLIST.  This change adds a data step that creates a
               single page of output to prevent the ABEND, You may want
               to add this datastep to your tailored IMACINIT or to
               every job you submit to the MDI from z/OS.
                data _null_;
                file print;
                put 'page output to prevent s013 abend. Change 40;097';
                run;

Change 40.096  Dataset TYPE749, PCIE Statistics, only output the first
VMAC74         SYNC I/O Response Distributions buckets.  Sets of 10 FLG,
Aug  4, 2022   Read, and Write Range and Sample Counts are created.
   Thanks to Raymond J. Smith, OPTUM, USA.
   Thanks to Ralph J. Romano, OPTUM, USA.


Change 40.095 -Support for z/16 MONWRITE VXPRCMFC Hardware HIS data with
FORMATS        z/VM Release 7.2.21.2 and new CRYPTO types in VXPRCAPM.
VMAC113        The z16 changed labels and uses different variables and
VMACVMXA       coefficients in the RNI and other metrics calculations.
Aug  3 2022    The calculations/coefficients are correct for each CPU,
               but the variable labels default to those for the z16.
               To process z15 and get correct labels you must use:
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA113F %
   Thanks to Graham Harris, NatWest, SCOTLAND.

Change 40.094  If you don't want to run a week but do want to run a
VMXGALOC       month-to-date, both members had problems.  VMXGALOC
BLDSMPDB       did not create the MONTH directories and BLDSMPDB did
Aug  1, 2022   not execute the MTD code and tried to initialize the
               non-existent week directories when FIRSTRUN=YES was
               used.
   Thanks to Doug Medland, Kyndryl, CANADA;

Change 40.093  Using the SAS FTP ACCESS method, the ftp process can hang
TECHNOTE       if HSM is migrating the SMF data file either from disk to
Jul 26, 2022   or tape back to disk.  Writing SMF data to tape will
               eliminate the exposure.

Change 40.092  ANALMQ and ANALAVAI were not honoring the PDB= parameter,
ANALMQ         instead always looked in DDNAME of PDB.  Now, the PDB=
ANALAVAI       argument is honored for the LIBNAME.
Jul 26, 2022

Change 40.091  The first step in moving MXG to a LUMINEX MDI is to copy
MDIZERO        USERID.SOURCLIB from z/OS to LINUX. This JCL uses the
Jul 26, 2022   PROC SOURCE on ZOS to create an IEBUPDTE input file that
               is then decoded and reconstructed on LINUX using the
               IEBUPDTE.SAS program in the MXG Sourclib.

Change 40.090  MXG Variables/Datasets that contain/include RUCSA metrics
TECHNOTE       Dataset TYPE78VS
Jul 26, 2022     R782FLG='RUCSA*IS*DEFINED?'
                 R782RUCA='RUCSA*ADDRESS*BELOW*16M'
                 R782RUCS='RUCSA*SIZE*BELOW*16M'
                 R782ERUCA='RUCSA*ADDRESS*ABOVE*16M'
                 R782ERUCS='RUCSA*SIZE*ABOVE*16M'
                 From IBM FIELD R782CSAU:
                 CSAUSED0='CSA*USED*MIN BELOW'
                 CSAUSED1='CSA*USED*MIN BELOW TIME'
                 CSAUSED2='CSA*USED*MAX BELOW'
                 CSAUSED3='CSA*USED*MAX BELOW TIME'
                 CSAUSED4='CSA*USED*AVERAGE BELOW'
                 CSAUSED5='CSA*USED*MIN ABOVE'
                 CSAUSED6='CSA*USED*MIN ABOVE TIME'
                 CSAUSED7='CSA*USED*MAX ABOVE'
                 CSAUSED8='CSA*USED*MAX ABOVE TIME'
                 CSAUSED9='CSA*USED*AVERAGE ABOVE'
                 From IBM FIELD R782CSAF:
                 CSAFREE0='CSA*FREE*MIN BELOW'
                 CSAFREE1='CSA*FREE*MIN BELOW TIME'
                 CSAFREE2='CSA*FREE*MAX BELOW'
                 CSAFREE3='CSA*FREE*MAX BELOW TIME'
                 CSAFREE4='CSA*FREE*AVERAGE BELOW'
                 CSAFREE5='CSA*FREE*MIN ABOVE'
                 CSAFREE6='CSA*FREE*MIN ABOVE TIME'
                 CSAFREE7='CSA*FREE*MAX ABOVE'
                 CSAFREE8='CSA*FREE*MAX ABOVE TIME'
                 CSAFREE9='CSA*FREE*AVERAGE ABOVE'
                 From IBM FIELD R782CSLF:
                 CSALARG0='CSA*LARGEST*FREE*MIN BELOW'
                 CSALARG1='CSA*LARGEST*FREE*MIN BELOW TIME'
                 CSALARG2='CSA*LARGEST*FREE*MAX BELOW'
                 CSALARG3='CSA*LARGEST*FREE*MAX BELOW TIME'
                 CSALARG4='CSA*LARGEST*FREE*AVERAGE BELOW'
                 CSALARG5='CSA*LARGEST*FREE*MIN ABOVE'
                 CSALARG6='CSA*LARGEST*FREE*MIN ABOVE TIME'
                 CSALARG7='CSA*LARGEST*FREE*MAX ABOVE'
                 CSALARG8='CSA*LARGEST*FREE*MAX ABOVE TIME'
                 CSALARG9='CSA*LARGEST*FREE*AVERAGE ABOVE'
                 From IBM FIELD R782CSAL:
                 CSAALOC0='CSA*ALLOC*MIN BELOW'
                 CSAALOC1='CSA*ALLOC*MIN BELOW TIME'
                 CSAALOC2='CSA*ALLOC*MAX BELOW'
                 CSAALOC3='CSA*ALLOC*MAX BELOW TIME'
                 CSAALOC4='CSA*ALLOC*AVERAGE BELOW'
                 CSAALOC5='CSA*ALLOC*MIN ABOVE'
                 CSAALOC6='CSA*ALLOC*MIN ABOVE TIME'
                 CSAALOC7='CSA*ALLOC*MAX ABOVE'
                 CSAALOC8='CSA*ALLOC*MAX ABOVE TIME'
                 CSAALOC9='CSA*ALLOC*AVERAGE ABOVE'
               Dataset TYPE71                               IBM NAME
                 CSAPGAV ='CSA TOTAL*CSTORE*FRAMES*AVERAGE' SMF71AVP
                 CSAPGMN ='CSA TOTAL*CSTORE*FRAMES*MINIMUM' SMF71MNP
                 CSAPGMX ='CSA TOTAL*CSTORE*FRAMES*MAXIMUM' SMF71MXP
                 CSLPFXAV='CSA FIXED*CSTORE*FRAMES*AVERAGE' SMF71AVC
                 CSLPFXMN='CSA FIXED*CSTORE*FRAMES*MINIMUM' SMF71MNC
                 CSLPFXMX='CSA FIXED*CSTORE*FRAMES*MAXIMUM' SMF71MXC

Change 40.089  New variables added to dataset SV34TRAN:
VMACSVIE        IMTR_CNT_SYNCPOINT='TOTAL*SYNCPOINT*COUNT'
Jul 26, 2022    IMTR_CLK_SYNC_ELAPSED='SYNCPOINT*ELAPSED*TIME'
                IMTR_CLK_OSAM_SYNC   ='OSAM*SYNCPOINT*TIME'
                IMTR_CLK_VSAM_SYNC   ='VSAM*SYNCPOINT*TIME'
                IMTR_CLK_APPL_ELAPSED='APPLICATION*ELAPSED*TIME'
               New variables added to dataset SV35TRAN:
                IMRA_SYNC_ELAPSED    ='TOTAL*SYNCPOINT*ELAPSED*TIME'
                IMRA_DB2_ELAPSED     ='TOTAL*DB2*ELAPSED*TIME'
                IMRA_MQ_ELAPSED      ='TOTAL*MQ*ELAPSED*TIME'
                IMRA_DB2_SQL         ='TOTAL*DB2*SQL*CALLS'
                IMRA_SYNCPOINT       ='TOTAL*SYNCPOINT*COUNT'
                IMRA_OSAM_SYNC       ='TOTAL*OSAM*SYNCPOINT*TIME'
                IMRA_VSAM_SYNC       ='TOTAL*VSAM*SYNCPOINT*TIME'
                IMRA_APPL_ELAPSED    ='APPLICATION*ELAPSED*TIME'

Change 40.088  Dataset TYPE42DS variable S42DS2DL is labeled and new
VMAC42         variable S42DS2MV is created. APAR OA59611.
Jul 18, 2022.

Change 40.087  Dedicated Memory variables added to TYPE30_4 (PDB.STEPS),
BUILD005       and  TYPE30_V (PDB.SMFINTRV).
BUIL3005         S30DMREQUESTED2G S30DMMINREQUESTED2G S30DMASSIGNED2G
VMAC30           S30DMINUSEAS2G S30DMINUSEASFIXED1M
Jul 18, 2022     S30DMINUSEASPAGEABLE1M S30DMINUSEAS4K
                 S30DMINUSEASDATTABLES S30DMINUSEAS4KHWM
                 S30DMINUSEASPAGEABLE1MHWM S30DMINUSEASFIXED1MHWM
                 S30DMINUSEAS2GHWM S30DMINUSEASDATTABLESHWM
                 S30DMINUSEHWM S30DM2GFAILED S30DM1MFAILED S30DM4KFAILED
                 S30DMINUSEAS2GHWM S30DM2GFAILED

Change 40.086 -Dataset TYP11911 Variable SMF119SC_SSH_KEX_METHOD is now
FORMATS        created and the incorrect spelled SMF119SC_SSH_KEX_ALG is
VMAC119        set to '0000'X and LABELed 'DO NOT USE'.
Jul 15, 2022  -Format $MG119KX METHOD and $MG119KA ALGORITHM updated to
               match the z/OS 2.5 IP Programmer's Guide values.
   Thanks to Joe Faska, DTCC, USA.

Change 40.085  New ZRBASI time variables added in z/OS 2.4 and 2.5
VMACRMFV          ASI_EJST='TCP*PROCESSOR*TIME*ALL TYPES'
Jul 12, 2022      ASI_SRBT='NON-PREMPT*SRB TIME*ALL TYPES'
                  ASICPUTA_CP='ALL*NONENCLAVE*TIME*ON CP'
                  ASI_CP_PHTM='PREEMPT*CLASS SRB*TIME*ON CP'

Change 40.084  TYPE73 data for SMF73CMG=2 Channel Measurement Group has
VMAC73         counters with invalid counts if the CHPID was VARIED in
Jul 11, 2022   the interval.  These variables are now set missing for
               those intervals CHFACTV/DFER/RATE/XACTV/XDFER/CHFXRATE
               PBUSBY PCHANBY PNCHANBY SMF73EOC/EOD/EOS/ETC/ETD/ETS/PUC
               TBC/SMF73TUC.
                 The three Channel Measurement Groups are described as:
                   1 - Channels like CNC or CTC
                   2 - Ficon or OSA Express
                   3 - Hypersockets
   Thanks to Vance Breckenridge, FMR, USA.

Change 40.083  If you specified PATHLIST=YES to get a report of the
PDBAUDIT       active LIBNAMES there were duplicate lines (SAS only)
Jul  8, 2022   caused by the return of 4 lines per LIBNAME from the PROC
               SQL. A sort was added with NODUP to eliminate the extra
               lines.

Change 40.082   There are 60 variables added by IBM to the TYPE30_4 data
BUILD005        that were not also added to the PDB.STEPS BUILDPDB data
BUIL3005        set, that are now added for completeness:
Jul  6, 2022      ASID     CPUZIPTM_CPUIFATM_INST ENCLACTM ENCLCPSU
                  ENQTIME  EXCPERR EXSRMERR IARVAPIN IARVEPIN IARVPSEC
                  IEFUSICH IEFUSIME SMF30ACB SMF30ACR SMF30CAI SMF30CCR
                  SMF30CHC SMF30CONFLAG1 SMF30CONFLAG2 SMF30CONFLAG3
                  SMF30CONFOLOW SMF30CR SMF30CRM SMF30DAS SMF30DSCC
                  SMF30HQT SMF30INV SMF30JF1 SMF30JQT SMF30NCR
                  SMF30NRDS SMF30PCF SMF30PF1 SMF30PF2 SMF30PFF
                  SMF30PFL SMF30PIN SMF30PRJ SMF30RQT SMF30RTR SMF30SCF
                  SMF30SLM SMF30SME SMF30SQT SMF30T32 SMF30T33 SMF30TF2
                  SMF30TIH SMF30TIS SMF30TIU SMF30_INCOMPLETE_DATA
                  SMF30_INSTCAPTDISRUPTION SMF30_INST_FLGS1_MRS
                  SMF30_RAXFLAG5 SMF30_RAXFLAG6 SMF30_RCMTADJN SRBCOEFF
                  SRMNODAT SUBSTEP WLMNAME

Change 40.081  If you did not have an SMF DD or FILENAME statement and
VMACSMF        your program tried to read SMF data you got a very odd
Jul  5, 2022   failure caused by the failure to create the SMFENG macro
               variable. The variable is now initialised to NO SMF
               INFILE FOUND and will be set to DISK or FTP with SAS or
               a blank value with WPS.

Change 40.080  In the process of debugging the problem for which 40.006
VMXGSUM        was the fix we added an UPCASE function as well as a
Jul  5, 2022   COMPBL function against the incode. Since all character
               compares in SAS are case sensitive this can cause an
               invalid compare if you are trying to compare values in
               the INCODE and are expecting a lower case value. This
               change removes the UPCASE but leaves the COMPBL which was
               really the solution to the problem.
   Thanks to Matthew I. Chappell, Queensland Government, AUSTERALIA

Change 40.079  NOTE: "Variable LENTYP50 may not be initialized" had no
VMAC50         real impact, as that variable was only to be kept and was
Jun 30, 2022   not actually used.  Now, correctly set to LENGTH.
   Thanks to Randy Schlueter, Fiserv, USA.

====== CHANGES THRU 40.078 ARE IN MXG 40.04 DATED Jun 29,2022 ==========

Change 40.078  MXG 39.09 and earlier fail with APAR OA61811/OA62502,
VMAC7072       due to an MXG error for SMF 72 Subtype 3 TYPE72GO that
Jun 25, 2022   failed to test for new fields after the last segment,
               which caused INPUT mis-alignment and invalid data values.
                  PTFs:  z/OS 2.3  UJ07991
                  PTFs:  z/OS 2.4  UJ07990
                  PTFs:  z/OS 2.5  UJ07989

              -WE STRONGLY SUGGEST YOU INSTALL THE CURRENT MXG 40.04
               WHICH AVOIDS THE COMPLEXITY OF THE BELOW CIRCUMVENTION
               AND PROVIDES SIGNIFICANT OTHER ENHANCEMENTS AFTER YOUR .
               BACKLEVEL VERSION. PLEASE USE THE FORM AT
                  HTTPS://WWW.MXG.COM/SOFTWARE_DOWNLOAD_REQUEST

               You can circumvent this MXG error by:
                -Downloading files at http://www.mxg.com/downloads/

               The APAR inserted new fields in SMF 72 Subtype 3 TYPE72GO
               that exposed an MXG coding error that failed to test for
               new added fields after the last new segment, causing the
               INPUT misalignment and invalid data values to be created.

               There MAY be INVALID DATA FOR R723IFAT messages or other
               fields printed, but those are accidental and there might
               not be ANY log messages that the error occurred. And even
               if there are INVALID DATA messages, they do not set a
               CONDITION CODE, so there may be no clue on the log that
               the error occurred.

               MXG 39.39 thru MXG 40.03 correctly input the new data.
               but only this change or MXG 40.04 has the protection for
               additional new fields.

Change 40.077 -Variables SYNCNCIN SYNCNCON SYNCKEXN are added and they
FORMATS        are decoded by format $MGSYNNG. Format $MGSYNEQ updated
VMACSYNC       for 'C9'X for SORTL.
Jun 24, 2022  -Format $MGSYNNG for Reason Code is missing values of
Nov 14, 2022   '06'x '07'x '0F' '10'x '11'x '13'x '18'x
Nov 21, 2022  -Variable SYNCEQLS is a multi-bit flag variable that is
               correctly decoded, but to identify SORTL was used, you
               must test the values of '08'x or 'C9'x so now there are
               eight one=byte variables for each bit for simpler tests:
                   SYNSOTRP='SORTOUT*DATA*STRIPING?'
                   SYNSITRP='SORTIN*DATA*STRIPING?'
                   SYNBPSI ='BATCHPIPES*MVS*DATASET*SORTIN?'
                   SYNBPDS ='BATCHPIPES*MVS*DATASET*PRESENT?'
                   SYNEQUON='EQUALS*ON?'
                   SYNCMPO ='COMPRESSED*SORTOUT*WITH*STARTIO?'
                   SYNCMPI ='COMPRESSED*SORTOUT*WITH*STARTIO?'
                   SYNSORTL='SORTL*ALGORITHM*USED?'
   Thanks to Jan Tielemans, KBC, BELGIUM.

====== CHANGES THRU 40.076 ARE IN MXG 40.03 DATED Jun 23,2022 =========

Change 40.076  ERROR: SHORT 42 SUBTYPE 6 ACCESS METHOD SECTION due to
VMAC42         a reserved field  that was overlooked.
Jun 23, 2022
   Thanks to Robert Chavez, Florida Power & Light, USA.

Change 40.075  Members VGETDDS and VMXGSET in First MXG 40.03 were
VGETDDS        replaced with those members from 40.02, Change 40.072
VMXGSET        "enhanced" those members to support more than 99 DDs, but
Jun 23, 2022   the enhancement could fail (only one report).

Change 40.074  Variable TLSLEVEL 1.1/1.2/1.3  is added to NDMCT dataset.
VMACNDM
Jun 21, 2022
   Thanks to Luis Mendoza, BKFS, USA.

====== CHANGES THRU 40.073 ARE IN MXG 40.03 DATED Jun 15,2022 =========

Change 40.073  S11912SAFLAGX40,20,10,08,04 were byte-tested ('80'X) so
VMAC119        only one bit was tested, but the field can have multiple
Jun 14, 2022   bits so the fields now are bit-tested ('1.......'B).
   Thanks to Tom White, Bank of America, USA.
   Thanks to Charlie Carlson, Bank of America, USA.

Change 40.072  Hardcoded limit of 99 DDs in VMXGSET limited VGETDDS.
VGETDDS        Limit replaced by better logic with no limit; IBM has
VMXGSET        increased the maximum number of generations to 999.
Jun 10, 2022
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 40.071  Explanation of DB2 differences with PROC COMPARE.
VMACDB2       -DB2ACCT QB1C/QB2C/QB3C/QB4C suffix HPG/HRE/HRF/HWF/HWR
VMACDB2H       and SWU are always missing values after Change 39.200,
Jun  5, 2022   they were replaced by SYIT/SYI/IOC/RSV3/RSV2/RSV1.
               All other DB2ACCT variables matched.
              -Datetime variables QWHSSTCK BEGTIME ENDTIME MXG 39.04+
               (Change 39.099) were 26 seconds early due to MXG logic
               that creates DB2GMTDB GMT Offset (IBM does not provide)
               which incorrectly thought leap seconds were included in
               the TODSTAMP fields.  The subtraction was removed.
               BUT: No site ever reported that 26 second delta!
              -DB2STAT4 QW0225 variables are larger; were 4 bytes now 8,
               and _REAL now includes _AUX & _DPAGE. (and AUX is 12288).
               Variable QW0225_WARN is corrected to bytes from blocks.
              -Datasets DB2ACCTR DB2ACCTW DB2STAT1 and DB2STAT2 match.
              -Dataset DB2ACCTB variables QBACCIOD/SYI/SYIT are also
               missing after Change 39.200 which reused their slots..
              -All Q8ACxxxx and Q8STxxxx variables are only populated
               with DB2NETEZZA.

Change 40.071  SMF42 Subtype 6 enhanced with new TYPE42DS variables:
VMAC42           S42JDVER='VERSION*NUMBER'
Jun  2, 2022     S42JDST1='STEP*NUMBER'
                 S42JDSTN='STEP*NAME'

Change 40.070  Support for z16 HIS SMF 113 data.
VMAC113        -Many labels are changed, and different counters are used
ASUM113         for RNI and the other metrics so the default support in
Jun  2, 2022    40.03 is only for the z16 metrics.  You will need to use
                separate jobs/steps to process each hardware platform.
                For the z/15 SMF you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA113F %
                and for the z/16 SMF you would use
                 //SYSIN DD *
                   %LET MACKEEP= MACRO _XLA113  _XLA113G %
                (or just use the default without a %LET statement.

Change 40.069  Updates from May 22, 2022 SMF Manual:
VMAC30        -TYPE30_4 TYPE30_5 TYPE30_6 TYPE30_V datasets
VMAC7072        New variables:
VMAC74          SMF30CONFOLOW SMF30CONFLAG1-SMF30CONFLAG3
VMAC90A
May 31, 2022

Change 40.068  Updates from May 24, 2022 Data Gatherer Manual:
VMACRMFV      -ZRBASI dataset
May 31, 2022    New flag variables:
                ASITRGRP='TENANT*RESOURCE*GROUP?'
                ASIRCVBO='RECOVERY*BOOST?'
              -ZRBLCP dataset
                New variable
                LCPUTOPC='TOPOLOGY*HAS*CHANGED'
              -ZRBDNG NEW Dataset:
                Await Test Data to update ASMRMFV and then VMACRMFV.

Change 40.067 -Service policy selection correction post-IPL checking to
ASMRMFV        enable sample set BEG/END time to coincide policy's.
May 30, 2022  -Cosmetic: correct RMFV008 DSORG alignment
              -Cosmetic: match ASM field names to match VMACRMFV
              -Restored REDID type variables to correct type
              -Errors processing UWDG3 record corrected.
              -Two sites have received CC=4 due to the BEG/END & REDIT
               change, because IBM Data Gatherer Support has been unable
               to replicate the warning, and we need to know if other
               sites have the issue.  If so, please use SENDVSAM to send
               your VSAM RMF III file so we can get it to IBM support.
              -It is also possible to get CC=4 for "WARNING:DEAD SPACE"
               but we are examining if that should be INFORMATIONAL for
               the next iteration of ASMRMFV.

Change 40.066. Variable ECMTSTMP in z/VM dataset VXSYTEPM was wrong; it
VMACVMXA       was not scaled by 128 microseconds.
May 27, 2022
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 40.065. TYPS103 ERROR: Attempt to open two sequential members
VMAC103        if //PDB was on tape.  The _STY1032 sort macro had //PDB
May 27, 2022   library for both the INPUT and OUTPUT.
   Thanks to Cesar V. Cocco, JPMorgan Chase, USA.

Change 40.064. Reserved Change.
May 31, 2022

Change 40.063. Variables DSAPTHTM JVMTHDTM MAXHTDTM in CICSTRAN are
VMAC110        correct if UTILEXCL was used to create your IMACEXCL,
May 24, 2022   but those variables were NOT divided by 4096 (for STCK)
               if you didn't use UTILEXCL and didn't have an IMACEXCL.
               This change adds the missing /4096 for those variables.
               And WTOTIOTM was also wrong because it includes DSAPTHTM
   Thanks to Lorena Ortenzi, Kyndryl, ITALY.
   Thanks to Alessandro Cappobianco, Kyndryl, ITALY.

Change 40.062. Dataset TYP11912SSH variable S11912SS_SSH_KEX_METHOD and
FORMATS        S11912SS_SSH_KEX_ALG that are formatted with $MG119KX did
May 20, 2022   not decode new values added by z/OS 2.4. Now values are:
                VALUE $MG119KX
                 '0000'X='UNKNOWN'
                 '0001'X='NONE'
                 '0002'X='DIFFIE-HELLMAN-GROUPEXCHANGESHA256'
                 '0003'X='DIFFIE-HELLMAN-GROUPEXCHANGESHA1'
                 '0004'X='DIFFIE-HELLMAN-GROUP14-SHA1'
                 '0005'X='DIFFIE-HELLMAN-GROUP1-SHA1'
                 '0006'X='ECDH-SHA2-NISTP256'
                 '0007'X='ECDH-SHA2-NISTP384'
                 '0008'X='ECDH-SHA2-NISTP521'
                 '0009'X='GSS-GROUP1-SHA1'
                 '000A'X='GSS-GROUP14-SHA1'
                 '000B'X='GSS-GEX-SHA1'
                 '000C'X= 'DIFFIE-HELLMAN-GROUP14-SHA256'
                 '000D'X= 'DIFFIE-HELLMAN-GROUP16-SHA512'
                 '000E'X= 'DIFFIE-HELLMAN-GROUP19-SHA512'
                 '000F'X= 'CURVE25519-SHA256'
                 '1002'X= 'DIFFIE-HELLMAN-GROUP19-EXCHANGESHA256(ICSF)'
                 '1003'X= 'DIFFIE-HELLMAN-GROUP19-SHA1(ICSF)'
                 '1004'X= 'DIFFIE-HELLMAN-GROUP14-SHA1(ICSF)'
                 '1005'X= 'DIFFIE-HELLMAN-GROUP1-SHA1(ICSF)'
                 '1006'X= 'ECDH-SHA2-NISTP256(ICSF)'
                 '1007'X= 'ECDH-SHA2-NISTP256(ICSF)'
                 '1008'X= 'ECDH-SHA2-NISTP521(ICSF)'
                 '1009'X= 'GSS-GROUP1-SHA1(ICSF)'
                 '100A'X= 'GSS-GROUP14-SHA1(ICSF)'
                 '100B'X= 'GSS-GEX-SHA1(ICSF)'
                ;
   Thanks to Eviatar Farchy, DTCC, USA.

Change 40.061.-RMM Extract Dataset EDGRDEXT new variables added:
VMACEDGR         RDLRED  ='LASTREF*EXTRA DAYS'
May 20, 2022     RDWHILECATON='WHILE*CATALOG=ON*Y,N?'
                 RDWHILECATUX='WHILE*CAGALOG*UNTIL*EXPIRED*Y?'
              -RMM Extract Dataset EDGRXEXT new variables added:
                 XVKEYLABEL1='ENCRYPTION*KEY*LABEL 1'
                 XVKEYENCOD1='ENCRYPTION*ENCODING*METHOD 1'
                 XVKEYLABEL2='ENCRYPTION*KEY*LABEL 2'
                 XVKEYENCOD2='ENCRYPTION*ENCODING*METHOD 2'
                 XVMEDINF   ='MEDIA*INFORMATION'
                 XVIRMMUSE  ='IRRM*USED?'
                 XVWORM     ='WORM*USED?'
                 XVHOLD     ='VOLUME*HOLD?'
                 XVESB      ='EXPD*SET BY*VOLUME'
                 XDESB      ='VEXPDT*SET BY*DATASET'
                 XVUCDATE   ='VOLUME*LAST*USER*CHANGE*DATE'
                 XVUCTIME   ='VOLUME*LAST*USER*CHANGE*TIME'
                 XDUCDATE   ='DATASET*LAST*USER*CHANGE*DATE'
                 XDUCTIME   ='DATASET*LAST*USER*CHANGE*TIME'
                 XDVEX      ='VRSEL*EXCLUDE?'
                 XVRETMET   ='RETENTION*METHOD'
                 XVRMSB     ='RETENTION*SET*BY'
                 XVCOMP_RAT ='COMPRESSION*RATIO*FOR VOLUME'
                 XVPHYS_USED='ACTUAL*SPACE*USED*ALL FILES'
                 XDCOMP_RAT ='COMPRESSION*RATIO*FOR FILE'
                 XDPHYS_SIZE='DATA ON*TAPE*AFTER*COMPRESSION'
                 XDLRED     ='LASTREF*EXTRA*DAYS'
                 XVEXRB     ='EXPDT*RETAINBY'
                 XVEDM      ='VOLUME*EDM?'
                 XDWHILECATON='DSN*WHILECATALOG*ON?'
                 XDWHILECATUX='DSN*WHILECATALOG*UX?'
   Thanks to John E. Benik, Optum, USA.

Change 40.060. RMF III update for ZRBRED dataset, and for FORMATS.
FORMATS
VMACRMFV
May 16, 2022

Change 40.059 -Support for SMF 80 RACFTYPE=67 records adds variables to.
VMAC80A        RACF dataset TYPE8081:
May 12, 2022     RA67BITS='PASSTICKET*EVAL*HEX'
                 RA67RTRN='PASSTICKET*RETURN*CODE*HEX'
                 RA67REAS='PASSTICKET*REASON*CODE*HEX'
                 RA67NAME='PASSTICKET*APPLICATION*NAME'
              -Only 5 UNKNOWN RACFTYPE messages are printed.
   Thanks to Craig S. Bigler, Progressive, USA.
   Thanks to Martha A. Knapik, Progressive, USA.

Change 40.058  Support for APAR OA60660 for TYPE9040 BOOST.
FORMATS       -New values for Formats MG090ID for SMF9040IDNR and
VMAC90A        MG090EV for SMF9040E.
May 23, 2022  -New variables
                BOOSTLEVEL='BOOST*LEVEL'
                RPBDISABLE='RPB*DISABLED?'
                SMF9040RPBDU='RPB*DURATION*DELTA'
                SMF9040RPBPO='RPB*DURATION*POTENTIAL'
                SMF9040RPBPD='RPB*DURATION*POT DELTA'
                SMF9040RPBPE='RPB*DURATION*POT E'
                SMF9040RPBED='RPB*DURATION*POT E DELTA'

Change 40.057  BUILDPDB CRITICAL ERROR DUPLICATE TYPE30 SUBTYPE 1 FOUND
BUILD005       can result when testing BUILDPDB jobs that ABENDED or if
BUIL3005       the same SMF file was read in multiple BUILDPDB jobs.
May  9, 2022   This enhancement inserts a PROC SORT NODUPKEY to remove
               any duplicates, printing log notes if any were found.
   Thanks to John Barnes, Zions Bank Corp.

Change 40.056  Dataset BVIR302 had only half the number of observations
VMACBVIR       it should have had starting in MXG 39.04 thru MXG 40.02.
May  6, 2022   due to a 2 byte misalignment for the second of the pair.

====== CHANGES THRU 40.055 ARE IN MXG 40.02 DATED May  5,2022 =========

Change 40.055 -Variable ZCOS01TI corrected.
VMACZCOS      -Support for subtype 5 in progress, text will be updated
Apr 29, 2022   if/when subtype 5 data with populated triplets received.
   Thanks to Virginie Peigney, CA-GIP, FRANCE.
   Thanks to Claude Tetard, CA-GIP, FRANCE.

Change 40.054  Variables added to TYPE122A dataset:
VMAC122A        SMF122T1S3F_VUON  ='CLIENT*ACTIVATION CODE*PROVIDED?'
Apr 28, 2022    SMF122T1S4_UUID   ='UUID'
                SMF122T1S1_SYSPLEX='SYSPLEX*NAME'
                ZEXPLAPIVERSIONCLIENT='ZEXPLAPI*VERSION*CLIENT'
                ZEXPLAPIVERSIONHOST='ZEXPLAPI*VERSION*HOST'
                PRODUCTAPIVERSIONHOST='PRODUCTAPI*VERSION*HOST'
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 40.053 -Variables SMF92WID added to all datasets.
VMAC92        -Subtype 11 and 16 records are both output in TYPE9211;
Apr 26, 2022   the value in SMF92STP identifies the subtype.
               Dataset TYPE9216 will always have zero observations.
              -New variables in Dataset TYPE9211:
                 SMF92CF4='Y';/*FILE*WAS*CACHED?*/
                 SMF92CF5='Y';/*FILE*HAD*DENY*READ?*/
                 SMF92CF6='Y';/*FILE*HAD*DENY*WRITE?*/
              -Tests for length SMF92ILN changed to GE 72 or 32 vs EQ.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 40.052  Variables TVCSIZE and TVCSIZE8 are now correct.
VMACBVIR
Apr 26, 2022
   Thanks to Maria Paola Bramosi, Kyndryl, ITALY
   Thanks to Lorena Ortenzi,Kyndryl, ITALY
   Thanks to Valeria Consiglio, Kyndryl, ITALY.

Change 40.051 -Clean-up of ZRBASM dataset corrected alignments and added
VMACRMFV       new variables
Apr 26, 2022      ASMZLP='OUTPUT*ZERO*LP*LPARS?'
                  ASMIFE='IF=*KEY*WORD*ERRORS?;
                  ASMSLSIZ='EXECUTION*STEP LVL*PGM SIZE'
                  ASMDCPCRX='MAXIMUM*CPCNAME*RANGES'
                  ASMDCPCPX='MAXIMUM*CPCNAME*PATTERNS'
                  ASMDLPRRX='MAXIMUM*LPARNAME*RANGES'
                  ASMDLPRPX='MAXIMUM*LPARNAME*PATTERNS'
              -These variables were retained from ZRBSSHG3 and output in
               ZRBBDSIH and the six ZRBSVCx datasets, but they are now
               removed because they are either missing or have wrong
               values, retained from from a prior sample set when there:
               are multiple sample sets input:
                GMTOFF SSHGOSYN SHIFT CPC_CECNAME LPARNAME SSHTIBEG
                SSHTIEND SSHRMFVN SSHMPRNR SSHGOMNT
              -If you use PROC APPEND, you MUST specify FORCE and NOWARN
               when there are changes between DATA= and BASE= datasets,
               to allow the APPEND and to prevent the WARNING MESSAGE
               and to prevent the CONDITION CODE 4.

Change 40.050 -MXG 40.01, SMF30 ABEND with z/16 SMF or APAR OA61511 due
VMAC30         to MXG coding error for new Crypto counters. Line 1812
Apr 22, 2022   IF OFFPROD GE 193 THEN DO; in VMAC30 needs to be GE 220
               to circumvent this error. That APAR was in RSU2301.

Change 40.049  An extra paren in the Dataset Label for IFCID 100 and 101
VMAC102        did not impact their creation, but VMXGPRAL died when it
Apr 20, 2022   tried to print those dataset labels.

Change 40.048 -ASUM70PR Hardware Capping variables SMF70HWGRNAME,
VMXG70PR       SMF70HWGR_CAP_LIMIT and SMF70HW_CAP_LIMIT are added to
Apr 25, 2022   dataset ASUMCELP.
              -TYPE70PR variable SMF70HWGR_CAP_LIMIT LABEL statement
               updated to 'IN NR ENGINES'.
              -CODE WARNING Message YES or not NO suppresses report.
   Thanks to Shantanu Gupta, ENSONO, USA.

Change 40.047  Support for IBM CL/SuperSession V3.1 found undocumented
VMACNAF        bytes and incorrect record lengths and invalid SMFSTAMP
Apr 16, 2022   values that had '20'x instead of '01'x for century bit.
   Thanks to Linda S. Berkley, DISA, USA.

Change 40.046  HSMFSRBO and HSMFSRST dataset variable FSR2_UNAM was
VMACHSM        INPUT as VARYING1024 but INPUT(FSR2_UNAM,$EBCDIC128.).
Apr 12, 2022   kept only the first 128 bytes.  Now all 1024 are kept.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 40.045  Support for APAR OA61609 for TYPE82 records.
FORMATS       -FORMAT $MG082AL updated for STAT_ENG_ALG_NAM in SMF8231.
VMAC82        -FORMAT $MG082LA updated for SMF82_TAG_KEY_ALG in SMF8241.
Apr  7, 2022  -Variable STAT_ENG_CARD_ID is now readable in SMF8231.
              -These Subtypes have changes in this APAR but I don't have
               test data: 1,41,42,45,46,48
              -Support for Z16 Hardware ICSM-CEX8S for Dilithium 6-5 R3,
               and 8-7 R3 Support in CCA and PKCS, Kyber in CCA/PKCS.
   Thanks to Luis Mendoza, BKFS, USA.

Change 40.044  No impact, but three TYPE70 variables are now reserved:
VMAC7072       SMF70MDL_CBP SMF70MCR_CBP and SMF70NCR_CBP were intended
Apr  7, 2022   to be populated for the CBP (Container Based Processor)
               engine which was never implemented, and IBM confirms
               there is no plan to do so going forward. The CBP fields
               replaced the discontinued zAAP fields. MXG was updated to
               support the ESP sites that also never happened. All zAAP
               variable's names were unchanged, but CBP was added to all
               labels; I don't intend to remove the CBP text..

Change 40.043  Replaced with Change 40.067.

Change 40.042  CICS/TS 6.1 BETA 25 removed fields 291 (SOCPSCT) and 293
VMAC110        (SOPSHWM) from CICSTRAN records. INCOMPATIBLE.
Apr  4, 2022

Change 40.041  If you ran VMXGUOW in a SAS session without a PDB DDNAME,
VMXGUOW        and you did not ask for MQ data (MXGMQAdd=yes) you could
Apr  4, 2022   get an error LIBREF PDB NOT FOUND.
   Thanks to Roger Lowe, NT Government, AUSTRALIA

Change 40.040  In May 2021 negative values in DB2 QPACZITM Package Ziip
TECHNOTE       time was reported to IBM. The error is addressed by APAR
Mar 31, 2022   PH40410 with PTF UI79705 for DB2 V12.1. This error
               impacts users of external stored procedures and UDFs when
               a stored procedure or UDF is cancelled in the middle of
               its processing. The SP/UDF recovery processing will get
               control, and in that recovery processing, code is missing
               or incorrect to record the times for the DB2 Accounting
               Record.  Code was added or fixed in the cancel thread
               scenario.
   Thanks to Glenn Bowman, Wakefern, USA.

Change 40.039  z/OS 2.5 TYPE 0 IPL record lengths 78 and 83 were not in
VMAC0          the list of valid record lengths causing ***VMAC0.ERROR
Mar 31, 2022   messages and those records were not input. For a true IPL
               the ERROR message is followed by a 90-10 PUTLOG which is
               the confirmation the type 0 was for an IPL.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY

Change 40.038  DATACOM INPUT missed reserved field causing misalignment
VMACDCOM       and incorrect values.  New variables added..
Mar 30, 2022
   Thanks to Linda S. Berkley, DISA, USA.

Change 40.037  New variable ZCOS01TI is created as a datetime value from
VMACZCOS       character variable ZCOS01TM.  Missing values are created
Mar 25, 2022   for values of 00.000.00-00:00 or all zeroes.
   Thanks to Pier-Pascal Jouilin, SOCGEN, FRANCE

Change 40.036 -ASMRMFV ZEROLP logic has been corrected to properly build
ASMRMFV        CPCDB records. With 39.227, the logical processor
ADOCRMFV       sections were padded with binary zeros which tripped up
Mar 22, 2022   VMACRMFV analysis of the CPCDB records.

CHANGE 40.035  Variables SMF70GMU, SMF70CPA, and SMF70WLA were missing
VMXG70PR       values in dataset ASUMCELP.
Apr 23, 2022   This is not yet implemented. Contact Support.

CHANGE 40.034  TYPE 70 BLOCKED WORKLOAD variables SMF70PMT and SMF70PMU
VMAC7072       were corrected. SMF70PMU is rounded up to next 1% in the
Mar 21, 2022   RMF Report, but MXG has left the actual value.
   Thanks to Flavio Lima, Kyndryl, USA.

CHANGE 40.033  VM Accounting VMID='C0'x and USER='RCSC' INVALID DATA FOR
TYPEVM         CPUMODEL because the format of the record changes and the
Mar 30, 2022   C0 record for RSCS has not yet been found. CPUMODEL is
               protected.
   Thanks to Linda Berkley, DISA, USA.

====== CHANGES THRU 40.032 ARE IN MXG 40.01 DATED Mar  4, 2022 =========

CHANGE 40.032 -If you ran VMXGUOW in a different SAS session than the
ASUMUOW        one that created the input data sets, VMACDB2,VMAC110 and
VMXGUOW        VMAC116 members are needed to resolve MACROs, but MXG
Mar 17, 2022   39.39 and earlier did not include VMAC116, causing zero
               obs in the MQ data since the step would try to use the
               _LTY116 and _LTY1161 which do not exist without VMAC116.
              -ASUMUOW example in comments was updated.
   Thanks to Nagaraj Pudukotai,

====== CHANGES THRU 40.031 ARE IN MXG 40.01 DATED Mar  4, 2022 =========

CHANGE 40.031  Replaced by Change 40.032.

Change 40.030  IMTR_TRN_ fields after STEPNAME were misaligned; the four
VMACSVIE       UNDOC bytes after IMTR_TRN_CLASS1 should be after USERID.
Mar  2, 2022   Select WHEN statements had underscore in text that should
               be dashes. Variable IMTR_DAC_DBDLET was added to KEEP and
               to MACRO _DR3ADA
   Thanks to James Robbins, Broadcom, USA.
   Thanks to Don Cleveland, KYNDRYL, USA

Change 40.029  ERROR: ARRAY SUBSCRIPT 51 OUT OF RANGE ARRAY ALHTNEXT.
VMACRMFV       The default array size of 50 lock holders was too small;
Mar  2, 2022   the temporary arrays were increased to 500 taking only
               2Mib virtual storage to eliminate any exposure.
   Thanks to Randy Schlueter, Fiserv, USA.

Change 40.028 -ASMRMFV now accepts PARM='F=Y,T=Y' syntax which caused
ASMRMFV        CC=8 in 39.39 (and EA 40.01) due to Change 39.100.
Mar  2, 2022   Syntax of PARM='FROM=FROM,TO=Y' will work with 39.39.
   Thanks to Len Shenfield, ADP, USA.
   Thanks to David Dittmar, ADP, USA.

Change 40.027  $MGSMFID Format for ANALID new 90.040 (BOOST INFORMATION)
FORMATS        and 90.41 (CVTLSO CHANGE). values added.
Feb 25, 2022

Change 40.026  TYPE72GO variables RDCENDxx were not input, because the
VMAC7072       test for LENSCS GE 815 should have been 813.
Feb 25, 2022

Change 40.025  Support for OA61511 Crypto/NNPI counts in SMF 0 and 30
EXTY30CP       ABENDS SMF 30 in MXG 40.01,  See Change 40.050 in 40.02.
EXTY30NP      -New variables added to TYPE0 dataset.
IMAC30            SMF0_NUM_CRYPCTRS='CRYPTO*COUNTERS*SUPPORTED'
VMAC30            SMF0_NUM_NNPICTRS='NNPI*COUNTERS*SUPPORTED'
VMAC0             SMF0_FLAGS='SMF0*FLAGS'
VMXGINIT       -New TYPE30CP and TYPE30NP datasets Crypto/NNPI counts.
Feb 25, 2022    TYPE30CP - CRYPTO COUNTERS
                  SMF30CONFLAG1='FIRSTREC*SET OF*TWO OR*MORE'
                  SMF30CONFLAG2='SECOND*NOT*LAST'
                  SMF30CONFLAG3='LAST OF*TWO OR*MORE'
                  SMF30_CRYPCTRS_ENTRY_ID='CRYPTO*COUNTER ENT ID'
                  SMF30_CRYPCTRS_VALUE   ='CRYPTO*COUNTER*VALUE'
                  SMF30CPA='SMF30CPA SECTIONS SUBSEQUENT'
                TYPE30NP - NNPI COUNTERS
                  SMF30CONFLAG1='FIRSTREC*SET OF*TWO OR*MORE'
                  SMF30CONFLAG2='SECOND*NOT*LAST'
                  SMF30CONFLAG3='LAST OF*TWO OR*MORE'
                  SMF30_CRYPCTRS_ENTRY_ID='CRYPTO*COUNTER ENT ID'
                  SMF30_CRYPCTRS_VALUE   ='CRYPTO*COUNTER*VALUE'
                  SMF30NPA='SMF30NPA SECTIONS SUBSEQUENT'

Change 40.024  Macro variables MXGALERT MXGMAILFROM MXGMAILTO added for
VMXGINIT       a future enhancement.
Feb 25, 2022

Change 40.023  SMF 102 IFCID 220 Argument to function MDY IS INVALID
VMAC102        was caused by +4 misalignment of the INPUT statement.
Feb 23, 2022
   Thanks to Randall Schlueter, FISERV, USA.

Change 40.022  Format $MGRMFRE decodes variable REDREDID in ZRBRED
FORMATS
VMACRMFV
Feb 13, 2022

Change 40.021  TYPETPMX variable JCLJJR was not decoded because TOKFIELD
VMACTPMX       contains a lower case character that was not expected.
Feb  9, 2022
   Thanks to Ralph J. Romano, OPTUM, USA.

Change 40.020  Added second TESTSTRING2 to delete invalid records that
VMACCTLC       have a blank in byte 9.
Feb  9, 2022
   Thanks to Craig Collins, State of Wisconsin, USA.
   Thanks to Maggie Buday, State of Wisconsin, USA.

Change 40.019  Format MGKILO was extended to decode EXABYTE VALUES.
FORMATS
Feb  8, 2022
   Thanks to Jorge Fong, DOITT.NYC.

Change 40.018  Dataset TYPE115S was misaligned because 8 bytes were
VMAC115        added to the SM1152NQ segments.
Feb  8, 2022
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 40.017  The TYPE30_4/TYPE30_5 dataset variables EXCPTOTL/EXCPNODD
VMAC30         IOTMTOTL/IOTMNODD counts are wrong for jobs/steps that
Feb  7, 2022   have MULTIDD='Y' records.  These are additional SMF 30
               records created when there are more DDs than will fit in
               one 32K record and they contain the extra TODD counts.
               The "real" step record that contains the address space
               EXCPTOTL/IOTMTOTL counts has MULTIDD=' ' with some TODD
               counts, but NODD=TOTL-TODD can't be calculated in that
               MULTIDD=' ' record because of the TODD counts that are in
               those other MULTIDD='Y' records.  And NODD can't be
               calculated in those records that don't have the TOTLs.
               The logic to combine those MULTIDD='Y' records and to
               create a single TYPE30_4/TYPE30_5 obs with correct counts
               is in the BUILDPDB logic, and you can use this example to
               create only the PDB.STEPS and PDB.JOBS datasets and use
               them in place of TYPE30_4 and TYPE30_5:
                 %LET MXGANALID=NO;
                 %LET MACFILE= %QUOTE (
                 IF ID=6 OR ID=26 OR (ID=30 AND SUBTYPE IN (1,4,5) ); );
                 %INCLUDE SOURCLIB(BUILD001,BUILD005);
                 PROC DATASETS LIB=PDB;
                 DELETE
                 DB2ACCT  DB2ACCTB DB2ACCTG DB2ACCTP DB2ACCTR DB2ACCTW
                 DB2GBPAT DB2GBPST DB2NETZA DB2ST225 DB2STAT0 DB2STAT1
                 DB2STAT2 DB2STAT4 DB2STAT5 DB2STATB DB2STATR DB2STATS
                 DB2STSBP NJEPURGE PRINT    SMFINTRV SPIN26   SPIN30TD
                 SPIN30_1 SPIN30_4 SPIN30_5 SPIN6 SPUNJOBS;
   Thanks to Jeffrey S. Britton, IRS, USA.
   Thanks to Mark C. Smith, IRS, USA.
   Thanks to Twanna G. Wiley, IRS, USA.

Change 40.016  z/OS 1.12 and 1.13 write SMF 42 Subtype 5 with LENSR=96
VMAC42         that MXG detected and deleted with a warning message, but
Feb  2, 2022   APAR OA53110 (2017) that added the new zHPF fields and
               set LENSR=160 is not available for these back-levals.
               However the records are valid for those 96 bytes and are
               now output with no message.
   Thanks to Jeffrey  Fracas, ENSONO. USA.

Change 40.015  ASCII execution. If you use VMXGALOC and choose to send
VMXGALOC       DB2 or CICS to a different location than the BASEDIR=
Jan 28, 2022   directory, the aging of directories failed because it was
               looking for that directory. Now, BASEDB2 and BASECICS are
               used.
               NOTE: VMXGALOC only deletes the directory indicated by
               the KEEP&&&&- parameters so if you have been running for
               a while you may need to do a manual cleanup. Assume today
               is Jan 28 and you used CICSKEEP=3. CICS220127 would be
               created and CICS220124 would be deleted leaving
               220125-220127 but any prior to 220124 would remain and
               would need to be manually deleted
   Thanks to Jose Rivera, UPS, USA.

Change 40.014  TYPE 16 SORT records can have offsets that point beyond
VMAC16         the record length causing INPUT STATEMENT EXCEEDED error.
Jan 28, 2022   Now prints TRUNCATED SMF 16 RECORD  INDS or OTDS log
               message that identifies the job that created the record,
               and the record is deleted.  One bad record was created
               by a job using PGM=ICETOOL that had an ABEND S222.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 40.013  Format $MGSYNEQ decodes variable SYNEQULS.
FORMATS
VMACSYNC
Jan 31, 2022
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 40.012  Variable R742PUSE in dataset TYPE74PA is changed from the
VMAC74         count of 1K blocks to the number of bytes and formatted
Jan 28, 2022   MGBYTES so it can be directly compared with R742PMXM.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 40.011 -Variable TPCRELEASE added to dataset XMTCPSYS.
EXVSIDIA      -Support for VSIDIA Segment with Linux Diagnose Codes
FORMATS        creates XMVSIDIA dataset.
VMACXAM
VMXGINIT
Jan 31, 2022
   Thanks to Douglas C. Walter, CITIGROUP, USA.
   Thanks to Arthur Koerner, CITIGROUP, USA

Change 40.010  z/VM 7.2.21.02 ABEND with Broken Control Record corrected
VMACVMXA
Jan 27, 2022
   Thanks to Rob D'Andrea, NATWEST, SCOTLAND.

Change 40.009  Variables QCSTSLSN/QCSTSLCN/QCSTSLCS are added to dataset
TYPE116        MQCHININ.
Jan 26, 2022
   Thanks to Gennady Katsnelson, Kyndryl, USA.

Change 40.008  The DCB Attributes were incorrectly added to VMACBVIR in
TYPEBVIR       line 55 in VMACBVIR.  They are now removed and only the
Jan 24, 2022   JFCB=BVIRJFCB is set for z/OS execution.
   Thanks to Jorge Fong, DOITT.NYC.

Change 40.007 -If you did not specify an offset for a system 0 was used
TIMEBILD       and if you did not specify a GMT offset 0 was used again.
VMAC30         Now both produce MXGNOTEs and the offset is still set to
Jan 31, 2022   0 and the GMT offset is to the same value as the offset.
              -Variable INTBTIME was corrected for TIMEBILD.
   Thanks to Rob G. Hollingum, HSBC,

Change 40.006  Very odd problem from an ASCII user.  It appears that
VMXGSUM        their IMACSHFT member may have been created using a
VMXGRMFI       TEXT EDITOR that leaves out the CRLF at the end of each
Jan 23, 2022   line creating a long string. When that string hit the
               incode logic it choked and probably broke a line in the
               middle or a word. THere were two solutions and both are
               implemented. First VMXGSUM was modified and the COMPBL
               function is used to get rid of blanks. Second the
               redundant IMACSHFT call in the first TYPE75 summary was
               removed.  Error surfaced as INDEX VALUE error on log.

Change 40.005  R742PUTx variables in TYPE74PA were divided by 1E-6 after
VMAC74         being INPUT with INFORMAT &PIB.8.6 which also divides the
Jan 19, 2022   PIB8 value by one million.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 40.004  Hard-coded DATA FINL70PR1/VIEW=FINL70PR1 was overlooked
VMXG70PR       and its VIEW could not be disabled with %LET MXGVIEW=NO.
VMXGINIT       Now, macro variable &VWTY70PR is used. Early WPS did not
Jan 14, 2022   support VIEWS.
   Thanks to John Compton, World Programming, ENGLAND.
   Thanks to Chris Hill, World Programming, ENGLAND.

Change 40.003  PDB.RMFINTRV new variable MSUSCRT=CPUEFFTM*SMF70CPA/1E6
VMXGRMFI       estimates the MSU reported by IBM's SCRT.
Jan 12, 2022
   Thanks to Thomas Heitlinger, Atruvia, GERMANY

Change 40.002  Summarization and Trending for MQ SMF 115 data. MXG 39.39
ASUM115X       had added ASUMMQAC and TRNDMQAC for MQ SMF 116 data.
TRND115X
VMXGINIT
Jan 11, 2022

Change 40.001  CICS/TS 6.1 OPEN BETA 22 Jan 22, 2022 REQUIRES MXG 40.01
TYPE110        because a second new field was inserted in the CICSTRAN
UTILEXCL       record.  The first was added/supported in MXG 39.07.
Jan 11, 2022

LASTCHANGE: Version 40.
=========================MEMBER=CHANGE39================================
 /* COPYRIGHT (C) 1984-2022 MERRILL CONSULTANTS DALLAS TEXAS USA */

E.A.    MXG VERSION 39.39 is  dated Dec 30, 2021, thru Change 39.225..
        MXG VERSION 39.09 was dated Dec  2, 2021, thru Change 39.213.
        MXG VERSION 39.08 was dated Oct 15, 2021, thru Change 39.199.
        MXG VERSION 39.07 was dated Sep 20, 2021, thru Change 39.190.
        MXG VERSION 39.06 was dated Aug 12, 2021, thru Change 39.167.
        MXG VERSION 39.05 was dated Jul 16, 2021, thru Change 39.149.
        MXG VERSION 39.04 was dated Jun  1, 2021, thru Change 39.116.
        MXG VERSION 39.03 was dated May  3, 2021, thru Change 39.092.
        MXG VERSION 39.02 was dated Apr  4, 2021, thru Change 39.066.
First   MXG VERSION 39.02 was dated Apr  1, 2021, thru Change 39.063.
        MXG VERSION 39.01 was dated Feb 17, 2021, thru Change 39.028.
First   MXG VERSION 39.01 was dated Feb 16, 2021, thru Change 39.026.

ANNUAL  MXG VERSION 38.38 was dated Jan  4, 2021, thru Change 38.234.
        New TECHNOTES previously in NEWSLTRS are now in CHANGESS.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 39.39 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 39.39.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains old Technical Notes. many of which are still
  valid, but the last was in 2018.  Now, TECHNOTES and FLASHes are in
  CHANGES/CHANGESS. which are also online.
  The Final MXG Newsletter SIXTY-NINE was dated Jan  3, 2018.

  Member CHANGES contains the changes made in this current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  CHANGESS and NEWSLTRS are also online at http://www.mxg.com,

========================================================================

I.  MXG VERSION 39.39 DATED Jan  5, 2022 THRU CHANGE 39.225.

==MAJOR CHANGES ADDED IN MXG 39.39, DATED Jan  5, 2022 THRU 39.225.

NEW SUPPORT
  ASUMMQAC 39.220  Summarization of MQMACCT (SMF116).
  TRNDMQAC 39.220  Trending of MQMACCT (SMF116).
  UTILWORK 39.219  Create Workload Definitions for RMFINTRV
  VMXGINIT 39.214  Support for SAS Viya INCOMPAT Version Format Change

==MAJOR CHANGES ADDED IN MXG 39.09, DATED Dec  2, 2021 THRU 39.213.

NEW SUPPORT
  TYPEDB2  39.200  Support for DB2 zHyperlink new data.
  TYPE90A  39.206  FORMAT MG090CM for CMDMVS new values decoded.
  TYPESVIE 39.207  Sysview SV27DB2/SV27PROG/SV27TRAN updated.
  FNDMXGJB 39.210  Find probable MXG Job execution SAS/SOURCLIB/LIBRARY.
  TYPERACF 39.212  Support for RACF Unload 0207 and 05B0 records.
ENHANCEMENTS
  ANALDB2R 39.209  DB2 DBID/OBID Decoded if there is an IFCID 105.
  TYPEDB2  39.208  DB2STATB/S variables AGET/ASGE/ASSE/ASYN deaccumed.
  DODSCRDT 39.204  CREATEDATE Year 1772 in 2028 corrected.
ERRORS CORRECTED
  TYPE82   39.203  SMF 82 Subtype 24 INPUT STATEMENT EXCEEDED corrected.
  TYPETLC  39.202  Protect BMC Control-D CSV invalid quotes protected.
  TYPE50   39.201  MXG 39.08-39.08 Error if no //INSTREAM DD.
  TYPE6156 39.213  Protection for TYPE6156 record with short segment.

==MAJOR CHANGES ADDED IN MXG 39.08, DATED Oct 15, 2021 THRU 39.199.

ERROR CORRECTED:
  TYPE6156   39.196  MXG 39.07 INPUT EXCEEDED, SMF6XSTCKE incorrect..
  TYPE30     39.194  AVGWKSET,CPUTOTTM,CPUUNITS could be too large.
  TYPE50     39.198  TYPE50 OSA Express Accel TY50PKAC misspelled.

NEW SUPPORT:
  TYPESVIE   39.199  Support for MainView IMS Updates/Enhancements
  FORMATS    39.197  SMF 119 $MG119CF NEG-CIPHER decoded for ZERT.
  TYPERMFV   39.192  RMF III for z/OS 2.5 plus new tables supported.

ENHANCEMENTS
  BLDSMPDB   39.195  USEVMXGSET adds OPEN=DEFER for z/OS save drives.
  SELSMF     39.192  Select and write SMF records from each system.
  ICETOOL    39.191  Select records on z/OS for ASCII execution example.

==MAJOR CHANGES ADDED IN MXG 39.07, DATED Sep 20, 2021 THRU 39.190.

FLASH
  WPS ONLY   39.171  WPS Errors in 4.3.1 fixed in 4.3.3.

NEW SUPPORT:
  TYPE110    39.176  Support for CICS/TS 6.1 CICSTRAN/UTILEXCL.
  TYPEDB2    39.188  Support for CICS-DB2 ATTACH APAR PH31440 fields.
  TYPEVELO   39.179  Support for Dino VelociRaptor SMF records.
  TYPEPRF    39.178  Support for Dell PRF Monitor MFE SMF records.
  TYPECTLC   39.175  Support for BMC CONTROL-D CSV audit file.
  TYPE1415   39.173  Support for SMF14DSENCARCHKEY encrypted flat.
  TYPERMFV   39.168  Support for RMF III z/OS 2.5 existing tables.
  TYPE30     39.186  Support for APAR OA61368 new RAXFLAGS bits.

ENHANCEMENTS
  TYPE110    39.180  Enhanced MXGABND can set Condition Code.
  BUILD005   39.181  Variables BOOSTACTIVE/BOOSTCLASS in PDB.STEPS.
  IMACABND   39.180  MXGABND can set a condition code instead of ABEND.
  TYPENDM    39.173  New format $MGNDMCP decodes NDMCPEA Cipher values.

ERRORS CORRECTED
  TYPE90A    39.170  Conflict with variable SMF9040ID, char vs numeric.

==MAJOR CHANGES ADDED IN MXG 39.06, DATED Aug 12, 2021 THRU 39.167.

NEW SUPPORT:
  TYPE1153 39.163  Support for SMF ID=1153 JES 2 Monitor.
  TYPEQSEL 39.158  Support for Quick Select product's SMF records.
  TYPEVIRS 39.154  Support for VIRTEL AUDIT VIRSTATA SMF records.
  TYPE83   39.153  Support for new datasets and variables.

==MAJOR CHANGES ADDED IN MXG 39.05, DATED Jul 16, 2021 THRU 39.153.

ERRORS CORRECTED
  VMAC110  39.145  SMF 110 Subtype 1 MNSEGCL=5 (NOT CICSTRAN) ABEND 5.3.
  VMXGALOC 39.148  ERROR: Libref TREND not assigned.
  ANALMSUS 39.140  Using READSMF=YES and PDBOUT=WORK ERRORed
  VFMT102  39.139  ANALDB2R failed FORMAT NOT FOUND if no subtype 104.
  VMXGRMFI 39.136  Special Characters in Class Names not supported
  ANALDB2R 39.135  Superfluous %END z/OS only ABEND after Change 39.080
  VMACNDM  39.133  NDM HW/H2 records do not match DSECT, IBM SR open.
  UTILBLDP 39.129  ERROR: Old-style macro name _ID102 xxx must contain.
  VMAC71   39.128  Variables PAGBLAV and PAGEBLMX were reversed.
  VMAC16   39.123  INVALID ENDTIME in TYPE16 z/SORT records.
  ASMRMFV  39.122  ASMRMFV failed with back-level ASM UI60362 (2020).
  VMXGALOC 39.120  MXGERRORs if FIRSTRUN=YES was not used first time.
  UTILCPLG 39.118  ASCII Copy Log to File utility doesn't if blanks.
  VMAC30   39.117  JOBCLAS8='STC' erroneously set one byte JOBCLASS='S'.
IBM ERRORS CORRECTED
  VMAC7072 39.138  If Configuration changed NRCPUs LCPUPDTM invalid.
  VMAC92   39.125  STCKE GMTOFF92 wrong, IBM date was +60 years 2081!
ENHANCEMENTS
  VMACSVIE 39.141  Updates to SYSVIEW IMS datasets SV34TRAN & SV35TRAN
  MONTHPDB 39.146  New generic example for Monthly PDB.
  VMAC110  39.147  CICSTRAN OADATA1X created for SMF 123A merge.
  FORMATS  39.132  FORMAT values added for Recovery Boost Start/End.
  VMAC50   39.131  Updates and Corrections for VTAM Tuning.
  VMAC123A 39.127  Liberty SMF 123 SYSNAME was CVTSNAME.
  VGETALOC 39.124  Enhanced support and Linux example in the member.
  VMACHSM  39.119  Support for HSM ZEDC Compression in HSMFSRST.

==MAJOR CHANGES ADDED IN MXG 39.04, DATED Jun  1, 2021 THRU 39.116.

ERRORS CORRECTED
  TYPEDCOL 39.093  Correction to sizes in DCOLLECT DATASETS.DATASETS.
  VMACDB2H 39.099  Correction of DB2 GMT Offset to include Leap Seconds.
NEW SUPPORT
  VMAC123A 39.102  Support for z/OS Connect EE SMF 123 Subtype 2 record.
  VMACBVIR 39.108  Support for BVIR Version R5.x  8.50.x.x
  VMAC0    39.103  Support for more than 4TB of Real Storage.
  VMACDB2  39.099  Support for DB2 Netezza/IDAA Accelerator new data.
  ASMRMFV  39.100  ASMRMFV Field Data Filter for CRYG3 Crypto table.
ENHANCMENTS
  TYPE89   39.096  New SMF89SOLUTIONID for Tailored Fit Pricing SOLUT.
  ASUM70PR 39.097  New NOTALLLPARS=YES suppresses missing LPAR message.
  VMAC110  39.104  New %LET MACEXCL=IMACEXCL supports multiple IMACEXCL.
  VMACSMF  39.109  More examples using _SMF for record selection.

==MAJOR CHANGES ADDED IN MXG 39.03, DATED May  3, 2021 THRU 39.092.

ERRORS CORRECTED
  ASUMUOW  39.085  Variable TRANNAME in PDB.ASUMUOW only one character.
  ANALDB2R 39.080  ANALDB2R can fail if PMAUD02 requested but no data.
  VMXGRMFI 39.077  VMXGRMFI(PDB=SMF) could fail, UTILBLDP now used.
  UTILEXCL 39.078  MXG 39.02. EXCLUDED FIELDS ERROR typo $CHAR54 vs 64.
NEW SUPPORT
  TYPEHSM  39.086  Support for HSM UNIX CLOUD statistics variables.
  TYPERMFV 39.079  Support for RMF III CRYG3 Cryptographic Hdw Table.
  TYPERMFV 39.071  RMF III Percents in System Info and CPC Summary.
  TYPE102  39.091  Support for new variables in IFCID=402.
  TYPE80A  39.090  Support for RACF Pass Ticked Eval, TYPE8081 PTEVAL.
  TYPE84   39.076  Support for Phoenix JES3plus SMF 84 subt correction.
  TYPE106  39.075  Support for new SMF 106 subtypes HWIREST API data.
  TYPERMRV 39.074  Support for RMF III Feb 2021 Updates, BOOST, etc.
  TYPEDB2  39.070  Support for DB2 APAR PH31684 zSORT and NETEZZA.
  TYPE42   39.075  SMF Manual update new variable in TYPE42DS.
  VMXGALOC 39.068  New parm to leave WORK uncompressed, PDB compressed.
  TYPEXAM  39.089  Velocity XAM storage variables MXGBYTE formatted.
  ASUM70PR 39.072  ZIPOVHTM and PCTZIPOV added to four outputs datasets.

==MAJOR CHANGES ADDED IN MXG 39.02, DATED Apr  4, 2021 THRU 39.066.

ABEND CORRECTED
  TYPE16   39.057  INPUT EXCEEDED SMF 16 ZSORT APAR PH32395 cannot use
                   Sort Exits E15/E35 with zSORT. Also caused 0C4 in
                   Broadcom's CA7 SASSHISS program. See Change text.
  ASMRMFV  39.060  HLASM UI73933 worked, UI60352 didn't, corrected.
  TYPECDC  39.023  Short Infosphere records caused INPUT EXCEEDED.
NEW SUPPORT
  TYPENDCD 39.033  Support for NDM-CDI SMF (default 133) APAR PH35087.
  TYPE90A  39.028  Support for SMF 90 subtype 41, CVTLOS value changed.
  TYPECLTA 39.026  Support for IBM TAPE CLOUD CONNECTOR SMF record.
ENHANCEMENT
  ASMRMFV  39.039  Field Data Filter can reduce size of RMFBSAM file.
  VMACSMF  39.025  Example _SMF for selection, CICS Dictionary records.
  TYPE110  39.053  z/OS EE Connect CICSTRAN vars OADATA1/2/3 decoded.
CORRECTIONS
  TYPE120  39.036  Negative CPU WebSphere SMF 120 TYP120BL APAR PH35442.
  TYPEBETA 39.031  BETA 93 subtype 5 shortened, many variables gone.
  TYPE0    39.059  GMT Offset CVTTZ in TYPE0 was off by 1 second.

==MAJOR CHANGES ADDED IN MXG 39.01, DATED Feb 17, 2021 THRU 39.028.

ABEND CORRECTED:
  ANAL9914 39.018  Some ANAL9914 invocations mismatched %DO-%END logic.
  VMACDB2  39.017  DB2 NETEZZA IDAA 100-1 INPUT STATEMENT EXCEEDED.
  ASMRMFV  39.013  MXG 34.06-38.38 ABEND if STOREGROUP GT 1361 vols.
CORRECTIONS
  UTILWORK 39.020  UTILWORK creates RMFINTRV code member, enhanced.
  VMXG70PR 39.021  Override PSU70PR/LP/GC/GL DD's may not work.
  VGETJESN 39.002  WARNING TYPETASK NOT DECODED SUBSYS=SAR
  VMACXAM  39.022  Variables missing values in XAMSYS corrected.
  VMXGPRNT 39.019  SP_REMV='Y' truncated some labels.
  ANALMSUS 39.015  The JOB report now includes all TASKTYPEs.
  ANALID   39.004  ANALID did not identify CICS Compressed Records.
  VMAC102  38.010  DB2 IFCID 172 dataset T102s172 variables corrected
  VMAC80A  39.003  TYPE80TK observation count is smaller now.
  VGETJESN 39.002  TYPETASK not decoded for SUBSYS='SAR'.
TECHNOTES
  TECHNOTE 39.012  z/OS SAS ODS may need to increase MEMLEAVE option.
  TECHNOTE 39.008  z/OS SAS ODS can use zIIPs, Java error may prevent.

  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
    The current version nomenclature is SAS 9.4 TS1M7 (9.4M7),
     "M7", or with options  VERSIONLONG;
      "SAS 9.4 (9.04.01M7P080520)" on z/OS
           9.4 (TS04.01M7P08052020)"  on ASCII.

     SAS V9.4 M7 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.



     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 36.11 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      DO NOT USE 4.03.01 nor 4.04.00, INVALID CPU BUSY in TYPE70.
      Error was introduced in 4.03.01  and 4.04.00. See Change 39.171.
      Must be at 4.03.02.00.8569+ or 4.04.00.03.3277+/

      WPS Version 4.01 USER 4037 ABEND, See Change 37.116.
      WPS Version 4.0 reportedly fixed version 3 problems.
      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

     The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
     records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
     ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
     Support for counter changes for both models was in MXG 37.08.
        If you use MIPS in reports, the format $MGRMIPS provides the
        MIPS/MSU value for each processor; the z15 values were updated
        in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
        These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
        GRAFWRKX and TYPERMFV (RMF III).

     The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
     HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs.  Change 38.048.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

   The new zEDC/EADM compression hardware requires MXG 38.05 to support
   new metrics.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.
      z/OS 2.4 Compatible from SMF Manual May 2020 38.105  38.05.
      z/OS 2.4 Compatible from SMF Manual Apr 2021 39.075  39.03.
      z/OS 2.4 Compatible RMF III PGMR Apr  1 2021 39.074  39.03.
      z/OS 2.5 Compatible from SMF     Aug 12,2021         39.06.
      z/OS 2.5 Compatible RMF III      Aug 12,2021         39.08.
      z/OS 2.5 RMF III 4 new tables    Aug 12,2021         39.08.

      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15 New SMF 113 fields INCOMPAT  Nov 18, 2020        37.08
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      z15 ANAL9914 Support CH 39.006   Jan 14, 2021        39.01
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS/TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS/TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS/TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS/TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS/TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS/TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS/TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS/TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS/TS 3.2 Compressed Records   Nov  3, 2007        25.11
      CICS/TS 4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS/TS 4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS/TS 4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS/TS 4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS/TS 4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS/TS 5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS/TS 5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS/TS 5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS/TS 5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS/TS 5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS/TS 5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS/TS 5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS/TS 5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS/TS 5.3 GA date              Dec 11, 2015        33.33
      CICS/TS 5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS/TS 5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS/TS 5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS/TS 5.4 GA                   Jun 17, 2017        35.03
      CICS/TS 5.5 GA (INCOMPAT)        Jan 29, 2018        36.11
      CICS/TS 5.6 GA (INCOMPAT)        Jun  1, 2020        38.07
      CICS/TS 5.6 NEW DATA (COMPAT)    Oct  5, 2020        38.09
      CICS/TS 6.1 INSERTS (INCOMPAT)   Sep 20, 2020        39.07
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 17, 2019        37.02
      z/VM    7.1  INCOMPAT ABEND      Feb 14, 2019        37.02
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 39.39.

 1. Incompatibilities introduced in MXG 39.39:

  a. Changes in MXG architecture made between 39.39 and prior versions
     that can introduce known incompatibilities.

     IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
     YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
     The error before this correction will be:
     ERROR: DATA SET "PDB.TYPE70" was not specified on the DATA stmt.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 39.39:

  Dataset/
  Member   Change    Description
  ANAL9914 39.018  Some ANAL9914 invocations mismatched %DO-%END logic.
  ANALDB2R 39.135  Superfluous %END z/OS only ABEND after Change 39.080
  ANALDB2R 39.209  DB2 DBID/OBID Decoded if there is an IFCID 105.
  ANALID   39.004  ANALID did not identify CICS Compressed Records.
  ANALMSUS 39.015  The JOB report now includes all TASKTYPEs.
  ANALMSUS 39.140  Using READSMF=YES and PDBOUT=WORK ERRORed
  ASMRMFV  39.013  MXG 34,06-38.38 ABEND if storegrop 1361 vols.
  ASMRMFV  39.039  Field Data Filter can reduce size of RMFBSAM file.
  ASMRMFV  39.060  HLASM at UI73933 works, UI60352 doesn't assemble.
  ASMRMFV  39.100  ASMRMFV Field Data Filter for CRYGE Crypto table.
  ASMRMFV  39.122  ASMRMFV failed with back-level ASM UI60362 (2020).
  ASUM70PR 39.097  New NOTALLLPARS=YES suppresses missing LPAR message.
  ASUMMQAC 39.220  Summarization of MQMACCT (SMF116).
  BUILD005 39.181  Variables BOOSTACTIVE/BOOSTCLASS in PDB.STEPS.
  DODSCRDT 39.204  CREATEDATE Year 1772 in 2028 corrected.
  FNDMXGJB 39.210  Find probable MXG Job executionsSAS/SOURCLIB/LIBRARY.
  FORMATS  39.132  FORMAT values added for Recovery Boost Start/End.
  IMACABND 39.180  MXGABND can set a condition code instead of ABEND.
  MONTHPDB 39.146  New generic example for Monthly PDB.
  TECHNOTE 39.012  z/OS SAS ODS may need to increase MEMLEAVE option.
  TRNDMQAC 39.220  Trending of MQMACCT (SMF116).
  TYPE0    39.059  GMT Offset CVTTZ in TYPE0 was off by one second.
  TYPE0    39.103  Support for more than 4TB of Real Storage.
  TYPE102  38.010  DB2 IFCID 172 dataset T102s172 variables corrected
  TYPE110  39.053  z/OS EE Connect CICSTRAN vars OADATA1/2/3 decoded.
  TYPE110  39.104  New %LET MACEXCL=IMACEXCL supports multiple IMACEXCL.
  TYPE110  39.145  INPUT STATEMENT EXCEEDED MNSEGCL=5 CICS 5.3.
  TYPE110  39.147  CICSTRAN OADATA1X created for SMF 123A merge.
  TYPE110  39.176  Support for CICS/TS 6.1 CICSTRAN/UTILEXCL.
  TYPE1153 39.163  Support for SMF ID=1153 JES 2 Monitor.
  TYPE120  39.036  Negative CPU WebSphere SMF 120 TYP120BL APAR PH35442.
  TYPE123A 39.102  Support for z/OS Connect EE SMF 123 Subtype 2 record.
  TYPE123A 39.127  Liberty SMF 123 SYSNAME was CVTSNAME.
  TYPE1415 39.173  Support for SMF14DSENCARCHKEY encrypted flat.
  TYPE16   39.057  Protection for truncat SMF 16, ZSORT triplet no data.
  TYPE16   39.123  INVALID ENDTIME in TYPE16 z/SORT records.
  TYPE30   39.117  JOBCLAS8='STC' erroneously set one byte JOBCLASS='S'.
  TYPE30   39.186  Support for APAR OA61368 new RAXFLAGS bits.
  TYPE50   39.131  Updates and Corrections for VTAM Tuning.
  TYPE50   39.201  MXG 39.08-39.08 Error if no //INSTREAM DD.
  TYPE71   39.128  Variables PAGBLAV and PAGEBLMX were reversed.
  TYPE80A  39.003  TYPE80TK observation count is smaller now.
  TYPE82   39.203  SMF 82 Subtype 24 INPUT STATEMENT EXCEEDED corrected.
  TYPE83   39.153  Support for new datasets and variables.
  TYPE89   39.096  New SMF89SOLUTIONID for Tailored Fit Pricing SOLUT.
  TYPE90A  39.028  Support for SMF 90 subtype 41, CVTLOS value changed.
  TYPE90A  39.170  Conflict with variable SMF9040ID, char vs numeric.
  TYPE90A  39.206  FORMAT MG090CM for CMDMVS new values decoded.
  TYPE92   39.125  STCKE GMTOFF92 wrong, IBM date was +60 years 2081!
  TYPEBETA 39.031  BETA 93 subtype 5 shortened, many variables gone.
  TYPEBVIR 39.108  Support for BVIR Version R5.x  8.50.x.x
  TYPECDC  39.023  Short Infosphere records caused INPUT EXCEEDED.
  TYPECLTA 39.026  Support for IBM TAPE CLOUD CONNECTOR SMF record.
  TYPECTLC 39.175  Support for BMC CONTROL-D CSV audit file.
  TYPEDB2  39.017  DB2 NETEZZA IDAA 100-1 INPUT STATEMENT EXCEEDED.
  TYPEDB2  39.099  Support for DB2 Netezza/IDAA Accelerator new data.
  TYPEDB2  39.200  Support for DB2 zHyperlink new data.
  TYPEDB2  39.208  DB2STATB/S variables AGET/ASGE/ASSE/ASYN deaccumed.
  TYPEDB2H 39.099  Correction of DB2 GMT Offset to include Leap Seconds.
  TYPEDCOL 39.093  Correction to sizes in DCOLLECT DATASETS.DATASETS.
  TYPEHSM  39.119  Support for HSM ZEDC Compression in HSMFSRST.
  TYPENDCD 39.033  Support for NDM-CDI SMF (default 133) APAR PH35087.
  TYPENDM  39.133  NDM HW/H2 records do not match DSECT, IBM SR open.
  TYPENDM  39.173  New format $MGNDMCP decodes NDMCPEA Cipher values.
  TYPEPRF  39.178  Support for Dell PRF Monitor MFE SMF records.
  TYPEQSEL 39.158  Support for Quick Select product's SMF records.
  TYPERMFV 39.168  Support for RMF III z/OS 2.5 existing tables.
  TYPESMF  39.025  Example _SMF for selection, CICS Dictionary records.
  TYPESMF  39.109  More examples using _SMF for record selection.
  TYPESVIE 39.141  Updates to SYSVIEW IMS datasets SV34TRAN & SV35TRAN
  TYPESVIE 39.207  Sysview SV27DB2/SV27PROG/SV27TRAN updated.
  TYPETLC  39.202  Protect BMC Control-D CSV invalid quotes protected.
  TYPEVELO 39.179  Support for Dino VelociRaptor SMF records.
  TYPEVIRS 39.154  Support for VIRTEL AUDIT VIRSTATA SMF records.
  TYPEXAM  39.022  Variables missing values in XAMSYS corrected.
  UTILBLDP 39.129  ERROR: Old-style macro name _ID102 xxx must contain.
  UTILCPLG 39.118  ASCII Copy Log to File utility doesn't if blanks.
  UTILWORK 39.020  UTILWORK creates RMFINTRV code member, enhanced.
  UTILWORK 39.219  Create Workload Definitions for RMFINTRV
  VFMT102  39.139  ANALDB2R failed FORMAT NOT FOUND if no subtype 104.
  VGETALOC 39.124  Enhanced support and Linux example in the member.
  VGETJESN 39.002  WARNING TYPETASK NOT DECODED SUBSYS=SAR
  VMXG70PR 39.021  Override PSU70PR/LP/GC/GL DD's may not work.
  VMXGALOC 39.120  MXGERRORs if FIRSTRUN=YES was not used first time.
  VMXGALOC 39.148  ERROR: Libref TREND not assigned.
  VMXGINIT 39.214  Support for SAS Viya INCOMPAT Version Format Change
  VMXGPRNT 39.019  SP_REMV='Y' truncated some labels.
  VMXGRMFI 39.136  Special Characters in Class Names not supported

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE

====== CHANGES THRU 39.225 ARE IN MXG 39.39 DATED Dec 30, 2021 =========

Change 39.225  Correction to TY50HIPP, TY50HIPB and TY50PKCN overflow
VMAC50         additions.
Dec 30, 2021
   Thanks to Tom White, Bank of America, USA.

Change 39.224 -Support for RMF III APAR OA61811 (SMF) OA62502 (RMF) new
VMACRMFV       ERBRCDG3 variables in ZRBRCDS and TYPE72GO datasets:
VMAC7072          RCDENCTRXNUM='TRANS*PROCESSED*WITHIN*ENCLAVES'
Dec 27, 2021      RCDENCTRXCALLS='TIMES*REPORTED*WHEN*DELETING'
May 16, 2022      RCDENCTRXET='EXECUTION*TIME FOR*RCDENCTRXNUM'
                  RCDENCTRXETS='SUM OF*SQUARED*FOR*RCDENCTRXNUM'
              -Variable R723CETSX corrected in May;; it has been
               twice prior to this change MXG 39.39.
   Thanks to Ralph J. Romano, OPTUM, USA.

Change 39.223  Support for SMF TYPE 42 APARS OA61495 OA61393 OA31392
VMAC42         adds new bit flags to the SUBTYPE=27 TYPE4227 dataset:
Dec 27, 2021      SMF42REOS2'='EOS*OVERWRITE*SUCCESSFUL'
                  SMF42REOS3'='DADSM*UNMAP*ATTEMPTED'
                  SMF42REOS4'='DADSM*UNMAP*SUCCESSFUL'

Change 39.222  Support for Axway AMPLIFY Transfer CFT 3.6 V24 SMF data..
VMACAXWY
Dec 24, 2021
   Thanks to Steve McKee, Fidelity, USA.

Change 39.221 -Support for Velocity TYPEXAM new MDISK2 segment which is
VMACXAM        output to XAMDMINI dataset with some fields larger than
Dec 29, 2021   the original MDISK segment (still supported).
              -Support for Velocity TYPEXAM new SEKSE2 segment which is
               output to XMSEKSEK dataset.
   Thanks to Arthur Koerner, CITIBANK,USA.

Change 39.220  ASUM and TRND members for MQMACCT (SMF116) dataset.
ASUMMQAC       QWHSSTCK is used to set the interval, but is a UTC/GMT
TRNDMQAC       value.  See the comments in the members.
Dec 17, 2021

Change 39.219  UTILWORK creates RMFINTRV workload definitions from your
UTILWORK       TYPE72GO data, with a Workload for each Service Class.
Dec 17, 2021   You can use Reporting Class, but UTILWORK will detect
               if the sum of Reporting Class CPUTM is less than the
               sum of Service Class CPUTM (which happens when not all
               of your workloads are in a Reporting Class), and UTILWORK
               will revert to using Service Classes.
               Read the extensive comments in UTILWORK.

Change 39.218  Correction for DBID/OBID update
ANALDB2R
VFMT102
Dec 16, 2021

Change 39.217  If you suppressed DB2ACCT the sometimes large datasets
UTILBLDP       went to work. Now all DB2ACC datasets and their sorts
Dec 15, 2021   are suppressed with SUPPRESS=DB2ACCT.

Change 39.216  Typo OUTEETAL corrected to OUTDETAL.
ANALTAPE
Dec 15, 2021

Change 39.215  SAS Version 9.3 TS3M1,"ERROR 71-185 MAX function call
VMACSVIE       does not have enough arguments" for this statement that
Dec 10, 2021   was introduced in MXG 39.04
                   MAXTIME=MAX(IMTR_ESS_REQ_MAX);
               but SAS 9.4 does NOT raise that error!  Correct statement
                   MAXTIME=MAX(MAXTIME,IMTR_ESS_REQ_MAX);
               This error occurred in TESTUSR1.
   Thanks to Pete Osborne, HSBC, ENGLAND.

Change 39.214 -Support for SAS Viya INCOMPATIBLE Version format change
GRAFDB2B       from '9.4' to 'V.03.05', i.e., from numeric to character.
RMFINTRV       ERROR:"A character operand . . . in the %EVAL function
VGETENG        where a numeric operand is required, condition was V."
VMXGINIT       MXG uses the &SYSVER macro variable to determine the SAS
VMXGODSC       version, which always has been a numeric value. Because
VMXGRMFI       &SYSVER is a Read-Only macro variable, new &SSYSVER is
VMXGSUM        created in VMXGINIT and set to 9.4 for Viya and set to
VMXGUOW        &SYSVER for the rest.  All references to &SYSVER were
Dec 15, 2021   changed to &SSYSVER (54 members).
              -VGETENG, the %EVAL was removed.
               RMFINTRV/VMXGRMFI workload names permit 32 characters.
              -VMXGSUM had code to set the length of variable names to 8
               to be in KEEP list for V6 compatibility, but there are
               many long length variables that could have been truncated
               and causing Variable Not Found errors, length is now 32.
              -We do not test MXG under SAS Viya, but so far, this is
               the sole problem that has been encountered.
                 SAS Viya provides a CAS Server (Cloud Analytic Server)
                 which automatically multi-threads across as many
                 servers as you define, but some SAS statements can NOT
                 be multi-threaded, and that includes both INFILE and
                 INPUT statements, which are re-directed to a single-
                 threaded workspace server, and which limits the value
                 of Viya to MXG.
   Thanks to Christian Lechtenberg, CONCORDIA, GERMANY

====== CHANGES THRU 39.213 ARE IN MXG 39.09 DATED Dec  2, 2021 ========

Change 39.213  Protection for TYPE6156 Catalog record segment with the
VMAC6156       2 byte length field populated but no data following,
Dec  2, 2021   causing an INPUT STATEMENT EXCEEDED ERROR.
   Thanks to Bruce Hewson, CITIBANK, SINGAPORE.

Change 39.212  Support for RACF Unload Record Types 0207 and 05B0 are
VMACRACF       now populated; previously only the header was output.
Dec  1, 2021
   Thanks to Karl Laseki, American Chemical Society, USA.

Change 39.211  The TMS warning message DENSITY IS MISSING is removed and
VMACTMS5       variable DEN=0 is set when it is not available.
Nov 30, 2021

Change 39.210  Find probably MXG job executions, i.e., PROGRAM=:'SAS'
FNDMXGJB       and both SOURCLIB and LIBRARY DDnames.
Nov 22, 2021

Change 39.209  The decoding of DB2 DBID/OBID from SMF 102 IFCID 105
VFMT102        has been a long time challenge, with mostly partial
ANALDB2R       success, but now, all IDs are correctly decoded if there
Nov 17, 2021   is an IFCID 105 record. New parameter PRINTFMTS=YES will
               PROC PRINT the input values to the $MGDB2DB and $MGDB2OB
               formats.
   Thanks to Chuck Hopf, Independent MXG Consultant, USA.

Change 39.208 DB2STATB variables QBSTAGET/QBSTASGE/QBSTASSE/QBSTASYN
VMACDB2       were not deaccumulated, causing the DB2STATS variables
Nov 17, 2021  QBnAGET/QBnASGE/QBnASSE/QBnASYN for the four sets of
              buffer pool counters to also be incorrect.
   Thanks to Johnny Meek, Fidelity FMR, USA.

Change 39.207 -Sysview dataset SV27DB2 variable PROGRAM (Package name)
FORMATS        was changed from ASCII to EBCDIC, at least in V16.  New
VMACSVIE       variable PROGRAM_EB will contain the EBCDIC value.
Nov 23, 2021  -FORMAT MGD145S was updated for new values and applied
               to variable STATETYPE_DB2 in SV27DB2 dataset.
              -Variables TRANNUM,OTRANNUM,LASTTRANNUM are correctly
               now INPUT as &PD.4 in SV27TRAN dataset.
              -Forty pairs of _TIME, _COUNT variables added to SV27TRAN
               dataset and alignment corrected.
              -New fields were added to SV27PROG dataset.
   Thanks to Martyn Jones, CPTGLOBAL, ENGLAND.

Change 39.206  FORMAT MG090CM for TYPE90A variable CMDMVS (SUBTYPE) is
FORMATS        updated for CMDMVS values 35-41 to describe why each
Nov 15, 2021   record is created.
   Thanks to Jim S. Horne, Lowe's, USA.

Change 39.205  Cosmetic.  Variable BPHITRAT was correctly added to the
VMACDB2        PDB.DB2STATB in Change 39.160, created in the _SDB2STB
Nov  3, 2021   deacccumlate DATA step, but it was incorrectly added to
               the _VDB2STB list of variables created in the SMF pass,
               where is not is created.  The only impact was a note
               on the log, and only if your AUTOEXEC/CONFIGxx options
               did not contain the MXG default OPTIONS DKROCOND=NOWARN,
               which overrides the SAS WARN default. The variable was
               removed from that KEEP= list.  MXG exploits DKROCOND to
               allow variables to exist in the KEEP= list even when they
               are not created, for example for the optional CICSTRAN
               variables, so they can be added when you tailor IMACICxx
               members and not have to touch the KEEP= list..
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 39.204  The %MACRO DODSCRDT creates CREATEDATE from INFILEs but
DODSCRDT         YEAR=INPUT(SUBSTR(&DSCB,10,1),?? IB1.)+1900;
Nov  2, 2021   will create YEAR=1772 in 2028 because the IB1. input will
               see '80'x with the sign bit on. INPUT PIB1. corrects, and
               the ?? was not required, since any byte value is valid.
   Thanks to Declan Vibert, Worldprogramming, ENGLAND.

Change 39.203  SMF 82 Subtype 24 INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC82         because MXG expected label length of 64, but at least
Nov  2, 2021   since 2019, the length is shown as 72.  This update
               protects both lengths.
   Thanks to Nick Varley, Precisely, USA.

Change 39.202  Protection for invalid BMC Control-D CSV records that
VMACCTLC       did not have a pair of double quotes, and subsequent
Oct 23, 2021   records that did not have a valid datetime.

Change 39.201  MXG 39.06-39.08, ERROR: PHYSICAL FILE DOES NOT EXIST if
VMAC50         you have added SMF 50 (VTAM) processing to your BUILDPDB,
Oct 22, 2021   AND if your JCL does NOT have an //INSTREAM DD. Full text
                ERROR: PHYSICAL FILE DOES NOT EXIST userid.INSTREAM.DATA
               Debugging statement referencing INSTREAM was not removed.
               The //INSTREAM DD is in all of the MXGSASxx JCL examples:
                  //INSTREAM  DD UNIT=SYSDA,SPACE=(CYL,(1,20)),
                  //             RECFM=FB,LRECL=80,BLKSIZE=0
               and it is used in several MXG programs when MXG creates
               SAS code "in stream" and then %INCLUDE INSREAM; is used
               to execute that code.
   Thanks to Wayne A. Schumack, USBank, USA.

Change 39.200  Support for DB2 zHyperlink new data.
VMACDB2       -Dataset DB2ACCTB and DB2ACCTP new variables.
Oct 21, 2021     QBACIOC ='READS*WITH DISK*CACHE HITS'
                 QBACSYI ='SYNC I/O*READS WITH*ZHIPERLINK'
                 QBACSYIT='CPU TIME*FOR SUCCESS*ZHYPERLINK*READS'
                 QBACSWU, QBACHRE, QBACHRF, QBACHWR, QBACHWF Reserved
              -Dataset DB2ACCT new variables
                 QB1CIOC/SYI/SYIT QB2CIOC/SYI/SYIT QB3CIOC/SYI/SYIT
                 QB4CIOC/SYI/SYIT
              -Dataset DB2STATB new variables.
                 QBSTNSG ='FAILED*CONDITIONAL*SEQUENTIAL*GETPAGE'
                 QBSTSYIO='SUCCESS*READ I/O*USING*ZHYPERLINK'
                 QBSTSIOC='READ I/O*DISK CACHE*NO ZHL'
              -Dataset DB23STATS
                 QB1TNSG/SYIO/SYC QB2TNSG/SYIO/SYC QB3TNSG/SYIO/SYC
                 QB4TNSG/SYIO/SYC
   Thanks to Scott Barry, SBBTechLLC, USA.

====== CHANGES THRU 39.199 ARE  IN MXG 39.08 DATED Oct 15, 2021 ========

Change 39.199  Support for Broadcom SYSVIEW 16.0 and PTF LU02954.
VMACSVIE      -IMS SV34TRAN variables IMTR_TRN_ENQPCB/ABCODE/CPUTIME are
Oct 12, 2021   now always INPUT; previously they were erroneously input
               only for Fast Path Transactions. And new variables are
               added in SV34TRAN:
                 IMTR_CNT_LOCK_HWM/LOCK_TOTAO/DB2SQL IMTR_CLK_IFP_CPU
                 IMTR_CLK_UNKN IMTR_CLK_DB2 IMTR_CLK_MQ IMTR_CLK_WOLA
                 IMTR_CLK_LAST_DLI
               and added in SV35TRAN:
                 IMRA_DB_CALL_TIME IMRA_MSG_CALL_TIME
                 IMRA_IFP_ROUTECODE IMRA_IFP_TRANCODE
                 IMRA_IFP_TRANCOUNT IMRA_IFP_MSGIWAIT
                 IMRA_RGN_OCCUPYRATIO IMRA_RGN_STARTSQ6
                 IMRA_RGN_ACCUMSQ6 IMRA_LOCK_HWM IMRA_LOCK_TOTAL
                 IMRA_LAST_DLI IMRA_MAX_DLI_DB IMRA_MAX_DLI_DC
                 IMRA_MAX_ESS
               In addition, the variables output in dataset SV34DAC now
               create a set of variables in SV34TRAN, one per DLI call
               type:
                IMTR_DAC_DBGU IMTR_DAC_DBGN IMTR_DAC_DBGNP
                IMTR_DAC_DBGHU IMTR_DAC_DBGHN IMTR_DAC_DBGHNP
                IMTR_DAC_DBISRT IMTR_DAC_DB IMTR_DAC_DBREPL
                IMTR_DAC_TOTDB_CALLS IMTR_DAC_MSGGU IMTR_DAC_MSGGN
                IMTR_DAC_MSGISRT IMTR_DAC_MSGPURGE IMTR_DAC_TEST_ENQ
                IMTR_DAC_TEST_ENQ_WT IMTR_DAC_TEST_DEQ
                IMTR_DAC_QCMD_ENQ IMTR_DAC_QCMD_ENQ_WT
                IMTR_DAC_QCMD_DEQ IMTR_DAC_UPDT_ENQ
                IMTR_DAC_UPDT_ENQ_WT IMTR_DAC_UPDT_DEQ
                IMTR_DAC_EXCL_ENQ IMTR_DAC_EXCL_ENQ_WT
                IMTR_DAC_EXCL_DEQ IMTR_DAC_MSG_CMD IMTR_DAC_MSG_GCMD
                IMTR_DAC_MSG_CHNG IMTR_DAC_MSG_AUTH IMTR_DAC_MSG_SETO
                IMTR_DAC_APSB_CALLS IMTR_DAC_DPSB_CALLS
                IMTR_DAC_GMSG_CALLS IMTR_DAC_ICMD_CALLS
                IMTR_DAC_RCMD_CALLS IMTR_DAC_CHKP_CALLS
                IMTR_DAC_XRST_CALLS IMTR_DAC_ROLB_CALLS
                IMTR_DAC_ROLS_CALLS IMTR_DAC_SETS_CALLS
                IMTR_DAC_SETU_CALLS IMTR_DAC_INIT_CALLS
                IMTR_DAC_INQY_CALLS IMTR_DAC_LOG_CALLS
                IMTR_DAC_DLI_DB_DEQ IMTR_DAC_VSAM_READS
                IMTR_DAC_VSAM_WRITES IMTR_DAC_OSAM_READS
                IMTR_DAC_OSAM_WRITES IMTR_DAC_TOTAL_IO
                IMTR_DAC_ESAF_NORM IMTR_DAC_FLD_CALLS
                IMTR_DAC_POS_CALLS IMTR_DAC_RLSE_CALLS
                IMTR_DAC_SAVE_CALLS IMTR_DAC_RSTR_CALLS
                IMTR_DAC_COPY_CALLS IMTR_DAC_ICAL_CALLS SYSTEM SMFTIME
               In addition, the variables output in dataset SV34SUMM now
               create a set of three IMTR variables in SV34TRAN, one set
               for each DC Monitor Event type, and variables output in
               dataset SV35EVNT create a set of three IMRA variables in
               SV35TRAN one for each DC Monitor Event type:
                 IMTR_EVNT_BALG_DEQUEUE_COUNT
                 IMTR_EVNT_BALG_DEQUEUE_MTIME
                 IMTR_EVNT_BALG_DEQUEUE_TTIME
                 IMTR_EVNT_CHECKPOINT_COUNT IMTR_EVNT_CHECKPOINT_MTIME
                 IMTR_EVNT_CHECKPOINT_TTIME
                 IMTR_EVNT_DEDB_LOCK_IWAIT_COUNT
                 IMTR_EVNT_DEDB_LOCK_IWAIT_MTIME
                 IMTR_EVNT_DEDB_LOCK_IWAIT_TTIME
                 IMTR_EVNT_DEDB_OTHRD_IWAIT_COUNT
                 IMTR_EVNT_DEDB_OTHRD_IWAIT_MTIME
                 IMTR_EVNT_DEDB_OTHRD_IWAIT_TTIME
                 IMTR_EVNT_DEDB_READ_IWAIT_COUNT
                 IMTR_EVNT_DEDB_READ_IWAIT_MTIME
                 IMTR_EVNT_DEDB_READ_IWAIT_TTIME
                 IMTR_EVNT_DLA_DB_COUNT IMTR_EVNT_DLA_DB_MTIME
                 IMTR_EVNT_DLA_DB_TTIME IMTR_EVNT_DLA_MSG_COUNT
                 IMTR_EVNT_DLA_MSG_MTIME IMTR_EVNT_DLA_MSG_TTIME
                 IMTR_EVNT_DMB_LOAD_IWAIT_COUNT
                 IMTR_EVNT_DMB_LOAD_IWAIT_MTIME
                 IMTR_EVNT_DMB_LOAD_IWAIT_TTIME
                 IMTR_EVNT_DMB64_LOAD_IWAIT_COUNT
                 IMTR_EVNT_DMB64_LOAD_IWAIT_MTIME
                 IMTR_EVNT_DMB64_LOAD_IWAIT_TTIME
                 IMTR_EVNT_ESS_CALL_COUNT IMTR_EVNT_ESS_CALL_MTIME
                 IMTR_EVNT_ESS_CALL_TTIME IMTR_EVNT_IFP_ACTIVITY_COUNT
                 IMTR_EVNT_IFP_ACTIVITY_MTIME
                 IMTR_EVNT_IFP_ACTIVITY_TTIME
                 IMTR_EVNT_IFP_BUFFER_ACT_COUNT
                 IMTR_EVNT_IFP_BUFFER_ACT_MTIME
                  IMTR_EVNT_IFP_BUFFER_ACT_TTIME
                 IMTR_EVNT_IFP_MSG_IWAIT_COUNT
                 IMTR_EVNT_IFP_MSG_IWAIT_MTIME
                 IMTR_EVNT_IFP_MSG_IWAIT_TTIME
                 IMTR_EVNT_HSAM_IWAIT_COUNT IMTR_EVNT_HSAM_IWAIT_MTIME
                 IMTR_EVNT_HSAM_IWAIT_TTIME
                 IMTR_EVNT_ICAL_DLI_CALLS_COUNT
                 IMTR_EVNT_ICAL_DLI_CALLS_MTIME
                 IMTR_EVNT_ICAL_DLI_CALLS_TTIME
                 IMTR_EVNT_MSDB_WRITE_IWAIT_COUNT
                 IMTR_EVNT_MSDB_WRITE_IWAIT_MTIME
                 IMTR_EVNT_MSDB_WRITE_IWAIT_TTIME
                 IMTR_EVNT_OSAM_IWAIT_COUNT IMTR_EVNT_OSAM_IWAIT_MTIME
                 IMTR_EVNT_OSAM_IWAIT_TTIME
                 IMTR_EVNT_PI_ENQUEUE_IWAIT_COUNT
                 IMTR_EVNT_PI_ENQUEUE_IWAIT_MTIME
                 IMTR_EVNT_PI_ENQUEUE_IWAIT_TTIME
                 IMTR_EVNT_PSB_LOAD_IWAIT_COUNT
                 IMTR_EVNT_PSB_LOAD_IWAIT_MTIME
                 IMTR_EVNT_PSB_LOAD_IWAIT_TTIME
                 IMTR_EVNT_PSB64_LOAD_IWAIT_COUNT
                 IMTR_EVNT_PSB64_LOAD_IWAIT_MTIME
                 IMTR_EVNT_PSB64_LOAD_IWAIT_TTIME
                 IMTR_EVNT_QMGR_IWAIT_COUNT IMTR_EVNT_QMGR_IWAIT_MTIME
                 IMTR_EVNT_QMGR_IWAIT_TTIME
                 IMTR_EVNT_SCHEDULER_IWAIT_COUNT
                 IMTR_EVNT_SCHEDULER_IWAIT_MTIME
                 IMTR_EVNT_SCHEDULER_IWAIT_TTIME
                 IMTR_EVNT_STORAGE_IWAIT_COUNT
                 IMTR_EVNT_STORAGE_IWAIT_MTIME
                 IMTR_EVNT_STORAGE_IWAIT_TTIME
                 IMTR_EVNT_SYNC_CALLOUT_COUNT
                 IMTR_EVNT_SYNC_CALLOUT_MTIME
                 IMTR_EVNT_SYNC_CALLOUT_TTIME
                 IMTR_EVNT_VSAM_IWAIT_COUNT IMTR_EVNT_VSAM_IWAIT_MTIME
                 IMTR_EVNT_VSAM_IWAIT_TTIME
                 IMTR_EVNT_VSO_AREA_CASTOUT_COUNT
                 IMTR_EVNT_VSO_AREA_CASTOUT_MTIME
                 IMTR_EVNT_VSO_AREA_CASTOUT_TTIME
                 IMTR_EVNT_VSO_PRELOAD_COUNT
                 IMTR_EVNT_VSO_PRELOAD_MTIME
                 IMTR_EVNT_VSO_PRELOAD_TTIME
               Adding IMTR_DAC and IMTR_EVNT and IMRA_EVNT variables
               will DOUBLE the size of the SV34TRAN (1658 per obs vs
               812) and of the SV35TRAN (1147 vs 661), and they are
               still available in the much smaller SV34DAC/SV34SUMM
               and SV35EVNT datasets.  Typically only a handful of
               those variables will be populated in the transaction
               observations, but they still take space.  They can be
               removed and only the IMS datasets written to //PDB with
                 %LET MACKEEP=
                     MACRO _IDSVIE 255 %
                     MACRO _KSV34TR DROP= _DR34DA _DR34EV %
                     MACRO _KSV35TR DROP= _DR35EV %
                     _NSVIE
                     MACRO _WSV34TR SV34TRAN %
                     MACRO _WSV34DA SV34DAC  %
                     MACRO _WSV34DL SV34DLI  %
                     MACRO _WSV34SU SV34SUMM %
                     MACRO _WSV34ES SV34ESS  %
                     MACRO _WSV35TR SV35TRAN %
                     MACRO _WSV35EV SV35EVNT %
                     MACRO _SSVIE
                     _SSV34TR _SSV34DA _SSV34DL _SSV34SU _SSV34ES
                     _SSV35TR _SSV35EV
                     %
                 ;
                 %INCLUDE SOURCLIB(TYPSSVIE);RUN;
               If you do not want to sort any of the datasets, and
               want the two TRAN datasets written to separate DDs
               with the smaller datasets going to PDB, you can use:
                 %LET MACKEEP=
                     MACRO _IDSVIE 255 %
                     MACRO _KSV34TR DROP= _DR34DA _DR34EV %
                     MACRO _KSV35TR DROP= _DR35EV %
                 ;
                  %LET WSV34TR=SV34TRAN;
                  %LET WSV35TR=SV35TRAN;
                  %LET WSV34DA=PDB;
                  %LET WSV34DL=PDB;
                  %LET WSV34SU=PDB;
                  %LET WSV34ES=PDB;
                  %LET WSV35EV=PDB;
                 %INCLUDE SOURCLIB(TYPESVIE);RUN;
   Thanks to Don Cleveland, Anthem BCBS, USA.
   Thanks to James Robbins, Broadcom, USA.

Change 39.198  TYPE50 OSA Express Accelerated Packets was added by
VMAC50         Change 39.198, but was incorrectly spelled. The correct
Oct  8, 2021   spelling is TY50PKAC.
   Thanks to Tom White, Bank of America, USA.
   Thanks to Jim Sherpey, Bank of America, USA.

Change 39.197  Format $MG119CF only decoded a handful of the 357 Hex
FORMATS        values, many for ZERT, for dataset TYP119111 variable
Oct 7, 2021    S11912SC_TLS_NEG_CIPHER and S119SS_TLS_NEG_CIPHER in
               TYP11912TLS dataset. The doc is located in the TLS Cipher
               Suite registry at http://www.iana.org/assignments/
               tls-parameters/tlsparameters.xhtml
   Thanks to Heimir Hauksson, Barclays, ENGLAND.

Change 39.196  MXG 39.07.  Change 39.183 added SMF6XSTCKE to TYPE6156,
VMAC6156       but the insert caused an INPUT STATEMENT EXCEEDED. The
Oct  7, 2021   code is bypassed until test data is received. You can use
                 %LET MACFILE= %QUOTE(IF ID IN (61,65,66)) THEN DELETE;
                to circumvent, but request the new VMAC6156 from Support
   Thanks to Jim S. Horne, Lowe's, USA.

Change 39.195  New parameters USEVMXGSET=YES & DEFER=YES adds OPEN=DEFER
BLDSMPDB       to the SET statement when building weekly PDB. Use only
VSETMNTH       when running on zOS and tape drives are at a premium and
Nov 26, 2021   daily PDBs are on tape. As always when using OPEN=DEFER
               only variables that exist in the first dataset are
               carried forward, so the first DDNAME should be the day of
               the week pointed to by the WEEKSTART argument.
   Thanks to Robert Olah, ENSONO, USA.

Change 39.194  Change 39.137 MXG39.05 CPUTOTTM incorrectly higher than
VMAC30         CPUTM because the calculation of SRVTCBTM which affects
Sep 30, 2021   CPUTOTTM was being done before the removal of ZIPUNITS.
               Variables AVGWKSET CPUTOTTM CPUUNITS were corrected, but
               the CPUTM, which is a direct value in the SMF record, has
               always been correct.  The CPUTOTTM based on Service Units
               was created because at one time some folks incorrectly
               thought the service unit based metric was significantly
               more accurate than the recorded time.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND
   Thanks to Mark Tomlinson, Lloydsbanking, ENGLAND.

Change 39.193  SELSMF program is similar to UTILGETM/VMXGGETM, to select
SELSMF         and write SMF records of each type, but it adds SYSTEM
Oct  6, 2021   and for DB2 and CICS, the RELEASE to the criteria, and
               writes the first 50 records for each selection.  You can
               also use MACFILE to choose which IDs you want to select;
               see the example in comments.

   Thanks to John Donoghue, AIB, IRELAND.

Change 39.192 -Dataset ZRBRCD added wait fields RCDWTY1-RCDWT15.
ADOCRMFV      -Dataset ZRBSCL added R741Dxxx variables originally added
ASMRMFV        to TYPE 74 Subtype 10 Monitor I by Change 38.089.
IMACRMFV      -z/OS 2.5 MXG RMF Monitor III support.
VMACRMFV      -New MXG Support for 4 more RMF III tables:
Oct  8, 2021   CPUDB IQDG3 LOKG3 VRIG3

                            *** New Support ***

              -Support for the RMF Monitor III CPU Data Block Table
               (CPUDB) recently documented with z/OS 2.5 .  The CPUDB
               table has existed at least since z/OS 2.1.
              -The CPUDB selection option is CPV (alias N).  The CPUDB
               filtering option is NOCPV (aliases -CPV, -N).  CPUDB is
               also selected if the BASIC select group option is used.
              -The CPUDB is a companion table to the CPCDB and CPUG3
               tables.  If any one is selected all 3 are selected.  If
               any one is filtered all 3 are filtered.
              -Support for the RMF Monitor III I/O Queuing Performance
               Data Table (IQDG3) table recently documented with z/OS
               2.5 .  The IQDG3 table has existed at least since z/OS
               2.1.
              -The IQDG3 selection option is IQD (alias Q).  The IQDG3
               filtering option is NOIQD (aliases -IQD, -Q).  IQDG3 is
               also selected if the MOST group selection option is used.
              -The IOQ parameter in the RMF III startup member defaults
               to IOQ(DASD).  Other device classes are also supported
               for IOQ by RMF III.  See the RMF User's Guide (z/OS 2.3
               and earlier) or the Data Gatherer User's Guide (z/OS 2.4
               and up) for more details.  NOIOQ will suppress the
               generation of IQDG3 table.
              -Support for the RMF Monitor III Lock Performance Data
               Table (LOKG3) table recently documented with z/OS 2.5 .
               The LOKG3 table has existed at least since z/OS 2.1.
              -The LOKG3 selection option is LOK (alias #).  The LOKG3
               filtering option is NOLOK (aliases -LOK, -#).  LOKG3 is
               also selected if the MOST group selection option is used.
              -The LOCK parameter in the RMF III startup member defaults
               to NOLOCK.  NOLOCK will suppress the generation of LOKG3
               table and related MXG data sets.  Specify LOCK to
               generate the LOKG3 table.
              -Support for the RMF Monitor III VSAM RLS Information
               Data Table (VRIG3) table recently documented with z/OS
               2.5 .
              -The VRIG3 selection option is VRI (alias $).  The VRIG3
               filtering option is NOVRI (aliases -VRI, -$).  VRIG3 is
               also selected if the MOST group selection option is used.
              -The VRIG3 collection parameter in the RMF III startup
               member defaults to VSAMRLS and data is grouped by storage
               class.  In addition, up to 50 VSAM data set sphere masks
               may be specified.  See the RMF User's Guide (z/OS 2.3 and
               earlier) or the Data Gatherer User's Guide (z/OS 2.4 and
               up) for more details.  NOVSAMRLS will suppress the
               generation of VRIG3 table and related MXG data sets.

                            *** Enhancements ***

              -Auto Selection of any field in the CPCDB and CPUG3 table
               when using an IF= expression for FDF will now Auto Select
               all 3 CPU companion tables (CPCDB/CPUDB/CPUG3).  Auto
               Selection occurs when an IF= expression references a
               field name in a table that has not been explicitly
               selected.
              -These documentation sections in member ADOCRMFV are all
               updated:

                2        Terminology
                4        RMF III Table Selection Parameters
               12        Messages
               13        Filtered Records
               15        Program and IBM Limitations
               23        RMF III Options That Effect Data
               26        ASMRMFV and MXG PDB Data Relationship
               31        Field Data Filtering (FDF)
               32        Data Dictionary Descriptions
               57        Summary
               58        Bibliography

Change 39.191  An example z/OS ICETOOL job that selects MVIMS xF9 & xFA
ICETOOL        log records to reduce the size of the IMSLOG file to be
Sep 21, 2021   read with the ftp access method for ASCII MXG execution.
   Thanks to Sir Hari Kolusu, IBM DFSORT, USA.

====== CHANGES THRU 39.190 ARE  IN MXG 39.07 DATED Sep 20, 2021 =======

Change 39.190 -ASMRMFV Field Data Filter (FDF) support for the RMF III
ADOCRMFV       CPC data control block (CPCDB) and the Processor Data
ASMRMFV        Control Block (CPUG3).
VMACRMFV      -The Field Data Filter (FDF) feature of RMF III was added
Sep 19, 2021   in MXG Change 37.089 and supports filtering of raw or MXG
               derived RMF data values when ASMRMFV reads the RMF III
               VSAM file, reducing the size of the created RMFBSAM file
               and the size of the result MXG PDB.
              -RMF III table entries can be filtered by FDF based on one
               or more numeric/character/bit fields using AND/OR logic.
               FDF is intended for advanced MXG users building ad hoc
               PDBs of RMF III data for studies and investigations.
              -A z/OS LPAR is a z/VM guest if this message appears in
               the ASMRMFV log:
               RMFV009I  ORIGIN  :  CPCNAME=VMGUEST
              -NOTE: For LPARs running as z/VM guests the CPC LPAR and
               Logical Processor Sections in the CPCDB table are created
               by RMF III as binary zeros and cannot be filtered with
               FDF.  MXG PDB variables sourced from the CPC LPAR and
               Logical Processor sections will have SAS missing values
               in the result PDB.

               In this case only the sparse CPCDB header will be written
               to RMFBSAM.  Any FDF filters for fields in either of
               these two sections will be bypassed.  They are NOT
               counted as IGNORE in message RMFV080I.
              -NOTE: For z/OS LPARs running as z/VM guests RMF III
               creates the Home LPAR section in the CPCDB table as all
               binary zeros and these fields cannot be filtered with
               FDF.  MXG PDB variables sourced from the Home LPAR
               section will have SAS missing values in the result PDB.

               In this case any FDF filters for fields in the Home LPAR
               section will be counted as IGNORE in message RMFV080I.
              -FDF VNT (Variable Name Table) derived floating point
               variables with ASISASSC as a divisor were using a fixed
               point binary divisor instead of a short floating point
               divisor.
             - FDF VNT entry for derived variable R745IORATE had
               incorrect data type of FP instead of FPAVG.
              -Further reduction of ASMRMFV assembly output with
               NODXREF, NOESD, NORLD, USING(NOMAP) added to *PROCESS
               statements.
              -Expand RMFV092E table error message from 2 to 4 lines to
               show more RMF III information at time of the error.
              -FDF calculations for CRYG3 table MXG derived variables
               CRYTIME0-CRYTIME5 were incorrect.
              -FDF calculations for CRYG3 table MXG derived variables
               CRYUTIL0-CRYUTIL5 were incorrect.
              -FDF calculations for DVTG3 table for 6 MXG derived
               variables DVTAVG* were incorrect.  These were being
               handled as floating point while the source fields are
               fixed binary.
              -FDF IF evaluation code not correctly checking for PCI
               format code when comparing a variable that has one.
              -FDF IF evaluation code tests for STOP/NOSTOP and
               SYNC/NOSYNC for FDF SSHG3 table were incorrect.
              -XCFSTAT variable was missing from XCFG3 FDF VNT table.
              -Message RMFV017I now displays z/OS 2.5 when processing
               RMF Monitor III data from that release.
              -New filter options ZEROLP/NOZEROLP added for CPCDB table
               processing.  The default is NOZEROLP.
             - ZEROLP says to output to RMFBSAM all LPAR sections and
               their respective Logical Processors Sections from the
               CPCDB table even if zero Logical Processors were defined
               for an LPAR.  This was the behavior of prior ASMRMFV
               versions.
              -NOZEROLP says to only output to RMFBSAM LPAR sections
               from the CPCDB table that have a non-zero number of
               Logical Processors defined.  NOZEROLP is the default.
              -ZEROLP/NOZEROLP option added to message RMFV006I.
              -ASMRMFV no longer outputs zero Logical Processor Sections
               to RMFBSAM for those undefined for a specific LPAR.  The
               CPCDB table reserves 240 Logical Processor Sections for
               each LPAR. The actual number defined will be far less.
              -In a test using a single RMF III VSAM data set with the
               default NOZEROLP in effect output to RMFBSAM for the
               CPCDB table was reduced by 8MB.  Actual results may vary.
              -In ASMRMFV detail and summary reports TOTAL BYTES OUTPUT
               in message RMFV104I did not match ALL total of detail or
               summary lines in message RMFV105I by a consistent value
               of 3400 bytes less.
              -First RMF and Z/OS Version numbers added to MXG01 record.
              -Last  RMF and Z/OS Version numbers added to MXG02 record.
              -Data Dictionaries in the ADOCRMFV member have been
               updated or added for all FDF supported RMF III tables.
              -Many Data Dictionary entries now have additional notes
               describing the entry in addition to similar text already
               present in the corresponding section documentation.
              -Following Sections are updated or added in the ADOCRMFV
               documentation member:
               Section     Contents
               -------     --------
                  0        Contents
                  7        Output Data Control Parameters
                 12        Messages
                 15        Program and IBM Limitations
                 26        ASMRMFV and MXG PDB Data Relationships
                 31        Field Data Filtering (FDF)
                 32        Data Dictionary Descriptions
                 33        Filtering The ASIG3 Table
                 34        Filtering The CATG3 Table
                 35        Filtering The CFIG3 Table
                 36        Filtering The CPCDB Table
                 37        Filtering The CPDG3 Table
                 38        Filtering The CPUG3 Table
                 39        Filtering The CRYG3 Table
                 40        Filtering The CSRG3 Table
                 41        Filtering The DSIG3 Table
                 42        Filtering The DVTG3 Table
                 43        Filtering The ENCG3 Table
                 44        Filtering The ENTG3 Table
                 45        Filtering The GEIG3 Table
                 46        Filtering The OPDG3 Table
                 47        Filtering The PCIG3 Table
                 48        Filtering The SCMG3 Table
                 49        Filtering The SPGG3 Table
                 50        Filtering The SSHG3 Table
                 51        Filtering The XCFG3 Table
                 52        Filtering The ZFXG3 Table
                 57        Summary
                 58        Bibliography

Change 39.189  Variable SMF70TYP is now KEPT in TYPE70PR, eliminating an
VMAC7072       UNINITIALIZED variable message that had no impact but was
Sep 16, 2021   un-needed.

Change 39.188  Support for CICS-DB2 ATTACH APAR PH31440 "accounting"
FORMATS        fields to DB2ACCT dataset:
VMACDB2          QMDAAEYE  $EBCDIC36.  /*QMDAAEYE*EYE*CATCHER*/
Sep 16, 2021     QMDAADT1  $EBCDIC64.  /*QMDAADT1*1ST*ADAPTER*/
                 QMDAADG2  $EBCDIC64.  /*QMDAADT1*2ND*ADAPTER*/
                 QMDAADG3  $EBCDIC64.  /*QMDAADT1*3RD*ADAPTER*/
                 Note: LENQMDA=260,24 undoc bytes after DG3 PH31447.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 39.187  New TYPE80TK values create new variables
VMAC80A          TOKHUKID TOKCRITIC TOKZERTI TOKTECHNIK TOKORGA
Sep 15, 2021     TOKMASTERID TOKBMKS TOKCREATED TOKABPFZ TOKINTERVAL
                 TOKINFO TOKVERANTW1-TOKVERANTW4
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 39.186  Support for APAR OA61368 which populates two bits in the
VMAC30         RAXFLAGS which are new variables in TYPE30 datasets:
Sep 13, 2021    SMF30_RAXFLAG5='RAX5*ATTEMPT*EARLY*RUCSA?'
                SMF30_RAXFLAG6='RAX6*ALLOW*EARLY*RUCSA?'

Change 39.185  IMACKEEP included so that you can customize and tailor
ASUMCICS       without touching the ASUM member.
Sep  8, 2021

Change 39.184 -Support for NDM-CDI PTF UI76063 that sets a flag bit if
VMACNDM        NDMNODEF='S' (CDZ was acting as SNODE) the PNODE/SNODE
Sep  4,2021    values were wrong and had been corrected for Version 6 or
               for Version 5.2, if the bit is NOT on, then MXG has made
               the correction. MXG sets NDMFLAG'N' for the NDM change
               or NDMFLAGX='M' if MXG reversed the PNODE and SNODE, in.
               the CT, FI, and MC records.
              -Support for PTF UI76043 which corrects the NDMCPU Time
               ("TIMEUSED" field) which was wrong (too large) in 6.0.
   Thanks to Tom White, Bank of America, USA.

Change 39.183  New variable SMF6XSTCKE, the SMF datatime in STCKE is
VMAC6156       added to TYPE6156 dataset.
Sep  4, 2021   See Change 39.196.

Change 39.182  The UTILEXCL tailoring MACRO _ECICDIC contained a LABEL
UTILEXCL       statement that restricted the use of that exit; the LABEL
Sep  3, 2021   variables were moved to the existing LABEL statement at
               the top of the code block.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.181  Variables BOOSTACTIVE and BOOSTCLASS are added to the
BUILD005       PDB.STEPS dataset, and BOOSTCLASS is only populated if
BUIL3005       BOOSTACTIVE is populated in SMF 30 and SMF 89 records.
FORMATS        Format MG090EV was expanded and typo corrected.
VMAC30
VMAC89
Aug 30, 2021
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.180  Enhanced MXGABND can set Condition Code instead of ABEND,
IMACABND       The use of %LET MXGABND=nnn in your tailoring was added
VMAC110        and documented in Change 23.184 to cause an ABEND for
Aug 28, 2021   some error messages, but this caused BUILDPDB to ABEND
               due to an SMF 110 EXCLUDED fields errors. This change
               lets you choose to set a Condition/Return Code so that
               you can identify there was a problem, but BUILDPDB will
               complete and you can find the ERROR message in the log.
               You can test for the Condition Code in a new step and
               send a message that a change was detected.
               In addition, the ABEND will only occur on z/OS; on ASCII
               the ABEND kills the current session which is nasty to
               debug!  Currently the IMACABND is only implemented in
               the SMF 110 processing.  To change, you would tailor
               IMACABND per its comments into your "USERID" PDS.
   Thanks to Dawn Clarke, ENSONO, USA.

Change 39.179  Support for Dino VelociRaptor SMF records,
EXVELO01          DDDDDD    DATASET   DESCRIPTION
EXVELO02          VELO01    VELOST01  VSAM OPTIMIXATION
EXVELO04          VELO02    VELOST02  QSAM BUFFER OPTIMIZATION
FORMATS           VELO04    VELOST04  QSAM BLOCKSIZE OPTIMIZATION
IMACVELO
TYPEVELO
TYPSVELO
VMACVELO
VMXGINIT
Aug 27, 2021
   Thanks to Kihun Cha, Navy Federal, USA

Change 39.178  Support for Dell PRF Monitor MFE Version 8.5  SMF data.
EXPRFDBK          DDDDDD     DATASET   DESCRIPTION
EXPRFDEV          PRFSYM     PRFSYMME  SYMMETRIX
EXPRFDMF          PRFDBK     PRFDBKEN  BACKEND
EXPRFDOP          PRFDOP     PRFDOPEN  OPEN SYSTEM
EXPRFDPO          PRFDMF     PRFDMFRA  MAINFRAME
EXPRFDSR          PRFDSR     PRFDSRDF  SRDF
EXPRFSYM          PRFDPO     PRFDPORT  PORTS
EXPRFTDV          PRFDEV     PRFDEVIC  DEVICE
FORMATS           PRFTDV     PRFTTDAT  TDAT DEVICE
IMACPRF
TYPEPRF
TYPSPRF
VMACPRF
VMXGINIT
Sep  1, 2021

Change 39.177  JES3 ONLY, and only if you tailored UTILBLDP BUILDPDB=NO
VMAC110        and USERADD=25 26J3 with INCLAFTR=BUIL3005. The 25 caused
Aug 24, 2021   the WORK.TYPE25 data set to be created and sorted to the
               PDB.TYPE25 (done for all USERADD=) but also WORK.TYPE25
               was deleted, but BUIL3005 expected WORK.TYPE25, causing
               ERROR: DATA SET WORK.TYPE25 WAS NOT FOUND.  Removing the
               %VMXGDEL in _S25 macro leaves WORK.TYPE25 to correct.

Change 39.176  Support for CICS/TS 6.1 (INCOMPATIBLE, field inserted).
VMAC110        One new field, SOTLSLVL='INBOUND*TLS*LEVEL*SELECTED'
UTILEXCL       is added to dataset CICSTRAN.  Because the CICSTRAN
Aug 23, 2021   record is a concatenation of control blocks, when IBM
               adds a field at the end of a control block, it still
               shifts all subsequent fields, requiring an MXG Update.
               This change is only for CICSTRAN; other new fields for
               other datasets will be added when test data is available.

Change 39.175  Support for BMC CONTROL-D CSV FILE, a log for audit of
EXCTLCSV       the webserver.  The INFOLE name is BMCCSVIN to create:
IMACCTLC           DDDDDD    DATASET   DESCRIPTION
TYPECTLC           CTLCSV    CTLDCSV   CONTROL-D CSV
TYPSCTLC
VMACCTLC
VMXGINIT
Aug 22, 2021
   Thanks To Craig Collins, State of Wisconsin, USA.
   Thanks to Maggie Buday, State of Wisconsin, USA.

Change 39.174  TYPE41VF dataset, variables SMF41YAG and SMF41MAG contain
VMAC41         "high" values of 0FFFFFFFF which indicate that no
Aug 19, 2021   trimming occurred, but confused calculations, so those
               values are now set to a missing value.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.173  New Format $MGNDMCP for variable NDMCPEA decodes the
FORMATS        CIPHER Suite values.
VMACNDM           VALUE $MGNDMCP
Aug 19, 2021       '01'X='01X:NULL_MD5'
                   '02'X='02X:NULL_SHA'
                   '03'X='03X:RC4_MD5_EXPORT'
                   '04'X='04X:RC4_MD5_US'
                   '05'X='05X:RC4_SHA_US'
                   '06'X='06X:RC2_MD5_EXPORT'
                   '09'X='09X:DES_SHA'
                   '0A'X='0AX:TRIPLE_DES_SHA_US'
                   '2F'X='2FX:AES_128_SHA'
                   '3C'X='3CX:???????????'
                   '3D'X='3DX:???????????'
                   '35'X='35X:AES_256_SHA'
                   '9C'X='9CX:???????????'
                   '9D'X='9DX:???????????'
                   'E7'X='E7X:???????????'
                   'EF'X='EFX:???????????'
                  OTHER=?< $HEX2. ?>

Change 39.172  Support for SMF14DSENCARCHKEY flag that indicates that
VMAC1415       the encrypted dataset is being accessed with an archived
VMAC62         key that only supports decrypt operations in TYPE1415.
Aug 18, 2021   Support for SMF62ARCKEY flag that encrypted data set is
               being accessed with an archive key that only supports
               decryption.

Change 39.171  WPS ONLY.  A problem has been found with the use of the
FLASH          INPUT statement reading values into temporary array
Aug 18, 2021   members with informats, resulting with incorrect values
               (zero or a missing value) for these "TYPE70" variables:
                NRZIPCPU       NRPHYCPS        AVCPSCPU      AVICFCPU
                AVIFACPU       AVIFLCPU        AVZIPCPU      NRCPSCPU
                PLATBUSY       PLATCPUS        PLATZIPBUSY   PLATZIPCPUS
                PLATIFLBUSY    PLATIFLCPUS     PLATICFBUSY   PLATICFCPUS
                PARTNCPU       PARTNICF        PARTNIFL      PARTNZIP
               as their INPUT includes S70CTN(_I_) &PIB.2. array syntax.
               The error was introduced in wps-4.03.01, but earlier
               versions (4.00, 4.01, 4.02, and 4.03.00 are unaffected.
               The error was fixed in these releases:

                WPS 4.04.00.03.3277 15-Aug-2021 (MB)
                 First maintenance version of WPS 4.4 containing the fix
                WPS 4.04.00.03.3369 7-Sep-2021 (EA3)
                 Current EA version of 4.4, containing the fix.

                WPS 4.03.02.00.8569 13-Aug-2021 (MB)
                 First maintenance version of WPS 4.3 containing the fix
                WPS 4.03.03.00.8595 2-Sep-2021 (GA)
                 Current GA version of WPS 4.3, containing the fix.

Change 39.170  Variable SMF9040ID was defined as a character thru 39.03,
VMAC90A        but was decoded as numeric in 39.05, so combining old and
Aug 11, 2021   new TYPE9040 data sets raised a conflict.  Now, SMF9040ID
               is no longer created and TYPE9040IDNR is numeric and is
               decoded. You may need to copy your old TYPE9040 dataset
               and drop variable TYPE9040ID before you run that WEEKBLD.
   Thanks to Jim S. Horne, Lowe's, USA.

Change 39.169  Unused Change Number.

Change 39.168 -Improvements and corrections to PROCSVP subroutine
ASMRMFV        segmentation of SVPG3 table when longer than 32756 bytes.
VMACRMFV      -PROCSVP subroutine always moves 32760 bytes to output
EXZRBV15       buffer for unsegmented SVPG3 tables even if not needed.
EXZRBV16      -ZOSTABLE updated to 797 for RMF version for z/OS 2.5.
EXZRBIQD      -Debugging PUTLOGs (added in 39.06) for SVP removed.
IMACRMFV      -ASMRMFVF and ASMZOSVF fields added to MXG01 record with
VMXGINIT       first RMF and first z/OS version in each RMF III VSAM
Aug 22,2021    file, and ASMRMFVL and ASMZOSVL fields added to MXG02
               record with last RMF and last z/OS version.  Those fields
               and the ASMRMFV Version and Create Date are printed on
               the log of the TYPERMFV execution.
              -There are three new RMF III tables added by z/OS 2.5,
               IODG3, LOKG3, VRIG3, and old table CPUDB is documented,
               to be supported when we have we have an interested user
               with those tables enabled.
              -MXG 39.06 supports all existing tables in z/OS 2.5.
              -New variables in /OS 2.5 manual added to ZRBRCDS dataset.
                 RCDTETX='TOTAL*TRANSACTION*ELAPSED'
                 RCDXETX='TOTAL*TRANSACTION*EXECUTION'
                 RCDQDTX='QUEUE*DELAY*TIME'
                 RCDADTX='RESOURCE*AFFINITY*DELAY*TIME'
                 RCDCVTX='JCL*CONVERSION*DELAY'
                 RCDIQTX='INELIGIBLE*QUEUE*TIME'
                 RCDRTDM='MIDPOINT*OF RESPONSE*TIME'
                 RCDPRS ='PAGE*RESIDENCY*TIME'
                 RCDCIOU='TOTAL*I/O*USINGS'
                 RCDCIOD='DASD*I/O*DELAY*SAMPLES'
                 RCDCIDL='IDLE*SAMPLES'
                 RCDCUNK='UNKNOWN*SAMPLES'
                 RCDPADJSCF='SCALING*FACTOR*FOR*RCDPADJ'
                 RCDPADJ='PHYSICAL*CPU*ADJUST*FACTOR*FOR CP'

====== CHANGES THRU 39.167 WERE IN MXG 39.06 DATED Aug 12, 2021 ========

Change 39.167  PDBOUT= parameter added so that you can retain the
ANALINIT       datasets created.
Aug 10, 2021

Change 39.166  COMPALL is a test programs that compiles all MXG programs
TECHNOTE       that process SMF records in a single step, to detect any
COMPALL        cases where temporary variables (not kept) in products
COMPIBM        have conflicting attributes (especially NUM and CHAR).
Aug 10, 2021   It also reports the resources needed for this irrational
               program.  Windows 10 required 3693 MiB, but failed on
               z/OS where only 1588 MiB was available.  The 940,00
               lines of code required 3 minutes elapsed, 30 CPU seconds.
               COMPIBM tests only the IBM created SMF records, and that
               program did complete on z/OS where it needed 903 MiB.


Change 39.165  Format $MGSMFID is updated for SMF ID=1153 and 1154 types
FORMATS        and comments in IMACSMFF revised since IBM owns 0-127 and
IMACSMFF       1152-2047 and 128-1151 are now the available USER types.
Aug  9, 2021
   Thanks to MP Welch, BOA, USA.

Change 39.164  NMONUARG records containing only the PID and FULLCOMD
VMACNMON       were previously deleted, but now THCOUNT=1 is set so the
Aug  2, 2021   record is output.

Change 39.163  Support for JES2 Monitor SMF Type 1153 record replacement
EX1153J2       for Type 84 Subtype 21 JES2 Monitor in z/OS 2.5. Three
EX1153JM       data sets are created:
EX1153JR          DDDDDD  DATASET   LABEL                        SUBTYPE
IMAC1153          11532   J11532     JES2 PRODUCT + GENERAL        n/a
TYPE1153          1153JM  J1153JM    JES2 MEMORY                    1
TYPS1153          1153JR  J1153JR    JES2 RESOURCES                 1
VMAC1153       This is the first IBM record with Extended SMF Header
VMACSMF        which has the "normal" SMF ID=126 in original header,
VMXGINIT       and the real ID in the extended header. IBM owns the
Aug  9, 2021   IDs 0-127 & 1152-2047 while 128-1151 are for users.

Change 39.162  Some variables had a length of 8 that should have been
VMXGRMFI       set to 5 on zOS or 6 on ASCII.
Aug  1, 2021
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.161  INHERIT KEEPLEN are now always invoked in PROC MEANS in
VMXGSUM        VMXGSUM to preserve input variable attributes.
Aug  1, 2021
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.160  Data set DB2STATB now has BPHITRAT kept and the equation
VMACDB2        was revised based on IBM DB2 12 Performance Guide.
Jul 30, 2021
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.159  New variable in RMF III dataset ZRBGEI added:
VMACRMFV        GEIFLG22='RUCSA*IS*DEFINED?'
Jul 30, 2021

Change 39.158  Support for Quick Select SMF records creates 5 datasets:
EXQSEL00        dddddd    dataset   description
EXQSEL01        QSEL00    QSELSM00  QSELSM START
EXQSEL02        QSEL01    QSELSM01  QSELSM THREAD
EXQSEL03        QSEL02    QSELSM02  QSELSM QSEL STOP
EXQSELPG        QSEL03    QSELSM03  CACHE DEALLOCATION
FORMATS         QSELPG    QSELSMPG  PROGRAMS
IMACQSEL
TYPEQSEL
TYPSQSEL
VMACQSEL
VMXGINIT
Jul 29, 2021

Change 39.157  ONLY if you installed MXG's IEFU84 SMF Exit to put the
IEFU84         INITNUMB and INITNAME fields in the SMF 30 records,
Jul 28, 2021   WPS did not correctly handle  'NOT IN' when the (...)
               text had both character and hex strings, causing  blank
               in INITNAME and bad INITNUMB. The WPS Error was fixed
               in WPS version 4.3.2 Build 8525
                ("wps-4.3.2.0.8525-ga-maintenance-zos").
               Change 22.136 describes MXG's IEFU84 SMF Exit.
   Thanks to Steve Bagshaw, ITMetrics, ENGLAND.

Change 39.156  WPS does not yet support compress on a LIBNAME statement.
VMXGALOC       Now, if compress=yes is specified, it is set to null.
Jul 28, 2021

Change 39.155  DB2 removed Hiperpools and Buffer Pools in DATA SPACES in
VMACDB2        DB2 V8.1, but QDBPHPSZ appears to be reused by IBM, so it
Jul 28, 2021   is now set missing for 8.1 or later.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.154  Support for VIRTEL AUDIT VIRSTAT SMF record creates:
EXVIRSTB          DDDDDD    DATASET   DESCRIPTION
EXVIRSTC          VIRSTB    VIRSBIN   VIRTEL BINARY HTTP INBOUND
EXVIRSTH          VIRSTC    VIRSTAT   VIRTEL VIRSTAT CLASSIC FORMAT
IMACVIRS          VIRSTH    VIRSHTTP  VIRTEL HTTP INBOUND.
TYPEVIRS      -VIRSTIME and VIRSDURCALL corrected Aug 17, 2021.
TYPSVIRS
VMACVIRS
VMXGINIT
Jul 28, 2021
Aug 17, 2021
   Thanks to Maggie Buday, State of Wisconsin, USA.
   Thanks to Craid Collins, State of Wisconsin, USA.

Change 39.153 -New variables in TYPE83LD dataset:
EXTY8308          LDAP_TARGET_MESSAGE_ID   LDAP_DISCONNECT_CAUSE
EXTY8311      -Five Relocate Segments have multiple observations that
EXTY8312       create these new datasets with the list of attributes:
EXTY8313         TYP83208 LDAP ADD ATTR
EXTY8320         TYP83211 LDAP MOD ATTR DEL
IMAC83           TYP83212 LDAP MOD ATTR ADD
VMAC83           TYP83213 LDAP MOD ATTR REP
VMAC83           TYP83220 LDAP SEARCH ATTRS
VMXGINIT      -Those datasets may not be useful and they can be quite
Jul 26, 2021   large.  If you determine you don't need them, insert
               this statement in //SYSIN and they will all have zero
               observations and will take no space.
                   %LET MACKEEP=
                     MACRO _ETY8308  %
                     MACRO _ETY8311  %
                     MACRO _ETY8312  %
                     MACRO _ETY8313  %
                     MACRO _ETY8320  %;
   Thanks to Nathan Loewenthal, CITIGROUP, USA.

Change 39.152  New parameter TRNDOUTCODE allows you to insert SAS code
VMXGRMFI       before the OUTPUT TRNDRMFI is executed.
Jul 22, 2021

Change 39.151  New variables that were not kept in CIMSTRAN now are:
VMACCIMS       TRNMISCH TRNOTEIP TRNOVHD TRNW5GSP
Jul 22, 2021
   Thanks to Sieghart Seith, FICUCIA, GERMANY.

Change 39.150  The read and write bucket count pairs are now correctly
VMACRMFV       read in a pair of 4-byte READ PCIRDREADVARnn and 4-byte
Jul 19,2021    WRITE PCIRDWRITCNTnn for each of the 15 counters pair.

====== CHANGES THRU 39.149 ARE  IN MXG 39.05 DATED Jul 16, 2021 ========

Change 39.149  The rarely used DB2STATB DB2 Buffer Pool dataset has been
VMACDB2        wrong for some time for 8-byte DIF()d counters, just now
Jul 15, 2021   reported.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.148  A missing ; on the LIBNAME TREND statement caused this
VMXGALOC       ERROR: Libref TREND is not assigned.
Jul 16, 2021  -If you invoked VMXGALOC from IMACINIT with READONLY
               set to NO a CC=8 was generated and a scary sounding
               message was on the log.  Now no CC is set, the
               message is suppressed unless MXGDEBUG=VMXGALOC is
               used and READONLY is set to YES.
   Thanks to Ervin Claxon, CSX, USA

Change 39.148  A missing ; on the LIBNAME statement caused this error:
VMXGALOC       ERROR: Libref TREND is not assigned.
Jul 15, 2021  -If you invoked VMXGALOC from IMACINIT with READONLY
               set to NO a CC=8 was generated and a scary sounding
               message was on the log.  Now no CC is set, the
               message is suppressed unless MXGDEBUG=VMXGALOC is
               used and READONLY us set to YES.
              -If you dont want to run weekly and/or monthly, WEEKKEEP=0
               and MNTHKEEP=0 will suppress the creation and allocation
               of WEEKS and MONTHS.

Change 39.147 -CICSTRAN variable OADATA1 is decoded into datetime+text,
VMAC110        but the hex value is needed to match TYPE123A records so
Jul 15, 2021   new variable ADATA1X is the $CHAR64 input $HEX128 format,
              -If you have an tailored IMACEXCL in USERID.SOURCLIB, you
               need to find MACRO _VCICTRN ABCODE and add OADATA1X:
                 MACRO _VCICTRN  KEEP= ABCODE  OADATA1X
               A later change will add OADATA1X when UTILEXCL creates a
               new IMACEXCL.
               Variable ISIOWTTM is now correctly formated TIME12.2
   Thanks to Al Hirst, Wells Fargo, USA.

Change 39.146 -MONTHBL3 the JES3 monthly for BUILDPD3, had two instances
MONTHBL3       of _MNTHBLD and the second was missing an IF statement
MONTHPDB       that dropped OBS where ZDATE was less than the start of
Jul 12, 2021   the last week, resulting in some duplicate OBS in
               monthly datasets.
              -New MONTHPDB member is an example generic monthly job
               that is easier to tailor since you can specify what
               datasets to keep and which to drop. It is also simpler to
               rerun if needed without the need to edit MXG MACROS.

Change 39.145  SMF 110 Subtype 1 MNSEGCL=5 (NOT CICSTRAN) ABEND CICS 5.3
VMAC110        INPUT STATEMENT EXCEEDED if CICSRDPL Resource DPL Detail
Jul 11, 2021   optional dataset is enabled with CICS/TS 5.3. The CICRDD
               segment in this back-level CICS was only 32 bytes but MXG
               expected 40, and apparently no other 5.3 site had turned
               on the optional DPL segment. The circumvention is to put
                 %LET MACFILE=
                    %QUOTE(IF ID=110 AND SUBTYPE=1 AND MNSEGCL=5
                       THEN DELETE; ) ;
                in your //SYSIN.
                And if you are unable to easily EDIT your job's SYSIN,
                you can override the //SYSIN in your JCL with:
                  // EXEC MXGSASxx
                  //SYSIN DD *
                         %LET MACFILE=
                           %QUOTE(IF ID=110 AND SUBTYPE=1 AND MNSEGCL=5
                                  THEN DELETE; ) ;
                  //      DD DSN=YOUR.NORMAL SYSIN,DISP=SHR
   Thanks to Bryan Willers, Sirius, USA.
   Thanks to Ned Day, Sirius, USA

Change 39.144  The z/OS NOCAPSOUT option prints SASLOG messages in mixed
CONFIGXX       case, which we need for debugging. With ODS, USS, LINUX
Jul  9, 2021   commands in SYSLOG messages, we need to see the exact
               text that was executed  Even though it is the default,
               it is set in CONFIGs to override a SAS CAPSOUT option.

Change 39.143  Format $MGSMFID did not describe SMF 123 Subtype 2,
FORMATS        Liberty z/OS Connect Endpt.
Jul  9, 2021
   Thanks to MP Welch, Bank of America, USA.

Change 39.142  Model 204 requires a separate SMF record ID for each3of
VMACM204       the four macros defined in VMACM204 lines 26-37.
Jul  8, 2021   Some character hex variables are now formatted $HEX.
   Thanks to Linda Berkeley, DISA Mainframe, USA.

Change 39.141  Updates to SYSVIEW IMS datasets SV34TRAN and SV35TRAN.
VMACSVIE       Many new fields have been added, with some corrections.
Jul 14, 2021

Change 39.140  If you specified READSMF=YES and PDBOUT=WORK an error
ANALMSUS       resulted:
Jul  8, 2021      ERROR: UPDATE VIEWS ARE NOT SUPPORTED.
               caused by using the same name on output and on input in a
               data step where a VIEW was specified.
   Thanks to Roger Lowe, NT.GOV, AUSTRALIA.

Change 39.139  Change 39.092 erroneously bypassed the creation of the
VFMT102        FORMAT and QA failed with a FORMAT NOT FOUND. Now the
Jul  6, 2021   FORMAT is created even when zero OBS are detected.

Change 39.138  A new RMF Interval is started when the processor speed is
VMAC7072       changed, but changing only the number of CPUs does NOT,
Jul  7, 2021   and the TYPE70 had a negative value for LCPUPDTM in the
               PHYSICAL LPARNAME, but when read as a positive binary.
               those leading 'FFFF...'x became 256E09 corrupting all of
               the CPU reporting for PHYSICAL.  MXG now protects by
               detecting the LCPUPDTM is greater than the DURATM and
               setting it to zero.  A service report is open with IBM
               RMF Data Gathering and an APAR is expected.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 39.137  Change 29.025 dealt with small negative CPUUNITS and set
VMAC30         CPUUNITS=0 if CPUTCBTM was 0, and AVGWKSET was only
Jul  1, 2021   calculated if CPUUNITS were non-zero. By relocating the
               SRVTCBTM to use the original CPUUNITS, and then using
               MAX(CPUTCBTM,SRVTCBTM) for the AVGWKSET more obs were
               populated.
   Thanks to Stephen Hoar, LLoyds Banking, ENGLAND.

Change 39.136  SAS does not permit special characters in variable names,
RMFINTRV       except for the underscore.  If you have service classes
UTILWORK       names with a special character and use UTILWORK to build
VMXGRMFI       your RMFINTRV code, VMXGRMFI fails with syntax errors.
Jul  1, 2021   because the service class/report class name is used as
               the first part of the variable name; class BAT#PROD
               becomes BAT#PRODCPU etc.  MXG now detects the bad names
               flags them with error messages, and changes them to a
               name of BADNAMEx where x is the number of bad names that
               were detected.  RMFINTRV file is created, but CC=5 is
               set as a warning.
   Thanks to Miguel Fernandez, BNYMELLON, USA.

Change 39.135  Change 39.080 caused an ABEND on zOS, but not on ASCII,
ANALDB2R       because of a superfluous %END statement error, even
  PMAUD02      though the error message said the statement would be
Jun 29, 2021   ignored. This behavior was due to the differing values
               for ERRORABEND, which is NOT enabled in ASCII AUTOEXECs,
               but is enabled in the z/OS CONFIG members.
               Specifying NOERORRABEND the same job ran with CC=8.
   Thanks to Wayne A. Schumack, USBank, USA.

Change 39.134  Unused Change Number

Change 39.133  Support for Record 'DB' created new NDMDB dataset.
EXNDMDB        NDMRTYPE "HW" and "H2" records do not match the DSECT; at
VMACNDM        present these records are skipped until documentation
VMXGINIT       matches data.  NDMRTYPE "SF" is also skipped as it
Jun 25, 2021   only contains a timestamp of no value.
Jul 16, 2021  -Updated Jul 16 and DB record validated.
              -Since version 26, NDM has a truncated NDMCERT field that
               no one has complained about, so I have suppressed the
               ERROR message until a user actually needs NDMCERT and
               wants to pursue with NDM Support.
   Thanks to Robert Chavez, Florida Power and Light, USA.
   Thanks to Rob D'Andrea, NATWEST, SCOTLAND.

Change 39.132  Support for Recovery Boost Start/End values in MG090EV
FORMATS        format for variable SMF9040E, and and Requestor_ID values
VMAC90A 2021   in MG090ID format for variable SMF9040ID.
Jun 22, 2021   In Error, SMF9040ID was changed to numeric from char.
Aug 16, 2021   in dataset TYPE9040. See Change 39.170.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 39.131  Updates and corrections for SMF TYPE 50 VTAM Tuning.
VMAC50         New variables in dataset TYPE502R and TYPE502W
Jun 22, 2021      INPIOS   ='INBOUND*PIUS*(IPIU)'
                  OUTPIOS  ='INBOUND*PIUS*(OPIU)'
                  TSWEEP   ='TIMER*SWEEPS*(TSWEEP'
                  QSWEEP   ='QUEUE*SWEEPS*(QSWEEP)'
                  NRWRIREC ='NUMBER*OF WRITE*RECORDS'
                  NRREAREC ='NUMBER*OF READ*RECORDS'

Change 39.130  If you did not specify PDBOUT= or used PDBOUT=WORK a
READDB2        message was generated telling you that the output would
Jun 21, 2021   go to WORK. Message is now suppressed if PDBOUT=WORK.

Change 39.129  If you asked for 102.xxx or ID you could get this error
UTILBLDP       when UTILBLDP built the code to clear the substitution
Jun 21, 2021   macros
               ERROR: Old-style macro name _ID102.xxx must contain...

Change 39.128  TYPE71 variables PAGBLAV and PAGBLMX were reversed.
VMAC71
Jun 16, 2021
   Thanks to Greg Goshia, Westfield, USA.

Change 39.127  The Liberty SMF Type 123 Subtype 2 4-byte variable SYSTEM
VMAC123A       INPUT from the SMF Header was overwritten by the 8-byte
Jun 17, 2021   SYSNAME/CVTSNAME field that I had incorrectly also INPUT
               into SYSTEM.  Now the SYSTEM and SYSNAME are correct.
   Thanks to Al Hirst, Wells Fargo, USA.

Change 39.126  The PRINT=YES option only printed 20 observations instead
VMXGFIND       of printing all observations of each datasets.
Jun 15, 2021
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.125  The STCKE GMTOFF92 was wrong; the STCKE returned value
VMAC92         is 60 years larger than current, causing invalid times
Jun 14, 2021   for those datetime variables.

Change 39.124  Enhanced to support specification of multiple basedirs.
VGETALOC       See the Linux example in the member.
Jun 11, 2021

Change 39.123 -INVALID DATA FOR ENDTIME in TYPE16 record had only the
VMAC16         the time part populated. IBM support pointed out that the
Jun 21, 2021   ICERSUB=3 is a "Short Record Unsuccessful Execution" and
               "Depending on the severity of an unsuccessful run,
               information might not be provided in some fields in the
               SMF record.  There were 17 records with 3, but only one
               with invalid ENDTIME, and now the dump and error message
               are suppressed if that variable is invalid.
              -IBM variable ICESZRNU identifies why zSORT was NOT USED,
               and a zero value is supposed to mean zSORT WAS used, but
               these records with a zero also have ICEFLBY5='N' flag
               that zSORT was NOT used.  Now, MXG sets IZESZRNU=-1 for
               these records that did NOT use zSORT.  But only one site
               had this issue, a second site only had ICESZRNU=0 only
               for zSORT use.
              -The zSORT segments were never being INPUT because the
               variable LENLEFT was not populated. Variable
   Thanks to Rob D'Andrea, NATWEST, SCOTLAND.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.122 -ASMRMFV VAR macro code was inadvertently regressed, still
ASMRMFV        using the ISHEX macro function that is not supported for
VMACRMFV       back level ASM Assembly program. UI47658 is current,
Jun 11, 2021   failure was with UI60352 Dec 18, 2020.
              -INPUT STATEMENT EXCEEDED on CPUG3 record, CPCUDBOFF was
               a missing value which was only set for CPUVERG=6.
              -Additional ASMRMFV validation checks for RMF III SSHG3
               table for SSHTIBEG LT SSHTIEND and SSHSMPNR (number of
               MINTIME samples) non zero, and will delete the interval
               if not satisfied.  We have seen only one instance.

Change 39.121  A rerun within the same SESSION failed because we did not
UTILBLDP       reset the MACRO _IDs, with  ERROR: Old-style macro name
Jun  6, 2021   must contain only letters, digits and underscores.

Change 39.120  VMXGALOC is only for ASCII execution where it allocates
VMXGALOC       and manages all of the MXG SAS PDB Data Libraries.  IF
Jun  4, 2021   you did not specify FIRSTRUN=YES the first time you ran
               it, many libraries were not allocated causing MXGERRORs.
               The FIRSTRUN=YES logic should have been used only for
               the copy functions and should not have been used to
               control the allocation of new PDBs.  Now the directory's
               existence is tested and allocated if doesn't exist.

Change 39.119 -Support for HSM ZEDC Compression adds variables to the
FORMATS        HSMFSRST dataset.
VMACHSM          FSR_ZEDC_COMPRESS_PPRCNT='PERCENT*SAVED*BY ZEDC'
Jun  8, 2021     FSR_USER_DATASIZE='FSR*USER*UNCOMPRESSED*DATASIZE'
                 FSR_COMP_DATASIZE='FSR*COMP*COMPRESSED*DATASIZE'
                 FSR_COMP='ZEDC*OMPRESSED*BEFORE*MIGRATION?
                 FSR_ZEDC='ZEDC*COMPRESSED*DURING*MIGRATION?'
                 FSRFMB='FSRBYTR*AND*FSRBYTW*CONVERTED*TO BYTES?'
              -USER_DATASIZE/COMP_DATASIZE are valid when FSR_COMP='Y'.
               and the PRCNT is valid when FSR_ZEDC='Y'
   Thanks to Michael Friske, FMR, USA.

Change 39.118  UTILCPLG utility will copy the SAS log to a file, when
UTILCPLG       MXG executes as a batch job, but the log was not copied
Jun  3, 2021   if there were spaces in the directory names.  Wrapping
               the names in " resolved the error.

Change 39.117  If the eight byte JOBCLAS8 is populated and the one-byte
BUIL3005       JOBCLASS is blank, MXG moved the first byte of JOBCLAS8
VMAC30         into JOBCLASS. But IBM now sets JOBCLAS8='STC' causing
Jun  1, 2021   MXG to set JOBCLASS='S' when there was no such job class.
               Now, the original one-byte JOBCLASS is not changed.
   Thanks to Robert Chavez, Florida Power and Light, USA.

====== CHANGES THRU 39.116 ARE  IN MXG 39.04 DATED Jun  1, 2021 ========

Change 39.116  Support for z/OS 2.5 SMF Manual Changes are all included
May 28, 2021   in MXG 39.04 and there were no INCOMPATIBLE changes.

Change 39.115  If USEBANDS=YES, an annoying note that STAGGERTHIN was
GRAFCEC        not valid and THIN was used. STAGGERTHIN was removed.
May 25, 2021

Change 39.114  An INVALID IMAC6ESS GEPARMKY 0027x caused message that
IMAC6ESS       the segment was invalid, but the reporting site does not
May 24 2021    use those TYPE6 ESS variables and was unwilling to pursue
               with IBM Support.  New message ask for you to contact MXG
               Support.

Change 39.113  TYPE6 variable SMF6URI is added to the PDB.PRINT
BUILD005       dataset.
BUIL3005
May 21 2021
   Thanks to Ervin Claxon, CSX, USA.

Change 39.112  Formats $MGIBMPR and $MGIBMIM add new product name
FORMATS        5655-TM4.  These formats are used in SCRT in TYPE89 and
May 26, 2021   and caused NO MWP for IMS Workload.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 39.111  If you are moving from zOS to ASCII and had a hard-coded
VMACSMF        SMFEXIT=CICS in an IMAC**** member you could get:
May 23, 2021      NOTE 138-205:
                  Line generated by the macro variable "SMFEXIT".
                    82249    cics
                             ----
                               23
                  ERROR 23-2: Invalid option name CICS.
               when reading SMF data.  The SMFEXIT only works on z/OS.

              -Remove the %LET SMFEXIT=CICS; statement from the IMAC.
              -Documentation Only, VMACSMF was not changed.

Change 39.110  Documentation update for SUPPRESS.
UTILBLDP
May 19, 2021

Change 39.109  More Details for SMF Record Selections, Change 39.025.
VMACSMF        showed how _SMF and %LET MACFILE can be used for SMF
May 18, 2021   record selection with a CICS Dictionary example, but the
               also creates these "PRODUCT" variables that can be used
               for selection,  You must set %LET MXGDECOMP=DB2; in SYSIN
               to decode Compressed DB2 records using _SMF.

               DB2:  SUBSYSTEM COMPRESSFLAG ACCUMACFLAG DB2IFCID
                     QWHSRELN
               CICS: SMFPSRVR SUBSYSTEM MNSEGCL MCTSSDCN MCTSSDRL
                     COMPRESSFLAG
               30:   SUBSYSTEM
               RMF:  PRODCMF MVSLEVEL PRODVERSION
               80:   SUBTYPE=RACFEVNT
               MQ:   SUBSYSTEM SM115REL PRODVERSION
                6:   SUBSYSTEM
               26:   SUBSYSTEM

Change 39.108  Support for  BVIR Version R5.x, 8.50.x.x:
VMACBVIR      -New variables in BVIR30 for BVIRVERS GE 8:
May 24, 2021     TMPTHROT='TEMP*PREMIG*THROTTLE*THRESHOLD'
                 TMPPRIOR='TEMP*PREMIG*PRIORITY*THRESHOLD'
                 Eight Byte input for TVCSIZE USDCACHE USDFLASH
              -New variables in BVIR302 for BVIRVERS GE 7:
                 EHSMRECA='DATA*RESIDENT*IN CACHE'
                 EHSMNOTY='DATA*UNPREMIGRATED'
                 EHSMAWRE='DATA*AWAITING*REPLICATION'
                 EHWMSZPK='DATA*TOTAL SIZE*PREFER*KEEP'
                 EHWMSZPR='DATA*TOTAL SIZE*PREFER*REMOVE'
                 EHWMSZPV='DATA*TOTAL SIZE*PINNED*VOLUMES'
                 EHWMSZRV='DATA*TOTAL SIZE*RESIDENT*WAITING'
                 EHWMSOBI='OBJECTS*IN TVC*ASSIGNED*PREFGROUP'
              -New variables in BVIR11 for BVIRVERS GE 7:
                 ATMDLCQA='AVERAGE*TIME*DELAYED*COPY*QUEUE*AGE'
                 ATMDTOCA='DATA XFER*TO THIS*CACHE*FROM DS8K'
                 ATMDTODI='DATA XFERYFROM THIS*CACHE*TO DS8K'
              -New EXTENDED GRID CONTAINER awaits data to decode.
              -New PARTSIZE/MIGRSIZE array awaits data to decode
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.107  Long ago there was a 32K limit to the size of macro
VMXGSUM        variables and VMXGSUM flagged a warning if INCODE
May 14, 2021   exceeded 30000 bytes (spaces count). Now if SAS is V9 or
               higher the limit is 65534.

Change 39.106  This error occurs if you have an old VMAC7072 in USERID
VMAC7072       from MXG Versions 36 or 37.  You must always remove any:
May 14, 2021   VMACxxxx or VMXGyyyy members from your USERID tailoring
               because your old member will prevent the current member
               from being used:
                   NOTE: Line generated by the macro variable "WTY70".
                            186016 WORK
                                   ____
                                   455
         ERROR 455-185: Data set was not specified on the DATA statement

Change 39.105  Infile options EOV=BVIREOV and JFCB=BVIRJFCB are added to
VMACBVIR       the BVIRHIST infile to permit creation of the variable
May 12, 2021   SYSTEM.  Option END=ENDOFINP already exists.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.104  VMXGINIT sets new macro variable %LET MACEXCL=IMACEXCL;
VMAC110        and VMAC110 is now %INCLUDE SOURCLIB(&MACEXCL); so that
VMXGINIT       you can have multiple IMACEXCx member names if needed.
May 13, 2021

Change 39.103  Support for more than 4TB of Real Storage.  MXG Variable
VMAC0          REALSIZE (SMF0RST) 1K Blocks is only valid up to 4T-1 and
May 11, 2021   new variable SMF0RS4K counts 4K blocks online at IPL.
               z/OS  2.5 plans to allow up to 16 Terabytes of memory.


Change 39.102  Support for z/OS Connect EE SMF 123 Subtype 2 record adds
VMAC123A       new variable SM123S2_TRACKING_TOKEN in dataset TYPE1232.
May 11, 2021

Change 39.101  Unused Change Number.
May 11, 2021

Change 39.100 -New ASMRMFV Field Data Filter (FDF) support for the RMF
ADOCRMFV       III Cryptographic Hardware Data Table (CRYG3}.
ASMRMFV       -The Field Data Filter (FDF) feature of RMF III was added
VMACRMFV       in MXG Change 37.089 and supports filtering of raw or MXG
May 11, 2021   derived RMF data values when ASMRMFV reads the RMF III
               VSAM file, reducing the size of the created RMFBSAM file
               and the result MXG PDB.
              -RMF III table entries can be filtered by FDF based on one
               or more numeric/character/bit fields using AND/OR logic.
               FDF is intended for advanced MXG users building ad hoc
               PDBs of RMF III data for studies and investigations.
              -The minimum hardware level required to run ASMRMFV is
               raised from a z9 to a z10 machine.  IBM end of support
               for the z10 was December 2019.  This allows ASMRMFV to
               use more efficient and fewer machine instructions.
              -MXG can provide an archival stabilized ASMRMFV level for
               continuing z9 users if needed.  This level does NOT have
               FDF CRYG3 support and will NOT be further enhanced.
              -ADOCRMFV now contains ASMRMFV support status information
               for all IBM processor families.
              -Improved Table Error Diagnostics (ITED) are added for all
               supported RMF III tables.   When an RMF III table error
               is detected (which should be rare) instead of only
               counting the table skip, a dynamically tailored RMFV092E
               message will also be issued with further details.

               Return Code 0008 will result for RMF III table errors
               rather than Return Code 0004 as previously.  These merit
               contact with MXG Technical Support to resolve the
               problem.
              -There is an internal ASMRMFV limit of 10 RMFV092E
               messages for each RMF III VSAM data set processed.  If
               reached new message RMV093I is issued and further
               RMFV092E messages are suppressed for that data set.
              -When AUTOSEL (default) is in effect ASMRMFV now shows the
               field name that trigged that automatic RMF III table
               selection in message RMFV082I.

               Example:
               RMFV002I  SYSIN   :  IF=(ASIJOBNA EQ 'MXGJU')
               RMFV082I -->NOTE  :  RMF III ASI TABLE AUTO SELECTED BY
               ASIJOBNA  <--

              -When AUTOSEL (default) in in effect use of any of the
               following additional ASMRMFV parameters (and their
               respective aliases) will now cause the corresponding RMF
               III table to be selected without having to also
               explicitly code the corresponding table selection:

               Parameter             Auto Selects
               ---------            ---------------
               ASIAND                  ASIG3
               ASIOR                   ASIG3
               CSRAND                  CSRG3
               CSROR                   CSRG3
               DVTAND                  DVTG3
               DVTOR                   DVTG3
               OPDAND                  OPDG3
               OPDOR                   OPDG3
               SPGAND                  SPGG3
               SPGOR                   SPGG3
               DEVTYPE=                DVTG3
               CPCSYSTEM=              CPCDB  CPUG3
               CPUSYSTEM=              CPUG3  CPCDB
              -Data Dictionaries in the ADOCRMFV member have been
               updated or added for these FDF supported RMF III tables:
               ASIG3 CFIG3 CRYG3 GEIG3.
              -Many tables and charts in ADOCRMFV have been converted to
               boxed figures for improved legibility.
              -Following Sections are updated or added in the ADOCRMFV
               documentation member:

               Section     Contents
               -------     --------
                  0        Contents
                  2        Terminology
                  3        Execution JCL
                  4        RMF III Table Selection Parameters
                  5        Input Data Selection Parameters
                  8        Error Handling Parameters
                  9        JCL and SYSIN Parameter Usage
                 12        Messages
                 13        Filtered Records
                 32        Data Dictionary Descriptions
                 33        Filtering The ASIG3 Table
                 34        Filtering The CFIG3 Table
                 39        Filtering The CRYG3 Table
                 40        Filtering The GEIG3 Table
                 53        ASMRMFV Execution and Methods Overview
                 54        PDB Build Examples With Direct JCL Method
                 55        PDB Build Examples With TSO Clist Method
                 56        PDB Build Examples With Dynamic Method
                 57        Summary
                 58        Bibliography

              -Variable LCPUHWLW='HDW*GROUP*CAPACITY*LIMIT' in ZRBLCP
                 dataset was misspelled as LCPUHWCA in the INPUT.
              -Dataset ZRBCPU variable CPCVALAVL added and CPCABSMSU
                 is correctly labeled:
                 CPCABSMSU='ABSMSU*CAPPING*OPTION*SET?'
                 CPCVALAVL='CAPACITY*VALUES*AVAILABLE?'
              -The 96 CPUSTAnn variables in dataset ZRBCPU have been
               reserved since z/OS 1.2.  They are removed.

Change 39.099  Support for DB2 Netezza/IDAA Accelerator new data fields,
VMACDB2        and correction to DB2 GMT Offset calculation .  DB2 does
VMACDB2H       not provide a GMT Offset, forcing MXG to use the delta
VMACSMF        between SMFTIME-TODSTAMP with fuzzy logic, because SMF is
May 23, 2021   in hundredths while TODSTAMPs are in microseconds, but
               MXG logic did NOT account for the 26 leap seconds that
               are in all TODSTAMPs, but not in SMFTIMEs, that made the
               converted local time 26 seconds later than actual. Now,
               the 26 seconds are subtracted from QWHSSTCK before the
               GMT corrected calculation and QWHSSTCK is correctly
               converted to local time zone to match SMF, and the
               GMT Offset is now integer hours.
              -Leap Seconds are periodically added (6 since 1997) and
               when the next one is scheduled, I'll use the date  to
               subtract the 27th.
              -I've discovered both TODSTAMP and MSEC variables can show
               8 decimal digits, with DATATIME28.8 or TIME20.8 formats,
               but SAS Support says both only have 6 decimals are valid.
              -Protection for invalid offset added in VMACSMF.
   Thanks to Marc Di Edwardo, Memorial Sloan Kettering, USA.

Change 39.098  With PDB=SMF the display of VMXGRMFI options was
VMXGRMFI       suppressed.
May 11, 2021  -If you specified imacwork=no in lower case it
               was not recognized and you could get the out of
               balance message.  Now IMACWORK USECNTRL USEREPRT
               are upcased before any compares are made.
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 39.097  New parameter NOTALLLPARS=NO defaults to running the PROC
VMXG70PR       FREQ that tells you which LPARs are missing from the PDB.
May 7, 2021    Specifying NOTALLLPARS=YES suppresses these messages for
               when you don't have the RMF data from all LPAR's.

Change 39.096  New variable SMF89SOLUTIONID, the SOLUT= system parameter
VMAC89         is added to datasets TYPE89 and TYPE892. This is the
May  6, 2021   Tailored Fit Pricing Solution ID.

Change 39.095  Typos in comments.  For CMODIDNT='393' DEC=394 corrected
UTILEXCL       to DEC=393, and WBURIRND corrected to WBURIRCV.
May  6, 2021
   Thanks to Charles Piggott, RUV, GERMANY.

Change 39.094  Debugging macro variable DCOLEXIT is defined in VMXGINIT
VMACDCOL       and &DCOLEXIT is added to the INFILE so that you can use
VMXGINIT         %LET DCOLEXIT=FIRSTOBS=250 OBS=300;
May  5, 2021   to control what records are read. If you instead used
                 OPTIONS FIRSTOBS=250 OBS=300;
               the DATA step will correctly read those selected records,
               but the following SORTs and STEPs will fail because they
               FIRSTOBS=1 OBS=MAX.

Change 39.093 -DCOLLECT DAILYDSN/VMXGDSN creation of DATASETS.DATASETS
VMXGDSN        has been wrong since Change 37.065 in MXG 37.03. In the
May  5, 2021   creation of DATASETS, the original code output the pair
               of DATA/INDX obs from DCOLDSET for VSAM files, setting
               SPACE1=DCDALLSP (Allocated Space) for each obs.
              -That change replaced that pair of obs with one obs from
               DCOLCLUS, DSNAME=Cluster Name and with SPACE1=DCAHARBA
               as the size of each VSAM cluster,  But the total DASD
               space is significantly smaller after that change.
              -This change follows IBM recommendation to use DCAHARBC,
               instead of DCAHARBA and to continue to discard the VSAM
               DATA/INDX space from DCOLDSET.
              -After this change, the obs count in DATASETS is smaller,
               and the VSAM sizes increased to pre-37.065 change.
                DASD Space is DCDALLSP - VSAM-DCDALLSP + DCAHARBC
              -See also Change 15.108.
   Thanks to Terry Chao, Office of Chief Technology Officer, USA.

====== CHANGES THRU 39.092 ARE  IN MXG 39.03 DATED May  3, 2021 ========

Change 39.092  Some ANALDB2R reports attempt to map database and object
VFMT102        names using this format but if there were no subtype 105
Apr 29, 2021   records the format could could not be built and a format
               not found error could result. Now tells you there was no
               data and sets NOFMTERR.

Change 39.091  Support for new variables DB2 IFCID 402 T102S402 dataset:
VMAC102         QW0402OW      ='IDLE*THREAD*THRESHOLD*EXCEEDED'
May  2, 2021    QW0402TC      ='CURRENT*ACTIVE*THREAD*COUNTER'
                QW0402TS      ='CURRENT SUSPENDED THREAD COUNTER.
                QW0402TH      ='HWM*THREAD*COUNTER*SINCE*DDF START'
                QW0402CC      ='CURRENT*CONNECTIONS*COUNTER'
                QW0402CH      ='HWM*CONNECTIONS*COUNTER*SINCE START'
                QW0402TN1_OFF ='OFFSET*TO FIRST*TOKEN*VALUE'
                QW0402TN2_OFF ='OFFSET*TO SECOND*TOKEN*VALUE'
                QW0402TN1_LEN ='LENGTH OF FIRST*TOKEN FIELD'
                QW0402TN1_VAR ='FIRST*TOKEN*VALUE'
                QW0402TN2_LEN ='LENGTH OF*SECOND*TOKEN*FIELD'
                QW0402TN2_VAR ='SECOND*TOKEN*VALUE'
               -QWHCEUTX='END*USER*TRANSACTION*NAME was added _V102CMN
                so it will be kept in ALL T102Snnn Trace Datasets.
   Thanks to Manoel DeSouza, FMR, USA.
   Thanks to Jonathan D. Brown, FMR, USA

Change 39.090  Support for RACF Pass Ticket Evaluation (8081 PTEVAL)
EXTY8081       creates new TYPE8081 dataset.
FORMATS
IMAC80A
VMAC80A
VMXGINIT
Apr 28, 2021
   Thanks to Jim Guzlecki, REFINITIV, USA.

Change 39.089  Velocity XAM storage variables are in pages, but were not
VMACXAM        converted to bytes nor formatted with the MGBYTES format.
Apr 27, 2021   These are now internally in bytes, MGBYTES formatted:
                  RSASTORE SYSTORS  SYSVRSZ  SYSVRFRE  SYSTRCPC
                  HCPMM1S  HCPMM4S  RSAPGABL RSANONPG  RSAOFFLN
                  RSARIOSZ CALSCMAX SYSSCMEX RSAGSTOR  RSAGOFFL
                  RSALGFRM SXSSIZE  PFXSTLEN PFXFTLEN  RSAFNOTI
                  FIXEDSTO SYSGSTBY SYSGSTRS RSACKMB2G RSACKMA2G
                  RSAPIN0B RSAPIN0A RSAPIN1B RSAPIN1A  RSAPINWP
                  RSAPINFP
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 39.088  Report to Count Character Variables with FREQ=FREQ did
ANALJOBN       not print anything because there was no TABLES statement,
Apr 27, 2021   causing VMXGPRAL to fail, exposing Change 39.087.

Change 39.087  If there were no variables not in the BYLIST a syntax
VMXGPRAL       error occurred pointing at /MISSING.
Apr 27, 2021
   Thanks to Rahul Raj, ENSONO, USA.

Change 39.086  Support for HSM UNIX CLOUD Statistics variables added to
FORMATS        HSMFSRST dataset for FSRTYPE 25 and 26.
VMACHSM          FSRUNIXF='UNIX*SEGMENT*PRESENT?'
Apr 29, 2021     FSRTYPE ='FSR*FUNCTION*TYPE'
                 FSRCLNML='CLOUD*CONNECTION*NAME*LENGTH'
                 FSRCLNR ='CLOUD*NETWORK*CONNECTION*NAME'
                 FSRCLCNT='DFHSMHSM*CONTAINER*NAME*USED'
                 FSRCLOBN='OBJECTS*CREATED'
                 FSRPFXNM='PREFIX*OF*OBJECT'
                 FSR2_UNML/*UNIX*FILENAME*LENGTH'
                 FSR2_FLGS/*UNIX*FILENAME*FLAGS'
                 FSR2_UNAM/*UNIX*FILENAME'
                 FSRFMB   ='FSRBYTR*AND*FSRBYTW*WERE IN*MB?'
                 FSRFXPLC='EXPIRED*FROM*CLOUD?'
              -HSM Variable FSRTYPE has additional values that are now
               decoded by format MGMSMFU:
                 24='24:CLASS TRANSITION'
                 25='25:MIGRATION TO CLOUD'
                 26='26:RECALL FROM CLOUD'
              -Records with FSRTYPE=24 are not output until test data
               is available to validate it's contents.
   Thanks to Macarena Alonso Alvar, Silk Aplicaciones SLU, SPAIN.

Change 39.085  PDB.ASUMUOW variable TRANNAME should have LENGTH $4 but
VMXGUOW        contained only 1 character if MQ data records preceded
Apr 24, 2021   the other records, and SPIN.SPINUOW had observation(s).
   Thanks to John Holiday, Queensland Government, AUSTRALIA

Change 39.084  We all know that IO delays can be a problem but we may
TECHNOTE       not consider terminal delays to be part of the problem.
Apr 23, 2021   Now that everyone is working from home running SAS in
               the foreground (interactive) can be profoundly affected.
               Working with a customer on a Linux install we noticed
               that SAS initialization took over 1 minute for 1 user
               but only 45 seconds for another and locally on my PC a
               couple of seconds.  Running BUILDPDB against a 6GB SMF
               dataset in the foreground took 13 minutes but running
               in the background (a batch job) the same program and
               the same SMF data ran in 90 seconds. The moral of the
               story is IO still matters and LOGS and OUTPUTs back
               to your online session are IO and matter.

Change 39.083  Format $MGSMFID did not describe SMF 83 Subtype 7, MFA,
FORMATS        Multi-Factor Authentication
Apr 23, 2021
   Thanks to MP Welch, Bank of America, USA.

Change 39.082  Variable QDSTNCQC was misspelled as QDSTNQWC.
VMACDB2
Apr 23, 2021
   Thanks to R. Indumathy, FMR, USA.

Change 39.081  A few non-impacting %PUT "DEBUG" messages were replaced
READDB2        with a conditional test that &MXGDEBUG was enabled.
Apr 21, 2021

Change 39.080  ANALDB2R could fail if PMAUD02 report was requested and
ANALDB2R       there were no observations, due to misplaced GOTO.
Apr 20, 2021

Change 39.079  Support for RMF III CRYG3 Cryptographic Hardware Table
EXZRBCRY       creates new dataset ZRBCRY.
FORMATS
IMACRMFV
VMACRMFV
VMXGINIT
Apr 28, 2021
   Thanks to MP Welch, Bank of America, USA.

Change 39.078 -MXG 39.02. ERRORs  EXCLUDED FIELDS - SECOND RECORD error
UTILEXCL       using the IMACEXCL created by UTILEXCL; there was a typo
IMACICCU       $CHAR54 instead of $CHAR64 that caused misalignment.
Apr 15, 2021   -The %INCLUDE inside IMACICCU should be IMACICCD.
   Thanks to Negri Gianvittorio, SAS, ITALY
   Thanks to Mark Wittie, FMR, USA.
   Thanks to Kelly Ballamis, Zions Bank, USA.

Change 39.077  Changes in TYPE70 processing caused PDB=SMF to fail.
VMXGRMFI       Logic to read the RMF SMF data needed for RMFINTRV was
Apr 15, 2021   replaced with a %UTILBLDP invocation.
   Thanks to Michael Friske, FMR, USA.

Change 39.076  Support for Phoenix JES3plus SMF 84 error correction that
VMACSMF        was reported in APAR OA58963 but not corrected by IBM.
VMAC84         The 84 subtype was not in 19-20 so IBM SMF utilities
Apr 15, 2021   could not use SUBTYPE for record selection, The APAR was
               closed as a permanent restriction for JES3, but JES2 will
               write a new record with ID=126 and four-digit ID=1153
               that has subtype in the expected location. For JES3,
               JES3plus relocates the subtype to expected location.
               This MXG update correctly inputs the SUBTYPE in the
               _SMF header macro for all possibilities.

Change 39.075  Updates from SMF Manual dated Apr  5, 2021.
VMAC42        -TYPE42DS New variable: (APAR OA59611)
Apr 12, 2021     S42SNTWJ='SYNC ZHL*WRITES*DISABLED*NEW LAYER'
              -TYPE106 New Datasets
                 TY1063  TYPE1063  BCP ST-1 HWIREST API
                 TY1064  TYPE1064  BCP ST-2 HWIREST API

Change 39.074  RMF III z/OS 2.4 Updates from Feb 2021 Programmer Guide:
VMACRMFV      -Dataset ZRBLCP new variables:
Apr 11, 2021    CPC_BOOSTACTIVE='BOOST*ACTIVE*INTERVAL'
                CPC_BOOSTCLASS ='BOOST*CLASS'
              -Dataset ZRBCFI new variables
                CFISTSC1='INDEX OF*FIRST CFICONNS'
                CFISTMRC='NUMBER OF*CFICONNS*ENTRIES'
                CFISTMTM='SUMMED*QUEUE*TIME'
              -Dataset ZRBASI new variables
                ASIORMP    ='STORE/OUTR*DELAY*SAMPLES*SR7'
                ASIRUCSAA  ='RUCSA*ALLOCATION'
                ASIERUCSAA ='ERUCSA*ALLOCATION'
              -Dataset ZRBGEI new variables
                GEIGLUSE='1GB FRAMES*IN USE*MEM OBJECTS'
                GEIGLTOT='1GB FRAMES*IN CENTRAL*STORAGE'
   Thanks to MP Welch, Bank of America, USA.

Change 39.073  Format $MGMARET for TYPEMAR printed 3990 instead of 3390.
FORMATS
Apr 12, 2021
   Thanks to Lloyd Christensen, Hitachi Vantara, USA.

Change 39.072  ZIPOVHTM and PCTZIPOV variables added to ASUMCELP ASUMCEC
VMXG70PR       ASUM70PR and ASUM70LP datasets.
Apr 13, 2021
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 39.071  RMF III percentages on System Information and CPC Summary
VMACRMFV       reports are identified/revised/created:
Apr  8, 2021   -Dataset ZRBCPU.
                These variables are on RMF System Information report.
                PCTCPUBY='AVG CPU*PHYSICAL*PERCENT*BUSY';
                PCTLOGBY='AVG CPU*LOGICAL*PERCENT*BUSY';
                  PCTLOGBY/CPUG3_LOGITI. MVS view of logical processor
                  utilization based on wait time for the processor.
                  This is "Avg CPU UTIL%" on System Information report.
                  PCTCPUBY/CPUG3_PHYSTI PR/SM view of physical processor
                  utilization based on dispatch times.
                  This is "Avg MVS UTIL%" on System Information report.
               -Dataset ZRBLCPLPARS new variables; you must use TYPSRMFV
                or invoke _SRMFV to create dataset PDB.ZRBLCPLPARS.
                These variables are on the CPC Summary report;
                 CPUPCTEF='PHYSICAL*EFFECTIVE*PERCENT*BUSY'
                 CPUPCTBY='PHYSICAL*TOTAL*PERCENT*BUSY'
                 LOGPCTEF='LOGICAL*EFFECTIVE*PERCENT*BUSY'
                 LOGPCTBY='LOGICAL*TOTAL*PERCENT*BUSY'
                and ZRBLCPLPARS has an observation for each CPU TYPE.
   Thanks to Ervin Claxon, CSX, USA.

Change 39.070  Support for DB2 APAR PH31684, SORT usage counters in
IMACDBNZ       three datasets, sort sizes for zSORT in IFCID=96, and
VMAC102        these two new NETEZZA variables in DB2ACCT;
VMACDB2          Q8ACTWDP='TIME*WAITED*FOR DELAY*PROTOCOL'
Apr  6, 2021     Q8ACNWDP='STATEMENTS*WITH*EXPIRED*PROTOCOL'
                New variables added to DB2STAT1 DB2STATS DB2ACCT
                 QXSTSRT ='TIMES*RDS SORT*PERFORMED'
                 QXSTSRTL='TIMES*RDS SORT*USED SORTL'
                 QXSTMLSRT='TIMES*SORT*FEEDBACK*USED'
                 QXSTMLSDFND='PREPARE*STABILIZED'
               New variables added to T102S096 for IFCID=96:
                 QW0096RU='QW0096RU*SERVICEABILITY'
                 QW0096PN_OFF='OFFSET TO PROGRAM NAME'
                 QW0096PC_OFF='OFFSET TO PACKAGE COLLECTION ID'
                 QW0096DZ='SORT*DATA AREA*SIZE WITH*SORTL'
                 QW0096KZ='SORT KEY*SIZE WITH*SORTL'
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 39.069  Some XAMSYS variables were in the KEEP= list for XAMUSR
VMACXAM        but they should have been kept in XAMSYT.
Apr  5, 2021

Change 39.068 -Some users have found savings of time using COMPRESS=NO
VMXGALOC       as datasets in work have to be repeatedly compressed and
Apr  5, 2021   decompressed. A parameter was added to allow the PDBs
Apr  9, 2021   being created to be compressed while leaving work at the
               value specified in your AUTOEXEC. COMPRESS=YES is now the
               default value added to every LIBNAME statement issued by
               VMXGALOC. Specify COMPRESS=blank or anything other than
               YES to disable.
              -On Linux only, if you did not specify a BASEYEAR you
               could get a SUBSTR OUT OF RANGE error.
   Thanks to Arnold Kim, UPS, USA.

Change 39.067  New value '20X:REMOUNT' added to $MG092FM format for
FORMATS        variable SMF92MFG in dataset TYPE9201 and SMF92UFG in the
Apr  5, 2021   dataset TYPE9205.  ICN 1830.

====== CHANGES THRU 39.066 ARE  IN MXG 39.02 DATED Apr  4, 2021 ========

Change 39.066  New parameter USEBANDS= added with a default of NO, will
GRAFCEC        creates 'band' charts rather than bar charts.
Apr  4, 2021

Change 39.065  Change 39.029 incorrectly coded PROC FORMAT for the
GRAFWRKX       formats $TMPSUEC and $TMPNRCPI that set SU/Sec and NRCPU.
Apr  4, 2021

Change 39.064  The Apr 1 Change 39.060 for HLASM back level protection
ASMRMFV        was revised. USE ONLY ASMRMFV DATED APR 2 IN LINE2.
Apr  2, 2021
   Thanks to Otto Burgess, OPM.GOV, USA.
   Thanks to Robert Richards, OPM.GOV, USA.

====== CHANGES THRU 39.063 ARE  IN MXG 39.02 DATED Apr  1, 2021 ========

Change 39.063  Dataset IMS56FA variable DLRDMR is now kept, DLRSMR typo.
VMACIMS
Apr  1, 2021
   Thanks to Nick Varley, Precisely, ENGLAND.

Change 39.062  JCL and source to run BUILPDB creating the PDB on a tape
JCLTAPDB       and at the same time sending CICSTRAN to tape and all of
BLDTAPDB       the DB2 accounting datasets to a third tape dataset.
Mar 31, 2021

Change 39.061  Change 37.260 added JOB_IDENTIFIER but MXG did not change
VMACIDMS       the +50 to +42 to preserve alignment.
Mar 30, 2021
   Thanks to Scott Barry, SBBTechLLC, USA.


Change 39.060  Some versions of the HLASM Assembly program fail on the
ASMRMFV        ISHEX function, with error message ASMA089E when the
Apr  2, 2021   function appears in a macro definition.  Single character
               parsing is now used to validate hex characters.
               UI73993 Feb 17, 2021 works, UI60352 Dec 19, 2018) failed.
   Thanks to Otto Burgess, OPM, USA.
   Thanks to

Change 39.059  The GMT Offset in CVTTRZ in TYPE0 was off by one second;
VMAC0          the CEIL and FLOOR functions were reversed.
Mar 30, 2021
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 39.058  Second period for DATA=&PDBMXG..STEPS was missing.
ANALABND
Mar 28, 2021

Change 39.057  INPUT EXCEEDED for defective SMF 16 record with ZSORT
VMAC16         triplet populated, but no ZSORT data, APAR PH32395:
Apr  1, 2021   UI90068 WHEN ZSORT=Y IS IN EFFECT. ERROR DESCRIPTION:
               The ZSORT feature does not support SORTs that are program
               invoked and using E15 and/or E35 EXITS for input and
               output.  In this case ZSORT needs to be disabled and use
               the traditional sorting techniques, otherwise program
               failures like ABEND0C4 may occur. This APAR will improve
               this check. One site's data populated ICEFLBY5='Y' that
               ZFSORT was invoked, but the offset pointed to the end
               of the record where there was no data.  A second site
               had ten-digit decimal offsets in the ZSORT triplet but
               ICEFLBY5 was not y.
              -The BroadCom CA-7 SASSHISS program ABENDED with 0C4 as
               noted in this document:
               https://knowledge.broadcom.com/external/article/209582/
                     sasshis5-c0c4-abend-was-issued.html
   Thanks to Rob D'Andrea, NATWEST. SCOTLAND.

Change 39.056  New parameters WEEKINCODE= MNTHINCODE= let you insert
BLDSMPDB       code just after the SET statements for weekly and monthly
Mar 28, 2021   processing. An example was added to the comments using
               WEEKINCODE to validate the data using ZDATE and to
               determine using RMFINTRV if data is not complete (less
               than 24 hours in a day) or outside the bounds of the
               week. Will issue a WARNING message if problems are found,
               print a report of what was found for each day of the
               week, and optionally can set cc=4;
   Thanks to Denise Willers, ENSONO, USA.

Change 39.055  AUDITAFTER= default value changed to YES. This means that
UTILBLDP       PDBAUDIT will run after everything in your INCLAFTR
Mar 28, 2021   parameter rather than after BUILDPDB. The first time you
               run you will see a lot of new datasets that are not
               really new but were created by MXGINCL and INCLAFTR
               members after BUILDPDB ran.

Change 39.054  Variable LOSTRECS/SMF7NROX was conditionally input but
VMAC7          the field is always present, and subsequent variables
Mar 26, 2021   (SMF7LSN,SMF7TBLS) were not input.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 39.053  The CICSTRAN data for z/OS EE Connect Adapter and for MQ
VMAC110        related tasks create variables OADATA1/OADATA2/OADATA3
Mar 31, 2021   with these different values:
                 For MQ Related Task
                   OADATA1=QMGR=MSQ1
                   OADATA2=INITQ=CICSS001.INITQ
                   OADATA3=QNAME=MQS1.MQIN.TEST.REPORT
                   OADID  =ID=IBM WebSphere MQ for z/OS V9
                  For z/OS Connect Related Task
                    OADATA1 BAQvllPLXTNKX A580   TODSTAMP.
                    The v field contains 01x= a version number?,
                    the ll field contains length of data following,
                    PLXTNKX is the SYSPLEX and A580 is the SYSTEM and
                    the TODSTAMP (converted with MCTMNTAD to LOCAL)
                    is always earlier than the SMF time.
               But those binary values in the z/OS Connect OADATA1
               cause problems if you try to move the data to EXCEL.
               So the z/OS Connect record is decoded and the datetime
               is now a text field:
               OADATA1='BAQ   PLXTNKX A580    15MAR2021:11:10:54.217948.
   Thanks to Simon Foley, CPT Global, AUSTRALIA.
   Thanks to Martyn Jones, CPT Global, ENGLAND.

Change 39.052  TABULATEs consolidated so that for each category you get
ANALINIT       one page rather than a page per jobclass. Formats added
Mar 26, 2021   to PROC PRINTs.

Change 39.051  JCLSPGDG example creates GDGs for all MXG "PDB" datasets.
JCLSPGDG       The limit for the number of generations in a GDG was 255,
Mar 21, 2021   but in z/OS 2.2, the new EXTENDED option allows up to 999
               generations.  So you can start a Daily PDB with GDG=1 on
               Jan 1, with a limit of 366 and have the GDG number
               match the julian date!
   Thanks to MP Welch, Bank of America, USA.

Change 39.050  Error Messages from PROC PLOT for all values missing were
JCLPDB94       caused by incorrect OR/AND logic. JCL94PDB now executes
ANALRMFI       with CC=0.
ANALMPL
Mar 20, 2021
   Thanks to MP Welch, Bank of America, USA.

Change 39.049  Format $MGSMFID describes SMF record type and subtype for
FORMATS        ANALID reports; the format was missing 116.010.
Mar 18, 2021
   Thanks to MP Welch, Bank of America, USA.

Change 39.048  The example PDS allocation for MXG.SOURLIB had only 1199
JCLINSTT       directory blocks.  Without PDS Statistics, 459 blocks are
JCLINSTL       used, with PDS statistics, 1607 are needed so examples
Mar 17, 2021   now allocate 1999 blocks so you can have statistics.
   Thanks to Jerry Terpstra, Bank of Montreal, CANADA.

Change 39.047  If you tried to run without running _SUOWSPN you got
VMXGUOW        errors with SPUNCNT undefined and if you set _LASCICS
ASUMUOW        to CICSTRAN.CICSTRAN and bypassed _SUOWCIC you got an
Mar 17, 2021   undefined macro reference. Both problems are fixed.
               _SUOWSPN is not needed since the data has to be in the
               correct order when it is created. It is commented out
               in both the examples and the executable code.  It will
               not hurt to run it but it will save some time to skip
               this sort.

Change 39.046  If you asked for 106 records and did not add T102106=YES
READDB2        the T102S106 dataset was not created.  Now if 106 is in
Mar 14, 2021   the IFCIDS and T102106 NE NO it will be built and sorted
               into the PDBOUT= LIBNAME.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.045  If all values to be charted were missing, a blank page
GRAFWRKX       was created and if all were 0 a meaningless chart of a
Mar 13, 2021   flat line at 0 on the Y-axis was created. Now charts only
               values GT 0.

Change 39.044  Since the second part of the WORKX= was set to SRVCLASS,
UTILWORK       which is then used as the label for variables created by
Mar 14, 2021   VMXGRMFI, unless you wrote the WLM policy SRVCLASS may
               not be sufficient to identify what the workload
               represents. Now, UTILWORK uses the first 20 bytes of the
               service class description, except when the service class
               is SYSTEM SYSSTC or SYSOTHER.

Change 39.043  Support for z/OS Connect SMF 123 Subtype 2 record creates
ANAL123A       New Data Set:
EXTY123C          DDDDDD   DATASET    DESCRIPTION
IMAC123A          TY123C   TYPE123C   z/OS CONNECT API REQUEST
VMAC123A       Member ANAL123A will merge the TYPE123C REQUEST dataset
VMXGINIT       observation with the corresponding CICSTRAN obs to create
Mar 23, 2021   dataset PDB.CICS123.


Change 39.042  CICS optional CMODHEAD=USER AND CMODNAME=USER incorrectly
IMACICXA       pointed to IMACICDU but that should be IMACICXA.
UTILEXCL
Mar 10, 2021
   Thanks to Mark Wittie, FMR, USA.

Change 39.041 -If you want to change the destination library to other
ASUM70PR       than PDB, VMXG70PR failed with error messages that your
VMXG70PR       TYPE70 and TYPE70PR datasets were not found. Now, it
Mar 24, 2021   uses VMXGWORL to try to find it, or if you specify
               PDB=yourdd, that will be used.
              -If you specified PDB=PDB and the datasets did not exist
               a dataset not found error resulted. PDB=libname always
               overrides the results of VMXGWORL.

Change 39.040  Defective SMF 1415 records with NUCB=6 but only 5 UCBs
VMAC1415       have invalid SMF14STY values due to that misalignment,
Mar  9, 2021   causing blank values for STEPNAME PROGRAM JCTJOBID and
               JESNR is a missing value. All of these records are for
               DSNAME='SYS1.HASPACE' and new SMFSTY14='1234567890' is
               created to list the subtypes in each record; the value
               0 at the end are those with invalid subtypes.
               A CASE/PMR is in progress with IBM to correct.

Change 39.039 -The Field Data Filter (FDF) feature of RMF III was added
ASMRMFV        in MXG Change 37.089 and allows you to filter raw RMF
ADOCRMFV       data values when ASMRMFV reads the RMF III VSAM file,
Mar  8, 2021   reducing the size of the created RMFBSAM file and the
               result PDB.
              -You can filter RMF III table entries based on one or more
               numeric, character, or bit string fields using AND/OR
               logic. This feature is intended for advanced MXG users
               building ad hoc data PDBs of RMF III data.
              -ASMRMFV now supports some MXG Derived Variables from bit
               string settings.  This relieves some of the cumbersome
               lookup and error prone use of bit strings in FDF IF
               expressions.  Not all bit settings are assigned to a PDB
               variable when an MXG PDB build is run. ASMRMFV mimics the
               derivation that occurs during the build.
              -Bit string MXG Derived Variables are added for RMF III
               tables:  ASIG3, CATG3, DVTG3, ENCG3, GEIG3, SCMG3, SPGG3.
               Other tables supported by FDF do not have bit string
               related variables.
              -Example:  Select Address Spaces using the CPU Protection
               bit from the ASIG3 table:
                 Rather than code the IF bit string expression:
                 IF=(ASIMSTS EQ B'..1.....')
                 Now this user friendly alternative is possible:
                 IF=(ASICPUPR EQ 'Y')
              -Data Dictionaries have been updated for all 17 FDF
               supported RMF III tables.   Derived Variable support is
               available where the characters "MASK" appear in a Data
               Dictionary entry.
              -Many Data Dictionary entries now include one or two NOTEs
               to add further information about a Fieldname.
              -DEV is now valid as a prefix for some Fieldnames for the
               RMF III DVTG3 table.  This shortens some long Fieldnames
               that formerly all required a DVT prefix.
              -Error message RMFV092S is now issued with an error code
               should a rare table validation error occur for either the
               CATG3 table or SMF 74.5 record within the CATG3 table.
              -New Section 32 Data Dictionary Descriptions is added to
               the ADOCRMFV member.   This provides a central reference
               location for this information rather than repeating it
               for every FDF supported RMF III table.
              -New Section 34 Filtering The Cache Data Information Table
               (CATG3) is added to the ADOCRMFV member for the new
               support.
              -TIP:
               When filtering with FDF on the first n characters of a
               character field there are two ways to accomplish this
               as shown in the examples below:

               1) Use a pattern match (* in compare value string)
               IF=(ASIJOBNA EQ 'PROD*')

               2) Use a shortened compare length (: after operator)
               IF=(ASIJOBNA EQ: 'PROD')

               Either method will select jobs starting with 'PROD' for
               output to the RMFBSAM file.

               However, the SECOND method is MUCH MORE efficient.

               With Method 1 ASMRMFV must call the internal MATCH
               subroutine for EVERY job to evaluate the pattern.  With
               Method 2 ASMRMFV sets the compare length ONCE (in this
               case to a value of 4) for all job name comparisons.

               TUTORIAL:
               MXG Derived Variable ASICX for the RMF III ASIG3 table
               can be useful with ASMRMFV for data selection by Address
               Space Type when building a filtered PDB.

               Possible ASICX values are:
               A   ASCH Task              AO  ASCH Task OMVS Related
               B   Batch Job              BO  Batch Job OMVS Related
               S   Started Task           SO  Started Task OMVS Related
               T   TSO User               TO  TSO User OMVS Related
               O   OMVS Task

               To select Started Tasks only use:
               IF=(ASICX EQ 'S')    or    IF=(ASICX = 'S')

               To select OMVS related Started Tasks only use:
               IF=(ASICX EQ 'SO')   or    IF=(ASICX = 'SO')

               To select all Started Tasks use:
               IF=(ASICX EQ: 'S')   or    IF=(ASICX =: 'S')
               Note that 2 IF expressions are NOT needed.

               To select all Started Tasks and all Batch Jobs use:
               IF=(ASICX EQ: 'S')   or    IF=(ASICX =: 'S')
               IF=(ASICX EQ: 'B')   or    IF=(ASICX =: 'B')
               Note in this case 2 IF expressions are needed.

              -Following Sections are updated or added in the ADOCRMFV
               documentation member:

               Section     Contents
               -------     --------
                  0        Contents
                  2        Terminology
                 12        Messages
                 13        Filtered Records
                 31        Field Data Filtering (FDF)
                 32        Data Dictionary Descriptions
                 33        Filtering The ASIG3 Table
                 34        Filtering The CATG3 Table
                 35        Filtering The CFIG3 Table
                 36        Filtering The CPDG3 Table
                 37        Filtering The CSRG3 Table
                 38        Filtering The DSIG3 Table
                 39        Filtering The DVTG3 Table
                 40        Filtering The ENCG3 Table
                 41        Filtering The ENTG3 Table
                 42        Filtering The GEIG3 Table
                 43        Filtering The OPDG3 Table
                 44        Filtering The PCIG3 Table
                 45        Filtering The SCMG3 Table
                 46        Filtering The SPGG3 Table
                 47        Filtering The SSHG3 Table
                 48        Filtering The XCFG3 Table
                 49        Filtering The ZFXG3 Table
                 51        PDB Build Examples With Direct JCL Method
                 52        PDB Build Examples With TSO Clist Method
                 53        PDB Build Examples With Dynamic Method
                 54        Summary
                 55        Bibliography

Change 39.038  Dataset TYPE74CA variable CSSCLN wasn't kept, variable
VMAC74         CSSCOPYST was not INPUT nor kept.
Mar  6, 2021

Change 39.037  Many variables containing percentages were not formatted
VMAC30         with 5.1.
VMAC7072
VMAC74
Mar  2, 2021

Change 39.036   APAR PH35442 corrects Negative CPU time in WebSphere SMF
VMAC120         120 TYP120BL dataset. There were many SMF 120 Subtype 11
Feb 28, 2021    records that had ZERO values for the GMT OFFSET
                (SM120BBT), for the TOTAL CPU CLOCK AT REQUEST END
                (SM120BCA1), for the CP ONLY CPU CLOCK AT REQUEST END
                (SAM1230BCA2), and these zero values cause negative
                values in the calculated delta start-to-end times.
                Variables SM120BCPUTM SM120BCPCPUTM SM120BZIPCPU were
                wrong. Note also that because the GMT OFFSET is 0 in
                these records, while the other non-zero records actual
                GMT OFFSET is 1, these zero records have their END
                DATETIME (SM120BBX) one hour earlier than the SMFTIME!

Change 39.035  Variables ASICR and ASICX were not kept in ZRBASI.
VMACRMFV
Feb 28, 2021

Change 39.034  The LABELs for the pair of SINCE CREATION and SINCE OPEN
VMAC64         variables were reversed; the ACCxxxxx are SINCE CREATION.
Feb 24, 2021
   Thanks to Jorge Fong, DOITT NYC GOVERNMENT, USA

Change 39.033  Support for new NDM-CDI SMF record (default 133) creates
EXNDCDHW       new dataset:
IMACNDCD          DDDDDD   DATASET   DESCRIPTION
TYPENDCD          NDCDHW   NDCDCDHW  CDzOS High Water Mark
TYPSNDCD       You will have to set the MACRO _IDNDCD to 133 or your
VMACNDCD       chosen record type.  APAR PH35087 is needed to correct
VMXGINIT       errors in the initial record contents.
Feb 23, 2021
   Thanks to Luis Mendoza, Black Knight, USA.

Change 39.032  No error has been reported with VMXG70PR in MXG 39.01 but
VMXG70PR       the DROP/KEEP/INPUT exposure is eliminated.
Feb 22, 2021

Change 39.031  The BETA 93 subtype 50 record was shortened and many
VMACBETA       variables no longer exist in dataset BETA50.
Feb 22, 2021
   Thanks to Andreas Menne, Finanz Informatik, GERMANY

Change 39.030  Variables added to dataset TYPE3804:
FORMATS           S38GMODE ='FUNCTION*STATUS'
VMAC38            S38GDOM  ='NETVIEW*DOMAIN'
Feb 22, 2021   and new format MG038GM decodes variable S38GMODE.
   Thanks to Stephen Hoar, LLoyds Banking, ENGLAND.

Change 39.029  The $TMPSUEC and $TMPNRCPI FORMATS were updated for all
GRAFWRKX       z14 and z15 processors.
Feb 22, 2021

====== CHANGES THRU 39.028 ARE  IN MXG 39.01 DATED Feb 17, 2021 ========

Change 39.028  Support for SMF 90 subtype 41 when CVTLSO is changed.
EXTY9041          DDDDDD   DATASET   DESCRIPTION
IMAC90A           TY9041   TYPE9041  CVTLSO CHANGED
VMAC90A
VMXGINIT
Feb 17, 2021

Change 39.027  If you had sorted the CICS stats data to tape (this is
VMXGCICI       strongly not recommended) VMXGCICI would first fail with
Feb 17, 2021   an undefined macro variable and when that was corrected
               would fail with multiple datasets open in a sequential
               data library. While this is NOT a recommended practice it
               will now work.
   Thanks to Lu Ming, CPF, SINGAPORE.

====== CHANGES THRU 39.026 ARE  IN MXG 39.01 DATED Feb 16, 2021 ========

Change 39.026  Support for IBM TAPE CLOUD CONNECTOR SMF record creates;
VMACCLTA         DDDDDD  DATASET  DESCRIPTION
EXCLTA01         CLTA01  CLOUTAP1 CLOUD TAPE STAGE TO DISK
EXCLTA02         CLTA02  CLOUTAP1 CLOUD TAPE COPY TO CLOUD
EXCLTA03         CLTA03  CLOUTAP1 CLOUD TAPE DELETE FROM CLOUD
EXCLTA04         CLTA04  CLOUTAP1 CLOUD TAPE DELETE PROFILE
EXCLTA05         CLTA05  CLOUTAP1 CLOUD TAPE RESTORE FROM CLOUD
IMACCLTA
TYPECLTA
TYPSCLTA
FORMATS
Feb 13, 2021

Change 39.025  Documentation and EXAMPLES for SMF record selections.
VMACSMF        In _SMF, which process just the SMF Header, there are
Feb 12, 2021   these subsystem variables created and available in the
               IMACFILE/&MACFILE exit to select only wanted records.

                   RMF  70-79       PRODCMF MVSLEVEL
                   RMF  78.2        VSTORE
                   DB2: 100 101 102 SUBSYSTEM COMPRESSFLAG QWHSRELN
                                    PRODVERSION ACCUMACFLAG
                                    SUBTYPE=IFCID FOR SMF 102.
                   CICS: 110        SMFPSRVR SUBSYSTEM MNSEGCL MCTSSDCN
                                    MCTSSDRL
                   SMF   30         SUBSYSTEM
                   SMF   80         SUBTYPE=RACFEVENT
                   SMF 115,116      SUBSYSTEM SM115REL PRODVERSION
                   SMF    6         SUBSYSTEM
                   SMF   36         SUBSYSTEM

               1. Duplicate RMF/CMF records CANNOT BE PROCESSED, YOU
                  MUST SELECT THE DESIRED RECORDS, AND YOU WOULD USE
                    //SYSIN DD
                    %LET MACFILE= %QUOTE(IF PRODCMF=:'RMF';);  or
                    %LET MACFILE= %QUOTE(IF PRODCMF=:'CMF';);
                  This may be required with z/OS 2.5 with CMF, because
                  z/OS BASE will write RMF 70 records (so sites without
                  RMF will have 70s for SCRT reports).

               2. To detect if you have records from both products,
                  //SMF DD
                  //SYSIN DD *
                  %INCLUDE SOURCLIB(VMACSMF);
                  DATA _NULL_;
                  _SMF;
                  RETAIN CURRPROD;
                  IF CURRPROD='   ' THEN CURRPROD=PRODCMF;
                  ELSE IF PRODCMF NE CURRPROD THEN DO;
                    PUT / '***POTENTIAL ERROR. SEE CHANGE 39.025.'/
                     ' CMF AND RMF RECORDS ARE BOTH FOUND.   ' SMFTIME=
                      ID= SYSTEM=
                     /+2 PREVSYS= 'PREVPROD=' CURRPROD 'NEWPROD='
                     PRODCMF +1 PREVTIME= 'ID=' PREVID PREVSYS=;
                     CURRPROD=PRODCMF;
                   END;

               3. You can create a file of only CICS dictionary records:
                  //SMF    DD DSN=SMF,DISP=SHR
                  //SMFOUT DD DSN=NEWDICTS,DISP=(,CATLG).  .
                  //SYSIN DD *
                  %INCLUDE SOURCLIB(VMACSMF);
                  %LET MACFILE= %QUOTE(
                     IF ID=110 AND SUBTYPE=1 AND MNSEGCL=1;
                     FILE SMFOUT DCB=SMF;
                     PUT _INFILE_;
                     FILE LOG;
                  );
                  RUN;
                  %INCLUDE SOURCLIB(VMACSMF);
                  RUN;
                  DATA _NULL_;
                  _SMF;
                  RUN;

               4. You can create a file of 1000 CICSTRAN records from
                  CICS/TS 5.6 with:

                  //SMF    DD DSN=SMF,DISP=SHR
                  //SMFOUT DD DSB=NEWTRAN,DISP=(,CATLG) . . ..
                  //SYSIN DD *
                  %INCLUDE SOURCLIB(VMACSMF);
                  %LET MACFILE= %QUOTE(
                     IF ID=110 AND SUBTYPE=1 AND MNSEGCL=3 AND
                         SMFPSRVR=73;;
                     FILE SMFOUT DCB=SMF;
                     PUT _INFILE_;
                     FILE LOG;
                     NFOUND+1;
                     IF NFOUND GT 1000 THEN STOP;
                  );
                  RUN;
                  %INCLUDE SOURCLIB(VMACSMF);
                  RUN;
                  DATA _NULL_;
                  _SMF;
                  RUN;


Change 39.024  Three new ESS (IEFDOKEY) variables are added to TYPE6:
IMAC6ESS          ESSPAGEL='DPAGELBL'
VMAC6             ESSSYSAR='SYSAREA'
Feb  9, 2021      ESSDUPLX='DUPLEX'
   Thanks to Jerry Ellis, Liberty Mutual, USA.

Change 39.023  TYPECDC (Infosphere change data capture) records with
VMACCDC        only the 92-byte header and no data caused INPUT
Feb  9, 2021   STATEMENT EXCEEDED error.  Short records are deleted.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 39.022  Variables NCPCAPABIZE OVERCOMMIT STORAGESIZE XSTORESIZE
VMACXAM        in dataset XAMSYS were misaligned and had missing values.
Feb  8, 2021
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 39.021  Override PSU70PR/LP/GC/GL DD's may not have worked.
VMXG70PR       Depending on how you tried to change the destination,
Feb 12, 2021   with those macro variable DDnames with %LET may not
               have been used, and those datasets could have been
               written to &PDBMXG (normally PDB) instead of your %LET.
               This change corrects to match the documentation.

Change 39.020  UTILWORK creates an RMFINTRV member with your Workloads.
IMACWORK       New parameters enhance the useability of UTILWORK.
UTILWORK       -IMACWORK=NO suppresses the use of IMACWORK.
Feb  6, 2021     With IMACWORK=YES, you can not have a WORKxx name that
                 matches an entry in IMACWORK; RMFINTRV will detect the
                 conflict and terminate.
               SYSTEM=  if you have multiple systems and you want to
                 define workloads differently SYSTEM=YES will add the
                 SYSTEM ID to each workload.
               SYSPLEX= if you have multiple sysplex and you want to
                 define workloads differently, SYSPLEX=YES will add the
                 SYSPLEX ID to each workload.
               In addition the first section of each workload (which
               resolves to variable names) is now set to the SRVCLASS
               since the restriction on 8 byte names is history.
               Finally, the RMFINTRV member created is now printed
               on the SASLOG.

Change 39.019  Using SP_REMV='Y', some labels were truncated because the
VMXGPRNT       variable LABELR was not set to $80 nor blank padded.
Feb  2, 2021
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 39.018 -Some invocations of ANAL9914 caused mismatched %DO-%END
ANAL9914       errors because of a DO instead of a %DO statement. Logic
Feb  4, 2021   was rearranged, conditional execution of SGPANEL removed
               and reordering of %VMXGOPTR executions.
              -REPORT=JIM is not useable under WPS at this time; REPORT=
               RAY is now forced for WPS.
   Thanks to Virginie Peigney, CA-GIP, FRANCE.

Change 39.017  DB2 NETEZZA IDAA 100-1 INPUT STATEMENT EXCEEDED due to
VMACDB2        these new DB2 V12 fields and wrong LENREAD calculation.
Jan 31, 2021   You can use  %LET MACKEEP= MACRO STOPOVER MISSOVER % ;
               in SYSIN to circumvent the ABEND.
               This change has not been tested with non-zero values;
               only records with all values zero have been read so
               none of the accumulated fields are deaccumed.
               Please use member SENDDATA to send your SMF 100-1's.
              -Variables added to DB2STAT1,DB2STATS,DB2NETZA:
                 Q8STTMUD='TOTAL MEM*AVAIL*USER DATA*IN MB'
                 Q8STTMPS='TOTAL MEM AVAIL*SQL/DML*IN MB'
                 Q8STCQLS='CURRENT*QUEUE*LENGTH'
                 Q8STOFLW='SORT*OVERFLOWS IN*ACCELERATOR*BACKEND'
                 Q8STABHR='ACCELERATOR*BUFFERPOOL*HIT RATIO'
                 Q8STANUI='CURRENT*IN RATE*ACCEL AND DB2*IN KB/S'
                 Q8STANUO='CURRENT*OUT RATE*ACCEL AND DB2*IN KB/S'
                 Q8STTSA ='DISK SPACE*IN MB FOR*TEMPORARY*DATA'
                 Q8STLSA ='DISK SPACE*IN MB FOR*LOG DATA'
                 Q8STTDPS='SUCCESSFUL*QUERY*REQUESTS*DELAY*PROTO'
                 Q8STEDPS='QUERY*REQUESTS*EXPIRED*DELAY*PROTOCOL'
                 Q8STTDPA='SUCCESSFUL*QUERY*REQUESTS*ALL DLYPRO'
                 Q8STEDPA='QUERY*REQUESTS*EXPIRED*WAITFORDATA'
                 Q8STVLCS='REPLICATION*VELOCITY*DB2 LOG SEC*PER SEC'
                 Q8STLRCP='CPU TIME*INT.S.S*ASYNC*LOG READER'
                 Q8STLRZI='ZIIP TIME*INT.S.S*ASYNC*LOG READER'
                 Q8STLRZE='ZIIP ELIGIBLE TIME*INT.S.S*ASYNC*LOG'
              -Variables added to DB2STAT1,DB2STATS:
                 QISTLRCP='QISTLRCP*CPU*TIME'
                 QISTLRZI='QISTLRZI*ZIIP*TIME'
                 QISTLRZE='QISTLRZE*ZIIP*ELIGIBLE*TIME'
   Thanks to Negri Gianvittorio, SAS, ITALY.
   Thanks to Alberto Sturla, Banca Carige S.p.a, ITALY

Change 39.016  INCODE and OUTCODE parameters were not displayed with the
VMXGSUM        other parameters, so logic that could cause zero obs was
Jan 30, 2021   not shown.

Change 39.015  Job report collected only TYPETASK=JOB so if the problem
ANALMSUS       child was an STC it was missed. Now all OBS are used and
Jan 30, 2021   TYPETASK is added to the report.
   Thanks to Mike Martin, NCSECU, USA.

Change 39.014  Parameters added to enhance flexibility and allow you to
EMAIL          attach files rather than doing a PROC PRINT.
Jan 30, 2021   There are new examples in the member.
               New parameters:
                 ATTACH- list of datasets to attach to email
                 BODY=   text for body of email
                         the above only apply when attaching a file,
                         which is mutually exclusive with printing a
                         dataset. with printing a dataset,
                 These apply when printing a dataset:
                 LINESIZE=100
                 PAGESIZE=100
                 WHERE=  a where clause for the PROC PRINT


Change 39.013 -MXG 34.06-38.38 ASMRMFV ABEND if a Storage Group has over
ASMRMFV        1,361 volumes. Change 34.191 introduced the potential 0C4
Jan 29, 2021   in subroutine PROCSPG when processing RMF III SPGG3 Table
               (Storage Group and Volume Data) table, but we had no test
               data with that large number of volumes.
      Thanks to Victor Li, ATOS, HONG KONG
      Thanks to Paul Leung, ATOS, HONG KONG

Change 39.012  z/OS SAS ODS may need an increase in the MEMLEAVE option
TECHNOTE       (set in your CONFIGxx member) and MUST use REGION=0M. One
Jan 24, 2021   case SAS Tech Support recommended 1500M and that worked!
               This note was originally to be Change 38.235.

Change 39.011  SAGANAL could fail when there unmatched RMF 70 and SMF 30
SAGANAL        intervals, so data with SMFTIME GT the last 70 interval
Jan 30, 2021   are deleted.

Change 39.010  DB2 IFCID 172 T102S172 dataset variables QW0172Q4/Q8 are
VMAC102        INPUT $CHAR8 FORMAT $HEX16., QW0172HZ/WZ are INPUT &PIB.8
Jan 21, 2021   and Labels for QW0172HZ/WZ added Holder/Waiter.
   Thanks to Jack Hyde, OPTUM, USA.
   Thanks to Peter Vikeras, OPTUM, USA.

Change 39.009  TYPE70 PLATxxxxBUSY variables were incorrectly calculated
VMAC7072       adding the PHYSICAL LCPUPDTM to each calculation, but the
Jan 21, 2021   PLAT variables do NOT report this LPAR's utilization as
               they calculate the utilization on ALL ENGINES IN THE CEC.
   Thanks to Mark Tomlinson, Lloyds Bank, ENGLAND.

Change 39.008  zOS only. SAS ODS Graphics always uses Java, and Java can
TECHNOTE       run on zIIP engines with significant CP CPU savings, but
Jan 18, 2021   a JVM file must be APF Authorized when your Java SYSPROG
               installed Java. This z/OS message is printed in JOBLOG
               (NOT SASLOG) and the JVM still executed correctly and
               ended with CC=0, but the zIIP engines are not used:
                   JVMJ9VM082E Unable to switch to IFA processor
                          - issue "extattr +a 099 libj9ifa26.so"
               "The JVM failed to switch to an IFA (Integrated Facility
                for Applications) processor because the JVM library file
                libj9ifa%s.so requires APF authorization."
               One job running GRAFWRKX and GRAFCEC creating a PDF file
               went from 484 CP secs to 107 CP + 146 ZIP = 253 secs.
               The zIIP time is not reported by SAS, but the CPU time on
               the SAS log is the sum of CP and zIIP can be much larger
               than elapsed when zIIPs are used.

Change 39.007  Variable INTRVSYN (is RMF Sync with SMF?) was blank in
VMAC7072       datasets TYPE70xx and TYPE72xx, MXG38.05-38.38.
Jan 15, 2021
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 39.006  ANAL9914 Topology Report tests for &CECTYPE=Z15 added to
ANAL9914       support the z/15 processors, and the default is now Z15.
Jan 14, 2021
   Thanks to Virginie Peigney, CA-GIP, FRANCE.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 39.005  Change 38.215 dropped these 4 variables from ASUMCELP.
VMXG70PR       IFA70ACS IFA70BPS IFL70ACS IFL70BPS which are now kept.
Jan  8, 2021   IFA values will always be missing or 0.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 39.004   ANALID report did not identify CICS Compressed records;
VMACSMF         VMACSMF incorrectly bypassed the test to set 'C'.
Jan  8, 2021
   Thanks to MP Welch, Bank of America, USA.

Change 39.003  -Support for new variables TOKRABOID TOKKSTNPLTS in
VMAC80A         dataset TYPE80TK.
Jan 10, 2021   -Dataset TYPE80TK will have fewer observations; each
                token outputs an observation, but now there is a single
                observation for each record with all tokens.
   Thanks to Andreas von Imhof, RABOBANK, THE NETHERLANDS.

Change 39.002  ***WARNING - TYPETASK NOT DECODED SUBSYS=SAR. TYPE 6 SAR
VGETJESN       records do not have a JCTJOBID which is used to create
Jan  5, 2021   TYPETASK. IF SUBSYS='SAR' THEN TYPETASK='SAR'; added.
   Thanks to Joey TU, Los Angeles Department of Water and Power, USA
   Thanks to Jon Hoang, Los Angeles Department of Water and Power, USA

Change 39.001  Cosmetic.  DATEFMT=DATE7., was added to arguments.
VGETDDS
Jan  5, 2021
   Thanks to Kenneth W. Pressley, Salt River Project, USA.

LASTCHANGE: Version 39.
=========================MEMBER=CHANGE38================================
 /* COPYRIGHT (C) 1984-2020 MERRILL CONSULTANTS DALLAS TEXAS USA */


ANNUAL  MXG VERSION 38.38 is  dated Jan  4, 2021, thru Change 38.234.

        MXG VERSION 38.10 was dated Nov 23, 2020, thru Change 38.213.
        MXG VERSION 38.09 was dated Nov  4, 2020, thru Change 38.196.
First   MXG VERSION 38.09 was dated Nov  2, 2020, thru Change 38.194.
        MXG VERSION 38.08 was dated Sep 28, 2020, thru Change 38.163.
        MXG VERSION 38.07 was dated Aug 22, 2020, thru Change 38.141.
        MXG VERSION 38.06 was dated Jul 25, 2020, thru Change 38.123.
Second  MXG VERSION 38.06 was dated Jul 25, 2020, thru Change 38.122.
First   MXG VERSION 38.06 was dated Jul 24, 2020, thru Change 38.120.
        MXG VERSION 38.05 was dated Jul 15, 2020, thru Change 38.112.
        MXG VERSION 38.04 was dated May 25, 2020, thru Change 38.081.
        MXG VERSION 38.03 was dated May  7, 2020, thru Change 38.071.
        MXG VERSION 38.02 was dated Mar 23, 2020, thru Change 38.048.
        MXG VERSION 38.01 was dated Feb 17, 2020, thru Change 38.027.

Annual  MXG VERSION 37.37 was dated Jan  6, 2020, thru Change 37.272.
        The Final MXG Newsletter SIXTY-NINE was dated Jan  3, 2018.
        New TECHNOTES previously in NEWSLTRS are now in CHANGESS.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 38.38 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 38.38.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame, although there are
  no new NEWSLTRS updates; they are now found in CHANGESS as TECHNOTEs.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================


I.  MXG VERSION 38.38 DATED Jan  4, 2021, THRU CHANGE 38.234.

==MAJOR CHANGES ADDED IN MXG 38.38, DATED Jan  4, 2021 THRU 38.234.

ABEND CORRECTED:
  TYPE90A  38.220  z/OS 2.2, MXG 38.09-10 SMF 90 ST 9 ABEND INPUT EXCEED
  UTILBLDP 38.224  ERROR: OPTION NOT FOUND if UTILBLDP has SUPPRESS=ID
  VMXGSUM  38.223  VMXGSUM ignored %LET MXGCLASSNWAY=YES, DSN NOT FOUND.
  ASMRMFV  38.226  MXG 38.09-10. RMF III CFIG3 record error.

NEW SUPPORT:
  TYPETMO2 38.228  Support for TMON/CICS 4.1 revisions, INSTREAM TMON.
  TYPE92   38.222  Support for APAR OA60306, adds 8-byte memory fields.
  TYPESY2K 38.221  Support for SYSTEM 2000 Flat File.
  TYPE42   38.216  Support for APAR OA59581 new TYPE42DS SYNC fields.
  TYPESYNC 38.214  New SYNCSORT zIIPSaver add-on variables.

CORRECTION:
  TYPE70PR 38.215  TYPE70PR var CP70BPS/ZIP70BPS/CP70ACS/ZIP70ACS wrong.

==MAJOR CHANGES ADDED IN MXG 38.10, DATED Nov 23, 2020 THRU 38.213.

ABEND CORRECTED
  TYPE110  38.205  SMF 110 ST 1 MNSEGCL=5 INPUT STATEMENT EXCEEDED.
  TYPE42   38.204  TYPE 42 ST 5 incorrect MXG logic INPUT EXCEEDED.

NEW SUPPORT:
  ASUM113  38.201  New z/15 EXTND256-EXTND287 were not kept in ASUM1131.
  TYPEBETA 38.200  Support for BETA93 and BETA97 new data and updates.
  TECHNOTE 38.199  Compressed SMF 110 expensive without EXITCICS on z/OS
  ASMVVDS  38.197  Updates to read VVDS records and output to file/SMF.

==MAJOR CHANGES ADDED IN MXG 38.09, DATED Nov  4, 2020 THRU 38.196.

ABEND CORRECTED
  UTILBLDP 38.195   UTILBLDP with SUPPRESS=110 and BUILDPDB NE 'NO'
                    ABENDED with ERROR:WORK.CICSEXCE.DATA not found.

==MAJOR CHANGES ADDED IN MXG 38.09, DATED Nov  2, 2020 THRU 38.194.

NEW SUPPORT:
  TYPE110  38.168  Support for CICS/TS 5.6 STID=43, 46, and new STID=61.
  TYPE16   38.164  Support for APAR PH03207 for DFSORT ZSORT stats.
  ASMRMFV  38.188  Support for RMF III EXECVEL and PERFINDX variables.
  ASMRMFV  38.181  New Field Data Filter support for CFIG3 table.
  TYPE102  38.179  Support for DB2 ZPARM MFA_AUTHCACHE_UNUSED_TIME.
  TYPE38   38.178  Support for z NetView 6.3 Subtype 4 Command stats.
  ANALAVAI 38.183  Enhanced reporting on availability.
ERRORS CORRECTED:
  UTILEXCL 38.180  Optional "Candle" CICS segment kept wrong variables.
  TYPE50   38.177  VSAM Tuning data sets were misaligned.

==MAJOR CHANGES ADDED IN MXG 38.08, DATED Sep 28, 2020 THRU 38.163.

  VMAC30   38.163  Support for APAR OA59813 for BOOSTCLASS='RECO'.
  TYPE74   38.152  Support for APARs OA58724/58729 new Monopoly in ST=4.
  UTILBLDP 38.157  BUILDMXG fails if you didn't specify OUTFILE=.
  TYPE119  38.156  Tokens for TYP11924/11925 were not in _N119.
  ANAL119  38.150  Errors corrected if you didn't have //IPHOSTS file.
  ANALSIIS 38.149  SM113TM replaced by TIMESTMP for better match up.
  READDB2  38.147  ACCTSORT=NO caused redirects to not be honored.
  VMXGDUR  38.145  If interval LT actual duratm, warning is printed.
  VMXG70PR 38.142  Support for ASUM70WK to keep full hours.
  VMXGPRAL 38.159  MXG 38.07 only, 180 Syntax Error citing SP_NOBS.
  TYPERMFV 38.124  Many dupes in ZRBXCG/XCP/XCS datasets.
  TYPERMFV 38.162  Datasets ZRBCHP and ZRBSCM had zero observations.
  PDBAUDIT 38.161  Value of PDBAUDIT incorrectly set, revised.

==MAJOR CHANGES ADDED IN MXG 38.07, DATED Aug 22, 2020 THRU 38.141.

  TYPE26J2 38.137  Support for APAR OA57466 new TYPE26J2 compress data.
  ASMRMFV  38.128  Field Data Filter FDF Support adds XCFG3, FDF fix.
  TYPE7072 38.126  SMF sysplex data with SMF Logger INTERLEAVES ALL SMF.
  TYPERMFV 38.124  Many dupes in ZRBXCG/XCP/XCS datasets.

==MAJOR CHANGES ADDED IN MXG 38.06, DATED Jul 25, 2020 THRU 38.123.

  VMXGCICI 38.123  Tailored CICxxxxx statistics in PDB and WORK failed.

  TYPE110  38.122  Some CICS Statistics datasets (CICxxxxx) were sorted
                   because %INCLUDE SOURCLIB(SCICSORT) after line 6281
                   was accidentally deleted.

==MAJOR CHANGES ADDED IN MXG 38.06, DATED Jul 24, 2020 THRU 38.120.

  TYPE110  38.114  New CICSRDUR/URIMAP, CICSRDWB/WEBSVC datasets.
  TYPEDB2  38.117  Support for DB2 APAR PH16111 IFCID 365 SMF 100.
  TYPE102  38.117  Support for DB2 APAR PH16111 IFCID 365 SMF 102.
  TYPEMVCI 38.116  Support for BMC Mainview for CICS 7.1 (COMPATIBLE).

==MAJOR CHANGES ADDED IN MXG 38.05, DATED Jul 15, 2020 THRU 38.112.

ABEND CORRECTED:
  TYPE7072 38.103  MXG 38.03/38.04 TYPE7072 fails if //PDB on TAPE.
  ASCII    38.091  MXG on Windows, AV Products, LOCK NOT AVAILABLE
  SAS      38.087  ERROR: Utility File Open Failed PROC MEANS/SUMMARY.
  TYPE83   38.090  SMF 83 ST 3 INPUT STATEMENT EXCEEDED.
NEW SUPPORT:
  TYPE110  38.084  Support for CICS/TS 5.6 (INCOMPAT, FIELDS INSERTED).
  TYPE7072 38.107  Support for APAR OA59330 new variables in TYPE7002.
  MANY     38.105  Support for May 2020 SMF Manual Changes zOS 2.4.
  TYPETPMX 38.102  Support for Thruput Manager TMT7123/TMT7124 Jul 2020.
  TYPE85   38.100  Support for SMF 85 OAM Cloud Tier.
  TYPE74   38.098  Support for SMF 74 CMF from BMC PTF BQM12658/59.
  TYPE78   38.097  Support for APAR OA56684 TYPE78IO EADM/SCM variables.
  TYPEDB2  38.096  Support for APAR PI98851 new variables DB2STATS.
  TYPE30   38.093  Support for APAR OA59126, dataspaces variables.
  TYPE74   38.089  Support for new EADM variables in TYPE7410.
  TYPESARR 38.088  Support for CA View SARR SMF Subtypes 34 and 35.
  ANALINIT 38.083  Enhanced JOB EXEC/QUEUED/HELD/etc analysis
  TYPE110  38.099  CICS Statistics Records revisions.
  ASMRMFV  38.082  ASMRMFV FDF Support for new tables.
  CMF+RMF  38.095  Variable CMFPROD to select CMF vs SMF if both are on.
  UCICSCNT 38.085  Enhanced counts/bytes for SMF 110 including STIDs.

==MAJOR CHANGES ADDED IN MXG 38.04, DATED MAY 25, 2020 THRU 38.081.

ABEND CORRECTED:
  BLDSMPDB 38.081  MXG 38.03 only.  BLDSMPDB WEEKLY JOB ABENDS, typo.
                      Line 667 has     1   %END;  remove the "1".
                   Only on z/OS and only if WEEK is a GDG.
ERRORS CORRECTED:
  TYPE30_6 38.072  Revised deaccumulate for accumulated subtype 6.
  TYPEDB2  38.075  Support for APAR PH14037 DB2ACCTP QPACPKID truncated.
                     No MXG Change, IBM APAR corrected wrong offset.
  ANAL119  38.073  Cleanup and removal of a typo.
NEW SUPPORT:
  FORMATS  38.080  Support for z15 T02 values in $MGRMIPS format.
  TYPE42   38.079  Support for APAR OA59541 for Type 42 Subtype 27.
  TYPE102  38.077  SMF102 IFCID 143/144 increase length QW014xUR.

==MAJOR CHANGES ADDED IN MXG 38.03, DATED MAY 16, 2020 THRU 38.071.

EXPOSURE CORRECTED:
  AUTOINST 38.054  ASCII Unique INSTREAM create for Concurrent Sessions.
                  -ALL ASCII SITES SHOULD PUT %AUTOINST IN IMACINIT.
ERRORS CORRECTED
  TYPE123A 38.061  Datetime values were 2080 instead of 2020, MXG error.
  TYPECMFV 38.063  CMF VSAM INVALID DATA messages, wrong informat.
  TYPECIMS 38.058  CIMS/IMF CIMSDBD/DB2/MQ Zero Obs 37.37-38.02
  VMXGOPTR 38.056  ANALHSM caused Error "SAS Option Name OPTIONS 1".
  TYPE70   38.055  PCTMVSBY incorrect after 37.123. (NOT PCTCPUBY!!!).
  ASMRMFV  38.064  Support for APAR OA58759, caused Condition Code 4.
  TYPEXCOM 38.069  XCOM input did not skip the 461 bytes added in 12.0.
New Support
  TYPE119  38.068  Support for Comm Server SMF 119 Subtype 11 ZERT data.
  TYPE110  38.060  SET MONITOR FREQ hourly CICSTRAN for long runners.
  UTILROLL 38.065  UTILROLL example to combine PDBs created every 4hr.
  TYPEDB2  38.062  Support DB2 APAR PI92652,PI82191 and DPAGE support.
  TYPESVIE 38.057  Support for SYSVIEW Subtype 2 record one min detail.
  TYPEXAM  38.059  zVPS XAMCUV LCPUID=96 Totals records now deleted.
  VMACSMF  38.051  SAS FTP Access Method &MXGABND=1 set to print errors.
  TYPE42   38.067  Yet another TYPE42 invalid LENSR in subtype 5 42's.

==MAJOR CHANGES ADDED IN MXG 38.02, DATED MAR 23, 2020 THRU 38.048.

ERRORS CORRECTED
  VMACSMF  38.033  SMF Signature Type 2 St 1/2 MANY BACK2BACK LOG msgs
  TYPE112  38.040  OMEGAMON TEMS St 38 INVALID ARGUMENT LENGTH CHANGED.
  TYPE73   38.038  Variable SHIFT was not populated.
New Product Support
  TYPEVMXA 38.048  z/VM MONWRITE 6.4.19.1 z15 INCOMPATIBLE.
                   Many Log Messages, PRCMFC/PRCMFM empty, rest okay.
  TYPE70   38.031  Support for APAR OA56683 SMFBOOST System Recovery
  TYPE62   38.041  Support for APAR OA57105, adds JOBID SYSPLEX.
  TYPE64   38.041  Support for APAR OA57105, adds JOBID SYSPLEX.
  TYPETPMX 38.039  Support for new INREI and JCLJJ in TYPETPMX.
Enhancements
  TYPE116  38.037  MQMACCTQ/MQMACCT/MQCFSTAT/MQMQUEUE/ revisions.
  TYPE113  38.035  TYPE113 Counters EXTND247/252/264/265 now labeled.
  TYPEVMXA 38.019  z/VM VXAPLSLM variable SHARERAM zero if not RHEL8.
  TYPE89   38.034  APAR OA59002 corrects TYPE89 var SMF89UZT values.

==MAJOR CHANGES ADDED IN MXG 38.01, DATED Feb 17, 2020 THRU 38.027.

ERRORS CORRECTED
  CONFIMXG 38.004  MXG 37.37 only, 1024 should be OPEN_ED=1047.
  TYPE80A  38.017  INPUT EXCEEDED due to a HOME segment with no data.
  ANALID   38.010  ERROR "OPTORG4" if you changed SMFAUDIT to NO.
  UTILBLDP 38.008  Error after Change 37.149 if first USERADD is IDMS.
New Product Support
  FORMATS  38.020  Support for SMF73CPT 33/34 connection types.
  TYPE102  38.019  Support for DB2 APAR PH18739 var QW0389IT in T102S389
  TYPEIMS  38.014  Support for APAR PH14569/PH21001 IMS 22 log record.
  TYPEBETA 38.013  Support for BETA (93) and BETA97 Version 7.1.0
  TYPEBE97 38.013  Support for BETA (93) and BETA97 Version 7.1.0
  TYPE42   38.011  Support for APAR OA57718, zHyperLink TYPE42DS stats.
  TYPEIAM  38.006  Support for IAM 9.3 Spin 3 INCOMPATIBLE inserts.
  FORMATS  38.003A R744HOPM $MG074HO new '50x:CL5 10GBIT/S CEE ROCE'.
  TYPEIDMS 38.003  IDMSTAS UOW/NETNAME added, TASUFLD1-3 corrected.
  TYPETMS5 38.002  Variables BYTEPRC and BESKEY added to TMS/DSNBRECD.
  BUILDIMS 38.001  All selections now work, new INPUTCLNR variable.
New Analysis/Reporting
  ANAL95TH 38.018  PROC TABULATE 95th pct response stats CICSTRAN/JOBS.
  ANALATNC 38.005  Report Code for Latent Demand analysis, examples of
                   reports: https://www.mxg.com/downloads/analatnc
  DOCVLONG 38.012  Creates a DOCVLONG with all DOCVER data on one line.
  ANALSIIS 38.009  Analysis of Store Into Instruction Stream enhanced.

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
    The current version nomenclature is SAS 9.4 TS1M7 (9.4M7),
     "M7", or with options  VERSIONLONG;
      "SAS 9.4 (9.04.01M7P080520)" on z/OS
           9.4 (TS04.01M7P08052020)"  on ASCII.

     SAS V9.4 M7 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.



     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.
     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 36.11 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 4.1 USER 4037 ABEND, See Change 37.116.
      WPS Version 4.0 reportedly fixed version 3 problems.
      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

     The z15 and z15 T02 processors INCOMPATIBLY changed the SMF 113
     records by inserting 32 new EXTEND and 4 CRYPTO counters, causing
     ARRAY SIZE EXCEEDED with BUILDPDB which processes the SMF 113s.
     Support for counter changes for both models was in MXG 37.08.
        If you use MIPS in reports, the format $MGRMIPS provides the
        MIPS/MSU value for each processor; the z15 values were updated
        in MXG 37.08, and the z15 TO2 values were updated in MXG 38.04.
        These MXG programs use $MGRMIPS: ASUMMIPS GRAFCEC GRAFWLM
        GRAFWRKX and TYPERMFV (RMF III).

     The z/14 also inserted SMF 113 fields, supported in MXG 36.07.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     And z/VM on the z15 requires MXG 38.02, PRCMFC/MFM COUNTERS caused
     HARDWARE COUNTER messages, PRCMFC/PRCMFM no obs.  Change 38.048.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

   The new zEDC/EADM compression hardware requires MXG 38.05 to support
   new metrics.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.
      z/OS 2.4 Compatible from SMF Manual May 2020 38.105  38.05.

      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15 New SMF 113 fields INCOMPAT  Nov 18, 2020        37.08
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS-TS/5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS-TS/5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS-TS/5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS-TS/5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS-TS/5.3 GA date              Dec 11, 2015        33.33
      CICS-TS/5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS-TS/5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS-TS/5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS-TS/5.4 GA                   Jun 17, 2017        35.03
      CICS-TS/5.5 GA (INCOMPAT)        Jan 29, 2018        36.11
      CICS-TS/5.6 GA (INCOMPAT)        Jun  1, 2020        38.07
      CICS-TS/5.6 NEW DATA (COMPAT)    Oct  5, 2020        38.09
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 17, 2019        37.02
      z/VM    7.1  INCOMPAT ABEND      Feb 14, 2019        37.02
      z15 z/VM MFC counters, INCOMPAT  Mar 23, 2020        38.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 38.38.

 1. Incompatibilities introduced in MXG 38.38:

  a. Changes in MXG architecture made between 38.38 and prior versions
     that can introduce known incompatibilities.

     IF YOU HAVE MEMBER E2TY70 IN YOUR USERID.TAILORING SOURCE LIBRARY,
     YOU MUST CHANGE _LTY70 to _WTY70 in that member. CHANGE 38.105.
     The error before this correction will be:
     ERROR: DATA SET "PDB.TYPE70" was not specified on the DATAA stmt.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 38.38:

  Dataset/
  Member   Change    Description

  ANAL95TH 38.018  PROC TABULATE 95th pct response stats CICSTRAN/JOBS.
  ANALATNC 38.005  Report Code for Latent Demand analysis, examples at
                     https://www.mxg.com/downloads/Latent_Demand
  ANAL119  38.073  Cleanup and removal of a typo.
  ANAL119  38.150  Errors corrected if you didn't have //IPHOSTS file.
  ANALAVAI 38.183  Enhanced reporting on availability.
  ANALID   38.010  ERROR "OPTORG4" if you changed SMFAUDIT to NO.
  ANALINIT 38.083  Enhanced JOB EXEC/QUEUED/HELD/etc analysis
  ANALSIIS 38.009  Analysis of Store Into Instruction Stream enhanced.
  ANALSIIS 38.149  SM113TM replaced by TIMESTMP for better match up.
  ASCII    38.091  MXG on Windows, AV Products, LOCK NOT AVAILABLE
  ASMRMFV  38.064  Support for APAR OA58759, caused Condition Code 4.
  ASMRMFV  38.082  ASMRMFV FDF Support for new tables.
  ASMRMFV  38.128  Field Data Filter FDF Support adds XCFG3, FDF fix.
  ASMRMFV  38.181  New Field Data Filter support for CFIG3 table.
  ASMRMFV  38.226  MXG 38.09-10. RMF III CFIG3 record error.
  ASMVVDS  38.197  Updates to read VVDS records and output to file/SMF.
  ASUM113  38.201  New z/15 EXTND256-EXTND287 were not kept in ASUM1131.
  AUTOINST 38.054  ASCII Unique INSTREAM needed for Concurrent Sessions.
  BLDSMPDB 38.081  MXG 38.01 only.  BLDSMPDB WEEKLY JOB ABENDS, typo.
  BUILDIMS 38.001  All selections now work, new INPUTCLNR variable.
  CMF+RMF  38.095  Variable CMFPROD to select CMF vs SMF if both are on.
  CONFIMXG 38.004  MXG 37.37 only, 1024 should be OPEN_ED=1047.
  DOCVLONG 38.012  Creates a DOCVLONG with all DOCVER data on one line.
  FORMATS  38.003A R744HOPM $MG074HO new '50x:CL5 10GBIT/S CEE ROCE'.
  FORMATS  38.020  Support for SMF73CPT 33/34 connection types.
  FORMATS  38.080  Support for z15 T02 values in $MGRMIPS format.
  MANY     38.105  Support for May 2020 SMF Manual Changes zOS 2.4.
  READDB2  38.147  ACCTSORT=NO caused redirects to not be honored.
  SAS      38.087  ERROR: Utility File Open Failed PROC MEANS/SUMMARY.
  TECHNOTE 38.199  Compressed SMF 110 expensive without EXITCICS on z/OS
  TYPE102  38.019  Support for DB2 APAR PH18739 var QW0389IT in T102S389
  TYPE102  38.077  SMF102 IFCID 143/144 increase length QW014xUR.
  TYPE102  38.117  Support for DB2 APAR PH15111 for IFCID 365. SMF 102.
  TYPE102  38.179  Support for DB2 ZPARM MFA_AUTHCACHE_UNUSED_TIME.
  TYPE110  38.060  Long Running CICS Trans, SMF 110 every hour.
  TYPE110  38.060  SET MONITOR FREQ hourly CICSTRAN for long runners.
  TYPE110  38.084  Support for CICS/TS 5.6 (INCOMPAT, FIELDS INSERTED).
  TYPE110  38.099  CICS Statistics Records revisions.
  TYPE110  38.114  New CICSRDUR/URIMAP, CICSRDWB/WEBSVC datasets.
  TYPE110  38.114  New CICSRDUR/URIMAP, CICSRDWB/WEBSVC datasets.
  TYPE110  38.168  Support for CICS/TS 5.6 STID=43, 46, and new STID=61.
  TYPE110  38.205  SMF 110 ST 1 MNSEGCL=5 INPUT STATEMENT EXCEEDED.
  TYPE112  38.040  OMEGAMON TEMS St 38 INVALID ARGUMENT LENGTH CHANGED.
  TYPE113  38.035  TYPE113 Counters EXTND247/252/264/265 now labeled.
  TYPE116  38.037  MQMACCTQ/MQMACCT/MQCFSTAT/MQMQUEUE/ revisions.
  TYPE119  38.068  Support for Comm Server SMF 119 Subtype 11 ZERT data.
  TYPE119  38.156  Tokens for TYP11924/11925 were not in _N119.
  TYPE123A 38.061  Datetime values were 2080 instead of 2020, MXG error.
  TYPE16   38.164  Support for APAR PH03207 for DFSORT ZSORT stats.
  TYPE30   38.093  Support for APAR OA59126, dataspaces variables.
  TYPE30_6 38.072  Revised deaccumulate for accumulated subtype 6.
  TYPE38   38.178  Support for z NetView 6.3 Subtype 4 Command stats.
  TYPE42   38.011  Support for APAR OA57718, zHyperLink TYPE42DS stats.
  TYPE42   38.067  Yet another TYPE42 invalid LENSR in subtype 5 42's.
  TYPE42   38.079  Support for APAR OA59541 for Type 42 Subtype 27.
  TYPE42   38.204  TYPE 42 ST 5 incorrect MXG logic INPUT EXCEEDED.
  TYPE42   38.216  Support for APAR OA59581 new TYPE42DS SYNC fields.
  TYPE50   38.177  VSAM Tuning data sets were misaligned.
  TYPE62   38.041  Support for APAR OA57105, adds JOBID SYSPLEX.
  TYPE64   38.041  Support for APAR OA57105, adds JOBID SYSPLEX.
  TYPE70   38.031  Support for APAR OA56683 SMFBOOST System Recovery
  TYPE70   38.055  PCTMVSBY incorrect after 37.123. (NOT PCTCPUBY!!!).
  TYPE7072 38.103  MXG 38.03/38.04 TYPE7072 fails if //PDB is on TAPE.
  TYPE7072 38.106  Support for APAR OA59330 new variables in TYPE7002:
  TYPE7072 38.126  SMF sysplex data with SMF Logger INTERLEAVES ALL SMF.
  TYPE70PR 38.215  TYPE70PR vars CP70BPS/ZIP70BPS/CP70ACS/ZIP70ACS wrong
  TYPE73   38.038  Variable SHIFT was not populated.
  TYPE74   38.089  Support for new EADM variables in TYPE7410.
  TYPE74   38.098  Support for SMF 74 CMF from BMC PTF BQM12658/59.
  TYPE74   38.152  Support for APARs OA58724/58729 new Monopoly in ST=4.
  TYPE78   38.097  Support for APAR OA56684 TYPE78IO EADM/SCM variables.
  TYPE80A  38.017  INPUT EXCEEDED due to a HOME segment with no data.
  TYPE83   38.090  SMF 83 ST 3 INPUT STATEMENT EXCEEDED.
  TYPE85   38.100  Support for SMF 85 OAM Cloud Tier.
  TYPE89   38.034  APAR OA59002 corrects TYPE89 var SMF89UZT values.
  TYPE90A  38.220  z/OS 2.2, MXG 38.09-10 SMF 90 ST 9 ABEND INPUT EXCEED
  TYPE92   38.222  Support for APAR OA60306, adds 8-byte memory fields.
  TYPEBE97 38.036  Support for BETA (93) and BETA97 Version 7.1.0
  TYPEBETA 38.036  Support for BETA (93) and BETA97 Version 7.1.0
  TYPEBETA 38.200  Support for BETA93 and BETA97 new data and updates.
  TYPECIMS 38.058  CIMS/IMF CIMSDBD/DB2/MQ Zero Obs 37.37-38.02
  TYPECMFV 38.063  CMF VSAM INVALID DATA messages, wrong informat.
  TYPEDB2  38.062  Support DB2 APAR PI92652,PI82191 and DPAGE support.
  TYPEDB2  38.075  Support for APAR PH14037 DB2ACCTP QPACPKID truncated.
  TYPEDB2  38.096  Support for APAR PI98851 new variables DB2STATS.
  TYPEDB2  38.117  Support for DB2 APAR PH16111 SMF 100 Locations.
  TYPEIAM  38.006  Support for IAM 9.3 Spin 3 INCOMPATIBLE inserts.
  TYPEIDMS 38.003  IDMSTAS UOW/NETNAME added, TASUFLD1-3 corrected.
  TYPEIMS  38.014  Support for APAR PH14569/PH21001 IMS 22 log record.
  TYPEMVCI 38.116  Support for BMC Mainview for CICS 7.1 (COMPATIBLE).
  TYPERMFV 38.124  Many dupes in ZRBXCG/XCP/XCS datasets.
  TYPESARR 38.088  Support for CA View SARR SMF Subtypes 34 and 35.
  TYPESVIE 38.057  Support for SYSVIEW Subtype 2 record one min detail.
  TYPESY2K 38.221  Support for SYSTEM 2000 Flat File.
  TYPESYNC 38.214  New SYNCSORT zIIPSaver add-on variables.
  TYPETMO2 38.228  Support for TMON/CICS 4.1 revisions, INSTREAM TMON.
  TYPETMS5 38.002  Variables BYTEPRC and BESKEY added to TMS/DSNBRECD.
  TYPETPMX 38.039  Support for new INREI and JCLJJ in TYPETPMX.
  TYPETPMX 38.102  Support for Thruput Manager TMT7123/TMT7124 Jul 2020.
  TYPEVMXA 38.019  z/VM VXAPLSLM variable SHARERAM zero if not RHEL8.
  TYPEVMXA 38.047  z/VM MONWRITE 6.4.19.1 z15 INCOMPATIBLE.
  TYPEXAM  38.059  zVPS XAMCUV LCPUID=96 Totals records now deleted.
  TYPEXCOM 38.069  XCOM input did not skip the 461 bytes added in 12.0.
  UCICSCNT 38.085  Enhanced counts/bytes for SMF 110 including STIDs.
  UTILBLDP 38.008  Error after Change 37.149 if first USERADD is IDMS.
  UTILBLDP 38.157  BUILDMXG fails if you didn't specify OUTFILE=.
  UTILBLDP 38.224  ERROR: OPTION NOT FOUND if UTILBLDP has SUPPRESS=ID
  UTILEXCL 38.180  Optional "Candle" CICS segment kept wrong variables.
  UTILROLL 38.065  UTILROLL example to combine PDBs created every 4hr.
  VMACSMF  38.033  SMF Signature Type 2 St 1/2 MANY BACK2BACK LOG msgs
  VMACSMF  38.051  SAS FTP Access Method &MXGABND=1 set to print errors.
  VMXG70PR 38.142  Support for ASUM70WK and ASUM70P3 to keep full hours.
  VMXGDUR  38.145  If interval LT actual duratm, warning printed.
  VMXGINIT 38.046  SAS Option REUSE=YES is forced to REUSE=NO DEFAULT.
  VMXGOPTR 38.056  ANALHSM caused Error "SAS Option Name OPTIONS 1".
  VMXGSUM  38.223  VMXGSUM ignored %LET MXGCLASSNWAY=YES, DSN NOT FOUND.
  TYPEXAM  38.234  zVPS/XAM datasets XAMIFLBY & XAMIFLTO have zero obs.

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at https://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE

====== CHANGES THRU 38.234 ARE  IN MXG 38.38 DATED Jan  4, 2021 ========

Change 38.234  zVPS/XAM datasets XAMIFLBY & XAMIFLTO now have zero obs.
VMACXAM        Dataset XAMCPUTO contains the CPID=TOTAL/GPs/IFLs types
Dec 29, 2020   (TOTAL is all engines, GPS GP engines IFLS IFL engines)
               for each interval. (Previously only had TOTAL and GPS).
               The individual CPnn engine values are in XAMCPUBY and the
               PFXCPUTY variable identifies if the engine is GP or IFL.
              -HEX format added for CALMNEST RCCTOPDS DSVASSOC DSVUNPRK
              -CPID is UPCASED so GPs or IFLs values will be GPS/IFLS.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 38.233  Six variables added to TRNDRMFI:
VMXGRMFI         MAXZIPBY - maximum PCTZIPBY
Dec  23, 2020    MAXZIPTM - maximum ZIP time
                 MAXZIETM - maximum ZIP eligible time
                 MAXCPUTM - maximum CPU time
                 CPCFNAME - processor type
                 LPARSHAR - initial LPAR share
               to prevent UNINIT messages and missing values using
               GRAFWRKX with PDB=TREND.

Change 38.232  ANAL119 report TNRPTS has TTTELUNA/APIREMOT UNINITIALIZED
ANAL119        if there is no //IPHOSTS file. Logic to read IPHOSTS was
Dec 21, 2020   revised to skip incomplete entries.

====== CHANGES THRU 38.231 WERE IN EARLY ADOPTER 38.38 Dec 23, 2020 ====

Change 38.231  GOUT is suppressed when running WPS since WPS does not
GRAFCEC        support graphic catalogs. These members also did not
GRAFWRKX       recognize PDB=TREND and printed blank pages when the
Dec 18, 2020   response variable was missing values in all OBS. Both
               issues were corrected.

Change 38.230 -The UTILWORK report helps you set up RMFINTRV WORKLOADS.
UTILWORK       If the sum of CPUTM from service classes is greater than
Dec 31, 2020   the sum for report classes that means not all workloads
               have a report class defined and you may not use report
               classes to define workloads. Now USERPRT is set to NO to
               force using service class.
              -If you have an environment with multiple plexes then the
               WLM policies may be different. UTILWORK now adds SYSTEM
               and SYSPLEX to the skeleton RMFINTRV member. These can be
               removed in your editing of the member if they are not
               needed in your environment.

Change 38.229  Four variables added to TRNDRMFI:
VMXGRMFI         MAXZIPBY - maximum PCTZIPBY
Dec  18, 2020    MAXZIPTM - maximum ZIP time
                 MAXZIETM - maximum ZIP eligible time
                 MAXCPUTM - maximum CPU time

Change 38.228  Support for TMON/CICS changes to 4.1, INCOMPATIBLE
IMACTMO2       No ERROR Messages, but INVALID Values because fields were
VMACTMO2       increased from 4 to 8 bytes.
Dec 16, 2020  -MONIARQ dataset, TAARQRCN was increased to 8 bytes,
               misaligning TAARQRTM,TAARQRCN,TAARQWTM TAARQTXT,TAARQICT
               which were also increased to 8 bytes.
              -MONISYS dataset. TIHDASSZ and TITERILG byte counts have
               some negative values; they were 1E19 when INPUT as PIB8.
              -MONITASK dataset PRIINCHR byte counts can be negative.
               Variable FILEIOCN was increased to 8 bytes causing
               FCDELCN,FCGETCN,FCBROCN,FCADDCN and FCUPDCN to be wrong
               and those fields were also increased to 8 bytes.
              -MONIEXT dataset.  All EBCDIC64 variables translate '00'x
               to a blank.
              -MONIDBDS dataset, for DB2 the VOLSER starts with two null
               bytes and only the last four bytes are populated.
              -MONIAWT dataset. TAAWTTCN was increased to 8 bytes
               misaligning TAAWTTTM TAAWTFLG TAAWTWRC TAAWTWRT variables
               that were also increased to 8 bytes.
              -MEMBER IMACTMO2 example enables TMON exit in SYSIN; using
               the EXITMON6/TMON Infile Exit saves significant CPU time.
   Thanks to MP Welch, Bank of America. USA.

Change 38.227  SMF 119 Subtype 3 FCBYTES with z/OS 2.1 is wrong; there
VMAC119        are two inputs, the original PIB8 64-bit binary field and
Dec 16, 2020   the RB8 float field added to support larger values. Data
               records with valid binary (9.2 million) and invalid float
               (1.16225) values are created, and that float value is the
               one that is output.  This change inputs float as FCBYTES2
                 IF FCBYTES2 GT FCBYTES THEN FCBYTES=FCBYTES2;
   Thanks to Perry Lim, MUFG Union Bank, USA.

Change 38.226 -ASMRMFV when processing RMF III CFIG3 can issue a warning
ASMRMFV        message: RMFV035W **WARNING: DETAIL nnn CFI TABLES
Dec 14, 2020   SKIPPED DUE TO VALIDATION ERRORS : ***PLEASE CONTACT
               SUPPORT@MXG.COM***
              -Change number 38.188 incorrectly altered CFIG3 table
               processing when validating Connection entries.
              -Affects only ASMRMFV at 38.188 level,MXG version 38.09-10
   Thanks to MP Welch, Bank of America, USA.
   Thanks to Gary Wyper, Natwest, SCOTLAND
   Thanks to Rob D'Andrea, Natwest, SCOTLAND.

Change 38.225  WPS did not support Views so the MXG Defaults MXGVIEW=NO.
VMXGINIT       Current WPS versions now support views.  You can use
WPSVIEWS          //SYSIN DD
Dec 12, 2020      %INCLUDE SOURCLIB(WPSVIEWS);
               to enable their use to save CPU and I/O resources.

Change 38.224  ERROR: OPTION NOT FOUND if your UTILBLDP has SUPPRESS=ID
ANALID         to prevent that dataset from being created. Originally in
UTILBLDP       Change 38.056, and partially corrected in 38.174, this
Dec 12, 2020   change protects ANALID for DONEANALID case.

Change 38.223  If you used %LET MXGCLASSNWAY=YES in SYSIN for %VMXGSUM,
VMXGSUM        to set CLASSNWAY=YES, VMXGSUM ignored it and it caused an
Dec 12, 2020   ERROR: DSNAME NOT FOUND trying to delete VMXGSUM1. See
               Change 34.137 which introduced CLASSNWAY.

Change 38.222  Support for APAR OA60306 which adds 8-byte memory metrics
VMAC92         for more than 2GB in type 92 subtype 12 and 23 records:
Dec 10, 2020     TYPE9212: SMF92MLSZ='BYTES*BEING*MEMORY*MAPPED'
                 TYPE9213: SMF92MULSZ='BYTES*BEING*MEMORY*MAPPED'

Change 38.221  Support for SYSTEM 2000 Flat File, work in progress.
EXSY2KA
EXSY2KB
EXSY2KC
EXSY2KD
IMACSY2K
TYPESY2K
TYPSSY2K
VMACSY2K
VMXGINIT
Dec  9, 2020

Change 38.220  z/OS 2.2, MXG 38.09-.10 SMF 90 ST 9 ABEND INPUT EXCEEDED
VMAC90A        RECORD LENGTH because MXG added INPUT of SMF90STE in MXG
Dec  5, 2020   Change 38.186 SMF Manual Update, but IBM added that field
               in z/OS 2.3. Now, it is kept and INPUT if it exists.
               Use this statement in //SYSIN to circumvent the ABEND:
             %LET MACFILE= %QUOTE(IF ID=90 AND SUBTYPE=9 THEN DELETE;);
               The subtype 9 is only written for an IPL SMF event,
   Thanks to Randy Hewitt, DXC, USA.

Change 38.219 -Labels for S42DSGSR/S42DSLSR/S42DSRLS/S42DSNSR removed
VMAC42         "COMPRESSED"; only if S42DSEFC='Y' are they compressed.
Dec 10, 2020   Labels S42AMRIB/S42AMWIB are now VSAM*BYTES*read/write,
               S42DSHWR label corrected to COUNT and S42DSIOS changed.
               to S42DSIOS='TOTAL METRO*MIRROR*IO-S'.
   Thanks to Michael Friske, FMR, USA.

Change 38.218  Change 36.049 added and extra / causing a failure to
VGETALOC       communicate with the operating system and could result in
Dec  3, 2020   no allocations and a failure of a following VMXGSET. Now
               there should be only 1.
   Thanks to Ken Pressley, SRPNET, USA.

Change 38.217 -NOTRAN attribute support for WPS is added in VMXGINIT so
VMXGINIT       that z/OS WPS datasets can be downloaded to ASCII and the
TESSOTHR       $HEX formatted variables will not be translated.  See
VMACXDFG       Change 27.014 for the &MXGNOTRA/&MXGNOTRB addition.
VMACXDNS      -TESSOTHR and the six VMACXDxx members were updated for
VMACXDSP       WPS QA. A test for &SASVER prevented their WPS execution.
VMACXDSS
VMACXDTI
VMACXDTS
Dec  8, 2020

Change 38.216  Support for APAR OA59581, new TYPE42DS variables:
VMAC42          S42SNTWK='SYNC*WRITES*HYPERLINK*NOT PERFORMED'
Dec 10, 2020    S42SNTWV='SYNC*WRITES*RESERVED*DEVICE'
                S42SNTWY='SYNC*WRITES*HYPER DISABLED*TOKEN ERROR'
                S42SNTWU='SYNC*WRITES*HYPER DISABLED*COPY'
                S42SNTWF='SYNC*WRITES*HYPER DISABLED*PAGE BOUNDARY'
                S42SNTWQ='SYNC*WRITES*HYPER DISABLED*INVALID'
                S42SNTWZ='SYNC*WRITES*HYPER DISABLED*ZHPF DISABLED'
                S42SNTWW='SYNC*WRITES*HYPER DISABLED*INTERNAL ERR'
                S42SNTWH='SYNC*WRITES*HYPER DISABLED*DUAL LOGGING'
                S42SNTDR='SYNC*WRITES*DUAL*LOGGING'
                S42SNTDX='SYNC*WRITES*HYPER DISABLED*ASYNC'
                S42SNDWI='SYNC*WRITES*ASYNC*INVALID*TOKEN*/
                S42SNDWK='SYNC*WRITES*ASYNC*ZHYPERLINK*/
                S42SNDWV='SYNC*WRITES*ASYNC*RESERVED*DEVICE*/

Change 38.215  TYPE70PR variables CP70BPS/ZIP70BPS/CP70ACS/ZIP70ACS were
VMAC7072       sometimes incorrectly populated and were a missing value
VMXG70PR       in ASUMCELP dataset.  The variable labels were corrected.
Nov 27, 2020
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 38.214  New variables in dataset SYNCSORT by zIIPSaver add-on:
VMACSYNC         SYNCMPIN    $CHAR1.  /**CMPI*NOGO*REASON*CODE*/
Dec  1, 2020     SYNCMPON    $CHAR1.  /**CMPO*NOGO*REASON*CODE*/
                 SYNCMPRT    &PIB.2.  /**COMPRESSION*RATIO*SORTOUT*/
               Variables CPUZIPTM and CPUCPTM are now correctly located
               and correctly input. The DSECT does not match the data.
   Thanks to Glen Bowman, Wakefern, USA.

====== CHANGES THRU 38.213 ARE  IN MXG 38.10 DATED Nov 23, 2020 ========

Change 38.213  New DB2STAT1 (IFCID=0002) APAR PH29098 variables:
VMACDB2          QISTINPR   ='IAG2*PIPE*RENABLE*ATTEMPTS'
Nov 21, 2020     QISTINPE   ='IAG2*PIPE*RENABLE*SUCCESS'
                 QISTCONDLKF='CONDITIONAL*LOCK*FAILURES'
                 QISTRETRYLK='UNCONDITIONAL*LOCK*RETRIES'

Change 38.212  In the TYPE70EN dataset, when the engine was parked for
VMAC7072       the full interval, PCTCPUBY and PCTMVSBY could be small
Nov 20, 2020   negative values due to resolution differences in DURATM
               with 2 decimals and SMF70PAT with 6.  Now, the negative
               value is replaced with zero.
   Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.

Change 38.211  New variables added in Oct 25, 2020 SMF Manual:
VMAC7072      -Dataset TYPE72TR new variables
VMAC89           R723GMLT='GGMN/GGMX*ARE IN*MSU/HR?'
VMAC78           R723GMLZ='ZIP*INCLUDED*GGMN*GGMX?'
Nov 20, 2020  -Dataset TYPE892 new variables
                 BOOSTACTIVE BOOSTCLASS (were in TYPE89 but not TYPE892)
              -Dataset TYPE78VS new variables
                 R782FLG='RUCSA*IS*DEFINED?'
                 R782RUCA='RUCSA*ADDRESS*BELOW*16M'
                 R782RUCS='RUCSA*SIZE*BELOW*16M'
                 R782ERUCA='RUCSA*ADDRESS*ABOVE*16M'
                 R782ERUCS='RUCSA*SIZE*ABOVE*16M'

Change 38.210  New variables added to TYPE9040 dataset SMF 90 ST 40:
VMAC90A          SMF9040ID='ID OF*START*REQUESTOR'
Nov 19, 2020     SMF9040DU='RECOVERY*PROCESS*BOOSTS*DURATION'
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.209  zERT variable SMF119SC_TLS_PROT_VER format $MG119PX now
FORMATS        decodes '0304'x as TLSV1.3.
Nov 19, 2020
   Thanks to Thomas Liu, ANZ, AUSTRALIA.

Change 38.208  Variable RESPAVG is added to ASUMCICS/ASUMCICT/TRNDCICS
ASUMCICS       as it already existed in ASUMCICX. Variable IRESPTM is
ASUMCICT       the SUM of all transaction response times.
TRNDCICS
Nov 18, 2020

CHANGE 38.207  If you are rolling up interval data to weeks and your
TECHNOTE       week does not start on Monday you can use the STARTDAY
VMXGDUR        macro variable to start weeks on the day of the week
TRND****       you choose by inserting this line in IMACINIT or any
Nov 18, 2020   code where you are using VMXGDUR to summarize data to
               a week (all of the TRND**** members).
                 %LET STARTDAY=day 1 of MON TUE WED THU FRI SAT SUN

Change 38.206  Format MG116CT for TYPE116 variable QCSTCHTY in dataset
FORMATS        MQCHININ had 9='9:DLUSSCR' typo, now is 9='9:CLUSSDR'.
Nov 18, 2020
   Thanks to Rob Hollingum, HSBC, ENGLAND.
   Thanks to Matt Crawford, HSBC, ENGLAND.

Change 38.205  SMF 110 St 1 MNSEGCL=5 Resource Record extra 14 bytes
VMAC110        caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Nov 18, 2020   WHILE (LENLEFT GT 0) changed to WHILE (LENLEFT GT 140).
               You can circumvent with this added to your //SYSIN:
                 %LET IHDR110= %QUOTE(IF MNSEGCL=5 THEN DELETE;) ;
   Thanks to Martha A. Knapik, Progressive, USA.
   Thanks to Craig S. Bigler, Progressive, USA
   Thanks to Diana L. Laskovich, Progressive, USA.

Change 38.204  Type 42 St 5 MXG logic to correctly calculate SRLEN was
VMAC42         exposed to INPUT STATEMENT EXCEEDED LENGTH error because
Nov 17, 2020   SRLEN=160 is valid, but the optional SYNC segment length
Nov 19, 2020   is included in SRLENGTH=OFFVOL-OFFSR which misled to
               the incorrect recalculation, which is now bypassed.
   Thanks to Andrew Petersen, DXC, AUSTRALIA.

Change 38.203  CHANGE 37.267 added an ERROR:INCORRECT ENCODING message
VMXGINIT       on the log, but the code was inserted before &OPSYS was
Nov 17, 2020   populated, so the message was never printed.
   Thanks to John Compton, World Programming, ENGLAND

Change 38.202  Variable DCDCTYPE='COMPRESSION*TYPE' was not kept in the
VMACDCOL       DCOLDSET dataset.
Nov 16, 2020
   Thanks to Heimir Hauksson, Barclays, ENGLAND.

Change 38.201  The new z/15 TYPE 113 counters EXTND256-EXTND287 were not
ASUM113        kept in the PDB.ASUM1131 dataset. Only EXTND264/EXTND265
Nov 11, 2020   are described, and neither is used in any calculations.
               but now, all will exist, and be populated if on z z/15.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 38.200  Support for BETA 93 and BETA 97 new data and corrections:
EXTYBETO      -New variables added to dataset BETA50:
EXTYBETU          BETAINDI='IP*ADDRESS*INDICATOR'
FORMATS           BETAIFLGS='ADDRESS*TYPE*INDICATOR'
VMACBE97          BETAHOSTPORT='HOST*PORT'
VMACBETA          BETASERVPORT='SENDING*PORT OF*SERVER'
VMXGINIT          BETAIPHOST  ='HOST*IP*ADDRESS'
Nov 17, 2020      BETAIPCLIENT='WEB*BROWSER*CLIENT*IP'
                  BETAIPSERV  ='WEB*APP SERVER*IP'
                  BETAIPSERVI ='WEB*INTERNAL*FORMAT'
                  BETALUSED='LDD*TABLE*USED?'
                  BETALJOBN='MASK USED*JOB*NAME*FIELD'
                  BETALSTPD='MASK USED*STEP*NAME*FIELD'
              -Two new BETA 93 datasets from subtype 43
                  DDDDDD  DATASET   DESCRIPTION
                  TYBETO  BETA43    ST43 ARCHIVE DATE CHANGE
                  TYBETU  BETA43DS  ST43 CHANGE DATASETS
              -Corrections to BETA93 subtypes 50 and 55.
              -Corrections to BETA97 subtypes 0, 22, 51 and 55.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY

Change 38.199  Processing compressed SMF 110 Records without the INFILE
TECHNOTE       decompression exit (EXITCICS) is VERY expensive on z/OS.
Nov 24, 2020   Each test processed the same 50000 110 records & created
               668,652 OBS in CICSTRAN.

               Uncompressed records were 7.4GB, compressed were 1.5GB.

      STEPNR                CPUTM    SELAPSTM    EXCP    EXCP
                                                  3390    TAPE

 zOS   EXTRACT ONLY 110.1  0:03:23.39 0:05:04.72  5493  653324
 zOS   DFH$MOLS            0:00:12.84 0:00:55.97     2   93621  Xfer:
 zOS   READ COMP USE EXIT  0:00:20.56 0:00:20.56 42866         117MB/sec
 zOS   READ COMP NO EXIT   0:03:30.25 0:04:31.70 42870        3673KB/sec
 zOS   READ UNCOMPRESSED   0:00:12.12 0:00:17.20 63949          99MB/sec
 Win   FTP compressed      0:00:37.12 0:01:28.56                11MB/sec
 Win   FTP unpacked        0:00:43.45 0:02:03.78                12MB/sec
 Win   Read compressed FTP 0:03:32.10 0:03:36.68              3783KB/sec
 Win   Read unpacked   FTP 0:00:56.40 0:02:06.41                12MB/sec
 Win   Read comp local     0:03:49.73 0:04:23.97              4590KB/sec
 Win   Read unpacked local 0:00:21.18 0:00:21.40                74MB/sec

Change 38.198  GOUT suppressed when running WPS since WPS does not
GRAFCEC        support graphic catalogs.
GRAFWRKX
Nov  6, 2020

Change 38.197 -Updates to ASMVVDS program that reads VVDS records with
ASMVVDS        output to a sequential flat file and/or output as SMF
JCLASMXG       records.
Nov  4, 2020  -Default setting of 0 for @UCB31 (UCBs below 16MB) line
               changed to a setting of 1 (UCBs above 16MB) which is more
               appropriate for modern z/OS systems.
              -Two assembly errors are also fixed.
              -NOTE: ASMVVDS must be APF authorized. That requires parm
               of AC(1) in program binder step and the load library must
               also be authorized.
              -See ASMVVDS source member for full installation and usage
               instructions.
              -Sample JCL for assembly and linkedit of ASMVVDS was added
               to member JCLASMXG (which Assembles all MXG ASM program).
   Thanks to Victor Li, Atos, Hong Kong

====== CHANGES THRU 38.196 ARE  IN MXG 38.09 DATED Nov  4, 2020 ========

Change 38.196  New parameter COMPANY added with default of MXG to allow
GRAFWLM        you to insert your COMPANY NAME in titles.  The Parameter
NOV  4, 2020   list was sorted into alphabetic order..

Change 38.195  ERROR: WORK.CICSEXCE.DATA does not exist if SUPPRESS=110
UTILBLDP       and BUILDPDB NE 'NO' were specified in your invocation;
Nov  4, 2020   the null _SCICEXC, _SCICSYS, _INTCICS macros were not
               created, causing the ABEND.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

====== CHANGES THRU 38.194 ARE  IN MXG 38.09 DATED Nov  2, 2020 ========

Change 38.194  Support for dataset TYPE80TK new variables:
VMAC80A          TOKMACCOUNT TOKMP9ACTION TOKMTSSTATUS BUILDING TOKMDEPT
NOV  2, 2020     TOKMEMPNO   TOKMLANG     TOKMPRINTER  TOKMPROVINCE
                 TOKMUSERTYPE TOKMLDAPPROF
   Thanks to  Gaetan Martel, INTACT, CANADA.
   Thanks to  Serte-TI Belanger, INTACT, CANADA.

Change 38.193  Correction for IDMSTAS variables TASUFLD1-TASUFLD3 input;
VMACIDMS       the extra 8-bytes do not exist in TASTTYPE='40'x records.
OCT 31, 2020
   Thanks to Dennis Jamiel, Travelport, USA.
   Thanks to Marcos Villasenor, Travelport, USA.

Change 38.192  Support for ThruPut Manager TMT7124 update, which adds.
VMACTPMX       these variables to dataset TYPETPMX:
OCT 30, 2020     TPMTMNOM='NUMBER*OF THIS*RECORD'
                 TPMTMNON='TOTAL*NUMBER OF*RECORDS'
                 TPMTMAPP='KNOWN APPLICATIONS'
                 TPMTMELR='ELAPSED*TIME ON*READER'
                 TPMTMCAC='CATALOG*CPU*TIME'
                 TPMTMCAE='CATALOG*ELAPSED*TIME'
                 TPMTMDJC='DAL/JAL*CPU TIME''
                 TPMTMDJE='DAL/JAL*ELAPSED*TIME''
                 TPMTMSSC='DTMSSREQ*CPU TIME'
                 TPMTMSSE='DTMSSREQ*ELAPSED*TIME'
                 TPMTMUXC='USER EXIT*CPU TIME'
                 TPMTMUXE='USER EXIT*ELAPSED*TIME'
                 TPMTMJ2C='JES2 INTERFACE*CPU TIME'
                 TPMTMJ2E='JES2 INTERFACE*ELAPSED*TIME'
                 TPMTMTLC='TAPE*LIBRARY*CPUT TIME'
                 TPMTMTLE='TAPE*LIBRARY*ELAPSED*TIME'
                 TPMTMANA='ANALYSER*START*DATETIME'

Change 38.191  Support for CICS optional HUMTRAN field INPUT $EBCDIC8.
UTILEXCL       Change 38.115 had added support for $16 and $24 INPUTs.
OCT 29, 2020   Variable HUMTRAN is length $24 with either INPUT.
   Thanks to Dave Baker, HCA Healthcare, USA.
   Thanks to Lisa Gascoigne, HCA Healthcare, USA.

Change 38.190  The report of all job activity only printed the first 500
ANALJOBE       lines of the report; now all lines are printed.
OCT 28, 2020
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 38.189  Format $MG119SP decodes variable SMF119SC_SASECPROTOS:
FORMATS           VALUE $MG119SP     /*$MG119SC FORMAT FOR VMAC119*/
VMAC119            '00'X='00X:NO PROTECTION'
Oct 28, 2020       '80'X='80X:TLS/SSL'
                   '40'X='40X:SSH'
                   '20'X='20X:IPSEC'
                   ;
   Thanks to Joe Faska, DTCC, USA.

Change 38.188 -New MXG variables EXECVEL (Execution Velocity) and
ADOCRMFV       PERFINDX (Performance Index) are added to PDB data set
ASMRMFV        ZRBRCDT (RMF III RESPTIME SERVICE CLASSES).
VMACRMFV      -New MXG variable EXECVEL (Execution Velocity) added to
Oct 27, 2020   PDB data set ZRBRCDX (RMF III RESPTIME REPORTING
               CLASSES).
              -If for some reason a Response Time Distribution Array was
               not present in the RCDG3 RMF III table the corresponding
               Service Class or Report Class period would not be output
               to the PDB.
              -Rarely RMF III may generate an SSHG3 (Sample Set Header)
               table where the sample begin datetime and sample end
               datetime are the same.  Effectively this is a null table
               with zero samples. With this condition an Abend S002 in
               ASMRMFV is possible.
              -ASMRMFV will now detect this condition, then issue a new
               RMFV023W message:
               **WARNING:  SAMPLE START/STOP DATE TIMES ARE IDENTICAL.
               ENTIRE SAMPLE SET WILL BE SKIPPED***
               and the entire SSHG3 table will be skipped and output to
               the RMFSKIP DD file (if present).
              -This condition may be due to the timing sequence in a
               system shutdown process.   Both RMFGAT and RMF Started
               Tasks should be completely terminated before the process
               continues.
              -Warning message RMFV022W was not formatted correctly.
              -Warning message RMFV023W was duplicated.
              -Section 12 Messages in ADOCRMFV updated to include the
               new RMFV023W message.

              -TUTORIAL 1:
               Execution Velocity is a WLM measurement based on system
               states which are continuously collected by sampling.

               System states describe when a work request uses a system
               resource (a using state) and when it must wait for it
               because it is used by other work (a delay state).

                                          # Using Samples
               Execution Velocity  = --------------------------- * 100
                                      # Using + # Delay Samples

               Execution Velocities thus range from 0 to 100.

               A value of 100 means the unit of work is running with no
               WLM DETECTED delays.  A value of 0 means the that unit of
               work is not running at all either because it has no
               access to the resources needed or it is idle.

               The Execution Velocity formula does not include the
               unknown state.  This state includes delays not tracked by
               WLM, such as locks or enqueues.  So an Execution Velocity
               of 100 does not necessarily mean the work unit is running
               totally unencumbered.

              -TUTORIAL 2:
               Performance Index (PI) is a calculation of how well work
               is meeting its WLM defined goal.

               For work with response time goals, the Performance Index
               is the actual response divided by the goal response.

               For work with velocity goals, the Performance Index is
               the goal velocity divided by actual velocity.

               A Performance Index of 1.0 indicates the Service Class
               period is exactly meeting its goal.  A Performance Index
               greater than 1 indicates the Service class period is
               missing its goal.  A Performance Index of less than 1.0
               indicates the Service Class period is beating its goal.

               Work with a Discretionary goal is defined to have a fixed
               Performance Index of .81 .  Service Classes for System
               address space have no Performance Index as they do not
               have goals.

               Each Service Class period has a Sysplex and a Local
               Performance Index.

               The Sysplex Performance Index represents the performance
               of a Service Class period across all systems in the
               Sysplex.  The RMF III SYSSUM report shows this assuming
               it has access to all RMF III VSAM data sets for the
               Sysplex in the time period being reported.

               The Local Performance Index represents only the
               performance on a single local system. PERFINDX in MXG
               is a Local Performance Index.
  Thanks to Rodger Foreman, Black Knight, Jacksonville, FL, USA
  Thanks to Len Shenfield, ADP, Roseland, NJ, USA

Change 38.187 -If you suppressed CICSSTAT that also unintentionally
UTILBLDP       suppressed ASUMUOW and ASUMCICX. Now if you want to
Oct 27, 2020   suppress ASUMUOW ASUMDBAA or ASUMDBSS you can add them to
               the SUPPRESS= parameter by name. In the case of ASUMUOW
               this also suppresses ASUMCICX but if you did not suppress
               CICSTRAN then ASUMCICS is substituted. These four members
               CICSSTAT ASUMUOW ASUMDBAA and ASUMDBSS are all resource
               intensive, and if you don't use them you can save those
               resources by suppressing them.
              -If you suppressed ID and used BUILDPDB=JES3 you got an
               error message that the type of VIEW could not be
               determined. There were many other spots which looked only
               for YES or NO that were fixed. The value of BUILDPDB is
               now validated and if it is not blank, NO, YES, or JES3
               UTILBLDP will end with error messages.

Change 38.186  MXG estimate of DOWNTM prior to an IPL used the PREVTIME
VMAC0          of the last record, but what was needed was the PREVTIME
VMAC90A        of the ID=0 record, and the IPLTIME of the ID=0 is now
Oct 26, 2020   retained in TMP0TIME and used for the IPLTIME in the
               DOWNTM calculation in the ID=90 ST=10 IPL SRM record.
              -Processing ID=0 record, the GMTOFF was off by one second.
              -Variable SMF90STE was INPUT, but see Change 38.220 ABEND.
   Thanks to Tore Hansson, IBM Services, NORWAY.

Change 38.185  MXG 38.03 Change 38.051 set MXGABND=1 for missing SMFTIME
VMACSMF        value when using the SAS FTP Access Method, because we
VMXGINIT       have seen that associated with an FTP "hang" until it was
Oct 21, 2020   cancelled, and by forcing an ABEND you can avoid the hang
               and if you've pointed the LOG option to a file, you can
               see if there were other error conditions. But MXGABND is
               is macro variable used in many members so you can choose
               an ABEND instead of ERROR messages (like TYPE110, where
               some sites want an ABEND alert when EXCLUDED FIELDS are
               detected).  In this case, the CPUTM GT ELAPSED condition
               in TYPE110 tested MXGABND GT 0 and cause an unwanted
               ABEND.  Now, macro variable SMFMISS is created and can be
               used to cause the abend when SMFTIME is missing using the
               FTP access method, using  %LET SMFMISS=NNN; in your SYSIN
               to cause ABORT ABEND NNN instead of the ERROR and a hang.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 38.184  MXG 38.08. ERROR: File WORK.PDBTYPE70.DATA does not exist
VMXG70PR       if you tailor and invoke %VMXG70PR with no PDB= argument.
Oct 19, 2020   We recommend you always use %INCLUDE SOURCLIB(ASUM70PR);
               instead of putting a tailored VMXG70PR in USERID because
               IBM changes may require incompatible changes in VMXG70PR,
               but we can protect ASUM70PR from the need for change.
               In general, if there is an ASUMxxxx that invokes VMXGxxxx
               its always safer to use the ASUMxxxx member.
   Thanks to Otto A. Burges, OPM, USA.

Change 38.183 -The detail report did not correctly report outages. The
ANALAVAI       beginning was the beginning of the interval when it came
Oct 29, 2020   back up and the ending was the time when that interval
Nov  4, 2020   ended.
              -A new month-to-date summary report was added and the
               availability is now calculated as the
                   (uptime-outagetime + scheduledtime)/86400*100;
              -Changed Parameter values:
                 CYCLE=M1    has not been changed but a null value will
                             let you accumulate many months of data.
              - New Parameters:
                 MINOUTAGE=5  number of outage seconds to ignore
                 OUTCODE=     a stub of code just after PCTAVAIL is
                              calculated
                 SCHEDULED=   stub of code allowing you to specify
                              scheduled outages for each app.
                              see doc and examples in member.

              Update in MXG 38.09 dated Nov 4, 2020:
              If you were not very careful building schedules and
              outages, duplicate obs could skew percentages. SORTS with
              NDDUP added to eliminate duplicate obs. Also outages were
              not carried into month totals resulting in availability GT
              100%.

                An Example of invoking %ANALAVAI:
                  When building schedules it is critical that you always
                  output either outages or scheduled for each app with a
                  schedule.

                  %ANALAVAI(
                  COMPANY=YOUR COMPANY,
                  SCHEDULED=
                    IF APP IN('SYSA','SYSB','SYSC')
                    AND WEEKDAY(DATE) = 1 THEN DO;
                       IF APP IN('SYSB','SYSA')
                       AND  BEGSKED GE '03:00'T
                       AND  ENDSKED LE '03:30'T
                          THEN OUTPUT SCHEDULED;
                       IF APP='SYSC'
                       AND  BEGSKED GE '03:00'T
                       AND  ENDSKED LE '04:00'T
                          THEN OUTPUT SCHEDULED;
                       ELSE OUTPUT OUTAGES; *critical statement;
                    END;
                    ELSE IF APP = 'PRODCICS' THEN DO;
                       IF WEEKDAY(DATE) NE 7
                       AND  BEGSKED GE '23:15'T
                       AND  ENDSKED LE '06:05'T
                          THEN OUTPUT SCHEDULED;
                       ELSE IF  BEGSKED GE '23:15'T
                       AND  ENDSKED LE '07:05'T
                          THEN OUTPUT SCHEDULED;
                       ELSE OUTPUT OUTAGES; *critical statement;
                    END;
                    ELSE IF APP = 'ADABAS' THEN DO;
                       IF WEEKDAY(DATE) EQ 1
                       AND  BEGSKED GE '23:15'T
                       AND  ENDSKED LE '02:05'T
                          THEN OUTPUT SCHEDULED;
                       ELSE OUTPUT OUTAGES; *critical statement;
                    END;
                    ELSE OUTPUT OUTAGES;    *required final statement;
                  ,
                  APP1=SYSB/SYSC IS UP/JES2,
                  APP2=SYSA/SYSA IS UP/JES2,
                  APP3=SYSC/SYSC IS UP/JES2,
                  APP4=SYSA/ADABAS/ADABAS,
                  APP5=SYSC/PRDCICS/CICSPTOR CICSPAOR CICCSPFOR,
                  DDIN=PDB,
                  ODSTYPE=,
                  TYPERUN=BUILDR
                );
              RUN;
   Thanks to Shantanu.Gupta, ENSONO, USA.
   Thanks to Ankush Dudhbavare, ENSONO, USA.
   Thanks to Rahul Raj, ENSONO, USA.

Change 38.182 -If you specified BUILDPDB=NO with SUPPRESS=x you got an
UTILBLDP       invalid compare on several FLAGxx macro variables used to
Oct 21, 2020   keep track of suppressed items for BUILDPDB. SUPPRESS= is
               ignored when BUILDPDB is set to NO as the only records
               read are those in USERADD=. Comments updated for MXGINCL.
              -If you specified OUTFILE=XYZ and XYZ did not exist you
               got an unresolved macro reference. On zOS you must have
               a DD or a filename statement for the OUTFILE= parameter
               unless you use the recommended INSTREAM.
              -Comments added to handle products with multiple SMF IDs.
   Thanks to Thomas Liu, ANZ. NEW ZEALAND.

Change 38.181 -New ASMRMFV Field Data Filter (FDF) support for the RMF
ADOCRMFV       III Coupling Facility Information Table (CFIG3).
ASMRMFV       -New Section 33 Filtering The CFIG3 Table added to
Oct 16, 2020   documentation member ADOCRMFV.   Following section
               numbers all incremented by 1.
              -FDF filtering is supported for the Header, Coupling
               Facility, Structure, and Structure Extension sections in
               the RMF III CFIG3 table.
              -After a Structure Extension section in CFIG3 with no
               connections occurs, ASMRMFV did not output following
               connection entries for subsequent Structure Extensions in
               the same Coupling Facility to RMFBSAM.
              -TUTORIAL:
               The result of a FDF IF=/ORIF=/ANDIF= expression compare
               is one of the following:
                            TRUE  FALSE  IGNORE
               An expression is IGNOREd when:
               1) The input RMF III data is for a release that does not
               support the Fieldname. This is the most common reason.
               IBM may have discontinued the Fieldname, moved it to
               another offset with a different Fieldname, or added it in
               a higher RMF release than the data being processed.
               2) The RMF III table section containing the Fieldname is
               absent. Not every section is always present in every RMF
               III table. Some sections depend on RMF III startup
               options.
               NOTE: In the case of the CFIG3 table the Structure
               Extension, Connections, and/or Storage Class Memory
               sections may not exist. In some cases the Structure
               and/or Channel Path sections may not exist. The CFIG3
               does not exist at all for LPARs running as z/VM guests.
               3) The known offset for Fieldname is beyond the length of
               the table section being processed. This could be an
               internal ASMRMFV or RMF III error.
               4) ASMRMFV treats an IGNORE condition as a TRUE condition
               and the data is NOT filtered.
              -Example:
               The Fieldname CFISTMAE is part of the Structure Extension
               section in the CFIG3 table. But if NOCFDETAIL is in
               effect in the RMF Monitor III start options, then the
               Structure Extension section will not exist for that LPAR.
               Assume there are 35,020 structures in the RMF III VSAM
               file for the CFIG3 table.  Recall that the table is
               generated for each RMF III MINTIME interval.
                 The IF expression is:
                 RMFV002I  SYSIN   :  IF=(CFISTMAE GT 0)
                 RMFV088I  IF=     :  CFISTMAE GT 0  X'00000000'
                 The result will be:
                 RMFV080I  COMPARES:  TRUE=  0  FALSE= 0  IGNORE= 35,520
                 TOTAL=      35,520

Change 38.180  These optional "Candle" CICS segments' variables were not
UTILEXCL       correctly kept in the _VCICTRN created by UTILEXCL:
Oct 14, 2020   CANFLAGS CANGMTOF CANUSRWK CANSUPRN CANSUPRT CANDCOMN
               CANDCOMT CANRES01.  The names in the "Link to IMACICxx:"
               were in the wrong "xx:" labels.
   Thanks to Shantanu Gupta, ENSONO, USA.

Change 38.179  Support for DB2 ZPARM MFA_AUTHCACHE_UNUSED_TIME value in
VMAC102        seconds in variable QWP4MFAT in T102S106 dataset.
Oct 14, 2020
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 38.178  Support for Z NetView 6.3 subtype 4 Command Statistics
EXTY3804       creates new dataset TYPE3804 which contains these
VMAC38            S38DCMDN ='COMMAND*NAME'
VMXGINIT          S38DALTN ='COMMAND*ALTERNATE*NAME'
Oct 19, 2020      S38DPRNT ='PARENT*NAME'
                  S38DTSK  ='NETVIEW*TASK*NAME'
                  S38DSTCK ='START*DATETIME'
                  S38DETCK ='END*DATETIME'
                  S38DSTCK ='CPU*TIME'
                  S38DSTG  ='STORAGE*HWM'
                  S38DIOC  ='TOTAL*I/O'
                  S38DAUSR ='AUTHORIZED*USER*NAME'
                  S38DELAP='ELAPSED*DURATION'
   Thanks to Mark Tomlinson, Lloydsbanking, ENGLAND.

Change 38.177  VTAM Tuning SMF 50 record datasets 502R/502W/504R/504W
VMAC50         were misaligned.
Oct 16, 2020
   Thanks to Thomas Doster, IBM, USA.
   Thanks to Kristen Lamastr, IBM,USA.

Change 38.176  User tailoring %LET PDBMXG=yourdd; failed with PDB NOT
VMXG70PR       FOUND if there was no PDB=LIBNAME argument, or ASUM70GC
Oct  9, 2020   and ASUM70GL were written to PDB instead of "yourdd" if
               the PDB libname exists. MXG 38.08 only.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 38.175  MXG 38.08 only.  Change 38.170 added support for suppress
UTILBLDP       115 and 116 records, but if you suppressed ID and did not
Oct  8, 2020   set VWVMACID to null you could get an error message from
               SAS that the type of VIEW could not be determined, but
               only with older SAS versions.

Change 38.174  The Change 38.056 "Error: Unrecognized SAS option name"
ANALID         only occurred if ID was suppressed, now that's protected.
Oct  9, 2020

Change 38.173  The ANALID format for SMF 72.4 and 72.5 is changed from
FORMATS        RMF I to RMF III because the data gatherer source for
Oct  6, 2020   both of those records written by RMF I is RMF III.
   Thanks to Randy Hewitt, DXC Technology

Change 38.172  Variable ZCOSTIME is now numeric with DATETIME20. format.
VMACZCOS
Oct  6, 2020
   Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.

Change 38.171  The title for the report for DEVMNTMX and DEVMNTAV was
ANALBVIR       reversed and is now "INST MIN MAX AVG THRUPUT"/
Oct  5, 2020
   Thanks to John Donoghue, AIB, IRELAND

Change 38.170  This utility to create tailored BUILDPDB input code adds
UTILBLDP       MQ option to SUPPRESS= so both the 115 and 116 records
Oct  3, 2020   can be skipped.

Change 38.169  Corrected a JCL error in the IBM DFH$MOLS CICS program
DFH$MOLS       that decompresses SMF 110 (SUBTYPE 1 ONLY) records.
Oct  2, 2020

Change 38.168  Support for new CICS/TS 5.6 Statistics Variables added to
EXCICXSG       STID=43 (CICDQR), eliminate spurious message STID=46 that
SCICSORT       new fields were added,and new CICXSG dataset from STID=61
VMAC110        SMF 110 Subtype 2 records.
VMXGINIT
Oct  5, 2020

Change 38.167  Labels for TYPE64 SINCE*OPEN and SINCE*CREATION were
VMAC64         reversed. Variables ACCLEVEL ACCNEXTS ACCNRECS ACCDELET
Oct  1, 2020   ACCINSRT ACCUPDAT ACCRETRV ACCUNUCI ACCISPLT ACCASPLT and
               ACCEXCPS are SINCE*OPEN and variables INDXLVLS NREXTNTS
               RECORDS DELETES INSERTS UPDATES RETRVALS UNUSEDCI
               CISPLTS CASPLITS and EXCPS are SINCE CREATION.
   Thanks to Michael Friske, FMR, USA.

Change 38.166  New utility that will help you decide if you should run
UTILUOW        ASUMUOW and whether you should use CASE1 or CASE2 from
Oct  1, 2020   IMACUOW if you do decide to run it. ASUMUOW is used to
               create the ASUMUOW observations for each UOW in an MRO
               by combining the CICSTRAN observations from TOR/AOR/DOR
               so you have the valid TRANNAME for the CSMI transactions.
               If there is little use of MRO, then it is not worth the
               CPU expense. And if there is MRO usage, you need to chose
               CASE1 or CASE2 for your IMACUOW tailoring.

Change 38.165   Error "Attempt to open two sequential members" if PDBOUT
READDB2         is on tape (which we DO NOT RECOMMEND) and ACCTSORT=NO
Sep 30, 2020    is specified with READDB2.  A circumvention that creates
                only the below account datasets is to use TYPSDB2:
                  %cleardb2;
                  %let mackeep=%quote(
                   macro _sdb2acp data _lDb2acp; set _wdb2acp; %
                   macro _sdb2acr data _lDb2acr; set _wdb2acr; %
                   macro _sdb2acg data _lDb2acg; set _wdb2acg; %
                   macro _sdb2acw data _lDb2acw; set _wdb2acw; %
                   macro _sdb2pat data _lDb2pat; set _wdb2pat; %
                   );
                   %include sourclib(typsdb2);
                But if your READDB2 did selection (like SSID), that PDB
                could have a lot more observations, and any other IFCID
                in the original READDB2 would not be created.
                An alternative is to use READDB2 but point PDBOUT to a
                temporary disk data library, and then PROC COPY to the
                tape data library, so all selections are supported.
                But the temp disk data library could be quite large,
                and might require multi-volumes.

Change 38.164  Support for APAR PH03207 for DFSORT ZSORT statistics that
FORMATS        are added to TYPE16 dataset:
VMAC16           ICECOLLK ='ACTIVE*COLLKEY*VALUE'
Sep 29, 2020     ICETCBT  ='TOTAL*TCB*TIME'
                 ICEFLBY5 ='ZSORT*WAS*USED?'
                 ICEZSRNU ='ZSORT*NON*USAGE*CODE'
                 ICEZSFLG ='ZSORT*FLAGS'
                 ICEZSPH1 ='ZSORT*PH1*ELAPSED'
                 ICEZSPH3 ='ZSORT*PH3*ELAPSED'
                 ICESSTC1 ='ZSORT*PH1*TCB TIME'
                 ICESSTC3 ='ZSORT*PH3*TCB TIME'
                 ICEZSDIA ='ZSORT*DIAGNOSTIC*AREA'
                 ICEZSDIV ='ZSORT*DIAGNOSTIC*VERSION'
               Note: you must specify DFSORT parameter SMF=FULL to
                     populate these ZSORT variables (Not SHORT).
   Thanks to Sri H Kolusu, IBM DFSORT, USA.

====== CHANGES THRU 38.163 ARE  IN MXG 38.08 DATED Sep 28, 2020 ========

Change 38.163  Support for APAR OA59813 which adds RECOVERY BOOST so new
VMAC30         value BOOSTCLASS='RECO' is added to IPL or SHUT values.
VMAC7072
VMAC89
VMAC90A
VMAC99
Sep 23, 2020

Change 38.162  Datasets ZRBCHP and ZRBSCM had zero observations because
VMACRMFV       the test for valid length needed -1 subtracted
Sep 22, 2020

Change 38.161  Macro always looked for PDB rather than the value of
PDBAUDIT       PDBAUDIT as it should have. Now it looks for PDBAUDIT and
Sep 21, 2020   if not found on zOS looks in EXTFILES and issues a
               LIBNAME statement and if that is successful starts over.
               On z/OS, if not successful, or if the LIBNAME's engine is
               sequential, or on ASCII, if the LIBNAME is not found,
               PDBAUDIT is set to WORK.
   Thanks to MP Welch, Bank of America, USA.
   Thanks to Randy Hewitt, DXC Technology, USA.

CHANGE 38.160  Initial support for dataset DB2NETZA new variables:
VMACDB2          Q8STTMUD='MEMORY*AVAILABLE*USER DATA*MB'
Sep 18, 2020     Q8STTMPS='MEMORY*AVAILABLE*FOR SQL REQ*MB'
                 Q8STCQLS='CURRENT*QUEUE*LENGTH'
                 Q8STOFLW='SORT*OVERFLOWS*IN*BACKEND8'
                 Q8STABHR='ACCELERATOR*BUFFER*HIT*RATIO'
                 Q8STANUI='INBOUND*TRANSFER*RATE*KB/SEC'
                 Q8STANUO='OUTBOUND*TRANSFER*RATE*KB/SEC'
                 Q8STSA  ='DISK SPACE*TEMPORARY*DATA*MB'
                 Q8STLSA ='DISK SPACE*LOG DATA*MB'
                 Q8STTDPS='SUCCESSFUL*QUERY*REQUESTS*THIS DB2'
                 Q8STEDPS='QUERY*REQUESTS*EXPIRED*THIS DB2'
                 Q8STTDPA='SUCCESSFUL*QUERY*REQUESTS*ALL DB2'
                 Q8STEDPA='QUERY*REQUESTS*EXPIRED*ALL DB2'
                 Q8STVLCS='REPLICATION*VELOCITY*LOG SEC*PERSEC'
                 Q8STLRCP='CPU TIME*INTEGRATED*SYNC'
                 Q8STLRZI='ZIIP TIME*INTEGRATED*SYNC'
                 Q8STZRZE='ZIIP TIME*ELIGIBLE'
               Please contact support@mxg.com before using, because only
               test data with one record was available, so the fields
               that are accumulated could not be identified/validated.
               This update was NOT in MXG 38.08/09/10, need test data.

CHANGE 38.159  MXG 38.07 only, 180 Syntax Error citing SP_NOBS=&NOBS,
VMXGPRAL       due to an incorrect and undocumented &VARLST change.
Sep 16, 2020
   Thanks to MP Welch, Bank of America, USA.

CHANGE 38.158  Format $MGSMFID didn't map SMF 119 subtypes 11, 12, 81,
FORMATS        and 101-104, but those records were already supported in
Sep 16, 2020   VMAC119, although 101-104 subtypes are not written and
               are only available thru an API.
   Thanks to MP Welch, Bank of America, USA.

CHANGE 38.157  OUTFILE= defaults to BUILDMXG though the more common
UTILBLDP       usage is INSTREAM and INSTREAM exists in all of the MXG
Sep 14, 2020   PROCs and AUTOEXECs. But if you fail to specify an
               OUTFILE or the one you specified does not exist your job
               would fail with FILE NOT FOUND errors. Now it is detected
               and tells you what the problem was but it will still
               ABEND and cause errors in your job.
   Thanks to Arnold Kim, UPS, USA.
   Thanks to George Carlquist, UPS, USA

Change 38.156  Dataset tokens for datasets TYP11924 and TYP11945 were
VMAC119        not in the _N119 list of all datasets.
Sep 14, 2020

Change 38.155  Debugging Option DKROCOND=WARN found many non-references
ANALDB2R       that were typo's and did cause some variables to not be
IMACICVH       kept,  This was a long time on my to-do-list, now done.
IMACICWV      -VMAC71 DELTATM is not created in WORK.TYPE71 but is added
UTILEXCL       in the _S71 Sort Step, removed from KEEP= list for WORK.
VMAC110       -VMACCMFV variables starting with PRRE_G  in CMFV82.
VMAC116       -VMACMVAO variables HHMM and YYYYMMDD were typos.
VMAC120       -VMAC85 R850SUB was spelled R50SUB.
VMAC71        -VMAC89 variable PRODMOD was spelled PROCMOD.
VMAC85        -VMAC92 variable SMF92DTY in TYPE9217, typo, not kept.
VMAC89        -VMAC99 typos in S99EEHMxx, S99SLET, S99CVCM in TYPE99SL.
VMAC92        -VMAC110 variable SSMVSSTM typo for SMMVSSTM, now kept.
VMAC99        -VMAC110 WBJCNRPL typo in CICSTRAN.
VMACCMFV      -IMACICVH was not in PRODTEST with comment removed.
VMACMVAO      -IMACICWV still had comment block in PRODTEST.
VMXGUOW       -UTILEXCL variable SSMVSSTM typo for SMMVSSTM, now kept.
Sep 13, 2020  -VMAC110 variable MNGAPPLS typo for MNGAPPNS, now kept.
VMAC112       -VMAC110 SORTCPIPSMAXPERSIST underscores removed.
VMACWSF       -VMAC110 IMSTM NRIMS removed from KEEP.
VMACCTCP      -VMAC112 T112JOB replaced OMCIJOB, T112NUMB/OBJTYPE gone.
              -VMAC116 WTSAWQCT typo for WTASWQCT.
              -VMAC120 GMTOFFDOM typo for SM120GMT.
              -ANALDB2R Variable QWHSSSID not on S102S083.
              -VMXGUOW  SPURIOUS WARNs are printed if MXGEXIMSG=YES.
              -VMACWSF  ACCCHOST typo ACCHOS, S1ODS typo ACCS1ODS.
              -VMACCTCP CTCP32CA/B/C/D gone, CTCPSUBS typo SUBSYS.

Change 38.154  Labels for variables D06xxxxx in VMACIMS and GAVxxxxx in
VMAC99         VMAC99 had unbalanced quotes, which cause no error but
VMACIMS        labels were not correct.
Sep 11, 2020

Change 38.153  Syntax revisions to prevent spurious log messages about
ASUMPRTR       ancient DATETIME syntax.
TRNDPRTR
Sep 11, 2020
   Thanks to Wayne Bell, UNIGROUP, USA.

Change 38.152  Support for APARs OA58729/OA58724 which added these new
VMAC74         Resource Monopoly fields in dataset TYPE74ST subtype 4:
Sep 11, 2020     R744SMRC='REQUESTS*DELAYED*MONOPOLY'
                 R744SMTM='SUMMED*QUEUE*TIME*FOR*MONOPOLY'
                 R744SMSQ='SUMMED*SQ OF*QUEUE TIME*MONOPOLY'
                 R744SMTO='OPS*QUEUED*MONOPOLY*AVOID'
                 R744SMHT='HI OPS*QUEUED*MONOPOLY*AVOID'
                 R744SMMN='MIN OPS*QUEUED*MONOPOLY*AVOID'
                 R744SMMX='MAX OPS*QUEUED*MONOPOLY*AVOID'
                 R744SMHN='MIN HI OPS*QUEUED*MONOPOLY*AVOID'
                 R744SMHX='MAX HI OPS*QUEUED*MONOPOLY*AVOID'
   Thanks to Kurt Gramling, T-SYS, USA.

Change 38.151  Unused Change Number.

Change 38.150  If you did not have a //IPHOSTS  or FILENAME IPHOSTS,
ANAL119        errors including divide by zero occurred.  Now, if it
Sep  6, 2020   doesn't exist, an MXGWARN message is printed and the
               processing continues creating the zero obs dataset.

Change 38.149  TYPE113 SM113TM was not an interval time and this would
ANALSIIS       only occasionally match to SMFINTRV records. Now a new
Sep  6, 2020   interval TIMESTMP is calculated. SYNC59=YES added to the
               parameter list.
   Thanks to Pierre Pascal Joulin, SocGen, FRANCE.

Change 38.148  VMXGSUM calls were added to prevent errors or warnings
VMXGSUM        when deleting work files that do not always exist.
Sep 10, 2020

Change 38.147  ACCTSORT=NO was not suppressing SORTS and caused
READDB2        accounting datasets to be sorted to output libname
Sep 12, 2020   instead of being directly written to libname when
               PDBOUT=libname, and any redirects of output (eg.
               DB2ACCTP to libname DB2ACCTP) were not honored.
              -IFCIDS=DB2GBPAT was not recognized; now is.

Change 38.146  After _N7072, MACRO _WTY70 TYPE70 % was added.
SAGANAL
Sep  4, 2020

Change 38.145  If you are rolling up interval data and specify an
VMXGDUR        interval LT the actual duration in the data the results
Sep 10, 2020   may not be what is expected. VMXGDUR now detects this
               when the input data contains a DURATM variable and puts
               an MXGNOTE on the log.

Change 38.144  Line 55 had "SAAV" text that was accidentally found in
TESTIBM2       MXG 38.05-38.07.
Aug 31, 2020
   Thanks to Altino Pimentel, Express-Scrips, USA.

Change 38.143 -Variable CFISCVER in ZRBSCM is replaced by CFISCVERCH as
VMACRMFV       that variable should have been input as $CHAR8, but was
Aug 28,2020    incorrectly INPUT as a datetime, and name must be changed
               to prevent errors if merging old and new ZRBSCM.
              -Variables CFISCMAX,CFISCFAU,CFISCIAU,CFISIUS were not
               multiplied by 4096 to store bytes instead of KB.

Change 38.142 -When creating PDB.ASUMCELP and PDB.ASUMCEC datasets with
ASUM70PR       CECINTRV=HOUR, from PDB.TYPE70/PDB.TYPE70PR with QTRHOUR
ASUM70WK       intervals, the ASUMCELP/ASUMCEC has 23 valid hourly obs,
VMXG70PR       with two additional obs, one from the last interval of
Aug 25, 2020   yesterdaq with (DURATM 15 min) and one from the last hour
               of today (DURATM 45 min). To report only full hours, you
               can select obs with IF DURATM GT 3400; in your reports.
              -This new ASUM70WK program reads your WEEK.TYPE70/70PR to
               create two weekly hourly WEEK.ASUMCEHR and WEEK.ASUMLPHR
               (like CEC/CELP) with all intervals one hour.  The two
               partial intervals are not output, but they are from the
               SMFDUMP time on the weekends and presumably unimportant.
              -Enhancements were needed in VMXG70PR.
               -The PDB= argument for the libname of input datasets was
                incorrectly ignored, and the &PTY70 and &PTY7072 tokens
                were used.  Now it will be used, but VMXG70PR checks for
                the existence of TYPE70 & TYPE70PR if PDB= is nonblank,
                and terminates if either has zero obs or isn't there.
               -New PDBOUT= argument names the output LIBNAME for the
                two new datasets, if argument is non-blank.
               -OUTCODE70PR= Your SAS code that will let you control
                what observations are output to ASUM70PR.
               -OUTCODE70LP= Your SAS code that will let you control
                what observations are output to ASUM70LP.
               -OUTCODECEC = Your SAS code that will let you control
                what observations are output to ASUMCEC/ASUMCEHR
               -OUTCODECELP= Your SAS code that will let you control
                what observations are output to ASUMCELP/ASUMLPHR
               -OUTCODE70GL= Your SAS code that will let you control
                what observations are output to ASUM70GL.
               -OUTCODE70GC= Your SAS code that will let you control
                what observations are output to ASUM70GC.

              -The ASUM70WK defaults to PDB=WEEK, PDBOUT=WEEK, and
                the two OUTCODEs use IF DURATM GT 3400; to only create
                full hourly data for the week.

                 %VMXG70PR (PDB=WEEK,INTERVAL=QTRHOUR,CECINTRV=HOUR,
                            OUT70LP=WEEK.ASUMLPHR,
                            OUTCODE70PR=IF DURATM GT 3400;,
                            OUTCELP=WEEK.ASUMCEHR,
                            OUTCODECELP=IF DURATM GT 3400;,
                            OUTCEC=_NULL_,
                            OUT70PR=_NULL_,
                            OUT70GL=_NULL_,
                            OUT70GC=_NULL_
               );

====== CHANGES THRU 38.141 ARE  IN MXG 38.07 DATED Aug 22, 2020 ========

Change 38.141 -Processing CICS Statistics records in BUILDPDB can be
EXCICLDR       very CPU/Elasped intensive for very little daily value.
EXCICSDR       The SMF 110 Subtype 2 records are tactical data for the
EXCICSMD       resolution of CICS problems, which happen so rarely that
EXCICSMT       it would be better to only process them with TYPS110-2 if
EXCICTCR       and when your CICS folks actually have need of that data.
EXCICXMR       IBM CICINTRV dataset default 3 hour interval is also not
SCICSORT       much use for tactical analysis.  To suppress processing
VMXGCICI       of the statistics records in BUILDPDB/TYPE110
Aug 21, 2020   you can insert this at the top of your //SYSIN
Aug 21, 2020     %LET MACFILE=
                   %QUOTE( IF ID=110 AND SUBTYPE=2 THEN DELETE;);
               With UTILBLDP, SUPPRESS=CICSSTAT will suppress sorts and
               CICINTRV and all of the Statistics datasets will have
               obs so they take no space, but will exist so subsequent
               reports won't fail.
               And if you ONLY want CICSTRAN with no other account nor
               statistics datasets, add this and the MACFILE to SYSIN.
                 %LET MACKEEP= %QUOTE
                  (_N110 _S110 MACRO _WCICTRN CICSTRAN.CICSTRAN % );
                 %INCLUDE SOURCLIB(TYPE110);

               (and always have a blank between percent and paren).
              -For sites that do use those data, there are large counts
               of observations created during intervals of no activity
               that increased CPU, elapsed time and disk space needed.
               For example CICXMR created 1,173,518 obs in WORK.CICXMR
               but only 4061 obs were output in PDB.CICXMR.  With this
               change, these seven datasets are only output in WORK if
               there was activity: FCR LDR SDR SMD SMT TCR XMR, but that
               test can be tailored to create all obs in the EXCICxxx.
              -%INCLUDE SOURCLIB(UCICSCNT) will report how many obs were
               written to SMF and not output for each STID. MXG member
               IMAC110 documents the CICxxxxx dataset for each STID.
              -This change significantly reduced the CPU and elapsed
               time for a 5GB SMF file with lots of "idle" hours, with
               lots of regions, ET from 17:24 to 6:21, CPU 517 to 258.
               There were 104 Regions and the data was from a Monday.

   Thanks to Vijay Singh, IBM, NEW ZEALAND.

Change 38.140  Variable CMM, CMM BALOON is added to XMUCDSYS dataset.
VMACXAM
Aug 20, 2020
   Thanks to Raymond J. Smith, OPTUM, USA.

Change 38.139  Change 38.037, in MXG 38.02 MQMQUEUE these variables
VMAC116        QWHCNID  QWHCOPID QWHCTASK QWHCTNO  QWHCTRN
Aug 17, 2020   were in the Change text, but were dropped from the KEEP
               list; the KEEP list now includes them.
   Thanks to Pietro Rosella, Canadian National Railway, CANADA.

Change 38.138  Unused Change Number

Change 38.137  Support for APAR OA57466 which adds variables to TYPE26J2
VMAC26J2         SMF26BYU='TOTAL JOB*UNCOMPRESSED*BYTES'
Aug 15, 2020     SMF26BYC='TOTAL JOB*COMPRESSED*BYTES'
                 SMF26CCT='COMPRESSED*DATASETS'
                 SMF26ECT='ENCRYPTED*DATASETS'

Change 38.136  If you rerouted CICXMG to PDB all sorts of strangeness
VMXGCICI       occurred since VMXGCICI was looking for CICXMR rather
Aug 13, 2020   than CICXMG.
   Thanks to Nilton de Oliveira Mello Junior, IBM, Brazil.

Change 38.135 -Change 38.128 wasn't released, but a severe error message
ASMRMFV          RMFV016S >>>SEVERE:  RMF III TABLE ID MISMATCH -
Aug 13, 2020     EXPECTED: CPUG3  ACTUAL: CPUG3 (C3D7E4C7F3X)<<<
               incorrectly appears.  A table id validation test branch
               was incorrect.

Change 38.134 -Example added to output ALL Service/Report Classes even
ASUMMIPS       those with CPUTM=0, which are not normally output.
Aug 11, 2020
   Thanks to Nestor D Rossi, BANCOGALICiA, ARGENTINA.

Change 38.133 -Support for IMS LOG Record 67D0 Subtype 6 creates new
BUILDIMS       dataset IMS67D006.
EX67D006      -BUILDIMS requires REPORT=YES (to avoid a MAJOR rewrite)
IMACIMS        so it is now always forced.
VMACIMS
VMXGINIT
Aug 14, 2020
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 38.132  DCOLLECT ABEND B37 (SPACE). New UNIX fields were added in
EXDCOBKU       Change 38.102 (MXG 38.05), adding 1231 bytes to each obs,
IMACDCOL       in DCOLBKUP, Unix or Not.  The variables are now removed
VMACDCOL       from DCOLBKUP and new DCOLBKUU dataset is now created for
VMXGINIT       Unix dataset information.
Aug  7,2020
   Thanks to Bill Davis, Transamerica, USA.

Change 38.131  Unused Change Number

Change 38.130  Support for Thruput Manager IZWS fields.
VMACTPMX
Aug  5, 2020
   Thanks to Kurt Gramling, T-SYS, USA.

Change 38.129 -Writing SMF with SYNC=59 has NEVER BEEN RECOMMENDED, it
VMXG70PR       was required with MICS, and while MXG summarization can
Jul 30, 2020   take it into account, there is intrinsic inaccuracy as
Aug 13, 2020   only SYNC=0 will provide exact 00,15:30:45 intervals.
               The hourly summarization in VMXG70PR forces those exact
               interval start to the exact value, but other RMF datasets
               will still have 59:14:29:44 starts.  This change creates
               the new OUTCODE70PR argument for VMXG70PR, which you can
               add in your ASUM70PR member's invocation of VMXG70PR:
                 %VMXG70PR (PDB=PDB,INTERVAL=QTRHOUR,CECINTRV=HOUR,
                      OUTCODE70PR= STARTIME=STARTIME-60;
                                   SMF70GIE=SMF70GIE-60;);
              -A blank TITLE was added at the end to prevent carry.

   Thanks to Linda Berkeley, DISA Mainframe, USA.

Change 38.128 -ASMRMFV Field Data Filter (FDF) support for the RMF III
ADOCRMFV       XCF Activity Data Table (XCFG3) and an IMPORTANT FDF FIX.
ASMRMFV       -The Field Data Filter (FDF) feature of RMF III was added
Jul 30, 2020   in MXG Change 37.089 and allows you to filter raw RMF
               reducing the size of the created RMFBSAM file. You can
               filter table entries based on one or more numeric and/or
               character fields, and is intended for advanced MXG users
               building ad hoc data collection of RMF III data.
              -ASMRMFV FDF can fail to correctly translate X'00'
               characters to X'40' blank characters for RMF III field
               names in FDF expressions that can contain nulls. This can
               cause filter comparisons to be FALSE instead of TRUE.
              -The example JCLRMFV/JCLCRMFV/JCLDRMFV members have been
               integrated into Sections 48, 49, 50 in ADOCRMFV, with new
               FDF examples; the old members are pointers to ADOCRMFV.
              -  J is now an alias for SCM table selection.
              - -J is now an alias for SCM table exclusion.
              -See Change 38.135 correction; 38.128 was never released.
              -Following updated or added in the ADOCRMFV documentation
               member:

               Section     Contents
               -------     -------------------------------
                  0        Contents
                  2        Terminology
                  3        Execution JCL
                  5        Input Data Selection Parameters
                 32        Filtering The ASIG3 Table
                 33        Filtering The CPDG3 Table
                 34        Filtering The CSRG3 Table
                 35        Filtering The DSIG3 Table
                 36        Filtering The DVTG3 Table
                 37        Filtering The ENCG3 Table
                 38        Filtering The ENTG3 Table
                 39        Filtering The GEIG3 Table
                 40        Filtering The OPDG3 Table
                 41        Filtering The PCIG3 Table
                 42        Filtering The SCMG3 Table
                 43        Filtering The SPGG3 Table
                 44        Filtering The SSHG3 Table
                 45        Filtering The XCFG3 Table
                 46        Filtering The ZFXG3 Table
                 47        ASMRMFV Execution and Methods Overview
                 48        PDB Build Examples With Direct JCL Method
                 49        PDB Build Examples With TSO Clist Method
                 50        PDB Build Examples With Dynamic Method
                 51        Summary

              -TUTORIAL:
               This level of ASMRMFV introduces the concept of
               Independent Data Sections when using FDF.

               An Independent Section is an ASMRMFV term for a RMF III
               data section containing data unrelated to other sections
               in the same RMF Monitor III table. Examples of this are
               the Group Data, Path Data, and System Data Sections of
               the XCFG3 table.

               ASMRMFV does not support logical FDF ANDing of filters
               from two different Independent Sections because the data
               is not logically related.

               ASMRMFV FDF processes each Independent Section
               separately. If ANDIF= expressions for 2 fields in two
               different Independent Sections occur FDF will bypass any
               IF expressions for fields not contained in the section
               being currently processed.

               Data dictionary sections in ADOCRMFV for tables now
               identify the Section when Independent Sections are
               applicable an RMF III table.

Change 38.127  Using ANAL119 with PDB=SMF without a PDBOUT=, 0 OBS were
ANAL119        found for the FTP report.  Now if PDBOUT= is null PDB is
Jul 30, 2020   set to &MXGWORK.
   Thanks to Jennifer D. Ayers, West Virginia Government, USA.

Change 38.126  When SMF Logger outputs sysplex data for multiple systems
VMAC7072       records are interleaved, so it is no longer possible to
VMXGINIT       retain TYPE70 variables like CECSER/CPCMODEL from the 70
Jul 29, 2020   into the TYPE72GO dataset, where they are frequently
               missing values.  This change revises the _STY72GO dataset
               sort macro to sort and merge the two datasets to populate
               CECSER and CPCMODEL whenever possible (if a 70 ends an
               SMF dataset, the subsequent 72 read tomorrow won't have a
               matching 70 even with the new sorting logic).
              -All of the 7072 processing programs that sort and create
               PDB datasets, like BUILDPDB/BLDSMPDB/UTILBLDP/TYPS7072
               already invoke the _STY72GO macro so this change will be
               transparent.  However, if you use only TYPE7072 to write
               only to //WORK, you will need to use this syntax to sort
               and create the correctly populated TYPE72GO dataset:
                  %INCLUDE SOURCLIB(TYPE7072);
                  %LET PTY70=WORK;
                  %LET PTY72GO=WORK;
                  _STY72GO;
                  RUN;
              -And new macro variable &SSTY72GO is added in _STY72GO so
               you can insert code to create new variables from the
               CECSER/CPCMODEL variables into your TYPE72GO dataset.
   Thanks to Kurt Gramling, T-SYS, USA.

Change 38.125  Change 38.117 test for QLSTVRSN='000001' was changed to
VMACDB2        'F0F0F0F0F0F1'x to detect new data on EBCDIC or ASCII.
VMAC102
Jul 26, 2020

Change 38.124 -RMF III datasets ZRBXCG, ZRBXCP and ZRBXCS had many dupes
VMACRMFV       because the offset was not updated and so only the first
Jul 26, 2020   segment was read and re-read and output XCFxDATN times.
Jul 30, 2020   Caused incorrect ZRBXCG INVALID TRIPLET messages.
              -Dataset ZRBZFS variable ZFX_FS_AGGRREADKBYTES corrected.

====== CHANGES THRU 38.123 WERE IN MXG 38.06 DATED Jul 25, 2020 ========

Change 38.123  Change 38.121 overlooked one dataset causing the refresh
VMXGCICI       on Saturday morning.
Jul 25, 2020

Change 38.122  Some CICS Statistics datasets (CICxxxxx) were incorrectly
VMAC110        sorted because the %INCLUDE SOURCLIB(SCICSORT) statement
Jul 25, 2020   was accidentally deleted.

Change 38.121  If you tailored CICS statistics datasets and some were in
VMXGCICI       WORK and some were in PDB, a dataset not found error due
Jul 25, 2020   to MXG expecting all in one place.  Individual locations
               now are tested, and the sorts commented out.

====== CHANGES THRU 38.120 WERE IN MXG 38.06 DATED Jul 24, 2020 ========

Change 38.120  Variables decoded from SMF30SLM weren't kept in SMFINTRV:
VMAC30          SMF30SLMRB SMF30SLMRA SMF30SLMSB SMF30SLMSA SMF30SLMML
Jul 24, 2020    SMF30SLMBY
   Thanks to Randy Hewitt, DXC Technology

Change 38.119  Type 92 subtype 16 records are the same as subtype 11 so
VMAC92         both subtypes are now output in TYPE9211 and SMF92STP is
Jul 23, 2020   kept to identity which subtype was output.
   Thanks to Nathan Lowenthal, CITIGROUP, USA.

Change 38.118 -ASMRMFV FDF message RMFV088I can be incorrectly formatted
ASMRMFV        showing the hex value of a number in an IF expression
JCLASM3        as zeros.  Processing is not impacted.  The message only
Jul 21, 2020   appears when FDF is used.
              -After Change 38.082 to reduce SYSOUT output from an
               ASMRMFV assembly condition code 0002 can occur after an
               assembly. The XREF(SHORT) option in the JCLASM3 sample
               member is no longer required. ASMRMFV will override this
               value to NOXREF, so no JCL change is required.
   Thanks to Randy Hewitt, DXC Technology

Change 38.117  Support for DB2 APAR PH16111 adds location variables to
VMACDB2        the QLST segment,in IFCID 365 in dataset T102S365 and in
VMAC102        SMF 100 Subtype 1 datasets DB2STAT0/DB2STATS/DB2STATR.
Jul 21, 2020
   Thanks to Harald Seifert, Huk-Coberg, GERMANY.

Change 38.116  Support for BMC Mainview for CICS Version 7.1 (COMPAT).
VMACMVCI      -New variables in dataset CMRDETL:
Jul 20, 2020     T6EXSVPT='TOTAL*PASSWORD*VERIFY*TIME'
                 T6EXSVPN='TOTAL*PASSWORD*VERIFY*COUNT'
                 T6EXSVPF='TOTAL*PASSWORD*VERIFY*FLAG'
                 T6EXSVBT='TOTAL*BASIC AUTH*VERIFY*TIME'
                 T6EXSVBN='TOTAL*BASIC AUTH*VERIFY*COUNT'
                 T6EXSVBF='TOTAL*BASIC AUTH*VERIFY*FLAG'
                 T6EXSVKT='TOTAL*KERBEROS*VERIFY*TIME'
                 T6EXSVKN='TOTAL*KERBEROS*VERIFY*COUNT'
                 T6EXSVKF='TOTAL*KERBEROS*VERIFY*FLAG'
                 T6EXSVJT='TOTAL*JSON JWT*VERIFY*TIME'
                 T6EXSVJN='TOTAL*JSON JWT*VERIFY*COUNT'
                 T6EXSVJF='TOTAL*JSON JWT*VERIFY*FLAG'
                 T6ESMMWT='TOTAL*Z/OS SOS*WAIT*TIME'
                 T6ESMMWN='TOTAL*Z/OS SOS*WAIT*COUNT'
                 T6ESMMWF='TOTAL*Z/OS SOS*WAIT*FLAG'
              -Complete revision of MXG Code for CMRFPROG.
                 T6EPGTELCN='PROGRAM*ELAPSED*COUNT'
                 T6EPGTELTM='PROGRAM*ELAPSED*TIME'
                 T6EPGCNT='PROGRAM*SUMMARIZATION=1'
                 T6EPGNM ='PROGRAM*NAME1'

Change 38.115  Support for Optional CICS Field HUMTRAN with multiple
UTILEXCL       INPUT lengths of $16 and $24. The length of variable
VMAC110        HUMTRAN is $24.
VMXGINIT
Jul 16, 2020

Change 38.114  New CICS datasets SMF 110 Subtype 1 MNSEGCL=5 Resource
EXCICRDU       class datasets:
EXCICRDW         DDDDD  Dataset   Description
IMAC110          CICRDU CICSRDUR  URIMAP Resource
VMAC110          CICRDW CICSRDWB  WEBSVC Resource
VMXGINIT
Jul 16, 2020

Change 38.113  SMF records that EXCLUDE ABCODEC, field 114, have a four
UTILEXCL       byte misalignment when UTILEXCL is used, so this change
VMXGINIT       created macro variable MXGCICSABCODELN which could be set
Jul 15, 2020   in UTILEXCL SYSIN to 4 to change INPUT ABCIDEO $EBCDIC8.
Jul 26, 2023   to EBCDIC4. But this change was replaced by Change 41.063
               which detects the EXCLUDE for you and creates the correct
               INPUT ABCODE $EBCDIC4. statement.
   Thanks to Bradley Leis, TELUS, CANADA.

====== CHANGES THRU 38.112 WERE IN MXG 38.05 DATED Jul 15, 2020 ========

Change 38.112  Support for DFSMS APAR OA59510 OA59830 collects UNIX file
VMACDCOL       Backup information in DCOLLECT, new DCOLBKUP variables
Jul 14, 2020     UBUNIX ='UNIX*FILE*BACKUP?'
                 UBUNIXDIR='UNIX*FILE OR*DIRECTORY?'
                 UBENCRYPTA='DATASET*ENCRYPTION'
                 UBENCRPT='ENCRYPTION*TYPE*0100-AES256*FFFF-NO'
                 UBENCRPL='ENCRYPTION*KEY*LABEL'
                 UBPATHL='LENGTH*OF THE*FILENAME'
                 UBUPATHN='UNIX*PATH*NAME'

Change 38.111  TYPE1415 Space Allocation Unit is set to SPACE='AVG' for
VMAC1415       AVGREC when JFCBCTRI='90'x and based on values in SMF
Jul 13, 2020   that matches the job's JCL. Previously these records had
               SPACE='TRK' because the '80'x bit was detected.
   Thanks to Bruce Sloss, PNC, USA.
   Thanks to Walt Unterbrink, PNC, USA.

Change 38.110 -38.05 Early Adopter, test IF LENPDGS GE 2296 in line 2094
VMAC71         should be IF LENPDGS GE 2440. This could cause a STOPOVER
Jul 12, 2020   INPUT EXCEEDED RECORD LENGTH error.

Change 38.109 -38.05 Early Adopter, period missing in VMAC98 line 876.
VMAC98         Should be $CHAR16. (with the period).
Jul 12, 2020

Change 38.108 -RMF III dataset ZRBENC PROC SORT removed more duplicates
VMACRMFV       than intended; the _BZRBENC sort list needed the two
Jul 16, 2020   added variables at the end:
               MACRO _BZRBENC SYSPLEX SYSTEM SSHTIBEG EDEUSER ENCTOKEN%
              -Variable SSHGOSYN='GATHERER*SYNC*OPTION?' is added to all
               datasets.
              -Data sets ZRBXCG, XRBXCP, ZRBSCS have added variables
                SSHRMFVN SSHSMPNR
                XCFVER  XCFSID  XCFPART  XCFREL XCFSYSN CSFSTAT XCFESTAT
   Thanks to Kurt Gramling, TSYS, USA.

Change 38.107  Some macro variables were unresolved because they needed
ANAL119        to %GLOBALed.
Jul 11, 2020
   Thanks to Jennifer D. Ayers, West Virginia Government, USA.

TECHNOTE - z/OS ONLY
Jul  8, 2020
          The PDB library written by BUILDPDB CAN'T BE ON TAPE, neither
          REAL TAPE or VIRTUAL TAPE or V9SEQ libraries on DASD.
          We have NEVER recommended the PDB be written directly to TAPE
          because BUILDPDB reads and writes to and from //PDB, multiple
          times, and since sequential datasets have no directory, each
          action requires a rewind to the beginning of the dataset and a
          read until it finds the desired dataset, increasing run time.
          And PROC DATASETS fails with ERROR: Proc Datasets is not able
          to process a sequential library. Consider using PROC CONTENTS
          or PROC COPY instead.

          If you want your PDB on TAPE, point //PDB to Temporary DASD,
          then PROC COPY to TAPE dataset at the end.

          The more insidious issue is the potential for lost data.
          Assume that you want to create a SAS data library with
          datasets A B C D and then find that you need to rewrite
          dataset B to add a variable. You can do it but you would then
          lose datasets C and D PERMANENTLY. If you try to access them
          you will get a DATASET x NOT FOUND error.

          SAS Technical Support documentation for sequential libraries:
          Due to the nature of sequential devices, SAS allows only two
          types of operations with members of a sequential bound
          library:
           -reading an existing member and writing a new copy
           -writing a new copy of a member to the library.
          The following types of operations are not
          supported for sequential access bound libraries.
           -Having multiple members in the library open at same time
           -Updating the contents or attributes of a member of the
            library
           -Renaming or deleting a member of the library.
           -Using BLKSIZE GT 32760 with SAS 9.4M1 or earlier which did
            not support LBI. Error is ABEND 013 Return E1.
           -PROC DATASETS is not able to process a sequential dataset.
          CAUTION
          SAS deletes all members of a sequential bound library that are
          subsequent to the library member that you replace.
          By default, when writing a member of a sequential bound
          library, SAS scans the entire library from the beginning to
          determine whether a member having the specified name already
          exists in the library. If such a member already exists in the
          library, then the new copy of the member is written starting
          at the position in the library data set where the old copy of
          the member began, and all subsequent members of the library
          are deleted. If the specified member does not already exist in
          the library, it is appended to the end of the library. This
          behavior is not influenced by the REPLACE system option
          because NOREPLACE is not supported by the TAPE engine.

          When the FILEDISP=NEW data set option is specified for a
          member to be written to a sequential access bound library, SAS
          replaces all of the members that previously existed in the
          library, even if they were protected by an ALTER password. The
          ALTER password is not checked even for the member being
          replaced.

          When the COPY procedure is used to write members to a
          sequential access bound library, the rules regarding member
          replacement (discussed in the previous topic) apply only to
          the first member being processed by a COPY statement or PROC
          COPY invocation. All other members involved in the COPY
          operation are appended to the end of the library data even if
          they already exist in the library. Therefore, it is possible
          to cause a library to contain two copies of the member, only
          the first of which is recognized. You should plan all COPY
          operations carefully so that you avoid this outcome.

          Some specialized SAS procedures repeatedly process a group of
          observations that have the same value for a specific variable.
          This situation requires SAS to interrupt its sequential access
          pattern and reposition to a previous location in the library
          data set. However, SAS does not support repositioning to a
          location on a previous volume of a multi-volume tape data set.
          When this situation occurs, SAS issues the following error
          message:

          ERROR: A POINT operation was attempted on sequential library
                 SEQLIB.
          A volume switch has occurred on this library since the last
          NOTE operation, making the POINT results unpredictable.

          Should this situation occur, you can avoid the limitation by
          copying the member to a library on disk.

          When using the LIBNAME statement to dynamically allocate SAS
          libraries on tape, it is not possible to simultaneously
          allocate multiple MVS data sets on the same tape volume.
          Therefore, it is necessary to use the SAS LIBNAME CLEAR
          statement to deassign the library before you attempt to assign
          another MVS data set on the tape.

          The mode in which SAS opens the library data set is primarily
          governed by the type of access that is being performed. When
          reading a member, listing the members in the library, or
          retrieving information about the library, the library data set
          is opened for INPUT. When writing a member, the library data
          set is opened for INOUT (unless DISP=NEW and the data set has
          not been previously opened. In that case, OUTIN is used). SAS
          does not write to a library that is allocated with DISP=SHR or
          LABEL=(,,,IN), issuing an ERROR message instead. Before
          opening the library data set, SAS first checks the RACF
          authorization, but only for libraries that reside on disk, and
          only if NOFILEAUTHDEFER is in effect.
   Thanks to Jill Ackerman, SAS Technical Support, USA.

Change 38.106  Support for APAR OA59330 new variables in TYPE7002:
VMAC7072         R702FPTI='INSTRUCTIONS*TO TRANSLATE*USING FPE'
Jul  7, 2020     R702FXEC='CALLS TO*ENCIPHER*USING*FFX'
                 R702FXEB='BYTES*ENCIPHERED*USING*FFX'
                 R702FXEI='INSTRUCTIONS*TO ENCIPHER*USING*FFX'
                 R702FXDC='CALLS TO*DECIPHER*USING*FFX'
                 R702FXDB='BYTES*DECIPHERED*USING*FFX'
                 R702FXDI='INSTRUCTIONS*TO DECIPHER*USING*FFX'
                 R702FXTC='CALLS TO*TRANSLATE*USING*FFX'
                 R702FXTB='BYTES*TRANSLATEED*USING*FFX'
                 R702FXTI='INSTRUCTIONS*TO TRANSLATE*USING*FFX'
                 R702DQGC='CALLS TO*GENERATE*QSA DIGITAL*SIGNATURE'
                 R702DQVC='CALLS TO*VERIFY*QSA DIGITAL*SIGNATURES'


Change 38.105  Support for May 2020 SMF Manual Changes (still-40).
EXTY9040      -TYPE02 Records
FORMATS        -Subtype 1 new variables in TYPE0201
VMAC0203         SMFGFLG2='RESERVED?'
VMAC25           SMFGFLG2='APAR OA55526*APPLIED?'
VMAC30           SMFGFLG2='SELF*DEFINING*SECTION?'
VMAC42           There is a new Self Defining Section "triplet" for the
VMAC7072         new ARECSIGN section, I need data to decode.
VMAC71         -Subtype 2 new variables in TYPE0201
VMAC89           SMFIFLG24='RESERVED?'
VMAC90A          SMFIFLG25='NOT DOCUMENTED?'
VMAC98           SMFIFLG26='APAR*OA55526*APPLIED'
VMAC99           SMFIFLG27='SELF*DEFINING*SEGMENT?'
VMAC106          There is a new Self Defining Section "triplet" for the
VMXGINIT         new ARECSIGN section, I need data to decode.
Jul  3, 2020  -TYPE 25 SMF Records
               -Label changed for TYPE25 SMF25NTF.
              -TYPE 30 SMF Records
               -ZEDC section
                -z15 changes:
                 SMF30_US_COMPRREQ only counts authorized request
                 SMF30_US_DEF_COMPROUT, INF_DECOMPROUT, DEF_COMPRATIO
                 are now always zero.
               -Variables added to TYPE30_V/_4,_5,_6:
                 BOOSTACTIVE='BOOST*ACTIVE*ZIP*SPEED*BOTH'
                 BOOSTCLASS='BOOST*CLASS*IPL*SHUTDOWN'
              -TYPE 42 Records
                 Variable S42VTUNC count is zero with APAR OA55709.
                 There is no volume metrics section when there are no
                 SSCH instructions for this volume, and no system I/O
                 section when no system I/O to this volume, and no
                 background activity section when there no background
                 activity.
              -TYPE 70 records
               -Subtype 1
                 New variable SMF70CPC_TYPE (8561) to TYPE70 dataset.
               -Subtype 2
                 New FORMATS value 0Dx:CEX7C for R7023CT/R7024CT/R7025CT
                 crypto type in TYPE7002/TYPE70X2/TYPE7Y3 datasets.
              -TYPE 71 SMF Records
                 New variables in TYPE71 dataset:
                 SMF71M6C='MIN FRAMES*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71X6C='MAX FRAMES*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71A6C='AVG FRAMES*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71M6F='MIN FIXED*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71X6F='MAX FIXED*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71A6F='AVG FIXED*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71M6B='MIN 24-BIT*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71X6B='MAX 24-BIT*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71A6B='AVG 24-BIT*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71M6A='MIN AUXSLOTS*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71X6A='MAX AUXSLOTS*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71A6A='AVG AUXSLOTS*BACK*64-BIT*SHARED*PAGE GROUPS'
                 SMF71M6S='MIN SCM BLOCKS*BACK*64-BIT*SHARED*PAGE GROUPS
                 SMF71X6S='MAX SCM BLOCKS*BACK*64-BIT*SHARED*PAGE GROUPS
                 SMF71A6S='AVG SCM BLOCKS*BACK*64-BIT*SHARED*PAGE GROUPS
                 SMF71M6T='MIN 64-BIT*SHARED*PAGE GROUPS'
                 SMF71X6T='MAX 64-BIT*SHARED*PAGE GROUPS'
                 SMF71A6T='AVG 64-BIT*SHARED*PAGE GROUPS'
              -TYPE 72 SMF RECORDS
               -Variables BOOSTACTIVE and BOOSTCLASS added to TYPE72GO.
                (In 70, BOOSTINFO flags partial boost, but there is no
                 field for partial boost in 72).
              -TYPE 89 SMF Records
               -Variables BOOSTACTIVE and BOOSTCLASS added to TYPE89,
                but there are no bits for full boost, only partial.
              -TYPE 90A SMF Records
               - New subtype 40, SET BOOST, creates TYPE9040 dataset.
              -TYPE 98 SMF Records  (Last updated 2017!)
               -Variables added to TYPE9801 dataset:
                  SMF98_CVTLSO= 'LEAP*SECOND*OFFSET'
                  SMF98_ECVTLDTOCH ='ETOD*LOCAL*OFFSET*CHAR'
                  SMF98_ECVTLSOCH  ='ETOD*LEAP*SECOND*OFFSET*CHAR'
               -The Workload Interaction Correlator WICDATA records
                  require more documentation from each exploiter and
                  won't be decoded without actual data records:
                  "These mappings are incomplete and depend on the
                   particular data to be recorded for each exploiter.
                   Use the mapping produced by the subtype holder."
              -TYPE 99 SMF Records
               -Variable added to TYPE99_1 - BOOSTINFO
               -Variables TOD added to TYPE99EH subtype 14.
                 S99EVCMHWLEVEL='HW*LEVEL'
                 S99EEVCMDURRTOD='CURRTOPO_TOD'
               -Await a USER with need+data for new subtypes 9 and 10
                and updates to subtype 12.
              -TYPE 106 SMF Records
               -New FORMAT MG106CT values for SMF6ACTP=CONNECT*TYPE.
              -TYPE 124 SMF Records
               - Await a USER with need+data for new subtypes 2-5.

Change 38.104  Dataset XAMUSR variable USERTYPE='ACCT' is now set if the
VMACXAM        value in the record was A.
Jun 30, 2020
   Thanks to Randy Hewitt, DXC Technology, USA.

Change 38.103 -MXG 38.03/38.04 TYPE7072 fails if PDB is on TAPE, with
E2TY70         ERROR: DATASET PDB.TYPE70PR NOT FOUND (after it had been
VMAC7072       created, and there was no DELETE statement on the log).
Jun 30, 2020  -Changing from TAPE to DASD accidentally circumvents the
               error that was introduced in Change 38.055.
              -But this correction in VMAC7072 is INCOMPATIBLE requiring
               you to see IF YOU HAVE MEMBER E2TY70 in your tailoring
               'USERID.SOURCLIB' library, as you must change _LTY70 to
               _WTY70 in that member.  Fortunately, I doubt any site
               has actually ever used that obscure exit member, and with
               this change, the MXG default is _WTY70.
              -But we have NEVER recommended the PDB library be on
               tape for the BUILDPDB process for several reasons:
                 -tapes have no directory, so the full tape has to be
                  read from the start to find each dataset, and
                 -BUILDPDB has many datasets that are written to and
                  then read from the PDB library, causing many rewinds
                  which increases the job run time.
   Thanks to Silambarasan Shanmugam, IBM, INDIA.

Change 38.102  Support for Thruput Manager TMT7123/TMT7124 JUL 2020.
VMACTPMX       Compatible Changes:
Jun 26, 2020  -New variables in dataset TPM10:
                 TPMCMSTA='TENANT*4HRA*MSU PER*HOUR'
                 TPMCMSTI='TENANT*INT USE*MSU PER HOUR'
              -New variables in dataset TPMSLM
                 TPMSLJF2='MISCELLANEOUS*FLAGS*2'
                 TPMSLJF3='MISCELLANEOUS*FLAGS*3'
                 TPMSLJFM='MISCELLANEOUS*FLAGS*M'
                 These flags are decoded in the comments.
              -See Change 38.132 which creates DCOLBKUU for Unix.

Change 38.101  The TYPE42DS original default display FORMAT TIME13.3 for
VMAC42         duration variables to display milliseconds is changed to
Jun 26, 2020   TIME13.6 to display the full microsecond resolution that
               has been in the stored values for decades (MVS/ESA?).
   Thanks to John Burg, IBM, USA.
   Thanks to Mark Rader, IBM, USA.
   Thanks to Kathleen C McManus, Aetna, USA.

Change 38.100  Support for OAM Cloud Tier
EXTY8500      -New variables in TYPE85AC dataset:
FORMATS          R85INST ='INSTANCE*ID'
IMAC85           R85CLDID='ID OF*ENTRY IN*CLOUDID*PROVIDER'
VMAC85           R85CINST='CLOUD*INSTANCE*ID'
VMXGINIT      -Many new variables added to TYPE85ST:
Jun 23, 2020     R85PEWO  R85PERO  R85PEDO  R85PDWB  R85PDRB  R85PDDB
Aug 14, 2020     R85POWB  R85PORB  R85PODB  R85PTWB  R85PTRB  R85PTDB
                 R85BOWB  R85BORB  R85BODB  R85BTWB  R85BTRB  R85BTDB
                 R85B2OWB R85B2ORB R85B2ODB R85B2TWB R85B2TRB R85B2TDB
                 R85RCLB  R85PUWB  R85PURB  R85PUDB  R85PEWB  R85PERB
                 R85PEDB  R85BOAO  R85B2OAO R85BTAO  R85B2TAO R85BOAB
                 R85B2OAB R85BTAB  R85B2TAB R85PCWB  R85PCRB  R85PCDB
                 R85PCWO  R85PCRO  R85PCDO
              -New variables in TYPE85SO dataset:
                 R85DSL  ='DISK*SUBSYSTEM*RECOVERED*OBJECT'
                 R85TCLID='ID OF*ENTRY IN*CLOUDID*TABLE'
              -New variable  in TYPE85IB dataset:
                 R85SCLID='ID OF*ENTRY IN*CLOUDID*TABLE'
              -New variable  in TYPE85RE dataset:
                 R85CLDID='ID OF*ENTRY IN*CLOUDID*TABLE'
              -New dataset TYPE8500 for new subtypes 100,101,102,103
                 dddddd    dataset   description
                 TY8500    TYPE8500  LCS CLOUD WRITE READ DELETE
                 with new cloud variables
                 R850CID ='ID OF*ENTRY IN*CLOUDID*TABLE'
                 R850SGN ='OBJECT*STORAGE*GROUP*NAME'
                 R850COLN='COLLECTION*NAME'
                 R850OBJN='OBJECT*NAME'
                 R850INST='INSTANCE*ID'
                 R850FLGS='PROCESSING*FLAGS'
                 R850OLEN='OBJECT*LENGTH'
                 R850OOFF='OBJECT*OFFSET'
                 R850LIQT='LCS*INPUT*WORK*QUEUE*TIME'
                 R850LDQT='LCS*DISPATCHER*QUEUE*TIME'
                 R850LEQT='LCS*EXECUTION*QUEUE*TIME'
                 R850LCLT='LCS*CLOUD*ACCESS*TIME'
                 R850RC  ='LCS*RETURN*CODE*TIME'
                 R850RS  ='LCS*REASON*CODE*TIME'
                 and R850SUB identifies the Subtype/Event
   Thanks to Scott Rowe, SSA, USA.

Change 38.099  Sorts of CICS stats sometimes calculated negative DURATM
VMAC110        values for CICS statistics datasets.  We also found that
SCICSORT       some no longer needed to be deaccumulated. The sort order
UTILBLDP       was changed to correct the DURATMs and the DIF logic was
VMXGCICI       removed. In addition, only the records which contained
Jul  3, 2020   activity are now output. VMXGCICI was revised to remove
               sorts and DIFs that were being done and many steps were
               eliminated since it is now a single VMXGSUM execution.
              -The CICLDR dataset was missing obs and incorrectly
               and accidentally had a number of LDGxxxxx variables
               that are now removed.  Note that the new logic will
               only output observations that had activity. For LDR,
               there were 1,098,909 WORK.CICLDR observations but
               only 2982 obs were in PDB.CICLDR that actually had
               any activity.
              -CICFCR dataset now only contains obs with activity,
               with 15195 WORK.CICFCR and only 214 PDB.CICFCR.
              -Protection for new MNSEGCL=5 5th and 6th triplets for
               URIMAP and WEBSVC prevents a STOPOVER, but the two new
               datasets were not created until Change 38.114.

Change 38.098  BMC SMF 74 CMF records variable R744STRC was zero, now
VMAC74         corrected by PTF BQM1658 for 6.1, BQM1659 for 6.2.
Jun 23, 2020   Note that MXG can not process both CMF and RMF records
               in the same SMF Input file.  See Change 38.095.

Change 38.097  Support for APAR OA56684 adds variables in TYPE78IO:
VMAC78          R783GFLX='ALIAS*MANAGEMENT*GROUPS*AVAILABLE?'
Jun 30, 2020    R783GFLX1='EADM*COMPRESSION*FACILITY*AVAILABLE?'
                R783GFLX2='SCM*MEASUREMENT*AVAUILABLE?'
                R783ISCB='TIMES*BUSY*SCM*OPERATIONS'
                R783IECB='TIMES*BUSY*COMPRESS/DECOMPRESS'
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.096  Support for APAR PI98851 adds two variables to DB2STATS:
VMACDB2         QWOSREAL='REAL*STORAGE*ON LPAR*IN MB'
Jun 18, 2020    QWOSFLG1='80X IF*QWOSREAL*IS VALID'
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.095  Variable CMFPROD is now created for all SMF 70-79 records
VMACSMF        and will be RMF or CMF-CPM or CMF-IPM and must be used
Jun 17, 2020   TO SELECT CMF or RMF if BOTH ARE WRITING SMF 70-79 data.
               MXG can NOT correctly process that duplicated data in
               one job.  You would use this logic in //SYSIN:
                 %LET MACFILE= %QUOTE(IF CMFPROD=:'RMF';);  or
                 %LET MACFILE= %QUOTE(IF CMFPROD=:'CMF';);

Change 38.094  SPINCOPY tests for macro variables were UPCASED to
BUILD005       protect for user typing LIBNAME in lower case.
BUIL3005
Jun 15, 2020

Change 38.093  Support for APAR OA59126 which adds two variables to
VMAC30         TYPE30_V,. TYPE30_4, and TYPE30_5 datasets:
Jun 12, 2020     SMF30NRDS='HWM*IN USE*DATA SPACES*DSPSERV'
                 SMF30DSCC='DATA*SPACES*CREATED*PROBLEM*STATE'

Change 38.092  Labels added.
VMACXAM
Jun 12, 2020

Change 38.091  Running MXG on Windows SAS, the Carbon Black AV product
TECHNOTE       (and probably other Anti-Virus programs) caused Errors:
Jun 10, 2020   ERROR: Permanent copy of file Libref.Entity.UTILITY was
               deleted.  SAS Note 41488 notes show these messages:
                 WORK._tf000NN.UTILITY  /*Where NN is a number. */
                 WORK.'SASTMP-000NN'n.UTILITY /*Where NN is a number.*/
                 WORK.ZFMMEM.UTILITY
                 WORK.SASMACR.CATALOG
               and recommends these extensions be excluded:
                 sd7 sc7 sas7bdat sas7butl sas7bput sas7bcat
                 sas7bpgm sas7bndx sas7bvew sas7bacs sas7bmdb
                 sas7bfdb sas7bitm sas7baud sas7bbak sas7bdmd
                 sas7bods
              -ERROR: A lock is not available for WORK.OPTVAR.DATA.
               This is extremely random and can occur anywhere in the
               SAS job. It may also occur with other anti-virus types
               of software as noted in SAS NOTE 36803. SAS suggested
               that the following types of datasets be excluded from
               monitoring.  Disabling Carbon Black resolved the error.
               or updating the Anti-Virus program to exclude these file
               suffixes is recommended by SAS,
                 SASWORK
                 .lck
                 .sd2
                 .sc2
                 .SPDS
                 .sas*
                 .utl
               ERROR: A lock is not available for WORK.OPTVAR.DATA when
               executing MXG on WINDOWS (could be another file name).
               The SAS Support reply:
              -The lock on the file means the file is locked by another
               processes when SAS tries to lock it. That other process
               is often a third party application. SAS opens data sets
               to update them but closes them at the end of the PROC or
               DATA STEP. It is when the data set is closed that the 3rd
               party applications open the files (i.e. lock them) and
               prevent the next PROC or DATA STEP from opening the data
               set. In some cases for a fraction of a second.
              -In most cases, a good workaround is to set FILELOCKWAIT
               at the top of your sasv9.cfg.
              -You can find the location of your sasv9.cfg with
                 PROC OPTIONS OPTION=CONFIG; RUN;
              -How to edit the sasv9.cfg:
               The default SAS configuration file(sasv9.cfg) on Windows
               is almost always protected by User Account Control (UAC)
               because it is in c:\program files. Run notepad (or other
               plain text editor like Notepad++) as an administrator to
               edit the configuration file so that you can save changes.
                -Wikipedia has a good definition of UAC here:
                  http://en.wikipedia.org/wiki/User_Account_Control
                -Click the start circle or go to the start screen so you
                 can search for notepad in white box type notepad to
                 search for it(do not open yet)
                -Right click on notepad|notepad++ and choose "Run as
                 Administrator".
                -In notepad click File | Open.
                -Change the file type you are looking for to all files
                 *.*
                -Browse to the configuration path referenced above and
                 open the sasv9.cfg
                -Make the change and save the sasv9.cfg. (you can leave
                 it open)
                -You do not need to restart your machine and you can do
                 this live on a system. Any SAS session already running
                 will not have the setting but all future SAS sessions
                 will have the setting(s).
                -ONLY USE A PLAIN TEXT EDITOR, DO NOT USE MICROSOFT WORD
                 TO EDIT THE SASV9.CFG
                -After you start a new session of SAS you can check
                 that you have the setting by submitting:
                   PROC OPTIONS OPTION=FILELOCKWAIT;RUN;
              -An alternative: copy sasv9.cfg to another directory, and
               add to your SAS startup command:
                 -config 'newdir\sas.cfg'
   Thanks to Kelly Ballamis, Zions Bancorporation NA, USA.

  BUT TEN YEARS AGO, MXG NEWSLETTER FIFTY-FIVE, Jan 20, 2010 Reported:

  8. Exposure on Windows to FAIL/ABEND with LOCK NOT AVAILABLE ERROR.

     SAS Technical Support confirms that execution of SAS under Windows
     has ALWAYS been exposed to a LOCK NOT AVAILABLE error because any
     file's lock can be "grabbed" by another process at any time, even
     a SAS dataset file in the WORK data library!  MXG creates a dataset
     WORK.ZZdddddd with PROC SORT, reads it with SET ZZdddddd and then
     PROC DELETE DATA=ZZdddddd.  But in several QA runs under Windows 7,
     SAS lost its file lock after the DATA step closed successfully,
     causing the PROC DELETE to fail, terminating the QA job:
       -"Lock held by another process" is probably caused by a backup
        program, antivirus program, encryption, or an indexing
        application like Google Desktop that is accessing or touching
        the SAS temporary files while they are in use by SAS.  If a
        backup program or virus scan is running on an interval, that
        would explain why the problem is intermittent.
       -To fix the lock, add the file extensions used by SAS to the
        exclude list of the interfering application; you should exclude
          .lck , .sd2,  .sc2 , .SPDS, and .Sas*
        where the .SAS* wild card excludes these extensions:
          .sas7bdat /* DATA */     .sas7bfdb /* FDB */
          .sas7butl /* UTILITY */  .sas7bitm /* ITEMSTOR */
          .sas7bput /* PUTILITY */ .sas7baud /* AUDIT */
          .sas7bcat /* CATALOG */  .sas7bbak /* BACKUP */
          .sas7bpgm /* PROGRAM */  .sas7bdmd /* DMDB */
          .sas7bndx /* INDEX */    .sas7bods /* SASODS */
          .sas7bvew /* VIEW */     .sas /* SAS program file */
          .sas7bacs /* ACCESS */
          .sas7bmdb /* MDDB */
        Caution: careful when excluding non-temporary SAS data sets from
        a backup.  SAS Recommends that backups occur when SAS is not
        running.
        Caution two: other applications can use those suffixes:
            SC2 - windows scheduler
            SD2 - sound designer
            LCK - database control
            SPDS - ACROBAT
       -If the problem application is not a backup program or virus scan
        then the cause is still probably a third party program. A way to
        determine which program(s) are causing the lock is to use
        utility from Microsoft Sysinternals called Process Monitor. You
        can download Process Monitor for free from Microsoft at

          http://technet.microsoft.com/en-us/sysinternals/
                    bb896645.aspx?PHPSESSID=d926

          Open Process Monitor, click filter and make these 3 changes:
            1)Path "begins with" "%temp%\SAS Temporary Files"
              (Click ADD) (use your work path name, if different).
            2)Process Name is Sas.exe then Exclude (click Add)
            3)Process Name is Explorer.exe then Exclude (click Add)
            Click Apply and OK.

          Then clear the log.

          Then start SAS and run the SAS program that creates the lock
          error. What Process Name(s) are listed in Process Monitor?

          This particular filter doesn't always find the problem.
          Usually the best advice is to ask your internal support team
          for help using this tool to find the problem

          We have not yet been able to identify what process grabbed the
          file lock, because the lock conflict is intermittent.

          BUT: The pathname of the WORK data library was NOT the
               SAS Default, it did not contain the text "TEMP" nor "SAS
               Temporary".
               We have changed that pathname to the SAS default, and
               there has not (YET!) been a lock conflict, so we
               presume/assume that the process causing the conflict
               automatically excluded scanning of directories with
               "TEMP" in their name.

Change 38.090 -SMF 83 Subtype 3 INPUT STATEMENT EXCEEDED because RELO
VMAC83         218 length 1415 exceeded $VARYING1024 guess for maximum.
Jun 10, 2020   LDAP document still shows length 256 for 218.
              -RELO segments 113/114 are now supported, new variables
               LDAP_POLICY_UPDATED and LDAP_FLGS.
              -User observed last update was in 2013, "I did notice the
               code had a significant vintage!"
   Thanks to Graham Harris, RBS, ENGLAND.

Change 38.089 -Variable R7410FLG (TYPE IS*VIRTUAL*FLASH*MEMORY?) was not
VMAC74         set to 'Y' when true ('80'x), due to typo R710FLG='Y'.
Jun  9, 2020  -Support for these new EADM variables in TYPE7410.
Jun 23, 2020    R7410DFLG='EADM*COMPRESSION*IS*AVAILABLE?'
                R7410DOCC='COMPRESSION*OPERATIONS'
                R7410DOCD='DECOMPRESSION*OPERATIONS'
                R7410DISC='1MB*INPUT*BLOCKS*COMPRESSION'
                R7410DOSC='1MB*OUTPUT*BLOCKS*COMPRESSION'
                R7410DISD='1MB*INPUT*BLOCKS*DECOMPRESSION'
                R7410DOSD='1MB*OUTPUT*BLOCKS*DECOMPRESSION'
              This was added by APAR OA56684.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.088  Support for CA VIEW SARR SMF Subtypes 34 and 35 create
EXSARR36       four new datasets:
EXSARR35         DDDDDD    Dataset   Description
EXSARI36         SARR35    SARRU35   REPORT ARCHIVAL DATE CHANGE
EXSART36         SARR36    SARRU36   CHANGE ARCHIVAL DATE ACTIVITY
VMACSARR         SART36    SARRT36   TAPES ACCESSED
VMXGINIT         SARI36    SARRI36   INDEXEX ACCESSED
Jun  9, 2020
   Thanks to Steven W. Erikkila, USBANK, USA

Change 38.087  ERROR: Utility file open failed using PROC MEANS/SUMMARY
AUTOEXEC       with a CLASS statement that includes many variables.
AUTOEXEU      -To circumvent the problem, include the NWAY option in the
AUTOEXQA       PROC MEANS/ PROC SUMMARY statement. SAS Note 17594 notes:
AUTOEZOS      -Without the NWAY option, the procedure tries to create
CONFIG94       with a CLASS statement that includes many variables.
CONFIGEZ       being created. This results in the error message above.
CONFIGT9      -Other circumventions include adding the NOTHREADS option
CONFIGVM       to the PROC MEANS or PROC SUMMARY statement and/or using
CONFIMXG       a BY statement instead of a CLASS statement, or in your
TECHNOTE       AUTOEXEC file or CONFIG file.
Jun  8, 2020  -NOTHREADS option was already in CONFIGV9/9N/V9/T9 due to
               Change 22.207 and is added in CONFIMXG/CONFIG94/EZ/VM,
               and to AUTOEXEC/EXQA/EZOS/EXEU, for the circumvention of
               this error.
              -NOTE: THE LISTED MEMBERS ARE EXAMPLES: YOUR AUTOEXxx
               and/or CONFIGxx are likely changes and will be in your
               USERID.SOURCLIB dataset.

Change 38.086  Unused Change Number.

Change 38.085  UCICSCNT analyzes counts and bytes written for SMF 110
FORMATS        records by SUBTYPE, APPLID, STID. and MNSEGCL. PROC FREQ
UCICSCNT       and DATA steps were replaced with PROC TABULATE, and
Jun  3, 2020   duration added to the final report to see the frequency
               of records. Both the average and maximum values are
               reported but the MAX is more likely to reflect the actual
               DFHSIT record interval for CICS statistics records.
               In addition the number of bytes in the subtype segments
               and the percentage of the total bytes is included.
              -FORMAT $MGCICVER was added to decode the CICS Version.
              -An INCODE= exit is added for tailoring, and examples
               were added.
              -The four Resource Records and the two Identity records,
               Subtype 1 MNSEGCL 5 and 6, were not counted, nor were
               Subtype 4 Exception records.

       CICS RECORD SUBTYPES AND CORRESPONDING MXG DATASETS CREATED:
          0=JOURNAL SEGMENT
                       CICSJOUR (DEFAULT IF UNKNOWN JOURNAL).
                       CICSSAP  (IF IMACICSA ENABLED FOR SAP).
                       CICSSMED (IF IMACICSM ENABLED FOR SHAREDMED).
          1=MONITOR/TRANSACTION
            MNSEGCL=1    DICTIONARY RECORD - USED ONLY BY UTILEXCL.
            MNSEGCL=2    CICSACCT  (NO LONGER, ONLY EXISTED PRE ESA)
            MNSEGCL=3    PERFORMANCE CLASS: CICSBAD, CICSTRAN
            MNSEGCL=4    EXCEPTION:  CICSEXCE
            MNSEGCL=5    RESOURCE
              COUNTER       DATASET
               MNR5NUMI      CICSRDS  CICS RESOURCE DATA CLASS
               MNR5NUMF      CICSRDFI CICS RESOURCE FILE DETAIL
               MNR5NUMT      CICSRDQU CICS RESOURCE TSQUEUE DETAIL
               MNR5NUMD      CICSRDPL CICS RESOURCE DPL DETAIL
            MNSEGCL=6    IDENTITY
              COUNTER       DATASET
               MNI6NUMI      CICSIDNT  CICS IDENTITY TRANSACTION INFO
               MNI6NUMD      CICSIDND  CICS IDENTITY REALM/DISTING
          2=STATISTICS                       ALL OTHER CICXXXXX
          3=TS DATA SHARING STATS: CICXQ1,CICXQ2,CICXQ3,CICXQ4
                            STID:   121    122     123    124
          4=CF DATA TABLE STATS:   CICFS6D,CICSF7D,CICFS8D,CICFS9D
                            STID:   126    127     128    129
          5=NAMED COUNTER STATS:   CICNS4D,CICNS5D
                            STID:   124    125
   Thanks to Luis Mendoza, BKFS, USA.

Change 38.084  Support for CICS/TS 5.6 (INCOMPATIBLE, FIELDS INSERTED).
VMAC110       -New Variables in CICSTRAN:
UTILEXCL         SMMVSSCN='SHORT ON*STORAGE*COUNT'
Jun  1, 2020     SMMVSSTM='SHORT ON*STORAGE*DELAY*TIME'
                 XZZFYPTM='PASSWORD*VERIFICATION*TIME'
                 XSVFYPCN='PASSWORD*VERIFICATION*COUNT'
                 XSVFYKTM='KERBEROS*VERIFICATION*TIME'
                 XSVFYKCN='KERBEROS*VERIFICATION*COUNT'
              -New Variables IN CICMNG:
                 MNGRMI='RMI*OPTION?'  (Y/N)
                 MNGAPPNS='APPLICATION*NAMING*SUPPORT?'  (Y/N)
                 MNGFREQ='FREQUENCY*HHMMSS'
                 MNGMCTNM='MCT*PROGRAM*NAME'

Change 38.083  Updated and enhanced parameters allow you to select the
ANALINIT       reports of interest. Substantial doc improvements, using
May 28, 2020   PDB.JOBS.

Change 38.082 -New ASMRMFV Field Data Filter (FDF) support for the RMF
ADOCRMFV       III Enclave Data Table (ENCG3) and an IMPORTANT FIX.
ASMRMFV       -The Field Data Filter (FDF) feature of RMF III was added
May 29, 2020   in MXG Change 37.089 and allows you to filter raw RMF
               data values when ASMRMFV reads the RMF III VSAM file,
               reducing the size of the created RMFBSAM file.  You can
               filter table entries based on one or more numeric and/or
               character fields, and is intended for advanced MXG users
               building ad hoc data collection of RMF III data.
               Section 31 in ADOCRMFV documents the FDF implementation.
              -ASMRMFV can issue incorrect error message RMFV086E FIELD
               NAME IS INVALID for a FDF IF expression. Some Variable
               Name Table (VNT) entries were missing a required flag
               byte thus causing the search for the expression field
               name to fail. But some expressions worked fine.
              -This is a PERVASIVE problem with the FDF feature and any
               MXG users needing to use FDF for RMF III data filtering
               should use this version of ASMRMFV, as it impacts all use
               of FDF with MXG 37.03 or later.
              -ASMRMFV now supports RMF III table fields up to 512
               characters in length such as the EDEACCT field in the
               ENCG3 table.
              -Message RMFV088I is upgraded to support to the new
               extended field lengths. There can be several continuation
               RMFV088I messages until all character data has been
               displayed as well as the equivalent value as hex digits
               (0-9, A-F).
              -However, when EBCDIC characters are used in an IF
               expression as the user provided value ASMRMFV has an
               internal limit of 64 hex digits shown in the RMFV088I
               message. This is to prevent long repetitive strings of
               X'40' hex digits in RMFV088I. The character value is
               displayed in full.
              -TUTORIAL:
               The ENCG3 Enclave Data Table contains some very large
               character fields from 32 up to 512 bytes that have
               bearing on how an IF expression for these is coded.

               When a character string is used in an IF expression all
               possible characters are shown in RMFV088I messages
               including trailing blanks.

               For large fields such as the 512 byte EDEACCT field this
               can result in many RMFV088I continuation messages in the
               ASMRMFV log showing only repetitive trailing blanks.

               Use the ':' (colon) operator modifier in the IF
               expression to control the number of RMFV088I messages and
               improve the efficiency of the compare process as well.

               In this case only the number of characters in the IF
               expression are shown in RMFV088I and only those
               characters are used in the compare process.

               As an example in ASMRMFV SYSIN instead of coding:

               IF=(EDEACCT EQ  C'ABC')  512 characters shown in RMFV088I
                                        and all 512 are compared.
               Use:

               IF=(EDEACCT EQ: C'ABC')    3 characters shown in RMFV088I
                                        and only 3 characters compared.
              -Assembler options NOXREF and NORXREF added internally to
               reduce ASMRMFV assembly output by 41,000 lines or 22%.
              -ASMRMFV now automatically uppercases user specified
               values in IF expressions for:
                  Service Class Names
                  Report Class Names
                  Workload Names
                  Resource Group Names
                    For example:
                    IF=(ASICNM EQ 'hot batch')
                    becomes:
                    IF=(ASICNM EQ 'HOT BATCH')
                  The WLM ISPF application does not accept lower case
                  for these names and neither will ASMRMFV. Descriptions
                  for these names may be mixed case for WLM or ASMRMFV.
              -PROCENC subroutine was outputting one less ENCG3 entry in
               a RMFBSAM record when there was still room in the output
               buffer for one more.
              -ADOCRMFV member's documentation has been updated for:
                  Section     Contents
                  -------     --------
                     0        Contents
                     5        Input Data Selection Parameters
                    12        Messages
                    13        Filtered Records
                    26        ASMRMFV and MXG PDB Data Relationships
                    31        Field Data Filtering (FDF)
                    37        Filtering The ENCG3 Table
                    40        Filtering The OPDG3 Table
                    42        Filtering The SCMG3 Table
                    46        Summary

====== CHANGES THRU 38.081 WERE IN MXG 38.04 DATED MAY 25, 2020 ========

Change 38.081  MXG 3803 only. The WEEKLY BLDSMPDB failed due to a typo
BLDSMPDB       in line 667, which has   1    %end;
May 25, 2020   Remove that 1.
               The error only occurs if BLDSMPDB is run on z/OA AND only
               if WEEK points to a GDG.
   Thanks to Jim S. Horne, Lowe's, USA.

Change 38.080  Support for z15 T02 8562 processor's (156 models) values
FORMATS        in $MGRMIPS format, used in ASUMMIPS,GRAFCEC,GRAFWLM,
May 24, 2020   GRAFWRKX and VMACRMFV(RMFIII) to map the MIPS per MSU.
               If you use those programs to report MIPS, you need 38.04.

Change 38.079  Support for APAR OA59541 for TYPE42 Subtype 27, adds new
FORMATS        variables;
VMAC42           SMF42REOS='ERASE*ON*SCRATCH?'
May 28, 2020     SMF42RZRTY='ZHPF*CHANNEL*PROGRAM*FAILED?'
                 SMF42RCTCAH='TRANSPORT*COMMAND*AREA*HEADER*7FX'
                 SMF42RCTCAL='TCA*LENGTH'
                 SMF42RCFDCW='FIRST*DEVICE*COMMAND*WORD'
                 SMF42RCDSCB='DSCBS*WRITTEN'
                 SMF42RCLRAB='LOCATE*RECORD*AUXILARY*BYTE'
                 SMF42RCLRIC='LOCATE*RECORD*IMBEDDED*OP CODE'
                 SMF42RCLRC ='LOCATE*RECORD*COUNT'
                 SMF42RCLROP='LOCATE*RECORD*OPERATION'
                 SMF42RCLROPOR='ORIENTATION'
                 SMF42RCLROPOB='OPERATION*CODE'
                 SMF42RCLRAB0='TRANSFER*LENGTH*FACTOR?'
                 SMF42RCLRAB7='READ* COUNT*CCW?'
                 SMF42RCLRIC='LOCATE*RECORD*IMBEDDED*OP CODE'
               Format $MG042VT was updated for new values, and new
               MG042OR and MXG042OB are created.


Change 38.078  zVPS PLSDSPCN LABEL contained an unintended & character.
VMACXAM
May 22, 2020

Change 38.077  DB2 SMF 102 IFCID 143/144 fields QW0143UR/QW0144UR were
ANALDB2R       increased to 10 bytes, 6 reserved bytes and new QW0143SI
VMAC102        and QW0144SI were inserted before QW014xUR in VMAC102,
May 22, 2020   and the format for QW0143UR/144UR in ANALDB2R updated.
   Thanks to Terry Chao, DC Government, USA.

Change 38.076  Comments revised for the MIPFACTR which is now set from
GRAFWRKX       the CPFCNAME using the $MGRMIPS format.
May 20, 2020

Change 38.075  DB2 APAR PH14037/UI65711 corrects the offset in DB2ACCTP
VMACDB2        records for QPACLOCN/QPACCOLN/QPACPKID/QPACASCH/QPACAANM
May 20, 2020   variables, which caused them to still be truncated. The
               error was introduced by APAR PH05989/UI61107.  There was
               no change to MXG code, the IBM APAR corrected the offset.

Change 38.074  PDBAUDIT in BUILDPDB audits the daily PDB size metrics,
PDBAUDIT       including the SAS compression percent PCOMPRESS, which
May 19, 2020   can be a negative value, whenever compressing a dataset
               would have increased its size, and is reported by SAS:
               "Compressing dataset PDB.STCVSM15 increased by 11.43 pct"
               These datasets always have a small number of variables.
   Thanks to Randy Hewitt, DXC Technology, USA.

Change 38.073  Significant cleanup of ANAL119 after a typo was found in
ANAL119        37.37 version (extraneous 3 preceding a RUN.)  IPHOSTS DD
May 16, 2020   is no longer required but will be used if it is present
               and all data steps are skipped if the input datasets are
               not found.
   Thanks to Tom Kelman, ATOS, USA.

Change 38.072  Type 30 Subtype 6 records have accumulated values but not
VMAC30         all INST counts were deaccumulated, CPUASRTM correction
May 15, 2020   was subtracted from raw rather than DIF'd values causing
               a spurious warning message, and minimum SMF time .01 sec
               was only a few hundred CPUUNITS which caused some small
               negative values when CPUASRTM was non-zero.
               The subtype 6 interval records are written instead of 2/3
               for Early ASIDs, STCs that start before JES is up, like
                  ALLOCAS CAMASTER CONSOLE GRS  JES2AUX PCAUTH RASP
                  SMSPDSE SMSPDSE1 TRACE
   Thanks to Harald Seifert, Huk-Coberg, GERMANY.

====== CHANGES THRU 38.071 WERE IN MXG 38.03 DATED MAY  7, 2020 ========

Change 38.071  SAGANAL option SYNC59 was incorrectly flooring ENDTIME,
SAGANAL        but now uses VMXGDUR to set the Interval Started. SYNC59
May  6, 2020   adds 1 minute and uses that hour, so with 15 min interval
               data written at SYNC59, these are the hour intervals into
               which the 15 min interval data is assigned.
                 Original     15:59  16:14  16:29  16:44  16:59  17:14
                 SYNC  0 hour  15     16     16     16     16     17
                 SYNC 59 hour  16     16     16     16     17     17
               Using SYNC59 for SYNC59 data matches common sense.

Change 38.070  CICS Statistics 110-2 with SMFSTRQT='EOD' End of Day data
VMAC110        have invalid large values, with the same value repeated
May  2, 2020   for dozens of unique events in time sequence that would
               normally be accumulated values with zero deltas when they
               are deaccumulated, BUT EOD are NOT accumulated data. Each
               obs is a separate event, and most values are wrong.  In
               addition, when EOD obs go thru MXG deaccum, obs are lost.
               Intervals of 24 hours are not very useful for analysis.
               EOD was accidentally set, and you can sum INT data to get
               daily totals if that's what you need.
               So, I can not make a business case that the EOD interval;
               is needed, and with a circumvention, I'm not going to
               pursue a PMR that would waste IBM and Customer time.
              -When EOD records go thru Deacculation, many observations
               are lost; I experimented with CICXML to bypass deaccum
               for EOD, which did preserve observations, but I'm not.
               going to implement that for other statistics datasets.
               DO NOT USE EOD FOR SMFSTRQT STATISTICS REQUEST TYPE.

Change 38.069  XCOM input did not skip the 461 bytes added in 12.0.
VMACXCOM
May  1, 2020
   Thanks to Peter J. Gray, DXC, AUSTRALIA.

Change 38.068  Support for Comm Server SMF 119 Subtype 11 ZERT revised
EXT119ZE       to create new TYP119ZE dataset for each Zert instance,
IMAC119        which can have more than one obs per record, and remove
VMAC119        those variables from TYP11911 which has only one obs per
VMXGINIT       SMF 119 subtype 11 record.
Apr 30, 2020   Updates to 73/74 for ICN1762 for IKET are not done, may
               need data.

Change 38.067  Yet another TYPE42 invalid LENSR in Subtype 5 records has
VMAC42         revised the logic to compare the delta between offsets
Apr 30, 2020   with NRSR*LENSR, and if they do not, recalculate length
               by dividing the delta by the NRSR, and if the CALCSRLEN
               is an integer, use the new length for LENSR, or delete.
               This was from old customer data and may not be a current
               value, but this should finally eliminate exposures.
   Thanks to John Compton, World Programming, ENGLAND

Change 38.066  Dataset ASUMCAPT was not labeled.
VMXGCAPT
Apr 24, 2020
   Thanks to Randy Hewitt, DXC, USA.

Change 38.065  UTILROLL will rollup all observations in all datasets in
UTILROLL       a data library into all datasets in another data library.
Apr 29, 2020   New examples added to combine PDBs created every four
               hours into a daily PDB library, and to copy multiple days
               back to WORK for reporting. Modified to use PROC SQL to
               get the engine of the output libname on z/OS so it works
               for tape or sequential PDBs.  Also added FORCE to the
               PROC APPEND to prevent warnings and added SORTEDBY and
               ALLDATA datasets created by the macro to ROLLDROP.

Change 38.064 -After New Function APAR OA58759 of 3/26/2020 for RMF the
ASMRMFV        ERB3RDEC decompression load module does not contain an
Apr 24, 2020   expected FMID. As a result ASMRMFV issues warning message
               RMFV091W that the module is not from IBM. Processing
               continues normally, but Return Code 0004 is set.
              -ASMRMFV will now also check for an 'IBM' character string
               in ERB3RDEC before issuing RMFV091W. The RMFV091W message
               was also incorrectly formatted.

Change 38.063  Variables WKRSENCP/WKRSENCV/WKRIENCP/WKRIENCV caused
VMACCMFV       INVALID DATA messages because they were INPUT as &RB.4.
Apr 24, 2020   (which worked fine when the fields were zeros) but they
               are non-zero and are input with &PIB.4 informat.
   Thanks to John Kim, TELUS, CANADA.

Change 38.062 -DB2STAT0 variable QW0225_WARN was incorrectly treated as
VMACDB2        bytes, and it is SERVICEABILITY.
Apr 22, 2020  -Support for APAR PI92652 that adds I/O Interrupt CPU time
               variables QWSxIIPT variables in dataset DB2STAT4.
              -Support for APAR PI82191 that adds 3 _DPAGE variables to
               dataset DB2STAT4, which per the APAR text, are now also
               subtracted to correct the three _REAL variables.  The
               APAR text listed a fourth  PVTSTG_DPAGE field, but it
               does NOT exist in the records with segment length 320.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.061  Support for z/OS Connect EE SMF 123 Version 2 Subtype 1
EXTY1232       records create new TYPE1232 dataset:
IMAC123A         DDDDDD   DATASET   Description               SUBTYPE
VMAC123A         TY123A   TYPE123A  Z/OS CONNECT EE AUDIT V1     1
VMXGINIT         TY1232   TYPE1232  z/OS CONNECT EE AUDIT V2     1
Apr 30, 2020     TY123C   TYPE123C  z/OS CONNECT EE API REQUEST  2
Jul 15, 2020   The subtype 1 new version 2 record created new TYPE1232
Feb  2, 2024   to replace TYPE123A because of many new variables.
              -Member TYPE123A creates TYPE123A and TYPE1232 for EE
               from subtype 1 and added TYPE123C from subtype 2
               in Change 39.043 in 2021.
              -Member TYPE123  is archaic, for the S/390 Parallel Query
               Server SPQS SMF 123 Record datasets DB2SPQS/DB2SPQAB.
              -Jul 15 typo spelling SM123SORRCVD corrected.
              -Feb  2: no code change, this text was clarified.

   Thanks to Adam Banbury, PNC, USA.
   Thanks to Robert Carter, PNC, USA.
   Thanks to Robert Richards, PNC, USA.

Change 38.060  CICSTRAN observations are written at task termination,
VMAC110        so long running transactions won't have observations,
Apr  9, 2020   but the CICS SET MONITOR command FREQUENCY argument will
               create interval CICSTRAN observations, which can be
               identified with RTYPE='F'.  RTYPE formatted values:
                 'C'='C:TERMINAL CONVERSE'
                 'D'='D:USER EMP DELIVER REQUEST'
                 'F'='F:FREQUENCY REQUEST'
                 'M'='M:SEMI-PERMANENT MIRROR SUSPEND'
                 'S'='S:SYNCPOINT'
                 'T'='T:TASK TERMINATION'
   Thanks to Rob Hollingum, HSBC, ENGLAND
   Thanks to Renata Hoyland, HSBC, ENGLAND

Change 38.059 -zVPS XAMCUV records with LPARNAME='TOTAL' weren't output
EXXAMCUV       because they duplicate the detail record's values. zVPS
FORMATS        now sets LCUCPUID=96 for all total records, so the test
VMACXAM        to NOT output in EXXAMCUV now tests to skip the 96's.
Apr  8, 2020   This test is located in the Data Set Exit member so that
               you can always override my decision to not OUTPUT them.
              -Variables LCUCPUID LCXCPTYP are added to the _BXAMCUV BY
               list for dataset XAMCUV.
              -XAMCUV records have LCXCPTYP=1 for CP/GP engine instead
               of zero, so the MGXAMTY format now maps that value also.
   Thanks to John Holiday, Queensland Government, AUSTRALIA.

Change 38.058  CIMS/IMF datasets CIMSDBD,CIMSDB2,CIMSMQ had zero obs
VMXGINIT       in 37.37-38.02 because the three SELECTDBD/DB2/SELECTMQ
Apr 21, 2020   macro variables added for BUILDIMS were only %GLOBALed
               in VMXGINIT where they should have been %LET to defaults.
               The three statements have been added to VMXGINIT, but you
               can insert these three statements in your //SYSIN for
               your CIMS/IMF processing jobs and they will be populated.
                 %LET SELECTDBD=%STR(OUTPUT _WIMFDBD;) ;
                 %LET SELECTDB2=%STR(OUTPUT _WIMFDB2;) ;
                 %LET SELECTMQ =%STR(OUTPUT _WIMFMQ;) ;
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 38.057  Support for SYSVIEW Subtype 2 record creates new datasets
IMACSVIE         PDB.SV02INT  - Interval Data - One Obs per Minute.
VMACSVIE                        Merge of 263 datasets, 1440 Obs daily.
VMXGINIT         PDB.SV02MQ   - MQ Interval Data - One obs per MQ Subsys
Apr 20, 2020                    Merge of 25 datasets, 2880 Obs daily.
                 PDB.SV02LP   - LPAR Interval Data - one per ARGEIGHT,
                                individual LCPUADDR 0000-000B, and ALL
                                CP,IFA,IIP,SP, 24480 obs THIS LPAR.
                 PDB.SV02CP   - CPUPLPAR for all LPARs, 47520 obs.
                 PDB.SV02WL   - WLM Service/Reporting Class 250560 obs.
                 PDB.SV02PLOT - Control Variables, one obs/record.
   Thanks to Nagaraj Pudokotia, ATOS, INDIA.
   Thanks to Martyn Jones, CPTGLOBAL, ENGLAND.

Change 38.056 -If you tried to reset an option with VMXGOPTR to ORIGINAL
ANALHSM        that hadn't previously been set using VMXGOPTR, the code
VMXGOPTR       generated here was "OPTIONS 1;" which caused ERROR 13-12:
Apr  6, 2020   Unrecognized SAS option name 1, and execution terminated.
              -Now: VMXGOPTR detects that that option had not been set,
               stores the current value and does not execute OPTIONS.
              -ANALHSM was the culprit that exposed the error and was
               corrected.
   Thanks to Jack Hyde, OPTUM, USA.

Change 38.055  Change 37.123 (MXG 37.04) incorrectly changed variable
VMAC7072       PCTMVSBY which impacted PLCPRDYQ and SHORTCPS in datasets
VMXGRMFI       PDB.TYPE70 and PDB.RMFINTRV.
Apr 30, 2020
   Thanks to Paul Naddeo, Fiserv, USA.
   Thanks to David Bixler, Fiserv, USA
   Thanks to Robin Hanley, Fiserv, USA
   Thanks to Bernie Ethridge, Fiserv, USA.

Change 38.054 -ALL ASCII SITES SHOULD ENABLE %AUTOINST IN IMACINIT.
AUTOINST      -Concurrent ASCII SAS sessions can error due to INSTREAM
IMACINIT       file sharing. The same INSTREAM.SAS file is used on ASCII
May  3, 2020   for every session, so multiple concurrent sessions error
               because of the unintended file sharing. The new &AUTOINST
               %MACRO creates the temporary INSTREAM file in the session
               WORK libname, which is not sharable with other sessions.
                 FILENAME INSTREAM CATALOG 'WORK.TEMP.INSTREAM.SOURCE';
                a. Put the %AUTOINST; statement in the member IMACINIT
                   in your "USERID.SOURCLIB" tailoring library and the
                   unique file name will always be allocated.
                b. Put the %AUTOINST; in AUTOEXEC, replacing the
                   INFILE INSTREAM statement.
                c. Issue the %AUTOINST; in your SYSIN at start.
              -ALL ASCII SITES SHOULD PUT %AUTOINST IN IMACINIT.
              -z/OS sites can enable %AUTOINST in IMACINIT and then the
               INSTREAM filename will always be created if it was not
               already allocated.

Change 38.053  Typo, variable not found, QHSSSID should be QWHSSSID.
ANALDB2T
Mar 30, 2020
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 38.052  Spurious WARNING: MISSING %MEND Statement for VMXG344 is
BUILDPDB       sometimes printed after prior error conditions; adding
BUILDPD3       the name of the %MACRO to the %MEND eliminates message.
BUILD001
BUIL3001
Mar 29, 2020

Change 38.051  Using the SAS FTP Access Method, &MXGABND=1 is now set so
VMACSMF        that errors (e.g. the SMF file is in use) that can cause
Mar 27, 2020   the SAS Session to hang doing nothing, instead will now
               terminate with USER ABEND 69.
               If the session still hangs, and you have access to the
               directory where the SAS log is being written by that
               active session, you should be able to get read access to
               the active session's log to see if there are messages
               before you kill the session.
   Thanks to Richard Way, Office Depot, USA.
   Thanks to Amlan Mitra, Office Depot, USA.

Change 38.050  Variable QBSTPCO in dataset DB2STATB was always a
VMACDB2        missing value after DB2 Version 9 due to MXG logic
Mar 24, 2020   error for its INPUT.
   Thanks to Flavio Lima, US.IBM.COM, USA.

Change 38.049 -New parameter ROLLWEEKS=5 added to let you keep more
BLDSMPDB       weeks than the 5 needed to build a month. NOTE: this
Mar 24, 2020   only applies on zOS or ASCII with STATIC libnames.
               With GDGs on zOS or AUTOALOC on ASCII ROLLWEEK is
               disabled.
              -So if you want to keep 6 weeks of rolling weekly
               data specify rollweeks=6.  If the WEEK6 LIBNAME is
               not found an error message is generated.
   Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.

====== CHANGES THRU 38.048 WERE IN MXG 38.02 DATED Mar 23, 2020 ========

Change 38.048  Support for z15 INCOMPATIBLE z/VM MONWRITE 6.4.19.1 due
VMACVMXA       to insertion of new EXTND256-EXTND287 counters in dataset
Mar 20, 2020   VXPRCMFC and new variables CORCTLMT CORTLSEQ in VXPRCMFM.
               Many ERROR. PRCMFC HARDWARE COUNTER UNEXPECTED messages,
               and datasets VXPRCMFC/VXPRCMFM have no observations, but
               all the other z/VM MONWRITE datasets are not impacted
   Thanks to David Campbell, SunTrust, USA.

Change 38.047  Variables R7023DID/R7024DID, Domain ID, are added to the
VMAC7072       end of the BY List for datasets TYPE7002 and TYPE70X, and
Mar 18, 2020   R7023DID is kept in TYPE7002.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 38.046  Data Set Labels were revised:
VMACDB2          DB2PST: DB2 STATS GLOBAL BUFF POOL
Mar 17, 2020     DB2PAT: DB2 GLOBAL BUFF POOL ATTRIBS

Change 38.045  MXG sets option REUSE=NO to prevent a User change to YES
VMXGINIT       in this just-discovered obscure option, that controls how
Mar 17, 2020   free-space is used when new observations are added to an
               existing compressed SAS dataset, i.e., whether new obs
               are inserted in free space or added at the end, but with
               REUSE=YES, and COMPRESS=YES, the POINT= dataset option
               ABENDs because it cannot open compressed SAS datasets.
               MXG uses POINT= and sets COMPRESS=YES default value.
               PROC APPEND disregards REUSE=YES, adding new obs at the
               end of the dataset.  REUSE is an attribute of the dataset
               and cannot be changed for that dataset.
   Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.

Change 38.044  VSAM Extended Addressability datasets values for sizes
VMAC60         VVRDSHA VVRDSHU VVRHARBA VVRHURBA must be multiplied by
Mar 15, 2020   VVRAMCIV, the CISIZE.  New variable VVREXTAD='Y' if this
               is an Extended Addressability dataset (not to be confused
               with Extended Format datasets).
   Thanks to Michael Friske, FMR, USA.

Change 38.043  Documentation only.  Example 10 show ways to select or
READDB2        exclude data by QWHSSSID SubSystem ID.
Mar 14, 2020

Change 38.042  Your USER SMF record type descriptions are in IMACSMFF in
IMACSMFF       your tailoring, which adds them to $MGSMFID when FORMATS
Mar 13, 2020   is run, but the MXG syntax - an eight-character VALUE,
               with a leading blank if TYPE is LT 1000 - was not stated.
               A seven-character value without blank caused no error,
               but those types had no description in ANALID reports.
   Thanks to Jeff Harder, Indiana Farm Bureau Insurance, USA.

Change 38.041  Support for APAR OA57105, adds to TYPE62/64
VMAC62          Dataset TYPE62 New Variables
VMAC64             SMF62JOBID  ='JOB*ID'
Mar 12, 2020       SMF62SYSPLEX='SYSPLEX'
                   Variable SMF62DEF removed, did not exist and caused
                   variables SMF62DET and SMF62DKL to be missing/blank.
                Dataset TYPE64 New Variables
                   SMF64JOBID  ='JOB*ID'
                   SMF64SYSPLEX='SYSPLEX'

Change 38.040  OMEGAMON TEMS Subtype 35 INVALID ARGUMENT THREE because
VMAC112        the text length was increased from MXG's original guess
Mar 14, 2020   of 256 with a length of 261, so the lengths are now 512.
   Thanks to Jim Czechanski, Northwestern Mutual, USA.

Change 38.039  Support for new variables INREI and JCLJJ in TYPETPMX.
VMACTPMX
Mar  5, 2020
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.038  Dataset TYPE73 variable SHIFT was not populated; the code
VMAC73         for IMACSHFT was only in the code blocks for TYPE73P/L.
Mar  4, 2020
   Thanks to Mark Hiltbruner, State of South Dakota, USA.

Change 38.037 -MQM Header/Correlation variables that are now kept:
VMAC116         Dataset  MQMACCTQ
Mar 11, 2020     QWHCAID  QWHCCVMQ QWHCCN
                 QWHCPSB  QWHCPST  QWHCTASK QWHCTNO QWHCTRN QWHCXTYP
                 QWHSACE  QWHSIDMQ QWHSISEQ QWHSMTN QWHSRN  QWHSSTCK
                 QWHSWSEQ WTCORREL
                Dataset  MQMACCT
                 QWHCAID  QWHCCN   QWHCCVMQ QWHCNID QWHCOPID QWHCPSB
                 QWHCPST  QWHCTASK QWHCTNO  QWHCTRN QWHCXTYP QWHSACE
                 QWHSIDMQ QWHSISEQ QWHSRN  QWHSSTCK QWHSWSEQ
                Dataset MQCFSTAT
                 DSECT WTCORREL WTASINTE WQBASENA
                Dataset MQCHININ
                 QWHSACE QWHSIDMQ QWHSISEQ QWHSMTN QWHSRN QWHSSTCK
                 QWHSWSEQ
                Dataset MQMQUEUE
                 QWHCAID  QWHCCCMQ QWHCCN
                 QWHCPSB  QWHCPST  QWHCTASK QWHCTNO QWHCTRN QWHCXTYP
                 QWHSACE  QWHSIDMQ QWHSISEQ QWHSMTN QWHSRN  QWHSSTCK
                 QWHSWSEQ
              -Alignment of the WTAS INPUT now populates WTAS variables.
              -The code segment for SUBTYPE=2 was relocated.
              -Dataset MQMACCTQ is only output for SUBTYPE=1.
   Thanks to Richard Simpson, CPTGLOBAL, AUSTRALIA.
   Thanks to Martyn Jones, CPTGLOBAL, ENGLAND.

Change 38.036 -TYPEBETA variables L030SRCJCSY/JCUS, S055IPSERVI were
VMACBETA       incorrectly spelled in the KEEP= list and are now kept
VMACBE97       as L030SRCJCSYS/L030SRCRCUSR/S055IPSEVI.
Mar  1, 2020  -TYPEBE97 variables B9759STY_1HEX B9759STY_2HEX were also
               corrected to B9759STY_1_HEX andB975STY_2_HEX.

Change 38.035  TYPE1131 vars EXTND247/252/264/265 now KNOWN COUNTERs.
VMAC113
Feb 28, 2020
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 38.034  APAR OA59002 corrects invalid values in SMF89UZT in the
TECHNOTE       TYPE89 dataset.
Feb 27, 2020
   Thanks to Nick Varley, SYNCSORT, USA.

Change 38.033 -SMF Signature Type 2 Subtype 1 and 2 can print MANY log
VMACSMF        "BACK2BACK HEADER" messages, if you have changed the
Feb 28, 2020   IFASMFDL program default option SIGSTRIP to NOSIGSTRIP.
               IFASMFDL is the "SMFDUMP" program for SMF LogStreams, and
               that SIGSTRIP default is to "Strip", i.e. NOT WRITE the
               SMF Type 2 Subtype 1/2 records to the Output SMF file.
              -The MXG _SMF Record Processing logic that writes those
               Header/Trailer/First/Last diagnostics messages was not
               updated when the VMAC0203 was updated in 2017, and these
               new type 2 records caused spurious log messages. Datasets
               TYPE0201/TYPE0202/TYPE0203 were correct as the messages
               have no impact on output datasets. You can use

         ==>   TO SUPPRESS PRINTING OF ALL SMF DIAGNOSTIC MESSAGES, USE:
         ==>    //SYSIN DD *
         ==>    %LET SMFPUTHD=NO;

               or you can restore your IFASMFDL JOB to SIGSTRIP default,
               or you can use VMACSMF with Change 38.033+ (MXG 38.02).
              -If you are back-level at MXG 36.04, then you will also
               also need the DODSCRDT/READRATE/VMXGINIT members.
               Macro variable SMFPUTHD was added in MXG 31.31.
              -This _SMF header code is ALWAYS USED WHEN MXG READS SMF,
               so you will see those diagnostic messages, when TYPE 2,
               subtype 1 or 2 records are present, in the SMF file,
               even if you didn't request Type 02 record processing.
                 Change 35.266 notes "Even After OA?????, SYSTEM='DUMY'
                 Type 02 14 byte records were still found." and they
                 still are; the first SMF Header Message with NOSIGSTRIP
                 has "DUMY' and not the actual system, but the "FIRST"
                 message that follows will have the actual SYSTEM name.
                 (The APAR number in that APAR change is lost.)
              -There were fifty ID=2 ST 1/2 messages per minute, or
               about 288,000 SYSOUT print lines per day, which could
               could cause a 722 SYSTEM ABEND.
                 How did I miss this in 2017 when subtype support was
                 added? The original customer could not ftp SMF data, so
                 LIST; was used to print a hex dump of each subtype,
                 which UTILBHEX converted to readable records, so there
                 were (only) two back to back (expected) ID=2 records.
               You must be at MXG 37.06 or later to use this VMACSMF.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 38.032  Many missing values in WSFAUDIT dataset from TYPEWSF are
VMACWSF        valid as the record only contains nulls starting in byte
Feb 26, 2020   153.  Vendor is to be contacted.

Change 38.031  Support for APAR OA56683 adds SMFBOOST variables (System
FORMATS        Recovery Boost) to dataset TYPE70:
VMAC7072          BOOSTACTIVE='BOOST*ACTIVE*FULL*INTERVAL'
Feb 20, 2020      BOOSTINFO  ='BOOST*INFO*PARTIAL*INTERVAL'
                  BOOSTCLASS ='BOOST*CLASS'
               and FORMAT MG070SB decodes BOOSTACTIVE and BOOSTINFO as
               ZIP or SPEED or BOTH. CLASS is either IPL or SHUTdown.
   Thanks to Martin Packer, IBM, EUROPE!

Change 38.030  The example user tailoring for multiple TMS catalogs in
ADOCTMS5       ADOCTMS5 (that you EDIT into your IHDRTMS5) ABEND 992 if
Feb 20. 2020   the CRDDD days value was greater than 366; now an error
               message and hex dump of the first 5 eliminates the ABEND.

Change 38.029  z/VM MONWRITE dataset VXAPLSLM (Z/VM LINUX MEMORY)
VMACVMXA       variable SHARERAM is zero if Linux is not RHEL8.
Feb 14. 2020

Change 38.028 -FDF (Field Data Filter) support added for the RMF Monitor
ADOCRMFV       III ZFXG3 (zFS Performance Data Table).   General ASMRMFV
ASMRMFV        support for this table already existed.
VMACRMFV      -Sysout output lines from ASMRMFV assembly reduced.
Feb 21, 2020                   ** IMPORTANT **
Feb 28, 2020  -National character (@#$) pattern filter is now the '^'
               caret character NOT the '.' period character.  There was
               a conflict when an RMF III table field contained a
               DSNAME.  The caret character may not print with some
               SYSOUT character sets.
              -This documentation section in member ADOCRMFV is added
               for new FDF support:
               44 Filtering The ZFXG3 Table
               Remaining existing section numbers are incremented by 1.
              -FDF GOVAT macro call for ZFXG3 table was incomplete.
               Table selection would not occur when needed if ZFXG3 was
               not explicitly selected when using FDF.
              -VMACRMFV did not populate variable ENCCFL2 in ZRBENC.

====== CHANGES THRU 38.027 WERE IN MXG 38.01 DATED Feb 17, 2020 ========

Change 38.027 -TYPE42D3 and TYPE42D4 datasets had the below variables
VMAC42         incorrectly INPUT as SMF42Gxx instead of SMFA2Gxx so they
Feb 13, 2020   were not kept nor labeled.
               Dataset TYPE42D3
                 SMFA2GUA SMFA2GUB SMFA2GUD SMFA2GUE SMFA2GUF SMFA2GUG
                 SMFA2GSH SMFA2GSI SMFA2GSJ SMFA2GSK
               Dataset TYPE42D3
                 SMFA2GVA SMFA2GVB SMFA2GVD SMFA2GVE SMFA2GVF SMFA2GVG
                 SMFA2GTH SMFA2GTI SMFA2GTJ SMFA2GTK
               Some SMF42Gxx and SMFA2Gxx variable's label incorrectly
               had "*DASD" which was removed.
   Thanks to Michael Friske, FMR, USA.

Change 38.026 -New variables STC28CTP and STC28FLG are now INPUT and
VMACSTC        kept in dataset STCVSM28, variables STC19CTP and STC28CTP
Feb 13, 2020   are formatted $MGSTCCT to display Cartridge Type.
   Thanks to Randy Hewitt, DXC, USA.

Change 38.025  Support for CICSTRAN Optional CPICAOR/CPICAOR user field
IMACICXC       that populates USERCHAR.
UTILEXCL
Feb 12, 2020

Change 38.024 -Support for zVM VXPRCAPM dataset Crypto Types 11,12,13
VMACVMXA       CEX5S/CEX6S/CEX7S, which printed "UNDECODED CRYPTO TYPE".
Feb 10, 2020  -Variable IODSSCH in VXIODDEV dataset is incorrect for
               intervals with more than 65K I/Os, short by 65K counts,
               but RDEVSKCT captures all I/Os, so MXG now sets variable
               IODSSCH=RDEVSKCT for those intervals.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 38.023  RMF ZFX variables ZFX_IO_WAIT_TIME, ZFX_LOCK_WAIT_TIME
VMACRMFV       and ZFX_MONITORED_SLEEP_TIME in dataset ZRBZFX can be
Feb 10, 2020   negative values because the ZfS interface bases average
               response times on requests since last statistics reset,
               which can be very long. zFS development is aware of their
               design flaw but have not yet responded with a correction.

Change 38.022  Label for EXTEND164 was changed for the z14 and z15 to:
VMAC113         EXTND164='DIRWRIT*TO L1-I*ON CHIP*L3 INTVNT'
Feb 10, 2020
   Thanks to George A. Frey, PNC, USA.

Change 38.021  PROC TIMEPLOT example to show concurrent job executions
ANALJOBS       and SGPLOTS of ANALCNCR statistics for all jobs or for
Feb 9, 2020    selected jobs.
                  %ANALJOBS(PDB=PDB,INCODE=if JOB I: ('SYS','PAY'));

Change 38.020  Support for TYPE73 variable SMF73CPD Connection Types are
FORMATS        added to $MG073CD format.
Feb 7, 2020      '33'X='33X:COUPLING EXPRESS SR'                /*OSM*
                 '34'X='34X:COUPLING EXPRESS LR'                /*OSM*
   Thanks to Ehren Bailey, Progressive Insurance, USA.

Change 38.019  Support for DB2 APAR PH18739 EPIC 1016 that adds  a new
VMAC102        variable QW0389IT='NUMBER*OF INDEX*TRANSVERSALS' to
Feb 6, 2020    dataset T102S389, COMPATIBLE, using a reserved field.
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 38.018  SAS levels prior to TS1M6 for ODS PDF should avoid use
TECHNOTE       of CONTENTS on the ODS statement.  There are several
Feb 5, 2020    errors that can be caused and any graphs may overlay
               the contents. For details see:
               http://support.sas.com/kb/20/666.html

Change 38.017 -TYPE80A INPUT EXCEEDED ERROR due to a HOME segment that
VMAC80A        had no data following, now protected.
Feb 11, 2020  -Support for TYPE80TK fields TOKMARCHIDE,TOKMSISEMAIL,
               TOKMARCSISID TOKMIRRDAUTO.
              -SMF 80 SHORT EXTENDED RELOCATE FOUND messages were caused
               when a field input with $VARYINGnn LEN was increased with
               the actual data length LEN that is greater than the nn.
              -The TYPE80TOK segments with TOKSUBSY='CSDATA' are "user"
               or "customer" fields added by vendors or installations.
               One CSDATA record where TOKDANAM=SISLAST was the last in
               the record was truncated, with length 16 with only 14
               bytes followed. Other SISxxxx segments were the last in
               the record and were not truncated. An MXGNOTES is printed
               when truncation is detected and protected.
   Thanks to Joe Faska, DTCC, USA.

Change 38.016A ANAL95TH uses PROC TABULATE to create 95th percentile,
ANAL95TH       mean and max response and resource statistics, with
Feb  5, 2020   two examples of CICSTRAN.CICSTRAN by TRANNAME, one
               across all executions and one by TRANNAME for 15 min
               intervals, and one for PDB.JOBS by JOBCLASS for hour
               intervals, but the syntax can be used for any data.
   Thanks to Robert Barth Cross, IBM, USA.

Change 38.016  SGPLOTS referenced &PDBMXG..NATADAPCT which did not
ANALNATR       exist. Changed to PDBOUT.NATADAPCT.
Feb  5, 2020
   Thanks to Mark Hiltbruner, State of South Dakota, USA.

CHANGE 38.015  See Change 38.061.

CHANGE 38.014A ASCII Execution ERROR: Template 'Styles.MXGxxxx' was
TECHNOTE       unable to write to template store when attempting to
Jan 29, 2020   update the FORMAT directory, because a separate SAS
               Windows session was using the LIBRARY catalog.

CHANGE 38.014  Support for IMS APAR PH14569(v14) and PH21001 (V15)
VMACIMS        which populates the USERID field in IMS 22 log record.
Jan 29, 2020

CHANGE 38.013  Support for BETA93 and BETA97 Version 7.1.
FORMATS       -Variables added to BETA9749 dataset:
VMACBETA        B9749PGM B9749VER B9749PTF B9749CDT B9749CTM B9749RC
VMACBE97        B9749IC B9749STIME B9749ETIME B9749INFO B9749SELPTM
EXTYB97T        B9749SCPUTM B9749SGETIO B9749SPUTIO
EXTYB97U        and the accounting fields are correctly aligned now.
EXTYB97V      -New dataset BETA9755 variables:
VMXGINIT        B9755INDICAT B9755USER B9755IPCLN B9755IPSEV
Feb 13, 2020    B9755IFLGS B9755HOSTIPORT B9755SERVPORT B9755IPHOST
                B9755IPCLIENT B9755IPSERV B9755IPSERVI
              -New dataset BETA9759 variables:
                B9759MAXSUBT B9759CURSUBT B9759STBYTE B9759RQUST
                B9759VERSION B9759INTERCNT B9759INTERTIME B9759NTAB1
                B9759NTAB2 B9759STY_1 B9759STY_2 B9759ALLCNTW
                B9759ALLCNTN B9759ALLCNTS B9759ALLCNTB
              -New dataset BETA9759SFF variables:
                B9759MJRCPU B9759MJRCPUN B9759MJRSRB B9759MJRSRBN
                B9759MJRZIIP B9759MJRZIIPN B9759MJRCPU B9759MJRCPUN
                B9759MJRSRB B9759MJRSRBN B9759MJRZIIP B9759MJRZIIPN
              -New dataset BETA9759SFF variables:
                B9759MNRCPUN B9759MNRSRB B9759MNRSRBN B9759MNRZIIP
                B9759MNRZIIPN B9759MNRCPU B9759MNRCPUN B9759MNRSRB
                B9759MNRSRBN B9759MNRZIIP B9759MNRZIIPN
              -Datasets BETA0, BETA1, BETA55, BETA59  also have new
                variables; they are listed in DOCVER38.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

CHANGE 38.012  The MXG member DOCVER documents all variables in all MXG
DOCVLONG       datasets, originally one line per variable, but the long
Jan 25, 2020   variable names and MXG's 72-character z/OS limit caused
               two lines to be needed.  The DOCVLONG program creates the
               "DOCVLONG.TXT" file with one line per variable with new
               LRECL=94 to contain all the information.  This change
               corrected an ERROR if the variable name ended in NUM and
               was 13 characters long.

                 ON Z/OS:
                //  EXEC MXGSASV9
                //INDOCVER DD DSN='MXG.SOURCLIB(DOCVER),DISP=SHR
                //DOCVLONG DD DSN='MXG.DOCVLONG,TXT,DISP=(,CATLG),
                //         DD RECFM=FB LRECL=94 BLKSIZE=34500.
                //         DD SPACE=(CYL,(40,4))
                //SYSIN DD *
                   %INCLUDE SOURCLIB(DOCVLONG);
                ON ASCII:
                 FILENAME INDOCVER 'D:\MXG\SOURCLIB\DOCVER.SAS';
                 FILENAME DOCVLONG 'D:\MXG\USERID\DOCVLONG.TXT';
                  %INCLUDE SOURCLIB(DOCVLONG);

CHANGE 38.011  Support for APAR OA57718 that adds new zHyperlink write
VMAC42         statistics to TYPE42DS dataset.
Jan 23, 2020

Change 38.010  If you changed the default SMFAUDIT=YES option to NO,
ANALID         to suppress the SMF Audit Report (BUILDPDB,ANALID),
Jan 24, 2020   inside ANALID, the VMXGOPTR utility could fail
                  MXGNOTE: END OF ANALID
                  NOTE: Line generated by the macro variable "OPTORG4".
               Change 37.245's setting options with VMXGOPTR in ANALID
               were mis-located inside SMFAUDIT=YES block in MXG 37.08,
               now relocated in MXG 38.01.
   Thanks to John Milne, IBM, AUSTRALIA

Change 38.009  If you specified GRAPHS=YES and your system is old and
ANALSIIS       not have the option SYSODSGRAPHICS or you are on z/OS
READRATE       where it is 0 until an ODS GRAPHICS command is issued,
Jan 24, 2020   the code defaulted to using PROC PLOT where XAXIS is not
               supported. ANALSIIS and READRATE were both modified to
               use the version executing to choose SGPLOT vs PLOT, and
               XAXIS was removed from the PROC PLOT.
   Thanks to Mike Martin, North Carolina NCSECU, USA.

CHANGE 38.008  Change 37.149 was in error if first USERADD= was IDMS.
UTILBLDP
Jan 22, 2020
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.007  The BY LIST for PROC MEANS DATA=_LVMAINT inside INTVBLD
VMACVMXA       is changed to BY CECSER SYSTEM, removing BEGINMTR, which
Jan 21, 2020   caused tens of thousands of useless statistics.
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.006  Support for IAM 9.3 Spin 3 INCOMPATIBLE due to relocation
VMACIAM        and insertion of fields; many new variables in TYPEIAM.
Feb  5, 2020
   Thanks to Mike Jacques, BBandT, USA.

Change 38.005  "Expressing Latent Demand as a Single Number" report code
ANALATNC       starts by graphing a latency number for all systems by
Feb  5, 2020   interval on a single graph and drills down to individual
               systems from there, displaying SMF70U00-15 variables in a
               stacked bar graph with the latency number and MVS Busy
               for each systems as lines on top of the bar. Latency is a
               number based on bucket sizes of the SMF70U: (or SMF70Q:
               for older OSes), designed to compress all the buckets to
               a single number and allow multiple systems on a single
               graph. While interesting, it takes interpretation to make
               sense of it, especially since it is logarithmic. I think
               IBM may have done this deliberately because the SMF70Q:
               variables worked out to exactly 9 using the obvious max
               bucket value. I fudged the max bucket value when I went
               to SMF70U: variables to make it come out to 10. The main
               purpose though is to allow the drill down from a common
               start to the system details.
               Jim's full paper, and report examples are found at:
                 https://www.mxg.com/downloads/Latent_Demand
   Thanks to Jim S. Horne, Lowe's, USA.

Change 38.004  MXG 37.37 ERROR: INVALID VALUE FOR OPTION ENCODING is
CONFIMXG       due to 1024 in CONFIGMXG should be OPEN_ED-1047.
Jan 15, 2020   The JOB fails with 999 ABEND and NO SASLOG is created.
   Thanks to Jeff.Harder, Indiana Farm Bureau Insurance, USA.

Change 38.003A FORMAT $MG074OM for dataset TYPE74HO variable R744HOPM
FORMATS        has new value '50'x='50x:CL5 10 GBIT/S CEE ROCE'
Jan 15, 2020
   Thanks to Scott Barry, SBBTechLLC, USA.

Change 38.003  IDMSTAS dataset now contains UOW and NETNAME variables:
VMACIDMS          TASCUOWI='CICS*UOW*ID'
Jan 24, 2020      TASCUOWS='CICS*UOW*SEQ'
                  TASCNETN='CICS*NETWORK*UOW*ID'
              -Variables TASUFLD1-TASUFLD3 are now correctly input for
               CICS records (IDM6623 corrected IDM6618).
   Thanks to Scott Barry, SBBTechLLC, USA.
   Thanks to Paola Rosero, Centre de services partages du Quebec, CANADA

Change 38.002  Variable BYTEPRC='PCT OF*BYTES*WRITTEN' is added to both
VMACTMS5       TMS.TMS and variable BESKEY='TAPE*ENCRYPTION*KEY*INDEX
Feb  7, 2020   is added to TMS.DSNBRECD.
   Thanks to Umamaheswara Reddy, JPMCHASE, USA.

Change 38.001  BUILDIMS now works correctly with all selection options.
BUILDIMS       See Change 37.221 for details
FORMATS       -Variable LTERM in CIMSTRAN dataset from IMF records can
VMACCIMS       contain '00'x, which are now translated to blanks.
VMACIMS       -New variable INPUTCLNR in dataset CIMSTRAN and LASTCLNR
VMXGINIT       in dataset CIMSPROG are created with the decimal class
Jan 20, 2020   number.  INPUTCL2 and LASTCLA2 have the HEX values.

====== CHANGES THRU 37.275 WERE IN MXG 38.01 DATED Jan 20, 2020 ========

Change 37.275  SYNCSORT SMF WRKDVTYP and STWKSDEV device type variables
FORMATS        values were changed some time in the way past 3350 era,
Jan  9, 2020   but MXG Format MGSYNDV was not updated until now.
   Thanks to Randy Hewitt, DXC. USA.

Change 37.274  TYPE1415 Harmless NOTE: DUPLICATE BY VARIABLES, because
VMAC1415       OPENTIME was repeated in _BTY1415 was supposedly fixed
Jan  7, 2020   but wasn't until 38.01.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 37.273  Using TYPE26J2 incorrectly to read JES 3 records caused
VMAC26J2       INPUT STATEMENT EXCEEDED. Change 37.026 had added logic
Jan  7, 2020   to delete those JES3 records when using TYPE26J2/BUILDPDB
               but tested for SUBS=3, when SUBS=5 is the JES3 SUBSYS.
LASTCHANGE: Version 38.
=========================MEMBER=CHANGE37================================
 /* COPYRIGHT (C) 1984-2020 MERRILL CONSULTANTS DALLAS TEXAS USA */

        MXG VERSION 37.37 is  dated Jan  6, 2020, thru Change 37.272.

        MXG VERSION 37.09 was dated Dec 20, 2019, thru Change 37.268.
EarlyA  MXG VERSION 37.09 was dated Dec 20, 2019, thru Change 37.267.
        MXG VERSION 37.08 was dated Nov 26, 2019, thru Change 37.256.
        MXG VERSION 37.07 was dated Oct 22, 2019, thru Change 37.239.
Third   MXG VERSION 37.07 was dated Oct 14, 2019, thru Change 37.236.
Second  MXG VERSION 37.07 was dated Oct 12, 2019, thru Change 37.235.
First   MXG VERSION 37.07 was dated Oct  9, 2019, thru Change 37.234.
        MXG VERSION 37.06 was dated Aug 30, 2019, thru Change 37.190.
First   MXG VERSION 37.06 was dated Aug 22, 2019, thru Change 37.184.
        MXG VERSION 37.05 was dated Jul  8, 2019, thru Change 37.154.
Second  MXG VERSION 37.05 was dated Jul  6, 2019, thru Change 37.153.
First   MXG VERSION 37.05 was dated Jul  5, 2019, thru Change 37.152.
        MXG VERSION 37.04 was dated Jun  5, 2019, thru Change 37.124.
        MXG VERSION 37.03 was dated Apr 19, 2019, thru Change 37.091.
        MXG VERSION 37.02 was dated Mar 11, 2019, thru Change 37.057.
Updated MXG VERSION 37.01 was dated Feb  3, 2019, thru Change 37.031.
First   MXG VERSION 37.01 was dated Feb  1, 2019, thru Change 37.029.
Annual  MXG Version 36.36 was dated Jan  4, 2019, thru Change 36.255.
        The Last MXG Newsletter SIXTY-NINE was dated Jan  3, 2018.
        New TECHNOTES for NEWSLTRS are now in CHANGESS.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 37.37 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 37.37.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame, although there are
  no new NEWSLTRS updates; they are now found in CHANGESS as TECHNOTEs.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================

I.  MXG VERSION 37.37 DATED Jan  6, 2020, THRU CHANGE 37.272.

==MAJOR CHANGES ADDED IN MXG 37.37, DATED Jan  6, 2020 THRU 37.272.

  BUILDIMS 37.271  %BUILDIMS creates all possible IMS data plus report.
  CONFIMXG 37.267  DO NOT USE ENCODING=EBCDIC1047, use OPEN_ED-1047.
                   Data values are corrupted with EBCDIC1047.
  ADOCABND 37.270  A TECHNOTE documenting recovery from MXG ABENDS,
  TYPE71   37.269  TYPE71 variables SMF72PIS/POS now deaccumulated.,

==MAJOR CHANGES ADDED IN MXG 37.09, DATED Dec 20, 2019 THRU 37.268.

SAS OPTION ISSUE FOR Z/OS ONLY, FOR NONLSCOMPATMODE ISSUES:
  which is the z/OS default. EBCDIC1047 corrupts output SAS dataset.
ABENDS CORRECTED
  TYPE42   37.261  SMF 42 Subtype 1 TYPE42DS INPUT STATEMENT EXCEEDED.
  ASUMMSUS 37.265  ERROR PARM OPTNE NOT DEFINED, typo.
NEW SUPPORT
  TYPE99   37.264  SMF 99 Subtype 2 TYPE99_2 new variables added.
  TYPEIMS  37.259  IMS SYNCPOINT Log Records IMS5937/5938 keeps all vars
  TYPEIDMS 37.260  IDMS dataset IDMSTAS USER Fields were misaligned.

==MAJOR CHANGES ADDED IN MXG 37.08, DATED Nov 26, 2019 THRU 37.256.

  TYPE42   37.250  SMF 42 ABEND due to SRLEN=208, now all protected.
  VMACSMF  37.249  Using FTP ACCESS from z/OS fails with JFCB issue.
ERRORs CORRECTED
  TYPERMFV 37.246  Variables PCIFTET/PCIFTQT in ZRBPCI incorrect.
  VMXGSUM  37.245  KEEPALL=NO with INCODE= could cause UNINIT message.
  TYPE82   37.241  Several MG082xx formats had wrong hex value.
  TYPE102  37.240  Variable QWP4STPGS=STASTPGSAMP/N/Y/S is now INPUT.
NEW SUPPORT
  TYPE79   37.242  Support for BMC SMF 70 Subtype 255 creates TYPE70FF.
  TYPE70PR 37.243  Vars SMF70LACM/LACA/LACB are now kept in TYPE70PR.
  ASMRMFV  37.255  RMF III FDF support for PCIE and SCMG3 tables.
ENHANCEMENT
  TECHNOTE 37.247  Example RACF analysis, why USERID was revoked.
  TYPE119  37.244  Subtype 3 SMF 119 not written, USERID no SMF access.
  DIFFROSC 37.256  New ROSCOE dataset ROSCOMON with all MONITORS.

==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct 22, 2019 THRU 37.239.

ERROR CORRECTED

  TYPE113  37.239   Support for new SMF 113 CRYPTO17-20 for z/15,
                    caused ABEND: ARRAY SUBSCRIPT OUT OF RANGE,
                    only if HIS CRYPTO counters are enabled, and.
                    only on z/15.

==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct 14, 2019 THRU 37.236.

ERROR CORRECTED

  TYPE113  37.236   Support for new SMF 113 EXTND255-287 for z/15.
                    Caused ABEND: ARRAY SUBSCRIPT OUT OF RANGE,
                    only on z/15.

==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct 12, 2019 THRU 37.235.

ERROR:
  BLDSMPDB 37.235  CRITICAL ERROR if BLDSMPDB and VMXGALOC are used,
                   (only on ASCII) due to an extra comma in line 949.
                   "ERROR:All positional parameters must precede ..."
                   LIBNAME PDB NOT FOUND.
                   Remove that comma on line 949 in BLDSMPDB.

==MAJOR CHANGES ADDED IN MXG 37.07, DATED Oct  9, 2019 THRU 37.234.

ERROR
  ASUMMIPS 37.228  Warning message DURATM=INTERVAL conflict.
  ANALMSUS 37.217  EXCELDEST not protected for length 0 Warning.
  CICINTRV 37.210  Warning if CICINTRV INTERVAL requested can't be used.
  IMACICDB 37.200  Optional CICS DBCTL var STATCTM1 too large.
  ASUMDB2A 37.199  Correct count of THREADS in DB2 ASUMDB2A/B/G/P/R.
  TYPEBETA 37.198  BETA 93 Subtypes 12/17/30/31/55 are now output.
  TYPEBE97 37.197  BETA 97 Subtype 51 did not input "New Area" fields.
  BUILD005 37.195  PDB.PRINT only populated ACCOUNTn in first obs.
  VMXGDSN  37.191  RMM/EDGR in VMXDSN had zero obs for TAPES/TAPEDSNS.
  VMACEDGR 37.225  RMM/EDGR dataset EDGRXEXT RDPHYSIZE too small.
NEW SUPPORT
  TYPESAPZ 37.222  Support for SAP Z Connector USER SMF record.
  TYPE123A 37.221  Support for z/OS Connect EE SMF 123 Version 2.
  TYPECADK 37.219  Support for CA-DISK/Sterling DMS DSINDEX file.
  TYPEFOCU 37.215  Support for FOCUS Version 7.7 USER SMF Record.
  TYPE80A  37.213  Support for RACF TYPE80TK TOKDANAM=AUTOLOGIN.
  TYPE113  37.212  Support for z15 Processor SMF 113 RNI equation.
  ASMRMFV  37.204  Support for RMF III CRYG3 and XCFG3 and more FDF.
  TYPETLMS 37.192  Support for TLMS creates two new datasets.
  TYPE0203 37.216  Support SMF Type 2 ST 1/2 GSIG/ISIG variable length.
ENHANCEMENT
  TYPE42   37.194  TYPE42DS variables S42DSENT/DSCMT identify zEDC.
  ANAL82AU 37.214  ANAL82AU combines SERV and USER obs for TYPE82AU.
  VMXGALOC 37.224  Note if you added VMXGALOC to your IMACINIT.

==MAJOR CHANGES ADDED IN MXG 37.06, DATED AUG 30, 2019 THRU 37.190.

 TYPEAAM  37.186   Support for IBM Tivoli Advanced Allocation SMF
 DODSCRDT 37.189   Spurious INVALID VALUE FOR INPUT FUNCTION message

==MAJOR CHANGES ADDED IN MXG 37.06, DATED AUG 22, 2019 THRU 37.184.

ERROR
  ASMRMFV  37.178  Possible S0C4 (37.05) or S0C7 (using FDF)
  TYPE82   37.165  TYPE8201 variables SMF82ITE/CKD/LML/USR/PKD wrong.
  TYPEBETA 37.160  BETA 93 610 (back level) subtype 40/49 wrong.
  TYPE72GO 37.179  Variables METGOAL and PCTMETGOL were wrong.
NEW SUPPORT
  TYPERMFV 37.167  z/OS 2.4 Updates for RMF MONITOR III datasets
  TYPE74   37.166  z/OS 2.4 Updates for TYPE7402 dataset.
  TYPE82   37.183  Support for SMF 82 new Audit TYPE82AU & subtypes.
  TYPEMAR  37.181  Support for Hitachi MAR Mainframe Analytics 9.1
  TYPEIMS  37.176  Support for IMS LOG TYPE '02'x.
ENHANCEMENT
  TYPE1131 37.175  New SIISPCT=STORE INTO*INSTRUCTION*STREAM*PERCENT.
  TYPE1415 37.172  Variable SMF14DEF='Y' if dataset is encrypted.
  TYPE110  37.168  CICS "identity" variables not kept with UTILEXCL.
  DODSCRDT 37.161  New z/OS-ONLY CREATDATE variable can be created.
  ANALMSUS 37.157  MSU Consumption from TYPE89 and TYPE30 charts etc.


==MAJOR CHANGES ADDED IN MXG 37.05, DATED Jul  8, 2019 THRU 37.154.

ERROR
 TYPE110  37.154   SMF 110 Subtype 1 MNSEGCL=5 INPUT EXCEEDED error.

==MAJOR CHANGES ADDED IN MXG 37.05, DATED Jul  6, 2019 THRU 37.153.

ERROR
 TYPE120  37.153   SMF 120 Subtype 3 INPUT STATEMENT EXCEEDED error.

==MAJOR CHANGES ADDED IN MXG 37.05, DATED Jul  5, 2019 THRU 37.153.

FLASH: 37.144: MISSING PERIOD 2/3 OBS IN TYPE72GO MXG 36.07 or prior
       after IBM RMF Maintenance for SCM and CRYPTO are applied.
       There is NO ERROR with MXG 36.08 (Oct 2018) or later. See Text.

NEW SUPPORT
  ANALMSUS 37.157  Powerful set of reports of SOFTWARE MSUs consumption.
  READRATE 37.142  New analysis of Read Rate MB/Sec reading SMF data.
  TYPEVM   37.130  New VM Account datasets supported.
  TYPE42   37.135  Eight more invalid LENSR= TYPE42 subtype 5.
  TYPE119  37.127  New variables in datasets TYP11902/TYP11994/TYP11995.
  TYPE123A 37.125  Variable/format changes z/OS Connect EE 3.0 SMF 123.

ENHANCEMENT
  MXGSTEP  37.152  MXGSTEP tailoring identifies MXG executions.


==MAJOR CHANGES ADDED IN MXG 37.04, DATED Jun  5, 2019 THRU 37.124.

ERRORS CORRECTED
  TYPE1415 37.116  WPS 4.1 ONLY, U4087 ABEND,OPTIONS NOWPSSCATTERCOMP.
  TYPENDM  37.113  NDM-CDI 24 byte short record INPUT EXCEEDED.
  TYPETPX  37.107  Misaligned TPXETIME reported as 8a Oct 27, 1935.
  TYPE102  37.100  DB2 zPARM T106S102 variables misaligned.
NEW SUPPORT
  TYPEBETA 37.114  Support for updated BETA 93 V6R2 (INCOMPATIBLE).
  TYPE7072 37.109  Support for z/OS 2.4 SMF Manual 04Mar19 changes.
  TYPE120  37.105  Support for SMF 120 WAS and LIBERTY (COMPATIBLE).
  TYPEIMS  37.103  Support for IMS Log Records 5607/5610/5904/5950.
  TYPE110  37.102  Support for CICS/TS 5.5 new Statistics (COMPAT).
  TYPE110  37.102  All _SCICxxx Statistic SORTS deaccumulate.
  TYPE29   37.093  Support for IMS ODBM Accounting SMF 29 Subtype 1.
  TYPETMPX 37.121  Support for ThruPut Manager Release 18.02 v7r1.0.
ENHANCEMENTS
  TYPEWSF  37.111  Final revisions for WSF/EOS WSFAUDIT AUDACT/OBJN.
  BLDSMPDB 37.106  Updated features and documentation.
  TYPE7072 37.104  Variables CECSER/CPCMODEL added to TYPE72GO.
  TYPECIMS 37.095  New variables in TYPEDBDS (IMF from BMC).
TECHNOTES
  TECHNOTE 37.110  Difference between TYPExxxx and TYPSxxxx.
  TECHNOTE 37.097  APAR OA65762 NEGATIVE SMF30_TIME z/OS 2.2 only.


==MAJOR CHANGES ADDED IN MXG 37.03, DATED Apr 19, 2019 THRU 37.091.

ERRORS CORRECTED
  TYPE92   37.085  SMF 92 Subtype 52 INPUT EXCEEDED, TRSN doc 52 bytes.
  TYPEVMXA 37.084  z/VM VXPRCAPM dataset vars CMB10C0-X4 wrong values.
  TYPEBE97 37.080A Datasets BETA9706/BETA9706D were not output to PDB.
  TYPE74   37.078  TYPE748S var R748SIID fmt $HEX4, no dupes now.
  TYPE125  37.075  INPUT STATEMENT EXCEEDED, period missing.
  TYPEDB2  37.074  QBSTBPIN always incorrectly calculated before DIF.
  VMAC82   37.060  INPUT EXCEEDED SMF 82 ST 31, incorrect length.
NEW SUPPORT
  TYPERMFV 37.067  Support for RMF III PCI/SCM/ZFX segments 4 datasets.
  TYPEHSM  37.076  Support for HSM FSR Record, Unix filename added.
  TYPE99   37.082  SMF 99 ST 12 Capacity Incr/Decr individual decodes.
  ANALRMF3 37.068  CF Activity Report, Structure Level, in ANALRMF3.
  TYPEDCOL 37.069  zEDC Compression type values revised DCOLDSET/DCOLDC.
  TYPE102  37.059  Final corrections for IFCIC 319 support.
ENHANCEMENTS
  TYPEXAM  37.081  Analyzing VPS USER dataset, must use INTORSUM='SU'.
  TYPEWSF  37.083  Logic revised to use OBJT/ACT for Input choice.
  TYPERMFV 37.080  SVPCNM and RPRTCLAS added to all RCD datasets.
  TYPEBBMQ 37.073  UNEXPECTED RTIN messages, BBMQ Version 5.4 no change.
  ANALID   37.063  Report now shows 26.002 or 26.003 for JES2/JES3.
  GRAFWLM  37.061  Bar charts of ZIP and ZIP Eligible added.
  TYPE30   37.058  Cosmetic: Uninitialized variable CBPERROR no impact.
  TECHNOTE 37.072  ODS Stat graphics procs use JAVA, memory intensive.


==MAJOR CHANGES ADDED IN MXG 37.02, DATED Mar 11, 2019 THRU 37.057.

ERRORS CORRECTED
  TYPENDM  37.047  NDM-CDI dataset NDMCT var NDMCPU 256 times too large.
  READDB2  37.042  MXG 37.01.  Blank WANTONLY Cosmetic %SYSFUNC message
  TYPE74   37.040  TYPE749 variable R7491DEFCOMPRATIO wrong value.
  TYPE42   37.034  Two more ABENDS invalid SMF 42 LENSR 520/592 protect.
  TYPE74   37.032  TYPE749 z/EDC Divide by ZERO protection failed.
  TYPE7072 37.044  BMC CMF VERSNRMF values 792 and 794 for z/OS 2.3.
NEW SUPPORT
  TYPEDCOL 37.041  Support for APAR OA54897, DCDEXFLG not used FOR zEDC.
  MANY     37.037  Support for SMF Manual Changes in Jan 14, 2019 Doc.
  TYPEAXW  37.033  Support for Axway V3.3.2 2018/06/27 restructure.
  UTILMISS 37.053  Utility to remove all variables that are all missing.
  TYPEDB2  37.035  DB2 V12 overlooked Package variables in DB2ACCTP.
  TYPE102  37.051  IFCID 319 new variables created and kept.
ENHANCEMENT
  JCLPDBJB 37.048  Example "BUIDPDB" creates only JOB-related datasets.
  TYPERMFV 37.055  CFACT Coupling Facility Structure Activity Report.
  ANALMQ   37.039  MQ Reports replicating IBM's MQSMF program.
  ANALHSM1 37.038  Combined TYPE6156+HSMFSRST report, thrashing pri-mig?
  TYPE70PR 37.046  SMF70BPS/SMF70ACS expanded for each engine type.
  TECHNOTE 37.043  Executing MXG on ASCII, WORK needs to be local.


==MAJOR CHANGES ADDED IN MXG 37.01, DATED Feb  3, 2019 THRU 37.030.

  ASMRMFV  37.030  ASMRMFV 36.12-37.01 NOZEROCPU filter didn't.
                   Caused out of space condition.  Typically, NOZEROCPU
                   filters out 3/4 of the ZRBASI records.


==MAJOR CHANGES ADDED IN MXG 37.01, DATED Feb  1, 2019 THRU 37.030.

ABEND Avoidance
  TYPEDB2  37:014  ABEND: DB2 SMF 100 ST 1 NETEAZZA/IDAA DB2STATS.
  TYPEVMXA 37.012  ABEND: ZVM MONWRITE NEW 40061802 Service Level.
  TYPEVMXA 37.028  ABEND: ZVM MONWRITE new z/VM 7.1 (INCOMPAT).
ERRORS CORRECTED
  TYPE92   37.002  TYPE9208 INPUT STATEMENT EXCEEDED, manual wrong.
  TYPERMFV 37.001  Some RMF III ZRBASI fields blank/wrong in 36.36.
  TYPE119  37.003  TYP11952 SMF119ML_IP_IPV4 wrongly compressed TIRIP.
  VMXGPRAL 37.006  Unbalanced parens in variable label, non fatal.
  TYPE92   37.017  Many non-fatal corrections were made to type 92.
  TYPEEDGR 37.015  RMM variable EDGRTIME had missing values.
  ANALCNCR 37.013  New Concurrency example counts steps and tapes.
NEW SUPPORT
  TYPEBETA 37.007  Support for Beta93 V6.2 Subtypes 1-3.
  TYPE102  37.005  Support for DB2 102 Trace IFCID 404.
  TYPESTC  37.018  Support for STC HSC Subtype 32 and 33 new datasets.
  TYPE26J2 37.026  Local SubSystem TYPE26J2 not output, SMF6SBS NE 2.
  VMXGALOC 37.021  New parms YR2KEEP and BASEYEAR for Yearly PDB.
ENHANCEMENT
  EMAIL    37.027  Example added to email SAS CondCode from ASCII SAS.
  ANALID   37.016  New report showing total/min/max for each SYSTEM.
  VMXGUOW  37.011  Enhanced for easy CICSTRAN-only PDB.ASUMUOW.
  ANAL89   37.029  Reference line SMF70LAC (4HRAV) added to MSU plots.
TECHNOTES
  TECHNOTE 37.004  Reading z/OS DATA with SAS FTP Access needs RCMD

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
     The current version nomenclature is SAS 9.4 TS1M6 (9.4M6), "M6",
     or "SAS 9.4 (9.04.01M6P110718)" if the OPTION VERSIONLONG is
     enabled.

     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M6 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M6 or SAS Version 9.3 M0-M2.

     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.128 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      But CONFIMXG is required for sites with NLS issues, and you must
      use JCLCONFI to create/update the MXG.FORMATS catalog if you use
      CONFIG='MXG.SOURCLIB(CONFIMXG)'.
      For no NLS, you can  use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 36.11 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

     The z15 did INCOMPATIBLY change the SMF 113 records by adding 32
     new EXTEND and 4 CRYPTO counters, and those fields were supported
     in MXG 37.07 dated Oct 22, 2019. The z/14 also INCOMPATIBLY changed
     the SMF 113 record, and that was supported way back in MXG 36.07.

     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.

     MXG 37.07 supports the new z/OS 2.4 SMF manual fields, COMPATIBLY.

   The z13 processor INCOMPATIBLY CHANGED, the new SMT-MODE RMF 70, and
   MXG 34.03 was REQUIRED (PCTCPUBY WRONG!), to read the SMT-format RMF
   (which are written if you have zIIP engines AND have enabled the new
   PROCVIEW CORE option for Multi-Threading, even if only one thread is
   enabled).

   The new zEDC compression hardware requires MXG 33.07 to support the
   new metrics.

   For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*

      z/OS 2.4 Compatible from SMF Manual Sep 2019 37.166  37.07.

      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      z15   New SMF fields (COMPAT)    Oct 22, 2018        37.07
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS-TS/5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS-TS/5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS-TS/5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS-TS/5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS-TS/5.3 GA date              Dec 11, 2015        33.33
      CICS-TS/5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS-TS/5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS-TS/5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS-TS/5.4 GA                   Jun 17, 2017        35.03
      CICS-TS/5.5 GA (COMPAT)          Jan 29, 2018        37.01
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      z/VM    6.40061802 ABEND         Jan 17, 2019        37.02
      z/VM    7.1        ABEND         Feb 14, 2019        37.02
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2, 5.3, 5.4               33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 37.37.


 1. Incompatibilities introduced in MXG 37.37:

  a- Changes in MXG architecture made between 37.37 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 37.08 after MXG 36.36:

  Dataset/
  Member   Change    Description

  ANAL82AU 37.214  ANAL82AU combines SERV and USER obs for TYPE82AU.
  ANALCNCR 37.013  New Concurrency example counts steps and tapes.
  ANALHSM1 37.038  Combined TYPE6156+HSMFSRST report, thrashing pri-mig?
  ANALID   37.016  New report showing total/min/max for each SYSTEM.
  ANALID   37.063  Report now shows 26.002 or 26.003 for JES2/JES3.
  ANALMQ   37.039  MQ Reports replicating IBM's MQSMF program.
  ANALMSUS 37.136  Powerful set of reports of SOFTWARE MSUs consumption.
  ANALMSUS 37.157  MSU Consumption from TYPE89 and TYPE30 charts etc.
  ANALMSUS 37.217  EXCELDEST not protected for length 0 Warning.
  ANALRMF3 37.068  CF Activity Report, Structure Level, in ANALRMF3.
  ASMRMFV  37.030  ASMRMFV 36.12-37.01 NOZEROCPU filter didn't.
  ASMRMFV  37.178  Possible S0C4 (37.05) or S0C7 (using FDF)
  ASMRMFV  37.204  Support for RMF III CRYG3 and XCFG3 and more FDF.
  ASMRMFV  37.254  MXG 37.05-37.07 CPC parameter PARMS KEYWORD NULL
  ASMRMFV  37.255  RMF III FDF support for PCIE and SCMG3 tables.
  ASUMDB2A 37.199  Correct count of THREADS in DB2 ASUMDB2A/B/G/P/R.
  ASUMMIPS 37.228  Warning message DURATM=INTERVAL conflict.
  BLDSMPDB 37.106  Updated features and documentation.
  BUILD005 37.195  PDB.PRINT only populated ACCOUNTn in first obs.
  CICINTRV 37.210  Warning if CICINTRV INTERVAL requested can't be used.
  DIFFROSC 37.256  New ROSCOE dataset ROSCOMON with all MONITORS.
  DODSCRDT 37.161  New z/OS-ONLY CREATDATE variable can be created.
  DODSCRDT 37.189  Spurious INVALID VALUE FOR INPUT FUNCTION
  EMAIL    37.027  Example added to email SAS CondCode from ASCII SAS.
  GRAFWLM  37.061  Bar charts of ZIP and ZIP eligible added.
  IMACICDB 37.200  Optional CICS DBCTL var STATCTM1 too large.
  JCLPDBJB 37.048  Example "BUIDPDB" creates only JOB-related datasets.
  MANY     37.037  Support for SMF Manual Changes in Jan 14, 2019 Doc.
  READDB2  37.042  MXG 37.01.  Blank WANTONLY Cosmetic %SYSFUNC message
  READDB2  37.185  APPARENT SYMBOLIC REFERENCE LDB LDB@ACT, no impact.
  TECHNOTE 37.004  Reading z/OS DATA with SAS FTP Access needs RCMD
  TECHNOTE 37.043  Executing MXG on ASCII, WORK needs to be local.
  TECHNOTE 37.072  ODS Stat graphics procs use JAVA, memory intensive.
  TECHNOTE 37.097  APAR OA65762 NEGATIVE SMF30_TIME z/OS 2.2 only.
  TECHNOTE 37.110  Difference between TYPExxxx and TYPSxxxx.
  TECHNOTE 37.247  Example RACF analysis, why USERID was revoked.
  TYPE0203 37.216  SMF Type 2 Subtypes 1/2 GSIG/ISIG variable length.
  TYPE102  37.005  Support for DB2 102 Trace IFCID 404.
  TYPE102  37.051  IFCID 319 new variables created and kept.
  TYPE102  37.059  Final corrections for IFCIC 319 support.
  TYPE102  37.100  DB2 zPARM T106S102 variables misaligned.
  TYPE102  37.240  Variable QWP4STPGS='STASTPGSAMP/N/Y/S is now INPUT.
  TYPE110  37.102  All _SCICxxx Statistic SORTS deaccumulate.
  TYPE110  37.102  Support for CICS/TS 5.5 new Statistics (COMPAT).
  TYPE110  37.168  CICS "identity" variables not kept with UTILEXCL.
  TYPE113  37.212  Support for z15 Processor SMF 113 RNI equation.
  TYPE1131 37.175  New SIISPCT=STORE INTO*INSTRUCTION*STREAM*PERCENT.
  TYPE119  37.003  TYP11952 SMF119ML_IP_IPV4 wrongly compressed TIRIP.
  TYPE119  37.127  New variables in datasets TYP11902/TYP11994/TYP11995.
  TYPE119  37.244  Subtype 3 SMF 119 not written, USERID no SMF access.
  TYPE120  37.105  Support for SMF 120 WAS and LIBERTY (COMPATIBLE).
  TYPE123A 37.125  Variable/format changes z/OS Connect EE 3.0 SMF 123.
  TYPE123A 37.221  Support for z/OS Connect EE SMF 123 Version 2.
  TYPE125  37.075  INPUT STATEMENT EXCEEDED, period missing.
  TYPE1415 37.116  WPS 4.1 ONLY, U4087 ABEND,OPTIONS NOWPSSCATTERCOMP.
  TYPE1415 37.172  Variable SMF14DEF='Y' if dataset is encrypted.
  TYPE26J2 37.026  Local SubSystem TYPE26J2 not output, SMF6SBS NE 2.
  TYPE29   37.093  Support for IMS ODBM Accounting SMF 29 Subtype 1.
  TYPE30   37.058  Cosmetic: Uninitialized variable CBPERROR no impact.
  TYPE42   37.034  Two more invalid SMF 42 LENSR 520 and 592 added.
  TYPE42   37.135  Eight more invalid LENSR= TYPE42 subtype 5.
  TYPE42   37.194  TYPE42DS variables S42DSENT/DSCMT identify zEDC.
  TYPE42   37.250  SMF 42 ABEND due to SRLEN=208, now all protected.
  TYPE7072 37.044  BMC CMF VERSNRMF values 792 and 794 for z/OS 2.3.
  TYPE7072 37.104  Variables CECSER/CPCMODEL added to TYPE72GO.
  TYPE7072 37.109  Support for z/OS 2.4 SMF Manual 04Mar19 changes.
  TYPE70PR 37.046  SMF70BPS/SMF70ACS expanded for each engine type.
  TYPE70PR 37.243  Vars SMF70LACM/LACA/LACB are now kept in TYPE70PR.
  TYPE72GO 37.179  Variables METGOAL and PCTMETGOL were wrong.
  TYPE74   37.032  TYPE749 z/EDC Divide by ZERO protection failed.
  TYPE74   37.040  TYPE749 variable R7491DEFCOMPRATIO wrong value.
  TYPE74   37.078  TYPE748S var R748SIID fmt $HEX4, no dupes now.
  TYPE74   37.166  z/OS 2.4 Updates for TYPE7402 dataset.
  TYPE79   37.242  Support for BMC SMF 70 Subtype 255 creates TYPE70FF.
  TYPE80A  37.213  Support for RACF TYPE80TK TOKDANAM=AUTOLOGIN.
  TYPE82   37.060  INPUT EXCEEDED SMF 82 ST 31, incorrect length.
  TYPE82   37.165  TYPE8201 variables SMF82ITE/CKD/LML/USR/PKD wrong.
  TYPE82   37.183  Support for SMF 82 new Audit TYPE82AU dataset.
  TYPE82   37.241  Several MG082xx formats had wrong hex value.
  TYPE92   37.002  TYPE9208 INPUT STATEMENT EXCEEDED, manual wrong.
  TYPE92   37.017  Many non-fatal corrections were made to type 92.
  TYPE92   37.085  SMF 92 Subtype 52 INPUT EXCEEDED, TRSN doc 52 bytes.
  TYPE99   37.082  SMF 99 ST 12 Capacity Incr/Decr individual decodes.
  TYPEAAM  37.186  Support for IBM Tivoli Advanced Allocation SMF
  TYPEAXW  37.033  Support for Axway V3.3.2 2018/06/27 restructure.
  TYPEBBMQ 37.073  UNEXPECTED RTIN messages, BBMQ Version 5.4 no change.
  TYPEBE97 37.080A Datasets BETA9706/BETA9706D were not output to PDB.
  TYPEBE97 37.197  BETA 97 Subtype 51 did not input "New Area" fields.
  TYPEBETA 37.007  Support for Beta93 V6.2 Subtypes 1-3.
  TYPEBETA 37.007  Support for Beta93 Version 6.2 subtypes 2 and 3.
  TYPEBETA 37.114  Support for updated BETA 93 V6R2 (INCOMPATIBLE).
  TYPEBETA 37.160  BETA 93 610 (back level) subtype 40/49 wrong.
  TYPEBETA 37.198  BETA 93 Subtypes 12/17/30/31/55 are now output.
  TYPECADK 37.219  Support for CA-DISK/Sterling DMS DSINDEX file.
  TYPECIMS 37.095  New variables in TYPEDBDS (IMF from BMC).
  TYPEDB2  37.035  DB2 V12 overlooked Package variables in DB2ACCTP.
  TYPEDB2  37.074  QBSTBPIN always incorrectly calculated before DIF.
  TYPEDB2  37.251  DB2 Storage Contraction new vars DELTAAV0/AVA/AVB.
  TYPEDB2  37:014  ABEND: DB2 SMF 100 ST 1 NETEAZZA/IDAA DB2STATS.
  TYPEDCOL 37.041  Support for APAR OA54879, DCDEXFLG not used FOR zEDC.
  TYPEDCOL 37.069  zEDC Compression type values revised DCOLDSET/DCOLDC.
  TYPEEDGR 37.015  RMM variable EDGRTIME had missing values.
  TYPEFOCU 37.215  Support for FOCUS Version 7.7 USER SMF Record.
  TYPEHSM  37.076  Support for HSM FSR Record Unix filename added.
  TYPEIMS  37.103  Support for IMS Log Records 5607/5610/5904/5950.
  TYPEIMS  37.176  Support for IMS LOG TYPE '02'x.
  TYPEMAR  37.181  Support for Hitachi MAR Mainframe Analytics 9.1
  TYPEMDM  37.015  RMM variable EDGRTIME had missing values.
  TYPENDM  37.047  NDM-CDI dataset NDMCT var NDMCPU 256 times too large.
  TYPENDM  37.113  NDM-CDI 24 byte short record INPUT EXCEEDED.
  TYPERMFV 37.001  Some RMF III ZRBASI fields blank/wrong in 36.36.
  TYPERMFV 37.055  CFACT Coupling Facility Structure Activity Report.
  TYPERMFV 37.067  Support for RMF III PCI/SCM/ZFX segments 4 datasets.
  TYPERMFV 37.080  SVPCNM and RPRTCLAS added to all RCD datasets.
  TYPERMFV 37.167  z/OS 2.4 Updates for RMF MONITOR III datasets
  TYPERMFV 37.246  Variables PCIFTET/PCIFTQT in ZRBPCI incorrect.
  TYPESAPZ 37.222  Support for SAP Z Connector USER SMF record.
  TYPESTC  37.018  Support for STC HSC Subtype 32 and 33 new datasets.
  TYPETLMS 37.192  Support for TLMS creates two new datasets.
  TYPETPX  37.107  Misaligned TPXETIME reported as 8a Oct 27, 1935.
  TYPEVM   37.130  New VM Account datasets supported.
  TYPEVMXA 37.012  ABEND: ZVM MONWRITE NEW 40061802 Service Level.
  TYPEVMXA 37.028  Support for z/VM 7.1 (INCOMPAT, BROKEN CONTROL).
  TYPEVMXA 37.084  z/VM VXPRCAPM dataset vars CMB10C0-X4 wrong values.
  TYPEWSF  37.083  Logic revised to use OBJT/ACT for Input choice.
  TYPEWSF  37.111  Final revisions for WSF/EOS WSFAUDIT AUDACT/OBJN.
  TYPEXAM  37.081  Analyzing VPS USER dataset, must use INTORSUM='SU'.
  UTILMISS 37.053  Utility to remove all variables that are all missing.
  VMACEDGR 37.225  RMM/EDGR dataset EDGRXEXT RDPHYSIZE too small.
  VMACSMF  37.249  Using FTP ACCESS from z/OS fails with JFCB Issue.
  VMXGALOC 37.021  New parms YR2KEEP and BASEYEAR for Yearly PDB.
  VMXGALOC 37.224  Note if you added VMXGALOC to your IMACINIT.
  VMXGDSN  37.191  RMM/EDGR in VMXDSN had zero obs for TAPES/TAPEDSNS.
  VMXGOPTR 37.252  Restores ORIGINAL, used to always reset if changed.
  VMXGPRAL 37.006  Unbalanced parens in variable label, non fatal.
  VMXGSUM  37.245  KEEPALL=NO with INCODE= could cause UNINIT message.
  VMXGUOW  37.011  Enhanced for each CICSTRAN-only PDB.ASUMUOW.
  CONFIMXG 37.267  DO NOT USE ENCODING=EBCDIC1047, use OPEN_ED-1047.
  ASUMMSUS 37.265  ERROR PARM OPTNE NOT DEFINED, typo.
  TYPE99   37.264  SMF 99 Subtype 2 TYPE99_2 new variables added.
  TYPE42   37.261  SMF 42 Subtype 1 TYPE42DS INPUT STATEMENT EXCEEDED.
  TYPEIDMS 37.260  IDMS dataset IDMSTAS USER Fields were misaligned.
  TYPEIMS  37.259  IMS SYNCPOINT Log Records IMS5937/5938 keeps all vars

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at http://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE

====== CHANGES THRU 37.272 WERE IN MXG 37.37 DATED Jan  6, 2020 ========

Change 37.272  If you did not specify EXCELDEST you could get WARNINGs:
ANALMSUS         Argument 2 to macro function %SUBSTR is out of range
Jan  5, 2020     Argument 3 to macro function %SUBSTR is out of range

Change 37.271  %BUILDIMS can create all current MXG IMSLOG datasets and
BUILDIMS       REPORT=YES (default) prints counts of bytes/records for
FORMATS        each LSUBCODE; REPORT=ONLY will produce only the report.
VMACCIMS       Not all IMS Log Records create MXG datasets; many records
VMACIMS        are for database recovery with no performance metrics,
VMXGINIT       but support will be added upon request and test data.
Jan  5, 2020     // EXEC MXGSASV9
                 //IMSLOG DD DSN=YOUR.IMS.LOG.DATA,DISP=SHR
                 //PDB    DD DSN=YOUR.IMS.PDB,DISP=(,CATLG),SPACE=....
                 //SYSIN DD *
                  %BUILDIMS(REPORT=YES,
                            WANT= F9 FA 56FA,
                            IMSVER=14.1,
                            START= '01JAN2020:08:00:00'DT,
                            END  = '01JAN2020:10:00:00'DT);
               Note: REPORT=YES reports all IMS Log Records in input and
               is not impacted with WANT/START/END/IMSSYSTEM selections.
               See comments in member BUILDIMS for documentation.

   Thanks to Randy Hewitt, DXC. USA.

Change 37.270  A TECHNOTE documenting how to recover from MXG ABENDS.
ADOCABND
Jan  1, 2020

Change 37.269  TYPE71 variables SMF71PIS/SMF71POS, 4K TO/FROM SCM are
VMAC71         accumulated fields, so they are correct only when TYPS71
Dec 23, 2019   (or BUILDPDB) is used, since the deaccumulation is done
               in the _STY71 Data Set Sort Macro, and will always be
               missing values in the first obs from each SYSTEM.
   Thanks to Graham Harris, RBS, ENGLAND.

====== CHANGES THRU 37.268 WERE IN MXG 37.09 DATED Dec 20, 2019 ========

Change 37.268  Variable SM116EVT in MQMACCTQ and MQMQUEUE datasets was
VMAC116        not set for Task Terminated; test for '21'x was wrong and
Dec 20,2019    changed to four byte test for '200800000'x for Terminate
               and '00080000'x for Initiate.
   Thanks to Scott Barry, SBBWORKS, INC, USA.

====== CHANGES THRU 37.267 IN EARLY ADOPTER MXG 37.09 DATED Dec 20, 2019

Change 37.267  z/OS: ENCODING=EBCDIC1047 corrupts data;  OPEN_ED-1047 is
CONFIMXG       and has been REQUIRED for MXG, and is the z/OS Default.
VMXGINIT       With ENCODING=EBCDIC1047 character variables with '15'x
Dec 12, 2019   byte value are changed to '25'x, and byte values of '25'x
               are changed to '15'x! Those are the New Line & Line Feed
               characters that swap.  You can display your options with:
                  PROC OPTIONS OPTION=ENCODING;
                  PROC OPTIONS OPTION=LOCALE;
                  PROC OPTIONS OPTION=NLSCOMPATMODE;
              -You can add an  ENCODING=OPEN_ED-1047  statement in your
               CONFIGV9/CONFIMXG/CONFIGxx tailoring member, or you can
               set with  // EXEC SAS94,OPTIONS='ENCODING=OPEN_ED-1047'
              -Not only can character bit tests and formatted values be
               wrong, some numeric TODSTAMP datetime fields are created
               from character variables when shorter than 8-bytes, using
                DATETIME=INPUT(CHAR6!!'0000'x),TODSTAMP8.);
                Changing the second byte from '15'x to '25'x is 30 days.
              -VMXGINIT is enhanced to print error message if ENCODING
               option is not OPEN_ED-1047.
              -And, OPEN_ED-1047 does work with NONLSCOMPATMODE, And SAS
               in 2016 without documenting it, said they were NOT going
               to remove NLSCOMPATMODE nor NONLSCOMPATMODE options.
              -If you depend on NLS characters, the CONFIMXG option was
               created by SAS to support NLS sites, see that member.
   Thanks to Andrew Gadsby, SAS UK, ENGLAND.
   Thanks to Andy Knight, SAS UK, ENGLAND.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
   Thanks to Mark Tomlinson, Lloyds, ENGLAND

Change 37.266  Parameters DATETIME= and INTERVAL= were not specified in
TRNDDB2P       VMXGSUM invocation, causing little or no summarization.
TRNDDB2R
Dec 11, 2019
   Thanks to Marybeth Delphia, CPA.TEXAS.GOV, USA.

Change 37.265  If you did not specify PDBOUT the correct dataset(s)
ANALMSUS       names were not generated.
Dec 11, 2019  -The use of substitution macros in IMACKEEP made ANALMSUS
               fail if you tried to run it twice in a single SAS
               session. Those affected macros are now nulled out.
              -OPTIONS NOBYLINE was set but there were no BY values
               in the TITLE statements - there are now.
              -MXG 37.09 ONLY. ERROR KEYWORD PARM OPTNME NOT DEFINED,
               now correctly spelled as OPTNAME.
              -Eliminated a WARNING about SUBSTR out of range when
               EXCELDEST was NULL.
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 37.264  SMF 99 Subtype 2 TYPE99_2 dataset did not input the many
VMAC99         variables that had been added in z/OS 2.3.
Dec 15, 2019
   Thanks to Betty Wong, Bank of America, USA.

Change 37.263  READDB2 didn't create the T102SSSS and T102S000 datasets
READDB2        when a numeric IFCID was in the IFCIDS= parameter. Now,
Dec 10, 2019   it does unless T102SSS/T102000 are set to NO.
               Logic to parse strings for each dataset was simplified
               and relocated to a separate macro to simplify ongoing
               maintenance.

Change 37.262  Replaced by Change 37.271.
BUILDIMS
Jan  1, 2020

Change 37.261  TYPE42 INPUT STATEMENT EXCEEDED subtype 6 due to a short
VMAC42         S42DSSNL=72 segment when SMF manual had 80, probably due
Dec  7, 2019   one of the APARs in Change 37.250.
              -Subtype 5, LENSR=208 records were deleted (Change 37.260)
               with log message, but now they are output and the extra
               48 bytes are skipped.
   Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.

Change 37.260  IDMS dataset IDMSTAS fields were misaligned because the
VMACIDMS       new variable TASBJBID was inserted in the record.
Dec  6, 2019
   Thanks to Paola Rosero, Government of Quebec, CANADA

Change 37.259  IMS SYNCPOINT Log Records IMS5937 and IMS5938 only kept a
VMACIMS        small number of variables, now all fields in the record
Dec 16, 2019   are kept.
   Thanks to Randy Hewitt, DXC. USA.

Change 37.258  Earlier releases of the %SCAN function of the %MACRO
READDB2        COMPILER returned the input string if there was only
Dec  1, 2019   a single string for the delimiter that was used, which
               required extra MXG logic to correct, and which could fail
               if AAAA was used, with no BBBB, and there was a CCCC but
               no space between the two slashes, causing CCCC to be seen
               as the BBBB argument, raising a WORD2 macro error.  Now,
               SAS returns the string correctly so the excess MXG logic
               could be removed along with this (rare) exposure.
              -If all you requested with WANTONLY was DB2ACCT DB2ACCTW
               was also produced.
   Thanks to Ervin Claxon, CSX, USA.

Change 37.257  This member will work but is obsolete and has been
TRNDRMFN       replaced by TRNDRMFI. The biggest difference is in the
Nov 29, 2019   input dataset. This member uses PDB.RMFINTRV which would
               only get a single days PDB as input while the TRNDRMFI
               member uses WEEK.RMFINTRV which would be all of the days
               of the week.
   Thanks to Wayne Bell, UNIGROUP, USA.

====== CHANGES THRU 37.256 WERE IN MXG 37.08 DATED Nov 26, 2019 ========

Change 37.256  ROSCOE new dataset PDB.ROSCOMON contains an observation
DIFFROSC       for each of these MONITOR values:
Nov 19, 2019      ALL AMS ATT CON CPL DIS DSF ETS HEX IMP
                  JCL LIB LOO OTH OUT PUR SOR UTI VTO ZAP
               and variable MONITOR contains the monitor acronym.
               The Monitors AUD AWS RPS SHU STA VPE are not included,
               as they have always had a separate ROSCOxxx dataset.
   Thanks to Linda S. Berkley, DISA, USA.

Change 37.255 -FDF support added for the RMF Monitor III PCIG3 (PCIE
ADOCRMFV       Activity Data Table) and SCMG3 (Storage Class Memory Data
ASMRMFV        Table).  General ASMRMFV support for these tables already
Nov 19, 2019   existed.
              -Improved ASMRMFV FDF handling of 16 byte binary
               Fields using Extended Floating Point arithmetic.
              -Minor corrections made to ASI, CPD, GEI, OPD, SPG, and
               SSHG3 FDF Variable Name Tables.
              -Main storage reduction made for FDF Alias and True
               Name entries in Variable Name Tables.
              -FDF now uses only 1 pattern table for all character
               Fieldnames instead of a pattern table for every character
               Fieldname when a user character pattern compare occurs.
              -Message RMFV088I now shows XFP (Extended Floating Point)
               tag for 16 byte quadword fields during FDF processing.
              -Floating point fields were not always scaled by FDF
               when required prior to comparisons to a user value.
              -When the maximum 32K LRECL output length to RMFBSAM would
               be exceeded in PROCCPU, PROCCFI, and PROCRCD subroutines
               the entire RMF III table will now be skipped. This should
               be a very rare event.
              -Section 12 Messages updated in ADOCRMFV.
              -These documentation sections in member ADOCRMFV are
               added for new FDF support:
                 40 Filtering The PCIG3 Table
                 41 Filtering The SCMG3 Table
               Remaining existing section numbers are incremented by 2.


Change 37.254 -MXG 37.05-37.07.  When CPC parameter was specified,
ASMRMFV        Message RMFV057I PARMS KEYWORD VALUE IS NULL printed
Nov 16, 2019   and neither CPCDB nor CPUG3 tables were selected.
              -PCIG3 table support was not checking the z/OS release.
               Only z/OS 2.3 and higher releases are supported.
               Inputting a PCI table from a lower release results in an
               MXG build failure.  PCIG3 tables from older releases will
               now be ignored.  Applies to MXG Releases 37.03 and up.

Change 37.253  Cosmetic.  Labels were blank for these variables/datasets
ASUM70PR       STCVSM32 variable SMLSSMF32
VMAC102        ASUMCEC  variable CPUICFTM
VMAC113        TYPE1131 EXTND22x variables had COUNTER 225 UNDEFINED
VMAC120        FOCUSMSO variables FOCUMEMA,FOCUMEMB
VMAC26J2       TYPE26J2 variable SUBS
VMAC82         TYPE82   variable SMF82_TAK_KEY_EVENT
VMACSTC        TYPE120  variable SMF1209HW
Nov 18, 2019   T102S106 variable QWO4ADM2-QWO4SADM
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 37.252  During QA testing we found that 250 members changed a
VMXGOPTR       SAS system option but did not return that option to its
MANY           original value, which could impact subsequent programs
Nov 18, 2019   in that SAS job step or SAS Session.  Previously, with
               NEWVALUE=ORIGINAL, VMXGOPTR reset the option to its
               value PRIOR to the LAST VMXGOPTR invocation, but now
               it is restored to the original value of the SAS Session
               or batch STEP, and all 250 members now have pairs of
               VMXGOPTR to change and to then reset options to their
               ORIGINAL value.
                 Example of use of VMXGOPTR with this change with the
                 original option DSNFERR having value DSNFERR:
                    %VMXGOPTR(OPTNAME=DSNFERR,NEWVALUE=NODSNFERR);
                      this code executes with NODSNFERR
                    %VMXGOPTR(OPTNAME=DSNFERR,NEWVALUE=NODSNFERR);
                      this code executes with NODSNFERR
                    %VMXGOPTR(OPTNAME=DSNFERR,NEWVALUE=ORIGINAL);
                      subsequent code executes with DSNFERR.
                 With the original VMXGOPTR, the subsequent code was
                 executed with NODSNFERR, which was wrong.
              -The report members also set TITLE and FOOTNOTEs to null
               to prevent carry-forward for following program reports.

Change 37.251  New DB2STATS variables DELTAAV0/AVA/ACB are negative when
VMACDB2        storage contraction starts, and the value is the number
Nov  7, 2019   of pages needed. Values for Available, DBM1 and DIST are
               created. IBM reports, with this ZPARM (xxxxxxxx) "AUTO",
               contraction will begin when paging is detected and DB2
               will try to bring a system to a point where paging is
               minimal or non-existent.  DB2 will enter a full
               contraction mode if 100% of REALSTORAGE_MAX is hit, when
               message DSNS0003I is issued, and the discard will start,
               if PM99575 is applied. DB2STATS variable QSST_RSMAX_WARN
               counts the number of times the REALSTORAGE_MAX Warning
               was reached in each interval.
   Thanks to Sieghart Seith, FICUCIA, GERMANY.

Change 37.250  SMF 42 Subtype 5 APAR OA52133 causes ABEND with LENSR=208
VMAC42         in SMF42SRL and a 208 byte segment, APAR OA54663 corrects
Nov  7, 2019   setting SMF42SRL=160 with only a 160 byte segment.  New
               length was introduced by the usermod ++APAR for OA52133,
               when it was still in development, and before OA54663.
              -Below Change Text was insufficient to protect for 208,
               and logic was completely revised in Change 37.261, 37.09.
                  To protect for future invalid lengths to avoid ABENDs,
                  MXG logic first tests for a delta of 160 bytes between
                  Storage Class Name fields and uses LENSR=160 if true,
                  or the SMF42SRL value is tested for a valid delta, and
                  uses that value if true. Otherwise, the record is
                  skipped with an MXGNOTE on the log.
   Thanks to Hiroshige Koshigoe, FTB CA, USA.
   Thanks to Sarel Swanepoel, SARS, SOUTH AFRICA.

Change 37.249A The FTP ACCESS method executing on z/OS to read z/OS data
CHCK4FTP       fails because the expected JFCB/DSCB tokens do not exist
Nov 22, 2019   with the SAS FTP Access method.
              -Most MXG use of the FTP ACCESS method executes on ASCII
               to read z/OS SMF data, which does not have this exposure.

              -There are two ways to use z/OS to z/OS ftp:

               Using SMF as an example DDNAME/INFILE name:
                 FILENAME SMF FTP "'MYSMFDATA'" HOST='IP ADDRESS'
                    USER='USERNAME' PASS='PASSWORD' S370VBS LRECL=32760
                    RCMD='SITE RDW';
                 %LET MXGJFCB=;
                 %LET MXGDSCB=;
                 %INCLUDE SOURCLIB(BUILDPDB);
               or
                 FILENAME SMF FTP "'MYSMFDATA'" HOST='IP ADDRESS'
                    USER='USERNAME' PASS='PASSWORD' S370VBS LRECL=32760
                    RCMD='SITE RDW';
                 %CHCK4FTP(DDNAME=SMF);
                 %INCLUDE SOURCLIB(BUILDPDB);

              -The %CHCK4FTP(DDNAME=yourdd); in example two validates
               that that DDNAME is allocated and then detects the engine
               type, and for FTP, MXGJFCB and MXGDSCB macro variables
               are blanked to prevent the JFCB/DSCB error.

   Thanks to Mike Martin, NC State Employee's Credit Union, USA.

Change 37.249  %DSCRDT now defaults to a null value and is enabled by
DODSCRDT       using %INCLUDE SOURCLIB(DODSCRDT); in your //SYSIN.
VMXGINIT      -These INFILE names can be enabled for these TYPExxxx:
Nov 26, 2019     TYPExxxx: TYPECTLT  TYPEDCOL  TYPEEDGR  TYPERMFV
                  INFILE:  CONTROLT  DCOLLECT  EDGHSKP   RMFBSAM
                 TYPExxxx  TYPETMS5  TYPEIMS
                  INFILE:  TMC       IMSLOG
               See change 37.161 for the original addition.

Change 37.248  Unused Change Number.
Nov  4, 2019

Change 37.247   Example analysis to track down why USERID was revoked.
TECHNOTE
Nov  4, 2019
   SUMMARY: Userid for an inbound FTP process had the wrong password,
   eventually userid was revoked, but the MVS RACF SYSLOG message was
   misleading, as it was expected to be a VTAM LU, but it is the value
   "A86CF325" in message that matches the RACFTERM:

   MVS SYSLOG excerpt
    ICH408I USER(FCADOU4 ) GROUP(ADOFTP  ) NAME(FTPS ID CDS T4) 546
    LOGON/JOB INITIATION - INVALID PASSWORD ENTERED AT TERMINAL A86CF325
    IRR013I  VERIFICATION FAILED. INVALID PASSWORD GIVEN.

   MXG TYPE8001
    RACF*USER*NAME [RACFUSER] FCADOU4
    EVENT*CODE*QUALIFIER [RACFQUAL] 101:INVALID PASSWORD
    RACF/VTAM*TERMINAL*NAME USED [RACFTERM] A86CF325

   MXG VMAC80A: INPUT   RACFTERM     $EBCDIC8.   /*@43 SMF80TRM*/

   RACF MACROS and INTERFACES  Documentation
   SMF80TRM 8 EBCDIC Terminal ID of foreground user (zero if not avail)

   MXG TYP11902
   CONNECTION*ESTABLISHMENT [TTSTIME] 26OCT2019:09:03:17.99
   TIMEWAIT OR*LASTACK [TTETIME] 26OCT2019:09:03:18.22
   REMOTE*IPV6*ADDRESS [TTRIPV6] 0000:0000:0000:0000:0000:FFFF:A86C:F325
   (matches RACFTERM from Type 80, and the MVS RACF ICH408I message)

Change 37.246  Dataset ZRBPCI variables PCIFTET and PCIFTQT were input
VMACRMFV       incorrectly as milliseconds (PIB8.3) units, but they are
Oct 31, 2019   both microseconds (PIB8.6), with TIME13.3 print format.

Change 37.245  If you KEEPALL=NO or %LET MXGKEEP=NO and your VMXGSUM
VMXGSUM        invocation had an INCODE= you might have gotten an
Oct 30, 2019   UNINIT message on one or more variables in the INCODE
               that were not also referenced in one of the parameters.
               This change modifies KEEPALL to YES if INCODE is used.

Change 37.244  Observations from Subtype 3 SMF 119 records were not
VMAC119        output because some of the Production UserIds did not
Oct 30, 2019   have read access to the SMF unix Facility, which is
               required for SMF record to be written.
   Thanks to Aslyona Bertneski, Express-Scripts, USA.

Change 37.243  Variables SMF70LACM SMF70LACA and SMF70LACB are now kept
VMAC7072       in TYPE70PR dataset to aid in SCRT comparisons.  They
Oct 28, 2019   have been in TYPE70 since Version 33.
   Thanks to Ken Deering, Compuware, USA.

Change 37.242  Support for BMC SMF79 Subtype 255 creates new dataset:
EXTY79FF          DDDDDD   Dataset     Description
FORMATS           TY79FF   TYPE79FF    BMC SMF 79 SUBTYPE 255
IMAC79
VMAC79
VMXGINIT
Oct 28, 2019
   Thanks to Randy Hewitt, DXC, USA.

Change 37.241  Several MG082xx format for SMF 82 records had wrong  hex
FORMATS        value displayed, but the text description was correct.
Oct 27, 2019
   Thanks to Ron Rust, Worldpay, USA.

Change 37.240  DB2 Variable QWP4STPGS='STATPGSAMP/N/Y/S' was not INPUT
VMAC102        in T102S106 dataset.
Oct 24, 2019
   Thanks to Lai Fai Wong, Bank of America, USA.


====== CHANGES THRU 37.239 WERE IN MXG 37.07 DATED Oct 22, 2019 ========

Change 37.239  Support for z/15 SMF113 records new CRYPTO17-CRYPTO20
VMAC113        counters (ERROR: ARRAY SUBSCRIPT OUT OF RANGE ABEND),
Oct 22, 2019   only if you had enabled the HIS CRYPTO counters.
   Thanks to Steven W Erkkila, USBANK, USA.

Change 37.238  Support for NDM-CDI 'S#' record type is now output in
VMACNDM        existing NDMAE dataset.
Oct 16, 2019
   Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.

Change 37.237  Cosmetic. STARTIME syntax modified to eliminate notes
ASUM42DS       from VMXGSUM internal invocation.
Oct 15, 2019

====== CHANGES THRU 37.236 WERE IN MXG 37.07 DATED Oct 14, 2019 ========

Change 37.236  Support for z/15 SMF 113 records new EXTEND256-EXTEND287
ANALSIIS       counters, with corresponding ARRAY size increases, CAUSED
VMAC113        ERROR:ARRAY SUBSCRIPT OUT OF RANGE ABEND.  In ANALSIIS,
Oct 14, 2019   SORT order was corrected.
   Thanks to Tony Curry, BMC, USA.

====== CHANGES THRU 37.235 WERE IN MXG 37.07 DATED Oct 12, 2019 ========

Change 37.235  CRITICAL ERROR if BLDSMPDB+VMXGALOC is used on ASCII.
BLDSMPDB       An ending comma in line 949 of BLDSMPDB caused
Oct 12, 2019   ERROR: All positional parameters must precede keyword.
               Remove the comma in line 949 of BLDSMPDB.

====== CHANGES THRU 37.234 WERE IN MXG 37.07 DATED Oct  9, 2019 ========

Change 37.234  DB2 variables added to DB2ACCT and DB2STATS datasets:
VMACDB2          QXSTEHLST='EXECUTION*HISTORY.LOST'
Oct  8, 2019     QXSTHVLST='HV*RECORDING*HISTORY*LOST'
                 QXRFMIAP='RID*LIST*PROCESSING*NOT USED'
   Thanks to Warren Cravey, Fidelity, USA.

Change 37.233  CICS variable ABCODE created by UTILEXCL was the concat
UTILEXCL       of ABCODE113!!ABCODE114, but using INPUT ABCODE $EBCDIC8.
Oct  8, 2019   eliminated the need for that statement, which caused
             ERROR: The name ABCOD113§§ABCOD114 is not a valid SAS name
               when UTILEXCL was run on Linux.  A track with SAS will be
               opened to resolve that error, because double exclamation
               points are used 6900 times in MXG for concatenation, but
               this code matches the VMAC110 code and should have been
               there some time ago, just for consistency, but now for
               circumvention.

Change 37.232 -If CICS Dynamic Transaction Routing, DTR is used, the
VMAC110        CICSTRAN has PROGRAM='########' which historically was
VMXGINIT       ONLY used when there was an invalid transaction name
Oct  9, 2019   typed in by the user, which caused many fields to be
               missing values, so MXG instead output the transaction
               to the CICSBAD dataset.  But now, if you enable DTR,
               the observation count in CICSTRAN may drop dramatically
               by the number of obs output in CICSBAD.  There does not
               appear to be a flag that identifies DTR was used.
               You will need to set
                 %LET MXGCICSDTR=YES;
               to cause MXG to output ALL transactions with '########'
               values to CICSTRAN instead of to CICSBAD.
              -The original test for CICSBAD also tested TRANFLAG for
               a bit that indicated invalid times in the record, but
               IBM removed that bit, so that bit test was removed.
              -Changes 23.312 and 24.155 document PROGRAM='########';
   Thanks to Scott Barry, SBBWORKS, INC, USA.

Change 37.231  z/VM 6.4.18.2 BROKEN CONTROL RECORD in IODVSW extended
VMACVMXA       INPUT for SKIP GE 20 was missing the @ at the end.
Oct  7, 2019
   Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.

Change 37.230  If you specified DURATM=INTERVAL with INTERVAL= values of
VMXGSUM        TWOMIN THREEMIN or TWENTYMIN the DURATM was not created.
Oct  6, 2019

Change 37.229  Doc only change - corrected spelling and syntax.
ANALCAPD
Oct  5, 2019

Change 37.228 -Format $MGRMIPS is updated for the z/15 processor type
ASUMMIPS       8561 to map the CPCFNAME ('8561-401') to the MIPS per MSU
FORMATS        value (267), used in ASUMMIPS and other 'MIPS' calcs.
Oct  5, 2019  -Protection for CPCFNAME not found in $MGRMIPS format now
               gracefully terminates with a message from ASUMMIPS.

Change 37.227  QLACRLNU was not added to DB2ACCTB nor DB2ACCTG causing
VMACDB2        UNINIT messages in ASUMDB2B and ASUMDB2G.
Oct  4, 2019

Change 37.226  TYPE 120 dataset TY120100 variables SM120RULEXCALLS (was
VMAC120        always -1) and SM120RULEXFSUM were in the wrong order in
Oct  3, 2019   the INPUT statement.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 37.225  RMM/EDGR dataset EDGRXEXT variable RDPHYSIZE was not
VMACEDGR       multiplied by the RDFACTOR(KB/MB/GB) so it was too small.
Oct  1, 2019   The value was correct in the other EDGR datasets.
   Thanks to Bradley Leis, TELUS, CANADA.

Change 37.224  If you correctly added VMXGALOC to your IMACINIT so that
VMXGALOC       you would always have the current PDBs allocated to each
BLDSMPDB       SAS/MXG session and changed the number of PDBs (daily,
Oct  1, 2019   weekly, monthly, etc.) in BLDSMPDB you could possibly
               wipe out old directories unintentionally. VMXGALOC now
               detects that it has already run and unless the new
               INVOKEBY= parameter is set to bldsmpdb sets the READONLY
               parameter to YES to prevent deletion of old directories.
               VMXGALOC in IMACINIT should always specify READONLY=YES
               so this is only insurance that will produce and MXGWARN
               message and set condition code 8.

Change 37.223  DB2 IFCID 376 variable QW0376SINR (statement count) was
VMAC102        not kept in 8 bytes, causing small differences in the
Sep 30, 2019   MXG value (222986880) vs IBM (222986962) = 82 smaller.
               With stored length of 8 bytes, the values match.
   Thanks to Warren Cravy, FMR, USA.

Change 37.222  Support for SAP Z Connector USER SMF Record creates
EXSAPZCO         DDDDDD   DATASET   DESCRIPTION
IMACSAPZ         SAPZCO   SAPXCO    SAP Z CONNECTOR
TYPESAPZ
TYPSSAPZ
VMACSAPZ
VMXGINIT
Sep 30, 2019
   Thanks to Nestor D Rossi, BancoGalica, ARGENTINA.

Change 37.221  Reserved Change.

Change 37.220  If you specified SYNC59=NO (the default) the intervals
VMXGDUR        always landed (for example with INTERVAL=QTRHOUR) on the
Sep 26, 2019   quarter at 0 15 30 45 minutes. If you wanted to keep the
               actual intervals you would have needed to subtract 1
               minute. VMXGDUR will now do that for you with the new
               USE59 parameter. YES will subtract 60 seconds from the
               calculated value and get the QTRHOUR back to 59 14 29 44
               minutes. You can implement this globally be inserting in
               IMACINIT: %LET SYNCTO59=YES;

               The purpose of SYNC59 was always to put the start of
               intervals on the hour since that usually makes more sense
               on management reports and graphs. But if you choose to
               use this on interval data without modifying the FLORCEIL
               parameter to CEIL and you use SYNC59=NO you will be
               getting the STARTIME of the prior interval rather than
               the current interval since 12:59 with the FLORCEIL=FLOOR
               set resolves to 12:45:
                 FLOOR('12:59't/900)*900;

               Examples using default of SYNC59=NO
                 FLORCEIL=FLOOR
               TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:12:45:00
                 FLORCEIL=FLOOR USE59=YES
               TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:12:44:00
                 FLORCEIL=CEIL
               TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:13:00:00
                 FLORCEIL=CEIL USE59=YES
               TIMESTMP=29AUG18:12:59:00 datetime=29AUG2018:12:59:00
   Thanks to Randy Hewitt, DXC, USA.

Change 37.219  Support for CA-DISK/Sterling DMS file DSNINDEX.
EXCAARCH       INFILE is CADISK, creates two new dataset:
EXCADISK         DDDDDD  DATASET   DESCRIPTION
FORMATS          CADISK  CADISK    DSNINDEX ARCHIVED OR BACKED UP.
IMACCADK         CAARCH  CAARCH    ARCHLOGS ARCHIVED DATASETS.
TYPECADK       -Invalid LEAP YEAR dates (year 2025, day 366) can't be
TYPSCADK        set to a numeric value, variable DSNDS1EDLEAP will now
VMACCADK        have the invalid date as character (2026366).
VMXGINIT
OCT  2, 2019
OCT 30, 2019
   Thanks to Pierre-Pascal Joulin, SOCGEN, FRANCE.

Change 37.218  DURATM=INTERVAL conflicted with DURATM in the SUM=
ASUMMIPS       parameter which raised an MXGWARN message.  DURATM
SEP 26, 2019   was removed from the SUM= list.
                MXGWARN: DURATM=INTERVAL WAS SPECIFIED BUT THE DURATM
                MXGWARN: VARIABLE CONTAINS NON-MISSING VALUES. THIS
                MXGWARN: MAY BE AN ERROR CONDITION. VALUE OF DURATM
                MXGWARN: IN THE OUTPUT DATA IS:    0:15:00.00

Change 37.217  A test of EXCELDEST was not protected for length of 0
ANALMSUS       and generated a WARNING message but still ran albeit
Sep 26, 2019   with condition code 4.
   Thanks to Robert Sample, TOMY, USA.

Change 37.216  SMF Type 2 Subtypes 1 and 2 fields SMF2GSIG and SMF1ISIG
TYPE0203       were documented as 512 bytes long, but IBM updated their
Sep 26, 2019   doc that they are variable length fields, so the INPUT
               is revised to use the SMF2GSIGLEN and SMF2ISIGLEN fields
               to input the variable length data.

Change 37.215  Updates for FOCUS USER SMF record changes version 7.7.
ADOCFOCU      -VMACFOCU was changed to accommodate a change by IBI in
FORMATS        their SMF records somewhere around version 7.7 of
VMACFOCU       WebFOCUS (vendor support wasn't clear about when the
Sep 25, 2019   change happened).
Nov 14, 2019  -User ID fields were changed from 8 to 20 bytes and a
               'security provider' value was prepended to each user ID
               with a '\' as separator. These changes caused other
               fields in the SMF record to be in different columns than
               they were previously. Fields were also added for zIIP
               time and zIIP-on-CP time.
              -There is no version field in the SMF record, so this code
               uses the record subtype and the length of the record to
               determine which record format to use. There are four
               subtypes - 1,2,4, and 5, which are Logon, Logoff, Begin
               Query, and End Query, respectively. Old format records
               are shorter than new format records, so the code checks
               to see if a record is shorter than the new format, and if
               it is, uses the old format. Older format records will
               have missing or blank values for old variables that no
               longer exist in the new records.
              -Each user ID variable (Logon User ID, Security User ID,
               Pooled User ID) now has a corresponding security provider
               variable. The provider will be blank if an older format
               record was used.
              -zIIP time and zIIP-on-CP time variables are normalized,
               according to the vendor. We are not sure of the accuracy
               of these fields, and would not count on them for serious
               reporting.
              -Members ADOCFOCU and VMACFOCU were changed to reflect
               these changes. Some labels were changed to reflect that
               these records are produced by the vendor's WebFOCUS
               product in addition to the FOCUS MSO (Multi-System
               Option). In addition two new values are added in the
               new MGFOCTY format to reflect subtypes 4 (Begin Query)
               and 5 (End Query).
   Thanks to Tim Hare, Hare Systems, USA.

Change 37.214  ANAL82AU combines the separate SERV and USER observations
ANAL82AU       into one observation with two sets of variable names.
Sep 25, 2019
   Thanks to Alexander Bitter, Worldpay, USA.
   Thanks to Rib Rust, Worldpay, USA.
   Thanks to Brian Bowling, Worldpay, USA.

Change 37.213  Support for RACF 80A TOKDANAM=AUTOLOGIN creates new
VMAC80A        variable TOKAUTOLOGIN in TYPE80TK dataset.
Sep 24, 2019
   Thanks to Andrew Krink, Northern Territory Government, AUSTRALIA.

Change 37.212  Support for z15 processor SMF 113 RNI equation changed to
ASUM113            RNI=2.9*(0.45*L3P+1.5*L4LP+3.2*L4RP+6.5*MEMP)/100;
VMAC113
Sep 23, 2019

Change 37.211  Updates to TYPERMFV.
IMACRMFV      -Variable PCIFTYPHEX added to ZRBPCI dataset.
VMACRMFV      -Support for XCFG3 segment creates three datasets
Oct  2, 2019   that contain the same data as RMF I XCF records:
                 DDDDDD   DATASET   DESCRIPTION         SAME DATA
                 ZRBXCG   ZRBXCG    RMF III XCF GROUP   TYPE74ME
                 ZRBXCP   ZRBXCP    RMF III XCF PATH    TYPE74PA
                 ZRBXCS   ZRBXCS    RMF III XCF SYSTEM  TYPE74SY

Change 37.210  If the default requested INTERVAL=_CICINTRV (HALFHOUR)
CICINTRV       doesn't match your actual CICS Statistics interval, or
Sep 20, 2019   isn't an exact integer multiple, MXG printed a warning
               that the resultant CICINTRV dataset was invalid, as it
               built using your _CICINTRV value.
               Now, your _CICINTRV value is compared with the maximum
               DURATM in your data, and if your requested _CICINTRV can
               be honored it will be; otherwise the interval of your
               data is used, and a warning of the change is printed.

Change 37.209  Spurious log messages INVALID VALUE FOR INPUT FUNCTION
DODSCRDT       that occur only if INFILE is on TAPE are harmless with no
Sep 19, 2019   impact on the output MXG datasets. Thought removed by the
               Aug 30 MXG 37.06 Change 37.189, they weren't until this.
   Thanks to Betty Wong, Bank of America, USA.

Change 37.208  ID & 89 added to the list of product suffix found in your
UTILBLDP       USERADD= argument that are already in BUILDPDB=YES and
Sep 19, 2019   would have caused an error if honored.
   Thanks to Randy Hewitt, DXC, USA.

Change 37.207 -New format MG110XL is created for UCICSCNT report so you
QA9464         can choose the display of the CICS STID variable:
UCICSCNT         MG110XN - IBM Description:   2:Storage Manager DSA
UTILVREF         MG110XD - MXG Dataset Name    2:CICSMDSA
FORMATS          MG110XL - MXG Dataset + Label 2:CICSMDSA:SMS STATS
VMXGINIT       The existing default MG110XN format is unchanged.
Sep 18, 2019   In your SYSIN   %LET UCICSFMT=MG110XD.; sets your choice.
              -New format $MGDSNLAB maps MXG Dataset Name to the Dataset
               Label for all MXG datasets.
   Thanks to MP Welch, Bank of America, USA.


Change 37.206  BUILDPDB PDB.STEPS & PDB.JOBS are enhanced with variable
BUILD005       CPUZIPTM_CPUIFATM_INST to count zIIP instructions; the
BUIL3005       CP instruction count is already in variable CPU_INST.
Sep 13, 2019
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 37.205  TYPE71 LFAREA 1Mb FRAMES can be broken up into smaller
VMAC71         pages, and the number of BrokenUP frames is in the new
Sep 13, 2019   variable SMF71BRKUP='PGBL 1MB*BREAKUP*FRAMES', calculated
               as the delta between installed 1MB Pageable frames and
               the used 1MB frames.
   Thanks to Joe Faska, DTCC, USA.
   Thanks to Toni Skrajnar, IBM Support, USA.

Change 37.204 -z/OS 2.4 MXG RMF Monitor III support.
ADOCRMFV      -New MXG Support for RMF III XCRG3 table:
ASMRMFV       -New ASMRMFV Field Data Filtering (FDF) support for
VMACRMFV       4 more RMF III tables: CPDG3 ENTG3 GEIG3 OPDG3.
Sep 12, 2019  -15 ASMRMFV corrections for conditions found during
Sep 20, 2019
Sep 26, 2019
Oct  3, 2019                *** New Support ***
Oct  8, 2019
              -Support for the RMF Monitor III Cryptographic Hardware
               Data table (CRYG3) table new with z/OS 2.4 .  The CRYG3
               table does not exist for prior z/OS releases.
              -The CRYG3 selection option is CRY (alias K).
               The CRYG3 filtering option is NOCRY (aliases -CRY, -K).
               CRYG3 is also selected if the MOST option is used.
              -Support for the RMF Monitor III XCF Activity Data table
               (XCFG3) which has existed at least since z/OS 1.13 but
               was undocumented.
              -The XCFG3 selection option is XCF (alias X).
               The XCFG3 filtering option is NOXCF (aliases -XCF, -X).
               XCFG3 is also selected if the MOST option is used.
              -FDF support added for the RMF III Channel Data table
               CPDG3.  Information on CPD FDF filtering appears in
               Section 33 Filtering The CPD Table in the ADOCRMFV
               documentation member.  There is a data dictionary listing
               all the CPDG3 field names supported by FDF.
              -FDF support added for the RMF III Enqueue Name table
               ENTG3.  Information on ENT FDF filtering appears in
               Section 37 Filtering The ENT Table in the ADOCRMFV
               documentation member.  There is a data dictionary listing
               all the ENTG3 field names supported by FDF.
              -FDF support added for the RMF III OMVS Process Data table
               OPDG3.  Information on OPD FDF filtering appears in
               Section 39 Filtering The OPD Table in the ADOCRMFV
               documentation member.  There is a data dictionary listing
               all the OPDG3 field names supported by FDF.
              -FDF support added for the RMF III General Information
               table GEIG3.  Information on GEI FDF filtering appears in
               Section 38 Filtering The GEI Table in the ADOCRMFV
               documentation member.  There is a data dictionary listing
               all the GEIG3 field names supported by FDF.
              -Support for new release z/OS 2.4 RMF III fields added to
               existing FDF Variable Name Tables.

                            *** Enhancements ***

              -FDF support expanded for up to 256 byte character fields
               raised from 8 bytes.  But FDF IF expressions for
               character field filtering may still not exceed the actual
               size of the field or an error is flagged.
              -Pattern matching subroutine MATCH now supports up to 256
               characters in a pattern.
              -FDF now translates X'00' to blank X'40' for selected
               character field source data fields similar to what the
               VMACRMFV SAS member does during a PDB build.
              -Messages RMFV080I and RMFV088I now support character
               string displays up to 105 characters.  Longer character
               strings are either output as a separate message or a '+'
               flag is shown in the last byte of the message to indicate
               the message has been truncated.
              -Messages RMFV080I and RMFV088I now show tags of 'SFP' for
               short floating point fields or 'LFP' for long floating
               point fields instead of only showing 'FP'.
              -Messages RMFV080I and RMFV088I now show the full IF
               expression used if space allows.
              -The SHOWBYTE subroutine now supports formatting of
               storage byte values in kibibytes (kilobytes) 1024 through
               yobibytes (yottabytes) 1024**8 in message RMFV088I.
               However, current implementation restrictions at this time
               limit values to a maximum of 9,223,372,036,854,775,807 or
               about 1.22 pebibytes (petabytes).
              -These documentation sections in member ADOCRMFV are all
               updated for new support, enhancements, z/OS 2.4 and
               corrections:

                2 Terminology
                3 Execution JCL
                4 RMF III Table Selection Parameters
                5 Input Data Selection Parameters
                6 Report Control Parameters
                7 Output Data Control Parameters
                8 Error Handling Parameters
                9 JCL and SYSIN Parameter Usage
               12 Messages
               13 Filtered Records
               15 Program and IBM Limitations
               21 Extended ASIG3/ENCG3/RCDG3/UWDG3 Record Support
               22 RMF III VSAM Data Set Index Usage and Sizing
               23 RMF III Options That Effect Data
               24 RMF III Sysplex Master Gatherer
               25 Ranges and Patterns
               26 ASMRMFV and MXG PDB Data Relationships
               31 Field Data Filtering (FDF)
               32 Filtering The ASI Table
               33 Filtering The CPD Table
               34 Filtering The CSR Table
               35 Filtering The DSI Table
               36 Filtering The DVT Table
               37 Filtering The ENT Table
               38 Filtering The GEI Table
               39 Filtering The OPD Table
               40 Filtering The SPG Table
               41 Filtering The SSH Table
               42 Summary
               43 Bibliography

                            *** Corrections ***

              -All of these possible corrections apply to ASMRMFV in
               MXG Versions 37.03-37.06.
              -The last character of the 3 character day name in message
               RMFV041I was truncated.
              -Hex characters used in IF expressions for character
               fields were not handled correctly.
              -FDF IF expression numeric values with both a fraction and
               exponent were not correctly scaled in subroutine IFNUM.
              -Possible S0C7 Abend with large IF expression numeric
               value and a Scale Multiplier in FDF IFNUM subroutine.
              -Possible S0C7 Abend in FDF IFNUM subroutine processing
               short or long floating point values.
              -Possible Abend S0C4 in FDF SETIF subroutine because VNT
               extension length was not added to base VNT entry length
               to determine when IF entry array expansion was required.
              -Incorrect formatting for a fixed binary number with a
               fraction in FDF RMFV088I message.
              -Incorrect digit shifting for fixed binary numbers in FDF
               IF expression coded with a fractional part.
              -Abend S0C4 in FDF SETIF subroutine when NOSHOWARR option
               (default) was in effect and an IF array expansion
               occurred.
              -Possible S0C4 Abend in FDF SETIF subroutine when the
               fieldname in an FDF IF expression was an alias.
              -Incorrect formatting of some fractional numbers by
               SHOWDEC subroutine in RMFV088I messages.
              -Message RMFV088I after a FDF floating point precision
               loss is detected incorrectly showed the original user IF
               expression value instead of the true floating point value
               actually in effect for comparisons.
              -FDF subroutine IFNUM did not shift out any fractions from
               the original user value in the IF expression to create an
               integer when determining whether a floating point
               precision loss had occurred.
              -Possible incorrect byte display in FDF RMFV088I message
               from SHOWBYTE subroutine for large values.
              -Possible S0C1 Abend if a Fieldname entry in a FDF
               Variable Name Table incorrectly has an alias equal to
               itself.
                            *** FDF Limits ***

               These are the current FDF supported limits for Change
               37.204 as FDF IF expression values.

               In no case may the IF expression value exceed the size of
               the RMF III source field whether numeric or character.

               Field Type    Value range
               ----------    -------------------------------------------

               Fixed Binary
                  1 byte     0-255
                             X'00'-X'FF'
                  2 byte     0-65,535
                             X'0000'-X'FFFF'
                  4 byte     0-4,294,967,295
                             X'00000000'-X'FFFFFFFF'
                  8 byte     0-9,223,372,036,854,775,807 *
                             X'0000000000000000'-X'7FFFFFFFFFFFFFFF' *

               * the limit for a 8 byte binary number is imposed by the
               need for ASMRMFV to convert the input number to binary.
               A grande 64-bit register only holds X'7FFFFFFFFFFFFFFF'
               as a high order sign bit is required.

               Floating Point **
                  4 byte     0-9,223,372,036,854,775,807
                  8 byte     0-9,223,372,036,854,775,807

               ** the limit for a floating point number is imposed by
               the need for ASMRMFV to convert the input number to
               binary before conversion to floating point.  A grande
               64-bit register only holds X'7FFFFFFFFFFFFFFF' as a high
               order sign bit is required.

               Bit String
                  1 byte     0-255
                             X'00'-X'FF'       without don't cares

                  1 byte     .......0-1111111. with don't cares

               Percentage    0.0-100.0

               Time of Day   01JAN2000:00:00:00-17SEP2042:23:53:46 ***

               *** The of day limit is imposed by the 64 bit TOD clock
               which wraps to all binary ones in September 2042.  The
               addition of leap seconds may affect this value.

               Time ****

                  4 byte     0-4,294,967,295
                             X'00000000'-X'FFFFFFFF'
                  8 byte     0-9,223,372,036,854,775,807
                             X'0000000000000000'-X'7FFFFFFFFFFFFFFF'

               **** Time units depend on the default time unit for the
               RMF III field or the explicit time unit coded by the
               user.  They can range from microseconds to days.

               TOD date only 01JAN2000-17SEP2042

               TOD Time only 00:00:00-23:59:59

Change 37.203  Unused Change Number.
Sep 11, 2019

Change 37.202  Support for truncated SMF 61 catalog record from z/OS 2.3
VMAC6156       causing INPUT STATEMENT EXCEEDED error.
Sep  9, 2019
   Thanks to Mike Jacques, BB&T, USA.

Change 37.201  The MGBYTES format is extended to decode storage units in
FORMATS        zettabytes and yottabytes.
Sep 27, 2019

Change 37.200  Optional CICSTRAN DBCTL segment variable STATCTM1 was
IMACICDB       10 times too large (4 usec should be 0.4 usec)  due to
Sep 9, 2019    incorrect STCK informat, corrected to TU4.
   Thanks to Scott Barry, SBBWorks, INC., USA.

Change 37.199 -Variables QWACPCTT/QLACRLNU are used to get the correct
VMACDB2        count of THREADS when ROLLUPS (DB2PARTY=R) are in use:
ASUMDB2A        DB2ACCT  variable QWACPCTT is summed into THREADS in
ASUMDB2B           ASUMDB2A unless QLACRLNU is GT 0 and used instead.
ASUMDB2G        DB2ACCTP variable QPACRLNU is summed into PACKCNT in
ASUMDB2P           ASUMDB2P
ASUMDB2R        DB2ACCTB variable QWACPCTT is summed into THREADS in
Sep  7, 2019       ASUMDB2B unless QLACRLNU is GT 0 and used instead.
Sep 16, 2019    DB2ACCTG variable QLACPCTT is summed into THREADS in
                   ASUMDB2G unless QLACRLNU is GT 0 and used instead.
                DB2ACCTR variable QLACRLNU is summed into THREADS
              -Previously THREADS in DB2ACCT and COUNT in DB2ACCTP
               counted each record; so counts will be larger and
               correct in the ASUMs and in ANALDB2R which uses them,
               unless the count is one, which does happen.
              -This change means that the average values reported in
               ANALDB2R will be more accurate but it still precludes
               detail problem analysis from rolled up records since
               the best you can get is an average value.
               Variable QWACPCTT is now kept in DB2ACCTB/DB2ACCTG/
               DB2ACCTR so it can be used in those ASUMs.

Change 37.198  BETA 93 Subtypes 12,17,30,31,55 were not input because
VMACBETA       they weren't added to the IF SUBTYPE IN list of subtypes,
Sep 11, 2019   and they were not sorted to the PDB data library.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 37.197  BETA 97 Subtype 51 Dataset BETA9751D did not input the
VMACBE97       "New Area" fields for BETA9751REC='U', UPDATE records.
Sep 11, 2019   An undocumented test to skip U records was removed.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 37.196  Member IMACTIME and CHANGESS had references to "OKJOB"
IMACTIME       that should be OKFLAG for consistency; no impact as the
CHANGESS       member is optional and "OKJOB" is in comments.
Sep  5, 2019
   Thanks to Scott Barry, SBBWorks, INC., USA.

Change 37.195  The PDB.PRINT dataset ACCOUNT variables were populated
BUILD005       only in the first observation for each job, and TYPETASK
Sep  5, 2019   had the SUBSYS6 value (PSF/VPS) instead of TYPETASK (JOB)
   Thanks to Scott Barry, SBBWorks, INC., USA.

Change 37.194  Formats added for TYPE42DS variables S42DSENT/S42DSCMT to
FORMATS        decode the Encryption Type and Compression TYPEs.
VMAC42         ET=AES-256,CT=None/Generic/Tailored/zEDC.
Sep  3, 2019
   Thanks to Luis Mendoza, BKFS, USA.

Change 37.193  Format $MG110EX for dataset CICSEXCE variable EXCMNTYP
FORMATS        did not map value '0004'X to 04:POLICY THRESHOLD instead
Sep  3, 2019   printing a confusing '00'X value.
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 37.192  TLMS dataset TYPETLMS from the "B" record is updated and
EXTYTLMC       two new TLMS datasets TYPETLMC/TYPETLMD are now created
EXTYTLMD       from the "C" and "D" TLMS records:
IMACTLMS           DDDDDD   DATASET   DESCRIPTION
VMACTLMS           TYTLMC   TYPETLMC  MASTER FILE CONTROL RECORD
VMXGINIT           TYTLMD   TYPETLMD  VOLUME MASTER FILE MULTI DATASET
Sep 25, 2019
   Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.

Change 37.191  RMM/EDGR processing in VMXGDSN had zero obs for TAPES and
VMXGDSN        TAPEDSNS MXG 37.03-MXG 37.06; the SORT input dataset was
Sep  2, 2019   incorrectly changed to EDGRDEXT instead of EDGRXEXT.
   Thanks to Wayne Bell, UNIGROUP, USA.
   Thanks to John Fulton, UNIGROUUP,USA

====== CHANGES THRU 37.190 ARE IN MXG 37.06 DATED AUG 30, 2019 =========

Change 37.190  New macro %MXGFINFO creates dataset EXTFILES with these
MXGFINFO       variables for every external filename (INFILE)
Aug 30, 2019    -z/OS: FILEREF DSNAME DEVICE and CREATEDATE
                -ASCII FILEREF XPATH and CREATEDATE.
               CREATEDATE will be missing if the ftp access method is
               used.

Change 37.189  Spurious INVALID VALUE FOR INPUT FUNCTION in first 37.06
DODSCRDT       had no impact, except for lots of lines on the log. It
Aug 30, 2019   occurs when the INFILE is on TAPE, because the DSCB that
               SAS returns is the VOL2HDR instead of the date-containing
               DSCB, so the CREATEDATE variable is always missing for
               INFILE on Tape.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 37.188  Example 2 had a Missing "END;" statement
IMACUOW
Aug 29, 2019

Change 37.187  Labels for Tennant TRG_SUCP,TRG_SUIFA,TRG_SUSP variables
VMAC7072       are changed from *MSU* to *HDW MSU* because those values
Aug 29, 2019   are NOT the Software MSU (4HR AV) we normally use when
               discussing MSU. This link shows IBM uses the "Hardware"
               SU_SEC value to convert those service units to engine
               counts:
            https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0/
                    com.ibm.zos.v2r3.izsc100/cserbb200195.htm
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 37.186  Support for IBM Tivoli Advanced Allocation Management SMF
EXTYAAM1       record; this product replaces the old X37 product.
EXTYAAM3          DDDDDD   DATASET   DESCRIPTION
FORMATS           TYAAM1   TYPEAAM1  SUBSYSTEM ACTIVITY
IMACAAM           TYAAM3   TYPEAAM3  PROCESSING ACTIVITY
TYPEAAM        Subtype 3 have been data tested; IBM provided additional
TYPSAAM        bit values for DNV/DST/ADP and reported SPCF incorrectly
VMACAAM        sets '80'x bit causing 'C0'x for TRACKS, to be corrected,
VMXGINIT       but MXG's format maps both 'C0'x and '40'x to TRACKS.
Aug 28, 2019   Subtype 3 event records have only SMFTIME & JOB (AAMJBN),
Sep 24, 2019   no READTIME nor JCTJOBID/JESNR, so they can not be easily
               interleaved/merged with other JOB-related records.
  Thanks to Cha Kihun, Navy Federal, USA.
  Thanks to Richard Champouillon, Navy Federal,USA

Change 37.185  Warning: APPARENT SYMBOLIC REFERENCE LDB and LDB@ACG has
READDB2        no impact on the results, DB2ACCTG is correctly sent to
Aug 23, 2019   your LDB2ACG= argument with correct message text.
   Thanks to Douglas C. Walter, CITIGROUP,USA.

====== CHANGES THRU 37.184 ARE IN MXG 37.06 DATED AUG 22, 2019 =========

Change 37.184  Delete of temp dataset SRTIRC was relocated so it is
VMXGCICI       always deleted (to free WORK space).
Aug 14, 2019

Change 37.183  Support for SMF 82 subtypes 30 and 40-48 new datasets
FORMATS          DDDDDD  DATASET  DESCRIPTION
EXTY82AU         TY8230  TYPE8230 KDS ARCHIVE/CRYPTOPERIOD
EXTY8248         TY8240  TYPE8240 CCA SYMMETRIC KEY LIFECYCLE
IMAC82           TY8241  TYPE8241 CCA ASYMMETRIC KEY LIFECYCLE
VMAC82           TY8242  TYPE8242 PKCS#11 KEY LIFECYCLE EVENT
VMXGINIT         TY8243  TYPE8243 RCS CONFIGURATION CHANGE (not decoded)
Aug 21, 2019     TY8244  TYPE8244 CKDS KEY USAGE
Aug 27, 2019     TY8245  TYPE8245 PKDS KEY USAGE
Oct 30, 2019     TY8246  TYPE8246 PKCS#11 KEY USAGE
                 TY8247  TYPE8247 PKCS#11 NOKEY USAGE
                 TY8248  TYPE8248 WARN MODE
               Subtype 43 is not decoded, pending test data records.
               Subtypes 40,41,44,45,48 have been tested.
               Subtypes 42,46,47 are decoded but not tested.
   Thanks to Alexander Bitter, Worldpay, USA.
   Thanks to Lethika Panicker, Worldpay, USA.
   Thanks to Ron Rust, Worldpay, USA.

Change 37.182  Variable SMF74SCMR was incorrectly spelled SMF74SKCR.
VMAC74
Aug 14, 2019
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 37.181  Support for Hitachi MAR Mainframe Analytics Recorder 9.1
EXMAR07        creates new MARST07 PARM Section Dataset.
IMACMAR
VMACMAR
VMXGINIT
Aug 13, 2019

Change 37.180  MXG DB2 Formats $MGTMDOB, $MGTMDRM, $MGTMDRE, MGTMDRC are
FORMATS        updated with new values.
Aug 13, 2019
   Thanks to Randy Hewitt, DXC, USA.

Change 37.179  TYPE72GO variables METGOAL and PCTMETGO were wrong, now:
VMAC7072         IF TRANS GT 0 THEN DO M=1 TO 6;
Aug  9, 2019      METGOAL=SUM(METGOAL,RTSTRN(M));
                   PCTMETGO=100*METGOAL/TRANS;
                 END;
                 ELSE PCTMETGO=.;
   Thanks to James Peddycord, Northern Trust, USA.
   Thanks to Karl S. Huf, Northern Trust, USA.
   Thanks to Arati Khodaskar, IBM Global Services, USA.

Change 37.178 -MXG 37.05 only, possible S0C4 Abend in ASMRMFV PROCSSH
ASMRMFV        subroutine when comparing current RMF Version to a z/OS
Aug  9, 2019   2.3 Version number, after Change 37.140.
Aug 20, 2019  -That PROCSSH code was redundant with similar code in the
               FINDPOL subroutine that is RMF Version independent and
               has been removed to eliminate the S0C4 possibility.
              -MXG 37.03-37.05, ONLY if you use FDF IF expressions.
               ABEND S0C7 when a hex value is coded for a numeric field
               in an FDF IF expression. For example: IF=(ASIDP EQ X'FF')
              -Incorrect handling of exponents when coded for a numeric
               field in an FDF IF expression causing an incorrect
               compare value to be calculated.
               For example: IF=(ASI1MBFF GT 1E2)
              -Invalid hex value can be shown in RMFV080I and RMFV088I
               messages.
       Thanks to Kurt Gramling, GTS Tech-Support: CRM, USA

Change 37.177  Variables R745BYTR/BYTW/RTIR/RTIW were never populated by
VMAC74         IBM, as they were replaced by R7451CT1-R7451CT4, but they
Aug  8, 2019   are now populated by those replacement values rather than
               being missing values.  See Change 23.314.
   Thanks to Otto Burgess, OPM, USA.

Change 37.176  Support for IMS LOG '02'x record creates IMS02 dataset or
EXIMS02        prints a message if a multi-segment command record is
VMACIMS        found to send your IMSLOG so it can be supported.
VMXGINIT
Aug  7, 2019

Change 37.175  New metric, SIISPCT='STORE INTO*INSTRUCTION*STREAM*PCT'
ANALSIIS       is added to TYPE1131 and ASUM1131 datasets, to identify
VMAC113        potential timeframes based on percent of certain I writes
Aug  6, 2019   vs D Writes sourced, to identify when it happens, but NOT
               who is causing it.
              -ANALSIIS identifies intervals with SIISPCT GT 10 percent
               and identifies what programs were running in descending
               CPUTM or CPUZIPTM depending on CPU type during that high
               SIISPCT interval.
   Thanks to Kathy Walsh, IBM zSystems, USA.
   Thanks to John Burg, IBM zSystems, USA.

Change 37.174  Non-fatal Divide By Zero when QBSTVPL=0 was corrected.
VMACDB2
Aug  5, 2019
   Ron van der Zande, KLM Information Systems, THE NETHERLANDS.

Change 37.173  Support for TPMX $JCL_JJR, variable JCLJJR in TYPETPMX.
VMACTPMX       Only 9 lines of "new field" messages are now printed.
Aug  4, 2019
   Thanks to Jack Hyde, Optum Technology, USA.

Change 37.172  Dataset Encryption Variable SMF14DEF='Y' identifies data
VMAC1415       sets that are encrypted, and SMF14DET='0100'x to indicate
Aug  4, 2019   AES ('01'x) and 256 Bits ('00'x). INPUT was corrected.

Change 37.171  Variables R723GGTI, R723GGTN, R723GGKY and R723MFLG are
VMAC7072       kept in dataset TYPE72GO, and variable R723GGKY is now
Aug  4, 2019   INPUT correctly as $EBCDIC64 instead of 32.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 37.170  Variable DESTNATN is added to PDB.TYPE6 dataset.
BUILD005
BUIL3005
Aug  2, 2019
   Thanks to Scott Barry, SBBWorks, INC., USA.

Change 37.169  Variable INITTIME in dataset TYPE30_6 is created using
VMAC30           INITTIME=SMFTIME-ACTIVETM;
Aug  2, 2019   which can then be used to count unique step executions.
   Thanks to Scott Barry, SBBWorks, INC., USA.

Change 37.168  Four CICS "identity" variables weren't kept in CICSTRAN
UTILEXCL       when UTILEXCL was used: APPLID JOB SMFPSSPN SMFPSRVR, and
VMAC110        these new "identity" variables MVSLEVEL LOCLINFO MCTSSCRL
Aug  2, 2019   are added to CICSTRAN whether UTILEXCL is used or not.
               All could be deleted with
                 %LET MACKEEP=
                   MACRO _KCICTRN
                     DROP=APPLID JOB SMFPSSPN SMFPSRVR
                          MVSLEVEL LOCLINFO MCTSSCRL
                   %
                  :
                in your SYSIN.
   Thanks to Scott Barry, SBBWorks, INC., USA.

Change 37.167  z/OS 2/4 updates for RMF MONITOR III:
VMACRMFV      -VMACRMFV in MXG 37.05 (only) fails with z/OS 4.2 CSR data
Aug  2, 2019   and was corrected in 37.06 by this change (which changed
               only line 6871, from /48 to /CSRENTLE).
              -New RUCSA variables added to ZRBCSR dataset:
               CSRRUCSA ='RUCSA*AMOUNT'
               CSRERUCSA='ERUCSA*AMOUNT'
              -New RUCSA variables added to ZRBGEI dataset:
               GEIRUCSASZ='IPL SIZE*RU CSA*BELOW 16MB'
               GEIERUCSAZ='IPL SIZE*RU CSA*ABOVE 16MB'
               GEIRUCSAMX='MAX RUCSA*BELOW 16MB'
               GEIERUCSAX='MAX RUCSA*ABOVE 16MB'
               GEIRUCSASP='ALLOCATED RUCSA*BELOW 16MB'
               GEIERUCSAP='ALLOCATED RUCSA*ABOVE 16MB'
               GEIRUCSAAV='ACCUM RUCSA*BELOW 16MB'
               GEIERUCSAV='ACCUM RUCSA*ABOVE 16MB'
               GEIRUCSARE='UNALLOCATED*RUCSA BELOW 16MB'
               GEIRUCSAAS='ACCUM RUCSA*BELOW 16MB*BY SYSTEM'
               GEIERUCSAS='ACCUM RUCSA*ABOVE 16MB*BY SYSTEM'
               GEIBATRUCSA='ACCUM RUCSA*BELOW 16MB*BY BATCH'
               GEIBATERUCSA='ACCUM RUCSA*ABOVE 16MB*BY BATCH'
               GEIASCRUCSA='ACCUM RUCSA*BELOW 16MB*BY ASCH'
               GEIASCERUCSA='ACCUM RUCSA*ABOVE 16MB*BY ASCH'
               GEIOMVRUCSA='ACCUM RUCSA*BELOW 16MB*BY OMVS'
               GEIOMVERUCSA='ACCUM RUCSA*ABOVE 16MB*BY OMVS'
              -New variables with time to LPAR/Group Capping in ZRBCPU:
               CPC_TIME_TO_CAPL='TIME TO*LPAR*CAPPING'
               CPC_TIME_TO_CAPG='TIME TO*GROUP*CAPPING'
   Thanks to Kurt Gramling, TSYS, USA.

Change 37.166  z/OS 2/4 updates:
VMAC74        -Type 74 Subtype 2 additions to dataset TYPE74PA, virtual
VMAC78         storage for the optional Private Address Space data:
Aug  2, 2019    R742PUTM1 ='PATH1*TIME USED*AT PCT UTIL'
                R742PUTMS1='PATH1*SQRD TIME USED*AT PCT UTIL'
                R742PUCN1 ='PATH1*COUNT USED*AT PCT UTIL'
                R742PUSCN1='PATH1*SIGNAL COUNT SENT'
                R742PUPCT1='PATH1*PCT UTIL'
                R742PUTM2 ='PATH2*TIME USED*AT PCT UTIL'
                R742PUTMS2='PATH2*SQRD TIME USED*AT PCT UTIL'
                R742PUCN2 ='PATH2*COUNT USED*AT PCT UTIL'
                R742PUSCN2='PATH2*SIGNAL COUNT SENT'
                R742PUPCT2='PATH2*PCT UTIL'
                R742PUTM3 ='PATH3*TIME USED*AT PCT UTIL'
                R742PUTMS3='PATH3*SQRD TIME USED*AT PCT UTIL'
                R742PUCN3 ='PATH3*COUNT USED*AT PCT UTIL'
                R742PUSCN3='PATH3*SIGNAL COUNT SENT'
                R742PUPCT3='PATH3*PCT UTIL'
                R742PUTM4 ='PATH4*TIME USED*AT PCT UTIL'
                R742PUTMS4='PATH4*SQRD TIME USED*AT PCT UTIL'
                R742PUCN4 ='PATH4*COUNT USED*AT PCT UTIL'
                R742PUSCN4='PATH4*SIGNAL COUNT SENT'
                R742PUPCT4='PATH4*PCT UTIL'
                R742PNIBTM='PATH TOTAL TIME*NO INBOUND*BUFFER IMPACT'
                R742PNIBTS='PATH SQUARED TIME*NO INBOUND*BUFFER IMPACT'
                R742PNIBCN='PATH COUNT*NO INBOUND BUFFER'
                  /* XCFMGD */
               -Type 78 subtype 2 dataset TYPE78VS Virtual Storage new:
                R782RUCA ='RUCSA ADDRESS*BELOW 16MB'
                R782RUCS ='RUCSA SIZE*BELOW 16MB'
                R782ERUCA='RUCSA ADDRESS*ABOVE 16MB'
                R782ERUCS='RUCSA SIZE*ABOVE 16MB'
   Thanks to Kurt Gramling, TSYS, USA.

Change 37.165  Dataset TYPE8201 (Initialization) variables SMF82ITE/CKD/
VMAC82         IML/USR/PKD were misaligned by a one byte reserved field.
Jul  29, 2019
   Thanks to Matthew T Chappel,CQueensland Dept Transport, AUSTRALIA

Change 37.164  Variable TTTTLSSP in dataset TYP11902 is decoded by new
FORMATS        $MG119PT format:.
VMAC119         VALUE $MG119PT   /*TTTTLSPP*/
Jul 28, 2019     '0200'X='0200X:SSL V2'
                 '0300'X='0300X:SSL V3'
                 '0301'X='0301X:TLS 1.0'
                 '0302'X='0302X:TLS 1.1'
                 '0303'X='0303X:TLS 1.2'
               Variable TTTTLSNC documents '4X'x='USE TTTTLSNC4 instead'
               but values of '0A'x '35'x and '6B'x  are found in data
               but are not documented.
   Thanks to Joe Faska, DTCC, USA.

Change 37.163  Labels for these variables were made consistent
VMAC71
Aug  2, 2019    SMF71L4A='AVG*1MB*PAGEABLE*FRAMES*IN DREF'
                SMF71L4M='MIN*1MB*PAGEABLE*FRAMES*IN DREF'
                SMF71L4X='MAX*1MB*PAGEABLE*FRAMES*IN DREF'
                SMF71L5A='AVG*1MB*AVAILABLE*FRAMES*IN DREF'
                SMF71L5M='MIN*1MB*AVAILABLE*FRAMES*IN DREF'
                SMF71L5X='MAX*1MB*AVAILABLE*FRAMES*IN DREF'
                SMF71L6A='AVG*1MB*PAGEABLE*FRAMES*USED*IN DREF'
                SMF71L6M='MIN*1MB*PAGEABLE*FRAMES*USED*IN DREF'
                SMF71L6X='MAX*1MB*PAGEABLE*FRAMES*USED*IN DREF'

                SMF71L8A='AVG 1MB*PAGEABLE*FRAMES*IN CSTORE'
                SMF71L8M='MIN 1MB*PAGEABLE*FRAMES*IN CSTORE'
                SMF71L8X='MAX 1MB*PAGEABLE*FRAMES*IN CSTORE'
                SMF71L9A='AVG 1MB*AVAILABLE*FRAMES*IN CSTORE'
                SMF71L9M='MIN 1MB*AVAILABLE*FRAMES*IN CSTORE'
                SMF71L9X='MAX 1MB*AVAILABLE*FRAMES*IN CSTORE'
                SMF71PLA='AVG*1MB*PAGEABLE*FRAMES*USED*IN CSTORE'
                SMF71PLM='MIN*1MB*PAGEABLE*FRAMES*USED*IN CSTORE'
                SMF71PLX='MAX*1MB*PAGEABLE*FRAMES*USED*IN CSTORE'
Aug   2, 2019
   Thanks to Joe Faska, DTCC, USA.

Change 37.162  ANALSIZE failed due to a missing semicolon in VMXGSIZE.
VMXGSIZE
Jul  25, 2019
   Thanks to Richard Haynes, BCBSKS, USA.

Change 37.161 -New z/OS-Only SAS Date Variable CREATEDATE can be created
DODSCRDT       for INFILE names of SAS CONTROLT DCOLLECT RMFBSAM TMC
VMACCTLT       EDGHSKP IMSLOG OPCLOG, and is that variable is available
VMACDCOL       the IHDRxxxx exit for your selection criteria, and/or it
VMACEDGR       can be kept using the _Kdddddd dataset KEEP macro.
IHDRTMS5      -You must enable its creation with %LET DSCRDT=YES; in the
VMACIMS        SYSIN or %DSCRDT can be added for any z/OS INFILE by
VMACSMF        adding JFCB=MXGJFCB DSCB=MXGDSCB to the INFILE statement
VMACRMFV       and inserting %DSCRDT after the first INPUT statement:
VMACTMS5          DATA MYSTUFF;
VMXGINIT          INFILE MYFILE JFCB=MXGJFCB DSCB=MXGDSCB;
Aug  7, 2019      INPUT ;
Aug 11, 2019     %DSCRDT(JFCB=MXGJFCB);
Nov 26, 2019   SAS automatically prints the Create Date on the SAS log
               in its "INFILE IS " message, but DSCRDT can print its
               own log message if you use %LET MXGEXIMSG=YES;
               SEE CHANGE 37.249 FOR REVISION.
   Thanks to Linda S. Berkley, DISA, USA

Change 37.160  Unused Change Number.

Change 37.159  BETA 93 610 Subtype 40 and 49 misaligned, INVALID DATA
VMACBETA       messages for variables BETASTME and BETAETME in 49 and
Jul 18, 2019   BETAALT in subtype 40.

Change 37.158  BLDSMPDB adds SPIN: SPUN: to WEEKDROP MNTHDROP if they
BLDSMPDB       are not present. New parameters added WEEKBASE MNTHBASE
Jul 15, 2019   that both default to blanks which will then become
               yesterday and used to determine which datasets will be
               included in the weekly and monthly PDBs. This ensures
               that your most current PDB is used to build the
               weekly/monthly datasets. So if you decided to add
               something on the day before it will be propagated into
               the weekly/monthly jobs. The fact that it may not exist
               in all of the input PDBs is not a problem. These should
               only be used if you wish to force a specific PDB to be
               the basis for the weekly/monthly PDBs and if it does not
               exist via either a LIBNAME or a DD the job will fail.

Change 37.157  A new macro that will drill down through MSU consumption
ANALMSUS       from the TYPE89 records and the type 30 interval data. It
Jul 13, 2019   can produce bar charts, tabular reports, and EXCEL
Aug 27, 2019   spreadsheets as you choose.

Change 37.156  Variables ABEND CONDCODE added to PDB.SMFINTRV and the
VMAC30         TYPE30_V datasets. The values will only be populated from
Jul 13, 2019   the subtype 3 records.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 37.155  Support for CICS Optional field USER/AGENCY.
IMACAAAA
IMACICXB
UTILEXCL
VMAC110
   Thanks to Mark Hiltbruner, State of South Dakota, USA.

====== CHANGES THRU 37.154 ARE IN MXG 37.05 DATED Jul  8, 2019 =========

Change 37.154  SMF 110 Subtype 1 MNSEGCL=5 INPUT EXCEEDED ERROR due to
VMAC110        8 byte reserved field inserted in DPL ENTRY segment. Skip
Jul  8, 2019   the records (causing zero obs in CICSRDPL dataset) with:
                %LET MAC110H= %QUOTE(IF MNSEGCL=5 THEN DELETE; ) ;
               This was added in CICS/TS 5.5 to these (seldom used) CICS
               Resource segment.
   Thanks to Jack Hyde, Optum Technology, USA.


====== CHANGES THRU 37.153 ARE IN MXG 37.05 DATED Jul  6, 2019 =========

Change 37.153  SMF 120 Subtype 3 INPUT STATEMENT EXCEEDED ERROR due to
VMAC120        incorrect MXG logic that has accidentally worked: there
Jul  6, 2019   were only three ABENDS since Dec 2018. One circumvention
               which usually skips over the failing record was tried:
               OPTIONS STOPOVER MISSOVER %  but because the code error
               was a loop on the same INPUT location, MXG created 500
               million observations in TYP120SR filling fifteen WORK
               volumes before dying with a B37 no more extents error.
               The alternative circumvention was to skip that subtype:
                 %LET MACFILE=%QUOTE(IF ID=120 AND SUBTYPE=3;);
               until this update corrected the MXG code error.
               I think not related, but site had WebSphere 8.5.5 FP12.

====== CHANGES THRU 37.152 ARE IN MXG 37.05 DATED Jul  5, 2019 =========

Change 37.152  MXGSTEP populates new variable MXGSTEP='Y' in SMF 30's to
MXGSTEP        identify job steps that execute MXG programs, populating
Jul  5, 2019   TYPE30_V and TYPE30_4 with (TYPE30) and in PDB.SMFINTRV
               and PDB.STEPS with (BUILDPDB), or any MXG program that
               processes SMF 30 records, if PROGRAM='SAS' and DDNAMES
               SOURCLIB and LIBRARY are in this STEP, as both are
               required for MXG Execution.
   Thanks to Deepa Rajendran, DXC, SINGAPORE.

Change 37.151  ASUMMIPS now uses the $MGRMIPS format built from the IBM
ASUMMIPS       LSPRITR table to lookup CPCFNAME (eg 3906-716) for the
VMXGINIT       MIPSFACT (eg 8.34), the MIPS per MSU.  Previously you
Jul  4, 2019   had to provide your own MIPSFACT.
Jul  5, 2019
   Thanks to Randy Hewitt, DXC, USA.

Change 37.150  Support for DATACOM log file.
EXDCOM
IMACDCOM
TYPEDCOM
TYPSDCOM
VMACDCOM
VMXGINIT
Jul  2, 2019
   Thanks to Linda S. Berkley, DISA, USA.

Change 37.149  If you add ID to USERADD it must be the last entry
UTILBLDP       in the list.  If you happened to make it first the
Jul  2, 2019   list will be adjusted.

Change 37.148  BLDSMPDB adds SPIN: SPUN: to WEEKDROP MNTHDROP if they
BLDSMPDB       are not present. New parameters added WEEKBASE MNTHBASE
Jun 23, 2019   that both default to &WEEKDATE (yesterday) are used to
               decide which datasets can be included in the weekly and
               monthly PDBs. This ensures that your most current PDB is
               used to build the weekly/monthly datasets. So if you
               decided to add something on the day before it will be
               propagated into the weekly/monthly jobs. The fact that it
               may not exist in all of the input PDBs is not a problem.

Change 37.147  CICS Statistics datasets CICMPR and CICSJN were not in
VMAC110        the _N110_, _S110, and _S110ST optional tailoring macros.
Jul  1, 2019

Change 37.146  Macro variable &MACSPIN added to IMACSPIN for "instream"
IMACSPIN       tailoring of SPINCNT.
VMXGINIT
Jul  1, 2019
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 37.145  The "PROC PRINT" output with Label and Name column heads
VMXGPRA1       VMXGPRA1 and VMXGPRAL utilities now protect if you have
VMXGPRAL       changed the OBS option.  Their temp dataset has one obs
Jun 28, 2019   per variable, but if your OBS was too small, some heads
               were wrong and missing parens. Now the OBS value is held.
               the print is accomplished and your original OBS restored.
   Thanks to Scott Wiig, US Bank, USA.

Change 37.144  FLASH: MISSING PERIODS 2/3 TYPE72GO if MXG 36.07 or prior
VMAC7072       is used and IBM RMF APARs for SCM and Crypto are applied.
Jul  1, 2019
               There is no error with MXG 36.08 (Sept 2018) or later.

               One z/OS 2.3 site reported these were applied:
                  UA98434 APAR OA56461
                  UA98529 APAR OA56672
                  UA98759 APAR OA56826
                  UA98999 APAR OA56860
               and one z/os 2.2 site reported this was applied
                  UA98433 APAR OA56747
               but there may be other maintenance involved.

               You can examine your SMF 72 Subtype 3 period data with
                  PROC FREQ DATA=PDB.TYPE72GO;
                  TABLES SYSTEM*PERIOD;
                  TITLE TABLE OF PERIOD VALUES IN SMF 72 SUBTYPE 3;
               to see if you are missing values for your periods.

               These missing periods will cause the system Capture
               Ratio to decrease significantly, and the workload that
               normally have period data will have reduced CPU time in
               TYPE72GO and RMFINTRV datasets, and reports from them.

Change 37.143  Expanded Storage doesn't exist in all z/OS systems so the
IMAC71         56 ESTORE variables in TYPE71 can be dropped by removing
Jun 28, 2019   the comment block when you EDIT the IMAC71 tailoring
               member into your "USERID.SOURCLIB" tailoring library.
               You do need to examine any reporting programs that use
               the TYPE71 dataset to see if those variables are used.
   Thanks to Arnold Kim, UPS, USA.

Change 37.142  New READRATE %MACRO will measure the Read Rate (MiB/Sec)
READRATE       of MXG processing SMF data records, printing an interval
VMACSMF        trace on the log, a PLOT of READRATE vs RUNTIME, and PROC
VMXGINIT       TABULATE report with 1 sec default interval.  Additional
               options are in the comments in READRATE. Syntax:
Jul  1, 2019      %READRATE(READRATE=1,RESULTS=BOTH);
                  %INCLUDE SOURCLIB(TYPE30); RUN;
                  &READRATEREPORT;

Change 37.141  Format MG119CD 17:UCP corrected to 17:UDP.
FORMATS
Jun 26, 2019
   Thanks to Jenny Chen, DXC Technology, AUSTRALIA.

Change 37.140 -More RMF Monitor III tables are supported by FDF (Field
ADOCRMFV       Data Filter) in ASMRMFV:  DSI, SPG, SSH
ASMRMFV       -New CDF (Character Data Filters) added for RMF III VSAM
Jun 26, 2019   data set level filtering:

               CPCNAME=  (aliases CPC=, CECNAME=, CEC=)
               LPARNAME= (alias LPAR=)
              -LPAR names and CPC names are validated for correct syntax
               when these filters are used.
              -FDF now supports character patterns for character fields.
               Only Equal (= EQ) and Not Equal (^= =^ NE NEQ NOT NOTEQ
               NOT=) operators may be used in an IF expression with a
               character pattern.  A pattern either matches or it does
               not.  Other FDF operators are flagged as an error.
              -New DSIAND/DSIOR parameters which have the same function
               as the prior SYSAND/SYSOR parameters which are now
               respective aliases.
              -RMFV014I message now shows counts for RMF III data sets
               bypassed by CPCNAME= and/or LPARNAME= CDF keywords.
              -Duplicate counts are no longer shown in RMFV014I message
               if DUPDSN option is in effect (no duplicate checking).
              -Space analysis messages RMFV030I, RMFV031I are no longer
               issued for filtered RMF III VSAM data sets.
              -MAXDSNS= added as a further alias of MAXDSNAMES=.
              -Always force upper case for these CDF keyword values
               because lower case letters are always invalid and
               would be flagged as an error otherwise:

               CPCNAME=    SYSPLEX=     LPARNAME=   SYSTEM=
               ASISUBSYS=  ASIJOBCLASS= ASIJOBNAME= ASIJESID=
               CSRJOBNAME= CSRJESID=    DVTDEVNUM=
               OPDJOBNAME= OPDPROCNAME= OPDUSERNAME=
              -Support validation for all characters allowed for CDF
               Workload Names, Service Classes, Report Classes, and
               Resource Groups
              -Field descriptions in data dictionary entries in ADOCRMFV
               for FDF supported RMF III table expanded for better
               clarity.
              -TRUENAME Fieldnames in FDF data dictionary entries in
               ADOCRMFV documentation now show all possible aliases.
              -GMT offset value in Summary First Sample Begin Date/Time
               selected message RMFV013I could be incorrect.
              -RMFV013I selection messages were incorrectly displayed in
               Summary report when all RMF III data sets were filtered.
              -CDF keywords and aliases may now be used as Fieldnames
               in FDF IF expressions (minus the = suffix).
              -Message RMFV014I now includes a counter for FDF filters.
              -Negative values are now supported in FDF, but only for
               GMT offset fields xxxSTDIF and xxxGMTOFF where xxx is a 3
               character RMF table id.
              -For example this is a valid IF expression:
               IF=(ASISTDIF EQ -5H)
              -New second RMFV103I message is added to Detail and
               Summary reports to display Sample Set filter reason
               counts.
              -New options AUTOSEL (alias AUTO) and NOAUTOSEL (alias
               NOAUTO) added.
              -AUTOSEL is the default and will result in the RMF III
               table being automatically selected with any CDF or FDF
               filter if the table was not already selected.  This is a
               convenience feature.
              -New message RMFV082I appears when a table is auto
               selected.  In addition in message RMFV105I Y* will
               appear in the SELECT column for auto selected tables.
              -NOAUTOSEL provides the prior ASMRMFV behavior and the
               unselected table condition generates an error.  However,
               it may be helpful if JCL with CDF and/or FDF filters is
               routinely reused to avoid the PDB build overhead of
               automatically selecting a table that is no longer wanted.
              -For tables not referenced by CDF and/or FDF it is still
               necessary to select the RMF III tables of interest.
              -The SPGVOLSER= CDF filter could have incorrect results.
              -Following documentation sections in ADOCRMFV are added or
               updated:

               Section      Description

                   0        Contents
                   2        Terminology
                   3        Execution JCL
                   4        RMF III Table Selection Parameters
                   5        Input Data Selection Parameters
                   6        Report Control Parameters
                   8        Error Handling Parameters
                   9        JCL and SYSIN Parameter Usage
                  12        Messages
                  13        Filtered Records
                  16        Return Codes
                  20        FREE=CLOSE For VSAM Data Sets
                  21        Extended ASI/ENC/RCD/UWD Record Support
                  25        Ranges and Patterns
                  26        ASMRMFV and MXG PDB Data Relationships
                  31        Field Data Filtering (FDF)
                  32        Filtering The ASI Table
                  33        Filtering The CSR Table
                  34        Filtering The DSI Table
                  35        Filtering The DVT Table
                  36        Filtering The ENT Table (Future)
                  37        Filtering The GEI Table (Future)
                  38        Filtering The OPD Table (Future)
                  39        Filtering The SPG Table
                  40        Filtering The SSH Table
                  41        Summary

Change 37.139  Reserved Change.

Change 37.138  The label for variable QW0199TRS in DB2 102 IFCID 199 was
VMAC102        corrected to 'END TIME*OF*INTERVAL', which is strange as
Jun 24, 2019   the SMFTIME was available for the end time.
   Thanks to Xing Su, DXC Technology, AUSTRALIA.
   Thanks to Peter J. Gray, DXC Technology, AUSTRALIA.

Change 37.137 -Variables INDXUSEP and POLYUSEP percentages are created
VMACRMFV       in dataset ZRBDISH to track index usage.  The 1110 is the
Jun 21, 2019   maximum number of sample indexes in a 32K DSI table and
               50 is the maximum number of policy indexes.
              -Strange RMF III intervals can be created if the values
               in SMFPRMxx don't match ERBRMFxx options.  A site had
               SMF INTVAL(10) SYNCVAL(59) with RMF MINTIME(300) SYNC(0)
               for RMF III, which created a 4 minute interval (:55 -:59)
               when the RMF III MINTIME expired, a one minute (:59-:00)
               interval when the SMF Interval Expired, and a five minute
               (:00-:05) when the RMF Interval Expired.

Change 37.136  ANALMSUS is a powerful set of reports of SOFTWARE MSUs
ANALMSUS       from ASUMCELP, SMFINTRV, TYPE72GO, TYPE89 records, that
Jun 21, 2019   has many different bar charts, tabular reports, and EXCEL
               spreadsheets as you choose, with report examples in the
               comments, and with numerous report examples available
               online at http://www.mxg.com/downloads/analmsus/
                   ANALMSUS.PDF
                   ASUMCELPMSU.XLSX
                   JOBSMSU.XLSX
                   MSU89.XLSX
                   REPORTCLASS.XLSX
                   SERVICECLASS.XLSX
                   TYPETASK.XLSX
               (Don't be confused with archaic ASUMMSUS member.)

Change 37.135  Type 42 Subtype 5 Invalid LENSR values were individually
VMAC42         detected and LENSR=160 set, but now there are a total of
Jun 21, 2019   22 different values for records, because IBM populates
Jun 24, 2019   the total length and not the 160 first segment length.
               But with 22 tests, I'm now forcing LENSR=160 always, as
               that will ONLY fail if IBM actually changes that first
               segment size in the future, you won't be ABENDing on
               each new LENSR value.  These are the known invalids:
               IF LENSR IN (232,240,320,376,400,480,448,304,520,560,592,
                  720,640,1040,1120,1200,960,1360,1280,1440,880,800)
                  THEN LENSR=160;
   Thanks to Robert Obee, Ensono, USA.

Change 37.134  CHART option changed to NONE because DSIG option is no
ANALACTM       longer supported after SAS 9.3. The four coefficients
Jun 15, 2019   (CPU SRB MSO IOC) are added to WLM definitions report.

Change 37.133  TYPE42HI dataset, variables S42VSXST/S42VSXRT/S42VSXID
VMAC42         added in MXG 37.02 and MXG 37.03 incorrectly as character
Jun 17, 2019   variables with $EBCDIC8 informat. Change 37.019 in 37.04
               corrected them to &PIB.4. numeric variables, but if you
               build WEEKLY PDBs with some days created by 37.02/03 and
               other days by 37.04 or later, you will need to either
               DROP those variables from the 02/03 day's PDB, or just
               remove the creation of TYPE42HI for that week.
               It is always best if a new version of MXG is installed
               to run on the first day of your week, so that all of
               those daily PDBs will have identical structure.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 37.132  Addition of a semi-colon following &OUTCODEx argument in
ASUM4HRS       %VMXGSUM invocations to prevent rare errors.
GRAFCEC
GRAFWLM
VMXGRMFI
VMXGSUM
VMXGSUM
VMXGUOTT
Jun 14, 2019

Change 37.131  ANALCNCR fails with multiple errors if there are 0 OBS in
ANALCNCR       the input datasets.  Now detected and ANALCNCR ends.
Jun 21, 2019

Change 37.130 -New VM Account datasets supported.
EXVMCAPD          dddddd   Dataset    Description
EXVMCAPE          CHGD     VMCAPCHD   CAPABILITY*CHANGED
IMACVM            CHGE     VMCAPCHE   CAPABILITY*CONTINUATION
TYPEVM        -Under investigation with IBM Support:
VMXGINIT       -Records with blank RECID (bytes 79-80).
Jun 25, 2019   -VMSESSN records overlap, with ACCTTIME greater than the
                STARTIME=ACCTTIME-CONECTTM of the next record for the
                User TCPIP, trying to use this data for availability
                measurement.
   Thanks to William Marshall, Ensono, USA.

Change 37.129  Member INSTALL and the listed members were updated with
INSTALL        more consistent names in the examples.
MXGWPSV4      -The WPS V4 JCL Procedure need a new DD for 4.1:
JCLINSTW         //MAPS DD DSN=&WPSHLQ..MAPS,DISP=SHR
MXGWPSV3
MXGWPSV4
JCLINSTL
JCLINSTT
CONFIGW4
Jun 12, 2019

Change 37.128  SMF 82 ICSF updates from ICN1633 for a future release:
FORMATS       -New variable SMF82CSF in TYPE8201 identifies source of
VMAC82         the startup member name, formatted MG082CS.
Jun 12, 2019  -Variable SMF82UCB, SMF82TKF bits are decoded in TYPE8209.
              -Variable SMF82TKF bits are decoded in TYPE8209
              -Variable SMF82BOT bits are decoded in TYPE8213.

Change 37.127 -Formats created for TYP11902 dataset variables TTTTLSCS,
FORMATS        TTTLSPD, TTTERMCD, TTSMCSTATUS, and values updated in
VMAC119        format $MG119RE for variable T119REAS.
Jun 11, 2019  -New TYP11902 variables:
                 TTSMCSTATUS='SMC-R*STATUS'
                 TTIPSECFLAGS='IP*SECURITY*STATUS'
                 TTLCLSMCBUFSZ='LOCAL RMB*BUFFER*SIZE KB'
                 TTRMTSMCBUFSZ='REMOTE RMB*BUFFER*SIZE KB'
              -New TYP11994/TYP11995 OPENSSH new variables.
                 SSH_FIPSMODE  ='RUNNING*IN*FIPS*MODE?'
                 SSH_KEXMETHOD ='KEY*EXCHANGE*METIOD*USED'
   Thanks to Randy Hewitt, DXC, USA.

Change 37.126  z/VM MONWRITE deaccumulated field deltas are sometimes a
VMACVMXA       negative value, especially in user fields like VMDTTIME,
Jun  7, 2019   usually related to a VM system event, but the original
               assumption was that the negative value was due to a wrap
               of the 4-byte accumulated value, so 4294967296 is added,
               a guess at the full word wrap value, but these negatives
               are not due to a wrap, and you get a very large value.
               This change now sets the variable to a MISSING VALUE when
               a negative delta is found, so those spikes won't impact.
   Thanks to Terry Chao, DC Government, USA.

Change 37.125  Reserved Change.

====== CHANGES THRU 37.124 ARE IN MXG 37.04 DATED Jun  5, 2019 =========


Change 37.124  Variable ID added to the TYPE60,TYPE6156,TYPE62,TYPE64,
VMAC60         TYPE6367,TYPE68,TYPE69 datasets so a direct merge can be
Jun  5, 2019   made without added data passes.
   Thanks to Tony Curry, BMC, USA.

Change 37.123  MXG calculation of TYPE70 variable CPUMVSTM/PCTMVSBY was
VMAC7072       too small because Parked Time was incorrectly subtracted
Jun  5, 2019   from CPUUPTM which already has Parked Time removed.
               Variables PLCPRDYQ (Ready Queue Delay Percent) and
               SHORTCPS were also too small and corrected.  Impact was
               typically less than ten percent.
   Thanks to Ken Deering, COMPUWARE, USA.
   Thanks to Selby Shanly, COMPUWARE, USA.

Change 37.122  Support for two new variables in RACF OFFLOAD RACF0200
VMACRACF       dataset, with values of YES or NO:
Jun  3, 2019      USBD_ROAUDIT ='USER*HAS*ROAUDIT*ATTRIBUTE?'
                  USBD_MFA_FALLBACK='USE*PASSWORD*MFA UNAVAIL?'
   Thanks to Karl Laseki, American Chemical Society, USA.

Change 37.121  Support for ThruPut Manager Release 18.02 v7r1.0.
VMACTPMX      -New variables added to TPM10 dataset:
May 30, 2019     TPMCMLFL='TPMCMLFL*FLAG*BYTE'
                 TPMCMLCL='SLM*CAPACITY*LEVEL*1-5'
                 TPMCMLCP='CAPPED*PERCENT*LAST 5*MINUTES'
                 TPMCMLCC='CEC*CAPACITY*MSU/HR'
                 TPMCMLAG='AVG GS*JOBS*LAST*5 MIN'
                 TPMCMLAP='AVG PCS*JOBS*LAST*5 MIN'
                 TPMCMLAT='AVG GS+PCS*JOBS*LAST*5 MIN'
                 TPMCMSNM='LPAR*SET*NAME'
                 TPMCMSLM='LPAR*SET*LIMIT*MSU/HR'
                 TPMCMSA4='LPAR*SET*4HRAV*MSU/HR'
                 TPMCMSI5='LPAR*SET*5MINAV*MSU/HR'
                 TPMCMSFL='TPMCMSFL*FLAG*BYTE'
                 TPMCMSCL='LPAR*SET*CMP LIMIT*MSU/HR'
                 TPMCMSC4='CMP-WIDE*4HRAV*MSU/HR'
                 TPMCMSCI='CMP-WIDE*5MINAV*MSU/HR'
                 TPMCMSMA='MOBILE*4HRAV*MSU/HR'
                 TPMCMSBA='CATEGORY A*4HRAV*MSU/HR'
                 TPMCMSMI='CATEGORY B*4HRAV*MSU/HR'
                 TPMCMSMI='MOBILE*INTERVAL*USAGE*MSU/HR'
                 TPMCMSAI='CATEGORY A*INTERVAL*MSU/HR'
                 TPMCMSBI='CATEGORY B*INTERVAL*MSU/HR'
              -New variable added to TPMSLM dataset
                 TPMSCLVL='MAXIMUM*CAPACITY*LEVEL'

Change 37.120  Mobile Service Units on GP and IIP ARE included in the
VMAC7072       CPUTM and ZIPCPUTM variables in TYPE72GO and TYPE72TR.
May 28, 2019   The comments in Change 36.253 are wrong and the proposed
               CPUTM_ALL=SUM(CPUTM,CPUMOBILCP) is now CPUTM_ALL-CPUTM
               and labeled EQUAL*TO*CPUTM.  Using a WLM Policy that
               classified the entire workload for a service class as
               MOBILE, the Service Units were the same  in the sum of
               R723CCPU and R723CSRB (CPUTCBTM and CPUSRBTM), and in
               R723TSUCP and in R723MSUCP (Total GP and Total Mobile).
   Thanks to Ken Deering, Compuware, USA.
   Thanks to Selby Shanly, Compuware, USA.

Change 37.119  Label for PTECP2 is 'CPU TIME*ZIP*ELIGIBLE' instead of
VMACNDM        "QUALIFIED".
May 28, 2019
   Thanks to Joe Faska, DTC, USA.

Change 37.118  Sites with NLS issues must use CONFIMXG, but to build the
JCLCONFI       new FORMATS catalog, you must use the JCLCONFI example.
May 27, 2019

Change 37.117  The optional CICS DBCTL SMF 110 segment can be 164 or 256
IMACICDB       but the order was the 164 first, so if you opened both of
May 23, 2019   the comment blocks, the 256 segment was misaligned. Now,
               the 256 segment is first and both blocks can be opened to
               support both lengths.
   Thanks to Steven W. Erkkila, USBank, USA.

Change 37.116 -WPS U4087 ABEND in WPS 4.1 but not in WPS 4.0 due to the
CONFIGW4       new data copier added in 4.1, can be circumvented with
AUTOEXEW       OPTIONS NOWPSSCATTERCOMP; which turns off the facility.
May 22, 2019  -This correction also fixed a CPU Loop in WPS 4.1.
Jun 17, 2019  -CONFIGW4 for z/OS and AUTOEXEW for ASCII have the option
               added, but commented out, and for WPS 4.1 you must remove
               the comment block.  That option did not exist in 4.0.
               Jul 3:  Corrected in WPS 4.1.2.0.17535.


Change 37.116A Variable OPENTIME was repeated in _BTY1415 By List macro,
VMAC1415       causing NOTE:DUPLICATE BY VARIABLES.  Second OPENTIME was
May 22, 2019   removed.  Change 35.166 revised the BY list.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 37.115  Wrong SMF record types for the example IFASMFDP step when
UTILBLDP       BUILDJCL=YES was specified. 23 should have been 25 and
May 22, 2019   26J2/26J3 should be 26.

Change 37.114  Support for updated BETA 93 V6R2 (INCOMPATIBLE changes).
EXTYBET9       Offset to data was changed for some records.
EXTYBETP       New subtypes create new datasets:
EXTYBETQ          DDDDDD  DATASET  Description
EXTYBETR          TYBET9  BETA9    RECORDS LIST/REPORT CVRTD
EXTYBETS          TYBETP  BETA12   PRINT HEADER PAGES
EXTYBETT          TYBETQ  BETA17   RECORDS MAILING OUTPUT
FORMATS           TYBETR  BETA30   DSC DATA CONVERTED LISTS
IMACBETA          TYBETS  BETA31   DSC RESRCS CVRTED LISTS
VMACBETA          TYBETT  BETA55   LOGOFF REQS WEB ENABLER
VMXGINIT       Only BETA12 & BETA55 new datasets have been data tested.
May 22, 2019   Variable SYSUSRJOBCORR is INPUT and KEPT for subtypes
May 27, 2019   that contain it.
   Thanks to Andreas Menne, Finanz Informatik-Sicherheitshinweis,GERMANY
   Thanks to Martina Ruminski, Fin Informatik-Sicherheitshinweis,GERMANY

Change 37.113  NDM-CDI 24-byte record INPUT EXCEEDED ERROR; the header
VMACNDM        length is 28 bytes, so a test for length is added and an
May 19, 2019   error message printed and the record deleted.
   Thanks to Kurt Gramling, T-SYS, USA.

Change 37.112  New options CLEARALL=ONLY will clear any normal MXG
VMXGALOC       associated LIBNAMEs allocated to your session without
May 19, 2019   trying to allocate new libnames.
               Clears these libnames:
                 PDB SPIN MON TUE WED THU FRI SAT SUN WEEK
                 WEEK1-WEEK5 WTD MONTH MTD TREND
               only if they are allocated.

Change 37.111   Final revisions for WSF/EOS WSFAUDIT variables AUDACT
FORMATS         and AUDOBJN and their FORMATS, replaces Change 37.083.
VMACWSF        -Dataset WSFACCT will always have zero observations; it
May 14, 2019    was never correct and is replaced by the four datasets
                WSFDSN, WSFERD, WSFEVTSC, and WSFEVTPR.

Change 37.110  MXG Members TYPExxxx create output datasets in //WORK,
TECHNOTE       MXG Members TYPSxxxx always SORT from WORK to PDB, and
May 11, 2019   the _Sxxxx sort macro all datasets for product xxxx and
               deaccumulates those datasets with accumulated fields.
               Exception: TYPEDB2 invokes the _SDB2 macro that sorts
                          all DB2 datasets except for DB2ACCT, and _SDB2
                          deaccumulates the DB2 datasets listed below
                          that need deaccumulation. They are also listed
                          in member DIFFDB2 lists sort/nonsort datasets.
                          NOTE: DB2ACCTP is sorted by _SDB2, but if you
                                only want Stats sorted, use _S100.
               Exception: TYPE110/TYPE110S _S110 never sort these:
                      SUBTYPE=1, CICS MONITOR DATASETS:
                      _SCICTRN - CICSTRAN IS NOT SORTED, HIGH VOLUME
                      _SCICRDS - CICSRDS  IS NOT SORTED, HIGH VOLUME
                      _SCICRDD - CICSRDPL IS NOT SORTED, HIGH VOLUME
                      _SCICRDF - CICSRDFI IS NOT SORTED, HIGH VOLUME
                      _SCICRDQ - CICSRDQU IS NOT SORTED, HIGH VOLUME
                      _SCICIDN - CICIDNTY IS NOT SORTED, HIGH VOLUME
                      _SCICIDD - CICIDNDD IS NOT SORTED, HIGH VOLUME
                      _SCICACC - CICSACCT NOT SORTED, PRE-CICS/ESA ONLY.
                      _SCICSYS - CICSYSTM NOT SORTED, PRE-CICS/ESA ONLY
               PRODUCT   DATASETS THAT ARE ACCUMULATED  DDDDDD/DATASET
                 28   028IN7/NPMINPMT
                 30   TY30U6/TYPE30_6
                 50   DIF() ONLY FOR INTERVAL DELTA
                 79   TY791/TYPE791 TY792/TYPE792 TY799/TYPE799
                      TY79C/TYPE79C
                 99   TY99BG/TYPE99BG
                102   102380/T102S380 102402/T102S402
                103   TY1032/TYPE1032 TY103D/TYPE103D
                108   TY1083/TYPE1083
                110   INTTC/CICTC     INTTSR/CICTSR   INTDMG/CICDMG
                      INTVT/CICVT     INTAUT/CICAUTO  INTLDS/CICLDG
                      INTDTB/CICDTB   INTTCR/CICTCR   INTDQR/CICDQR
                      INTDQG/CICDQG   INTTSQ/CICTSQ   INTDS/CICDS
                      INTST/CICST     INTFCR/CICFCR   INTM/CICM
                      INTTDG/CICTDG   INTSDG/CICSDG   INTSMS/CICSMDSA
                      INTAUS/CICAUSS  INTCO3/CICCONMR INTCO1/CICCONSR
                      INTDL3/CICDLIG  INTDL1/CICDLIR  INTDBU/CICDBUSS
                      INTPGG/CICPAUTO INTIRC/CICIRCB  INTDMR/CICDMR
                      INTFEP/CICFEPIP INTFEC/CICREPIC INTFET/CICFEPIT
                      INTJCR/CICJCR   INTLDR/CICLDR   INTLS3/CICLSRFR
                      INTLS1/CICLSRR  INTSDR/CICSDR   INTSMD/CICSMD
                      INTSMT/CICSMT   INTTC1/CICTCLR  INTTDR/CICTDR
                      INTXMC/CICXMC   INTUSG/CICUSG   INTXMG/CICXMG
                      INTXMR/CICXMR
                113   TY113/TYPE113   TY1131/TYPE1131
                AIX   ALL AIX Datasets
                DB2   DB2PST/DB2PSTXX DB2NET/DB2NETXX DB2ST5/DB2STAT5
                      DB2ST0/DB2STAT0 DB2ST1/DB2STAT1 DB2STS/DB2STATS
                      DB2SBP/DB2STSBP DB2STB/DB2STATB DB2STR/DB2STATR
                HSM   HSMDSR/HSMDSRST HSMFST/HSMFSRTP HSMFUN/HSMDSRFU
                      HSMVSF/HSMVSRFU HSMVSR/HSMVSRST
                IMS   IMS452/4/6/7/8/9/C/D/E/F/O/P/G/H/I/J/K/L/M/N
                      UNS56B
               MPLX   MPLXIN/XSE/XGA/XRT/XPE/XPM/XPO
                NDM   NDMCT
                ASI   CPUTA_LF,TCBTA_LF,IOCNT_S,TRCA_S,TET,TRT
                TCP   TYTCPS/TYPETCPS
                TPX   TPXINT/TPXINTRV
               VMXA   SYTSYP/SYTPRP/SYTRSG/SYTRSP/SYTXSP/SYTASG/SYTSHS
                      SYTUSR/SYTCPC/SYTSCG/SYTCOM/SUTUWT/SYTSCP/SYTXSG
                      SYTCUG/SYTCUP/SYTCUM/SYTCPM/SYTSYG/SYTEPM/SYTLCK
                      SYTLCX/SCLADL/SCLDDL/SCLAEL/SCLSRM/SCLSTP/STORSG
                      STORSP/STOSHR/STOASP/STOBPG/STOXSG/STOXSU/STOASS
                      STOASI/STOSHD/STOVDK/USEDFC/USEATE/USEITE/PRCPRP
                      PRCIOP/PRCAPM/PRCMFC/PRCPUP/PRCMFM/IODDEV/IODMOF
                      IODVSW/VMDSES/ISFISA/ISFNOD/APLSRV/APLSLM/APLSLP
                      APLSL0/APLSLN/APLCMS/APLVMR/APLLXP/APLTC0/APLTC3
                      APLTC4/APLTC5/APLTC7/APLTC8/APLTC9/APLTCA/APLTCB
                      SSISCS/SSISMI/SSIXLK/SSIXDI

Change 37.109  Support for z/OS 2.4 SMF Manual 04MAR19 are already in
VMAC7072       place in MXG 37.02+, Change 37.037 from 14JAN19 Manual,
VMAC74         except for
May 10, 2019  -SMF70CPC_TYPE, listed in "Summary of Changes" page xxii,
               but the field is not found in in the manual,query raised.
              -New SMF70PRTCTV='SMF70OS*PRTCT*IS VALID?' flag in TYPE70.
               compatibly added in this change.

Change 37.108  Bit mapping documentation for NDN-CDI CNF1/CNF2 fields:
VMACNDM          NDMCNF1  $CHAR1. /*SECURE*COPY*FLAG1*/
May  9, 2019       /*  BIT MAPPINGS FOR NDMCNF1 AND CISECNF1
                    PCEF EQU  X'80' PNODE ENCRYPT.DATA
                    SCSI EQU  X'40' SNODE SECURE.SIGNATURE
                    PCSI EQU  X'20' PNODE SECURE.SIGNATURE
                    CCSI EQU  X'10' COPY SECURE.SIGNATURE
                    SCEF EQU  X'08' SNODE ENCRYPT.DATA
                    SSL  EQU  X'04' SSL.ENABLED=Y
                    TLS  EQU  X'02' TLS.ENABLED=Y
                    STS  EQU  X'01' STS.ENABLED=Y      */
                 NDMCNF2  $CHAR1. /*SECURE*COPY*FLAG2*/
                   /*  BIT MAPPINGS FOR NDMCNF2
                    CSIN EQU  X'80' SIGNATURE = CURRENT KEY
                    PSIN EQU  X'40' SIGNATURE = PREVIOUS KEY
                    TLS  EQU  X'20' TLSV10 ENABLED
                    STS  EQU  X'10' STS.ENABLED
                    IPV6 EQU  X'08' IPV6 ADDRESS
                    TLS1 EQU  X'04' TLSV11 ENABLED
                    TLS2 EQU  X'02' TLSV12 ENABLED
                    ZFBA EQU  X'01' ZFBA WAS USED    */
                 NDMCPEA    $CHAR1. /*MERGED*SECURE*ENCRYPT*NUMBER*/

Change 37.107  A change in the length of TPX05LEN misaligned TPXETIME &
VMACTPX        TPXATIME; they incorrectly INPUT blanks, which TODSTAMP8
May  9, 2019   reported as 8am on Oct 27, 1935.
   Thanks to Craig Bigler, Progressive, USA.
   Thanks to Ann Knapik, Progressive, USA.

Change 37.106  A check of SYSFILRC that should have been inside a DO
BLDSMPDB       loop checking SMFIN could cause a spurious critical error
May  8, 2019   saying that the allocation of the SMF file failed if some
May 13,2019    other earlier FILENAME statement had failed. FILENAME
May 19, 2019   statements don't tell us when they have a problem until
               you try to use them unless you check the SYSFILRC macro
               variable for a non-zero value.
              -If you run a weekly job independently of a daily job and
               are using AUTOALOC=YES and need to rerun the week using
               FORCEDAY it pointed at the incorrect day and did not
               recognize the start of the week. FORCEDAY should always
               be the date of the data being processed so if your week
               starts on Monday FORCEDAY should point at Sundays date.
               If you are running a weekly or monthly job the code
               validating parameters still looks at the value in
               BUILDPDB and if it did not match what was expected could
               cause a failure. Now you can either omit the parameter
               and allow it to default or you can specify BUILDPDB=NO.
              -If you run TREND daily and needed to rerun a WEEK, the
               trending ran as if it were daily. If you are using
               AUTOALOC this just repeats what was already done and
               there will be no duplication of data. Now BLDSMPDB checks
               to see that RUNDAY is NE NO.
              -BLDSMPDB now sets SYSCC=16 if it detects any errors, and
               displays that condition code value at the end.

Change 37.105  Support for SMF 120 WAS and LIBERTY COMPATIBLE new data:
VMAC120       -Subtype 11. TYP120BL.  SM120BDL='ON IF*CVTZCBP*IS ON?'
May  6, 2019  -Subtype 09. TYP1209N.  SM1209HW='ON IF*CVTZCBP*IS ON?'
                                      SM1209HX='WORKER*THREADS*PRESENT'
              -Subtype 12. TYP12012.  SM120CEJ='ON IF*CVTZCBP*IS ON?'

Change 37.104  Variables CECSER and CPCMODEL are added to TYPE72GO data
VMAC7072       set, retained from prior 70. However, they are set blank
May  6, 2019   if the PREVVSYS system is not the SYSTEM of this record,
May 19, 2019   which could happen if the SMF data was sorted before MXG
               or if an SMF Dump happens to start with type 72 records.
   Thanks to Andrew Petersen, DXC Technology, AUSTRALIA.

Change 37.103  Support for IMS Log Records 5607/5610/5904/5950 creates
EXIMS567       new datasets:
EXIMS56A          DDDDDD    DATASET   DESCRIPTION
EXIMS594          IMS567    IMS5607   MCS/PICOS
EXIMS595          IMS56A    IMS5610   START PHASE 1 SYNCPOINT
IMACIMS           IMS569    IMS5609   CCTL DISCONNECT FROM DBCTL
VMACIMS           IMS56B    IMS5611   END OF PHASE 1 SYNCPOINT
VMXGINIT          IMS56F    IMS5615   RRS RESTART DONE
May 15, 2019      IMS594    IMS5904   REGION OCCUPANCY RECORD
                  IMS595    IMS5950   DATA BASE LOG RECORD

Change 37.103A FORMAT $MGFSMFID updated for DB2 102 IFCIDS for ANALID.
ANALID
FORMATS
May 15, 2019

Change 37.102  Support for CICS/TS 5.5 new Statistics, COMPATIBLE, two
EXCICMPR       new datasets, and all _SCICxxx sorts now deaccumulate.
EXCICSJN       For 5.5, fields were inserted into reserved areas.
FORMATS       -New Dataset CICMPR for STID=145 CICS Policy statistics.
IMAC110          MPR_POLICY_NAME   ='POLICY*RESOURCE*NAME'
VMAC110          MPR_RULE_NAME     ='POLICY*RULE*NAME'
VMXGINIT         MPR_POLICY_USERTAG='POLICY*USERTAG'
May  6, 2019     MPR_BUNDLE_NAME   ='POLICY*BUNDLE*NAME'
May 18, 2019     MPR_BUNDLE_DIR    ='POLICY*BUNDLE*DIR'
Jun  2, 2019     MPR_RULE_TYPE     ='RULE*TYPE'
                 MPR_RULE_SUBTYPE  ='RULE*SUB*TYPE'
                 MPR_ACTION_TYPE   ='ACTION*TYPE'
                 MPR_ACTION_COUNT  ='RULE*ACTION*COUNT'
                 MPR_ACTION_TIME   ='RULE*LAST*ACTION*TIME'
              -New Dataset CICSJN for STID=150 NODEJSAPP statistics.
                 SJN_NAME           ='NODEJSAPP*NAME'
                 SJN_LE_RUNOPTS     ='NODEJSAPP*LE*RUNOPTS'
                 SJN_STATE          ='NODEJSAPP STAT'/
                 SJN_DEFINE_SOURCE  ='GROUP*INSTALLED*FROM'
                 SJN_CHANGE_TIME    ='CHANGE*CREATE*TIME'
                 SJN_CHANGE_USERID  ='CHANGE*USERID'
                 SJN_CHANGE_AGENT   ='CHANGE*AGENT'
                 SJN_INSTALL_AGENT  ='INSTALL*AGENT'
                 SJN_INSTALL_TIME   ='INSTALL*CREATE*TIME'
                 SJN_INSTALL_USERID ='INSTALL*USERID'
                 SJN_CREATION_LCL   ='CREATION*TIME*LOCAL'
                 SJN_PID            ='NODEJSAPP*PID'
                 SJN_BUNDLE_NAME    ='BUNDLE*NAME'
                 SJN_CPU            ='TOTAL*CPU*TIME'
                 SJN_HEAP_CURRENT   ='ALLOCATED*HEAP'
                 SJN_HEAP_RUNTIME   ='HEAP*USED BY*RUNTIME'
                 SJN_HEAP_APP_DATA  ='HEAP*USED FOR*DATA'
                 SJN_HEAP_MAX       ='MAX*POSSIBLE*HEAP'
                 SJN_INVK           ='COMPLETED*INVOKES'
                 SJN_INVK_ERR       ='COMPLETED*INVOKES*IN ERROR'
                 SJN_INVK_CUR       ='CURRENT*INVOKES*IN PROGRESS'
                 SJN_INVK_PEAK      ='PEAK*INVOKES IN*PROGRESS'
                 SJN_NODEHOME       ='NODEHOME*PROFILE*ENTRY'
                 SJN_PROFILE        ='PROFILE'
                 SJN_STARTSCRIT     ='ENTRY*JAVASCRIPT'
                 SJN_STDERR         ='STDERR*FILE'
                 SJN_STDOUT         ='STDOUT*FILE'
                 SJN_TRACE          ='TRACE*FILE'
                 SJN_LOG            ='LOG*FILE'
              -Dataset CICDB2GL STID=102 new variable
               D2GTCBPR='TCB*PROTECTED*CURRENT'
              -Dataset CICCONSR STID=52 new variables.
                 A14EAHWM='MAX*AIDS'
                 A14EALL expanded to 4 bytes, used reserved area.
              -Dataset CICMNG STID=81 new variables
                 MNGIR   ='IDENTITY*RECORDS'
                 MNGIRS  ='IDENTITY*RECORDS*SUPP BY EXIT'
                 MNGDPLRL='DPL*RESOURCE*LIMIT'
                 MNGURIRL='URIMAP*RESOURCE*LIMIT'
                 MNGWEBRL='WEBSVC*RESOURCE*LIMIT'
              -Dataset CICXMR STID=11 variable
                 XMRAENDC='ABEND*COUNT'
              -Previously _SCICddd Statistic Dataset Sort Macros only
               PROC SORTed from WORK to PDB; there was no deaccumulation
               so fields with accumulated values were wrong.  Now, all
               _SCICddd macros de-accumulate correctly into the PDB.
               The _S110 macro sorts account and all statistics datasets
               the _S110ST macro sorts only the statistics datasets.
              -By DEFAULT, TYPE110 & BUILDPDB do NOT invoke _S110ST. All
               datasets are left in work, where you can tailor EXPDBOUT
               to sort all or individual datasets.  You can use
                %LET EPDBOUT= _S110ST ;  in your SYSIN to sort the stats
                datasets AND deaccumulate to correct errors in CICINTRV.
              -But if UTILBLDP is used to create your tailored BUILDPDB,
               and if CICS data was requested, then _S110 is invoked, so
               your PDB.CICINTRV will be valid as soon as you use 37.04.
              -TYPS110 invokes _S110, TYPE110 does not.
              -Revised deaccumulation logic needed JOB READTIME added
               to the BY list, and logic NOT FIRST.READTIME used to
               eliminate large values created when back-to-back regions
               had forward times.
              -A new _SCICxxx sort macros option  MXGCICRQTSORT can be
               used to only read and use the SMFSTRQT='INT' interval
               records with this statement in your //SYSIN:
                  %LET MXGCICRQTSORT=%QUOTE(WHERE SMFSTRQT='INT');
                  This needs testing when you have multiple RQTs.
               The MXG default continues to use ALL record types.
              -A new macro variable &MXGCICSORTED is set to YES in
               _S110 and _S110ST macros so that the logic in VMXGCICI
               knows to use the PDB deaccumulated data. You would only
               need to set it to YES if you are building CICINTRV in
               a separate job from the one that created the stats PDB.

Change 37.101  MXG 37.03, if you used USERADD=102.nnn syntax for DB2
UTILBLDP       IFCID subtype, and used BUILDPDB=YES, the generated code
May 6, 2019    was wrong and failed with 455-185 W102nnn error.
   Thanks to Tim Hare, Florida Department of Transportation, USA.

Change 37.100  DB2 zPARM T102S106 vars were wrong in V11/V12 because
VMAC102        QWP4CYR input $EBCDIC8 but it is only one byte:
May  3, 2019     QWP4CYFR QWP4DDLM QWP4CDSTL QWP4ZHYPL QWP4STACS
               These zPARM variables in DB2 V12 are now supported:
                 QWP4RTNP        ='REORG*TS_NOPAD*DEFAULT?'
                 QWP4DYNPFSW     ='QWP4DYNPFSW'
                 QWP4PSPN        ='PAGESET*PAGENUM*ABSOLUTE*RELATIVE?'
                 QWP4RDS_DM_BLKFI='QWP4RDS*DM*BLKFI'
                 QWP4NIDX        ='QWP4NIDX'
                 QWP4IXMC        ='INDEX_MEMORY_CONTROL'
                 QWP4UHMDH       ='UTILS*HSM_MSGDS*HLQ'
                 QWP4DINA        ='DEFAULT*INSERT*ALGORITHM'
                 QWP4MISD        ='QWP4MISD'
                 QWP4FLT         ='QWP4FLT'
                 QWP4IXMT        ='QWP4IXMT'
                 QWP4AUTC        ='AUTH*COMPATIBILITY'
                 QWP4TSCT        ='QWP4TSCT'
                 QWP4ENKL_OFF    ='OFFSET*FOR*ENCRYPTION*KEYLABEL'
                 QWP4CDRL='COMPRESS*DIRLOB'
                 QWP4SFPR='STATFDBK*PROFILE'
                 QWP4AUTCSU='SELECT*FOR*UNLOAD'
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 37.099  Two formats for CICS Version variable SMFPSRVR displayed
FORMATS        72 instead of 'TS5.5' or '5655-Y04 in MOBILE data.
May  2, 2019
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 37.098 -Possible Abend S0C7 when using the CDF Filter SYSPLEX=
ASMRMFV        after ASMRMFV change 36.241.  Affects MXG releases
May  1, 2019   36.12-37.03.  HAS NOT OCCURRED, exposure was observed.
              -Options message RMFV037I incorrectly shows SHOWASI,
               but SHOWASI option is not actually in effect.  Affects
               MXG release 37.03 only.

Change 37.097  APAR OA56762 NEGATIVE SMF30_TIME_ZIIP_ON_CP zOS 2.2 only,
TECHNOTE FLASH caused LARGE CPU time of 42,949,672 seconds because MXG
Apr 30, 2019   input as PIB4 expecting positive values.  The INVALID
               DATA BIT in SMF30TF2 for this time field WAS NOT ON.
               This is variable CPUZIETM='ZIP-ELIGIBLE*CPU TIME*ON CP'
               in MXG TYPE30 datasets, and the defect was in eight
               subtype 3 interval termination records in this SMF file
   Thanks to Jutta Gleixner-Schmid, ALLIANZ. GERMANY.

Change 37.096  RMF III dataset ZRBASI variables ASIFRXB_LF,ASIFRXA_LF
VMACRMFV       and ASIFRXH_LF are the sum variables that should have
Apr 26. 2019   been divided by ASISMPCT to report their average value.
               The labels are also corrected. Variables CPC_CECNAME
               and LPARNAME are added to dataset ZRBBDSIH.
   Thanks to Karl Laseki, American Chemical Society, USA.

Change 37.095  New variables added to TYPEDBDS (IMF from BMC):
FORMATS       -DBTRIOTM DBTWIOTM DBTFLAG2 DBTFLAG3
VMACCIMS       DBTNOI DBTNOO DBTBFSTK DBTBFSTN
VMACIMS       -Formats for DBTFLAG2 and DBTFLAG3 created.
Apr 25, 2019  -IMS07 ENDTIME could be missing due to 8 bytes
May  3, 2019   found but not documented; detection/protection
               was added.
              -Variable BHTOON is added to CIMSTRAN and CIMSDBDS;
               it was already kept in CIMSPROG.
              -Variable ALPCPTRN was incorrectly formatted $HEX8 and
               incorrectly used to create UOWTIME.
              -UOWTIME was incorrectly created like CICS UOWTIME with
               only 6-bytes of datetime, but IMS UOWTIME is 8-bytes in
               UOWTRANS, now used to create the IMS UOWTIME.
   Thanks to Randy Hewitt, DXC, USA.

Change 37.094  CICS 110 Stats CICLSRR dataset accumulated variables that
VMAC110        end with BFF/CRF/CRS/CWF/CWS/FRD/UIW are now correctly
Apr 24. 2019   deaccumulated in _SCICLS1 sort macro when TYPS110 is used
Apr 26, 2019   or it can be added after TYPE110 is included.
               See Change 37.102, all CICS Statistics are deaccumulated.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 37.093  Support for IMS ODBM Accounting SMF Type 29 Subtype 1
EXTY29OD       record creates the new TY29ODBM dataset.
VMAC29
Apr 24, 2019
   Thanks to Kurt Gramling, T-SYS, USA.

Change 37.092  TRENDINCODE= parameter added to both macros to allow you
VMXGRMFI       to limit the trend datasets.  You could limit the amount
VMXGDBSS       of data retained by specifying (using VMXGDBSS here) by:
Apr 20, 2019     TRENDINCODE=IF DATEPART(BEGTIME) GE TODAY()-732;
               to impose a 2 year limit on the data.

====== CHANGES THRU 37.091 ARE IN MXG 37.03 DATED Apr 19, 2019 =========

Change 37.091 -TYPE42 Subtype 5 INPUT EXCEEDED when new MCO/SYO/BGO data
VMAC42         segments exist, MXG miscoded the new segments, MXG 37.02.
VGETUTKN      -Hex 00 protection for UTKNPOE/UTKNSCL/SMF42GAO/SMFA2GAO/
Apr 18, 2019   SMF42FAJ/SMF42FBN/SMFA2FAJ/SMFA2FBN/SMF42GAN/SMFA2GAN.
               ST 5 Error caught by Early Adopter tester in MXG 37.03EA.
              -Jun 17: Variables S42VSXST and S42VSXRT were created in
               MXG 37.02-03 incorrectly with $EBCDIC8 informat. This
               change corrected them to &PIB.4. numeric variables in
               TYPE42HI dataset, but if you build WEEKLY PDBs with some
               days 37.02/37.03, and some 37.04 or later, you will need
               to DROP those variables from the 02/03-built PDB.

Change 37.090  When BUILDPDB=YES is used with %UTILBLDP, the SMF 113
UTILBLDP       records are automatically processed, and ASUM113 is run
Apr 15, 2019   after BUILDPDB.  Now, SUPPRESS=113 can be used if you
               don't want those datasets.

Change 37.089 -Major enhancements to ASMRMFV and VMACRMFV.
ADOCRMFV      -New Field Data Filter (FDF) feature supports field level
ASMRMFV        data selection for the RMF III ASI, CSR, and DVT tables.
VMACRMFV      -The ANDIF=, ORIF=, IF= keywords are used to specify a
Apr 16, 2019   FDF filter called an IF expression.
              -FDF complements the existing Character Data Filter (CDF)
               feature.  CDF has no numeric data filtering capability.
              -If both CDF and FDF filters are used, then CDF filtering
               occurs first.  Entries filtered by CDF are never passed
               to FDF.
              -FDF supports character, fixed point, floating point,
               percent, bit string, hex string, time, and time of day
               fields for filtering depending on the format and content
               of each field.
              -FDF uses IF expressions with 3 components enclosed in
               required matched left/right parentheses in this order:

               1.  RMF III field name or MXG variable name when
                   supported
               2.  Comparison operator
               3.  Character, numeric, bit string, hex string, percent,
                   time, or time of day value as appropriate to the
                   field being filtered.

              -See documentation Sections 31-34 for full details on the
               use of FDF.
              -New RMFV080I-RMFV088I messages added for FDF support.
              -New options SHOWARR (alias SHARR) and NOSHOWARR (alias
               NSHARR) added to display IF expression memory storage
               array activity.  Default is NOSHOWARR.  see Section 6
               Report Control Parameters for more details.
              -New options SHOWIF (alias SHIF) and NOSHOWIF (alias
               NOSHIF) added to display IF expression compare results
               in both Detail and Summary reports in message RMFV080I.
               Default is SHOWIF.  see Section 6 Report Control
               Parameters for more details.
              -New option IFERR= controls handling of errors detected
               while processing ANDIF=/IF=/ORIF= expressions.  Possible
               settings are ABEND, ERROR, WARN, IGNORE.  Default is
               IFERR=ERROR.  See Section 8 Error Handling Parameters
               For more details.
              -Three recently documented RMF Monitor III tables are now
               supported for PDB builds: PCI, SCM, and ZFS.
              -The PCIE Activity Data Table may be selected with the
               PCI, P, MOST, or ALL table select options.
              -The Storage Class Memory Data Table may be selected with
               the SCM, MOST, or ALL table select options.
              -The ZFS Performance Data Table may be selected with the
               ZFS, Z, MOST, or ALL table select options.
               RMF III data set.
              -ASMRMFV will now detect quoted strings and not apply any
               translations regardless of UPCASE/NOUPCASE settings.
              -ASMRMFV will no longer check for Control Unit Busy or
               Switch Port Busy when filtering DVT entries with the
               NOZEROIO option.  These DVT fields became obsolete and
               unused with z/OS 1.4 in September 2002.
              -Almost all documentation for ASMRMFV now resides only
               in the ADOCRMFV member.
              -ADOCRMFV has been reformatted to take advantage of full
               72 column width for better legibility.
              -Message RMFV033* showed an incorrect value for index
               count if an I/O error occurs reading the first or last
               MINTIME interval.
              -Many documentation sections have been updated and 4 new
               sections are added:
               Section 31 Field Data Filtering (FDF)
               Section 32 Filtering The ASI Table
               Section 33 Filtering The CSR Table
               Section 34 Filtering The DVT Table

Change 37.088   DB2 102 IFCID 106 truncated variables longer lengths are
VMAC102         now supported:
Apr 15, 2019      QWP4SADM='INSTALLATION*SYSTEM*ADMIN*USERID'
                  QWP4DFID='SYSTEM*DEFAULT*USERID'
                  QWP4ADM2='SYSTEM*ADMIN*ID2'
                  QWP4OPR1='MVS*OPERATOR*ID'
                  QWP4OPR2='MVS*OPERATOR*ID2'
                  QWP4REGC='DDL*REG*TABLE*OWNER'
                  QWP4REGA='DDL*REG*ART*NAME'
                  QWP4REGO='DDL*REG*ORT*NAME'
                  QWP4OZUS='ONLINE*ZPARM*USERID*MONITOR'
                  QWP4FCCD='UTILS*FCCOPYDDN*PARM*DEFAULT'
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 37.087   SMF 50 VTAM Tuning record subtypes 02 and 05 don't match
VMAC50          the record documentation and IBM has acknowledged and
Apr 15, 2019    will revise their doc, when this text will be updated.
                This change only reverses the order of RDUX/REDE.
   Thanks to Svend Zaunick, Finanz Informatik, GERMANY.

Change 37.086   MXG Support for the new Japanese Reiwa era dates is in
TECHNOTE        place as MXG does not use any Japanese informats, but
Apr 10, 2019    SAS Note 63973 reports an update is needed to provide
                support in NENGO and JNENGO informats/formats.

Change 37.085   SMF 92 Subtype 52 INPUT  EXCEEDED. because SMF92TRSN was
VMAC92          documented as 52 EBCDIC on page 846, but there are only
Apr 10, 2019    8 bytes at the end of the record for the name, and the
                segment length is 48 to match a final 8-byte field.
                But I believed the SMF manual and INPUT 52 without an
                extra test to see if the bytes were there.
   Thanks to Joe Faska, DTCC, USA.

Change 37.084   Variables CMB10C0-CMB10C4 in VXPRCAPM are wrong because
VMACVMXA        their DIF() calls had the wrong variable.
Apr 10, 2019
   Thanks to Graham Harris, RBS, ENGLAND.

Change 37.083  -Ignore the first two sections of this original text.
VMACWSF        -WSF/EOS revisions corrected misalignment in WSFAUDIT
VMACWSF         dataset, but AUDOBJT values of '6C'x and 'B4'x are not
Apr 10, 2019    documented, and the order of AUDACT and AUDOBJT is NOT
Apr 19, 2019    consistent with the documentation, which has always has
May 14, 2019    ACT then OBJT, but for ACT values of '60'x or higher,
                I've observed OBJT is first, and the value of OBJT has
                to be used to decode the multiple uses of the AUDOBJI
                field into the correct variable.
               -Also, OBJT values of '6C'x,'B4'x are found but not
                documented in the DSECT.
               -Dataset WSFACCT will always have zero observations; it
                was never correct and is replaced by the four datasets
                WSFDSN, WSFERD, WSFEVTSC, and WSFEVTPR.
               -May 14, 2019.  See Change 37.111.

Change 37.082   SMF 99 ST 12 dataset TYPE99CC Capacity Increase/Decrease
VMAC99          bit variables S99CCCCAPINCR/S99CCCCAPDECR/S99_VCM_D2-4
Apr  9, 2019    are decoded into individual variables:
                  S99CCCCAPINCR0='ADJUST*CAPACITY*INCREASE?'
                  S99CCCCAPINCR1='ADJUST*CAPACITY*INCREASE*BY UNPARK'
                  S99CCCCAPINCR2='UNPARK*REQUEST?'
                  S99CCCCAPINCR3='UNPARK*ALL*REQUEST?'
                  S99CCCCAPINCR4='RESERVED'
                  S99CCCCAPINCR5='UNPARK*CAPACITY*BELOW?'
                  S99CCCCAPINCR6='CAPPED*UNPARK*HIGH VH*UTILIZATION?'
                  S99CCCCAPINCR7='RESERVED'
                  S99CCCCAPDEC00='ADJUST*CAPACITY*DECREASE?'
                  S99CCCCAPDEC01='ADJUST*CAPACITY*DECREASE*BY UNPARK'
                  S99CCCCAPDEC02='PARK*REQUEST?'
                  S99CCCCAPDEC03='PARK*ALL*REQUEST?'
                  S99CCCCAPDEC04='MVSBUSY*TOO*LOW?'
                  S99CCCCAPDEC05='VL*EFFECT*TOO LOW?'
                  S99CCCCAPDEC06='SMALL*VM/VL*EFFECTIVENESS?'
                  S99CCCCAPDEC07='NO*VM/VL*EFFECTIVENESS?'
                  S99CCCCAPDEC08='IF*NO*VH*EXISTS?'
                  S99CCCCAPDEC09='NO DECREASE*LOW*CEC*UTILIZATION?'
                  S99CCCCAPDEC10='PR/SM*CAPPED*PARK ALL?'
                  S99CCCCAPDEC11='PR/SM*CAPPED*PARK ALL*HI CEC UTIL?'
                  S99CCCCAPDEC12='PR/SM*CAPPED*VH UTIL*LOW?'
                  S99CCCCAPDEC13='PR/SM*CAPPED*VL*EFFECT*TOO LOW?'
                  S99CCCCAPDEC14='PR/SM*CAPPED*MVS BUSY*TOO LOW?'
                  S99CCCCAPDEC15='PR/SM*CAPPED*ADJUST*CAPACITY*DECR?'
                  S99CCCCAPDEC16='PARK ALL*REQUEST*unpark*threshold?'
                  S99CCCCAPDEC17='PR/SM CAPPED*NO DECR*LOW CEC UTIL?'
   Thanks to Jan Tielemans, KBC, BELGIUM

Change 37.081   Velocity VPS USER records are either Interval or Summary
VMACXAM         but only the top ten users get Interval records, so when
Apr  5, 2019    analyzing the USER data,you MUST select IF INTORSUM='SU'
                to see the total resource usage.
   Thanks to Deeresh Naidoo, First Rand Bank of South Africa.

Change 37.080A  Datasets  BETA9706 and BETA9706D were not output to PDB
VMACBE97        when TYPSBE97 was used to sort from work to PDB.
Apr  4, 2019
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 37.080   Variables SVPCNM Service Class and RPRTCLAS Report class
VMACRMFV        are added to all the RCD datasets.
Apr  4, 2019
   Thanks to Claudio A. Rodriguez, BancoGFalicia, ARGENTINA

Change 37.079   New variables DBS_DD and DBS_D are created in TYPETPMX.
VMACTPMX        Variables SYSTEM,SMFTIME added to ERROR messages.
Apr  2, 2019    Variable $JCL_S decoded and output, Apr 19.
Apr 19, 2019
   Thanks to Jack Hyde, OPTUM, USA.

Change 37.078   BY variable R748SIID in dataset TYPE748 format is now
VMAC74          HEX4 (was HEX2), and there are no duplicate observations
Apr  2, 2019    in TYPE748S as R748SIID is unique to each record, due
                to that too-short format, false duplicates could have
                been deleted in the past.
   Thanks to Douglas C. Walter, CITRIBANK, USA.

Change 37.077   Enhanced to sort and remove intervals where a SYSTEM is
SAGANAL         on multiple CECs, as when it was moved from one CEC to
Apr  3, 2019    another.  New time range report of input SMF 30/70s.
   Thanks to Bob Berg, American Family, USA.

Change 37.076   Support for HSM FSR Record addition of Unix filename in
VMACHSM         dataset HSMFSRBO variable FSR2_UNAM because FSRDSN is
Apr  2, 2019    only 44 bytes, When FSR2_UNML is greater than 44, FDRDSN
                will contain the first part of the name, then ...  and
                then the last part of the name, while FSR2_UNAM will
                contain the full name (up to 128 char).
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 37.075   INPUT STATEMENT EXCEEDED and INVALID DATA for SM125THA
VMAC125         because INFORMAT &PIB.2. was missing the final period.
Mar 30, 2019
   Thanks to MP Welch, Bank of America, USA.

Change 37.074   QBSTBPIN was always incorrectly calculated before the
VMACDB2         variables used in the calculation had been DIF()'d
Mar 30, 2019    yielding unrealistically high values. The calculation is
                now done in DIFFDB2 after the DIF() calls are done.
   Thanks to Randy Hewitt, DXC, USA.

Change 37.073   BBMQ processing reported UNEXPECTED RTINs, when you have
VMACBBMQ        multiple BMC products writing to a common history file.
Mar 29, 2019    MXG BBMQ now selects only E1x-E8x, skipping other values
                eliminating those log messages.  There were no changes
                to BBMQ 5.3 records in 5.4.
   Thanks to James Wajda, Credit-Suisse, USDA.

Change 37.072   ODS Statistical graphics procedures make extensive use
TECHNOTE        of JAVA, which can be very memory intensive on zOS. This
Mar 28, 2019    is any procedure starting with SG or any ODS HTML or ODS
                PDF outputs. SAS recommends REGION=512M minimum but the
                MXG recommendation is always REGION=0M on the JOB card
                on zOS.  We have seen REGION usage as high as 900M+ for
                jobs running the ANAL9914 Topology report with HTML.

Change 37.071   %MACRO variables INTIME70,INTIME70EN,INTIME70PR can be
VMXG70PR        used by ASUM70PR to convert time zones of LPARs to a
VMXGINIT        common timezone. This example shifts all times to GMT.
Mar 27, 2019
                   %LET INTIME70=
                    %QUOTE(
                       STARTIME=STARTIME-GMTOFFTM;
                       SMF70GIE=SMF70GIE-GMTOFFTM;
                       MACHTIME=MACHTIME-GMTOFFTM;
                    );
                   %LET INTIME70EN=
                    %QUOTE(
                       STARTIME=STARTIME-GMTOFFTM;
                       SMF70GIE=SMF70GIE-GMTOFFTM;
                     );
                   %LET INTIME70PR=
                    %QUOTE(
                       STARTIME=STARTIME-GMTOFFTM;
                       SMF70GIE=SMF70GIE-GMTOFFTM;
                       MACHTIME=MACHTIME-GMTOFFTM;
                    );
                     %INCLUDE SOURCLIB(ASUM70PR);
                This is an initial design, which may be revised.
   Thanks to Berthold Willing, AXA, GERMANY.

Change 37.070  Unused Change Number.
Mar 25, 2019

Change 37.069   zEDC Compression types for DCOLLECT datasets revised:
FORMATS         Dataset DCOLDSET, variable DCDCTYPE formated values
VMACDCOL          0=0:Not Compressed
Mar 25, 2019      1=1:Generic
                  2=2:Tailored
                  3=3:ZEDC
                  DCDCTYPE replaced DCOLMTYP, now always missing.
                Dataset DCOLDC,   variable DDCCT  format MGDCOCT:
                  0=0:Generic
                  1=1:Tailored
                  2=2:ZEDC

Change 37.068  CF Activity Report Structure Level is moved to ANALRMF3
ANALRMF3       from VMACRMFV.  Additional RMF III report examples will
Mar 21, 2019   be added in ANALRMF3.

Change 37.067  Support for RMF III PCI, SCM, ZFX segments create four
EXZRBPCI       datasets ZRBPCI, ZRBSCL, ZRBZFX (System Data) and
EXZRBSCL       ZRBZFS (File Server Data).  ZRBSCL was used for SCM
EXZRBZFX       because there already is a ZRBSCM dataset (for CFISSCMS).
EXZRBZFS
IMACRMFV
VMACRMFV
VMXGINIT
Mar 29, 2019

Change 37.066  New TOKEN variables added to TYPE80TK dataset:
VMAC80A        TOKMCTOKENKY TOKMCTOKENTM TOKMSISCCNO TOKMEMPLID
Mar 21, 2019
   Thanks to Mark Kerr-Delworth, Express ICS, ENGLAND.

Change 37.065  Major rewrite of this macro to eliminate repeating the
VMXGDSN        same logic 3 different times. New parameter added to ID
Mar 19, 2019   your HSM managed tape volumes with a default of HSM.
               Labels on VOLUMES and TAPE variables corrected to show
               that they are actually counts of datasets and not a
               count of volumes.

Change 37.064  Doc ONLY. Examples add to suppress 110.1 or 101 or both
UTILBLDP       when BUILDPDB=YES.
Mar 20, 2019

Change 37.063 -The ANALID report showed only IDANDSUM=26.000 for either
ANALID         JES2 or JES3; now the SUBS (2 for JES2, 5 for JES3) is
VMACID         stored in SUBTYPE to create 26.002:JES2 or 26.005:JES3.
Mar 16, 2019  -A non-impacting note about DELETE SMFREC01/02 removed.

Change 37.062  Faulty logic prevented creation of zip eligible chart.
GRAFWRKX
Mar 15, 2019

Change 37.061  Bar charts of ZIP and ZIP eligible added.
GRAFWLM
Mar 15, 2019

Change 37.060  SMF Type 82 subtype 31 INPUT STATEMENT EXCEEDED for
VMAC82         TAG='0204' because MXG incorrectly expected 8 bytes when
FORMATS        that TAG only has 8 bytes.  FORMAT MG082SN revised to
Mar 20, 2019   include SERVER name.
   Thanks to Randy Springs, BB&T, USA.

Change 37.059  Further corrections for IFCID 319 support.
VMAC102
Mar 10, 2019

Change 37.058  Cosmetic: Uninitialized variable CBPERROR.
VMAC30
Mar 11, 2019

====== CHANGES THRU 37.057 ARE IN MXG 37.02 DATED Mar 11, 2019 ========

Change 37.057  Analysis of what your WLM Classification Rules do, using
ANALRULE       SMF 30, 101 and 110 to produce three reports for where
Mar 10, 2019   work is sent by SYSTEM and TYPETASK, routing for CICS
               transactions by SYSTEM and APPLID, and routing for DDF.

Change 37.056  Unused Change.

Change 37.055  RMF III dataset ZRBCFI, CFACT Coupling Facility Activity
FORMATS        Report, which is actually a CF per-Structure report, is
VMACRMFV       printed by invoking _CFACT after TYPSRMFV.  Macro _CFACT
Mar  9, 2019   is defined at the bottom of VMACRMFV.
               Mar 21:  MOVED TO NEW ANALRMF3 Report Member.  CH 37.068.
   Thanks to Ervin Claxon, CSX, USA.

Change 37.054  Using report classes to define workloads in RMFINTRV is a
UTILWORK       good way to group workloads but will only work if all
Mar  9, 2019   workloads have a default report class, UTILWORK now
               detects this condition and warns that the use of report
               classes should not be attempted until this can be
               resolved

Change 37.053  New utility contribution, UTILMISS, will create a data
UTILMISS       set from an existing dataset, removing all variables that
Mar  8, 2019   have all numeric missing values, and characters blank.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 37.052  Variable CPUERROR in TYPE30 datasets is a two-byte field
VMAC30         but was accidentally made length $4 some time ago due to
Mar  7, 2019   a blank that gave it $HEX8 format which forced length 4.
               The correct $HEX4. format is now applied, but LENGTH $4
               is also forced, since a change in length will cause PROC
               APPEND to fail if the user didn't specify FORCE.  These
               TYPE30xx datasets are too critical to not protect.
              -Flag variables SMF30T32 and SMF30T33 are now kept.

Change 37.051 -IFCID 319 variable QW0319FL is replaced by a variable
VMAC102        for each bit:
Mar  7, 2019    QW0319UR='CALLER*PASSED*USER*REG*NAME?'
                QW0319AE='AES*ENCRYPTION*BEING*USED?'
                QW0319SC='COMPATIBLE*WITH*TCPALVER?'
                QW0319SE='SECURE*CONNECTION?'
               -Variable QW0319RI is INPUT and Kept.
               -Variables QW0319AE QW0319IY QW0319SC QW0319SE kept.
               -New variable QW0319LU='LUNAME*IF*SNA' is created
   Thanks to Warren Cravey, FMR, USA.

Change 37.050  UTILBLDP now accepts USERADD=100 or 101 or both, and
UTILBLDP       invokes USERADD=DB2, but if only 100 or 101 alone are
Mar  6, 2019   requested, the other record's datasets are _NULL_ed.
               UTILBLDP now accepts USERADD=CICS (to read SMF 110)

Change 37.049  Variable ASIQSCANREQ is kept in RMF III ZRBASI dataset.
VMACRMFV
Mar  6, 2019

Change 37.048  Example to "BUILDPDB" only JOB-related Datasets enhanced
JCLPDBJB       to support both JES2 and JES3.
Mar  5, 2019

Change 37.047  NDM-CDI dataset NDMCT variable NDMCPU was 256 times too
VMACNDM        large and character NDMRIUP6/NDMTYPFK shifted because of
Mar  1, 2019   a 1 byte misalignment in the MXG Input Statement.
   Thanks to Mike Creech, BKFS, USA.
   Thanks to Roger Foreman, BKFS, USA.
   Thanks to Glenn Halligan, BKFS, USA.
   Thanks to David Kelley, BKFS, USA.

Change 37.046  Variables SMF70BPS/SMF70ACS for each SMF70CIN engine
VMAC7072       type are variables CP70BPS/IFA70BPS/ZIP70BPS/IFL70BPS
Mar  5, 2019   and CP70ACS/IFA70ACS/ZIP70ACS/IFL70ACS in PDB.TYPE70PR.
               and PDB.ASUMCELP (recommended LPAR analysis) and ASUM70LP
               (which is BY SYSTEM and has duplicate data.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 37.045  The CTG Version, CTGRVN was added to each of the CTG
VMAC111        datasets created from SMF 111 Records and variables
Mar  5, 2019   CTGIALRQ CTGLCNFA are kept in dataset TY111CXI.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 37.044  The BMC CMF Product generally updates VERSNRMF only on a
VMAC7072       CMF Release Boundary; values of both 792 (2.2) and 794
VMAC71         (2.3) exist on z/OS 2.3.  MXG does NOT use VERSNRMF for
VMAC73         any logic, but this correction for CMF records sets the
VMAC74         VERSNRMF=794 if it was 792 and RMFSRCL Record Level is
VMAC75         81 or 82 depending on subtype.
VMAC76
VMAC77
VMAC78
VMAC79
Mar  1, 2019
   Thanks to Joe Faska, DTCC, USA.

Change 37.043  Executing MXG on ASCII under a VM product, or with WORK
TECHNOTE       on a network drive, bad things can happen. We SRONGLY
Feb 21, 2019   recommend keeping the WORK file local to the system on
               which you are executing SAS.
               Two Known Errors:
               -This error was found with WORK on a network drive:
                 ERROR: Unable to obtain valid utility file pathname.
               -This error was found under VM with WORK on a network
                 drive:
                 ERROR: A lock is not available for WORK.OPTVAR.DATA.
                 This one can be circumvented by adding
                    -filelockwait 30
                 to your SAS command or as an OPTION in SAS.CFG file.


Change 37.042  Change 37.024 did not protect for a blank WANTONLY, but
READDB2        only generated a cosmetic error that %SYSFUNC did not
Feb 19,2019    have right number of arguments.

Change 37.041  DCOLLECT APAR OA54879 reports that DCDEXFLG is NOT USED
VMACDCOL       for zEDC compression and is now "DATA SIZES NOT VALID'
Feb 19,2019    and is for non-VSAM Extended Format Data Sets.
               Data set sizes that are not valid in either or both of
               DCDUDSIZ or DCDCUDSZ variables, which might contain non
               zero values, but should not be used.
   Thanks to Robert Chavez, FPL, USA.

Change 37.040  Dataset TYPE749 variable R7491DEFCOMPRATIO wrong value
VMAC74         is corrected to
Feb 19,2019       IF R7491IOB GT 0 THEN
                    R7491INFCOMPRATIO=R7491IIB/R7491IOB;
                  ELSE R749INFCOMPRATIO=.;
               Variables were reversed in the calculation.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 37.039  Three MQ reports matching IBM's MQSMF program. Currently
ANALMQ         the reports are a queue summary, a detail report of PUTS,
Feb 14,2019    and a detail report of GETS.  The GETS/PUTS reports can
               be output to either or both SYSOUT or CSV files.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 37.038  Simple report that combines catalog records (TYPE6156)
ANALHSM1       with HSM activity (HSMFSRST) to generate a report of
Feb 14, 2019   datasets that may be thrashing between primary and
               migration.
   Thanks to Richard Way, Office Depot, USA.

Change 37.037  Updates found in the Jan 14, 2019 SMF Manual,
FORMATS        with more changes to come in 37.03 when validated.
VMAC124       -New Datasets
VMAC41          TYPE42VO='PER-VOLUME STATISTICS'
VMAC42          TYPE42HI='HIGH RESPONSE TIME JOBS'
VMAC7072      -TYPE70 New variables
VMAC74          SMF70_IPL_TIME   ='IPL*DATETIME*OF*PARTITION'
VMAC78          SMF70_TRG_M_COUNT='TRG*MEMORY*CONSUMPTION*SAMPLES'
Feb 19, 2019  -TYPE70TR New variable
                TRG_MEM          ='TENANT*MEMORY*CONSUMPTION*MGBYTES'
              -TYPE7002 New variables
                R7023SCOPE='80X=CPC SCOPE*40X=SYSTEM*SCOPE'
                R7023DID='DOMAIN*ID'
              -TYPE70X2 New variables
                R7024SCOPE='80X=CPC SCOPE*40X=SYSTEM*SCOPE'
                R7024DID='DOMAIN*ID'
              -TYPE70Y3 New variables
                R7025SCOPE='80X-CPC SCOPE*40X=SYSTEM*SCOPE'
                R7025DID  ='DOMAIN*ID'
              -TYPE749 New Variables
                R749LKID='SYNC*I/O*LINK*IDENTIFER'
              -TYPE78IO Change
                R783DSTX relocated.
              -TYPE41 Change
                SKIP LOGIC protection for future, no impact now.
              -TYPE 42 SUBTYPE 5 New Variables
                S42VRID1='DELAYS*TIME*1-10 MICROSEC'
                S42VRID3='DELAYS*TIME*100-10000 MICROSEC'
                S42VRID4='DELAYS*TIME*1-10 MILLISEC'
                S42VRID5='DELAYS*TIME*10-100 MILLISEC'
                S42VRID6='DELAYS*TIME*OVER*100 MILLISEC'
                S42VRIDM='MAXIMUM*I/O*INTERRUPT*DELAY TIME'
                S42VRIDT='DATETIME*OF THE*MAXIMUM'
                S42VRIDA='AVERAGE*I/O*INTERRUPT*DELAY TIME'
                S42VRBSY='TOTAL*BUSY*TIME'
                S42VRRSP='COMMANDS*DELAYED*BASE*RESERVED'
                S42VRRSN='CHANNEL*PROGRAMS*WITH*RESERVE'
                S42VRRES='DURATION*WHEN*RESERVED'
                S42VRREX='LONGEST*CONTINUOUS*RESERVED'
                S42VRRSR='AVERAGE*RESPONSE*PROGS WITH*RESERVE'
              -TYPE 42 SUBTYPE 6 New Variables
                S42SNAVGARDELAY  ='AVG APPLICATION*RESUME*DELAY'
                S42SNARDELAYCOUNT='AVG APPLICATION*RESUME*DELAYS'
                S42DXMXI         ='STORAGE*SUBSYSID*FOR S42DSMXR'
              -TYPE124 New variable
                SM124S1WWPN='WORLDWIDE*PORT*NAME'

Change 37.036  Some IFA variables were not populated in the four output
VMAC7072       datasets created by ASUM70PR; all IFA variable names are
VMXG70PR       unchanged, but all "ZAAP" text in labels is now "ZCBP".
Mar  5, 2019

Change 37.035  DB2 V12 overlooked Package Variables now INPUT and KEEP:
VMACDB2         QPACAWLH         ='LATCH*WAIT*TIME'
Feb  7, 2019    QPACANLH         ='WAITS*TRACE*EVENTS*LATCH'
Mar  5, 2019    QPACRLNU         ='THREADS*TO ROLL DATA'
                QPACAACC         ='WAITS*TRACE*EVENTS*ACCELERATOR'
                QPACAACW         ='WAIT TIME*ACCELERATOR*REQUESTS'
                QPAC_PQS_WAIT    ='WAIT TIME*TO SYNC*PARALLEL*QUER'
                QPAC_PQS_COUNT   ='SUSPENDS*WAITING*SYNC*PARALLEL'
                QPAC_PIPE_WAIT   ='WAIT TIME*PIPE'
                QPAC_PIPE_COUNT  ='WAITS*FOR*PIPE'
                QPAC_COPYID      ='PACKAGE*COPY*ID'
              -Macros _N100/N101/_S100/_S101 defined for UTILBLDP.

Change 37.034  Two more SMF 42 subtype 5 ABENDING invalid LENSR=520/592
VMAC42         length values added to the test. APAR OA54668 corrects.
Feb  7, 2019   LENSR IN(232,240,320,376,400,480,448,304,520,560,592,640)

Change 37.033  Support for Axway V3.3.2 2018/06/27 restructured User
VMACAXWY       SMF record.
Feb  6, 2019
   Thanks to Warren Cravey, FMR, USA.

Change 37.032  TYPE749 z/EDC data, DIVIDE BY ZERO protection failed if
VMAC74         both R7491DCT and R7491ICT were zero; R741BPS had been
Feb  5, 2019   included in the test, but it's always non-zero so the
               test now is IF SUM(R7491DCT,R7491ICT) GT 0 THEN
         R749FPGBPRT=(1048576*R7491BPC/((R7491DCT+R7491ICT)*R7491BPS));
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

====== CHANGES THRU 37.031 WERE IN MXG 37.01 DATED Feb  3, 2019=========

Change 37.031  Bar charts of MIPS and % CPU added to the analysis work
GRAFWLM        by IMPORTANCE, originally based on Peter Enrico's paper.
Feb  3, 2019

Change 37.030  MXG 36.12-37.01 ASMRMFV ASI NOZEROCPU filter stopped
ASMRMFV        filtering which could cause a significant increase in the
Feb  3, 2019   size of the RMFBSAM file and the PDB.ZRBASI dataset.
               ASICPUTA_LF was added by Change 36.241 to that filter,
               but it is an accumulated field that can not be used as it
               is always non-zero. NOZEROCPU is supported for z/OS 2.2+
              -Section 5 "Input Data Control Parameters" is updated.

====== CHANGES THRU 37.029 WERE IN MXG 37.01 DATED Feb  1, 2019=========

Change 37.029  A reference line of the values for SMF70LAC (overall
ANAL89         rolling 4 hour avg MSU) added to interval MSU charts.
Feb  1, 2019

Change 37.028  Support for z/VM 7.1 (INCOMPAT, BROKEN CONTROL RECORD)
VMACVMXA       due to insert in VXPRCDHF plus the change in HCPCPEID
Jan 31, 2019   value for the Service Level test from '40061802 for 6.4
Feb 14, 2019   to '10071802' for 7.1 that failed when tested for 'GE'.
               New variable ZVMVERS='07.1.18.1' is created so GE can be
               used for IF ZVMVERS GE tests.  There were 32 bytes added
               to PRCDHF, but the 7.1 DSECT only shows on byte added.
              -Heuristic (ZZQUCT+1) test revised, false positive caused
               large VMDTTIME value.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 37.027  Example added to email the final condition code of a SAS
EMAIL          job running in the background on ASCII.
Jan 31, 2019

Change 37.026  If you create your own SUBSYSTEM that handles JES2 output
VMAC26J2       the SUBS value in SMF 26 records is not the expected 0002
Jan 30, 2019   for JES2 (or 0003 for JES3), but instead is a two byte
               character field.  Previously, MXG TYPE26J2 only output
               SUBS=2 execution purge records.  Now, if the SUBS is 3,
               the JES3 record is deleted with MXGERROR messages that
               TYPE26J3/BUILDPD3 must be used for JES3. If the SUBS is
               other than 2, the records are presumed to be valid JES2
               records, but MXGWARN messages print the SUBSYSTEM name.
   Thanks to Randy Hewitt, DXC, USA.

Change 37.025  CICS variable A11ACTCI in CICS Statistics dataset CICDQG
VMAC110        was INPUT but not KEPT.
Jan 29, 2019
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 37.024  Using READDB2 with WANTONLY arguments DB2ST/DB2PST caused
READDB2        ERROR: Char Operand in the %EVAL, due to a superfluous
Jan 29, 2019   AND in an %IF statement that also exposed that PDBOUT=YES
Feb  1, 2019   failed in the PROC SORT of the DB2STATx datasets.
               The WANTONLY doc has been updated to note that
                 WANTONLY DOES NOT SUPPORT DB2STATS DB2STATR DB2GBPST
                 DB2STATB DB2SDTSBP AND DB2STAT5 DATASETS.
   Thanks to Keith C. Shaffer, Cigna, USA.
   Thanks to James Cyr. Cigna, USA.

Change 37.023  Unused Change Number.

Change 37.022  The new $MGRMIPS format that maps IBM processor model to
GRAFWRKX       MSU and MIPS capacity (created in 37.001) is now used in
GRAFCEC        these Graphs, which use PDB.ASUMCELP which has variable
Jan 28, 2019   CPCFNAME so MIPS can be calculated from percent busy:
                 MIPS=PCTBUSY/100*PUT(CPCFNAME,$MGRMIPS.);
               The CPCFNAME is constructed from CPU TYPE and MODEL as
                  CPCFNAME=PUT(CPUTYPE,$HEX4.)!!'-'!!CPCMODEL;
               programmatically, or manually as '3906-420' for that z14.
   Thanks to Ervin Claxon, CSX, USA.

Change 37.021  If you run on ASCII with autoaloc=yes and did not put an
VMXGALOC       execution of VMXGALOC in your IMACINIT (strongly our
Jan 28, 2019   recommendation) but added a second execution of VMXGALOC
               and the parameters did not precisely match those you used
               in BLDSMPDB and did not specify READONLY=YES to suppress
               the aging off of old directories you could potentially
               lose data as it deleted old directories. This change now
               looks to see it you specified READONLY as NO and the
               current days PDB has already been created it will
               generate an MXGNOTE and set READONLY to YES.
              -YR2KEEP and BASEYEAR parameters are added to let you
               allocate a yearly PDB, Defaults to 0, so it won't be
               created or allocated unless you enable it, and you will
               need to update your BLDSMPDB to add the dataset names
               you want created in the yearly directories.  Contact
               support@mxg.com if you need help.

Change 37.020  Unused Change Number.

Change 37.019  Documentation note for VMXGUOW/ASUMUOW.  If you have a
VMXGUOW        tailored CICSTRAN dataset and have dropped any variables,
Jan 25, 2019   you may get an UNITIALIZED message for those variables in
               ASUMUOW. While this is an expected and non-critical error
               you can remove the error by editing the _KUOWIDC _KUOWCIC
               or _Kuowcix macros where the variables appear and simply
               remove the variable(s) from the list.

Change 37.018  Support for STC HSC Subtype 32 & 33 create new datasets
EXSTCV32          STCVSM32='RESERVED,INTERNAL USE'
EXSTCV33          STCVSM33='MVCPOOL USAGE'
VMXGINIT
VMACSTC
Jan 27, 2019
   Thanks to Randy Hewitt, DXC, USA.

Change 37.017  Many non-fatal corrections were made to type 92:
VMAC92        -Several 16-byte STCKE datetimes inputs were wrong:
Jan 24, 2019   SMF92CCT,SMF92MCT,SMF92CCT,SMF92FSMN
              -GMT92OFF had to be relocated around the STCKE INPUT.
              -Subtype 50+ have 72 byte data section, 32 for LT 50.
              -Subtype 50 variables LRP-LRN only in SMF92EVENT=1,
               and INPUT changed from &PIB.4.3 to &PIB.4.0.
              -Subtype 50 variables OVS/OCH only in SMF92EVENT=4
              -Poor Labels SMF92EVENT/SMF92VOL/SMF92CCHH/SMF92VCN
               were enrichened.
              -Subtype 50 SMF92OCH corrected format to HEX for CCHH.
              -Variable SMF92ADN only kept in TYPE9217 dataset.
              -Subtype 59 only the first instance was output.
              -Subtype 52 and 54 had incorrect SKIP values.
              -Subtype 58 SMF92TRL relocated outside the loop.
              -Subtype 59 2 byte filler removed with STCKE fix.
               This demonstrates the difficulty in writing new code
               with no SMF records to test. SMF 92 code was updated
               in Aug 2017 in Change 35.180, expecting a user to send
               SMF data if problems were observed, and that didn't
               happen until January 2019, with most of the above fixes
               mostly done by these two users:
   Thanks to John Compton, World Programming Ltd, ENGLAND.
   Thanks to Steve Bagshaw, ITMetrics, ENGLAND.

Change 37.016  Report showing total bytes/counts and min/max datetimes
ANALID         for each SYSTEM is added as the second report.
Jan 19, 2019

Change 37.015  Variable EDGRTIME had missing values with DATEFORM=E/A/I;
FORMATS        RHDTFORM logic moved ahead of EDGRTIME for H record and
VMACEDGR       label corrected to EDGRTIME='REPORT*DATE TIME'
Jan 20, 2019
   Thanks to Lindsay Oxenham, Department of Defence, AUSTRALIA.

Change 37.014  INPUT EXCEEDED DB2STAT1 SMF 100 Subtype 1 NETEZZA/IDAA
VMACDB2        record because IBM changed the length of OFFQ8ST segment
Jan 18, 2019   but couldn't change LENQ8ST because it is a single field
               in the header that should apply to all segments. But the
               correct length is now set with LENQ8ST=Q8STNAME_OFF+8;
               using the end of the name field for the actual length.
   Thanks to Graham Harris, RBS, ENGLAND.
   Thanks to Randy Hewitt, DXC, USA.

Change 37.013  New example to count both TAPEDRVS and STEPS, and the
ANALCNCR       Concurrency with only one pass of the data.
Jan 20, 2019
   Thanks to Randy Hewitt, DXC, USA.

Change 37.012  z/VM Service Level 40061802 INPUT STATEMENT EXCEEDED due
VMACVMXA       to VMMTRSYS inserting 60 bytes in the 1.04 record.
Jan 17, 2019
   Thanks to Craig S. Bigler, Progressive Insurance, USA.

Change 37.011  Variables QXFETCH/QWACSPEB UNINITIALIZED due to misspell.
VMXGUOW        Enhanced to make it easy to only process CICSTRAN data:
Jan 19, 2019     IF  _LDB2ACC=_NULL_, DB2 data will not be read.
Jan 25, 2019     IF  _INMQ=_NULL_ MQ data will not be read.
               Counts of OBS before and after are created and if the
               OBS reduction is LT 2, an MXGNOTE advises you to skip
               using ASUMUOW which can be very CPU intensive and is
               really needed for heavy CICS MRO sites, to consolidate
               those multiple CICSTRAN observations into one UOW,
               Unit of Work observation.
   Thanks to Gary Keeres, Indianapolis Power & Light, USA.

Change 37.010  Reserved Change Number.
FORMATS
VMAC89
Jan 16, 2019

Change 37.009  The $%VGETOBS(DDNAME=&PDBMXG should be (DDNAME=&PDBMXG1
GRAFCEC        although no error occurred unless you had set a value
Jan 14, 2019   other than "PDB" for the location of the input PDB.
   Thanks to Tom MacCabe, Dominion Energy, USA.

Change 37.008  Enhancement, addition of INCODE= parameter to allow
GRAFWRKX       selection by date or system with your inserted code.
Jan 11, 2019   Suppressed a no longer needed graphics catalog note.

Change 37.007 -Support for Beta93 Version 6.2 subtypes 2 and 3, which
VMACBETA       both have a lot of undocumented data: subtype 2 docs 140
Jan 22, 2019   but length is 208 and subtype 3 docs 156 with 224 length.

Change 37.006 -If MXGDEBUG has length GT 0 and DSNSTRING or DATASET are
VMXGPRAL       zero, debugging messages are created by VMXGPRAL.
VMAC102       -Unmatched parens in data set labels read by VMXGPRAL
Jan 11, 2019   caused non-fatal error messages for datasets with obs:
                 ERROR: Expected close parenthesis after macro function.
               All MXG dataset's labels were examined and VMAC102 for
               IFCIDs 84 85 86 87100 101 174 AND 175 were corrected.

Change 37.005   Support for DB2 102 Trace IFCID/SUBTYPE 404 populates
VMAC102         T102S404 (Authorization Compatibility) dataset with
Jan 10, 2019    QW0404xx variables.
   Thanks to Warren Cravey, FMR, USA.

Change 37.004  Reading z/OS DATA using the SAS FTP Access method needs
TECHNOTE       the RCMD='SITE RDW' argument:
Jan  9, 2019      FILENAME SMF FTP ("'SYS1.SMF'" "'SYS2.SMF'" ... )
                          USER='XXXXXX' HOST='YYYYYYY' DEBUG
                          S370VS RCMD='SITE RDW' LRECL=32760
                          PASS='XXXXXXXX' PASSIVE;
               If RCMD is not used, the transfer will time out when
               PASSIVE is specified, or will produce a RACF ERROR
               if PASSIVE was not specified.

Change 37.003  SMF119 dataset TYP11952 variable SMF119ML_IP_IPV4 was
VMAC119        wrongly compressed of blanks from variable TIRIP instead
Jan  8, 2019   of from SMF119ML_IP_IPV4 in line 4519.
    Thanks to Randy Shumate, RELX Group, USA

Change 37.002 -SMF92 Subtype 8 INPUT STATEMENT EXCEEDED because the
VMAC92         documented length of SMF92GDD in the SMF Manual is 4,
Jan  8, 2019   but the length in the record is 8 bytes.
              -There were also numerous non-fatal corrections:
              -SMF92 Subtype 50, SMF92STHCL missing period, and names
               SMF90OIOCCL/SMF82VCX were corrected to SMF92.
   Thanks to Miroslav Kubik, IBM Corporation, CZECH REPUBLIC.
   Thanks to John Compton, World Programming Ltd, ENGLAND.

Change 37.001 -Improve ability to propagate variables of interest to
ADOCRMFV       multiple SAS data sets during RMF III PDB build.
ASMRMFV       -RMF III CPCDB table fields CPC_CecMSU, CPC_LparMSU, and
FORMATS        CPC_HomeLPName, are added to MXG01 record from the first
VMACRMFV       MINTIME interval for each RMF III VSAM dataset at open,
Jan  6, 2019   but those MXG01 values are the values only at start.
Jan 14, 2019  -Format $MGRMIPS is created to map GEIMODEL/GEIIMDL to
Jan 29, 2019   create the CPC_CECMIPS using IBM's LSPRITR table:
Feb  2, 2019   IBM Resource Link: Large Systems Performance Reference
               https://www-01.ibm.com/servers/resourcelink/
                  lib03060.nsf/pages/lspritrzOsv2r2?OpenDocument
              -RMF III GEI table fields GEIMODEL and GEIMDL added to
               MXG01 record from the first MINTIME interval for each
               RMF III VSAM data set, but the MXG01 value is only the
               RMF III start. But by RETAINing these fields from the
               GEI and CPU records, and by relocating the write of the
               GEI, CPU, and CPCDB records before the ASI records for
               each interval, the CEC MODEL/Speed and MSU/MIPS capacity
               variables CPC_CECNAME CPUCEMSU CPUCEMIPS CPULPMSU
               GEIMODEL GEIIMDL and LPARNAME are populated in ZRBASI
               and several other datasets.
              -NOTE: Not all the fields mentioned above are always
               static.  Use the RMF III DATASET SWITCH option to force
               RMF III to overwrite the oldest data set whenever it is
               started if separation of configuration changes by data
               set is desired.
              -CSVQUERY macro added to show load module size in Change
               36.241 for ASMRMFV destroyed pointer to SCT (Step Control
               Table).  This caused ASMPGM and ASMSTEPN fields in MXG00
               record to be garbage and also in message in VMACRMFV.
              -Section 12 "Messages" is updated.
              -In MXG 36.36 the fields GEIIMDL/GEIMODE were added to
               ZRBASI, but they could be incorrect, precipitating
               this change in logic in VMACRMFV.

LASTCHANGE: Version 37.
====-====================MEMBER=CHANGE36================================
 /* COPYRIGHT (C) 1984-2019 MERRILL CONSULTANTS DALLAS TEXAS USA */

MXG ANNUAL  VERSION 36.36 is  dated Jan  4, 2019, thru Change 36.255.
        MXG VERSION 36.12 was dated Dec 25, 2018, thru Change 36.246.
        MXG VERSION 36.11 was dated Dec  3, 2018, thru Change 36.236.
        MXG VERSION 36.10 was dated Nov 21, 2018, thru Change 36.229.
        MXG VERSION 36.09 was dated Oct 18, 2018, thru Change 36.197.
        MXG VERSION 36.08 was dated Sep 10, 2018, thru Change 36.170.
        MXG Version 36.07 was dated Aug  8, 2018, thru Change 36.149.
        MXG Version 36.06 was dated Jul  9, 2018, thru Change 36.128.
        MXG Version 36.05 was dated Jun 13, 2018, thru Change 36.119..
        MXG Version 36.04 was dated May  8, 2018, thru Change 36.091.
        MXG Version 36.03 was dated Apr  2, 2018, thru Change 36.064.
        MXG Version 36.02 was dated Mar  5, 2018, thru Change 36.050.
First   MXG Version 36.01 was dated Feb  6, 2018, thru Change 36.026.
Annual  MXG Version 35.36 was dated Jan  8, 2018, thru Change 35.309.
        The Last MXG Newsletter SIXTY-NINE was dated Jan  3, 2018.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 36.36 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 36.36.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame, although there are
  no new NEWSLTRS updates; they are now found in CHANGESS as TECHNOTEs.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================

I.  MXG ANNUAL VERSION 36.36 DATED Jan  4, 2019, THRU CHANGE 36.255.

==MAJOR CHANGES ADDED IN MXG 36.36, DATED Jan  4, 2019 THRU 36.255.

New Product Support
  TYPEDB2  36.254  Support for Fast Traversal Index adds variables.
  TYPE72GO 36.253  MOBILE Service Units CPU Time not in CPUTM variable.
                   Incorrect, see Change 37.120.
  TYPE102  36.251  Support to populate T102S126 for DB2 102 IFCID 126.
  TYPE119  36.250  New variables added to TYP11952 subtype 52 dataset.
ENHANCEMENT
  DOCVLONG 36.247  Utility to create DOCVER with all info on one line.
  VMXGSUM  36.249  OBS=0 protection adds non-zero SYSCC Error test.

==MAJOR CHANGES ADDED IN MXG 36.12, DATED Dec 25, 2018 THRU 36.246.

  TYPERMFV 36.241  CPC_CECNAME added, ASITRT/TET corrected, MSU ACT.
New Product Support
  TYPEMGCR 36.240  Support for MegaCryption MEGACR34, subtype 3 and 4.
  TYPEBETA 36.246  BETA 93 Version 6.2.0 updates subtypes 0/22/25/50/59
ERROR Correction
  TYPEIMS  36.238  MXG 36.11 IMS 14.1 invalid offset ABEND IMS56FA.
  TYPEVMXA 36.237  MXG 36.11 old z/VM 6.3 DATA LOSS ABEND MTRSYS 1.04.
  VMXGALOC 36.243  Protection for READONLY=YES with FIRSTRUN=NO
  BLDSMPDB 36.242  Protection for AUTOALOC=YES and FIRSTRUN=YES
  VMXGSUM  36.245  VMXGSUM with user's INCODE GT 32756 chars, ABEND.
ENHANCEMENT
  TYPE110  36.244  CICS Variable D2GDB2ID added to CICDB2GL BY list.


==MAJOR CHANGES ADDED IN MXG 36.11, DATED Dec  3, 2018 THRU 36.236.

New Product Support
  TYPE110  36.235  Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
  UTILEXCL 36.235  Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
        Yes, you need MXG 36.11 for CICS/TS 5.5 because fields were
        inserted into SMF 110 CICSTRAN records and using old MXG will
        have trashed values due to the misalignment, but MXG could run
        and only print error messages, which might be false positives,
        or could execute with no errors nor log messages, especially if
        you have a tailored IMACEXCL, but your CICSTRAN dataset will
        still be invalid.
  TYPETMO2 36.236  Support for ASG-TMON CICS for z/OS V4.2 - NO CHANGES.
  TYPEMVCI 36.234  Support for BMC's MainView for CICS(v69) COMPATIBLE.
ERROR Correction
  TYPEPOEX 36.231  Protection for truncated POEX File Segment records.
  TYPE119  36.230  ZERT SMF 119 Subtypes 11 and 12 minor corrections.
Enhancements
  ANAL9914 36.232  SMF99 ST 14 Processor Topology Report Enhanced.


==MAJOR CHANGES ADDED IN MXG 36.10, DATED Nov 21, 2018 THRU 36.229.

ERROR Correction
  TYPEVMXA 36.221  MONWRITE DEFECT caused large values, LCUPPNUM issue.
  TYPE110  36.220  Variable WTOTIOTM could exceed ELAPSTM
  TYPE72GO 36.215  Variable MSUSOFT, Software MSU frequently missing.
  TYPE102  36.212  Protection for IFCID 376 invalid offsets STOPOVER.
  TYPE74   36.211  TYPE749 variables added and corrected.
  TYPERMFV 36.201  MXG 36.09, z/OS 2.2 only, ASIxxx text misaligned.
  TYPERMFV 36.201  WPS failed ERROR: format '$ CPUPHYAD' invalid
  TYPEVMXA 36.198  z/VM VXBYUSR High CPU, records not on same second.
New Product Support
  TYPE21   36.218  Support for APARs OA52915 and OA52940, 4 byte counter
  TYPEBE97 36.217  Support for new BE97 subtype 6 and subtype 22 update
  TYPE7072 36.208  Support for APAR OA56011 for TYPE70 OSPROTECT.
  TYPE122A 36.207  Support for zExplorer SMF 122 Subtype 2.
  TYPEBETA 36.199  Beta 93 Subtype 51 and subtype 22 updates.
Enhancements
  GRAFMSU  36.204  Plots/Tabulate of MSU 4HR usage and capacity.
  ANALRMFR 36.203  CPU report with INTERVAL=HOUR was incorrect.
  TECHNOTE 36.209  APARs of interest for z/OS.
  ASUMCICR 36.226  Major revision to CICS RESPONSE TIME SLA reports.
  TYPESTC  36.222  Numerous STC formats were updated with new values.


==MAJOR CHANGES ADDED IN MXG 36.09, DATED Oct 18, 2018 THRU 36.197.

ERROR Correction
  TYPE42   36.194  Another 42 Subtype 5 LENSR=376 invalid value ABEND.
  TYPEXAM  36.195  zVPS MTRSYS Serious Error ABEND, undoc SEGLEN=336.
  TYPEPOEX 36.183  Power Exchange USER SMF STOPOVER if File Length zero
  TYPE74   36.191  Type 74 Subtype 8 R748Sxxx Sync I/O misaligned.
  TYPEXAM  36.181  Support for zVPS/XAM USEDIAG segment (INCOMPAT).
  UTILBLDP 36.180  UTILBLDP with RMFINTRV=NO/BUILDPD=YES, no PDB.TYPE70.
  TYPE89   36.178  New Target Resource Group TYPE89R2 incomplete/wrong.
  READDB2  36.172  READB2(IFCIDS=0-999) failed at highest IFCID 367.
  UTILBLDP 36.176  MXG 36.08, Extraneous % with EXPDBOUT= 180 ABEND.
New Products Support
  TYPE30   36.188  Support for SMF 30 USERKEY RAX Bit 4 CSA RAXFLAGS.
                   APAR OA53355 added SMF30_RAXFLAGS, MXG in 35.09
                   This change decodes each bit.
  TYPEIMST 36.192  Support for IMS Version 15 IMS56FA (COMPATIBLE).
  ANAL9914 36.171  Support for z/14 Clusters IBM Processor Topology rpt.
  TYPERMFV 36.196  Support for new z/OS 2.3 variables (COMPATIBLE)
  TYPECMFV 36.173  Support for Mainview MVS History Records new datasets
  TYPEZCOS 36.174  Support Auto Soft Capping (ZCOS) Version 4.2 INCOMPAT
  UTILEXCL 36.179  Support for USER CICS fields USER3/USER3 and ATOUSER.
Enhancements
  TYPETMS5 36.193  Estimated bytes after IDRC added variables.
  TYPE84   36.184  JES 2 JMF Subtype 21 INPUT EXCEEDED ABEND.

==MAJOR CHANGES ADDED IN MXG 36.08, DATED SEP 10, 2018 THRU 36.170.

ERROR Correction
  TYPE70   36.166  CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
  RMFINTRV 36.166  CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
New Products Support
  TYPECIMS 36.167  Support for BMC Energizer for IMS Connect for IMF.
  TYPE30   36.150  Support for APAR OA54589, OSPROTECT, TRUSTED.
  TYPECIMS 36.162  Support for multiple IMS SYSTEMS, using JFCB DSNAME.
  TYPEVMXA 36.155  Support for z/VM LINUX LNXAPPL Process & Summary data
  TYPE106  36.152  New SMF 106 variables decoded and formatted.
  TYPE42   36.151  New variables from Jul 30, 2018 SMF Manual.
  TYPE62   36.151  New variables from Jul 30, 2018 SMF Manual.
Enhancements
  ANAL89   36.165  Analysis of SMF 89 data, including MSU from CPU time.
  TYPECIMS 36.163  IMS56FA obs for CPI-C had incorrect INPQUETM.
  GRAFWLM  36.153  New HIGHTOLOW parm to reverse IMPORTANCE order.

==Major CHANGES added in MXG 36.07, dated Aug  8, 2018 thru 36.149.

New Products Support
  TYPERSDA 36.143  Support for RSD Folders Version 6.0 AUDIT (INCOMPAT).
  TYPEPOEX 36.135  Support for PowerExchange Version 10.
  TYPEWSF  36.132  Support for EOS Version 160 (INCOMPATIBLE).
Enhancements
  COMPINTV 36.144  Compare RMF/SMF/CICS/DB2 Interval CPU Time captured.
  READDB2  36.140  New SORT102=NO option can suppress T102Snnn sorts.
  UTILBLDP 36.139  AUDITAFTER, SUPPRESS=ID, SORTOUT=NO revisions.
  RMFINTRV 36.136  MXGABNDRMFI option will ABEND if OTHER Work found.
ERROR Correction
  TYPE102  36.138  Dataset T102S018 was misaligned.
  TYPERHEL 36.137  Invalid data for variable MICROCODE.
  TYPE120  36.134  WebSphere SMF 120 subtypes 5/6 only first was output.
  ASUM113  36.133  Variable LPARBUSY was not calculated for z14.
  TYPESMF  36.131  MXGREADSMF=LOGGER didn't invoke CICSIFUE exit.
Technical Notes
  MXGNOTE  36.141  zHPF Channel Utilization
  SASNOTE  36.129  SAS Not 61906 SAS 9.4 TS1M3 High CPU fixed in M4/M5.

==Major CHANGES added in MXG 36.06, dated Jul  9, 2018 thru 36.128.

ABEND Circumvention
  TYPE42   36.124  SMF 42 ABEND, more invalid values found, protected.
                   APAR OA54663 corrects IBM Invalid values.
New Products Support
  TYPEBVIR 36.120  Support for BVIR V412 History HSM Compression data.
  TYPE119  36.127  Support for ZERT SMF type 119 Subtype 12
ERROR Correction:
  READDB2  36.121  READDB2(IFCIDS=ALL) did not create DB2STATS dataset.

==Major CHANGES added in MXG 36.05, dated Jun 13, 2018 thru 36.119.

New Products Support
  TYPESRDF 36.112  Support for SRDF Symmetric Remote Data Facility VV.RR
  TYPE80A  36.108  Support for RACF TOKENs REQTCRE and ADMINCII'
  TYPE102  36.102  Support for DB2 V11 APARS PI71903/PI84045/PI82755.
  TYPE101  36.101  Support for NDM-CDI OP record.
Enhancements:
  JCLCPORT 36.111  Sample JCL to move WPS datasets to SAS.
  TYPENMON 36.109  Significant CPU reduction processing NMON data.
  TYPERHEL 36.109  Significant CPU reduction processing RHEL data.
  ASUMUOW  36.107  Using ROLLUPS is useless with ASUMUOW, suppress DB2.
ERROR Correction:
  ASMRMFV  36.110  SOC7 ABEND reading non-Extended Format VSAM dataset.
  TYPEDB2  36.114  DB2ACCTR dataset has been misaligned, NRQLAC GT 1.
  TYPEDB2  36.113  Incorrect test for QPAC_PIPE_WAIT/COUNT in DB2ACCTP.
                   THIS HAS NOT BEEN TESTED WITH DB2 V12 NRQLAC GT 1.
                   A POSTING TO MXG-L WILL REPORT SUCCESS/PROBLEMS.
  TYPE42   36.106  TYPE42DS Encryption variables were not kept.
  TYPESYSX 36.105  TYPESYSL renamed to TYPESYSX to avoid conflict.
  TYPEACF2 36.100  ACF2 6.2 Change 36.076 didn't correct STOPOVER.
  READDB2  36.092  ACCTSORT=NO was not working, data ended up in WORK.

==Major CHANGES added in MXG 36.04, dated May  8, 2018 thru 36.091.

New Products Support
  TYPE122A 36.066  Support for IBM Devel z Systems IDZ SMF 122 record.
  TYPE119  36.079  Support for SMF 119 subtypes 24, 38, 39, 40, and 45.
  TYPEACF2 36.075  ACF2 INVALID SMF RECORD, ACSMFREL=0, should be 6.2.
  TYPEIAM  36.071  INPUT STATEMENT EXCEEDED IAM 9.2 Length Changed.
  TYPE7072 36.073  Support for z14 ZR1, new SMF70MAXPU variable COMPAT.
Enhancements:
  ANALID   36.081  Support for four-digit SMF Record type reporting.
  TYPEDCOL 36.086  z/OS 2.3 DCOLLECT Encryption Variables added DCOLDSET
  TYPE99   36.072  New EWLM & SERV variables added to TYPE99_6 dataset.
  CONFIG   36.067  MXG default CAPSOUT option for z/OS now NOCAPSOUT.
ERROR Correction:
  TYPESTC  36.084  Dataset STCVSM11 Change 34.237 variables corrected.
  TYPEDB2  36.082  DB2 BPHITRAT corrected.
  CONFIG   36.078  OPTION SORTBLKREC corrects DFSORT OC4 in SAS 9.4 M3.
  TYPE110  36.077  CICDS Dispatcher Statistics DSGTWT corrected.
  TYPEBETA 36.074  Variables BETALOG reversed, subtype 51 doesn't match.

==Major CHANGES added in MXG 36.03, dated Apr  2, 2018 thru 36.064.

New Products Support
  TYPEQACS 36.051  AS/400 Ver 7.3, INCOMPAT LRECL, undoc fields.
  TYPE74   36.057  z/OS RMF 2.3 Enhancements, APARs, new SMF manual.
  TYPEXBM  36.060  Support for BMC Extended Buffer Mgr XBM User SMF
     All updates in the Jan, 2018, SMF Manual are included in 36.03.
Enhancements:
  TYPE74   36.056  DEVNR5HEX displays 5-hex-nybble zWrite DEVICE NR.
  SMFINTRV 36.053  SMF Interval INTBTIME/INTETIME all DATETIME25.6
ERROR Correction:
  TYPEVMXA 36.062  VXBYUSR deaccum corrected for new _MT1 variables.
  TYPEXAM  36.061  Invalid SYTNLPS value in SYTCUP prevented output.
  UTILBLDP 36.059  CHAR OPERAND FOUND if USERADD=ID was requested.
  TYPE82   36.055  New TYPE8231 was misaligned, trunc 0203 protected.
  BLDSMPDB 36.054  &PDBPATH was not initialized, when MTD requested.
  ANALDB2R 36.058  36.02 Only, missing %END corrected.

==Major CHANGES added in MXG 36.02, dated Mar  5, 2018 thru 36.050.

New Products Support
  TYPEIMS  36.040  Support for unpopulated IMS 56FA with APAR UI50912.
  TYPEXCOM 36.047  Support for XCOM Version 36.02 (COMPATIBLE).
  TYPENDM  36.046  Support for NDM-CDI Version 5.2, corrects NDMCPU plus
  TYPERHEL 36.043  Initial support for NMON Red Hat Linux RHEL monitor.
  TYPE82   36.036  Support for new SMF 82 subtype 82 JOB-Level Crypto.
ERROR Correction:
  ASUM70PR 36.041  MXGERROR:MISSING TYPE70 now MXGWARN:MISSING TYPE70.
  TYPE119  36.038  "INVALID SMF 119 TYPE 81" corrected, not invalid.
  TYPEDB2  36.037  Var QWHSACE missing from DB2STSBP sort, ABEND
  ANALCAPD 36.042  ERROR: FOUND "IF" when the CEC= option was used.
  TYPE7072 36.035  Incorrect LPAR/ZIP SHAR/SHAC if last engine was IFL.
Enhancements:
  MOBWORK  36.045  Enhanced Mobile Work 4 Hour MSU reporting datasets.
  TYPEIMS  36.044  Variable IMSVERS, the value in your _IMSVERS is kept.
  TYPE70PR 36.039  TYPE70PR variable LPARZIPS, online zips, added.

==Major CHANGES added in MXG 36.01, dated Feb  6, 2018 thru 36.026.

New Products Support
  TYPE120  36.022  Support for Liberty 8.9.1.0 SMF 120 ST 100 (COMPAT).
  TYPEVMXA 36.025  Support for zVM64 Level 40061701/1702 (INCOMPATIBLE).
                   36.01 is required for these levels, Broken CR errors.
  TYPETPMX 36.024  Support for ThruPutManager Release 18.02 TMT7113.
  TYPE70TR 36.003  New 70 Tenant Resource Group TRG updated/validated
  TYPE72TR 36.003  New 72 Tenant Resource Group TRG updated/validated
  TYPE89   36.003  New 89 Tenant Resource Group TRG updated/validated
  UTILBPV  36.007  Program to examine the BPV cylinder value for EAV.
  TYPE110  36.008  CICS/TS 5.3 CPU variables in Statistics CICM dataset.
  TYPEPOEX 36.002  PowerExchange updated, trashed CPU values, open prob.

ERROR Correction:
  TYPE42   36.023  Yet another STOPOVER ABEND, due to Invalid LENSR=232.
  TYPE0    36.009  INVALID TYPE 0 LENGTH=70 is valid, wrongly deleted.
  ASUM70PR 36.026  MXGERROR: MISSING TYPE 70 RECORDS impact ASUMCEC/LP.
  TYPE30   36.012  The created GMTOFF30 could be .01 seconds plus/minus.
  PDBAUDIT 36.011  %PDBAUDIT(LIBNAMES="Not All" fails with syntax error.
  TYPE73   35.010  TYPE73 dataset, variable CHFXRATE slightly wrong.
  TYPE119  36.008  Variable TTAPLDAT in dataset TYP11902 misaligned.
  TYPE119  36.018  STOPOVER ABEND: SMF 119 Subtype 81, at IBM now.
  TYPE115  36.005  QWHSDURN different in subtype 231, new vars, cleanup.
  TYPEDB2  36.004  DB2 V11 IFCID 376 INPUT STATEMENT EXCEEDED. V11 only.
  TYPETCP  36.001  TYPETCP (archaic 118) APISTART date was on GMT.
  TYPEBETA 36.015  ERROR when TYPEBETA and TYPE70 used together.

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
     The current version nomenclature is SAS 9.4 TS1M5 (9.4M5), "M5",
     or "SAS 9.4 (TS04.01M5P09132017)" if the OPTION VERSIONLONG is
     enabled.

     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36+ because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     described in SAS Note 61672.  But SAS apparently does not plan for
     a defect correction since the MXG Circumvention solves for MXG and
     the text of 61672 simply describes the circumvention needed because
     MXG's use of OPTIONS OBS=0 without NOERRORSTOP exposed the defect.
     See Change 35.309 for more details on using NOERRORSTOP for your
     own PROC SQLs.

     SAS V9.4 M5 is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M2 or M4-M5 or SAS Version 9.3 M0-M2.

     SAS V9.4 M5 is REQUIRED with z/OS 2.3 with Eight-Byte USERIDs
                for Interactive TSO (DMS) SAS Sessions. SAS Note 61339.

     SAS V9.4 M3 is NOT RECOMMENDED.  See Change 36.129 SAS Note 61906
                that reports 40% Increase in CPU time with M3.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      or you can continue to use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 36.11 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows TEN and
      Linux on 64-bit hardware, but MXG users execute MXG on MANY
      (ALL??) SAS platforms, including AIX, Linux, and other 'nix'
      variants, on many different hardware platforms, and since they all
      work we don't need to list them. If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

     THE Z14 CHANGED ONLY THE SMF 113 RECORD INCOMPATIBLY and that
     was supported in MXG 35.11, but ASUM113 variable LPARBUSY was
     missing until corrected in MXG 36.07.  The new SMF70MAXPU variable
     was added in MXG 36.04.

     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.
     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.


   However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
   INCOMPATIBLY CHANGED, and MXG 34.03 is REQUIRED (PCTCPUBY WRONG!), to
   read the SMT-format RMF records (which are written if you have zIIP
   engines AND have enabled the new PROCVIEW CORE option for
   Multi-Threading, even if only one thread is enabled).

   The new zEDC compression hardware requires MXG 33.07 to support the
   new metrics.

   For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 INCOMPAT, ABEND    Oct  2, 2017        35.11
      z14   113 LPARBUSY missing value Aug  8, 2018        36.07
      z14 ZR1 New SMF70MAXPU variable  May  8, 2018        36.04
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS-TS/5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS-TS/5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS-TS/5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS-TS/5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS-TS/5.3 GA date              Dec 11, 2015        33.33
      CICS-TS/5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS-TS/5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS-TS/5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS-TS/5.4 GA                   Jun 17, 2017        35.03
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        35.07
      IMS log 15.1 NO CHANGES          Mar  1, 2018        35.07
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2 was 16.04 but ABEND, ACSMFREL=0 May 2018   36.05
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       IMF 5.3 a/k/a Mainview IMS                          35.03
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2                         33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 36.11.


 1. Incompatibilities introduced in MXG 36.36:

  a- Changes in MXG architecture made between 36.36 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 36.36 after MXG 35.36:

  Dataset/
  Member   Change    Description

  ANAL89   36.165  Analysis of SMF 89 data, including MSU from CPU time.
  ANAL9914 36.171  Support for z/14 Clusters in IBM Processor Topology.
  ANAL9914 36.232  SMF99 ST 14 Processor Topology Report Enhanced.
  ANALCAPD 36.042  ERROR: FOUND "IF" when the CEC= option was used.
  ANALID   36.081  Support for four-digit SMF Record type reporting.
  ANALRMFR 36.203  CPU report with INTERVAL=HOUR was incorrect.
  ASCIIDSN 36.020  ASCII version of JCLDAYDS with SAS FTP for TMC/DCOL.
  ASMRMFV  36.110  SOC7 ABEND reading non-Extended Format VSAM dataset.
  ASUM113  36.133  Variable LPARBUSY was not calculated for z14.
  ASUM70PR 36.026  MXGERROR: MISSING TYPE 70 RECORDS impact ASUMCEC/LP.
  ASUM70PR 36.041  MXGERROR:MISSING TYPE70 now MXGWARN:MISSING TYPE70.
  ASUMCICR 36.226  Major revision to CICS RESPONSE TIME SLA reports.
  ASUMCICR 36.226  Major revision to CICS RESPONSE TIME SLA reports.
  ASUMUOW  36.107  Using ROLLUPS is useless with ASUMUOW, suppress DB2.
  BLDSMPDB 36.242  Protection for AUTOALOC=YES and FIRSTRUN=YES
  CONFIG   36.067  MXG default CAPSOUT option for z/OS now NOCAPSOUT.
  CONFIG   36.078  OPTION SORTBLKREC corrects DFSORT OC4 in SAS 9.4 M3.
  DOCUMENT 36.013  APAR OA27291 OC4 USEZOSV1R9RULE(NO) z/OS 1.10+
  DOCVLONG 36.247  Utility to create DOCVER with all info on one line.
  GRAFMSU  36.204  Plots/Tabulate of MSU 4HR usage and capacity.
  GRAFWLM  36.153  New HIGHTOLOW parm to reverse IMPORTANCE order.
  JCLCPORT 36.111  Sample JCL to move WPS datasets to SAS.
  MOBWORK  36.045  Enhanced Mobile Work 4 Hour MSU reporting datasets.
  MXGNOTE  36.141  zHPF Channel Utilization
  PDBAUDIT 36.011  %PDBAUDIT(LIBNAMES="Not All" fails with syntax error.
  READDB2  36.092  ACCTSORT=NO was not working, data ended up in WORK.
  READDB2  36.121  READDB2(IFCIDS=ALL) did not create DB2STATS dataset.
  READDB2  36.140  New SORT102=NO option can suppress T102Snnn sorts.
  READDB2  36.172  IFCIDS=0-999 failed, only 367 are defined, now warns.
  RMFINTRV 36.136  MXGABNDRMFI option will ABEND if OTHER Work found.
  RMFINTRV 36.166  CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
  SASNOTE  36.129  SAS Not 61906 SAS 9.4 TS1M3 High CPU fixed in M4/M5.
  TECHNOTE 36.209  APARs of interest for z/OS.
  TYPE0    36.009  INVALID TYPE 0 LENGTH=70 is valid, wrongly deleted.
  TYPE101  36.101  Support for NDM-CDI OP record.
  TYPE102  36.102  Support for DB2 V11 APARS PI71903/PI84045/PI82755.
  TYPE102  36.138  Dataset T102S018 was misaligned.
  TYPE102  36.212  Protection for IFCID 376 invalid offsets STOPOVER.
  TYPE102  36.251  Support to populate T102S126 for DB2 102 IFCID 126.
  TYPE106  36.152  New SMF 106 variables decoded and formatted.
  TYPE110  36.008  CICS/TS 5.3 CPU variables in Statistics CICM dataset.
  TYPE110  36.077  CICDS Dispatcher Statistics DSGTWT corrected.
  TYPE110  36.220  Variable WTOTIOTM could exceed ELAPSTM
  TYPE110  36.235  Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
  TYPE110  36.244  CICS Variable D2GDB2ID added to CICDB2GL BY list.
  TYPE115  36.005  QWHSDURN different in subtype 231, new vars, cleanup.
  TYPE119  36.008  Variable TTAPLDAT in dataset TYP11902 misaligned.
  TYPE119  36.018  STOPOVER ABEND: SMF 119 Subtype 81, at IBM now.
  TYPE119  36.038  "INVALID SMF 119 TYPE 81" corrected, not invalid.
  TYPE119  36.079  Support for SMF 119 subtypes 24, 38, 39, 40, and 45.
  TYPE119  36.127  Support for ZERT SMF type 119 Subtype 12
  TYPE119  36.230  ZERT SMF 119 Subtypes 11 and 12 minor corrections.
  TYPE119  36.250  New variables added to TYP11952 subtype 52 dataset.
  TYPE120  36.022  Support for Liberty 8.9.1.0 SMF 120 ST 100 (COMPAT).
  TYPE120  36.134  WebSphere SMF 120 subtypes 5/6 only first was output.
  TYPE122A 36.066  Support for IBM Devel z Systems IDZ SMF 122 record.
  TYPE122A 36.207  Support for zExplorer SMF 122 Subtype 2.
  TYPE21   36.218  Support for APARs OA52915 and OA52940, 4 byte counter
  TYPE30   36.012  The created GMTOFF30 could be .01 seconds plus/minus.
  TYPE30   36.150  Support for APAR OA54589, OSPROTECT, TRUSTED.
  TYPE30   36.175  Support for SMF 30 User Key CSA RAXFLAGS OA53355.
  TYPE42   36.023  Another invalid LENSR=232, STOPOVER ABEND OA54668.
  TYPE42   36.106  TYPE42DS Encryption variables were not kept.
  TYPE42   36.124  SMF 42 ABEND, more invalid values protected.
  TYPE42   36.151  New variables from Jul 30, 2018 SMF Manual.
  TYPE62   36.151  New variables from Jul 30, 2018 SMF Manual.
  TYPE70   36.166  CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33 ENGS
  TYPE7072 36.035  Incorrect LPAR/ZIP SHAR/SHAC if last engine was IFL.
  TYPE7072 36.073  Support for z14 ZR1, new SMF70MAXPU variable COMPAT.
  TYPE7072 36.208  Support for APAR OA56011 for TYPE70 OSPROTECT.
  TYPE70PR 36.039  TYPE70PR variable LPARZIPS, online zips, added.
  TYPE70TR 36.003  New 70 Tenant Resource Group TRG updated/validated
  TYPE72GO 36.215  Variable MSUSOFT, Software MSU frequently missing.
  TYPE72GO 36.253  MOBILE Service Units CPU Time not in CPUTM variable.
  TYPE72TR 36.003  New 72 Tenant Resource Group TRG updated/validated
  TYPE73   35.010  TYPE73 dataset, variable CHFXRATE slightly wrong.
  TYPE74   36.211  TYPE749 variables added and corrected.
  TYPE80A  36.108  Support for RACF TOKENs REQTCRE and ADMINCII'
  TYPE82   36.036  Support for new SMF 82 subtype 82 JOB-Level Crypto.
  TYPE89   36.003  New 89 Tenant Resource Group TRG updated/validated
  TYPE99   36.072  New EWLM & SERV variables added to TYPE99_6 dataset.
  TYPEACF2 36.075  ACF2 INVALID SMF RECORD, ACSMFREL=0, should be 6.2.
  TYPEACF2 36.100  ACF2 6.2 Change 36.076 didn't correct STOPOVER.
  TYPEBE97 36.217  Support for new BE97 subtype 6 and subtype 22 update
  TYPEBETA 36.015  ERROR when TYPEBETA and TYPE70 used together.
  TYPEBETA 36.074  Variables BETALOG reversed, subtype 51 doesn't match.
  TYPEBETA 36.199  Beta 93 Subtype 51 and subtype 22 updates.
  TYPEBETA 36.246  BETA 93 Version 6.2.0 updates subtypes 0/22/25/50/59
  TYPEBVIR 36.120  Support for BVIR V412 History HSM Compression data.
  TYPECIMS 36.162  Support for multiple IMS SYSTEMS, using JFCB DSNAME.
  TYPECIMS 36.163  IMS56FA obs for CPI-C had incorrect INPQUETM.
  TYPECIMS 36.167  Support for BMC Energizer for IMS Connect for IMF.
  TYPECMFV 36.173  Support for Mainview MVS History Records new datasets
  TYPEDB2  36.004  DB2 V11 IFCID 376 INPUT STATEMENT EXCEEDED. V11 only.
  TYPEDB2  36.037  Var QWHSACE missing from DB2STSBP sort, ABEND
  TYPEDB2  36.082  DB2 BPHITRAT corrected.
  TYPEDB2  36.113  Incorrect test for QPAC_PIPE_WAIT/COUNT in DB2ACCTP.
  TYPEDB2  36.114  DB2ACCTR dataset has been misaligned, NRQLAC GT 1.
  TYPEDCOL 36.086  z/OS 2.3 DCOLLECT Encryption Variables added DCOLDSET
  TYPEIAM  36.071  INPUT STATEMENT EXCEEDED IAM 9.2 Length Changed.
  TYPEIMS  36.040  Support for unpopulated IMS 56FA with APAR UI50912.
  TYPEIMS  36.044  Variable IMSVERS, the value in your _IMSVERS is kept.
  TYPEIMS  36.238  MXG 36.11 protection for IMS 14.1 IMS56FA offset.
  TYPEMGCR 36.240  Support for MegaCryption MEGACR34, subtype 3 and 4.
  TYPEMVCI 36.234  Support for BMC's MainView for CICS(v69) COMPATIBLE.
  TYPENDM  36.046  Support for NDM-CDI Version 5.2, corrects NDMCPU plus
  TYPENMON 36.109  Significant CPU reduction processing NMON data.
  TYPEPOEX 36.002  PowerExchange updated, trashed CPU values, open prob.
  TYPEPOEX 36.135  Support for PowerExchange Version 10.
  TYPEPOEX 36.231  Protection for truncated POEX File Segment records.
  TYPERHEL 36.043  Initial support for NMON Red Hat Linux RHEL monitor.
  TYPERHEL 36.109  Significant CPU reduction processing RHEL data.
  TYPERHEL 36.137  Invalid data for variable MICROCODE.
  TYPERMFV 36.201  MXG 36.09, z/OS 2.2 only, ASIxxx text misaligned.
  TYPERMFV 36.201  WPS failed ERROR: format '$ CPUPHYAD' invalid
  TYPERMFV 36.241  CPC_CECNAME added, ASITRT/TET corrected, MSU ACT.
  TYPERSDA 36.143  Support for RSD Folders Version 6.0 AUDIT (INCOMPAT).
  TYPESMF  36.131  MXGREADSMF=LOGGER didn't invoke CICSIFUE exit.
  TYPESRDF 36.112  Support for SRDF Symmetric Remote Data Facility VV.RR
  TYPESTC  36.084  Dataset STCVSM11 Change 34.237 variables corrected.
  TYPESTC  36.222  Numerous STC formats were updated with new values.
  TYPESYSX 36.105  TYPESYSL renamed to TYPESYSX to avoid conflict.
  TYPETAND 36.118  Support for Tandem TMF Transaction DATA, TANDTMF.
  TYPETCP  36.001  TYPETCP (archaic 118) APISTART date was on GMT.
  TYPETMO2 36.236  Support for ASG-TMON CICS for z/OS V4.2 - NO CHANGES.
  TYPETPMX 36.024  Support for ThruPutManager Release 18.02 TMT7113.
  TYPEVMXA 36.025  Support for zVM64 Level 40061702 (INCOMPATIBLE).
  TYPEVMXA 36.155  Support for z/VM LINUX LNXAPPL Process & Summary data
  TYPEVMXA 36.198  z/VM VXBYUSR High CPU, records not on same second.
  TYPEVMXA 36.221  MONWRITE DEFECT caused large values, LCUPPNUM issue.
  TYPEVMXA 36.237  z/VM 6.3 PROBABLE DATA LOSS ABEND MTRSYS 1.04
  TYPEWSF  36.132  Support for EOS Version 160 (INCOMPATIBLE).
  TYPEXCOM 36.047  Support for XCOM Version 36.02 (COMPATIBLE).
  TYPEZCOS 36.174  Support for AutoSoftCapping ZCOS Version 4.2 INCOMPAT
  UTILBLDP 36.139  AUDITAFTER, SUPPRESS=ID, SORTOUT=NO revisions.
  UTILBLDP 36.176  MXG 36.08, Extraneous % with EXPDBOUT= 180 ABEND.
  UTILBPV  36.007  Program to examine the BPV cylinder value for EAV.
  UTILEXCL 36.220  Variable WTOTIOTM could exceed ELAPSTM.
  UTILEXCL 36.235  Support for IBM CICS/TS 5.5 SMF 110 CICSTRAN INCOMPAT
  VMXGALOC 36.243  Protection for READONLY=YES with FIRSTRUN=NO
  VMXGSUM  36.245  VMXGSUM with user's INCODE GT 32756 chars, ABEND.
  VMXGSUM  36.249  OBS=0 protection adds non-zero SYSCC Error test.

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at http://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE

====== CHANGES THRU 36.255 WERE IN MXG 36.36 DATED Jan  4, 2019=========

Change 36.255  T102S083 was incorrectly input to the report twice. One
ANALDB2R       report line with the correct AUTH CHG type was printed,
Jan  4, 2019   a report line with type that is blank in PMAUD02 report.
   Thanks to Henry Boone, GEICO, USA.

Change 36.254  Support for Fast Traversal Index adds these variables to
VMACDB2        DB2STATS dataset:
Jan  4, 2019      QISTTRAVMIN='FTB*THRESHOLD'
                  QISTFTBCANT='INDEXES*THAT*MEET*FTP CRITERIA'
                  QISTFTBCAN='INDEXES*THAT*MEET*TRAVERSE OK'
                  QISTFTBSIZE='TOTAL*MEMORY*ALLOCATION'
                  QISTINBNUMP='INDEXES*FTB*EXIST*PREVIOUS'
                  QISTINBNUMC='INDEXES*FTP*EXIST*CURRENT'
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 36.253  MOBILE Service Units on CP (GP) and SP (zIIP) engines are
VMAC7072       in TYPE72GO and TYPE72TR datasets, in variables R723MSUCP
Jan  3, 2019   and R723MSUSP, but their CPU times were not created, and
May 28, 2019   the GP CPU time is NOT included in CPUTM.  New variables
               CPUMOBILECP and CPUMOBILESP are created, but the CP CPU
               time is still not added into CPUTM at this time.  Instead
               CPUTM_ALL=SUM(CPUTM,CPUMOBILCP) is created so the values
               can be examined and validated; if you have MOBILE work,
               please contact support@mxg.com to discuss how this new
               new data can be best presented.
               May 28: See Change 37.120; CPUTM_ALL=CPUTM, text wrong.
   Thanks to Kare Martin Torsvik, EVRY,

Change 36.252 -Cosmetic cleanup of blank variable labels and spellings:
Many           VMACNDM: NDMOPSEQ
Jan  3, 2019   VMAC119: DM_LSVLANID,UC_LTEDATE GMTOFFTM
               VMAC74 and VMAC79: DEVNR5HEX
               VMAC78:  IOPDSTX
               VMAC89:  SMF89NUM was changed to SMF89_NUM
               VMACWSF: ACCSTAT, AUDOBJRN
               VMACBETA: BETASSI
   Thanks to Chris Weston, SAS ITRM, USA.

Change 36.251  Support for DB2 102 IFCID 126, but all fields are (S) for
VMAC102        "serviceability" with no descriptions, and a 4095 byte
Jan  3, 2019   field that is mixed binary and character, but no info.
               The R1O is 41 and R1L is 4096 so 4137 bytes are described
               and read, but records have 4448 bytes, 311 undocumented.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 36.250  New variables added to TYP11952 Subtype 52 dataset:
VMAC119         SMF119ML_IP_CONCOUNT=CONNECTION*COUNT'
Jan  3, 2019    SMF119ML_IP_CONFAILCOUNT=CONNECTION*FAILURE*COUNT'
                SMF119ML_IP_RCVDBYTES='RECEIVED*BYTES'
                SMF119ML_IP_SENTBYTES='SENT*BYTES'
                SMF119ML_IP_ESMTP='ESMTP*SUPPORTED?'
    Thanks to Randy Shumate, RELX Group, USA

Change 36.249  OBS=0 protection adds test of non-zero SYSCC Error code
VMXGSUM        to confirms a prior SAS error had set OBS=0, which can
Jan  1, 2019   cause VMXGSUM to fail, depending on the arguments used,
               so VMXGSUM can be gracefully stopped with MXGERRORs that
               no dataset was output and to look on the log for ERROR
               and correct it.

Change 36.248  CICS variables TASELGTM CPUTONTM CPUTONCN are added to
ASUMCICS       the PDB.ASUMUOW dataset from CICSTRAN, and CICS variables
ASUMCICX       TASELGTM TASZIPTM CPUTONTM CPUTONCN OFFLCPTM OFFLCPCN are
VMXGUOW        added to PDB.CICS created from PDB.ASUMUOW by ASUMCICX,
Dec 31, 2018   or created from CICSTRAN.CICSTRAN by ASUMCICS, but read
               the comments in ASUMCICS that suggest ASUMCICX is better.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.247  A utility program to create a copy of the DOCVER file
DOCVLONG       with all info on a single line for each MXG variable. MXG
Dec 27, 2018   variable names can be the 32 character max SAS allows, so
               DOCVER descriptions are split if the name is 9 or more.
               This program creates 94-byte records for each variable.
   Thanks to MP Welch, Bank of America, USA.

====== CHANGES THRU 36.246 ARE IN MXG 36.12 DATED Dec 25, 2018==========

Change 36.246  BETA 93 Version 6.2.0 updates for subtype 0/22/25/50/59.
VMACBETA       Versions 4.x.x and earlier may not be supported, contact
Dec 21, 2018   MXG Support if you are still at that BETA93 level.
               Contact Support if you have other 6.2.0 subtypes so they
               can be validated and supported.
   Thanks to Robert Gilbert, BNP Paribas Fortis, FRANCE.

Change 36.245  MXG 36.05-36.11, VMXGSUM fails if user option INCODE text
VMXGSUM        exceeds 32756.  Change 36.109 added detection of "BY" in
Dec 19, 2018   your VMXGSUM INCODE= argument, but 32K is the limit that
               is permitted by the %INDEX function. Now, INCODE string
               is compressed of blanks to mitigate that length issue and
               the test for BY is only executed if resultant length is
               LT 32755. MXGWARN messages are written to the log at 30K
               length, suggesting the use of INCODE1= option if needed.
               Note that the counts of INCODE length can be different
               between z/OS and ASCII.
   Thanks to Bill Davis, TransAmerica, USA.

Change 36.244  CICS Variable D2GDB2ID is added to the BY List for the
VMAC110        NODUP PROC SORT of dataset CICDB2GL, which may be needed
Dec 17, 2018   for NODUP protection.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.243  If you specified READONLY=YES (which suppresses the aging
VMXGALOC       of old directories) and a directory did not exist, it was
Dec 15, 2018   created but not populated. This could cause dataset not
               found errors but suppressing that creation could cause
               LIBNAME statements to fail. Now, VMXGALOC detects all of
               these conditions and only allocates the LIBNAMES that are
               found and does not create new ones with READONLY=YES and
               FIRSTRUN=NO.

Change 36.242  Using BLDSMPDB with AUTOALOC=YES does two things. First,
BLDSMPDB       it allocates all of the directories needed to satisfy the
Dec 15, 2018   parameters you specified - 5 weeks, 1 month, 7 days, etc.
               Then at the end of the daily processing it makes a 0 OBS
               copy of all of the datasets contained in the PDB. But if
               you ran (incorrectly) with FIRSTRUN=YES a second time,
               all of those datasets were set to 0 OBS by this process
               (intended to prevent DATASET NOT FOUND errors when
               running a weekly or a monthly process). Now, with
               FIRSTRUN=YES, it first looks to see if there are any
               datasets in the libref and if there are any datasets
               present, it's assumed you did not really mean it, it
               prints a warning message, and bypasses the 0 OBS copy.

Change 36.241 -Variables CPC_CECNAME GEIIMDL GEIMODEL kept in several
ADOCRMFV       more ZRBxxx datasets where they are likely to be useful.
ASMRMFV       -The original MXG01 record written at CLOSE is now split
EXZRBAS2       into an MXG01 written at VSAM OPEN, so the CPC_CECNAME
IMACRMFV       could be captured for all RMF III datasets (it's kept
VMACRMFV       kept where it makes sense). and an MXG02 record written
Dec 18, 2018   at CLOSE with those statistics.
Dec 23, 2018  -Datasets ZRBAS1 and new ZRBAS2 decode the MXG01 and MXG02
               records.
              -ZRBASI variables ASITRT/ASITET are 1024 microsecond units
               but weren't multiplied by 1024.  ASIDCTIA_S is 128 usec
               but wasn't multiplied by 128.
              -New ASIPHTCP='ENCLAVE*ON*GP*TIME=ASIPHTMA-ASIPHTZI is
               created to complete the CPU Schematic in ZRBASI:
                  <------------GP------------><----ZIIP---->
                  <--ASICPUTA--><--ASIPHTCP--><--ASIPHTZI-->
                      0.083        0.048          37.692
                             0.131
                  ASIPHTMA=37.740  ASITRT/ASITET=29.696
              -In dataset ZRBLCPLPAR, the CPC Capacity report, the value
               under MSU ACT is the variable ZRBLCPCPUMSUHR, but that is
               the interval MSU extended to an hour by MSU*3600/DURATM
               so it is NOT the 4HR MSU value.
              -Incremental improvements and some fixes.
              -Positioning for a future new filtering feature.
              -FROMTIME= and TOTIME= now support optional seconds for
               time values in ASMRMFV.  The time format used depends on
               the number of digits coded as follows:

                # Digits          Time Result
               --------          ----------------------------
                    0             RMFV057I NULL VALUE message
                    1             000M00
                    2             00MM00
                    3             0HMM00
                    4             HHMM00
                    5             0HMMSS
                    6             HHMMSS
                  > 6             RMFV004E ERROR message

                Example          Full Equivalent      Time
               ---------------   ---------------    --------
               FROMTIME=1        FROMTIME=000100    00:01:00
               FROMTIME=12       FROMTIME=001200    00:12:00
               FROMTIME=123      FROMTIME=012300    01:23:00
               FROMTIME=1234     FROMTIME=123400    12:34:00
               FROMTIME=12345    FROMTIME=012345    01:23:45
               FROMTIME=123456   FROMTIME=123456    12:34:56

              -Seconds are NOT supported in Relative Time values such as
               FROMTIME=*-nnS because this time offset unit from the
               current time is too small to be of practical use when
               building a PDB.  The minimum Relative Time is 1 minute.
              -Origin message RMFV009I for each RMF III data set
               processed will now include the CPCNAME (aka CECNAME) for
               z/OS Release 3.3 and up.  If the LPAR is running under
               z/VM then the CPCNAME will display as VMGUEST.  For lower
               z/OS releases the CPCNAME shows as N/A as RMF III does
               not track this information at lower levels.
              -New information only message RMFV057I KEYWORD VALUE IS
               NULL issued when an ASMRMFV keyword has no value
               assigned.  For example, FROMDATE= .  Before this change
               the keyword would be ignored with no user notice.
              -Warning message RMFV085W is now issued when a filter or
               or parameter requires a specific RMF III table, but the
               table has not been selected.
               Avoid this message by specifying all desired RMF III
               tables first before any other parameters that need them.
               For example, ASIJOBNAME=MYJOB11 requires the ASI table.
              -Improved display format when a single character error is
               detected showing both EBCDIC and hexadecimal values for
               the character.
              -Initialization message RMFV001I now shows the size in
               bytes of the step level program used to invoke ASMRMFV
               (usually ASMRMFV itself).
              -New message RMFV091I is issued when the IBM modules
               ERBR3DEC (RMF III Decompression) or IGGCSI00 (Catalog
               Search Interface) are loaded into the user region.
               Warning message RMFV091W is issued if the module cannot
               be identified as an IBM module.  In this case this could
               be a duplicate naming problem with a third party product.
              -MXG table MXG01 has been split into two tables for each
               RMF III data set processed.  MXG01 contains VSAM data set
               Open statistics and MXG02 contains VSAM data set Close
               Statistics.  These both appear in the ASMRMFV log in
               Detail and Summary reports.
              -Former message RMFV075W is now message RMFV090W.
               RMFV075* is now used for table id mismatch errors.

               ASMRMFV errors corrected:

              -Error message RMFV005E could be incorrect when more than
               one ASMRMFV parameter appeared in one SYSIN record.
              -Messages RMFV012I and RMFV013I could show incorrect GMT
               offset values for the last sample range and last selected
               times.
              -Space message RMFV031I always showed an EF (Extended
               Function) VSAM type even for non-EF VSAM data sets.
              -Message RMFV035* showed an incorrect reason in ASMRMFV
               Summary report when an SPG table Internal Error was
               detected.
              -Except for the DSIG3 table any RMF III table id mismatch
               errors now result in an Abend U0998 Reason Code 2.  A
               table id mismatch is a serious non-recoverable data
               error.  A DSIG3 error can be recovered by processing the
               next RMF III data set but is still very undesirable.

              -Each ASMRMFV parameter now has a PLACEMENT section in
               documentation to explain where in the input stream it
               should appear.
              -Numerous documentation updates in:
               Section  4 "RMF III Table Selection Parameters"
               Section  5 "Input Data Selection Parameters"
               Section  6 "Report Control Parameters"
               Section  7 "Output Data Control Parameters"
               Section  8 "Error Handling Parameters"
               Section 12 "Messages"
               Section 26 "ASMRMFV and MXG PDB Data Relationships"

Change 36.240  Support for MegaCryption new MEGACR34 dataset with new
EXMGCR34       subtype 3 and 4 replacing old records but keeping all of
IMACMGCR       the original fields and adding these new variables:
VMACMGCR         MGCRFUNC='FUNCTION*E ENCRYPT*D DECRYPT ?'
VMXGINIT         MGCRALGO='ALGORITHM*USED'
Dec  8, 2018     MGCDSSUF='ADRDSSU*DUMP*RESTORE*COPYDUMP'
                 MGCRDSN1='INPUT*DSN'
                 MGCRVOL1='INPUT*VOLSER'
                 MGCRSTY1='INPUT*FILE*TYPE'
                 MGCRDSN2='OUTPUT*DSN'
                 MGCRVOL2='OUTPUT*VOLSER'
                 MGCRSTY2='OUTPUT*FILE*TYPE'
   Thanks to Jennifer D. Ayers, West Virginia State Goverment, USA.


Change 36.239  Enhanced to display all used parameters, only on the
VMXG2DTE       first execution in a SAS session.  On subsequent execute
Dec  7, 2018   DDIN DDOUT PDB DATASET and INITIT are displayed only if
Dec 23, 2018   they are different and others only if present.
   Thanks to Tom MacCabe, Dominion Energy, USA

Change 36.238  IMS 14.1 IMS56FA INPUT EXCEEDED RECORD ABEND due to an
VMACIMS        invalid offset value of 2500 in DLRRXTOF/TPCEXTOF in a
Dec  7, 2018   record that has only 572 bytes.  Previous 14.1 56FA data
Dec 23, 2018   didn't populate that offset to that new TPCX segment, but
               the 64-byte segment was present but not input.  Since the
               segment contains nothing of value, rather than protecting
               for an invalid offset, the code for the TPCX segment is
               bypassed awaiting data from a site that wants the TPCX
               data.  This is not worth a PMR at this time.
              -You can use this logic in your IMS job's SYSIN safely
               since this segment is at the end of the IMS LOG record:
                   //SYSIN DD *
                     MACRO STOPOVER MISSOVER %
                     %INCLUDE SOURCLIB(TYPSIMST);
               but you should remove that MACRO statement when you
               update MXG.
              -New message if 56FA record IMSVERSN value is not equal to
               your site's _IMSVERS old-style macro value that you set
               in the job's SYSIN - see TYPEIMST/TYPSIMST JCL examples.
               But _IMSVERS is NOT USED in the 56FA records; it is used
               only in old IMS log records hex 07 08 0A 31 35 36 40 59.
               Dec 23, 2018:  Variable TPCXLEN re-kept in IMS56FA always
               a missing value until IBM populates the segment.

   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.237  z/VM 6.3 MONWRITE record ABEND at HCPCPEID='30061701:
VMACVMXA       PROBABLE DATA LOSS MESSAGE exposed incorrect new SKIP
Dec  6, 2018   logic for 6.4 that failed with 6.3 in MTRSYS, 1.04..
               SKIP logic revised to protect old versions.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

====== CHANGES THRU 36.236 ARE IN MXG 36.11 DATED Dec  3, 2018==========

Change 36.236  Support for ASG-TMON CICS for z/OS V4.2, is there now, as
TYPETMO2       there were no changes to the performance records.
Nov 28, 2018

Change 36.235  Support for IBM CICS SMF 110 CICS/TS 5.5 INCOMPATIBLE,
VMAC110        as is ALWAYS the case for CICS because they insert
UTILEXCL       fields in existing records.  You can use the VMAC110
Nov 30, 2018   with this Change (36.235), if you have records, with no
               excluded fields and no optional segments, but if you
               have either (the existence of a tailored IMACEXCL member
               in your "USERID.SOURCLIB" tailoring proves you do), you
               will need to use UTILEXCL from this Change to create a
               new IMACEXCL that knows about these new variables that
               were INSERTED in Subtype 1 records:
                  NJSAPPNM='NODE.NJS.APPPLICATION*NAME'
                  SOCONMSG='FIRST*MESSAGE*PROCESSED'
                  WBURIOTM='URI*WEBB OPEN*WAIT*TIME'
                  WBURIOCN='URI*WEBB OPEN*WAIT*COUNT'
                  WBURIRTM='URI*WEBB RECV*WAIT*TIME'
                  WBURIRCN='URI*WEBB RECV*WAIT*COUNT'
                  WBURISTM='URI*WEBB SEND*WAIT*TIME'
                  WBIRISCN='URI*WEBB SEND*WAIT*COUNT'
                  WBURVITM='URI*INVOKE*SERVICE*WAIT*TIME'
                  WBURVICN='URI*IINVOKE*SERVICE*WAIT*COUNT'
        Yes, you need MXG 36.11 for CICS/TS 5.5 because fields were
        inserted into SMF 110 CICSTRAN records and using old MXG will
        have trashed values due to the misalignment, but MXG could run
        and only print error messages, which might be false positives,
        or could execute with no errors nor log messages, especially if
        you have a tailored IMACEXCL, but your CICSTRAN dataset will
        still be invalid.

Change 36.234  Support for BMC's MainView for CICS(v69) with support for
VMACMVCI       CICS/TS 5.5 COMPATIBLY added these variables to DMRDETL:
Nov 30, 2018      T6E72XCT='72 EXTENSIONS'
                  T6ESOCNM='FIRST*MSG*PROCESSED'
                  T6EUROPT='URI*WEB OPEN*WAIT TIME'
                  T6EUROPF='URI*WEB OPEN*WAIT FLAG'
                  T6EUROPC='URI*WEB OPEN*WAIT COUNT'
                  T6EURRPT='URI*WEB RECV*WAIT TIME'
                  T6EURRPF='URI*WEB RECV*WAIT FLAG'
                  T6EURRPC='URI*WEB RECV*WAIT COUNT'
                  T6EURSPT='URI*WEB SEND*WAIT TIME'
                  T6EURSPF='URI*WEB SEND*WAIT FLAG'
                  T6EURSPC='URI*WEB SEND*WAIT COUNT'
                  T6EWSIVT='URI*INVOKE*SERVICE**WAIT TIME'
                  T6EWSIVF='URI*INVOKE*SERVICE**WAIT FLAG'
                  T6EWSIVC='URI*INVOKE*SERVICE**WAIT COUNT'
                  T6ENJAPN='NODE.JS*APPLICATION*NAME'

Change 36.233  Change 36.211 changed the KB definition to 1000 based on
VMAC74         an IBM document that is now confirmed as misleading and
Nov 27, 2018   the multiplier of 1024 is restored for these variables:
                 R7491BPC    R7491BPS    R749DCTBYTR R749FPGBYTR
                 R749FPGBYTS R749FPGCOBS R749FPGDCBS R749ICTBYTR
                 R749PCIBYTR R749PCIBYTT R749PCIDMAR R749PCIDMAW
              -APAR OA55984 corrects high zEDC execution time and SSQ
               values when a time stamp wrapped.


Change 36.232  The SMF 99 Subtype 14 Processor Topology Report provided
ANAL9914       by RAY back in Change 33.139 has a new version by Jim
Nov 29, 2018   and the report program is now a %MACRO ANAL9914 so you
               can select CECTYPE and SYSTEM and REPORT with
                 %ANAL9914(CECTYPE=Z14,SYSTEM=SYS1 SYS2,REPORT=JIM);
               REPORT=JIM uses PROC SGPANEL (SAS only) for prettiness!
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Raymond J. Smith, OPTUM, USA.

Change 36.231  Truncated POEX record caused INPUT STATEMENT EXCEEDED now
VMACPOEX       the short record is detected and reported on the log. the
Nov 26, 2018   record had POEXNUM=35 File Segments expected, but the
               record only had room for 15.
   Thanks to Jack Hyde, UHC, USA.

Change 36.230 -SMF 119 ZERT subtype 12 dataset TYP11912IPOSEC was out of
VMAC119        alignment for these last 4 variables: ENCAPMODE/AUTHPROTO
Nov 26, 2018   were incorrectly input as $CHAR2.
                 S119SS_IPS_ENCAPMODE S119SS_IPS_AUTHPROTO
                 S119SS_IPS_AUTHALG   S119SS_IPS_ENCALG
              -MXG ZERT subtype 11 dataset TYP11911's GMTOFFTM create is
               valid with current records, but 2017 records had missing
               values that caused incorrect values, because SAETIME was
               often missing and on a different time zone.
   Thanks to Luis Mendoza, Black Knight, USA

====== CHANGES THRU 36.229 ARE IN MXG 36.10 DATED Nov 21, 2018==========

Change 36.229  If you specified a dataset name in ASCII and did not
UTILBLDP       change the value of ECHO= to NO, a syntax error was
Nov 21, 2018   generated when the created code was read back in to be
               displayed. If you used a filename (preferred) there was
               no error.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.228  The MXGWARN:MISSING TYPE70/TYPE70PR could be printed for
VMAC7072       ICF-only LPARs, because MXGCIN was set to 'VM' in very
VMXG70PR       old logic, prior to SMF70CIN being provided by IBM.
Nov 29, 2018   Now, MXGCIN is always set to SMF70CIN in VMAC7072, and
               the ICF LPARs with SMF70STN non-blank are skipped in
               VMXG70PR.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.227  New IHDRCTLT "Header" Exit created for record selection,
IHDRCTLT       and macro variable &MACCTTH created for instream use.
VMACCTLT       Missing value messages for dates eliminated.
VMXGINIT
Nov 16, 2018
   Thanks to Randal Schlueter, FirstData, USA.

Change 36.226  Major revision to CICS RESPONSE TIME SLA MEMBER.
ASUMCICR
Nov 20, 2018

Change 36.225  Documentation only. Examples clarified.
ANALCAPD
Nov 16, 2018

Change 36.224  Documentation only. Examples added to select specific
UTILBLDP       subtypes of records to be added to PDB, Example 2 was.
Nov 16, 2018   missing quotes.

Change 36.223 -PMACC02 could generate an UNITIALIZED variable message
ANALDB2R       for PACKTYPE.
Nov 19, 2018  -Variable QB3TDIO was misspelled in PMSTA02 causing
               another unitialized message.

Change 36.222  Numerous STC formats were updated with new values for
FORMATS        HSC 7.3.  Calculation of MSZ with CTP test, and new
VMACSTC        $MGSTCRR format added, so please update FORMATS.
Nov 21, 2018
   Thanks to Randy Hewitt, HPE, USA.

Change 36.221  MONWRITE defect, LCUPPNUM was NOT changed and an interval
VMACVMXA       was skipped when the number of IFL engines was changed
Nov 15, 2018   from 5 to 3.  MXG's attempt to detect wrap was invoked
               causing large values in LCUCACTM LCUCLPTM LCXCMTIT.
               The logic was revised to detect and delete the defective
               interval in VXSYTCUP.  A PRM will be raised with IBM.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.220 -Variable WTOTIOTM could exceed ELAPSTM because WTWEIOTM,
UTILEXCL       is included in RMISIOTM, and -SUM(WTDISPTM,WTSYIOTM);
VMAC110        are overlapped with the sum of all of the other waits.
Nov  20, 2018 -The WTOTIOTM created in UTILEXCL (when you have EXCLUDED
               fields) did not include these wait variables:
                 DSAPTHTM DSCHMDTM DSMMSCTM DSTCBMTM FCVSWTTM
                 GNQDELTM ISALWTTM JVMSUSTM MAXJTDTM MAXOTDTM
                 MAXSTDTM MAXXTDTM PTPWAITM RQPWAITM RQRWAITM
                 RRMSWATM RUNTRWTM SRVSYWTM SYNCDLTM TCALWTTM
                 TDELWTTM TDILWTTM
               but only one, DSCHMDTM, is populated.
              -This is the new code for WTOTIOTM
                    WTOTIOTM=SUM(
                    DSPDIOTM,ENQDIOTM,GNQDELTM,WTICIOTM,WTLMIOTM,
                    WTWCIOTM,RUNTRWTM,SRVSYWTM,RQRWAITM,
                    RQPWAITM,SYNCDLTM,MAXOTDTM,MAXJTDTM,MAXSTDTM,
                    MAXXTDTM,RRMSWATM,PTPWAITM,RMISIOTM,JVMSUSTM,
                    DSTCBMTM,DSMMSCTM,WTDWIOTM,DSCHMDTM,FCVSWTTM,
                    ISALWTTM,TCALWTTM,TDELWTTM,TDILWTTM,DSAPTHTM);
               IF (WTOTIOTM GT SUM(WTDISPTM,WTSYIOTM)) AND
                  (WTOTIOTM-SUM(WTDISPTM,WTSYIOTM)) GT 0 THEN
                   WTOTIOTM=WTOTIOTM-SUM(WTDISPTM,WTSYIOTM);
   Thanks to Jim Franklin, DXC Technology, USA.

Change 36.219  Misspelling of miscellaneous corrected in 15 of 876 uses,
Many           and many other spelling errors have been corrected.
Nov  13, 2018
   Thanks to Michael R. Novak, USPS, USA.

Change 36.218  Support for APARs OA52915 and OA52950 for SMF 21 counts
VMAC21         to use the 4-byte 3590 counters instead of the original
Nov  13, 2018  3-byte 3490 counters is already in place since the 4-byte
               counters were added.  A minor non-impacting change to
               the test that sets the 3-byte counters with FFFFFFx to a
               missing value was made.

Change 36.218  Reserved Change Number.

Change 36.217 -Support for new subtype 6 BETA97 record, which creates
FORMATS        two new datasets:
EXTYB976            DDDDDD  Dataset    Description
EXTYB97S            TYB976  BETA9706   BETA97 ST 06
IMACBE97            TYB97S  BETA9706D  BETA97 ST 06 DATASET
VMACBE97      -Support for the Relocate data in subtype 22 BETA972REL
VMXGINIT       now decodes the expiration date fields to SAS dates and
Nov  9, 2018   the B97RELTY values are decoded..
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 36.216 -ASMRMFV IDERR subroutine upgraded to display MINTIME
ASMRMFV        interval when a RMF III table id mismatch occurs as
Nov  8, 2018   RMFV075E messages.
              -Extraneous ')' in message RMFV008I when processing a GDG
               for RMFBSAM.
              -NOSHOWZERO option not showing any table detail lines
               except for MXG00.
   Thanks to Randall Schleuter, First Data Corporation

Change 36.215  Variable MSUSOFT, the interval Software MSU in TYPE72GO
VMAC7072       for each Service/Reporting Class, can often be a missing
Nov  7, 2018   value due to incorrect logic used to populate the
               CECSUSYSTEM and CECSUVALUE arrays from the preceding type
               70 to provide SMF70CPA for the MSU calculation. If there
               is no preceding 70 from this system, "new" variable
               R723CPA is used so MSUSOFT will always be populated. And,
               if it is really the 4 Hour Average value you want, member
               ASUM4HRS will create that value for any variable in any
               dataset!
   Thanks to Thomas Heitlinger, FIDUCIAGAD, GERMANY.

Change 36.214  If OPTIONS OBS=0 has been set by SAS due to an error,
VMXGSUM        VMXGSUM produced unclear messages and zero obs created.
Nov  7, 2018   Now, OBS=0 is detected and VMXGSUM shut down with error
               message that is clear.
   Thanks to Glen Bowman, Wakefern, USA.

Change 36.213  Cosmetic.  Non-impacting NOTE: _UN98309 UNINITIALIZED is
VMAC110        removed.
Nov  7, 2018

Change 36.212  Protect for DB2 Trace IFCID 376 invalid offset STOPOVER.
VMAC102        One record with two offsets (SC_OFF and SQL_OFF) that
Nov  6, 2018   were larger than the record LENGTH caused the error.
               Offset lengths are now compared to LENGTH and if larger,
               log messages are printed.
                QW0376SC_OFF=48392 LENGTH=5210 IFCID376 SC ERROR
                QW0376SQL_OFF=27283 LENGTH=5210 IFCID 376 SQL ERROR
               These offsets, added in DB2 V11, are after VERSION but
               Version Length is ZERO in all records, and the first
               eight bytes of VERSION are nulls, so possibly the
               offsets are in those first eight bytes, so I've added
               variable VERSION1ST to display their value.
               A PMR will be raised with IBM DB2 Support.
   Thanks to Glen Bowman, Wakefern, USA.

Change 36.211 -These AVG and STD values were not created in TYPE749:
VMAC74           R7491DISAVG='AVG*INDIVIDUAL*DEFLATE*INPUT*BYTES'
Oct 31, 2018     R7491DISSTD='SSQ*INDIVIDUAL*DEFLATE*INPUT*BYTES''
Nov  3, 2018     R7491DOSAVG='AVG*INDIVIDUAL*DEFLATE*OUTPUT*BYTES'
Nov 28, 2018     R7491DOSSTD='SSQ*INDIVIDUAL*DEFLATE*OUTPUT*BYTES''
                 R7491IISAVG='AVG*INDIVIDUAL*INFLATE*INPUT*BYTES'
                 R7491IISSTD='SSQ*INDIVIDUAL*INFLATE*INPUT*BYTES''
                 R7491IOSAVG='AVG*INDIVIDUAL*INFLATE*INPUT*BYTES'
                 R7491IOSSTD='SSQ*INDIVIDUAL*INFLATE*INPUT*BYTES''
               and these variables are now uncommented and kept
                 /* SSQ VARIABLES NOW COMMENTED OUT SINCE STD EXIST
                 R749FSQE R749FSQQ R7491DIS R7491DOS R7491IIS R7491IOS*/
               This link https://www.ibm.com/support/knowledgecenter/en/
                SSLTBW 2.1.0/com/ibm.zos.v2r1.erbb200/erbb200205.htm
               with PCIE Function Activity overview calculations show
               that the "MegaBytes" and "KiloBytes" are 1000 and not the
               1024 per KiloByte that IBM uses in other 74 subtypes, so
               the 1024s in subtype 9 code are changed to 1000.
              -Nov 28: Change 36.233 reverted back to 1024 as IBM has
               confirmed the KB are 1024 and not 1000.
              -R749FPGBPRT is now the in-use buffer percent of memory.
              -R749BPC is relabeled AVERAGE*IN-USE*BUFFER*SIZE in bytes.
              -R749PCIUTIL was incorrectly calculated.
   Thanks to Heimir Hauksson, Barclays, ENGLAND
   Anthony T. Sofia, IBM, USA.

Change 36.210  The _N119 "Null Macro" missed TYP11924 and TYP11945 so
VMAC119        they were created when not wanted when _N119 was used.
Oct 31, 2018

Change 36.209  Documentation of APARs of interest for z/OS:
TECHNOTE      -APAR OA55602  RMF PP WLMGL TOTAL STORAGE INVALID after
Oct 31, 2018    APAR OA52694; impacted only the TOTAL STORAGE and the
                STORAGE SHARED in RMF Report, 1000 times too large.
              -APAR OA53459 SMF TYPE 65 IS MISSING THE HLQ FOR THE
                GENERATION DATA SET WHEN DELETE GDG FORCE PURGE IS
                ISSUED on z/OS 2.2, not on 2.1.  2.3 not mentioned.
              -OA52950 3490 CHANNEL (PRE-COMPRESSION) BYTES AND DEVICE
                (POST-COMPRESSION) BYTES BEING REPORTED INCORRECTLY.in
                RMM (MXG TYPEDGR) and SMF 21 statistics, too high.
               -OA54992 SMSVSAM SMF TYPE 42 SUBTYPE 15 RECORDS MAY
                INCORRECTLY RECORD ABOVE THE BAR BMF STATISTICS FOR DATA
                SETS. Occurs with a data set is assigned to a dataclass
                with above the bar usage set to yes, but the data set is
                not actually using above the bar buffers, which happens
                if RLSABOVETHEBARMAXPOOLSIZE is not set or if the change
                was made and the data set hasn't gone through a CLOSE to
                refresh the information.  LOCAL FIX: Ensure data sets
                assigned to data class with above the bar usage are
                using above the bar buffers.
               -APAR OA56000 SMF RECORD LENGTH FOR SMF TYPE 98 HFTS
                RECORDS EXCEEDS THE MAX ALLOWABLE X'7FF4' (32,756).
                Subtype 1 are defined as x'8000' (32,768) and these
                records have caused CA SMF DIRECTOR product to fail and
                reject these records as invalid.
               -APAR PI96628 MQ V9: SMF116 RECORDS CONTAIN INVALID
                VALUES IN FIELD WTASMSTC, time spent in IXLLSTM call,
                and WTASSSTC for CICS and CHINIT connections accessing
                shared queues.
               -APAR PH99111 WMQ V9.0 SMF116 LATENCY RECORD FIELDS SET
                TO ZERO FOR SOME QUEUES. Fields MAXLATNT MINLATNT and
                TOTLATNT are zeroed after migrate to Version 9.0, for
                some queues.
               -APAR OA55594 SMF78 SUBTYPE 3 SUPERVPAV VALUES NOT
                REPORTED DUE TO R783DST BIT 7 FLAG NOT BEING SET
                R783XIND, causing I/O Queueing Activity Report to be
                missing the Alias Management Groups and/or the Logical
                Control Units section is missing the Alias Management
                Group field.  Happens when the first device on a
                SuperPAV XPAV Control Units is offline.  LOCAL FIX:
                Vary the first device on all SuperPAV XPAV Control
                Units online.
               -APAR OA55292 RMF FICON DIRECTOR STATISTICS REPORT HAS AN
                OCCASIONAL VERY LARGE VALUE FOR A PORT BANDWIDTH, READ
                OR WRITE. APAR IS OPEN.

Change 36.208  Support for APAR OA56011 which added these two variables
VMAC7072       to the TYPE70 dataset:
Oct 31, 2018     SMF70LACCR='LONGTERM*MSU*DFSMS*DATASET*ENCRYPTION'
                 SMF70OS_PRTCT='OSPROTECT*VALUE'

Change 36.207  Support for SMF 122 Subtype 2 zExplorer IBM Dependency
EXTY122B       Based Build, DBB, Release 1.0.3, which records usage of
IMAC122A       the DBB toolkit by z/OS users, creates new dataset.
VMAC122A         DDDDDD   DATASET   DESCRIPTION
VMXGINIT
Oct 30, 2018     TY122B   TYPE122B  ZEXPLORE DBB DEPEND BASED BUILD

Change 36.206  When the input DD is tape or sequential, VMXGSUM and
VMXGSUM        VGETOBS cannot reasonably detect the presence or absence
Oct 28, 2018   of datasets and have always tried to process them but if
               DSNFERR was on failed with a dataset not found error.
               But, if DSNFERR was set to NODSNFERR it then tried to
               process and if the dataset did not exist could generate
               UNINITIALIZED variable messages and a 0 OBS output. Now
               if VGETOBS detects a sequential LIBNAME and NODSNFERR
               MXGNOTEs are produced to let you know what may happen.

Change 36.205 -IBM updated the RMF III SVP table and altered the Service
ASMRMFV        Class, Report Class, and Resource Group Information
Oct 26, 2018   Sections.
              -The SVP version level was raised from X'03' to X'04.
              -Either or both version levels may exist in z/OS 2.3
               systems depending on the software currency of z/OS.
              -ASMRMFV has been changed to input these Sections using
               actual rather than documented lengths.
              -The SVP, ASI, ENC, and RCD RMF III tables are all
               affected when the SVP version level is X'04'.
              -MXG Changes 36.191 and 36.201 support new MXG variables
               for the new data in the VMACRMFV member.
              -ZEROCPU and ZERODVT parameters were not recognized due
               to a length specification error in the parameter table.

Change 36.204  Plots and or TABULATE of MSU capacity GRAFMSU Reports.
GRAFMSU        For General purpose CPUs:
Nov 16, 2018      CPC Capacity                                       .
                  LPAR Rolling 4 hr Avg Usage
                  LPAR Hourly Usage
                  LPAR Defined Capacity
                  LPAR Capacity based on % SHARE
                  LPAR Capacity based on # CPUs
               For IIP and IFA/CBP CPUs:
                  CPC Capacity                                       .
                  LPAR Rolling 4hr Avg MSU (Estimated)
                  LPAR Hourly Usage
                  LPAR Capacity based on % SHARE
                  LPAR Capacity based on # CPUs
               See doc in the member for examples of usage and see
               change 36.156 for examples of wrapping in ODS statements
               to create HTML or PDF output.

Change 36.203  CPU report with INTERVAL=HOUR actually was produced at
ANALRMFR       number of CPUs*intervals so a CEC with 4 CPUs on a 15
Oct 26, 2018   minute interval showed up with 4 hour intervals. DURATM
               is now set to the INTERVAL= specified.

Change 36.202  Used primarily inside of other macros to detect the
VGETOBS        existence and other information about SAS datasets. But,
Oct 25, 2018   if you happened to pass incomplete text, like .ASUMCELP
               (where it should have been DDNAME.ASUMCELP) you could get
               strange errors and an ABEND, due to the period. Now, both
               sides are validated, or if only one is, WORK is used as
               the DDNAME with the DATASET to become WORK.ASUMCELP.

Change 36.201 -MXG 36.09, z/OS 2.2, only, text classification variables
VMACRMFV       (ASICNM ASISCWN AISCRN ASIRNM ASIWNM) in dataset ZRBASI
Oct 26, 2018   could be misaligned. Introduced in Change 36.196.
              -Some WPS 4.0 iterations failed with
                 ERROR: The format name '$ CPUPHYAD' invalid
               because WPS didn't like the blank in FMTNAME ' CPUPHYAD'
               Removing the blank didn't impact SAS but it healed WPS.
   Thanks to Rodger Foreman, Black Knight, USA

Change 36.200  Logic rearranged to put error checking at the top, some
VMXG2DTE       additional error checking added and abort changed to a
Oct 24, 2018   soft landing with error messages.
   Thanks to Tom MacCabe, Dominion Energy, USA

Change 36.199 -Beta 93 Subtype 51 variables now output in BETA51 dataset
FORMATS        that are also input in BE97 BETA9751D dataset:
VMACBETA         BETALCMD='LINE*COMMAND'
Oct 30, 2018     BETARPOS='POINTER*TO*VALUE*AREA'
              -BETA 97 subtype 22 variable B97RELTY in dataset BETA9722
               has new values decoded by updated FORMAT MGBETET.
              -New BETA 97 subtype 6 will create new datasets when test
               records are available.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 36.198  z/VM VXBYUSR High CPU, MRHDRTOD isn't the same second any
VMACVMXA       more in VXUSEACT and VXUSEINT datasets, which caused that
Oct 22, 2018   merge to create multiple obs, which caused deaccumulated
               VMDTTIME/VMDVTIME to be very large for those intervals.
               MXG used MRHDRTOD=FLOOR(MRHRTOD); to truncate to whole
               seconds for the merge, as the value was always :00, but
               now, the start of the write of the USER records is often
               near the end of the 00: second (e.g. 0.999919 microsec)
               and the write extends into the :01 second, and sometime
               the ACT record is at :00 and INT is at :01, mismatched.
               Now, MRHDRTOD=FLOOR(MRHDRTOD)-MOD(FLOOR(MRHDRTOD),10);
               is used to force the minute intervals to always be :00 in
               the PDB.VXBYUSE MONWRITE dataset.

               The MRHDRTOD one minute interval datetime value that is
               used to merge VXUSEACT and VXUSEINT datasets to create
               VXBYUSR previously happened to always be on the same
               second, so using MRHDRTOD=FLOOR(MRHDRTOD) to truncate
               that microsecond value to seconds, the merge matched
               observations correctly.

               However, the newer data shows that there can be a pair of
               records with the USEACT record at :00 seconds and the
               paired USEINT record at :01 seconds, causing that merge
               pair to create multiple observations.

               What has happened? The older data shows the start of the
               write of the USEACT/USEINT pairs began at 0.885 seconds
               after the pop and the write completed after writing all
               of them in 478 microsec, in that one second, but the
               newer data shows the write didn't start until 0.999 secs
               and the 406 microseconds write time ended in the next
               second causing ACT at :00 and INT at :01.  Some of the
               new values don't even start write until the :01 second.

               Sept Data:
               03:36:30.885294     Minute 36 Second 30 First  USEACT
                                5  microsec
               03:36:30.885299     Minute 36 Second 30 Paired USEINT
                              471  microseconds  (write 78 pairs)
               03:36:30.885770     Minute 36 Second 30 Last   USEACT
                                2  microseconds
               03:36:30.885772     Minute 36 Second 30 Paired USEINT

               ==>  78 pair written in 478 microseconds  for Minute 36.

              But new data has pairs with different seconds values:

               Oct Data:
               09:36:00.999919     Minute 36 Second 00 First  USEACT
                                3  microseconds
               09:36:00.999922     Minute 36 Second 00 Paired USEINT
                               76  microseconds (write 21 pairs)
               09:36:00.999998     Minute 36 Second 00 First  USEACT
                                2  microseconds
               09:36:01.000000     Minute 36 Second 01 Paired USEINT
                              324  microseconds (write 65 pairs)
               09:36:01.000324     Minute 36 Second 01 First  USEACT
                               1   microseconds
               09:36:01.000325     Minute 36 Second 01 Paired USEINT

               ==>  86 pair written in 406 microsec for minute 36.

   Thanks to Graham Harris, RBS, ENGLAND.

====== CHANGES THRU 36.197 ARE IN MXG 36.09 DATED Oct 18, 2018==========

Change 36.197   Support for new TRAD/TRG count variables in TYPE89,
VMAC89          in z/OS 2.4.
Oct 17, 2018    ICN 1662.

Change 36.196  Support for new z/OS 2.3 RMF III variables (COMPATIBLE)
VMACRMFV       added to ZRBASI/ZRBRCDD/ZRBRCDP/ZRBRCDS/ZRBRCDT/ZRBRCDX
Oct 15, 2018   and ZRBSVPC. The new variables are listed in DOCVER36.
               -ZRBASI, existing variables now correctly populated:
                  ZRBDCTIA/ZRBGMN/ZRBGMX/ZRBIDLE/ZRBWNM/ZRBGDE/ZRBDNM.

Change 36.195  zVPS MTRSYS segment with undocumented SEGLEN=336 caused
VMACXAM        Serious Error messages and missing output data.
Oct 15, 2018
   Thanks to Patricia Hansen, ADP, USA.

Change 36.194  Yet another invalid LENSR value TYPE42 Subtype 5 ABEND,
VMAC42         value LENSR=376 added to Change 36.124.
Oct 15, 2018

Change 36.193  Estimated bytes after IDRC compression added to TMS as
TYPETMS5       TAPEBYTC and to DSNBRECD as DSNBYTEC. Just like the
Oct 11, 2018   TAPEBYTE and DSNBYTE variables (estimates based on
               BLKSIZE*BLKCNT) these are best guess estimates.

Change 36.192  Support for IMS Version 15 (COMPATIBLE) dataset IMS56FA.
VMACIMS        New string TPCPTHRSESSN contains the pair of TPCPTHRS and
Oct 11, 2018   TPCPESSN for up to six External Subsystems, TPCXLEN has
               the length of the TPCX, still 60 reserved bytes.
   Thanks to Robert Taylor, Wisconsin Dept of Administration, USA.

Change 36.191  New Type 74 Subtype 8 dataset TYPE748S SYNC I/O variables
VMAC74         R748SCWT R748SNBW R748SNWO R748SNWS R748SNWT were INPUT
Oct 11, 2018   and FORMATted and LENGTHed and LABELed incorrectly.
   Thanks to Steve Olenik, IBM, USA.

Change 36.190  A reference line showing the memory allocated to each
GRAFWRKX       LPAR was added to the memory graph. The scale on the Y
Oct 11, 2018   axis is 0 to the MAX memory for any LPAR in the data.

Change 36.189  Variable SM113CPT added to the SMF 113 report to show
ANAL113        the engine type.
Oct  9, 2018
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 36.188  Support for new Bit 4 of SMF30_RAXFLAGS and creation of
BUILD005       these new bit-level variables with explanation in label
BUIL3005         SMF30_RAXFLAG0='RAX0*USERKEY*COMMON*AUDIT*ENABLED?'
VMAC30           SMF30_RAXFLAG1='RAX1*USERKEY*COMMON*AUDIT*USAGE?'
Oct 16, 2018     SMF30_RAXFLAG2='RAX2*USERKEY*CADS*USAGE?'
                 SMF30_RAXFLAG3='RAX3*USERKEY*CHANGE*KEY*USAGE?'
                 SMF30_RAXFLAG4='RAX4*USERKEY*RUCSA*USAGE?'
               that are added to TYPE30_4/TYPE30_5/TYPE30_6/TYPE30_V
               and PDB.STEPS for BUILDPDB (JES2) and BUILDPD3 (JES3).
               (Variable RAXFLAGS was added in MXG 35.09.)
   Thanks to MP Welch, Bank of America, USA.

Change 36.187  WPS does not honor OPTIONS NOXWAIT so there may be times
BLDSMPDB       when it is necessary to respond to a message.
PROCSRCE
UTILCPLG
VMXGALOC
Oct  5, 2018

Change 36.186  Labels for variables RECORDS, INSERTS, RETRVALS, UPDATES
VMAC16         and DELETES are now consistent for these three records.
VMAC64
VMACSYNC
Oct  4, 2018
   Thanks to Warren Cravey, FMR, USA.

Change 36.185  For want of an & PDB= was not honored but always looked
GRAFCIMP       for the data in PDB.
Oct  4, 2018

Change 36.184  JES 2 JMF subtype 21 INPUT RECORD EXCEEDED LENGTH because
VMAC84         triplets were misaligned and this was the first instance
Oct  3, 2018   of that subtype to test.
Oct 11, 2018  -Value of JMFINTRV is 60+ hours, JMFDELTA is 90 minutes,
               so the two percentage calculations use JMFDELTA.
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Joe Faska, DTCC, USA.

Change 36.183 -Power Exchange USER SMF record STOPOVER if the File Name
VMACPOEX       had zero length.  Invalid record detected and printed on
Oct  3, 2018   log and skipped, while vendor investigates.
Oct 18, 2018  -Invalid new triplet record with no SECT segment deleted,
Nov 20, 2018   and a record with truncated General Section is deleted.
              -The GMT offset depends on POEXENDT; if it's missing the
               offset can't be calculated.  Pending a vendor correction,
               MXG Retains the GMTOFFEX and uses that value instead,
               which could cause missing values for STRT/ENDT.
               Nov 20:  The Informatica fix number for this problem is
               PWX-7566 and it will be in code base PWX V10.2.0 Hotfix2
               currently scheduled for Q1 of 2019.
   Thanks to Scott Wiig, US Bank, USA.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 36.182  MXG 36.07-36.08.  Possible syntax error in a SYSFUNC due
MONTHBLD       to Change 36.145, which changed a QCMPRES to a SYSFUNC
MONTHBL3       (changed only to protect possible user typing errors)
MONTHBL3       but should have used QSYSFUNC, because SYSFUNC saw the
MONTHDSK       commas as operands and failed. The member from 36.06 all
MONTHASC       the way to 32.05 can be used.  Fortunately, MONTHBLD is
PRODTEST       normally tailored into the "USERID.SOURCLIB" so the ERROR
PRODTESW       only impacts new users of the MONTHPDB in 36.07-36.08.
Oct  3, 2018  -Dec 31: MONTHBL3 was missing a semicolon, found in QA.
Dec 31, 2018

Change 36.181  Support for zVPS USEDIAG segment adds variables DIAGNBR
VMACXAM        and DIAGVALUE to datasets XMUSVCPU and XAMUSR.
Oct  2, 2018
   Thanks to Patricia Hansen, ADP, USA.

Change 36.180 -UTILBLDP with RMFINTRV=NO and BUILDPDB=YES did not create
UTILBLDP       PDB.TYPE70 nor the other PDB.TYPE7x datasets.  The "NO"
Oct  4, 2018   should have suppressed only the %INCLUDE of RMFINTRV in
               MACRO _INTRMF, but it also suppressed the seven _S7xxxxx
               data set sort macros.  RMFINTRV=YES is automatic with
               BUILDPDB=YES, and now RMFINTRV=NO and BUILDPDB=YES will
               create the 70s but not create PDB.RMFINTRV.  If you want
               to build PDB.RMFINTRV and the ASUM70PR datasets from only
               the 70 and 72 SMF records, see EXAMPLE 3A/3B in UTILBLDP.
   Thanks to Ralph Gifford, AIG, USA.

Change 36.179  Support for USER CICS fields USER3/USER3 and ATOUSER.
IMACAAAA
IMACICWZ
IMACICXA
VMAC110
UTILEXCL
Sep 28, 2018
   Thanks to Richard Baker, ATO, AUSTRALIA.

Change 36.178  Target Resource Group dataset TYPE89R2 was incomplete and
VMAC89         fields were misaligned.
Sep 28, 2018
   Thanks to Greg Goshia, Ohio Farmers Insurance, USA.

Change 36.177  Reserved Change Number.

Change 36.176  Extraneous % in UTILBLDP could cause 180 ERROR and ABEND.
UTILBLDP       Line 665 had a stray percent sign, MXG 36.08 only.
Sep 20, 2018   The EXPDBOUT= argument exposes the error.
   Thanks to Tom MacCabe, Dominion Energy, USA

Change 36.175  Support for SMF 30 User Key CSA Audit Enhancements adds
VMAC30         new SMF30_RAXFLAGS to TYPE30_1, TYPE30_V, TYPE30_4 and
Sep 28, 2018   the TYPE30_5 datasets.  Change 35.212 (MXG 35.09+) Sep
Feb 28, 2018   2017 made the code change but the change text was still
Sep 20, 2018   a "Reserved Change" until Feb 28, 2018, but had the old
               35.212 Change Number, so it was only in CHANGESS member.
               The IBM Record Change was made by APAR OA53355, but will
               only be needed thru z/OS 2.3, as User Key Common Storage
               usage support ends there.
               This is Health Check ZOSMIGV22R3_NEXT_VSM_USERKEYCOMM.
               These APARs required no additional code changes:
                OA53434 Corrects IBM macros SMF30RPS,SMF30SDS lengths
                        not field lengths so it has no impact on MXG.
                OA53289 Corrects value of SMF30HVR from zero to valid.
                OA45767 APAR that added the extra triplet caused OA53434
                See Change 36.188 which added new bit-level variables.

Change 36.174  Support for Auto Soft Capping (ZCOS) Version 4.2 added
VMACZCOS       these variables, INCOMPATIBLY, due to a new field that
Sep 21, 2018   was inserted prior to a triplet.
                 Dataset ZCOS01:
                   ZCOS01PC4HA='TOTAL*CATEGORYA*R4H OF LPARS'
                   ZCOS01PC4HB='TOTAL*CATEGORYB*R4H OF LPARS'
                   ZCOS01PC4HM='TOTAL*MOBILE*R4H OF LPARS'
                   ZCOSDETO='SMF*INTERVAL*END*TIME'
                   ZCOSDDTO='SMF*INTERVAL*DURATION'
                   ZCOSDOTO='GMT*OFFSET'
                 Dataset ZCOS02:
                   ZCOSPR4HA='4H CATEGORYA MSU AVERAGE'
                   ZCOSPR4HB='4H CATEGORYB MSU AVERAGE'
                   ZCOSPR4HM='4H MOBILE MSU AVERAGE'
                   ZCOSPS4H ='4H TOTAL MSU AVERAGE AT SMF IV TIME'
                   ZCOSPS4HA='4H CATEGORYA MSU AVERAGE AT SMF IV TIME'
                   ZCOSPS4HB='4H CATEGORYB MSU AVERAGE AT SMF IV TIME'
                   ZCOSPS4HM='4H MOBILE MSU AVERAGE AT SMF IV TIME'
                   ZCOSPSTIM='ZCOSPSTIM*DATETIME*STAMP'
                 Dataset ZCOS04GP:
                   ZCOSMOBT='MOBILE*TARGET*R/S/D'
                   ZCOSCMPR='MANAGE*BILLING*CPM?'
                   ZCOSCMPF='CMP*FLYING*MSU MGT?'
                 Dataset ZCOS04CP:
                   ZCOS04CTHR='CPC*CONTROL*THRESHOLD'
                 Dataset ZCOS04LP:
                   ZCOS04PDLV='MSU*DISTRIB*LEVEL*BOUNDARY'

Change 36.173 -Support for Mainview MVS History Records.  The new BMC
EXCMFV02       MD73 utility creates these 28 new RTIN records, which
EXCMFV09       create these 44 new datasets with CMRDETL information.
EXCMFV0C
EXCMFV0D
EXCMFV0F        DDDDDD    Dataset   Description
EXCMFV10
EXCMFV16        CMFV10    CMFV10    Address Space          10   ADRE
EXCMFV17        CMFV16    CMFV16    Lock                   16   LKRE
EXCMFV18        CMFV17    CMFV17    VSAN RLS Activity      17   RLRE
EXCMFV20        CMFV18    CMFV18    VSAM RLS LRU           18   RURE
EXCMFV21        CMFV181   CMFV181   DEVICE                 83   DLRE
EXCMFV2E        CMFV20    CMFV20    COUPLING FACILITY
EXCMFV34        CMFV21    CMFV21    System Summary         21   SLRE
EXCMFV46        CMFV2E    CMFV2E    Data Set               23   DSRE
EXCMFV47        CMFV34    CMFV34    Unix Process           34   UPRE
EXCMFV48        CMFV46    CMFV46    PROCESS
EXCMFV49        CMFV47    CMFV47    WLM Extended Period    47   MXRE
EXCMFV50        CMFV48    CMFV48    WLM Addr Space/Enclave 48   MTRE
EXCMFV51        CMFV49    CMFV49    WLM Enclave Classify   49   MCRE
EXCMFV52        CMFV50    CMFV50    XCF Path               50   XPRE
EXCMFVES        CMFV51    CMFV51    XCF System             51   XSRE
EXCMFV54        CMFV52    CMFV52    XCF Source/Destination 52   XDRE
EXCMFV70        CMFVES    CMFVES    ES CRITERIA            53   ----
EXCMFV71        CMFV54    CMFV54    WLM Server             54   MWRE
EXCMFV72        CMFV70    CMFV70    System Summary         70   SBRE
EXCMFV73        CMFV71    CMFV71    Device                 71   DBRE
EXCMFV74        CMFV72    CMFV72    Address Space          72   ABRE
EXCMFV80        CMFV73    CMFV73    WLM                    73   WBRE
EXCMFV81        CMFV74    CMFV74    LPAR                   74   LBRE
EXCMFV82        CMFV80    CMFV80    ZFS Aggregate          80   ZSRE
EXCMFVC0        CMFV81    CMFV81    ZFS Cache              81   ZCRE
EXCMFVC1        CMFV82    CMFV82    PCIE Activity          82   PCRE
EXCMFVC2        CMFVC0    CMFVC0    PROCESS                C0   PRRE
EXCMFVC4        CMFVC1    CMFVC1    THREAD                 C1   THRE
EXCMFVCC        CMFVC2    CMFVC2    MOUNTED FILE SYSTEM    C2   FMRE
EXCMFVCD        CMFVC4    CMFVC4    SYSTEM PARAMETERS      C4   PMRE
EXCMFVCE        CMFVCC    CMFVCC    PROCESS/TTY            CC   P1RE
EXCMFVCF        CMFVCD    CMFVCD    VSAM COMMON STORAGE    CD   P2RE
EXCMFVD0        CMFVCE    CMFVCE    PROCESS/COMMAND        CE   P3RE
EXCMFVD1        CMFVCF    CMFVCF    USS PROCESS CWD        CF   CFRE
EXCMFVD2        CMFVD0    CMFVD0    MOUNTED FS/MOUNT POINT D0   F1RE
EXCMFVD3        CMFVD1    CMFVD1    MOUNTED FS/MOUNT PARMS D1   F2RE
EXCMFVD4        CMFVD2    CMFVD2    HFS GLOBAL             D2   HGRE
EXCMFVFD        CMFVD3    CMFVD3    HFS FILESYSTEMS        D3   HFRE
EXCMFW18        CMFVD4    CMFVD4    HFS BUFFERS            D4   HBRE
IHDRCMFV        CMFVFD    CMFVFD    SCM                    FD   FDRE
IMACCMFV        CMFWC0    CMFVC0    PROCESS                18-1 DLRE
VMACCMFV
VMXGINIT      -The three files contain these RTIN values:
Oct  30, 2018    SHRT only contains 70x 71x 72x 73x 74x
                 LONG only contains 0Cx 10x 18x 21x
                 NORM contains all except 0Cx 10 11 12 13 14 15
                 and contains C0 C1 C2 C4 CC CD CE CF D0 D1 D2 D3 D4.
                -RTIN 18 appears both in LONG (1) and NORM (0), so the
                 CMFV18 and CMFW18 DDDDDDs create CMFV18 and CMFV181.
              -These RTINs were supported, no longer documented:
                25 26 27 28 29 33 41 42 43 45 53 96 97
              -These RTINs are not yet supported, await DSECTs:
                11 12 13 15 1E 2A 2B 2C 2D
              -Truncated RTIN '47'x with ENTL=1204 vs 1536 protected.
   Thanks to Michael Oujesky, DTCC, USA.

Change 36.172  READDB2(IFCIDS=0-999) failed when it got past IFCID 367,
READDB2        the current high IFCID. That syntax requires contiguous
Sep 13, 2018   values, so if you specify a value GT 367 the upper limit
               is reset to 367 and a note is printed on the log. If you
               really want to create ALL of the IFCIDS use IFCIDS=ALL.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.171  Support for z/14 Clusters added to IBM Processor Topology
ANAL9914       Report.
Sep 13, 2018
   Thanks to Raymond J. Smith, OPTUM, USA.

====== CHANGES THRU 36.170 ARE IN MXG 36.08 DATED SEP 10, 2018==========

Change 36.170  For sites with 8-byte values for SMF70STN or SYSNAME or
SAGANAL        with 4-byte values that don't match SYSTEM, or MXGWARNs
Sep  9, 2018   about TYPE70 or TYPE70PR data missing, you will need to
Nov 11, 2018  use the output of this PROC FREQ report
                PROC FREQ DATA=PDB.TYPE70PR (WHERE=(SMF70STN=SYSNAME));
                TABLES SYSNAME*SMF70STN/NOROW NOCOL NOCUM NOPCT;
               to update the new SELSTN macro variable to set the SYSTEM
               from the corresponding SMF70STN value:
                %LET SELSTN=
                  %QUOTE(
                    IF      STN(_I_) EQ 'DHECPROD' THEN STN(_I_)='DHEC';
                    ELSE IF STN(_I_) EQ 'DHECTEST' THEN STN(_I_)='DHCT';
                    ELSE IF STN(_I_) EQ 'PROD' THEN     STN(_I_)='SYS1';
                    ELSE IF STN(_I_) EQ 'TEST' THEN     STN(_I_)='SYST';
                    ELSE PUTLOG _N_= _I_= STN(_I_)= SYSTEM=;
                  );
   Thanks to Henry Jenkins, South Carolina State Government, USA.

Change 36.169  Change 36.077 checked for the word BY in the first 2
VMXGSUM        bytes of INCODE but there is no reason the BY would have
Sep  8, 2018   to be in the first two bytes, so logic was revised to
               find any " BY " text in the INCODE.  If the first text
               in the INCODE= was a %INCLUDE, it failed because the
               percent sign needed to be protected with %SUPERQ().

Change 36.168  Dataset BVIR20 variables MAX/AVE AHCT/BHCT were incorrect
VMACBVIR       as the +46 after DEVINTDL is their input location and
Sep  8, 2018   removed.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.167  Support for BMC Energizer for IMS Connect which populates
VMACCIMS       TRNOTxxx variables in CIMSTRAN dataset, but TRNOTCON was
Sep  7, 2018   not converted to local, and new CONNECT*SERVICE*DURATION
               in new CONNECTM variable.
   Thanks to Randy Hewitt, DXC, USA.

         CRITICAL ERROR: PDB.TYPE70 MAY BE WRONG WITH 33+ TOTAL ENGINES.
         NO IMPACT TO PDB.TYPE70PR,ASUMCELP/ASUMCEC/ASUM70PR/ASUM70LP.

Change 36.166  Dataset PDB.TYPE70 skips LCPUADDR/CPUID 64 and higher and
VMAC7072       does NOT include any of those engine's CPU time, UP time,
Sep  9, 2018   nor NRCPUS count, causing CPUACTTM for CPs to be less
               than the CPUTM in TYPE72GO Service Classes, which causes
               log messages NEGATIVE UNCAPTURED CPU TIME in RMFINTRV.
              -This error can occur with as few as 33 total engines; as
               in this case, with 13 CPs and 19 zIIPs, IBM skipped every
               other LCPUADDR so the last ZIP was '3F'x, and when a 14th
               CP was added, it became '40'X and exposed the MXG error.
              -ONLY PDB.TYPE70/PDB.RMFINTRV are impacted; PDB.TYPE70PR
               and PDB.ASUMCELP/ASUMCEC/ASUM70PR/ASUM70LP datasets that
               are created from TYPE70PR capture all engines' data.
              -This MXG error was introduced in 2013 in 31.04 support
               for 255 engines; previously separate variables for every
               engine, 0 thru 63 were created and kept; but new dataset
               TYPE70EN was created with all engines details so new vars
               were not needed to be kept, but they were still created
               for the summary into TYPE70, but the old logic to update
               the IFATYPE array still stopped at engine 63.
               You can use this program to read your PDB.TYPE70PR data
               to see if you are exposed, and the CPU TIME lost, if any:

               DATA CPUMISSED;
                SET PDB.TYPE70PR;
                IF LCPUPDTM GT 0 AND SMF70CIN IN ('CP' 'IIP');
                KEEP SMF70CIN SYSTEM LCPUPDTM RANGE;
                IF LCPUADDR LT 64 THEN RANGE='INCLUDED-LT 64    ';
                IF LCPUADDR GE 64 THEN RANGE='NOT INCLUDED-GT 64';
                PROC FREQ;
                TABLES SMF70CIN*RANGE*SYSTEM/NOCOL NOCUM NOROW;
                WEIGHT LCPUPDTM;
                TITLE LOST/INCLUDED PDB.TYPE70 CPU TIMES HIGH LCPUADDR;

               to see how much CPU was included or lost in PDB.TYPE70.
              -Normally, CPs LCPUADDR start at zero, followed by zips,
               so the impact is more likely for zip metrics, but  when
               CPs are added dynamically, they get the next LCPUADDR.
               Only PDB.TYPE70 and PDB.RMFINTRV datasets are impacted.
               and only resources summed from individual engines; the
               4HR Average MSU SMF70LAC and similar "interval variables"
               are not impacted by this error.

               Neither the PDB.TYPE70PR nor the four ASUM70PR datasets
               PDB.ASUMCELP,ASUMCEC,ASUM70PR,ASUM70LP are impacted.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 36.165  Analysis of SMF 89 data, including conversion of CPU time
ANAL89         into MSU values, with several reports.
Sep 10, 2018
   Thanks to Edward Cornish, Verisk, USA.

Change 36.164  Variable SMF82KVL is added to TYPE8207 with number of
VMAC82         nibbles in SMF82KV field.  ICN 1652.
Aug 30, 2018

Change 36.163  IMS56FA observations for CPI-C PROGTYPHX='10'X do not
VMACIMS        have an ARRVTIME so their INPQUETM can't be known, but
Sep  7, 2018   MXG incorrectly calculated wrong values.  Now INPQUETM
               is missing when ARRVTIME is unknown.

Change 36.162  Variable SYSTEM does not exist in IMS Log Records but MXG
IHDRIMS        can set it from SYSPARM() on the // EXEC JCL statement,
VMACIMS        but that applies to the entire IMS log that was read.
VMXGINIT       Now, to process multiple IMS system's logs in one job,
Aug 28, 2018   JFCB=IMSJFCB is added so the DSNAME in the first 44 bytes
               can be used in tailoring member IHDRIMS or instream use
               %LET MACIMSH= in your SYSIN to set the variable SYSTEM.
               For example, if the second node in your DSNAME is SYSTEM,
                %LET MACIMSH=  %QUOTE(  SYSTEM=SCAN(IMSJFCB,2,'.'); );
               will populate variable SYSTEM with that value.
              -Variable PROGTYPE='C' is now set for PROGTYHX='10'X.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.161  If OUT70GL=WORK.xxxxxxxx, ASUM70PR program failed with
VMXG70PR       DATASET PDB.ASUM70GL NOT FOUND because the _LSU70GL
Aug 28, 2018   token instead of macro variable &OUT70GL was used.
   Thanks to Jutta Gleixner-Schmid, Allianz, GERMANY.

Change 36.160  MXG 36.07 only.  Debugging PUTLOG statements that filled
VMACCIMS       the log were disabled.
Aug 27, 2018
    Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 36.159  DB2STAT2 field QDBPFRAM, Frame Size, in SMF is $EBCDIC2
VMACDB2        with text values of 4K, 1M, 2G, but MXG input QDBPFRAM
Aug 27, 2018   as PIB2 numeric causing wrong values (62151 for 2G).
               New QDBPFRAMCH character variable has the 4K/1M/2G text,
               and QDBPFRAM remains numeric now with the correct bytes
               (for calculations), printing 4K, 1024K, 2048M with the
               MGBYTES format.
   Thanks to Lori A. Masulis, FMR, USA

Change 36.158   Support for APARs OA55574/OA55609/OA55610 adds new
VMACDCOL        variables in dataset DCOLDSET:
Aug 25, 2018      DCDCMPTV='COMPRESSION*TYPE*VALID'?
                  DCDCTYPE='COMPRESSION*TYPE'
                See Change 37.064 for revised change. ICN 1650.

Change 36.157 -Variable FCVSWTTM in CICSTRAN was incorrect, containing
VMAC110        the same value in FCXCWTTM.
Aug 26, 2018  -Variable SMFPSSPN, the Specific APPLID is now kept in the
               CICSTRAN dataset.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.156  While these ODS members do work within the limitations of
VMXGODSO       their programming, ODS is evolving so quickly and there
VMXGODSC       are so many permutations and combinations that they are
TECHNOTE       no longer a practical answer for most applications.
Aug 23, 2018   Some MXG GRAFxxxx and ANAL members have ODS parameters,
               but you may find it preferable to wrap many reports in a
               single ODS package. For example, to run GRAFWRKX+GRAFCEC
               and send the results to a single ODS PDF file, use:
                  ODS LISTING CLOSE; /* always needed on zOS */
                  OPTIONS ORIENTATION=LANDSCAPE;
                  ODS GRAPHICS/ WIDTH=10IN HEIGHT=7.5IN;
                  ODS PDF FILE='D:/MYPDF.PDF' STYLE=MXGSTYLE1;
                  %GRAFWRKX;
                  %GRAFCEC;
                  RUN;
                  ODS PDF CLOSE;
                  RUN;
              -MXGSTYLE1 was used here because the default style used by
               ODS results in bars of solid colors so close together it
               can be difficult to tell one bit of the bar from another.
               MXGSYLE1 uses brighter colors and patterns to make it
               simpler to tell who is on first.  MXGSTYLE1 is created
               and stored in the FORMATS library by the FORMATS member.
               STYLE is just one of many ODS options you may wish to
               use which is what makes VMXGODSO/VMXGODSC obsolete.
              -Pasted directly from the SAS site to create CSV file:
                ods html close;
                options obs=15;
                ods csvall body='procprintcsvall.csv';
                ods markup tagset=chtml body='procprintchtml.html'
                   (title= 'This Text Identifies Your Content.');
                title 'Leading Grain-Producing Countries';
                proc print data=grain_production;
                run;
                ods csvall close;
                ods markup tagset=chtml close;

Change 36.155  Support for Z/VM LINUX LNXAPPL Process & summary APL data
EOAPLLXP       creates these new datasets:
EXAPLLXF         dddddd  dataset  description
EXAPLLXP         APLLXF  VXAPLLXF LNXAPPL FILE SYSTEM DATA
EXAPLLXS         APLLXS  VXAPLLXS LNXAPPL SUMMARY DATA
IMACVMXA         APLLXP  VXAPLLXP LNXAPPL PROCESS DATA
VMACVMXA      -The VXAPLLXP process dataset only outputs a process that
VMXGINIT       had non-zero TOTAL_TIME or CTOTAL_TIME; if you want all
Aug 25, 2018   process records to be output, edit member EOAPLLXP into
Sep 13, 2018   your tailoring library and remove the conditional test.
              -SAMPTIME and UPTIME are not valid values, investigating.
              -Crypto Type 12:CEX6C is now recognized and output in the
               VXPRCAPM dataset.
              -Dataset VXPRCMFC is now populated for z14, CSVN=5.
              -Sep 13: RESID corrected to RESIDENT, comments deleted.

   Thanks to Graham Harris, RBS, ENGLAND.

Change 36.154  Support for CMODHEAD=NRXENTRY CMODNAME=NRXDATA optional
IMACAAAA       CICS SMF 110 CICSTRAN segment and new NRXENTRY variable.
IMACICWY
UTILEXCL
VMAC110
Aug 18, 2018

Change 36.153  New parameter added that can be used to reverse the
GRAFWLM        order of data on the charts produced.  GRAFWLM has
GRAFWRKX       always produced bar charts with the most important
Aug 24, 2018   work at the top and the least important (discretionary)
               at the bottom.  Now this parameter HIGHTOLOW (default
               is YES, original order) if set to NO reverses the order.
              -Old default YES has UNCAPTURED at top and DISCRETIONALY
               at bottom, NO reverses that order.
              -Some ODS logic was corrected - changed from NE to EQ.
              -Some statements reordered for logical ordering
               Preceding changes were only in GRAFWLM.
              -Only in GRAFWRKX, the default values for width and height
               were reduced to 7.5 and 10 inches to eliminate warning
               messages that the values were too large.
   Thanks to Daniel McKinzie, Zions Bank, USA.

Change 36.152 -New Formats created to decode SMF 106 variables
FORMATS        SMF6ACTP MG106CT. SMF6ACTY MG106CD. SMF6ATYP MG106SE.
VMAC106       -TYPE1061 dataset SMF6ASET has character and numeric value
Aug 17, 2018   that are not documented; MXG creates multiple SMF6ASETxx.
              -TYPE1062 dataset SMFCMDPM contains two binary fields that
               are decoded in SMF6A001/002 variables but seem too large
               to be look up tables for parameters.
   Thanks to Joe Faska, DTCC, USA.

Change 36.151  Updates from SMF Manual Jul 30, 2018.
FORMATS       -Format MG022ET adds values
VMAC42           5='5:COUPLING FACILITY CONTROL UNIT'
VMAC62           6='6:LOGICAL PARTITION ENTRY'
Aug 12, 2018     9='9:PCIE FUNCTION'
              -Variables added to TYPE42SR dataset:
                 S42SCRRU='AVG*RANDREAD*CACHEHIT*RESPTM'
                 S42SCRSU='AVG*RANDREAD*CACHEHIT*SERVICTM'
              -Variables added to TYPE62 dataset:
                 SMF62IND_2='CATALOG*OR CRA*RECORD?'
                 SMF62IND_3='VVDS*OR*ICF*RECORD?'
                 SMF62IND_4='SMS*CLASS*INFO*INCLUDED?'
                 SMF62IND_5='DATASET*IS*ENCRYPTED?'

Change 36.150  Support for APAR OA54589, OSPROTECT/TRUSTED/NOTRUSTED
BUILD005       adds these new variables to TYPE30_4 and PDB.STEPS:
BUIL3005         SMF30CAS_OA54589_0='SMF30CAS*OA54589*BYTE 0'
VMAC30           SMF30CAS_OA54589_1='SMF30CAS*OA54589*BYTE 1'
Aug 12, 2018     SMF30CAS_OA54589_2='SMF30CAS*OA54589*BYTE 2'
Aug 27, 2018     SMF30CAS_OA54589_3='SMF30CAS*OA54589*BYTE 3'
               These variables are created from the bit tests for the
               preceding Byte variables listed in the SMF Manual:
                 SMF30CAS_OSPROTECT='OSPROTECT';
                 SMF30CAS_UNTRUSTED='UNTRUSTED?'
                 SMF30CAS_TRUSTED='TRUSTED?'

====== Changes thru 36.149 are in MXG 36.07 dated Aug  8, 2018==========

Change 36.149  One site's IMF data has TRNETIME/TRNSTCKE two hours early
VMACCIMS       (STRTTIME,ENDTIME) but TRNCVTTZ (GMT Offset) is zero and
VMXGINIT       the site has not responded with their local/GMT times, so
Aug  8, 2018   this may be a temporary circumvention, but macro variable
               IMFGMTOFF is created with value of zero and when it was
               set  &LET IMFGMTOFF=7200; before the %INCLUDE, the times
               were correct.  This change text will be updated when it
               is known why these times, previously always the same time
               zone as the ARRVTIME, are now different at this site.

Change 36.148  The combination of a PROC DATASETS with no MT= option and
ANALRMFR       with a DELETE statement with a wildcard S: caused QA job
Aug  8, 2018   to fail with WPS because it honored the MT=ALL default to
               delete both datasets starting with S, but unexpectedly
               also deleted the SASMACR CATALOG dataset, which caused QA
               to subsequently fail. But SAS only deleted datasets so QA
               did not fail.  Since the actual intent was to only delete
               datasets, adding MT=DATA to the PROC DATASETS corrected
               for both SAS and WPS.  However, using MT=ALL with SAS
               still only deleted datasets, printing this note:
                 WORK.SASMACR cannot be deleted because it's in use.

Change 36.147  Support for APAR OA52810 Data Set Encryption in DCOLMIGS
FORMATS        dataset, adds new variables:
VMACDCOL
Aug  8, 2018
   Thanks to Luc Gielis, KBC, BELGIUM

Change 36.146 -If you are not running MRO or you do not see a reduction
ASUMUOW        in the OBS count between CICSTRAN and ASUMUOW on the
MXG NOTE       order of 2:1 or better, it may indicate that the use of
Aug 7, 2018    MRO is not significant and it may be that running ASUMUOW
               is a waste of resources.  ASUMUOW has to sort all of the
               CICSTRAN and DB2ACCT and MQ records to be able to merge
               everything together and can be very resource intensive.
              -If you have DB2 ROLLUPS that data becomes very suspicious
               since one DB2 record can represent many transactions and
               it is best in that case to not use ASUMUOW with DB2 data
               as documented in change 36.107.
              -If you find that running ASUMUOW is expensive or that you
               are not achieving any serious reduction in OBS in ASUMUOW
               dataset using ASUMUOW compared to the OBS in CICSTRAN,
               then don't run ASUMUOW: instead, use ASUMCICS to create
               the PDB.CICS dataset.
              -All of the DB2 CPU time is captured in the CICS records;
               only the class 3 wait times/counts are lost, but those
               are primarily deep diagnostics, where it may be much
               better to run ANALDB2R against the PDB.DB2ACCT dataset
               selecting the desired transaction.


Change 36.145  QCMPRES is an AUTOCALL macro and we try to avoid using
ANALDB2R       them since they have caused issues in the past. This
MONTHASC       change replaces QCMPRES by a %SYFUNC(COMPBL) call to
MONTHBLD       compress blanks for safety.
MONTHBL3
MONTHDSK
PRODTEST
PRODTESW
Aug  7, 2018

Change 36.144  -Compare Interval CPU time Captured RMF/SMF/CICS/DB2 with
COMPINTV        totals and plots of each system. The ancient program was
Aug  8, 2018    restructured as a macro that can either read SMF data or
                extract the data from an existing PDB.  Parameters allow
                you to limit the scope of the data being analyzed. The
                output is a combination of PROC MEANS, TABULATEs, and
                SGPLOTs and will show you capture ratios for RMF and SMF
                for both CPUs and ZIPs as well as the CPU times from
                RMF, SMF, CICS, and DB2.
               -See the member for documentation on parameters and
                usage.
               -Some examples of usage
                Read SMF and create reports on half hour intervals
                %compintv(compinterval=halfhour);
               -Get data from pdb and report on half hour intervals
                %compintv(compinterval=halfhour,readsmf=no);

Change 36.143   Support for RSD Folders Version 6.0 Audit Records with
FORMATS         INCOMPATIBLE updates. Only version 6.0 is supported, and
VMACRSDA        one inconsistent record format is under investigation
Aug  5, 2018    and is not output.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 36.142   The MXGKEEP= default was incorrectly changed to NO in
VMXGINIT        MXG 36.04, but the default MXGKEEP=NO is restored, as
Aug  5, 2018    YES can cause errors if there are INCODE variables.

Change 36.141   zHPF Channel Utilization
MXG Note        zHPF was introduced by IBM to reduce channel utilization
Jul 31, 2018    and to improve data transfer performance. At the core,
                the difference between zHPF enabled and traditional
                FICON channels is the schema employed to transmit
                channel programs and data. For traditional CCWs, a
                channel program (comprised of multiple CCWs) is
                transmitted from the channel to the subsystem in very
                small chunks, CCWs and data blocks. Each turn around
                increases channel utilization and as the utilization
                increases, the acknowledgement coming back from the
                subsystem experience delays like Volkswagens driving in
                a sea of semis.
                What zHPF does is it packs the CCWs and data blocks into
                Transmission Control Words, i.e., TCWs. By reducing the
                number of turnarounds required to transmit CCWs and data
                blocks, the portion of channel utilization resulting
                from the turnarounds is reduced. Moreover, by reducing
                the number of turnarounds required for data transfer,
                the effective data transfer rate is increased.
                Finally, your mileage may vary. If your I/O stream
                primarily supports VSAM or DB2 datasets, you will see a
                lot of difference. If you have a large fraction of
                traditional access methods, your level of benefits may
                be reduced.
                The TYPE73 Channel Busy is the primary indicator of the
                benefit of zHPF.
   Thanks to Dr. H. Pat Artis, Performance Associates, USA.

Change 36.140  New READDB2 parameter SORT102 with SORT102=YES default
READDB2        can be changed to SORT102=NO to suppress the sorting of
Jul 27, 2018   T102Sxxx trace datasets and to suppress VFMT102 execution
               that creates $MGDB2DB and $MGDB2OB formats when 105/107
               IFCIDS are selected.  They are used by ANALDB2R to match
               DBID/OBID in trace datasets.
   Thanks to Laifai Wong, Bank of America, USA.

Change 36.139  UTILBLDP enhancements and corrections.
UTILBLDP      -If you asked for DB2 trace records and specified
Aug  7, 2018   SORTOUT=NO the T102xxxx datasets were still sorted.
              -New parameter AUDITAFTER added with a default of NO.
               With BUILDPDB=NO, PDBAUDIT is not executed by UTILBLDP.
               With BUILDPDB=YES and AUDITAFTER=NO, there is no change:
               PDBAUDIT is executed after BUILDPDB but before MXGINCL
               and INCLAFTR programs are executed.
               With BUILDPDB=YES and AUDITAFTER=YES, PDBAUDIT is now
               executed after all of the specified MXGINCL and INCLAFTR
               members are executed.
               With BUILDPDB=YES and AUDITAFTER=NEVER, PDBAUDIT is not
               executed.
              -Now if you specify SUPPRESS=ID with BUILDPDB=YES, the
               creation of dataset ID and execution of ANALID are
               suppressed.  Previously this caused an ABEND.
   Thanks to Laifai Wong, Bank of America, USA.

Change 36.138  DB2 IFCID 18 dataset T102S018 was misaligned with wrong
VMAC102        input lengths, for both DB2 V12 and V11.
Jul 27, 2018
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 36.137 -INVALID DATA for variable MICROCODE that MXG input as a
VMACRHEL       numeric, is caused by character values '0x3c', so new
Jul 30, 2018   MICROCODECH character variable is created and MICROCODE
               is set to a missing value to prevent VARIABLE NOT FOUND
               errors.
              -WARNING COUNT USER IN DROP/KEEP/RENAME list was printed
               if the MXG Default OPTIONS DKROCOND=NOWARN was changed,
               but they shouldn't have been in the KEEP list and are now
               removed, and PROGNAME has been added to RHELUARG dataset.
              -Datasets left in WORK are now deleted.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 36.136  If you want to ABEND when RMFINTRV workload definitions
VMXGRMFI       fall thru to OTHER, i.e., a Service or Reporting Class
VMXGINIT       was found that was not mapped in your WORK= definitions,
Jul 23, 2018   you can force a user ABEND nnnn using non-zero NNNN in
                 %LET MXGABNDRMFI=nnnn;     in your sysin.
               The log will list the first undefined SRVCLASS value.
   Thanks to Wayne Bell, UNIGROUP, USA.

Change 36.135 -Support for PowerExchange Version 10 was redesigned as
VMACPOEX       some variables should not have been output in some of
Jan  9, 2018   the datasets, and a number of new variables are kept.
Jan 22, 2018   The four CPU times POEXCPUG, CPUC, CPUD, and POEXCPUL:
Jul 20 ,2018    POEXLIST keeps only POEXCPUG and POEXCPUL
                POEXCLIE keeps only POEXCPUG and POEXCPUC; the variables
                         from FILE and DB2 segments are removed as they
                         were only from the last segment.
                POEXDB2  keeps only POEXCPUG and POEXCPUD
                POEXFILE has no CPU times.
              -New CPU time variables are added to POEXLIST POEXCLIE:
                POEXGSID='POWER*CENTER*SESSION*ID'
                POEXGMNM='MAP*NAME'
                POEXGTCP='CPU*TIME*ON*CP'
                POEXGTOT='CPU*TIME*ON*ZIIP'
                POEXGTOF='CPU OFFLOAD*ELIGIBLE*ON*CP'
              -New DB2 variable added to POEXDB2 dataset:
                POEX2QTY='DB2*CONNECTION*02X=CAF*12X=RRSAF'
   Thanks to Scott Wiig, US Bank, USA.

Change 36.134  WebSphere SMF 120 subtypes 5 and 6 only output the first
VMAC120        method per bean, but there can be many.  The logic was
Jul 20, 2018   corrected and all are now output in TYP120JC/TYP120JI.
   Thanks to Nick Varley, SYNCSORT, USA.

Change 36.133  Variable LPARBUSY was not calculated for z14 processor
ASUM113        in dataset PDB.ASUM1131.
Jul 18, 2018
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.132  Support for EOS Version 160 (INCOMPATIBLE) Audit/Account
VMACWSF        records.  Only the END records (subtype 4 and 20) have
Aug  5, 2018   valid begin and end times and have their GMT times reset
Sep 26, 2018   to local time zone.

Change 36.131  Reading compressed DB2/CICS data with MXGREADSMF=LOGGER
VMACSMF        did not invoke the EXITCICS CICSIFUE exit; the &SMFEXIT
Jul 12, 2018   macro variable was not in the LOGGER's INFILE statement.
              -If you have compressed CICS or DB2 records and want to
               read the LOGGER data, you must use the CICSIFUE INFILE
               exit (EXITCICS); the internal MXG decompression code is
               not supported for that combination.
   Thanks to John Compton, World Programming, ENGLAND.

Change 36.130  Variable NDMUID is now populated from NDMZUID in NDMCT
VMACNDM        and NDMFI datasets with the full 64 byte user id.
Jul 12, 2018
   Thanks to Amlyn Parry, Barclays, ENGLAND
   Thanks to Heimir Hauksson, Barclays, ENGLAND

Change 36.129  SAS Note 61906 reports SAS 9.4 TS1M3 on z/OS might
SAS NOTE       experience poor performance in DATA steps, with CPU time
Jul 12, 2018   increase of 40% reported.  The issue is fixed in TS1M4
Aug  8, 2018   and later.  See http://support.sas.com/kb/61/906.html
               A hot fix was planned for TS1M3, note created Feb 28 and
               modified Mar 8, 2018; no Hot Fix was created since M4/M5
               corrected the poor performance.  But Aug 8, 2018 SAS Tech
               Support suggested for SAS 9.4 at TS1M3 that using
                 // EXEC SASPROC,OPTIONS='MSYMTABMAX=20000000'
               to increase the size of the macro symbol table from 1M to
               19M would and did eliminate the CPU time increase.
               Subsequently, Tech Support said using 2M syntax would and
               did resolve the problem.

====== Changes thru 36.128 are in MXG 36.06 dated Jul  9, 2018==========

Change 36.128  z/OS SAS 9.4 M2 Note 58492 reports reading tape data sets
SAS NOTE       can fail with ERROR: LIBRARY WEEK31 IS NOT A VALID FORMAT
Jul  4, 2018   FOR ACCESS METHOD SASV7SEQ, but that error message is not
               correct. The error is not an invalid format, but is a
               memory allocation error. SAS 9.4 M2 added support for LBI
               (Large Block Interface), which allocates a buffer for
               each tape data library below the 16MB line, and a large
               number of SAS tape libraries can exhaust that memory
               area.  Unfortunately, increasing the REGION size does NOT
               increase the below the line size.  Reducing the number of
               tape data libraries can circumvent the error, which is
               corrected in SAS 9.4 M4, and there is a Hot Fix for M2
               and M3.

Change 36.127  Support for ZERT SMF type 119 subtype 12 creates datasets
EXT11912       DDDDDD  Dataset       Description
EXT119C1       T11912  TYP11912SUM   ZERT 12 SUMMARY
EXT119C2       T119C1  TYP11912TLS   ZERT 12 TLS
EXT119C3       T119C2  TYP11912SSH   ZERT 12 SSH
EXT119C4       T119C3  TYP11912IPSEC ZERT 12 IPSEC
FORMATS        T119C4  TYP11912DN    ZERT 12 DISTINGUISHED NAME
IMAC119
VMAC119
VMXGINIT
Jul  3, 2018
   Thanks to Rodger Foreman, Black Knight, USA
   Thanks to Luis Mendoza, Black Knight, USA

Change 36.126 Variables added to dataset TYPE70:
VMAC7072      SMF70MDL_CBP SMF70MCR_CBP SMF70NCR_CBP SMF70LAC_CBP
Jul  2, 2018  SMF70CPA_ACTUAL_CBP

Change 36.125  Variable SRDGCOMM was replaced by SRDGNAME, but due to
VMACSRDF       use of SRDGCOMM in existing reports, both are kept now.
Jun 29, 2018
   Thanks to Joe Faska, DTCC, USA.

Change 36.124  SMF 42 Subtype 5 ABEND, more invalid LENSR=560/640.
VMAC42         As reported in Change 36.027, APAR OA54663 corrects.
Jun 29, 2018   MXG circumvention extended to protect these values:
               IF LENSR IN(232,240,320,376,400,448,480,560,640)
                 THEN LENSR=160;
               LENSR=376 added Oct 15 in Change 36.124.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 36.123  Error Documentation: BMC's CMF SMF 74 Subtype 8 SMF74IET
VMAC74         field is incorrect, and causes R748AEBC to be invalid.
Jun 26, 2018   BMC1316 corrects.  NO MXG CODE CHANGE.

Change 36.122  Examples in comments for both z/OS and ASCII execution
SAGANAL        are revised and enhanced to create HTML output files in
Jun 22, 2018   either a PDSE or in a ZFS File System or ftp to MXG.
Jul  6, 2018   The KEEP CPI: CPU: replaced by specific list of TYPE30_V
Jul 22, 2018   variables, reducing kept from 1533 to the intended 64.
   Thanks to Tennie Olson, TIAA,USA.

Change 36.121  If you specified READDB2(IFCIDS=ALL), dataset DB2STATS
READDB2        wasn't created; circumvent with (IFCIDS=ALL STATISTICS).
Jun 16, 2018   MXG 35.03-36.05.
   Thanks to Hans Coolen, Allianz Technology, THE NETHERLANDS.

Change 36.120  Support for BVIR History HSM Compression Container V412
EXBVR303       creates new dataset:
FORMATS          DDDDDD  Dataset  Description
VMACBVIR         BVR303  BVIR303  HSM COMPRESSION CONTAINER
Jun 16, 2018   and new format MGBVIME decodes Compression Method
   Thanks to Bradley Leis, TELUS, CANADA.

====== Changes thru 36.119 are in MXG 36.05 dated Jun 13, 2018==========

Change 36.119 -Formats MG119CI and MG119MA did not decode new values for
FORMATS        variables SSH_CIPHER and SSH_MAC in TYP11994 & TYP11995,
VMAC119        and protection for unknown values prints the $HEX4 value.
Jun 13, 2018  -New variable T119RCID='RECORD*ID' added to all datasets.

Change 36.118  Support for TANDEM TMF data creates new TANDTMF dataset.
EXTANTMF        DDDDDD  DATASET  DESCRIPTION
IMACTAND        TANTMF  TANDTMF  TMF TRANSACTION DATA
VMACTAND
VMXGINIT
Jun 11, 2018
   Thanks to Kurt Gramling, TSYS, USA.

Change 36.117  SORTBY= is not a valid option for the PMAUD02 trace
ANALDB2R       report. If you happened to specify QWHSSSID it worked
Jun 11, 2018   but that was a coincidence.  Now produces a message to
               tell you and sets SORTBY to QWHSSTCK QWHSSSID.

Change 36.116  STCVSM11 variables NIO and CUB in VSM6 are now bytes so
VMACSTC        new variables are created with B added as last character.
Jun 13, 2018   The previous code did not initialize the six calculated
Jun 15, 2018   variables, causing their sum to be greater than the CUB
Jun 22, 2018   and NIO variables; that is corrected.
Jul  2, 2018  -Jun 15: First 36.05. Two Debugging PUTLOGs removed.
              -Jun 22: Test to identify VSM6 vs earlier now tests for
               VSM6 or ELSE DO; for any other STC11VTS name value.
              -Jul  2: Test to identify VSM6 now tests STC11CSP for
               values of 1000 or 8000 based on this site's values for
               STC11INM to modify that test:
                 PROC SORT DATA=STCVSM11;
                 BY STC11CSP;
                 PROC FREQ;
                 TABLES STC11CSP*STC11TOL/NOROW NOCOL NOPERCENT;
                 TITLE STCVSM11 TABULATIONS;
                 RUN;
                     PROC FREQ;BY STC11CSP;
                 TABLES STC11INM*STC11TOL/NOROW NOCOL NOPERCENT;
                 TITLE STCVSM11 TABULATIONS;
                 RUN;
                 PROC MEANS N MIN MAX SUM; BY STC11CSP;RUN;


   Thanks to Randy Hewitt, DXC, USA.

Change 36.115  Unused Change Number.

Change 36.114  DB2ACCTR dataset has been misaligned when QLACOFF1 is not
VMACDB2        zero, i.e. if QLACLOCN field is longer than 16 bytes, and
Jun 10, 2018   there is more than one QLAC segment, due to 2 undoc bytes
               in the second and subsequent segments, but it was only
               INVALID DATA FOR QLACCPUL/QLACDBWT messages that exposed
               the error - no user had reported the bad QLACxxxx values,
               suggesting DB2ACCTR has not been important nor used!
               And those QLAC variables are also kept in DB2ACCT, but
               only from the LAST QLAC segment, because originally there
               was only one QLAC segment.
                 Option a:  Leave the QLAC variables in DB2ACCT as-is
                            with this documentation that they are only
                            from the last segment.
                 Option b:  Set all QLAC variables in DB2ACCT missing
                            but keep them; dropping existing variables
                            by MXG is unsafe because it could cause
                            an ABEND with VARIABLES NOT FOUND if you
                            have an old report that references then.
                            I have NOT chosen this option.
                 Option c:  Create macro _DRPQLAC listing all QLAC vars
                            kept in DB2ACCT so you can add
                              MACRO _KDB2ACR DROP=_DRPQLAC %
                            in your IMACKEEP to always drop them from
                            DB2ACCT, or use you can use
                              %LET MACKEEP=
                                MACRO _KDB2ACR DROP=_DRPQLAC % ;
                            in the //SYSIN of your DB2ACCT create job.
                            MACRO DRPQLAC is created and available, but
                            it does not drop QLACLOCN,QLACCNVR due to
                            references to those variables in others.
   Thanks to Scott Wiig, US Bank, USA.

Change 36.113  Incorrect test for GE 526 corrected to GE 538 to input
VMACDB2        QPAC_PIPE_WAIT and QPAC_PIPE_COUNT to correct those two
Jun  5, 2018   variable's values.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.112  Support for Dell EMC Mainframe Enablers 8.30, previously
EXSRDF02       SRDF, Symmetric Remote Data Facility, creates separate
EXSRDF03       datasets for each subtype:
EXSRDF04          DDDDDD   DATASET   DESCRIPTION
EXSRDF06          SRDF02   SRDFA02   TOLERANCE MODE CHG
EXSRDF07          SRDF03   SRDFA03   ACT CHANGE
EXSRDF08          SRDF04   SRDFA04   SECONDARY DELAY
IMACSRDF          SRDFAA   SRDFAA    REGULAR INTERVAL 05
VMACSRDF          SRDF06   SRDFA06   RECULAR MSC INTERVAL
VMXGINIT          SRDF07   SRDFA07   WRITE PACING GROUP
Apr 27, 2018      SRDF08   SRDFA08   WRITE PACING DEVICE
Jun  5, 2018


Change 36.111  JCL examples to CPORT/CIMPORT data from WPS to SAS,
JCLCPORT       and vice versa on z/OS and ASCII.
Jun  4, 2018

Change 36.110 -S0C7 Abend reading non-Extended Function VSAM dataset in
ADOCRMFV       SHOWSP subroutine after Change 36.068 (MXG 36.04 only).
ASMRMFV          Extended Function VSAM datasets support striping and
Jun  2, 2018     compression and extended addressability.  It is an
                 attribute of the Data Class. LISTC ENT('dataset') ALL
                 command will display EXTENDED attribute if file is EF.
              -Common RMFV030I and RMFV031I messages now issued for
               either EF or non-EF VSAM data sets.
              -Documentation Section updated to support the above
               changes:  Section 12 "Messages"
    Thanks to Randy Shumate, RELX Group, USA

Change 36.109  INPUT X $VARYING32000 is very CPU/Elapsed expensive when
TYPENMON       the maximum length of the input records is small. Adding
TYPERHEL       LENGTH X $1926; reduced 111 CPU seconds to only 40, so a
TYPSNMON       _NULL_ data step is added to TYPENMON to find the maximum
TYPSRHEL       record length, and the INPUT NMONTEXT $VARYING32000.; is
VMACNMON       replaced with this logic, using the _INFILE_ variable:
VMACRHEL         LENGTH NMONTEXT $ &NMONLENGTH ;
Jun  5, 2018     NMONTEXT=TRANWRD(_INFILE_,',,',', ,');
               It is the actual LENGTH of NMONTEXT that is the major
               impact on CPU and Elapsed times, but on z/OS, the LRECL
               has some impact, so you need to use an LRECL that is
               greater than the MAXNMONLENGTH, printed on the SAS log.
               The calculation of the NRWORDSIN that was needed for SAS
               V8 and early WPS was revised with added CPU reduction.
               The same changes are made for the RHEL/NMON processing.
               Steve Bagshaw gets credit for this discovery!
   Thanks to Steve Bagshaw, ITMetrics, ENGLAND.
   Thanks to Steve McCulloch, TMX, CANADA.

Change 36.108  Support for RACF TOKENs REQTCRE and ADMINCII creates
VMAC80A          TOKMADMINCII='TOKEN*ADMINCII'
Jun  1, 2018     TOKMREQTCRE='TOKEN*REQTCRE'
               variables in TYPE80TK dataset.
   Thanks to Bruce Hewson, Citibank N.A., SINGAPORE.

Change 36.107  If you are using ROLLUPS in DB2 to reduce the volume of
ASUMUOW        data then it becomes unlikely that you will get a good
VMXGUOW        match between CICSTRAN and DB2ACCT.  Further with some
May 31, 2018   of the more recent changes in VMAC110 other than the
               class 3 wait times and counts from DB2ACCT there is
               not a lot of information added to ASUMUOW from the
               DB2ACCT data.  To suppress the use of DB2ACCT in your
               ASUMUOW invocation all you need to do is to modify the
               _LDB2ACC substitution macro to point to _NULL_ as shown
               in this code:
                   %LET MACKEEP=%QUOTE(
                     MACRO _YESOBS %
                     MACRO _NOOBS %
                     MACRO _LDB2ACC _NULL_ %
                  );
                   OPTIONS SOURCE SOURCE2;
                   %INCLUDE SOURCLIB(VMXGUOW);
                   _NOOBS
                   OPTIONS NODSNFERR NOVNFERR;
                   _SUOWCIC  /* SORT CICSTRAN DATA */
                   _SUOWDB2  /* SORT DB2 DATA */
                   _SUOWMQ   /* SORT MQ SERIES DATA */
                   _SUOWSPN  /* CREATE ASUMUOW DATASET */
                   %VMXGUOW;
                   _YESOBS
                   OPTIONS DSNFERR VNFERR;
               The new VMXGUOW drops the DB2ACCT variables with the
               above suppression, keeping only 99 in the new
               PDB.ASUMUOW, previously there were 144.
               Only comments were added in ASUMUOW with this example.

Change 36.106  TYPE42DS Encryption variables were INPUT but not KEPT nor
VMAC42         labeled nor formatted:
May 31, 2018     S42AMRIB='S42AMRIB*BYTES*READ'
                 S42AMWIB='S42AMWIB*BYTES*WRITTEN'
                 S42AMRBD='READ BYTES*DECRYPTED*OR ELIGIBLE'
                 S42AMWBE='WRITE BYTES*ENCRYPTED*OR ELIGIBLE'
                 S42AMRCI='VSAM*CI-S READ OR*PHYSICAL*BLOCKS'
                 S42AMWCI='VSAM*CI-S WRITTEN*PHYSICAL*BLOCKS'
               With the large number of TYPE42DS observations, if you
               want to only select datasets with encryption counts:
                 %LET MACFILE=
                   %QUOTE(IF ID=42 THEN DO; IF SUBTYPE=6; END; );
                 %LET MACKEEP=
                   %QUOTE(
                    MACRO _ETY42DS
                      IF S42AMRBD GT 0 OR S42AMWBE GT 0 THEN DO;
                        OUTPUT _WTY42DS;
                      END;
                    %    );
                 %INCLUDE SOURCLIB(TYPE42);RUN;
               which will only populate TYPE42DS when bytes GT zero.
               Syntax note:  The original MACFILE syntax suggested
                 %LET MACFILE= %QUOTE( IF ID=42 AND SUBTYPE=6; );
               is fine for ONLY the TYPE42 program, but if that was
               used with BUILDPDB, only the 42.6 would be read, hence
               the above, safer selection will pass all other SMF
               records in case you want to process other records.
   Thanks to David Cogar, Wells Fargo, USA.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.105  Example SYSLOG processing TYPESYSL/TYPSSYSL/VMACSYSL that
TYPESYSL       was added in 34.04 renamed TYPESYSX/TYPSSYSX/VMACSYSX due
May 24, 2018   to conflict with TYPESYSL dataset created by TYPETMNT.

Change 36.104  z/OS 2.4 SMF 30 enhancement adds these fields:
VMAC30          SMF30TIH='HWM*TIOT SPACE*USED'
Jun 11, 2018    SMF30TIS='AVAILABLE*TIOT*SPACE FOR*ENTRIES'
                SMF30TIU='CURRENT*TIOT*SPACE*USED'
               ICN 1634 May 23, 2018.


Change 36.103  Format MGSTCCS for variable STC11CSP in STCVSM11 dataset
FORMATS        has new value '8000'x='8000X:VSM6 FICON CHANNEL'.
May 23, 2018
   Thanks to Randy Hewitt, DXC, USA.

Change 36.102  DB2 V11 APARS PI71903,PI84045,PI82755 added offsets _SC,
VMAC102        _PR, _INC, and _SQL to populate those fields that were
May 22, 2018   previously only in DB2 V12.  MXG test changed to GE 11.1.
               The timestamp variable QW0376TS in old data was invalid
               (e.g. '1A6CE0BD12FCB083'x, a date in 1914!) and was set
               to a missing value; now whatever is there is input so it
               may still be incorrect.
   Thanks to Joachim Sarkoschits, DATEV, GERMANY.

Change 36.101  Support for NDM-CDI OP (Operator Clist Record) creates
EXNDMOP        NDMOP dataset.
VMACNDM
VMXGINIT
May 21, 2018
   Thanks to Michael Oujesky, DTCC, USA.

Change 36.100  ACF2 Version 6.2 circumvention in Change 36.075 exposed
VMACACF2       another STOPOVER as LENLEFT was not correctly calculated.
May 23, 2018
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Mohammed Naseer, Lowe's USA.

Change 36.099  Support for RACF TOKDANAM IBMLABEL creates new TOKLABEL
VMAC80A        variable in TYPE80TK dataset.
May 23, 2018
   Thanks to Coen Wessels, IBM, GERMANY

Change 36.098  Format MGMOCTY, used for Information Builder's FOCUS,
FORMATS        has two new values for BEGIN and END. Only FORMAT was
VMACFOCU       changed, no change was made to VMACFOUU.
May 17, 2018
   Thanks to Tim Hare, Hare Systems, USA.

Change 36.097  The default triplet length for CICS/TS 5.2 to detect and
VMAC110        report there are excluded fields is corrected to 365/3260
May 14, 2018   from 373/3356 (which had included optional fields).
   Thanks to Paul Maradin, DXC, USA
   Thanks to Larry McCulley, DXC, USA

Change 36.096  Line seven should have two periods, &PDBMXG..ACF2AR.
ANALACF2
May 14, 2018
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.095  The %LET MXGABND=nnnn; option to abend instead of error
VMACBBMQ       is added to the BBMQ processing.  See Change 21.384.
May 11, 2018

Change 36.095  New 4-digit example format in tailoring IMACSMFF fails on
IMACSMFF       WPS Version 4, under investigation, but add the comments
May  9, 2018   as shown here to circumvent:
                /* COMMENT OUT - DEFAULT BREAKS WPS V4
                '2047.000'='2047.000:MAX VALUE AND LABEL NO SUBTY'
                '2047.001'='2047.001:MAX VALUE LABEL WITH SUBTYPE'
                   END COMMENT */
               The default IMACSMFF is always executed when SMF is read.

Change 36.094  MXG 35.12-36.04.  If you use IMACFMTS to add your site's
FORMATS        own FORMATs, the RUN; statement in member FORMATS after
Apr 10, 2018   the VALUE $MGRMVOS statement should NOT have been added.
   Thanks to Robert Debartolo, Cognizant, USA.

Change 36.093  CICS Dispatcher Statistics CICDS dataset, DSGTMADQ was
VMAC110        too large; field is now input &PIB.4.2 with two decimals.
Apr  9, 2018
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.092  ACCTSORT=NO was not working as advertised.  The datasets
READDB2        ended up in WORK rather than PDBOUT.
Apr  9, 2018

====== Changes thru 36.091 are in MXG 36.04 dated May  8, 2018==========

Change 36.091  If DB2ACCT existed but had 0 OBS input was set to _NULL_
VMXGUOW        resulting in many UNITIALIZED variable messages. VMXGUOW
May  7, 2018   now checks only for the existence of the dataset and if
               it does not exist sets it to _NULL_.

Change 36.090  If you tailored IMACDB2 to redefine MACRO _Lxxxxxx's and
ANALDB2R       you specified only a single level name, so those datasets
May  3, 2018   are written to WORK, and did not specify a PDBOUT,
               you could get this syntax error
                 ERROR: THE FUNCTION COMPBL REFERENCED BY THE %SYSFUNC
                 OF %QSYSFUNC MACRO FUNCTION HAS TOO FEW ARGUMENTS.
               due to incorrect logic, now corrected, in ANALDB2R.
               Originally posted to MXG-L as possible issue with SAS
               V9.3 to V9.4 migration, the thread was updated/corrected.
               Change 31.104, MXG 31.03, May 2013, created the exposure;
               the user's good run was with MXG 31.01.
   Thanks to Dennis Longnecker, State of Washington Courts, USA.

Change 36.089  APAR OA54884 for z/OS 2.3 ONLY reports very high I/O EXCP
DOCUMENT       counts in EXCPTOTL (Address Space Total, SMF30TEX) that
May  1, 2018   was observed in the MASTER address space, but could occur
               in any address space.

Change 36.088  SAS Note 51008 Java versions 1.6/1.7/1.8 can cause errors
DOCUMENT        ERROR: The Java proxy could not create a new xxxxxxxx.
May  1, 2018    ERROR: shmag() failed in Java extension rc -1 errno 124
                ERROR: Unable to attach current thread.
               on z/OS.  That Note the circumvention is to add this line
                JREOPTIONS=(
                 -Djava.lang.ClassLoader.lazyInitialization=false)
               to your SASHLQ.CONFIG(SITE) configuration PDS member.
               SAS Support reported SAS does not support Java 8 yet;
               see also SAS Note 51195.

Change 36.087  Unused Change Number.

Change 36.086  DCOLLECT Encryption Variables are now kept in DCOLDSET:
VMACDCOL       indicates if the LCU contains at least one FICON channel.
Apr 24, 2018     DCDTYPE ='ENCRYPTION*TYPE'
May 20, 2019     DCDKLBL ='ENCRYPTION*KEY*LABEL'
               The IBM Documentation does not provide DCDTYPE values to
               decode.  These fields were added by z/OS 2.3.
              -Unfortunately, DCDTYPE was changed from CHAR to NUM in
               this change, which will cause ERROR BOTH CHAR AND NUM
               if you merge PDBs built with this change with earlier
               PDBs.  You can use  MACRO _KDCODSN DROP=DCDTYPE= % in
               your SYSIN in your TYPEDCOL job to eliminate the conflict
               to circumvent this badly designed change. May 20/2019.
   Thanks to Mike Creech, Black Knight, USA.
   Thanks to Robert Hamilton, Fifth Third Bank, USA.

Change 36.085  Variable IOPDSTX is now kept in TYPE78IO dataset; bit 1
VMAC78         indicates if the LCU contains at least one FICON channel.
Apr 24, 2018
   Thanks to Lane Thorne, Honda of America Manufacturing, USA.

Change 36.084  Dataset STCVSM11 variables added by Change 34.237 were
VMACSTC        incorrectly labeled and inconsistent, now corrected:
Apr 23, 2018     STC11NHR='HOST*INTERFACE*I/OS'
                 STC11NHW='HOST*INTERFACE*CUBUSY*DURATION'
                 STC11NRR='REMOTE*INTERFACE*I/OS'
                 STC11NRW='REMOTE*INTERFACE*CUBUSY*DURATION'
                 STC11NIR='IP*INTERFACE*I/OS'
                 STC11NIW='IP*INTERFACE*CUBUSY*DURATION'
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.083  EXPDBINC EXPDBVAR EXPDBCDE can now be used with UTILBLDP
UTILBLDP       and BUILDPDB=NO so you can create your own custom dataset
Apr 27, 2018   with control of variables, etc.  This example creates the
               PDB.SMFHEADER dataset with four variables kept from every
               SMF header:
                  %UTILBLDP(USERADD=ID 118,BUILDPDB=NO,
                    EXPDBVAR=PDB.SMFHEADER
                       (KEEP=SYSTEM SMFTIME ID SUBTYPE),
                     EXPDBCDE=OUTPUT PDB.SMFHEADER;,
                     OUTFILE=INSTREAM
                   );
                   %INCLUDE INSTREAM;
              -Unrelated, unprintable '08'x character introduced 35.09
               is removed.
   Thanks to Randy Hewitt, DXC, USA.

Change 36.082  Correction for DB2 BPHITRAT variable to replace the sum
VMACDB2        of RIO/SPP/DPP/LPP with DIO/LIO/RIO/SIO.
Apr 19, 2018

Change 36.081  Support for four-digit SMF Record Type ID (MAX 2047) for
ANALID         the ANALID report.
FORMATS       -Format $MGSMFID text shifted one byte to the right; a few
IMACSMFF       record descriptions lost 1 character to keep 37 maximum.
VMACID        -VMACID,VMACSMF formats are now SMFIDSUB $8. SMFIDCH $4.
VMACSMF        increasing the LENGTH of those variables by one byte,
Apr 23, 2018   format 7.3 references are changed to 8.4 for IDANDSUB.
Apr 27, 2018  -Unfortunately, if you have used IMACSMFF to label your
               user SMF Record Descriptions, you will need to replicate
               all and insert a blank at the beginning of each existing
               3-character record type, to match the new example in that
               IMACSMFF member:
                 '2047.001'='2047.001:MAX POSSIBLE VALUE AND LABEL'
              -One line summary report with total records and bytes and
               the time range of the input SMF file is added.

Change 36.080  VMXGGETM utility accepts SMF selection syntax nnnn.mmm
VMXGGETM       where nnnn is the SMF Record Type (max is now 2047) and
Apr 18, 2018   where mmm is the subtype.  VMXGGETM creates an output SMF
               file with example records of each selected type.

Change 36.079 -Support for new SMF 119 subtypes 24, 38, 39, 40, and 45.
EXT11924       creates these new datasets:
EXT11938         dddddd   Dataset   Description
EXT11939         T11924  TYP11924  TNPROFILE
EXT11940         T11938  TYP11938  SmcdLnkStats
EXT11945         T11939  TYP11939  SmcdLnkStart
IMAC119          T11940  TYP11940  SmcdLnkEnd
VMAC119          T11945  TYP11945  IsmStats
VMXGINIT       Untested with data.
Apr 18, 2018  -New BitRate variables added to TYP11906 dataset:
Apr 26, 2018     IFINBITRT='INBOUND*BITS PER*SECOND'
                 IFOUBITRT='OUTBOUND*BITS PER*SECOND'
                 IFBITRATE='TOTAL*BITS PER*SECOND'
              -CO:Z subtypes 192 and 193 are validated with data.

Change 36.078  z/OS, SAS 9.4 M3 with IBM DFSORT, ABEND 0C4 in SASVZSR1,
CONFIGxx       when sorting a large dataset. SAS notes 57676 and 58629
Apr 17, 2018   circumvent the error with these options
                // EXEC MXGSAS94,OPTIONS='SORTBLKMODE SORTBLKREC=5000'
               which could alternately be specified in your CONFIGxx,
               but SORTBLKMODE has been the SAS Default for years. The
               SORTBLKREC option is not yet documented by SAS.
                 http://support.sas.com/kb/57676
                 http://support.sas.com/kb/58629
               This is documentation only, no code was changed.

Change 36.077  With a BY statement in your VMXGSUM INCODE, there is no
VMXGSUM        guarantee that the data order will be correct, and if you
Apr 14, 2018   also  %LET MXGSUMCLASS=YES or CLASSNWAY to YES, the data
May  8, 2018   step may fail. VMXGSUM now looks at the first word in the
               INCODE= and if it is BY sets CLASSNWAY to NO.

Change 36.076  CICS Statistics Dispatcher CICDS dataset set DSGTWT to
VMAC110        DURATM when DSGTWT was greater (Change 35.264), but that
Apr 14, 2018   should only have been done for SMFSTRQT='INT' as DURATM
               doesn't exist in the 'REQ', 'USS', nor 'EOD' records.
   Thanks to Paul Volpi, UHC, USA.

Change 36.075  ACF2 INVALID SMF RECORD, ACSMFREL=0 VS 6.2, ERRRORABEND.
VMACACF2       MXG tests for the last release, 6.2, but new ACF2 record
Apr 14, 2018   has '00'x instead of '62'x in byte 119, causing MXG test
               for 6.2 to fail.  This change forces ACSMFREL=6.2 if it
               is zero for this INCOMPATIBLE CHANGE to the ACF2 record.
               The CA fix is PI24126 and a reassembly of DMGSMF exit.
   Thanks to Michael K Yuan, Navy Federal Credit Union, USA.

Change 36.074 -Variables BETALOG in BETA50 and B97LOG in BETA9750 were
VMACBETA       reversed, OFF was ON and ON was OFF, bit test corrected.
VMACBE97      -TYPEBE97 subtype 31 revised: like TYPEBETA, there can be
Apr 17, 2018   an R1 and R2 value for each FIELDNAME, but TYPEBETA PUT
May 15, 2018   the text value into a character variable for R1 and R2,
               but those values were then difficult to test.  TYPEBE97
               instead creates nine pair of variables with true values
               (like Dates, Times, HEX, etc).
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 36.073  Support for z14 ZR1 adds new variable to TYPE70 dataset:
VMAC7072         SMF70MAXPU='CORES*PHYSICALLY*AVAILABLE*THIS MODEL'
Apr 12, 2018

Change 36.072  Variables now INPUT for TYPE99_6 subtype 6 dataset:
VMAC99            PSERV        ='SERVICE*DURING*INTERVAL'
Apr 12, 2018      PISERV       ='ZAAP*SERVICE*DURING*INTERVAL'
                  PSSERV       ='ZIIP*SERVICE*DURING*INTERVAL'
                  TIME_AT_PDP_USING='TIME AT*PDP USING*SAMPLES'
                  TIME_AT_PDP    ='TIME AT*PDP*ACCUMULATOR'
                  PCT_USING_PDP  ='PCT*TIME*USING*SAMPLES'
                  SMF996_FLAGS   ='SMF996_FLAGS'
                  EWLM_LOCAL_PI  ='EWLM*LOCAL*PI'
                  EWLM_GLOBAL_PI ='EWLM*GLOBAL*PI'
                  SMF996EWLM     ='EWLM*MANAGED?'
                  SMF996IOPR     ='I/O*PRIORITY?'
                  SMF996INEL     ='ZIP*INELIGIBLE?'
                  SMF99_NUM_EXT_SC='EXTERNAL*SERVICE*CLASSES'
   Thanks to Randall Schlueter, First Data, USA.

Change 36.071  IAM User SMF INPUT STATEMENT EXCEEDED because unexpected
VMACIAM        short segment lengths IAMIAINL=148 (MXG expected 204) and
Apr  8, 2018   IAMIASTL=148 (MXG Expected 204) were encountered, and now
               protected for these IAM 9.2 records.
   Thanks to Paul Naddeo, FISERV, USA.

Change 36.070  VMXGDUR rejected INTERVAL=THREEHOUR but the warning
VMXGDUR        message said that was correct. It was looking for THREEHR
Apr  8, 2018   but will now accept THREEHOUR, EIGHTHOUR, or TWELVEHOUR.

Change 36.069  Dataset CICSTRAN variables DURATM and DSGTWT were missing
VMXGCICI       values in CICS Statistics SMFSTREQ='USS','REQ',or 'EOD'
Apr  6, 2018   records as the DURATM only exists in the 'INT' records.
               But using the DIF(COLLTIME) a pseudo DURATM is created
               and used to populate/correct DSGTWT and DURATM.

Change 36.068 -Two new enhancements.
ADOCRMFV      -A new RMFBSAM record with an MXG01 id is now output
ASMRMFV        for every successfully processed RMF III VSAM data set.
VMACRMFV       VSAM attributes and statistics are included as well as
Apr  6, 2018   many ASMRMFV statistics and counters, and the record is
May  5, 2018   output in new dataset ZRBAS1.
May  9, 2018  -Between the existing MXG00 record and the new MXG01
               record nearly all information on an ASMRMFV log is
               captured. The MXG01 data becomes the ZRBASMDS (?) data
               set in the result PDB.
              -MXG01 records are only created for RMF III VSAM data sets
               that open and close successfully.  There are no MXG01
               records generated for:
                Empty VSAM data sets (VSAM considers this an error)
                VSAM data sets that are not an RRDS type
                VSAM data with an invalid CISIZE for RMF III data
                VSAM data with an invalid LRECL for RMF III data
                Non-VSAM data sets
               The above conditions have been flagged in the ASMRMFV
               Log for a long time.
              -Two new parameters UPCASE/NOUPCASE control the handling
               of values assigned in keyword=value usage.
              -UPCASE (alias UC) is the default and provides the same
               behavior as in prior ASMRMFV versions which force all
               PARM and SYSIN (or alternative) input data to upper case
               internally.
              -NOUPCASE (alias NOUC) is the default and does not alter
               any values assigned to a keyword.  And thus lower case
               values can be assigned to a keyword.
              -However, for most (if not all) data filters currently
               supported by ASMRMFV only upper case values are accepted.
               For example, Sysplex Ids, System Ids, Job Names, Job
               Classes, and so on are all required by IBM syntax rules
               to be in upper case.  Lower case values are flagged as
               errors by ASMRMFV validation routines.
              -NOUPCASE is a feature primarily intended for future
               filtering enhancements where lower case values could
               be accepted.
              -NOINDEXES and/or NOSPACE parameters might not work
               correctly in all situations and this has been corrected.
               Messages were not always suppressed when they should
               have been.
              -Message RMFV105I produced for ASMRMFV Detail and
               Summary reports now shows the full 5 character RMF III
               table id instead of just the first 3 characters.  This
               change was needed to distinguish MXG00 and MXG01 output
               record statistics.
              -Minor changes to messages RMFV037I, RMFV041I, RMFV051*
               (*= S,E,W,I), and RMFV106W.
              -Several documentation Sections are updated to support
               the above changes:
               Section  5 "Input Data Selection Parameters"
               Section 12 "Messages"
               Section 31 "Summary"
               Section 32 "Bibliography"

Change 36.067  z/OS, MXG's default CAPSOUT option causes lower case text
CONFIGxx       to be upper cased, but MXG recommends NOCAPSOUT for ODS,
Apr  5, 2018   and the SAS default on z/OS is NOCAPSOUT.  I don't know
               why I changed the SAS default years ago, but "CAPSOUT" is
               removed from all of the example MXG CONFIGxx members, so
               your site's default value will be used.

Change 36.066  Support for "IBM Developer for z Systems IDZ" SMF 122
EXTY122A       subtype 1 record creates new dataset TYPE122A.  TYPE122A
IMAC122A       is used because there is a TYPE122 record (that is/was?)
TYPE122A       previously written by Tivoli Allocation. The Product Name
TYPS122A       The Product Name field contains 'C2AE'x before and after
VMAC122A       the name, where 'AE'x is the ASCII registered copyright
VMXGINIT       symbol, but 'C2'x is a Danish A with a ring above!  Both
Apr  4, 2018   are printed on ASCII SAS, but both are blank on z/OS, and
               on z/OS lower case characters are converted to upper case
               by the $ASCIIn. INFORMAT.
   Thanks to Tory Lepak, Aetna, USA.

Change 36.065  AS400 7.3 QAPMDISK new fields below are now documented
VMACQACS       and are added to QAPMDISK dataset, transparently.
Apr  3, 2018   MXG created the PCTCLEAN and DSFSMAPBY variables:
                DSFSMAPSZ ='FREE SPACE*MAP 4K*PAGES*COUNT'
                DSFSCLEAN ='CLEAN*4K PAGES*FREE SPACE*COUNT'
                DSFSCLEAN0='LEVEL 0*CLEAN BLOCKS*PAGES 1-7'
                DSFSCLEAN1='LEVEL 1*CLEAN BLOCKS*PAGES   8'
                DSFSCLEAN2='LEVEL 2*CLEAN BLOCKS*PAGES  16'
                DSFSCLEAN3='LEVEL 3*CLEAN BLOCKS*PAGES  32'
                DSFSCLEAN4='LEVEL 4*CLEAN BLOCKS*PAGES  64'
                DSFSCLEAN5='LEVEL 5*CLEAN BLOCKS*PAGES 128'
                DSFSCLEAN6='LEVEL 6*CLEAN BLOCKS*PAGES 156'
                DSFSFRAGIX='FREE SPACE FRAGMENTATION INDEX'
                DSFSDIRTY ='DIRTY*4K PAGES*FREE SPACE*COUNT'
                DSFSDIRTY0='LEVEL 0*DIRTY BLOCKS*PAGES 1-7'
                DSFSDIRTY1='LEVEL 1*DIRTY BLOCKS*PAGES   8'
                DSFSDIRTY2='LEVEL 2*DIRTY BLOCKS*PAGES  16'
                DSFSDIRTY3='LEVEL 3*DIRTY BLOCKS*PAGES  32'
                DSFSDIRTY4='LEVEL 4*DIRTY BLOCKS*PAGES  64'
                DSFSDIRTY5='LEVEL 5*DIRTY BLOCKS*PAGES 128'
                DSFSDIRTY6='LEVEL 6*DIRTY BLOCKS*PAGES 256'
                PCTCLEAN='PERCENT*CLEAN*PAGES IN*FREE SPACE'
                DSFSMAPBY='FREE*SPACE*SIZE*MGBYTES'

====== Changes thru 36.064 are in MXG 36.03 dated Apr  2, 2018=========

Change 36.064  All updates in the Jan, 2018, SMF Manual are included in
SMF MANUAL     MXG Version 36.03, except new SMF 122, which is not in
Mar 30, 2018   that SMF Manual.

Change 36.063  DB2 V9 ONLY, zero obs in DB2STATB and other statistics
VMACDB2        datasets listed in Change 35.299, which revised deaccum
Mar 29, 2018   logic and expected one minute statistics intervals, but
               that IBM Change to force the DB2 Statistics Interval to
               one minute wasn't introduced until DB2 Version 10!
   Thanks to Don Blaszka, Wipro Limited, USA.

Change 36.062  Further VXBYUSR logic revised to use only 2 decimals for
VMACVMXA       all _MT1 DIF() functions; these data have only two digit
Apr  1, 2018   time resolution, but the divide by 4096 produced false
               digits in 3rd and 4th place that, coupled with these
               very large 2-complement numbers, cause MXG to falsely
               detect a break in deaccumulation.   See also 36.052.

Change 36.061  Invalid SYTNLPS value in SYTCUP records prevented their
VMACXAM        output; pending Velocity fix, SYTNLPS=(SEGLEN-28)/20; is
Mar 20, 2018   used to calculate the actual number of segments.

Change 36.060  Support for BMC Extended Buffer Manager XBM SMF Record.
EXXBMDS           -The Data Set Statistics Record can have seven OIDs:
EXXBMCA            OID   Variables   Segment
EXXBMCC            113   xbmDSSnn    Dataset Statistics
EXXBMCE            113   xbmSDSnn    Snapshot Data Set Statistics
EXXBMCS            154   xbmDB2nn    DB2 Statistics
IMACXBM            158   xbmSUSnn    Snapshot Utilities Statistics
TYPEXBM            199   xbmVSAnn    VSAM Statistics
TYPSXBM            272   xbmEPSnn    Extended Prefetch Statistics
VMACXBM            242   xbmIMSnn    IMS Statistics
VMXGINIT         and all seven segments are output in XBMDSET dataset.
Mar 21, 2018         DDDDDD   Dataset       Description
Sep  9, 2020         XBMDS    XBMDSET       XBM Data Set Record
                 (Only the first four OID's have been data-validated).
                -The Cache Statistics Record can have four OIDs,
                    1   xbmCSSnn    Configuration Start Section
                    2   xbmCEEnn    Configuration End/Stop Section
                    3   xbmCCCnn    Configuration Change Statistics
                  106   xbmCACnn    Cache Statistics Section
                 and each is output in a separate dataset:
                    DDDDDD   Dataset       Description
                    XBMCA    XBMCACHE      XBM Cache Record
                    XBMCS    XBMCSTRT      XBM Configuration Start
                    XBMCE    XBMCEND       XBM Configuration End
                    XBMCC    XBMCHG        XBM Configuration Change
                -Sep 9 2020: Apparently unused, KEEP list was wrong.
   Thanks to Flavio Lima, MetLife, USA.

Change 36.059 -If you specified USERADD=ID a CHAR OPERAND FOUND IN %EVAL
UTILBLDP       error indicated that a numeric was needed, which was due
Mar 21, 2018   to the compiler interpreting %STR(/VIEW=ID) as a formula.
               Resolved by using %QUOTE rather than %STR, like the other
               references in UTILBLDP.
              -The SMF AUDIT report was not being produced, now is.

Change 36.058  Missing %END in PMAUD02 corrected and BEGTIME and ENDTIME
ANALDB2R       parameters enabled for MXGDB2B1 report.  MXG 36.02 only,
Mar 23, 2018   introduced by Change 36.048.
   Thanks to Randy Hewitt, DXC, USA.

Change 36.057  Support for z/OS 2.3 RMF Changes (SHARE Sacramento 2018):
EXTY748S      -Support for APAR OA53411 for more than 65535 devices adds
FORMATS        SMF74SMF bit and populates existing SMF74LSN with a flag
IMAC74         when multiple logical SMF records were created, but these
VMAC7072       variables are not kept, and don't impact MXG's reading of
VMAC74         the individual physical SMF records; the variables are
VMXGINIT       available in the EXTY74 exit, if ever of interest.
Mar 26, 2018  -Support for APAR OA50760 72.3/4, was in Change 35.125.
              -Support for APAR OA50761 74.10, was in Change 35.273.
              -Support for APAR OA52694 72.3 TYPE72TR+ in Change 36.050.
              -Support for APAR OA50762 74.9 new bit existing R749FLAG.
              -Support for APAR OA50693 70.2 CEX6C/CEX6A/CEX6P Crypto
               updated $MGRMFCX/$MGRMFCY/MGRMFCZ formats.
              -Support for APAR OA50755 74.1 was in Change 35.193.
              -Support for APAR OA50755 74.9 was in Change 35.146.
              -Support for APAR OA53411 adds 74.5 vars to TYPE74CA.
                 R7451SRR='SYNC I/O*CACHE*READ*REQUESTS'
                 R7451SRH='SYNC I/O*CACHE*READ*HITS'
                 R7451SWR='SYNC I/O*CACHE*READ*REQUESTS'
                 R7451SWH='SYNC I/O*CACHE*READ*HITSS'
              -Support for APAR OA53411 74.8 adds new Synchronous I/O
               Link Statistics Segment that creates new TYPE748S data
               set with these variables:
                 R748SIID='SYNC*I/O*INTERFACE*ID'
                 R748STYP='SYNC*I/O*LINK*TYPE'
                 R748SSPD='SYNC*I/O*LINK*SPEED'
                 R748SWDH='SYNC*I/O*LINK WIDTH*LANES'
                 R748SSTE='SYNC*I/O*LINK*STATE'
                 R7451INC='BYTES*TIME*INDETERMINABLE'
                 R748SCBR='SYNC I/o*CACHE*BYTES*READ'
                 R748SCro='SYNC I/o*CACHE*READ*OPERATIONS'
                 R748SCRS='SUCCESSFUL*CACHE*READ*OPERATIONS'
                 R748SCRT='SYNC I/o*CACHE*READ*TIME'
                 R748SCBW='SYNC I/o*CACHE*BYTES*WRITE'
                 R748SCWO='SYNC I/o*CACHE*WRITE*OPERATIONS'
                 R748SCWS='SUCCESSFUL*CACHE*WRITE*OPERATIONS'
                 R748SNBW='SYNC I/O*CACHE*WRITE*TIME'
                 R748SNWO='NVS*BYTES*WRITTEN'
                 R748SNWS='NVS*WRITE*OPERATIONS'
                 R748SNWT='NVS*WRITE*TIME'
              -Support for APAR OA51913, z14 physical core addresses
               greater than 191, was protected in MXG 31.04, which
               supports the maximum possible value of 255, even though
               z/OS doesn't even support 191.
              -Support for Jan 2018 SMF Manual and APAR OA52003 that
               added these variables to TYPE74ST Structure dataset:
                 R744SIAD R744SADN R744SIXC R744SXSC R744SXST R744SXSQ
                 R744SADO R744SADR R744SQCH R744SXFL R744SWDR R744SWAC
                 R744SRDR R744SRAC R744SWEC R744SREC R744SWED R744SWES
                 R744SRED R744SRES
                 R744SIAD R744SADN R744SIXC R744SXSC R744SSXT R744SXSQ
                 R744SADR R744SQCH R744SXFL
                 R744SWDR R744SWAC R744SRDR R744SRAC R744SWEC R744SREC
                 R744SWED R744SWES R744SRED R744SRES
              -Support for Jan 2018 SMF Manual which added to TYPE74DU:
                 R744RSST R744RIDP R744RCPI R744RCPN R744RSGS R744RSA1
                 R744RSA2 R744RSA3 R744RSA4 R744RSA5 R744RSA6 R744RSA7
                 R744RSA8 R744RSID R744RSC  R744RAMC R744RAMS R744RAMS
                 R744RAMP R744RAMN

Change 36.056  zHyperwrite enables DB2 to perform parallel log writes to
VMAC74         PPRC primary and secondary volumes, but they are the same
VMAC79         4-hex-digit DEVNR, and because they can be concurrently
Mar 15, 2018   active, RMF Reports now display 5-hex-digit DEVNR, with
               the first nybble containing the SubChannel ID, 'sdddd'X,
               where the SubChannel ID is 0,1,2 or 3. No change was made
               to the SMF 74/79 records, as the SubChannel ID is already
               in those records, and the 5-hex-digit display is only in
               RMF reports/data: they won't exist in other SMF records.
               MXG variable DEVNR5HEX is created in TYPE74, TYPE74CA,
               TYPE748 and TYPE796 as DEVNR5HEX=65536*SMF74SCS+DEVNR
               with FORMAT DEVNR5HEX HEX5. format.

Change 36.055  New TYPE8231 dataset was misaligned and the VMXGINIT for
VMAC82         _WTY8231 thru _WTY8247 was corrected to write to WORK
VMXGINIT       rather than to PDB.
Mar 13, 2018  -Mar 20: Invalid Subtype 31 with only 4 bytes for 0203 TAG
Mar 20, 2018   encountered, circumvented, and reported to IBM.
Apr 12, 2018  -Apr 12: MXG's problem was that the SMF82_TRIPL_LENGTH
               field was presumed to be the length following it, but it
               was 8 with when 4 bytes remained, so I presumed there was
               truncated data for the TAG 0203 segment.  IBM Support
               responded with a very detailed decoding of the record
               with their utility that matched MXG's values, concluding:
               "To sum up, the length of 08 that you are referencing
                does not mean that 8 bytes will follow. It means the
                length in the record is composed of the length of the
                data item (4 bytes) plus the length of the tag and
                size info (another 4 bytes)."
                While TAGs have different lengths, since each TAG's
                length is fixed, MXG did not need to use that field,
                so no MXG code change was required, and no data was
                truncated.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.
   Thanks to David A. Hilliard, IBM Support, GERMANY.

Change 36.054  A missing paren caused BLDSMPDB to fail, and %macro
BLDSMPDB       &PDBPATH was not initialized in PDBAUDIT. BLDSMPDB only
PDBAUDIT       failed when MTD was used which then caused SAS to set
Mar 13, 2018   OBS=0 and caused PROC SQLs in PDBAUDIT to then fail.
               PDBAUDIT is now protected for the 0 OBS case
   Thanks to Harold Zbiegien, American Greetings, USA.

Change 36.053  INTBTIME and INTETIME variables are now all DATETIME25.6
BUIL3005       formatted, even though only those INPUT with TODSTAMP8
BUILD005       will have all six decimals populated, SMFSTAMP informat
SMFINTRV       only has 2 decimals.  INTETIME in SMF 91 with TODSTAMP8
VMAC30         informat forced the format change, since you can't have
VMAC91         different formats for the same variable name in datasets
Mar  8, 2018   created in the same DATA step.
   Thanks to Randy Hewitt, DXC, USA.

Change 36.052  Revision to z/VM VXBYUSR logic to correct large values
VMACVMXA       in many deaccumulated durations when there were multiple
Mar  7, 2018   logon values in CALTODON for the same user, and/or when
               a guest has been relocated.  Logic to recalculate DELTATM
               from HFRATE*HFQCNT was causing output of first instances,
               so it was removed.  A heuristic was added to test that
               the record DELTATM was not more than 2*INTERVAL since
               that also detects a return of a relocate to delete.
               See Change 36.062.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 36.051  Support for AS/400 Version 7.3 Collection Services.
VMACQACS      -New GDES fields added to QAPMCONF dataset for keys
Mar  7, 2018   FL PM TY TZ T1 T2 T3 T4 U1 U2 U3 U4 XS
Mar 16, 2018  -New DATETIMECH,UTCTIMECH 26-character datetimes and
Mar 23, 2018   DSQUEOPS counter added to QAPMDISK record, which now
Mar 26, 2018   has LRECL=751 (YOU MUST SET IN YOUR JCL/FILENAME).
               See change 36.065.
               The 26 character format is YYYY-MM-DD-HH.MI.SS.999999

====== Changes thru 36.050 are in MXG 36.02 dated Mar  5, 2018=========

Change 36.050  TYPE72GO variables R723CPA_ACTUAL and R723CPA_SCALING
VMAC7072       added by APAR OA52694, were trashed because they were
Mar  2, 2018   input when they shouldn't have been; the test for INPUT
Mar  6, 2018   should have been GE 276 instead of repeated GE 268.
               Mar 6: New variable ORG70CPA was added to TYPE70 and
               TYPE70PR, but the label statement had OGT70CPA causing
               a harmless UNINIT variable message on the log.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 36.049  Change 35.200 left off the trailing / or ] on the
VGETALOC       directory names if you did not supply it and it could
Mar  2, 2018   result in no allocations and a failure of a following
               VMXGSET. Now if we don't find the / or \ we supply it.
   Thanks to Richard Krueger, Sentry, USA.

Change 36.048  For PMAUD02 report SORTBY use is restored, but the first
ANALDB2R       variable in the list must be QWHSSSID, and variables not
Mar  2, 2018   in the below list will terminate with error messages.
               The default values are QWHSSSID QWHSSTCK; if that first
               variable is not DB2 or QWHSSSID, QWHSSSID is inserted.
               Allowed variables are:
                 DB2        - THE DB2 SUBSYSTEM ID
                 PLAN       - THE DB2 PLAN NAME
                 AUTHID     - THE AUTHORIZATION ID
                 CONNID     - THE CONNECTION ID
                 CONNTYPE   - THE CONNECTION TYPE
                 CORRID     - THE CORRELATION ID
                 QWHSSSID   - THE DB2 SUBSYSTEM ID
                 QWHCPLAN   - THE DB2 PLAN NAME
                 QWHCAID    - THE AUTHORIZATION ID
                 QWHCOPID   - THE ORIGINAL AUTHORIZATION ID
                 QWHCCN     - THE CONNECTION ID
                 QWACATYP   - THE CONNECTION TYPE
                 QWHCCV     - THE CORRELATION ID
                 QWHSSTCK   - THE TIME OF THE EVENT
   Thanks to Scott Swindling, PREMERA, USA.

Change 36.047  Support for XCOM Version 12.0 (COMPATIBLE) adds variables
VMACXCOM         XCOMGWDP='GATEWAY*DPATH'
Feb 28, 2018     XCOMSSLT='SSL*VERSION'
                 XCOMCIPHN='SSL*CIPHER*NAME'
                 XCOMRCNT='RESTART*COUNT'
                 XCOMPLEXQ='ORIGIN*PLEXQ*GROUP*NAME'
   Thanks to Alfredo Antonio Gonzalez Ortega, ITNOW, SPAIN
   Thanks to Sergi Vilaseca Punti, ITNOW, SPAIN
   Thanks to Miguel Fco. Monferrer Carvajal, ITNOW, SPAIN

Change 36.046  Support for NDM Version 5.2 corrects NDMCPU and adds
VMACNDM        these variables to the NDMCT dataset:
Mar  1, 2018     NDMCLASS   ='PROCESS*SESSION*CLASS'
Apr  6, 2018     NDMCTFLAG17='FASP17*OVERRIDE*TO FASP=NO'
                 NDMCTFLAG18='FASP18*OVERRIDE*TO FASP=NO'
                 NDMCTGPF   ='GENERAL*PURPOSE*FLAG'
                 NDMDBLKSZ  ='DESTINATION*BLKSIZE'
                 NDMDDSORG  ='DESTINATION*DSORG'
                 NDMDLRECL  ='DESTINATION*LRECL'
                 NDMDRECFM  ='DESTINATION*RECFM'
                 NDMFASPBW  ='FASP*BANDWIDTH*KBITS'
                 NDMFASPFT  ='FASP*FILESIZE*THRESHOLD'
                 NDMFASPPL  ='FASP*POLICY'
                 NDMPNRLS   ='PNODE*C:D*VERSION'
                 NDMSBLKSZ  ='SOURCE*BLKSIZE'
                 NDMSDSORG  ='SOURCE*DSORG'
                 NDMSLRECL  ='SOURCE*LRECL'
                 NDMSMFID   ='SMFID*THAT*CREATED'
                 NDMSMRLS   ='SNODE*C:D*VERSION'
                 NDMSRECFM  ='SOURCE*RECFM'
                 NDMSTEPOS  ='STEP*OFFSET*IN*TCQ'
                 NDMUSERN='USER*SENSE*FROM*FMH71'
                 NDMXDATE   ='PROCESS*STOP*DATE'
                 NDMXTIME   ='PROCESS*STOP*TIME'
                 NDMZFLAG='Z*FEATURE*FLAGS'
                 NDMZWINR   ='COMPRESSION*WINDOW*SIZE'
                -Apr 6: Reported Truncated CERI and CERT to IBM.
                -Apr 16: IBM APAR PI24126 corrects the truncation,
                 but makes no mention of the truncation.  That fix
                 required reassembly of DGMSMF.
   Thanks to Heimir Hauksson, Barclays Technology Center, ENGLAND.
   Thanks to Robert Richards, OPM, USA.
   Thanks to Walter J Freeman, OPM, USA.
   Thanks to Otto A. Burgess, OPM, USA.

Change 36.045  Support for enhanced Mobile Work 4HOUR MSU reporting.
FORMATS       -New parameter, TYPE=, for the type of mobile work, to
MOBMWRT        be added to your %MOBMWRT invocation in your MOBWRKxx
MOBWRK72       tailored members, where TYPE=DB2 CICS IMS WAS or MQ to
MOBWRK73       create the WORK.MWRT_BLD_SUM_&TYPE dataset that is then
MOBWRKMS       used to create the new MOBILE.MSU_&TYPE dataset with the
Feb 28, 2018   4 hour rolling average MSU for that &TYPE of workload.
              -MOBWRKMS provides reporting on the new &TYPE datasets.
              -Some improvements in SMF70CPA calculation in MOBWRK73,
               and ORIGCPUTM/CPUCPONLY/CICDSCPUTM are init to missing
               in MOBWRK72.
              -FORMAT mwrtdt is enhanced to support years beyond 2042.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 36.044  The value you set in MACRO _IMSVERS mm.n % is now kept
VMACIMS        in variable IMSVERS in IMS0708 and IMS07 datasets.
Mar  1, 2018   (The IMS56FA transaction dataset already has IMSVERSN
               that is created from that IMS log record.)
   Thanks to Alfredo Gonzalez, La Caixa, SPAIN.

Change 36.043  Initial support for NMON Nigel's Monitor for RHEL Release
EXRHELAA       14i with Red Hat Enterprise Linux 6.7.
EXRHELBP       The data with 1 second interval is suspect as the times
EXRHELCI       of the interval are often 2 or 3 seconds apart.
EXRHELME       The developers page is at 'http://nmon.sourceforge.net'
EXRHELNS       The BBBP fields are not currently decoded since the RHEL
EXRHELCD       text is not consistent with the NMON contents.
EXRHELDS      -Mar 6: FULLCOMD in RHELUARG expanded to 4096 bytes and
EXRHELIN       WORK dataset CPUBUSY is deleted; the values of CPU_ALL
EXRHELJF       variables are output in RHELINTV Interval Dataset.
EXRHELNT
EXRHELTO         DDDDDD  MXG       MXG
EXRHELUA         DATASET DATASET   DATASET
EXRHELMT         SUFFIX  NAME      LABEL
IMACRHEL
TYPERHEL         RHELAA  RHELAAA         RHEL MONITOR AAA CONFIGURATION
TYPSRHEL         RHELBP  RHELBBBP        RHEL MONITOR BBBP CONFIGURATION
VMACRHEL         RHELCI  RHELBBBPCPUINFO RHEL BBBP CPUINFO
VMXGINIT         RHELME  RHELBBBPMEMINFO RHEL BBBP MEMINFO
Mar  1, 2018     RHELMT  RHELBBBPMOUNT   RHEL BBBP MOUNT
Mar  6, 2018     RHELNS  RHELBBBPNETSTAT RHEL BBBP NETSTAT
Mar 14, 2018     RHELCD  RHELCPUD        RHEL CPU DETAIL
Mar 28, 2018     RHELDS  RHELDISK        RHEL DISK
Apr  6, 2018     RHELIN  RHELINTV        RHEL MONITOR INTERVAL
                 RHELJF  RHELJFSF        RHEL JFSFILE
                 RHELNT  RHELNETW        RHEL NETWORK
                 RHELTO  RHELTOP         RHEL TOP PROCESS
                 RHELUA  RHELUARG        RHEL UARG PROCESS
              -Apr 6: RHELAAA now output for each concatenated input
               file; only the first was output previously.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.
   Thanks to Andreas Windisch, HUK-COBURG, GERMANY.

Change 36.042  ANALCAPD ERROR: FOUND "IF" when expecting ... when the
ANALCAPD       CEC= options was used, due to a missing semicolon.
Feb 22, 2018
   Thanks to Norbert T. Wagner, Deutsche-Boerse, GERMANY.

Change 36.041  The MXGERROR:MISSING TYPE70 message is now MXGWARN:MISS
VMXG70PR       because it's only an alert to be examined (Change 36.026)
Feb 20, 2018   to see if the SYSTEMs listed are the systems of interest.
               Only variables in dataset ASUMCELP observations for those
               LPARs whose 70s were not read are impacted, and in many
               cases the message is generated because the SMF data from
               a sandbox LPAR was not present in that day's SMF input.
               These variables will have missing values in PDB.ASUMCELP;
               SMF70CPA SMF70LAC SMF70PAT SMF70WTI SMF70WTS SMF70WTI.
   Thanks to Ed Wieszczek, Zions Bank Corporation, USA.

Change 36.040  Support for IMS 56FA Record APAR UI50912. COMPATIBLE as
VMACIMS        it uses a reserved field for the new TPCEXTOF offset to
Feb 19, 2018   the TPCE DSECT, but TPCEXTOF is zero so the extension
               is not populated by THIS APAR, so it is also not input.
   Thanks to Heimir Hauksson, Barclays, ENGLAND.

Change 36.039  Enhancement to dataset TYPE70PR creates new LPARZIPS with
VMAC7072       the number of online ZIIP engines for each LPAR for each
Feb 19, 2018   interval.
   Thanks to Kurt Gramling, TSYS, USA.

Change 36.038  The MXG "INVALID SMF 119 TYPE 81" message in MXG 36.01
VMAC119        bypassed an INPUT STATEMENT EXCEEDED LENGTH ERROR ABEND,
Feb 19, 2018   but I had misunderstood the DS_DOOFF offset to be the
               offset into the SMF buffer to the DORU field; IBM L3
               Support corrected me: it is the offset into the RU that
               will be moved into the DORU field, if the DORU is larger
               than 4096 bytes, so that the anomaly's data will be in
               in the SMF record.  The circumvention is removed and the
               DORU variable is correctly populated.
              -Variable IST119DS_SID was changed from numeric to char
               with $HEX16. format.
   Thanks to Gary Zaetz, IBM z/OS Communications Server Support, USA.
   Thanks to David Campbell, SUNTRUST, USA.

Change 36.037  Variable QWHSACE was missing from the BY list for dataset
VMACDB2        ZZDB2SBP causing READDB2/TYPEDB2/BUILDPDB to ABEND with
Feb 19, 2018   INPUT STATEMENT EXCEEDED.  This code has been executing
               and accidentally working since MXG 35.10, last year,
               before two site's data records with multiple QWHSACEs
               exposed my coding error.
   Thanks to Lori A Stratford,The Auto Club Group AAA Michigan, USA.
   Thanks to Kare Martin Torsvik, IBM Services, NORWAY

Change 36.036  Support for new Subtype 31 SMF 82 JOB-level crypto stats.
EXTY8228
EXTY8229
EXTY8230
EXTY8240
EXTY8241
EXTY8242
EXTY8243
EXTY8244
EXTY8245
EXTY8246
EXTY8247
IMAC82
VMAC82
VMXGINIT
Feb 14, 2018
               During testing of this update, Error Message UNDECLARED
               ARRAY YPE8231 (note T is missing) was caused by VMXGINIT
               typo setting PTY8231=DEFAULT instead of setting WTY8231.
               Just a developers note as for that " YPExxxx" error text
               shows up in testing from time to time.

Change 36.035  If the last engine type in an LPAR was an IFL, the MXG
VMAC7072       calculation of LPARSHAR/LPARSHAC and LZIPSHAR/LZIPSHAC
Feb 14, 2018   was incorrect in the TYPE70 dataset.
   Thanks to Andrew Petersen, DXC, AUSTRALIA.

Change 36.034  Some debugging options added when MXGEXIMSG=YES and a bad
VGETOBS        branch to end modified so that if the dataset you seek
Feb 14, 2018   does not exist and debugging is on you will get the
               message that it did not exist.

Change 36.033  Analysis of different I/O counts between SMF 42 subtype 6
ANAL4274       and type74 subtype 1.
Feb 13, 2018

Change 36.032  WebSphere INVALID Subtype 9 messages were cause by the
VMAC120        absence of ELSE clauses that are now corrected.
Feb 12, 2018
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 36.031  INVALID DB2 RECORD CREATED BY ASG/TMON is NOT an ASG
VMACDB2H       issue, but rather is due to BMC APPTUNE SMF 102 records
Feb 11, 2018   with Data Sharing Group sections that were incorrectly
               decoded by MXG logic, now corrected.  The ERROR is real
               in that observations were NOT output in some datasets.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 36.030  Old-style substitution macro _HSMINTV added so you can
ASUMHSM        easily change the default HOUR interval to you choice.
Feb  6, 2018   If you want the interval to be QTRHOUR and the final
               output written to dataset HSM.QTRHOUR, you would use:
                 %LET MACKEEP=%QUOTE(
                   MACRO _LSUHSM HSM.QTRHOUR % /* SETS OUTPUT DSN */
                   MACRO _HSMINTV QTRHOUR % /* SETS INTERVAL */
                 );
                 %INCLUDE SOURCLIB(ASUMHSM);
   Thanks to Randy Hewitt, DXC, USA.

Change 36.029  Variables SM120RULEXFBOM/DEB/MON/FTRC are one-bit fields
VMAC120        that MXG incorrectly INPUT as one-byte variables.
Feb  8, 2018
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Jack Hyde, UHC, USA.

Change 36.028  Change 35.124 introduced code that stopped PDBAUDIT with
PDBAUDIT       a memory limitation problem with WPS when more than 20
Feb  8, 2018   LIBNAMEs were found.  Change 35.201 then accidentally
               circumvented that error by removing duplicate entries,
               but the real error was that DICTIONARY.MEMBERS returned
               all libname.member entries, (THOUSANDS in MXG QA JOB),
               rather than the LIBNAME entries from DICTIONARY.LIBNAMES.
               The error message is inactive.
   Thanks to Earl Kline, Luminex, USA.

Change 36.027  More invalid LENSR=304 and 448 for SMF 42 Subtype 5;
VMAC42         IF LENSR IN(232,240,320,400,448,480) THEN LENSR=160;
Feb  8, 2018   The line was also moved up to after the DO because
               those large values with lots of SR segments caused the
               MXG test for INVALID SR Length exceeds record length.
               The correcting APAR number is OA54663, but it did not
               acknowledge the multiplicity of incorrect values when
               it "Updated SMF42SRL to contain only length of SMF4205A".
   Thanks to Luis Mendoza, Black Knight, USA.
   Thanks to Lori A Stratford,The Auto Club Group AAA Michigan, USA.

====== Changes thru 36.026 are in MXG 36.01 dated Feb  6, 2018=========

Change 36.026  MXGERROR:MISSING TYPE70 RECORDS impacts ASUMCEC/ASUMCELP
VMXG70PR       datasets, with some incorrect values in those datasets
Feb  5, 2018   when those messages are printed, not just SMF70LAC, when
               either the data from a system is not input, or if your
               LPARNAME/SYSTEM/SYSNAME/SMF70STN names are inconsistent.
               Change 35.144 introduced the message and provided a way
               if your SMF70STN matches LPARNAME, but you may need the
               below logic to create consistent names.
                   %LET INCODE70FOR70PR=%QUOTE(
                     LENGTH SMF70STN $8;
                     IF      SYSNAME='ZUT1ACP1' THEN SYSTEM='ACP1';
                     ELSE IF SYSNAME='ZUT1DEV1' THEN SYSTEM='DEV1';
                     ELSE IF SYSNAME='ZUT1PRD1' THEN SYSTEM='PRD1';
                     IF      SYSNAME='ZUT1ACP1' THEN SYSNAME='ACP1';
                     ELSE IF SYSNAME='ZUT1DEV1' THEN SYSNAME='DEV1';
                     ELSE IF SYSNAME='ZUT1PRD1' THEN SYSNAME='PRD1';
                     IF      SMF70STN='ZUT1ACP1' THEN SYSTEM='ACP1';
                     ELSE IF SMF70STN='ZUT1DEV1' THEN SYSTEM='DEV1';
                     ELSE IF SMF70STN='ZUT1PRD1' THEN SYSTEM='PRD1';
                     IF      SMF70STN='ZUT1ACP1' THEN SMF70STN='ACP1';
                     ELSE IF SMF70STN='ZUT1DEV1' THEN SMF70STN='DEV1';
                     ELSE IF SMF70STN='ZUT1PRD1' THEN SMF70STN='PRD1';
                     IF      SYSNAME='ZUT1ACP1' THEN SYSTEM='ACP1';
                     ELSE IF SYSNAME='ZUT1DEV1' THEN SYSTEM='DEV1';
                     ELSE IF SYSNAME='ZUT1PRD1' THEN SYSTEM='PRD1';
                     IF      SYSNAME='ZUT1ACP1' THEN SYSNAME='ACP1';
                     ELSE IF SYSNAME='ZUT1DEV1' THEN SYSNAME='DEV1';
                     ELSE IF SYSNAME='ZUT1PRD1' THEN SYSNAME='PRD1';
                   );
                   %INCLUDE SOURCLIB(ASUM70PR);
               These are the variables that will have missing values
               in PDB.ASUMCECLP and ASUMCEC for those LPARs listed:
               SMF70CPA SMF70LAC SMF70PAT SMF70WTI SMF70WTS SMF70WTI.
   Thanks to Ed Wieszczek, Zions Bank, USA.

Change 36.025  Support for zVM64 Level 40061701 and 1702 INCOMPATIBLE.
VMACVMXA       Changes to MTRSYS 1.04 for SKIP calculation and MTREND
Feb  6, 2018   1.11 logic required for new instance where the rest of
               the record contains only nulls.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 36.024  Support for ThruPutManager Release/Version 18.02 COMPAT,
VMACTPMX       PTF Level TMT7113, adds new variable JXJBSTXT to dataset
Feb  1, 2018   TYPETPMX, with label 'JXJBSSYSAFF*TEXT'.
               Long labels and variables with blank labels corrected.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.023  Yet another ID 42 ST 5 INPUT STATEMENT EXCEEDED due to
VMAC42         yet another invalid LENSR of 232 that should be 160.
Jan 29, 2018   NOW: IF LENSR IN(232,240,320,400,480) THEN LENSR=160;
               See Change 35.302 and 35.305 original invalid LENSRs.
               IBM APAR OA54663 has been opened to fix the reported
               problem. (Note IBM calls it "reported", apparently
               until they have accepted and fixed the issue!)
   Thanks to Bradley A. Foxhall, BNY, USA.

Change 36.022  Support for Liberty 8.9.1.0 SMF 120 Subtype 100 (COMPAT)
VMAC120        added two new fields to dataset TY120100:
Jan 29, 2018    SM120RULEXSIZE='RULESET*SIZE IN*NUMBER*OF RULES*/
                SM120RULEXPNUM='RULESET*NUMBER OF*PARAMETERS*/
              -Unknown Subtype logic added to print a hex dump if found.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Jack Hyde, UHC, USA.

Change 36.021  Allocation utility VMXGALOC is enhanced so that if your
VMXGALOC       have specified DB2KEEP=0 or CICSKEEP=0 or SPINKEEP=0, the
Jan 25, 2018   directories are not created.  This is primarily for
               specialized tailoring where you want to send output data
               to different directories than the normal PDB processing,
               as SPIN CICSTRAN and DB2 are neither needed or desirable
               with those arguments (DAILYDSN being a good example).

Change 36.020  ASCII version of JCLDAYDS that uses the SAS FTP engine to
ASCIIDSN       process TMC and DCOLLECT data.
Jan 25, 2018

Change 36.019  Change to output dataset label to reflect the correct
TRNDDSNS       source of the data.
Jan 25, 2018

Change 36.018  Obscure DB2 GTF file ASCII-only conversion utility to
UDB2GTFA       assemble 256 byte pieces had the COL=OUTCOL that should
Jan 25, 2018   have been COL=OUTLOC, causing no output records.  Was NOT
               reported, accidentally discovered.  But nasty to find.

Change 36.017  INVALID SMF 119 SUBTYPE 81 RECORD has IST1219DS offset
VMAC119        of 2899 and IST1219DS length of 2164 but the record is
Jan 25, 2018   only 3076 bytes long, causing INPUT STATEMENT EXCEEDED.
               Test added to print MXGERROR and delete the record while
               opening a problem with IBM support.
   Thanks to David Campbell, Suntrust, USA.

Change 36.016  Enhancement to create optional SMFHEADER dataset with
TYPEID         selected variable from the SMF header when READSMF=YES
VMXGINIT       is used.  These two macros (default blank) enable:
Jan 24, 2018     %LET SMFHEADERDATASET1=
                    PDB.SMFHEADER (KEEP=SYSTEM SMFTIME ID SUBTYPE) ;
                 %LET SMFHEADERDATASET2=
                    %QUOTE( OUTPUT PDB.SMFHEADER; ) ;
                 %ANALID(READSMF=YES,PRINT=YES,PDBOUT=PDB);
   Thanks to Randy Hewitt, DXC, USA.

Change 36.015  Variable CPUID $EBCDIC8 ERROR when TYPEBETA and TYPE70
VMACBETA       records were processed together - CPUID is a numeric but
Jan 24, 2018   VMACBETA had an incorrect/old BETA93 reference.
   Thanks to Lothar Koppe, Provinzial, GERMANY.

Change 36.014  ANALHSM Report 3 Title was overlaid if BYVAL was used.
ANALHSM
Jan 22, 2018
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.013  Documentation only.  APAR OA27291 corrects ABEND S0C4 if
NEWSLTRS       USEZOSV1R9RULE(NO), the default, is used with Netview
Jan 22, 2018   NvDM at z/OS 1.10 or higher, in DIAGxx member of parmlib.
   Thanks to Lizette Koehler, Albertsons/Safeway Stores, USA.

Change 36.012  The created GMTOFF30 value could be .01 seconds more or
VMAC30         .01 less than the exact hourly offset when SMF30IST was
Jan 22, 2018   not the same second as INTBTIME, complicated by the two
               different resolutions, .01 in SMF30IST/SMFSTAMP8/local,
               .000001 in the higher resolution INTBTIME/TODSTAMP/GMT,
               the only source of the GMT delta in SMF 30s. This change
               impacts variables ACTDLYTM EXECTM INTBTIME INTETIME and
               SYNCTIME with the PROC COMPARE difference less than .01.
               And note that if you have not specified SYNC in SMFPRMxx,
               the TYPE30_V/SMFINTRV datasets are useless for any type
               of interval totals.

Change 36.011 -MXG 35.09-36.  Using %PDBAUDIT(LIBNAMES='Not _ALL_",
PDBAUDIT       overriding the internal _ALL_ default, the program
Jan 19, 2018   failed with a syntax error pointing to a Paren.
              -If LIBNAMES=PDB was used, and //PDB DD is tape, the
               program fails with PDB.PDBAUDIT NOT FOUND, because the
               option EXCLUDESEQ=YES is the default to NOT READ tape
               PDB libraries.  Now, if your PDBAUDIT= is on tape, and
               EXCLUDESEQ=YES, the program will tell you that you must
               change that to NO, so the program will report on the
               contents of the tape Data Library, but there is no output
               of the PDB.PDBAUDIT dataset to that tape, as that could
               destroy existing datasets on the sequential mode tape.
              -It is NOT recommended that you build your PDB on tape
               because of performance issues: tapes have no directory
               so the full tape has to be read to determine its contents
               for PDBAUDIT, and worse for BUILDPDB, where datasets are
               written AND read-from the //PDB, each reference has to
               start at the beginning of the tape and read all data
               to get to that dataset.
              -If you do want your daily PDB on tape, you should write
               to temp DASD for the //PDB, to eliminate the rereads, and
               then PROC COPY from //PDB to tape after all your reports
               were created from the temp DASD PDB.  And, since this PDB
               for BUILDPDB is NOT on tape, PDB.PDBAUDIT will be created
               and output to the temp PDB so it is included in the copy.
              -Note that if you do use EXCLUDESEQ=NO with PDB on tape,
               there are no observation counts in the PDBAUDIT reports.
   Thanks to Peter Ten Eyck, American National, USA.

Change 36.010  TYPE73 dataset variable CHFXRATE should have been divided
VMAC73         SMF73PTI, the corrected elapsed time, and not by DURATM.
Jan 18, 2018
   Thanks to Steve Olenik, IBM, USA.

Change 36.010A Support for z/OS 2.4 SMF 89 Dataset TYPE89R2 new TRG
FORMATS        variables SMF89TRGDATATYPE SMF89TRGDATACPU SMF89TRGDATA.
VMAC89         ICN1674.
Jan 16, 2019

Change 36.009  Message: INVALID TYPE 0 RECORD with LENGTH=70 was deleted
VMAC0          but that length is now valid when SMF0TBUF was added, but
Jan 18, 2018   its length was not added to the test for valid lengths.
                 The test for each valid TYPE 0 record length is needed
                 because, many times, sysprogs installing a product that
                 writes SMF records, incorrectly fail to set a record ID
                 and the product writes type 0 records, which were not
                 valid IPL records, and thus were deleted by MXG, with
                 the message.  I failed to add 70 to the test.
              -And, this site had records that were LENGTH=52 that are
               not IPL records, accidentally written.  Do you recognize
               what product has values like these in that record?:
          CHAR  ;... 3....E09ZBLOK. .. 3....LIDPOST BLKLDPSTLOADED   52
          ZONE  5003DF0101CFFECDDD0503DF0101DCCDDEE4CDDDCDEEDDCCCC44
          NUMR  E000B3181F509923622800B3181F394762302323472336145400
   Thanks to Bruce Sloss, PNC, USA.

Change 36.008  Variable TTAPLDAT in dataset TYP11902 was mis-aligned due
VMAC119        to INPUT that should have been INPUT @OFF11905 TTAPLDAT.
Jan 15, 2018
   Thanks to Bob Davidson, LloydsBanking, ENGLAND.

Change 36.007  Scott Barry posted the UTILBPV program to examine the BVP
UTILBPV        cylinder value to minimize wasted space in the Cylinder
Jan 15, 2018   Managed Area using EAV Volumes, using your DCOLLECT data.
               Datasets larger than the BPV value are written to the
               Cylinder-Managed Space, while dataset smaller than BPV
               are written to the Track-Managed Space.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.006 -CICS/TS 5.3 new CPU variables in Statistics CICM dataset:
VMAC110           MNGCPUT ='TOTAL*CPU*TIME'
Jan 15, 2018      MNGTONCP='TOTAL*CPU*TIME*ON CP'
                  MNGOFLCP='TOTAL*CPU*TIME*OFFLOAD*ON CP'
              -Variable MNGWLMCC now tests the correct bit.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.005 -TYPE115 header variable QWHSDURN in SMF 115 subtype 231
VMACDB2H       has a value that requires a divide by 4096, while that
VMAC115        same field in all other SMF 115 subtypes is microseconds.
Jan 18, 2018  -Header variable QWHSTIME and QWHSDURN are added to all
Feb  2, 2018   datasets that have the 52-byte DB2 QWHS header segment:
                MQMLOG MQMBUFER MQMCHIN MQMDSP MQMADP MQMSSL MQMDNS
                TYPE115201 TYPE115215, subtypes 1, 201, 215, and 213.
              -Variable QIS1EXPF is INPUT and kept in TYP115201 dataset.
              -The BY lists for 1155/115A/115L/115N were revised and now
               duplicates are removed (the 1155 and 1156 have MANY dupes
               normally).
              -Variables QSSTCN64/QSSTCR64, ABOVE THE BAR CONTRACTIONS
               and SHORT ON STORAGE counts added to MQMLOG dataset.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 36.004  Correction for DB2 V11 IFCID 376 INPUT STATEMENT EXCEEDED
VMAC102        STOPOVER ERROR because the code incorrectly expected the
Jan 14, 2018   V12 truncated offsets that are now unread with DB2 V11.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 36.003 -TYPE70TR TRG dataset misalignment was corrected when data
VMAC7072       records were received from IBM, but with these questions:
VMAC89          Split 70 records have a 70 TRG segment in each record,
Jan 17, 2018    and the second record's TRG data is identical.
              -TYPE72TR TRG dataset has negative values for R723TSUCP:
               IBM RMF replies: Negative values can occur in certain
               cases.  When transaction processor usage is reported to
               WLM through IWM4RPT or IWM4MNTF services, the consumed
               service units are accounted to the transaction service or
               report classes, and deducted from the region's service
               and report classes. If the number of transactions is very
               small and a single transaction reports high processor
               times, it can occur that processor times become negative.
               R723CETSX is natively in "squared microseconds" but is
               converted to "squared millisecs" to match R723CETS units.
              -TYPE89 documentation had offset at 64 with length 80, but
               actual offset/length are 36/52, causing the original MXG
               code to not INPUT the TRG TRO/TCO segments, so datasets
               TYPE80TI, TYPE89R1, and TYPE89R2 had zero observations.
              -With these changes, Tenant Resource Group, TRG datasets
               have been validated with data.

Change 36.002  See Change 36.135.
VMACPOEX
Jul 20, 2018

Change 36.001  TYPETCP (SMF 118) APISTART datetime was on GMT, the only
VMACTCP        field with SMFSTAMP informat not on local time zone.
Jan  9, 2018   Labels with MBYTES changed to BYTES since they all use
               the MGBYTES format that prints the suffix letter.
   Thanks to Randy Hewitt, DXC Technology, USA.

LASTCHANGE: Version 36.
=========================member=CHANGE35================================
 /* COPYRIGHT (C) 1984-2018 MERRILL CONSULTANTS DALLAS TEXAS USA */

Annual  MXG Version 35.36 was dated Jan  8, 2018, thru Change 35.309
        MXG Version 35.35 was dated Jan  3, 2018, thru Change 35.303
        MXG Version 35.12 was dated Dec 26, 2017, thru Change 35.298
EA test MXG Version 35.12 was dated Dec 20, 2017, thru Change 35.294
        MXG Version 35.11 was dated Dec  1, 2017, thru Change 35.279
        MXG Version 35.10 was dated Nov  6, 2017, thru Change 35.255
First   MXG Version 35.10 was dated Nov  6, 2017, thru Change 35.254
        MXG Version 35.09 was dated Oct  2, 2017, thru Change 35.217
First   MXG Version 35.09 was dated Oct  2, 2017, thru Change 35.215
        MXG Version 35.08 was dated Aug 24, 2017, thru Change 35.186
        MXG Version 35.07 was dated Aug  2, 2017, thru Change 35.171
        MXG Version 35.06 was dated Jun 30, 2017, thru Change 35.151
        MXG Version 35.05 was dated May 15, 2017, thru Change 35.121
        MXG Version 35.04 was dated May  1, 2017, thru Change 35.104
        \XG Version 35.03 is  dated Mar 27, 2017, thru Change 35.072
First   MXG Version 35.03 was dated Mar 22, 2017, thru Change 35.069
        MXG Version 35.02 was dated Feb 10, 2017, thru Change 35.035
        MXG Version 35.01 was dated Jan 20, 2017, thru Change 35.014
ANNUAL  MXG Version 34.34 was dated Jan  3, 2017, thru Change 34.284
ANNUAL  MXG Version 34.34 was dated Jan  3, 2017, thru Change 34.284
        MXG Newsletter SIXTY-NINE was dated Jan  3, 2018.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 35.36 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 35.36.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================

I.  MXG Version 35.36 dated Jan  8, 2018, thru Change 35.309.

==Major CHANGES added in MXG 35.36, dated Jan  8, 2018 thru 35.309.

ERROR Protection:
  Many     35.308  SAS Defect 9.4 M5 z/OS PROC SQL NOERRORSTOP protect.
                   SAS Note 61672 will address, this circumvents need.
ERROR Correction:
  TYPE42   35.305  Third incorrect SRLEN STOPOVER correction.
  ANALDB2R 35.307  Broken DO Syntax, 35.11-35.35, if PDBOUT=PDB is used.
  UTILBLDP 35.306  SUPPRESS=74 variable DEVN NOT FOUND ERROR.
  VGETxxxx 35.309  Protection for DATASET=PDB.dataset syntax.

==Major CHANGES added in MXG 35.35, dated Jan  3, 2018 thru 35.303.

New Products Support
  MDIJCL   35.299  Support for Luminex MDI box to run MXG on Linux.
Error Corrections
  TYPE42   35.302  Incorrect SRLEN in SMF 42 Subtype 5 APAR STOPOVER.
  TYPERMFV 35.300  CPUPHYAD format could fail causing ABEND.

==Major CHANGES added in MXG 35.12, dated Dec 26, 2017 thru 35.298.

New Products Support
  TYPE7072 35.285  Support for Container Pricing, new TYPE72TR dataset.
  TYPEBETA 35.297  Support for BETA 93 Version 610 (update) 620 (added).
  TYPE0203 35.283  Support for APAR OA52828, SMF Temporary Buffer size.
  TYPEQACS 35.288  Support for QAPMDISK with LENGTH=695.
  TYPE42   35.289  TYPE42 APARs OA52132, OA52133, OA61734 now tested.
Error Corrections
  TYPERMFV 35.287  MXG 35.10/35.11 RMF III ZRBASI ASICPUTA was WRONG.
Enhancements
  TYPEDB2  35.280  Exit Members EXDB2STS and _EDB2STS are now valid.
  RMFINTRV 35.282  New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
  TYPE70   35.282  New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
  UTILEXCL 35.293  &MXGCIEXC "exit" to correct USER CMODHEAD typos.
  UTILCMPR 35.292  Utility compares numeric variables in OLD/NEW dataset

==Major CHANGES added in MXG 35.11, dated Dec  1, 2017 thru 35.279.

New Products Support
  TYPE42   35.274  Support for APAR OA53110 new TYPE42 variables.
  TYPE74   35.273  Support for APAR OA50761 Virtual Flash memory.
  TYPE89   35.271  Support for Container Pricing in SMF 89.
  TYPE70   35.270  Support for Container Pricing in SMF 70.
  TYPE113  35.279  Support for Dec 2017 z14 CPU MF formula update.
Error Corrections
  TYPERMFV 35.259  35.10: ZRBASI deaccumulation was not correct.
  TYPEDB2  35.267  DB2 Netezza IDAA variables Q8STxxxx corrected.
  TYPEDB2  35.277  New IFCID=225 QWA225PRISTG_PAGE variable added.
  VMACSMF  35.266  SMF ID=2 SYSTEM=DUMY 14 byte records protected.
  CICINTRV 35.264  CICDS Dispatch dataset DISP+WAIT GE Interval DURATM.
  TYPEBVIR 35.260  BVIR History updated for 3.3 media codes and BVIR302.
  TYPEPOEX 35.257  Protection for truncated Power Exchange SMF record.
  TYPETMS5 35.278  Correction for TMS Stacked Tape Files wrong values.
Enhancements
  TYPE102  35.262  New DB2 zPARMS variables created in T102S106 dataset.
  TYPETPMX 35.261  Execution time for TYPETPMX halved by restructure.
  TYPERMFV 35.259  New ZRBLCPLPAR dataset with per-LPAR totals.
  TYPERMFV 35.259  IBM 4HR MSU (CPUAVB4H) in ZRBCPU per) interval.
  VMXGSET  35.256  Example to read "concatenated" PDBs with PROC SQL.

==Major CHANGES added in MXG 35.10, dated Nov  6, 2017 thru 35.255.

New Products Support
  TYPERMFV 35.249  Support for z/OS 2.3 RMF III CPUG3 ZRBCPU changes.
  TYPE113  35.246  SMF113/HIS formula for z14 L3P/RNI/SM1132SP changed.
  TYPEPOEX 35.242  Support for Power Exchange Version 10.1.1.
  TYPE42   35.240  Support for APARS OA52132/OA52133/OA61734 UNTESTED.
Error Corrections
  TYPE119  35.220  Zero observations in TYP11920 dataset.
  TYPE119  35.245  SMF 119 Subtype 81 INPUT STATEMENT EXCEEDED.
  TYPEDB2  35.229  PDB.DB2STATB/STSBP protection for large gaps in data.
  TYPEDB2  35.248  Four QWA225 and QWB225 variables now kept/input.
  FORMATS  35.243  MOBILE WORK CSV files for CICS/TS 5.3 missing prod.
  ANAL118  35.241  Typo, NEDNC=SMFTIME should be NENDC=SMFTIME.
  TYPEXAM  35.218  XAMSYPUP dataset variables are now correctly aligned.
  TYPEXAM  35.223  zVPS/XAM extra SYTCUP with totals is now decoded.
  TYPEVMXA 35.221  zVM MONWRITE VXPRCPUP dataset corrected.
Enhancements
  GRAFCEC  35.230  Replaces GRAFLPR, CPU/zIIP/4HR MSU graphs.
  UTILBLDP 35.225  New EXPDBVAR/EXPDBCDE/EXPDBOUT to create subset.
  BUILDPDB 35.234  New EXPDBKEP lets you KEEP=/DROP= vars in JOBS/STEPS+
  TYPE80A  35.231  RACFDIRECTED allows DELETE of RACF records DTP=44.
  DEDUP701 35.236  Duplicate 70 Subtype 1 records can cause bad results.
  TYPERMFV 35.235  RMF III ZRBCPU enhanced with decodes of CPC_HOMEFLAG.
  TYPE116  35.219  MQMACCT variable NETSNAME new format decoded.
  UTILEXCL 35.228  Support for 20 user character fields in CICSTRAN.

==Major CHANGES added in MXG 35.09, dated Oct  2, 2017 thru 35.225.

 MXG 35.09+ is required for:
   z14 processor, ONLY the SMF 113 records were incompatibly changed.
   z/OS 2.3  SMF 2 and 90 records incompatibly changed.
   z/VM 6.1.17.1 MONWRITE records incompatibly changed.

Error Corrections
  TYPE0203 35.190  SMF type 2 subtype 2 (SMF Signature enabled) STOPOVER
  TYPEVMXA 35.203  z/VM 6.4.17.1 INCOMPATIBLE fields.
  TYPENMON 35.208  Nigel's Monitor changed HH:MM to N MINS, INCOMPAT.
  TYPE90A  35.199  z/OS 2.3 type 90 subtype 38 INPUT STATEMENT EXCEEDED
New Products Support
  TYPE113  35.310  Support for z14 SMF type 113 (INCOMPATIBLE).
  TYPEBETA 35.209  Support for BETA 93 Version 610 (INCOMPATIBLE).
  TYPEBE97 35.196  Support for BETA 97 Extended 610 Header (INCOMPATIBL)
  TYPE102  35.204  Support for new IFCID 376 variables in T102S376.
  TYPERMFV 35.191  Support for z/OS 2.3 ZRBASI and ZRBUWD new fields.
  TYPEXAM  35.195  Support for zVPS XAM XAMPUP segment.
  TYPE6156 35.207  TYPE6156 enhancement adds FIRSTGEN and LASTGEN.
  BUILD005 35.206  New %LET SPINSTC=365 keeps STC Account fields longer.
  TYPE30   35.205  Documentation of what is counted in SMF 30 EXCPs.
  TYPECIMS 35.197  IMF variables STRTTIME/ENDTIME now in microseconds.
  Many     35.194  Unrequested log messages  MXGDEBUG: VMXGOPTR
  BLDSMPDB 35.200  New daily/weekly/monthly optional paths.
  TYPE74   35.193  Alignment for sync I/O variables.
  TYPE116  35.192  MQMQUEUE INTS/STRT populated in subtype 2 records.

==Major CHANGES added in MXG 35.08, dated Aug 24, 2017 thru 35.186.

Error Corrections
  TYPE74   35.182  MXG 34.07 INPUT STATEMENT EXCEEDED RMF 74 SUBTYPE 8.
  TYPE92   35.180  SMF 92 Subtype 50 INPUT STATEMENT EXCEEDED RECORD.
  TYPEVMXA 35.174A MONWRITE VXBYUSR _MT1 and _PRO (SMT times) corrected.
  TYPEROSC 35.177  PDB.ROSCOE, ROSIGNON Logon Time, CONNECTM, corrected.
New Products Support
  TYPE119  35.173  Support for SMF 119 Subtype 11 Zert record.
  TYPE102  35.183  IFCIDs 389,404,413,414,477 support.
  TYPEBBMQ 35.176  Support for BBMQ QSDSTYPE='DISTRIBUTED SYSTEM TYPE'.
  BUILDPDB 35.174  CPITCITM/CPISRITM Init, CPITCTTM/CPISRTTM added.

==Major CHANGES added in MXG 35.07, dated Aug  2, 2017 thru 35.171.

New Products Support
  TYPEmany 35.166  Support for z/OS 2.3, many additions.
  TYPEVMXA 35.165  New variables added to VXMTRMEM dataset.
  TYPEXAM  35.164  New variables added to XAMSYS dataset.
  TYPEZDP  35.162  Support for Dell/EMC Mainframe Enabler zDP
  TYPEMVCI 35.161  Support for BMC Mainview/CICS Version 7.1.
  TYPEAXWY 35.150  Support for AXWAY Version 3.1.3, incomplete.
  IMACICWU 35.158  Support for Mainview/CICS 7.1 SMF 110 BMCMVCIC.
  TYPEBE97 35.152  Support for Beta 97 Subtype 22 for version 430/610.
Error Corrections
  ASUMUOW  35.157  Variable DB2TCBTM removed from CPUUOWTM.
  TYPETPX  35.155  STOPOVER when IP Port was changed from 4 to 5 digit.
  ASMRMFV  35.154  STOPOVER using TYPERMFV if UWD records are created.
  TYPE7002 35.153  IBM RMF CRYPTO report TOTAL EXEC is AVERAGE EXEC.


==Major CHANGES added in MXG 35.06, dated Jun 30, 2017 thru 35.151.

Error Corrections
  ASMRMFV  35.148  Must specify both SVP and RCD for RMF III CPUTM
  TYPERMFV 35.148  RMF III CPUTM wrong if RCD without SVP selected.
  TYPEVMXA 35.145  zVM SMT INTERVAL vars were incorrectly DIF()'d.
  TYPE74   35.146  TYPE749 Corrections, vars R749FPGBYTx, and R749Dxxx.
  TYPE103  35.134  Dataset TYPE103D vars T103DBYT/T103DREQ corrected.
  TYPEVMXA 35.131  Variable CALENMT incorrect, new CALSHARE variable.
  TYPE30_6 35.127  Negative values for Early Address Spaces corrected.
  TYPE30_6 35.127  Negative values for Early Address Spaces corrected.
  VMAC38   35.136  NETVIEW ID=38 unexpected S38CCALR length corrected.
New Products Support
  TYPE42   35.137  APAR OA44319 improves accuracy for I/O durations.
  TYPE991  35.123  New z/OS 2.2 variables added to TYPE991 dataset.
  TYPEVMXA 35.132  Support for zVM 6.4 APAR VM66026 new variables.
  TYPEBETA 35.139  BETA93 and BETA97 Subtype 25 restructure support.
  TYPEXAM  35.147  Support for XAM new VSIDSK and XAMPRC segments.
Enhancements
  UTILBLDX 35.149  New BUILDJCL=YES creates IFASMFDP code to select SMF.
                   SIGNIFICANT CPU SAVINGS for Ad Hoc SMF read when only
                   a few SMF records are wanted from a large file.
                   See Change Text.  Will replace UTILBLDP next version.
  ASUM70PR 35.150  Option %LET CECONLY=YES creates ASUMCEC/ASUMCELP only
  ASUM70PR 35.144  MXGERROR:MISSING TYPE 70 RECORDS message.
  TYPE113  35.141  SMF 113 Formula for RNI updated for z13.
  IMACINIT 35.128  Note: OPTIONS NOCAPSOUT recommended for ODS users.
  ASMRMFV  35.135  RMF III Enhancements, Filtering.
  UTILBLDP 35.143  Options SUPPRESS enhanced, NEVER corrected.

==Major CHANGES added in MXG 35.05, dated May 15, 2017 thru 35.121.

Error Corrections
  TYPEDB2  35.111  DB2 12.1 INVALID QLAC, CONTINUOUS DELIVERY CAUSED.
                    THIS IS IMPORTANT: LOOK FOR INVALID QLAC ERROR ON
                    YOUR SAS LOG - OBSERVATIONS ARE NOT OUTPUT.
                    THE FIELDS WERE INSERTED BY APAR PI74456.
  TYPE7072 35.113  35.04 only. TYPE79 SHARE weights wrong, ASUMCELP ok.
  VMXGPRNT 35.120  WPS only, MXG 35.04 Only, Blank Label ERROR.
  VMXGFIND 35.117  Multiple input PDBs were read, only one was output.
  JCLTEST9 35.116  35.04 only. //MVJEIN DD in wrong step.
  VGETSORT 35.112  35.04 only. ERROR Truncated SORTBY (name GT 32).
  TYPE129  35.109  Variables SM1209EX/EY/EZ/FA were dropped.
  ANALID   35.108  ANALID report TITLE for BUILDPDB can be tailored.
New Products Support
  TYPEIAM  35.107  Support for IAM Version 9.0.
Enhancements
  TYPE110  35.105  CICS duration fields are now formatted TIME16.6.

==Major CHANGES added in MXG 35.04, dated May  1, 2017 thru 35.104.
Error Corrections
  TYPE7072 35.093  MXG 35.03 only. PLATBUSY/PCTOF HDW TYPE70/RMFINTRV.
  TYPEVMXA 35.079  z/VM 6.3 SMT in VXSYTPRP, VXAPLSO0 corrections.
  TYPEXAM  35.074  Velocity XAM SYTCPU invalid errors at vendor.
  TYPEDB2  35.081  DB2ACCTP, truncated QPACLOCN/COLN/PKID/ASCH/AANM
New Products Support
  TYPEMVJE 35.094  Support for BMC Mainview for Java Environment.
  TYPEVMXA 35.092  Updated support for z/VM 6.4 (INCOMPAT, SYTLCK).
Enhancements
  ANALFTP  35.087  New ANALFTP analysis provided five new reports.
  ANALCNCR 35.091  New example count/plot concurrent TELNET sessions.
  IHDRNDM  35.089  New NDM-CDI IHDRNDM exit for NDMRTYPE selection.
  BUILDPDB 35.088  Running MXG on ASCII, free SMF alloc at read end.
  TYPEOPSS 35.090  Support for CA's OPSS Product User SMF Record.

==Major CHANGES added in MXG 35.03, dated Mar 27, 2017 thru 35.072.

  VMAC1415 35.072  First MXG 35.03. Debug HEX DUMPS on log, no ERROR.
                   Not serious, but easily corrected with this update.

==Major CHANGES added in MXG 35.03, dated Mar 22, 2017 thru 35.069.

Significant Correction/Documentation
  TYPE7072 35.064  SMT Mode corrections, "Inflated" CPUZIPTM in MT=2
                   ONLY IMPACTS 72 and 30 -  TYPE 70 DATA JUST FINE!
New Products Support
  TYPE110  35.069  Support for CICS/TS 5.4 BETA 11 CICSTRAN new vars.
  TYPESVIE 35.059  Support for CA SYSVIEW for IMS 14, missing values.
  TYPEIMS  35.058  Support for IMS LOG 67D0 DIAGNOSTIC DC Log Record.
  TYPEMVIP 35.055  Support for Mainview for IP PTF BPN2331 adds flag.
  TYPE120  35.051  Support for Liberty 17.0.0.1 SMF 120 ST 12 new data.
  TYPEOPC  35.048  Support for IWS/TWS/OPC Version 9.3 ST 66 was ST 23.
  TYPE102  35.047  Support for IFCID 316 ACCESS CONTROL AUTH EXIT PARMS.
  TYPE102  35.046  Support for IFCID 125 Truncated fields.
  TYPEVMXA 35.040  Support for Velocity ZWRITE z/VM MONWRITE records.
  TYPEXAM  35.063  Support for XAMSYS wrong length, XMTCPSYS NAMENODE.
  TYPEMVCI 35.062  Support for Mainview CICS CMRDETL file VER 6700.
  TYPE30   35.066  APAR OA59593 adds INELIGHONOR flag to SMF 30s.
Enhancements
  TYPEDCOL 35.064A Multi-Volume DCOLDSET fields retained & populated.
  ASUMCELP 35.061  Variable SMT_NUM added to PDB.ASUMCELP with MT mode.
  TYPE120  35.060  SMF 120 ST 11 TYP120BL CP and zIIP variables added.
  GRAFCAPS 35.042  Example report of Resource Group CPU use and CAPPING.
  ASUM70PR 35.061  Enhancement adds SMT_NUM to PDB.ASUMCELP dataset.
  TYPE120  35.060  Enhancement adds TOTAL/CP ONLY/ZIP CPU to TYP120BL.
  ASMRMFV  35.054  RMF Monitor III Enhancement for OPD data filtering.
  ASUM70PR 35.050  Error message if PDB.ASUMCELP does not have all 70s.
Corrections
  VMXGSUM  35.056  Correction for KEEPMNTH= (very rarely used) option.
  TYPERMFV 35.044  ZRBCP SMT vars missing, new CPC_CECNAME variable.
  TYPE1415 35.040A IBM APAR OA51325 corrects missing UCB segment.
  CICINTRV 35.038  MXG correction for ITRM to NOT delete CICINTRV


==Major CHANGES added in MXG 35.02, dated Feb 10, 2017 thru 35.035.

Execution Errors Corrected:
  VMXGSUM  35.022  COMPBL too few arg, VARIABLE QWACBSC ALREADY...
                   Rare and obscure, only three reports, but nasty
                   if encountered deep in your daily run, so please
                   "drop in" 35.02, which is a very good LEVEL SET.
  VMXGSUM  35.020  MXG 35.01. Ignore MXGWARN VMXGSUM BACKLEVEL msg.
  UTILEXCL 35.023  MXG 35.01.Old Dictionary Records were not used.
  TYPEVMXA 35.025  Using _VMINPUT. z/VM variable VMDUSER was 1 byte.
Variables corrected:
  TYPEDB2  35.027  DB2STATS QISTxxxx Storage multiplied by 4K vs 1K.
  TYPE78   35.021  TYPE78PA variables R782LSMO/GMFO/GFRR are wrong.
  GRAFWRKX 35.018  WARNING but ZIPTM, IFATM, and ZIETM were not plotted.
  TYPE120  35.024  Subtype 9 variables SMF1209EV,FI,EW no longer kept.
  VMXGALOC 35.033  Month begin/logic revised, MNTHKEEP zero protected
  TYPE42   35.031  Variable S42DSIOS added to TYPE42DS.
  TYPEDB2  35.030  DB2STAT4 _REAL variables way too large.
New Products Support
  TYPE102  35.017  New DB2 ZPARMS added to T102S106 dataset.
  TYPE117  35.015  Support for SMF 117 GTZ record.
  TYPE125  35.015  Support for SMF 125 GTZ record, untested.
  TYPE80A  35.029  RACFTYPE=6 seg increased in length, message, no fail.
  TYPERMFV 35.028  New RMF III ZRBENC "long names" now input and kept.
  IMACDBNZ 35.027  Support for DB2ACCT NETEZZA Q8AC "Accumu" variables.
  TYPEBBMQ 35.034  Support for BBMQ BMC Utility BBM9MD73 restructure.
Enhancements
  UTILRMFI 35.026  Enhanced reporting if SRVCVLASS=SYSOTHER detected.
  TYPETPX  35.035  Protection for invalid TPX subtype 7 record.

==Major CHANGES added in MXG 35.01, dated Jan 20, 2017 thru 35.015.

POTENTIALLY SERIOUS Error Corrected:

  RMFINTRV 35.006  Duplicate RMFINTRV if Multiple Capacity Groups exist.

         Culprit was MXG's addition of variable SMF70GNM to PDB.RMFINTRV
         back in MXG 34.01 in Feb, 2016, but only reported now by only
         two sites.  THERE IS NO ERROR MESSAGE ON THE LOG.
            PROC FREQ DATA=PDB.RMFINTRV; TABLES SMF70GNM;
         will show if you are exposed. %INCLUDE SOURCLIB(RMFINTRV);
         with //PDB DD DISP=OLD with this Change will rebuild
         PDB.RMFINTRV correctly for each mis-built PDB data library.

Errors Corrected:
  UTILEXCL 35.004  ERROR PDB.CICSDICT not FOUND - USE THIS UTILEXCL.
  TYPE115  35.011  For local time zones with +GMT, GMT115TM wrong.
  TYPE120  35.007  Liberty SMF 120 st 12 SM120CCC/CCD Year 2027.
  TYPEPOEX 35.002  INVALID SMF Records caused STOPOVER ABEND.
  TYPEOSEM 35.010  OSEM User SMF INPUT EXCEEDED, invalid, circumvented.
New Products Support
  TYPE71   35.009  Support for APAR OA48913 with 2GB Memory Frames
Enhancements
  TYPERMFV 35.005  Dataset ZRBLCP obs created for ONLINE LCPUADDRs.


    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
     The current version nomenclature is SAS 9.4 TS1M5 (9.4M5), "M5",
     or "SAS 9.4 (TS04.01M5P09132017)" if the OPTION VERSIONLONG is
     enabled.

     Only on z/OS, SAS 9.4 "M5" requires MXG 35.36 because it adds the
     NOERRORSTOP option to protect all MXG PROC SQLs from the M5 defect
     that will be corrected in SAS Note 61672 defect.  See Change 35.308
     for more details on using NOERRORSTOP for your own PROC SQLs.

     SAS V9.4 M5 Is RECOMMENDED, but MXG executes without error
     using SAS Version 9.4 M0-M4 or SAS Version 9.3 M0-M2.

     SAS V9.4 (ALL) and SAS V9.3 (ALL) are at LEVEL A SAS Support.

     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works ok.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 on z/OS 1.10 requires SAS Hot Fix for SN-35332 and is at
                Support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2   SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS!
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      or you can continue to use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 35.36 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows Seven and
      Eight (64-bit) on 64-bit hardware, and sometimes on Centos 6.4,
      but MXG users execute MXG on MANY (ALL??) SAS platforms, including
      AIX, Linux, and other 'nix' variants, on many different hardware
      platforms, and since they all work we don't need to list them.  If
      SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.

   However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
   INCOMPATIBLY CHANGED, and MXG 34.03 is REQUIRED (PCTCPUBY WRONG!), to
   read the SMT-format RMF records (which are written if you have zIIP
   engines AND have enabled the new PROCVIEW CORE option for
   Multi-Threading, even if only one thread is enabled).

   The new zEDC compression hardware requires MXG 33.07 to support the
   new metrics.

   For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z/OS 2.3 Many new variables      Sep 24, 2017 35.166 35.09*
      z/OS 2.3 RMF III Support         Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 2 st 2 STOPOVER    Sep 24, 2017 35.190 35.09*
      z/OS 2.3 type 90 st 38 STOPOVER  Sep 24, 2017 35.199 35.09*
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      z13   SMT MT=2 CPUZIPTM TYPE70   Mar 21, 2016        35.03
      z14   SMF 113 Records INCOMPAT   Oct  2, 2017        35.09
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS-TS/5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS-TS/5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS-TS/5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS-TS/5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS-TS/5.3 GA date              Dec 11, 2015        33.33
      CICS-TS/5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS-TS/5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS-TS/5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      CICS-TS/5.4 GA                   Jun 17, 2017        35.03
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.08
      DB2 12.1 NETEZZA CORRECTIONS     Oct  5, 2016        34.08
      DB2 12.1 QLAC INSERTS DB2ACCT    May 15, 2017        35.05*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      Websphere MQ Series 9.1          Mar 20, 2017        35.03
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      z/VM    6.4 SYTLCK Incompat      Apr 26, 2016        34.04
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.13
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       TMON/CICS 4.1 (for CICS/TS 5.3 - Change 34.257      34.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2                         33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 35.36.


 1. Incompatibilities introduced in MXG 35.36:

  a- Changes in MXG architecture made between 35.36 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 35.36 after MXG 34.34:

  Dataset/
  Member   Change    Description

  Many     35.308  SAS Defect 9.4 M5 PROC SQL NOERRORSTOP circumvention.
  Many     35.166  Support for z/OS 2.3 (many new variables), COMPAT.
  Many     35.194  Unrequested log messages  MXGDEBUG: VMXGOPTR
  ANAL118  35.241  Typo, NEDNC=SMFTIME should be NENDC=SMFTIME.
  ANALCNCR 35.091  New example count/plot concurrent TELNET sessions.
  ANALDB2R 35.307  Broken DO Syntax in 35.11-35.35 if PDBOUT=PDB is used
  ANALFTP  35.087  New ANALFTP analysis provided five new reports.
  ANALID   35.108  ANALID report TITLE for BUILDPDB can be tailored.
  ASMRMFV  35.054  RMF Monitor III Enhancement for OPD data filtering.
  ASMRMFV  35.135  RMF III Enhancements, Filtering.
  ASMRMFV  35.148  Must specify both SVP and RCD for RMF III CPUTM
  ASMRMFV  35.154  STOPOVER using TYPERMFV if UWD records are created.
  ASUM70PR 35.050  Error message if PDB.ASUMCELP does not have all 70s.
  ASUM70PR 35.061  Enhancement adds SMT_NUM to PDB.ASUMCELP dataset.
  ASUM70PR 35.144  MXGERROR:MISSING TYPE 70 RECORDS message.
  ASUM70PR 35.150  Option %LET CECONLY=YES creates ASUMCEC/ASUMCELP only
  ASUMCELP 35.061  Variable SMT_NUM added to PDB.ASUMCELP with MT mode.
  ASUMUOW  35.157  Variable DB2TCBTM removed from CPUUOWTM.
  BLDSMPDB 35.167  VGETSORT revisions for PDB name, internal.
  BLDSMPDB 35.200  New daily/weekly/monthly optional paths.
  BUILD005 35.206  New %LET SPINSTC=365 keeps STC Account fields longer.
  BUILDPDB 35.088  Running MXG on ASCII, free SMF alloc at read end.
  BUILDPDB 35.174  CPITCITM/CPISRITM Init, CPITCTTM/CPISRTTM added.
  BUILDPDB 35.234  New EXPDBKEP lets you KEEP=/DROP= vars in JOBS/STEPS+
  CICINTRV 35.038  MXG correction for ITRM to NOT delete CICINTRV
  CICINTRV 35.264  CICDS Dispatch dataset DISP+WAIT GE Interval DURATM.
  DEDUP701 35.236  Duplicate 70 Subtype 1 records can cause bad results.
  FORMATS  35.243  MOBILE WORK CSV files for CICS/TS 5.3 missing prod.
  GRAFCAPS 35.042  Example report of Resource Group CPU use and CAPPING.
  GRAFCEC  35.230  New graphs CPU/zip Hours/4HR MSU, replaces GRAFLPAR.
  GRAFCEC  35.230  Replaces GRAFLPR, CPU/zIIP/4HR MSU graphs.
  GRAFWRKX 35.018  WARNING but ZIPTM, IFATM, and ZIETM were not plotted.
  IHDRNDM  35.089  New NDM-CDI IHDRNDM exit for NDMRTYPE selection.
  IMACDBNZ 35.027  Support for DB2ACCT NETEZZA Q8AC "Accumu" variables.
  IMACICWU 35.158  Support for Mainview/CICS 7.1 SMF 110 BMCMVCIC.
  IMACINIT 35.128  Note: OPTIONS NOCAPSOUT recommended for ODS users.
  JCLTEST9 35.116  35.04 only. //MVJEIN DD in wrong step.
  MDIJCL   35.299  Support for Luminex MDI box to run MXG on Linux.
  RMFINTRV 35.006  Duplicate RMFINTRV if Multiple Capacity Groups exist.
  RMFINTRV 35.282  New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
  SMFINTRV 35.067  New START15INT/30INT/HRINT interval Starttimes.
  TYPE0203 35.190  SMF type 2 subtype 2 (SMF Signature enabled) STOPOVER
  TYPE0203 35.283  Support for APAR OA52828, SMF Temporary Buffer size.
  TYPE102  35.017  New DB2 ZPARMS added to T102S106 dataset.
  TYPE102  35.046  Support for IFCID 125 Truncated fields.
  TYPE102  35.047  Support for IFCID 316 ACCESS CONTROL AUTH EXIT PARMS.
  TYPE102  35.204  Support for new IFCID 376 variables in T102S376.
  TYPE102  35.262  New DB2 zPARMS variables created in T102S106 dataset.
  TYPE102  35.262  Support for new DB2 zPARMS added by RSU1708 and 1709.
  TYPE103  35.134  Dataset TYPE103D vars T103DBYT/T103DREQ corrected.
  TYPE110  35.105  CICS duration fields are now formatted TIME16.6.
  TYPE113  35.141  SMF 113 Formula for RNI updated for z13.
  TYPE113  35.246  SMF113/HIS formula for z14 L3P/RNI/SM1132SP changed.
  TYPE113  35.310  Support for z14 SMF type 113 (INCOMPATIBLE).
  TYPE115  35.011  For local time zones with +GMT, GMT115TM wrong.
  TYPE116  35.192  MQMQUEUE INTS/STRT populated in subtype 2 records.
  TYPE116  35.219  MQMACCT variable NETSNAME new format decoded.
  TYPE117  35.015  Support for SMF 117 GTZ record.
  TYPE119  35.173  Support for SMF 119 Subtype 11 Zert record.
  TYPE119  35.220  Zero observations in TYP11920 dataset.
  TYPE119  35.245  SMF 119 Subtype 81 INPUT STATEMENT EXCEEDED.
  TYPE120  35.007  Liberty SMF 120 st 12 SM120CCC/CCD Year 2027.
  TYPE120  35.024  Subtype 9 variables SMF1209EV,FI,EW no longer kept.
  TYPE120  35.051  Support for Liberty 17.0.0.1 SMF 120 ST 12 new data.
  TYPE120  35.060  Enhancement adds TOTAL/CP ONLY/ZIP CPU to TYP120BL.
  TYPE120  35.060  SMF 120 ST 11 TYP120BL CP and zIIP variables added.
  TYPE125  35.015  Support for SMF 125 GTZ record, untested.
  TYPE129  35.109  Variables SM1209EX/EY/EZ/FA were dropped.
  TYPE1415 35.040A IBM APAR OA51325 corrects missing UCB segment.
  TYPE30   35.066  APAR OA59593 adds INELIGHONOR flag to SMF 30s.
  TYPE30   35.205  Documentation of what is counted in SMF 30 EXCPs.
  TYPE30_6 35.127  Negative values for Early Address Spaces corrected.
  TYPE42   35.031  Variable S42DSIOS added to TYPE42DS.
  TYPE42   35.137  APAR OA44319 improves accuracy for I/O durations.
  TYPE42   35.240  Support for APARS OA52132/OA52133/OA61734 UNTESTED.
  TYPE42   35.274  Support for APAR OA53110 new TYPE42 variables.
  TYPE42   35.289  TYPE42 APARs OA52132, OA52133, OA61734 now tested.
  TYPE42   35.305  Third incorrect SRLEN STOPOVER correction.
  TYPE6156 35.207  TYPE6156 enhancement adds FIRSTGEN and LASTGEN.
  TYPE70   35.270  Support for Container Pricing in SMF 70.
  TYPE70   35.282  New PLATxxxyyy xxx=zip/ifl/icf yyy=cpus/busy added.
  TYPE7002 35.153  IBM RMF CRYPTO report TOTAL EXEC is AVERAGE EXEC.
  TYPE7072 35.064  SMT Mode corrections, "Inflated" CPUZIPTM in MT=2
  TYPE7072 35.093  Variables PLATBUSY/PCTOFHDWQ TYPE70/RMFINTRV wrong.
  TYPE7072 35.113  35.04 only. TYPE79 SHARE weights wrong, ASUMCELP ok.
  TYPE7072 35.285  Support for Container Pricing, new TYPE72TR dataset.
  TYPE71   35.009  Support for APAR OA48913 with 2GB Memory Frames
  TYPE74   35.146  TYPE749 Corrections, vars R749FPGBYTx, R749Dxxx.
  TYPE74   35.182  MXG 34.07 INPUT STATEMENT EXCEEDED RMF 74 SUBTYPE 8.
  TYPE74   35.193  Alignment for sync I/O variables.
  TYPE74   35.273  Support for APAR OA50761 Virtual Flash memory.
  TYPE78   35.021  TYPE78PA variables R782LSMO/GMFO/GFRR are wrong.
  TYPE80A  35.029  RACFTYPE=6 segment increased in length, error msgs.
  TYPE80A  35.231  RACFDIRECTED allows DELETE of RACF records DTP=44.
  TYPE80A  35.231  RACFDIRECTED allows delete of multiple RACF records.
  TYPE89   35.271  Support for Container Pricing in SMF 89.
  TYPE90A  35.199  z/OS 2.3 type 9 subtype 38 INPUT STATEMENT EXCEEDED
  TYPE92   35.180  SMF 92 Subtype 50 INPUT STATEMENT EXCEEDED RECORD.
  TYPE991  35.123  New z/OS 2.2 variables added to TYPE991 dataset.
  TYPEAXWY 35.150  Support for AXWAY Version 3.1.3, incomplete.
  TYPEBBMQ 35.034  Support for BBMQ BMC Utility BBM9MD73 restructure.
  TYPEBBMQ 35.176  Support for BBMQ QSDSTYPE='DISTRIBUTED SYSTEM TYPE'.
  TYPEBE97 35.152  Support for Beta 97 Subtype 22 for version 430/610.
  TYPEBE97 35.196  Support for BETA 97 Extended 610 Header (INCOMPATIBL)
  TYPEBETA 35.139  BETA93 and BETA97 Subtype 25 restructure support.
  TYPEBETA 35.209  Support for BETA 93 Version 610 (INCOMPATIBLE).
  TYPEBETA 35.297  Support for BETA 93 Version 610 (update) 620 (added).
  TYPEBVIR 35.260  BVIR History updated for 3.3 media codes and BVIR302.
  TYPEBVIR 35.260  Support for new media/devices and BVIR302 correction.
  TYPECIMS 35.197  IMF variables STRTTIME/ENDTIME now in microseconds.
  TYPEDB2  35.016  DB2STATS QISTxxxx Storage multiplied by 4K vs 1K.
  TYPEDB2  35.030  DB2STAT4 _REAL variables way too large.
  TYPEDB2  35.081  DB2ACCTP, truncated QPACLOCN/COLN/PKID/ASCH/AANM
  TYPEDB2  35.111  DB2 12.1 INVALID QLAC, CONTINUOUS DELIVERY CAUSED.
  TYPEDB2  35.229  PDB.DB2STATB/STSBP protection for large gaps in data.
  TYPEDB2  35.248  Four QWA225 and QWB225 variables now kept/input.
  TYPEDB2  35.267  DB2 Netezza IDAA variables Q8STxxxx corrected.
  TYPEDB2  35.277  New IFCID=225 QWA225PRISTG_PAGE variable added.
  TYPEDB2  35.280  Exit Members EXDB2STS and _EDB2STS are now valid.
  TYPEDCOL 35.064A Multi-Volume DCOLDSET fields retained & populated.
  TYPEIAM  35.107  Support for IAM Version 9.0.
  TYPEIMS  35.058  Support for IMS LOG 67D0 DIAGNOSTIC DC Log Record.
  TYPEMVCI 35.062  Support for Mainview CICS CMRDETL file VER 6700.
  TYPEMVCI 35.161  Support for BMC Mainview/CICS Version 7.1.
  TYPEMVIP 35.055  Support for Mainview for IP PTF BPN2331 adds flag.
  TYPEMVJE 35.094  Support for BMC Mainview for Java Environment.
  TYPENMON 35.208  Nigel's Monitor changed HH:MM to N MINS, INCOMPAT.
  TYPEOPAV 35.163  Support for Dell/EMC Mainframe Enabler PAV Optimizer
  TYPEOPC  35.048  Support for IWS/TWS/OPC Version 9.3 ST 66 was ST 23.
  TYPEOPSS 35.090  Support for CA's OPSS Product User SMF Record.
  TYPEOSEM 35.010  OSEM User SMF INPUT EXCEEDED, invalid, circumvented.
  TYPEPOEX 35.002  INVALID SMF Records caused STOPOVER ABEND.
  TYPEPOEX 35.242  Support for Power Exchange Version 10.1.1.
  TYPEPOEX 35.257  Protection for truncated Power Exchange SMF record.
  TYPEQACS 35.288  Support for QAPMDISK with LENGTH=695.
  TYPERMFV 35.005  Dataset ZRBLCP obs created for ONLINE LCPUADDRs.
  TYPERMFV 35.028  New RMF III ZRBENC "long names" now input and kept.
  TYPERMFV 35.044  ZRBCP SMT vars missing, new CPC_CECNAME variable.
  TYPERMFV 35.191  Support for z/OS 2.3 ZRBASI and ZRBUWD new fields.
  TYPERMFV 35.235  RMF III ZRBCPU enhanced with decodes of CPC_HOMEFLAG.
  TYPERMFV 35.259  35.10: ZRBASI deaccumulation was not correct.
  TYPERMFV 35.259  IBM 4HR MSU (CPUAVB4H) in ZRBCPU per) interval.
  TYPERMFV 35.259  MSU Count variables added to ZRBASI/ZRBCPU/ZRPLCP.
  TYPERMFV 35.259  New ZRBLCPLPAR dataset with per-LPAR totals.
  TYPERMFV 35.287  MXG 35.10/35.11 RMF III ZRBASI ASICPUTA was WRONG.
  TYPERMFV 35.300  The CPUPHYAD format could fail creation with ABEND.
  TYPEROSC 35.177  PDB.ROSCOE, ROSIGNON Logon Time, CONNECTM, corrected.
  TYPESVIE 35.059  Support for CA SYSVIEW for IMS 14, missing values.
  TYPETMS5 35.278  Correction for TMS Stacked Tape Files wrong values.
  TYPETPMX 35.261  Execution time for TYPETPMX halved by restructure.
  TYPETPMX 35.261  Execution time reduction.
  TYPETPX  35.035  Protection for invalid TPX subtype 7 record.
  TYPETPX  35.155  STOPOVER when IP Port was changed from 4 to 5 digit.
  TYPEVMXA 35.025  Using _VMINPUT. z/VM variable VMDUSER was 1 byte.
  TYPEVMXA 35.040  Support for Velocity ZWRITE z/VM MONWRITE records.
  TYPEVMXA 35.079  z/VM 6.3 SMT in VXSYTPRP, VXAPLSO0 corrections.
  TYPEVMXA 35.092  Additional support for z/VM 6.4 (INCOMPAT, SYTLCK).
  TYPEVMXA 35.093  MXG 35.03 only. PLATBUSY/PCTOF HDW TYPE70/RMFINTRV.
  TYPEVMXA 35.131  Variable CALENMT incorrect, new CALSHARE variable.
  TYPEVMXA 35.132  Support for zVM 6.4 APAR VM66026 new variables.
  TYPEVMXA 35.145  zVM SMT INTERVAL vars were incorrectly DIF()'d.
  TYPEVMXA 35.165  New variables added to VXMTRMEM dataset.
  TYPEVMXA 35.174A MONWRITE VXBYUSR _MT1 and _PRO (SMT times) corrected.
  TYPEVMXA 35.203  z/VM 6.4.17.1 INCOMPATIBLE fields.
  TYPEVMXA 35.221  zVM MONWRITE VXPRCPUP dataset corrected.
  TYPEXAM  35.063  Support for XAMSYS wrong length, XMTCPSYS NAMENODE.
  TYPEXAM  35.074  Velocity XAM SYTCPU invalid errors at vendor.
  TYPEXAM  35.164  New variables added to XAMSYS dataset.
  TYPEXAM  35.195  Support for zVPS XAM XAMPUP segment.
  TYPEXAM  35.218  XAMSYPUP dataset variables are now correctly aligned.
  TYPEXAM  35.223  zVPS/XAM extra SYTCUP with totals is now decoded.
  TYPEZDP  35.162  Support for Dell/EMC Mainframe Enabler zDP
  UTILBLDP 35.143  Options SUPPRESS enhanced, NEVER corrected.
  UTILBLDP 35.225  New EXPDBVAR/EXPDBCDE/EXPDBOUT to create subset.
  UTILBLDP 35.306  SUPPRESS=74 variable DEVN NOT FOUND ERROR.
  UTILBLDX 35.149  New BUILDJCL=YES uses IFASMFDP to save CPU time.
  UTILCMPR 35.292  Utility compares numeric variables in OLD/NEW dataset
  UTILEXCL 35.004  MXG 34.34 PDB.CICSDICT not FOUND - GET NEW UTILEXCL.
  UTILEXCL 35.023  MXG 35.01.Old Dictionary Records were not used.
  UTILEXCL 35.228  Support for 20 user character fields in CICSTRAN.
  UTILEXCL 35.293  &MXGCIEXC "exit" to correct USER CMODHEAD typos.
  UTILRMFI 35.026  Enhanced reporting if SRVCVLASS=SYSOTHER detected.
  VGETSORT 35.112  35.04 only. ERROR Truncated SORTBY (name GT 32).
  VGETxxxx 35.309  Protection for DATASET=PDB.dataset syntax.
  VMAC38   35.136  NETVIEW ID=38 unexpected S38CCALR length corrected.
  VMACSMF  35.266  SMF ID=2 SYSTEM=DUMY 14 byte records protected.
  VMXGALOC 35.033  Month begin/logic revised, MNTHKEEP zero protected
  VMXGFIND 35.117  Multiple input PDBs were read, only one was output.
  VMXGPRNT 35.120  WPS only, MXG 35.04 Only, Blank Label ERROR.
  VMXGSET  35.256  Example to read "concatenated" PDBs with PROC SQL.
  VMXGSUM  35.020  MXG 35.01. Disregard MXGWARN VMXGSUM BACKLEVEL msg.
  VMXGSUM  35.056  Correction for KEEPMNTH= (very rarely used) option.

  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at http://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE

====== Changes thru 35.309 are in MXG 35.36 dated Jan 13, 2018=========

Change 35.309  All of these macros have both a DDNAME and a DATASET
VGETFMT        parameter but if you specified DATASET=PDB.dataset they
VGETLABL       would all fail since they looked for WORK.PDB.dataset.
VGETLEN        This change looks at the code and if DDNAME is null looks
VGETVAR        at dataset and uses the first 'word' delimited by '.' of
Jan  8, 2018   DATASET as the DDNAME and the second for the DATASET. If
               there is no '.' then DDNAME is set to &MXGWORK.

Change 35.308  SAS defect in SAS 9.4 M5 PROC SQL, only M5 on z/OS, when
ASUMUOW        PROC SQL is executed after OPTION OBS=0 was set, caused
Jan  6, 2018   "SQL SET NOEXEC OPTION" error message and ERRORABEND.
               Error occurred in default ASUMUOW, but ONLY if you did
               NOT enable IMACUOW to create observations, as then, MXG
               sets OBS=0 prior to this failing PROC SQL (which had no
               prior error message than the NOEXEC and which is still
               under investigation by SAS Support:  SAS NOTE 61672.
               The circumvention is to add NOERRORSTOP to this PROC SQL
               and to the several hundred other PROC SQLs in 51 members,
               and do it now to hopefully avoid the need for a SAS fix.
               Most of the SAS examples of PROC SQL use NOERRORSTOP and
               no MXG written PROC SQL has ever had a syntax error, so
               this circumvention will likely be permanent.
                 Option ERRORSTOP is the SAS Default for batch, and it
                 determines whether PROC SQL stops executing if it
                 encounters an error; option NOERRORSTOP instructs PROC
                 SQL to execute the statements and to continue checking
                 the syntax after an error occurs.

Change 35.307  ANALDB2R fails with broken DO syntax due to Change 35.263
ANALDB2R       (MXG 35.11) which incorrectly set the count of SORTBY=
Jan  6, 2018   arguments, resulting in an error in the data steps, if
               option PDBOUT=PDB is used.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 35.306  UTILBLDP with SUPPRESS=74 variable DEVN NOT FOUND ERROR.
UTILBLDP       If you specified SUPPRESS=74 the sort of the TYPE74CA
Jan  6, 2018   dataset failed with BY variable DEVN not found.
               When UTILBLDP found RMF datasets that are needed for
               RMFINTRV are SUPPRESSED, we chose to still create them in
               WORK so that RMFINTRV would find them and not fail.
               But a change to SUPPRESS logic nulled MACRO _CDE74 and
               only 16 variables were kept (those that were INPUT in the
               other _CDEnnnn macros), and the _STY74 failed.
               This change reinstates the logic that nulls the _Sxxxx
               macro for suppressed RMF records so sorts will not fail,
               but if you also want RMFINTRV to be valid, but don't want
               the high volume TYPE74's processed, then you should use
               ZEROOBS=74 so the datasets will be created but with zero
               OBS, so RMFINTRV will be happy.

Change 35.305 -Jan 04: MXG 35.35 didn't protect LENSR=480 length, caused
VMAC42         STOPOVER if you happen to have that length/APAR.
Jan  4, 2018  -Jan 04, IBM confirmed their incorrect values and will now
               set SRLEN=160, and note that that does NOT include the
               SYNC segment's 80 bytes when present.
              -Change 35.302 in MXG 35.36 was the original change.
              -Change 36.023 in MXG 36.01 added invalid LENSR=232.

Change 35.304  New variables in TYPE71 in z/OS 2.3:
VMAC71           SMF71L8M ='MIN 1MB*FRAMES*IN CSTORE'
Jan  4, 2018     SMF71L8X ='MAX 1MB*FRAMES*IN CSTORE'
                 SMF71L8A ='AVG 1MB*FRAMES*IN CSTORE'
                 SMF71L9M ='MIN 1MB*AVAILABLE*FRAMES*IN CSTORE'
                 SMF71L9X ='MAX 1MB*AVAILABLE*FRAMES*IN CSTORE'
                 SMF71L9A ='AVG 1MB*AVAILABLE*FRAMES*IN CSTORE'
                 SMF71L10M='MIN 1MB*FRAMES*IN-USE BY*MEM OBJECTS'
                 SMF71L10X='MAX 1MB*FRAMES*IN-USE BY*MEM OBJECTS'
                 SMF71L10A='AVG 1MB*FRAMES*IN-USE BY*MEM OBJECTS'

====== Changes thru 35.303 are in MXG 35.35 dated Jan  3, 2018=========

Change 35.303  One z/OS SAS 9.4 M5 site gets SQL SET NOEXEC OPTION that
VMXGUOW        terminates the job, currently under investigation by SAS
Jan  4, 2018   support, but adding NOERRORSTOP option to the PROC SQL
               does circumvent the error, so it has been added to the
               one failing PROC SQL in hopes thats the only one needed.
               This note will be revised when more is known.

Change 35.302  SMF 42 st 5/6 with OA54112 now has three SRLEN values of
VMAC42         of 240 and 400, and 480 from OA52132/OA52133/OA61745 in
Jan  2, 2018   Change 35.289, and all three are wrong.
Jan  3, 2018   The actual length of the SR segment in each record is
Jan  4, 2018   variable, with 160 bytes if there is no SYNC segment, or
               240 bytes when the SYNC segment is present.  All three
               are now protected.  The error caused STOPOVER ABEND.
              -New variable  S42SNCONC='CONCURRENT*SYNC I/O*READ+WRITE'
               added to TYPE42SR and TYPE42DS datasets.
              -Jan 03: another incorrect SRLEN value of 320 protected in
               MXG 35.36.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 35.301  If in your ASUMUOW you defined _LDB2ACC as something
VMXGUOW        other than DB2ACCT.DB2ACCT (like DB2.DB2ACCT) and the
Dec 30, 2017   DDNAME did not exist in your LIBNAME or DD statements
               ASUMUOW would ABEND with a LIBREF not found.  Now the
               code looks for this condition, gives you an MXGWARN
               message and sets _LDB2ACC to _NULL_ so that ASUMUOW
               will run.

Change 35.300  The CPUPHYAD format could fail to be created with error
VMACRMFV       messages of overlapped values, when there were multiple
Dec 31, 2017   values of CPUPHYAD (CEC Speed), as when you change the
               number of engines for an LPAR; that error caused the
               TYPERMFV job to ABEND USER 999.
   Thanks to MP Welch, Bank of America, USA.

Change 35.299  Luminex now offers a small Linux appliance called an MDI
MDIADHOC       (Mainframe Data Integration) that provides another way to
MDIJCL         move MXG jobs off of zOS and onto an ASCII platform. Jobs
MDIJCL1        are still submitted from zOS, so your scheduling system
MDIJCL2        is still in control, but the actual processing of the SMF
MDIJCL3        data occurs on the LINUX platform, and the output PDB's
MDIJCL4        live on storage attached to the MDI.  Reports can be sent
MDIPDB         back to zOS or routed on your network wherever the MDI
MDIPDB1        can attach.  Each job uses 2-3 virtual tape devices, for
MDIPDB2        the SMF input, the SASLOG, and the SASLIST.  One site had
MDIPDB3        1TB of SMF, split when SMF was dumped into three outputs,
MDIPDB4        DB2, CICS, for each of 12 LPARS, so 36 concurrent jobs
Dec 31, 2017   processed that data in a bit less than two hours on a
Jan  6, 2018   single MDI.

               These sample members provide examples of JCL and code
               to run jobs on the MDI.  The JCL is very case sensitive
               and casing for program names must match the case as
               stored in your USERID.SOURCLIB.  Also the names and case
               of the LOG and LIST datasets in the LUMXPROC must match
               the program name.

               MDIJCL /MDIPDB  runs a basic BUILDPDB adding the 42
                               and 6156 data to the PDB using
                               UTILBLDP and BLDSMPDB wirh AUTOALOC
               MDIJCL1/MDIPDB1 runs a basic BUILDPDB adding the 42
                               and 6156 data to the PDB using
                               UTILBLDP and BLDSMPDB wirh AUTOALOC
                               and suppressing CICS and DB2 data
               MDIJCL2/MDIPDB2 runs VMXGALOC with READONLY=YES
                               (which suppresses the aging of the
                               directories) and then runs TYPS110
                               and CICINTRV.
               MDIJCL3/MDIPDB3 runs VMXGALOC with READONLY=YES
                               (which suppresses the aging of the
                               directories) and then runs READDB2.
               MDIJCL4/MDIPDB4 runs VMXGALOC with READONLY=YES
                               (which suppresses the aging of the
                               directories) and after MDIJCL2 and
                               MDIJCL3 have run will run ASUMUOW.

               MDIADHOC        JCL for adhoc reporting allows you to
                               write your program on z/OS and run the
                               MDI.
   Thanks to Chuck Hopf, Independent Consultant, USA.
   Thanks to Earl Kline, Luminex, USA
   Thanks to Paul Massengill, Luminex, USA
   Thanks to Daniel Saunders, Luminex, USA
   Thanks to David Feimer, Luminex, USA

====== Changes thru 35.298 are in this MXG 35.12 dated Dec 26, 2017=====

Change 35.298  While all MXG Variables are upper case, mixed case names
VGETFMT        are allowed, so you can easily create variable names with
VGETLABL       lower case characters, but the listed macros all failed
VGETLEN        to find those variable names. The macros are revised to
VGETVAR        UPCASE both sides of the compare without changing the
Dec 23, 2017   returned variable name.

Change 35.297  Support for BETA 93 Version 610 (update) and 620 (added).
EXTYBETK      -BETA1 blank values for BETADCR corrected and new vars:
EXTYBETL         I001PTYPE='PROTOCOL*TYPE'
EXTYBETM         I001IPADDR='IP*ADDRESS'
EXTYBETN         I001HOST  ='HOST*NAME'
FORMATS          I001PORT  ='HOST*NAME'
VMACBETA         I001QUEUE ='HOST*NAME'
VMXGINIT         I001FFPARM='HOST*NAME'
Dec 23, 2017  -Support for 620 new subtype 59 creates three datasets and
               subtype 22 record is now decoded and creates BETA22VAL:
                 TYBETK     BETA59    SUBTYPE 59 STC START/STOP
                 TYBETL     BETA59RFF SUBTYPE 59 SFF JOB STATS
                 TYBETM     BETA59SFF SUBTYPE 59 SFF JOB STATS
                 TYBETN     BETA22VAL SUBTYPE 22 VALUES

Change 35.296  A WHERE clause in PROC SQL is case sensitive, and if you
VGETLABL       create your own variable NAMEs with low case characters,
VGETFMT        your variable will NOT be found; only upper case variable
VGETLEN        names are found.  MXG does not create low case names, and
Dec 20, 2017   cannot detect them in the WHERE clause.  No code changed.

Change 35.295  Support for 164-byte DBCTL segment for CICSTRAN dataset.
IMACICDB
Dec 20, 2017
   Thanks to Ervin Claxon, CSX Technology, USA.

====== Changes thru 35.294 are in this MXG 35.12 dated Dec 20, 2017=====

Change 35.294  SMF 116 records with MQMSSSID mismatched to QWHSIDMQ
VMAC116        printed MISMATCHED message on the log for every mismatch;
Dec 19, 2017   now, only the first three are printed.
   Thanks to Denise Williers, Wipro, USA.

Change 35.293  &MXGCIEXC is a new "exit" for UTILEXCL wherein you can
UTILEXCL       correct misspellings in USER CMODHEAD field causing the
VMXGINIT       DUPLICATE CONN report (same offset has two names, usually
Dec 19, 2017   caused by a typo by the CICS SYSPROG who does the DFHMCT
               assembly of that Monitor Control Table).  This change
               circumvents the need to reassemble.  You would use:
                 //SYSIN DD *
                  %LET MXGCIEXC=
                    %QUOTE(
                           IF CMODHEAD='PSB ACTV' THEN DO;
                            PUTLOG _N_= CMODNAME= CMODHEAD=
                                   SMFPSRVR= MCTSSDRL= MCTSSDCN=;
                            CMODHEAD='PSB ACTI';
                           END;  );
                  %INCLUDE SOURCLIB(UTILEXCL);
                   _BLDDICT  _BLDEXCL  _RPTEXCL
   Thanks to Denise Williers, Wipro, USA.

Change 35.292  A utility to Compare numeric variables values in OLD and
UTILCMPR       NEW versions of the same SAS dataset, using PROC MEANS to
Dec 30, 2017   compare the value of each statistic of each variable.
                 %UTILCMPR(IN1=OLD.ZRBASI,IN2=NEW.ZRBASI);

Change 35.291  GCHART AXIS statements were made compatible with WPS
GRAFCEC        03.03.02.00.0222553, and some code was simplified and
GRAFLPAR       logic added to STOP if no obs in RMFINTRV and to not
GRAFWRKX       plot eligible times if there were none.
GRAFWRKC       The WPS graphs are printed in different order, all for a
Dec 15, 2017   particular metric, whereas SAS prints all for an LPAR.
Jun 28, 2019   While GRAFLPAR is supported, it is obsolete and GRAFCEC
               should be used instead, as it has superior reports.
               Jun 28, 2019: This statement is not true in WPS 4.1.
              -As WPS does not support SGPLOT, GRAFWRKC plots had to be
               duplicated using the GBARLINE and GCHART procedures and
               INCODE= added for data selection.

Change 35.290  Clear of _HSMPLEX macro added at end so that you can
ASUMHSM        execute ASUMHSM multiple times in a single job.
Dec 13, 2017

Change 35.289  Support for TYPE42 APARs OA52132, OA52133, and OA61734,
VMAC42         originally coded in Change 35.240, has now been revised.
Dec 12, 2017   A Subtype 5 STOPOVER was caused by new records with the
               SRLEN=480 but with actual SR Segment length of 160, or
               240 if the new SYNC segment is present, but the actual
               length of the SYNC segment is 80 bytes with APAR only
               documenting 72.  Finally, records with SRLEN=208 and no
               SYNC segment are written with only 160 bytes documented.

Change 35.288  Support for new TYPECONF GKEYPM variable and new length
VMACQACS       of QAPMDISK of 695 to align those records, although no
Dec 11, 2017   new fields are input in this iteration, awaiting doc.
   Thanks to Larry E. Hanus, DST Systems, USA.

Change 35.287 -MXG 35.10 and 35.11 RMF III ZRBASI deaccumulate was WRONG
VMACRMFV       DESIGN: should NOT replace ASICPUTA with ASICPUTA_LF, and
Dec 15, 2017   WRONG IMPLEMENTATION: insufficient QA tests, causing the
Dec 21, 2017   value in both variables to be frequently wrong, and if
               there were multiple CEC Speeds (CPUPHYAD values) the MSU
               value in ZRBASICPUMSU=ZRBASI*CPU MSU*COUNT was wrong.
              -This change restores the original ASICPUTA value and the
               deaccumulated higher resolution value is in ASICPUTA_LF
               so YOU can choose to use the variable of YOUR choice.
              -This change also adds variable CPC_CECNAME to ZRBLCP and
               ZRBLCPLPAR datasets, and creates a format for CPUPHYAD
               lookup (by SYSPLEX SYSTEM) from ZRBCPU to pass CPUPHYAD
               into the ZRBASI dataset for MSU calculations.
              -Duplicate ASI records for the same task in an interval do
               exist, as when a task changes it's JOB name, and they are
               visible in RMF III reports, but the deaccumulate can be
               a missing value as IBM has not provided a way to identify
               which was the first observation and which was the second.
               In addition, records with seconds of CPUTCBTA value and
               microseconds for CPUTCBTA_LF have been observed, so the
               value of using CPUTCBTA_LF needs to be examined in your
               data.  These issues are open with RMF development, and
               this text will be updated when more is known.
              -Dec 21: Invalid INPUT for PHYCPUAD message had no impact
               but was corrected; was printed when no ZRBCPU matched.

   Thanks to MP Welch, Bank of America, USA.

Change 35.286  MXG variable IOTMNOCA, uncaptured IO Connect Time in 30s,
BUILD005       was incorrectly calculated in BUILDPDB and SMFINTRV using
BUIL3005       SMF30AIC-IOTMTOTL instead of -IOTMDASD causing negative
SMFINTRV       values.  But SMF30AIC is the connect time for the ASID
Dec  6, 2017   and Dependent Enclaves, but does NOT include FICON chans
               which could also cause negative values.
   Thanks to Randy Hewitt, DXC Technology, USA.

Change 35.285  Support for Container Pricing in RMF 72 records creates
EXTY72TR       new TYPE72TR dataset for Tenant Resource Group that are
IMAC7072       added by APAR OA52694.  TYPE72TR has the same variables
VMAC7072       that are in TYPE72GO with new variables for TRG
VMAC79           R723GGTI='TENANT*IDENTIFIER'
VMXGINIT         R723GGTN='TENANT*NAME'
Dec  7, 2017     R723GGKY='TENANT*SOLUTION*ID'
                 R723GGTF='TENANT*RESOURCE*GROUP?'
               and these variables added to both TYPE72GO and TYPE72TR:
                 R723CPA_ACTUAL ='PHYSICAL*CPU*ADJUSTMENT*FACTOR'
                 R723CPA_SCALING='SCALING*FACTOR*FOR*R723_ACTUAL'
              -Flag variables added to TYPE792 and TYPE795 dataset
                 R792FLG32='R792RGRP*IS A*TRG?'
                 R795FLG6='R795RGRP*IS A*TRG?'

Change 35.284 -MXG 35.11 inserted statements to create ZRBCPUxxxMSU vars
VMACRMFV       incorrectly inside MACRO _EZRBCPU and _EZRBLCP definition
Dec  6, 2017   causing UNINIT variable if you had tailored EZRBCPU.
Dec  8, 2017  -Missing values for ZRBCPUZIPMSU were corrected.  The new
Dec  9, 2017   ZRBLCPLPAR dataset requires the CPUG3 CPCDB, and SSHG3
               tables, or ASMRMFV Table IDs of CPU and CPC, since SSH is
               always selected.
   Thanks to MP Welch, Bank of America, USA.

Change 35.283  Support for APAR OA52828 which allows customization of
VMAC0203       the size of the SMF Temporary Buffer used to hold SMF
VMAC7          data during IPL processing.
VMAC23         TYPE0 dataset new variable
Dec  5, 2017     SMF0TBUF='SMFTBUFF*PARAMETER*SPECIFIED*MEGABYTES'
               TYPE7 dataset new variable
                 SMF7TBLS='BYTES LOST*DURING SMF*INITIALIZATION';
               TYPE23 dataset new variable
                 SMF23MBU='MAX BYTES*STORED IN*SMFTBUFF'

Change 35.282  A new set of variables added to TYPE70 and RMFINTRV to
VMAC7072       capture the number and usage of IIP, IFL, and ICF CPS
VMXGRMFI       for the platform (CEC).
Dec 5,2017       PLATZIPCPUS - The number of IIPs on the CEC
                 PLATZIPBUSY - The total % busy of all the IIPs
                 PLATIFLCPUS - The number of IFLs on the CEC
                 PLATIFLBUSY - The total % busy of all the IFLs
                 PLATICFCPUS - The number of ICFs on the CEC
                 PLATICFBUSY - The total % busy of all the ICFs

Change 35.281  TACI802 dataset variable FINTIME was not converted from
VMACMVIP       GMT to LOCAL Time zone.
Dec  4, 2017
   Thanks to Paul Volpi, UHC, USA.

Change 35.280  The Exit member EXDB2STS and _EDB2STS macro are now used
VMACDB2        to give control of the output of PDB.DB2STATS; previously
Dec  6, 2017   defined but not used.
   Thanks to Scott Barry, SBBWorks Inc., USA.

====== Changes thru 35.279 are in this MXG 35.11 dated Dec  1, 2017=====

Change 35.279  Support for Dec 2017 z14 CPU MF formula update.
ASUM113        The EXTND158 counter was moved from L3P to L4LP.
VMAC113       -John's updated formulas are available at
VMACVMXA
Nov 30, 2017
   http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TC000066

Change 35.278  Correction for TMS Stacked Tape Files; these variables
TYPETMS5       were not retained from the first DSNB record into the
VMACTMS5       "CHANGED" records so they were incorrect:
Nov 30, 2017     RFILSEQ RLRECL RBLKSIZE RRECFM RSTPNAME RFILPERC;
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 35.277  Support for IFCID=225 new fields in DB2STAT4 dataset:
VMACDB2         QWA225PRISTG_PAGE   /**DBM1*PRVT ELIG*PGSTEAL*/
Nov 28, 2017    QWB225PRISTG_PAGE   /**DIST*PRVT ELIG*PGSTEAL*/
Dec  6, 2017   IBM DSECT notes these fields contain:
                 Number of Private discarded pages eligible for Page
                 Steal. Currently backed frames which are still charged
                 to DB2, minus this count, is the true REAL Storage
                 usage at this time.
                 I can not find the "currently backed frames" fields and
                 have asked IBM for help; this note will be updated when
                 the correct fields are known so the usage variable can
                 be created.
               IBM DB2 Support response Nov 30:
                 All IFCID225 fields are described in the dataset
                 'DSNB10.SDSNIVPD(DSNWMSGS)'. It does not look like we
                 capture that statistic. The values are captured from
                 RMF and are included with DB2 statistics records to
                 assist with reporting. Anything not contained will
                 still be available in RMF.
              -Dec 6: UNINIT PRISTGDPAGE and correct spell as _PAGE.


Change 35.276  Support for CICSTRAN User field RFSEMP01/RFSDATA creates
IMACICWX       seven variables, RFSEMP01F1-RMSEMP01F7.
IMACAAAA
UTILEXCL
VMAC110
Nov 27, 2017

Change 35.275  Addition of TYPE70TR dataset required protection in the
ANALRMFR       PDB=SMF part of the program to prevent  the
Nov 26, 2017      ERROR: No dataset open to look up variables.
               when the _STY70TR was executed without prior build.

Change 35.274  Support for APAR OA53110 adds new variables:
VMAC42          S42DSRRU='AVG RESPONSE*RANDOM*READ*CACHE'
Nov 22, 2017    S42DSRSU='AVG SERVICE*RANDOM*READ*CACHE'
                SMF42IFW='AVERAGE*FAST-WRITE WAITS*PER MINUTE'
                SMF42IHR='AVERAGE*HIT*RATIO'

Change 35.273  Support for APAR OA50761 adds new R7410FLG='Y' if the
VMAC74         resource is Virtual Flash Memory.
Nov 22, 2017

Change 35.272  Change 34.151 set SYSLAST to the value of OUTDATA so that
VMXGSUM        subsequent PROC steps would automatically find the output
Nov 22, 2017   of VMXGSUM as the last dataset created, but if you added
               any dataset options like (KEEP or (INDEX then while the
               dataset was correctly created, an error message was
               generated that either told you the dataset name was
               invalid or that it exceeded 42 bytes depending on the SAS
               version you were running. NOTE: there must be a space
               between the dataset name and any options you choose to
               specify.
   Thanks to Robert Gilbert, BNP Paribas Fortis, BELGIUM.

Change 35.271  Support for Container Pricing in SMF 89 records creates
EXTY89R1      New variables in TYPE89 and TYPE892:
EXTY89R2         SMF89COREMODECP='CPUS*ACTIVE*ON CP*CORE'
EXTY89TI         SMF89COREMODEZAAP='CPUS*ACTIVE*ON ZAAP*CORE'
IMAC89           SMF89COREMODEZIIP='CPUS*ACTIVE*ON ZIIP*CORE'
VMAC89         New variables in TYPE892:
VMXGINIT         SMF89CURREGS  ='INSTANCES*OF CURRENT*REGISTRATIONS'
Nov 27, 2017     SMF89TRGREGS  ='INSTANCES*OF CURRENT TRG*REGISTRATIONS'
                 SMF89DELTAREGS='INTERVAL*DELTA*CURRENT*REGISTRATIONS'
                 SMF89DELTATRG ='INTERVAL*DELTA*TRG*REGISTRATIONS'
               New dataset TYPE89TI 'INTERSECTION TENANT RESOURCE GROUP'
                 PRODOWNR= 'SMF89TCPO PRODUCT*OWNER'
                 PRODNAME= 'SMF89TCPN PRODUCT*NAME'
                 PRODVERS= 'SMF89TCPV PRODUCT*VERSION'
                 PRODQUAL= 'SMF89TCPQ PRODUCT*QUALIFIER'
                 PRODID  = 'SMF89TCPI PRODUCT*ID'
                 SMF89TIPO 'INTERSECTING*PRODUCT*OWNER'
                 SMF89TIPN 'INTERSECTING*PRODUCT*NAME'
                 SMF89TIPV 'INTERSECTING*PRODUCT*VERSION'
                 SMF89TIPQ 'INTERSECTING*PRODUCT*QUALIFIER'
                 SMF89TIPI 'INTERSECTING*PRODUCT*ID'
                 SMF89_TRG 'TENANT*RESOURCE*GROUP'
                 SMF89TCFG 'TENANT*USAGE*ENTRY*FLAGS'
                 SMF89TCCT 'TENANT*PRODUCT*INTERSECT*CP TCB TIME'
                 SMF89TCZT 'TENANT*PRODUCT*INTERSECT*ZIIP TIME'
               New dataset TYPE89R1 'TENANT RESOURCE GROUP DATA'
                 SMF89TIPO='INTERSECTING*PRODUCT*OWNER'
                 SMF89TIPN='INTERSECTING*PRODUCT*NAME'
                 SMF89TIPV='INTERSECTING*PRODUCT*VERSION'
                 SMF89TIPQ='INTERSECTING*PRODUCT*QUALIFIER'
                 SMF89TIPI='INTERSECTING*PRODUCT*ID'
                 SMF89_TRG='TENANT*RESOURCE*GROUP'
                 SMF89TCFG='TENANT*USAGE*ENTRY*FLAGS'
                 SMF89TCCT='TENANT*PRODUCT*INTERSECT*CP TCB TIME'
                 SMF89TCZT='TENANT*PRODUCT*INTERSECT*ZIIP TIME'
               New dataset TYPE89R2 'TENANT RESOURCE GROUP DATA'
                 SMF89TIPO='INTERSECTING*PRODUCT*OWNER'
                 SMF89TIPN='INTERSECTING*PRODUCT*NAME'
                 SMF89TIPV='INTERSECTING*PRODUCT*VERSION'
                 SMF89TIPQ='INTERSECTING*PRODUCT*QUALIFIER'
                 SMF89TIPI='INTERSECTING*PRODUCT*ID'
                 SMF89_TRG='TENANT*RESOURCE*GROUP'
                 SMF89NRTRG'CURRENT*TRG*REGISTRATIONS'

Change 35.270  Support for Container Pricing in RMF 70 records creates
EXTY70TR       new TYPE70TR dataset with these Tennant Resource Group
VMAC7072       variables in APAR OA52694:
VMXGINIT         TRG_NAME   ='TENANT*RESOURCE*GROUP*NAME'
Nov 22, 2017     TRG_DESC   ='TENANT*RESOURCE*GROUP*DESCRIPTION'
                 TRG_TNTID  ='TENANT*IDENTIFIER'
                 TRG_TNTNAME='TENANT*NAME'
                 TRG_SBID   ='TENANT*SOLUTION*ID'
                 TRG_SUCP   ='TENANT*CP*MSU*UNITS'
                 TRG_SUIFA  ='TENANT*ZAAP*MSU*UNITS'
                 TRG_SUSUP  ='TENANT*ZIIP*MSU**UNITS'
                 TRG_SULAC  ='TENANT*CP 4HR*AVERAGE*MSU'

Change 35.269  Support for CICS User field USERPRC1/WANLUPRC.
IMACAAAA
IMACICWV
PRODTEST
UTILEXCL
VMAC110
Nov 21, 2017

Change 35.268  SAS 9.1.3 SP4 (SAS (R) 9.1 (TS01.01M3P02022006) failed
SAS*           with  ERROR: OBTAIN FAILED FOR FILE SMF, RC=24. because
Nov 19, 2017   the new parm EATTR=OPT was enabled for non-VSAM datasets,
               so they can reside on EAV volumes, but that was not
               supported until SAS 9.2
   Thanks to Jeffery Kirsch, Compuware, USA.

Change 35.267 -DB2 Netezza IDAA variables Q8STDSKB and Q8STDSKU were
VMACDB2        both wrong; Q8STDSKU was incorrectly multiplied and DSKB
Nov 17, 2017   was missing that multiplication.
              -Variables Q8STINSC/UPDC/DELC/DRPC/CRTC/CMTC/RBKC/OPNC
               WERE ALL WRONGLY SET EQUAL TO Q8STACPU.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.266  SMF ID=2 SYSTEM=DUMY "SMF Signature Enabled" records that
VMACSMF        are only 14 bytes were still created after APAR OA50483
Nov 17, 2017   was installed, causing INPUT STATEMENT EXCEEDED error, as
               MXG expected these records to contain additional data in
               either a subtype 1 or 2 record.  Now, MXG tests for the
               length=14 and deletes these 'DUMY' records, silently.
               The APAR reported the exposure was only when Logstream
               data is read, and infrequently.
               In IBM's unstated defense, the "subtypes are valid" bit
               wasn't turned on, justifying the original 14 byte length,
               but MXG had keyed off that unique system name of DUMY.
               If you see the DUMY in a hex dump, you can circumvent
               with  MACRO STOPOVER MISSOVER %  as your first //SYSIN.
               to prevent the ABEND until you have this VMACSMF update.
               Update: See Change 38.033.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Brian D. Peterson, UHC, USA.
   Thanks to Donald R. Striegel, UCH, USA.

Change 35.265  MXG 35.10.  BPHITRAT always missing in DB2STATB because
VMACDB2        line 4057 (BPHITRAT=.;) should have been deleted.  You
Nov 14, 2017   can recalculate in your reporting using
                 IF QBSTGET GT 0 THEN BPHITRAT=
                   (QBSTGET-(QBSTRIO+QBSTSPP+QBSTDPP+QBSTLPP))/QBSTGET;
                 ELSE BPHITRAT=.;
   Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.

Change 35.264  CICS interval statistics in the Dispatcher Records, CICDS
VMAC110        dataset, have the sum of DSGTDT+DSGTWT, DISP+WAIT time
VMXGCICI       that is greater than the interval DURATM, with DSGTWT as
Nov 14, 2017   much as 5900 seconds for a 3600 second interval (and the
               DSGTDT in those segments are milliseconds or less); that
               sum was used calculate STARTIME and DURATDS.  Now, DURATM
               is stored in DSGTWT and used for calculations, and then
               DSGTWT=DURATM-DSGTDT recalculates the possible wait time.
               See Change 36.076.
              -The message "ERROR: IF YOU USE CICINTRV..." when MXG
               detected the condition (DURATM GT INTERVAL REQUESTED)
               is change to "MXGWARN:..." as few actually use CICINTRV.
              -This data has only been seen from ancient CICS/TS 4.2.
   Thanks to Ed Wieszczek, Zions Bank, USA.

Change 35.263  If you didn't specify a SORTBY= parameter for the ACCOUNT
ANALDB2R       report, it could fail trying to resolve a macro variable
Nov 10, 2017   that did not exist.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 35.262  New DB2 zPARMS added include
FORMATS         QWP4MUDI='MORE*UNION*DISTRIBUTION' which is decoded by
VMAC102                  a new format
Nov 22, 2017    QWPRSTACS='STATCKGSRT'
                QWP4BSACP='ALTERNATE*CP'
                QWP4UDBSG='UTIL*DBBSG'
                QWP4ULBSG='UTIL*LGBSG'
                QWP4CYFR ='COPY*FAST*REPLICATION'
                QWP4DDLM ='DDL*MATERIAL*IMMED*PEND'
                QWP4CDSTL='CACHDYN*BOTH*CAPTURE*LOAD*NONE'
                QWP4ZHYPL='ZHYPERLINK*ENABLE*DISABLE*BDATABASE'

Change 35.261  Execution run time for TYPETPMX halved by restructuring
VMACTPMX       the 700 WHEN clauses into 13 subgroups of first letter of
Nov  8, 2017   the WHEN argument text value.
   Thanks to Kurt Gramling, TSYS, USA.

Change 35.260  BVIR History file updated for formats for 3.3 media codes
FORMATS        and BVIR302 fields were corrected.
VMACBVIR
Nov  9, 2017
   Thanks to  Spain.

Change 35.259 -RMF III Interval MSU variables in ZRBASI/ZRBCPU/ZRBLCP
VMACRMFV       with these counts of Million Service Units
Nov  8, 2017     ZRBASICPUMSU='ZRBASI*CPU MSU*COUNT'
Nov 12, 2017     ZRBCPUCPUMSU='ZRBCPU*CPU MSU*COUNT'
Nov 18, 2017     ZRBCPUZIPMSU='ZRBCPU*ZIP MSU*COUNT'
Nov 24, 2017     ZRBLCPCPUMSU='ZRBLCP*CPU MSU*COUNT'
Nov 30, 2017   where the Software MSU Coefficient CPUPHYAD is used by
                 ZRBCPUCPUMSU=CPUPHYSI*CPUPHYAD/1000000;
                 So, an LPAR in a CEC with CPUPHYAD=20000, with the CPU
                 Partition Dispatch time of 15 seconds in an interval,
                 would have an MSU Count = (15*20000)/1000000 =0.3 MSU.
                 If the interval duration was one minute, the IBM ACT
                 "Actual" MSU on the RMF III CPC report, a projection
                 of this interval's value to an hourly total as if all
                 intervals were this value, would be 60*0.3=18 MSU per
                 hour, which is the value in this new variable:
                 ZRBLCPCPUMSUHR='ZRBLCP*IBM ACT MSU*PROJECTED*HRLYMSU'
              -Dataset ZRBLCP contains data on ALL LPARS in a SYSPLEX,
               reading data from only one SYSTEM in that SYSPLEX, but it
               has an obs for each LCPUADDR in each LPAR.  This change
               creates new ZRBLCPLPAR dataset when ZRBLCP is sorted,
               with the LPAR totals for each LCPUPRTY engine for each
               interval, but there is no 4HR AVG MSU variable in ZRBLCP.
               To create ZRBLCPLPAR the CPUG3, CPCDB and SSHG3 tables
               are needed.
              -The actual IBM 4HR MSU (CPUAVG4H) is in ZRBCPU dataset
               at one minute or even 30 second intervals, but you have
               to read the data from every system to populate ZRBCPU for
               all LPARs.
              -MXG 35.10, the deaccumulation of the six ZRBASI variables
               (actually added by z/OS 2.2) was not sufficiently tested
               and could have incorrect values in these variables:
              ASICPUTA_LF ASITCBTA_LF ASIIOCNT_S ASITRCA_S ASITET ASITRT
               for jobs that have duplicate names with different ASID-NR
               and only if you used TYPSRMFV or _SZRBASI to sort ZRBASI.
               The new-in-35.10 MXG deaccumulation of CPU_LF fields by
               _SZRBASI failed to include the ASID number, PERIOD, and
               JCTJOBID to deaccumulate those six variables.
               The ZRBASI dataset created by TYPERMFV was not in error.
              -As documented in Change 35.249, the value in ASICPUTA is
               is larger with 35.10 because the higher resolution CPU in
               ASICPUTA_LF is stored in ASICPUTA, with ASICPUTA_ORIG
               keeping the original lower value.
              -Nov 30: LPARNAME in ZRBCPU is now always populated.

Change 35.258  35.09-35.10, Macro Language error, missing double periods
ANALID         in line   ANALID: &PDBMXG..SMFRECNT DOES NOT EXIST;
Nov  7, 2017

Change 35.257  Power Exchange User SMF INPUT STATEMENT EXCEEDED ERROR;
VMACPOEX       the record should have 21 POEX segments but has only 3,
Nov  7, 2017   and the last segment is only 90 versus 95 bytes.
               This change will be updated when the vendor's records are
               correct.  This was from 9.6.1, but I've recently read
               that version's records with no errors.
   Thanks to Tracey Davidson, USBank, USA.

Change 35.256  No code change, but a new example using PROC SQL to read
VGETDDS        "concatenated" PDB data libraries.
VMXGSET         // EXEC MXGSASV9
Nov  7, 2017    //PDB1 DD
                //PDB2 DD
                %VGETDDS(DDNAMES=PDB: );
                DATA MYVIEW/VIEW=MYVIEW;
                %VMXGSET(DATASET=MNTHJOB);
                PROC SQL;
                SELECT YEAR(DATEPART(JINITIME)) AS MYYEAR LABEL= 'YEAR',
                MONTH(DATEPART(JINITIME)) AS MYMONTH LABEL = 'MONTH',
                SYSTEM, JOB, TYPETASK ,
                ACCOUNT1, SUM(NORMCPU) AS TOTALNORMCPU  ,
                JOB FROM MYVIEW
                WHERE JOB LIKE 'MYJOB%'
                  AND MONTH(DATEPART(JINITIME)) = 09
                  GROUP BY JOB, SYSTEM ;
   Thanks to Paul W Schreiber, AT&T, USA.

====== Changes thru 35.255 are in this MXG 35.10 dated Nov  6, 2017=====

Change 35.255 -MXG 35.10, Change 35.240 DIVIDE BY ZERO error when the
VMAC42         IOCCOUNT=0 in TYPE42SR, now protected, but had no impact
Nov  6, 2017   on the TYPE42SR dataset, DCMEPCT still missing.
Nov 14, 2017  -Subtype 5 INPUT STATEMENT EXCEEDED when 68 bytes were
               added for the SYNC segment, but SYNC Offset was zero.
   Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.
   Thanks to Stan Adriaensen, AXA-Tech, BELGIUM.

====== Changes thru 35.254 are in this MXG 35.10 dated Nov  6, 2017=====

Change 35.254  Variables QW0225_ECSA_aaaa and QW0225_ESQA_aaaa were
VMACDB2        incorrectly multiplied by 4096.
Nov  5, 2017
   Thanks to Rick Southby, IAG, AUSTRALIA.

Change 35.253  Some of the macro variables coming back from  PROC SQL
PDBAUDIT       are longer than the 262 character literal length since
Nov  5, 2017   the spaces count and could generate spurious messages
               particularly in the QA stream.

Change 35.252  MXGWARN message variable JESNR missing value and blank
VGETJESN       TYPETEST is suppressed for records with SUBSYS='SMS' and
Nov  4, 2017   JCTJOBID='INIT'; variable values are unchanged as those
               records for tasks in initiation have neither.
               VGETJESN already suppressed warning for JCTJOBID='MSTR'.

Change 35.251  Support for CICS/TS 5.4 Statistics STID=21, adds BMS 3270
EXCICASG       counters to the CICVT (VTAM) dataset, new STID=149 record
VMAC110        creates new CICASG Statistics for the AS Domain.
VMXGINIT
Nov  3, 2017
   Thanks to Perry Lim, Union Bank, USA.

Change 35.250  Support for Thruput Manager fields JBAACT JBDEA JLIMT and
VMACTPMX       REQUIRED.
Nov  4, 2017
   Thanks to Kurt Gramling, TSYS, USA.

Change 35.249 -Support for z/OS 2.3 RMF III CPUG3 record dataset ZRBCPU
VMACRMFV       changed CPUHOOFF offset value caused some variables to
Nov  3, 2017   be wrong, notable the Capacity Group Name and adjacent.
              -Variable ASICPUTA in ZRBASI dataset will be larger with
               this change, as IBM has added new accumulated ASICPUTA_LF
               (long float) field with higher resolution, which is now
               deaccumulated and REPLACES ASICPUTA's original value.
               New variable ASICPUTA_ORIG contains the original value.
               The ASICPUTA_LF was 18% larger than ASICPUTA_ORIG.
              -These accumulated fields are also now deaccumulated:
                 ASITET  ASITRT  ASITCBTA_LF ASIIOCNT_S ASITRCA_S
   Thanks to Kurt Gramling, TSYS, USA.

Change 35.248  Variables QWA225SS and QWB225SS are now kept in DB2STATS,
VMACDB2        and two new-in-DB2 V12 REAL2G variables are input/kept.
Nov  1, 2017    QWA225SS='DBM1*31-BIT*IN-USE*SYSTEM*AGENTS'
                QWB225SS='DIST*31-BIT*IN-USE*SYSTEM*AGENTS'
                QWA225HVPAGESINREAL2G='DBM1*HVPAGES*IN*REAL2G'
                QWB225HVPAGESINREAL2G='DIST*HVPAGES*IN*REAL2G'
   Thanks to Rick Southby, IAG, AUSTRALIA.

Change 35.247  Removed a debugging statement and corrected an 'uninit'
ANALDB2R       variable message
Oct 30, 2017  -If you used INTERVAL=, BEGTIME=, or ENDTIME= and did not
               specify a SORTBY= the default is BY QWHSSSID QWHCPLAN and
               QWHCAID, so datetime variable QWACBSC is not carried
               forward and no accounting report was created; this could
               also cause duplicate variables in SORTBY list if QPACPKIC
               PACKTYPE or QWHSTCK were in the tailored SORTBY list.

Change 35.246 -SMF 113/HIS formulas for the z14 were updated by IBM with
ASUM113        L3P changed, which is also impacted the RNI value which
VMAC113        uses L3P.
VMACVMXA      -The z13 code set the SM1132SP Speed value to 5000 because
Oct 27, 2017   the value was wrong, but that code was removed for the
               z14, as those records contain the expected 5208 MHz.
              -John's updated formulas are available at
   http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TC000066
   Thanks to John P. Burg, IBM, USA.
   Thanks to Nick Varley, SYNCSORT, USA.

Change 35.245  SMF 119 Subtype 81 INPUT STATEMENT EXCEEDED because MXG
VMAC119        expected full 4096 length for DIRU and DORU fields; now
Oct 27, 2017   DILEN and DOLEN length of text are used for $VARYING4096.
   Thanks to David Campbell, Sun Trust, USA.

Change 35.244  New parameters TRNDKEEP and SPINKEEP added to let you
VMXGALOC       control how many copies of each are retained.
Oct 27, 2017

Change 35.243  MOBILE WORK CSV files for CICS/TS 5.3+ were missing the
FORMATS        CICS Product Number; format MGIBMCI needed a new entries
Nov  1, 2017   with 70='5655-Y04' and 71='5655-Y04'.
               Other related formats were also updated.

   Thanks to Patrick J. Holloman, Navy Federal Credit Union, USA.

Change 35.242  Support for Power Exchange Version 10.1.1.
VMACPOEX
Oct 25, 2017
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 35.241 -Typo, NEDNC=SMFTIME should be NENDC=SMFTIME.
ANAL119       -Uninit variables and incorrect date corrected 12/31.
Oct 23, 2017
Dec 31, 2017
   Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
   Thanks to Earl Kline, Luminex, USA.

Change 35.240  Support for APARs OA52132, OA52133, and OA61734, some of
VMAC42         which fields were listed in the z/OS 2.3 SMF Manual.
Oct 23, 2017   CODE HAS NOT BEEN TESTED WITH NEW RECORDS.
               See Change 35.288.

Change 35.239  MXG 34.09. RMFINTRV fails with macro GOT70PR not resolved
VMXGRMFI       when the PDB did not contain the expected PDB.TYPE70PR.
Oct 22, 2017
   Thanks to Tracy Davidson, USBank. USA.

Change 35.238  A typo BASEWEEJ should have been BASEWEEK - only affected
VMXGALOC       the aging off of old WEEK directories.
Oct 22, 2017

Change 35.237  Internal utility; if the LIBNAME being searched was empty
VGETSORT       a spurious message about an invalid DO loop was printed.
Oct 20, 2017

Change 35.236  Duplicate SMF 70 Subtype 1 records can cause bad results
DEDUP701       due to the Split 70s duplicates, added SMT merges and the
Oct 20, 2017   multiple datasets that create TYPE70 that prevent the use
               of the normal NODUP in the final sort to remove dupes.
               Hash logic from ANALDUPE is executed in the IMACFILE exit
               as SMF is read, examining only SMF 70 subtype 1, deleting
               duplicates prior to their input and reporting the first
               three DUPES on the log if any were found.
               You enable the 70 subtype 1 duplicate removal with
                 //SYSIN DD *
                 %let macfile=%quote(%include sourclib(dedup701););
   Thanks to MP Welch, Bank of America, USA.
   Thanks to Garth Bloomfield, DXC Technology, AUSTRALIA.
   Thanks to Peter Gray, DXC Technology, AUSTRALIA.

Change 35.235  RMF III ZRBCPU is enhanced with CPC_HOMEFLAG decoded:
VMACRMFV        CPCCAPAVAIL='CAPACITY*VALUES*AVAILABLE?'
Oct 20, 2017    CPCVARYCPU ='VARYCPU*OPTION*SET?'
                CPCLPARMGT ='WLM*LPAR*MANAGEMENT*ENABLED?'
                CPCMTMETRIC='MULTI*THREADING*METRICS*AVAILABLE?'
                CPCABSMSU  ='ABSMSU*CAPPING*OPTION*SET?'
   Thanks to MP Welch, Bank of America, USA.

Change 35.234  BUILDPDB/BUILDPD3 exit EXPDBKEP lets you KEEP= or DROP=
BUILD005       all variables in JOBS/STEPS/SMFINTRV/NJEPURGE/PRINT.
BUIL3005       Macros _KDBJOBS/_KDBSTEPS/_KDB30UV/_KDBNJEP/_KDBPRIN
EXPDBKEP       were defined but were not referenced.  You put all your
Oct 21, 2017   definitions in EXPDBKEP in your USERID.SOURCLIB using
                    MACRO _DBJOBS  KEEP= A B C D . . %
                  or
                    MACRO _DBJOBS  DROP= A B C D . . %
               and then you instantiate them in BUILDPDB SYSIN using
                   %LET MACKEEP= %QUOTE( %INC SOURCLIB(EXPDBKEP); );
                   %INCLUDE SOURCLIB(BUILDPDB);
   Thanks to Thomas Orlando, UBS, SWITZERLAND.

Change 35.233  Protection for truncated SMF 80 Extended Relocate segment
VMAC80A        with 12 fields expected but only 10.5 fields are in the
Oct 19, 2017   SMF record.  MXGERROR for the first three instances.
               Record may have been truncated by ftp processing.

Change 35.232  Documentation.  The zIIP CPU time for BMC Utilities is
TYPE30         not recorded in SMF 30 records for the JOB/ASID of the
Oct 19, 2017   Batch Utility job, but is in the 30s for BMC's XBM
               Started Task.  IBM Utilities do record zIIP CPU time in
               the SMF 30 for the batch job.

Change 35.231  Macro variable RACFDIRECTED allows DELETE of RACF records
VMAC80A        using the SMF80DTP/RACFTYPE=44 relocate segment, using
VMXGINIT       segments with the subkeyword/EV44TXT='ORIGINATED_FROM'.
Oct 18, 2017   MXG now populates variables NODE80A USERID and DIRECTED
Dec  7, 2017   with values of DIRECTED_BY_AT, DIRECTED_BY_ONLY_AT or
               DIRECTED_AUTOMATICALLY.  You would use this syntax:
                  %LET RACFDIRECTED=
                     %QUOTE(  IF NODE80A IN ('NODE1','NODE2')  AND
                              USERID IN ('USERID1','USERID2')
                              THEN DELETE; ) ;
                  %INCLUDE SOURCLIB(TYPS80A);
              -Dec 7: NODE was changed to NODE80A to avoid a conflict if
               TYPE80A and TYPE6 were used together.  The three fields
               are created for the test but are not kept.
   Thanks to Kerry J. Sommers, John Deere, USA.
   Thanks to Joan T. Keemle, John Deere, USA.
   Thanks to Francois Vancoppenolle, P&V Group, BELGIUM.

Change 35.230 -GRAFCEC adds graphs of CPU and zIIP hours and the 4HR MSU
GRAFCEC        Avg consumption.  GRAFCEC now creates all of the charts
GRAFLPAR       previously produced by GRAFLPAR, plus some new ones, thus
Oct 17, 2017   GRAFLPAR obsolete.  And GRAFCEC now allows multiple input
               libnames.  Dataset ASUMCELP must exist in the first data
               library and must have non-zero obs, or GRAFCEC will die
               with a dataset not found error.
              -GRAFLPAR error if you specified PDB=PDB PDB1 and using
               SAS/GRAPH, it failed trying to write the graphics catalog
               to two libnames. Catalog will only be written to the
               first of the two or more libnames specified by PDB=.
               But note GRAFLPAR is now obsolete, replaced by GRAFCEC.
   Thanks to Daniel Mckinzie, Zions Bank, USA.

Change 35.229 -Revised logic for DB2 Statistics Datasets deaccumulation
VMACDB2        now protects for lost/skipped intervals of input data for
Oct 23, 2017   for these datasets:
                    DB2STATB DB2STSBP DB2GBPST DB2NETZA
                    DB2STAT5 DB2STAT0 DB2STAT1 DB2STATR.
               Large gaps (like missing a day) with repeated values in
               QWHSISEQ caused large DURATM which caused BEGTIME to be a
               different date.  Since DB2 SMF 100 stat records can only
               be written at one minute intervals, MXG now detects a gap
               of more than 120 second as the start of a new interval,
               and it is DIF()'d but not output.
                 However, neither BEGTIME nor ENDTIME are on the minute
                 DURATM values of a few seconds up to 100 seconds have
                 been observed, hence the test value of 120 seconds.
              -DB2STATS Variables QISEDPSL QISEDPSC QISEDPSM QISEDPSF
               were incorrectly input with DB2 V11; the test GE 32 is
               corrected to GE 232 for their input.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.228  Support for up to 20 user character fields in CICSTRAN,
IMACICAU       USERCHAR1-USERCHAR20, increased from only nine fields.
IMACICBU
IMACICCU
IMACICDU
IMACICEU
IMACICFU
IMACICGU
IMACICHU
IMACICIU
IMACICJU
IMACICKU
IMACICLU
UTILEXCL
VMAC110
Oct 11, 2017

Change 35.227  If you specified RMFINTRV=NO many bad things could have
UTILBLDP       happened.  First, if you did not also suppress one or
Oct 17, 2017   more of the records used by BUILDPDB, then RMFINTRV=NO
               was ignored because the code looking for it was inside
               of the SUPPRESS= logic.  If you DID suppress something
               then you could have hit a problem with a missing %
               sign on a MACRO.
              -User ABENDS are replaced by messages on the OUTFILE to
               tell you there was an error that terminated  UTILBLDP.
              -if you suppress type 26 without specifying J2 or J3
               it will now generate an error
              -if you useradd 102 without specifying the subtype
               it will now generate an error
   Thanks to Trevor Holland, ANZ, AUSTRALIA.

Change 35.226  Unused Change Number.

Change 35.225  WARNING: VARIABLE YSTEM NEVER REFERENCED because SYSTEM
VMACTMO2       was missing the first S.
Oct 10, 2017
   Thanks to Derek Purves, FDIC, USA.

Change 35.225 -New UTILBLDP Parameters EXPDBVAR/EXPDBCDE/EXPDBOUT added
UTILBLDP       to enable more tailoring and specifically to make it easy
Oct  8, 2017   to create a new dataset with a subset of variables and
               obs from an existing MXG dataset, like this example to
               create new CICSTRIM dataset with a subset of CICSTRAN
               variables, and output only for selected CICS APPLIDs:
                 USE EXPDBVAR TO BUILD A SUBSET OF CICSTRAN DATA FOR
                 REPORTING PURPOSES

                 %UTILBLDP(OUTFILE=INSTREAM,
                   BUILDPDB=YES,
                   OUTFILE=INSTREAM,
                   EXPDBVAR=
                    CICSTRIM (KEEP=APPLID TRANNAME STRTTIME ENDTIME
                      CPUTM ELAPSTM TASKNR USER ABCODE),
                   EXPDBOUT=
                    PROC SORT DATA=CICSTRIM OUT=PDB.CICSTRIM;
                    BY ENDTIME APPLID TRANNAME TASKNR;,
                   MACKEEPX=
                     MACRO _ECICTRN
                       IF (RTYPE= 'E3'X OR RTYPE = 'T')
                       AND APPLID
                         IN('CICSZFN3','CICSAUD3','CICSDBS')
                       THEN OUTPUT CICSTRIM;
                      OUTTPUT _WCICTRN; %
                 );

Change 35.224  The _N110 "Product Null Macro" to suppress all CICS data
VMAC110        sets for tailoring had new datasets added which caused
Oct  8, 2017   only one dataset listed per line; that statement now has
               two datasets per line, half as many lines/bytes.

Change 35.223  The extra zVPS/XAM SYTCUP segment with totals was not
VMACXAM        included in the SYTNLPS count of segments, and there is
Oct  7, 2017   no LENDATA value for each subsegment, so MXG assumed 20
               for LENDATA and detected the extra subsegment when SEGLEN
               was NE 20*SYTNLPS, but the 35.09 correction statement
               SYTNLPS=SYTNLPS+1 was mistyped as SYTNLPS=SYTNLPS=1; so
               only one obs per LPAR was output in XAMSYT dataset.
               But other MXG corrections have increased the obs count,
               depending on past MXG Version (eg. 35.06 to 35.09).
               There will be one obs for each LCPUADDR in each LPARNAME,
               and an extra "total" obs with LCPUADDR='60'x (doc '40'x)
               for each Engine Type in each LPARNAME, but these "total"
               obs all have zero values in 4303 and 4313 releases.
               There are also a pair of original LPARNAME='Totals'
               subsegments at the start of each SYTCUP segment that are
               not output by MXG.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to David A. Sadler, UHC, USA.

Change 35.222  Unused Change Number

Change 35.221  Many zVM VXPRCPUP dataset variables values were not
VMACVMXA       divided by 65536, two variables needed deaccumulation.
Oct  4, 2017   The segment SSIZE is 96 but only 72 are documented.
   Thanks to Pat Hansen, ADP, USA.
   Thanks to Mike Chaves, ADP, USA.

Change 35.220  MXG 35.09.  Zero observations in TYP11920 dataset due to
VMAC119        a debugging asterisk left where it shouldn't have been in
Oct  4, 2017   line 2942 of VMAC119.
   Thanks to Paul Volpi, UHC, USA.

Change 35.219  MQMACCT variable NETSNAME is created from QWHCTOKN if it
VMAC116        is populated, or from QWHCNID in not, but the format of
Oct  4, 2017   the raw data is different; heuristics were revised to
               recognize two formats found in this site's data, with
               values AAAAAAAA.BBBBBBBB if QWHCTOKN is populated or
               values CCCCCCCC.L when QWHCTOKN is not populated.
               NETSNAME is also kept in MQMACCT1 and MQMQUEUE but it
               should not have been, as it is always blank for those two
               datasets. And NETSNAME is not populated in MQMACCT
               observations from BATCH/TSO Attach.
   Thanks to Jim Poletti, Edward D Jones, USA.
   Thanks to Art Morelock, Edward D Jones, USA.

Change 35.218  XAMSYPUP dataset's INPUT is now correctly aligned once it
VMACXAM        was explained that PL/1 "3 rsrvd(4) Char(4)" is SAS +16.
Oct  3, 2017

====== Changes thru 35.217 are in this MXG 35.09 dated Oct  2, 2017=====

Change 35.217  Cosmetic, but format $MGSMFID had undetected-by-SAS
ANALID         unbalanced quotes that impacted SMF ID=80 descriptions in
FORMATS        the ANALID SMF Report (default is on in BUILDPDB).
Oct  2, 2017   Also option UNIFORM was added to the SUMMARY PROC PRINTs.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 35.216  New macro that lets you 'join' variables from DB2ACCT
JOINDB2        to the corresponding DB2ACCTP observations.  Written
Oct 2, 2017    specifically to capture QWACWLME since the DB2ACCTP
               records do not contain the QWAC segments but will
               copy as many variables as you like from DB2ACCT to
               DB2ACCTP.  NOTE: QWACWLME only exists in DDF records
               and that is by IBM's design.

====== Changes thru 35.215 are in this MXG 35.09 dated Oct  2, 2017=====

Change 35.215  TRENDINT defaulted to WEEK rather than the value of the
VMXGRMFI       INTTRND macro variable as documented. Also the TRNDRMFI
TRNDRMFI       member was updated to include the TRENDINT parameter so
Oct 2, 2017    that you can more easily see how to modify the interval.
   Thanks to Steve Carlson, UCOP, USA.

Change 35.214  Modified for efficiency.  If you specify ROLLSORT=NO
UTILROLL       it now uses PROC APPEND instead of a data step which had
Sep 30, 2017   to read both the input (ROLLTO) and output (ROLLFROM)
               datasets.

Change 35.213  z/VM variable VMDUFACT in dataset PDB.VXBYUSR should not
VMACVMXA       have been deaccumulated as it is an end of interval count
Sep 28, 2017   of frames.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 35.212  Support for SMF 30 User Key CSA Audit Enhancements adds
VMAC30         new SMF30_RAXFLAGS to TYPE30_1, TYPE30_V, TYPE30_4 and
Sep 28, 2017   the TYPE30_5 datasets.  This code change has been in MXG
Feb 28, 2018   35.09 and later, but this change text replaced previous
               "Reserved Change" on Feb 28, 2018.  This field was added
               by APAR OA53355, but will only be needed thru z/OS 2.3,
               as User Key Common Storage usage support ends there.
               This is Health Check ZOSMIGV22R3_NEXT_VSM_USERKEYCOMM.
               These APARs required no additional code changes:
                OA53434 Corrects ASM DSECT Lengths, no MXG impact
                OA53289 Corrects value of SMF30HVR from zero to valid.
                OA45767 APAR that added the extra triplet caused OA53434

Change 35.211  Documentation. Variables QWACWLME QWACBSC QWACESC should
VMACDB2        not have been kept in DB2ACCTP after IBM moved the DB2
Sep 27, 2017   Package Data (IFCID 129) to its own ID=101 Subtype=1
               record, which does not contain a QWAC segment.
   Thanks to Glen Bowman, Wakefern, USA.

Change 35.210  Support for z14 SMF 113 records (INCOMPAT, EXTENDED array
ASUM113        now has 128 entries).  Default LABELs are now for z14.
VMAC113        To change the default labels for z13, you would use:
Sep 27, 2017     //SYSIN DD *
Oct  1, 2017       %LET MACKEEP=  MACRO _XLA113  _XLA113D  %  ;
                   %INCLUDE SOURCLIB(TYPS113,ASUM113);
               To create correct labels with both z13 and z14 data, you
               must create separate datasets:
                 //SYSIN DD *
                  %INCLUDE SOURCLIB(VMACF113);
                  DATA PDB.ASUM1131Z13;
                  LABEL _XLA113D ;
                  SET PDB.ASUM1131;
                  IF SM113VN2=4;
                  DATA PDB.ASUM1131Z14;
                  LABEL _XLA113E ;
                  SET PDB.ASUM1131;
                  IF SM113VN2=5;
                  RUN;
               Many of the RNI and other equations were changed for z14.
              -You can use  OPTIONS OBS=99; _RPT113; RUN; to print those
               calculated variables values from PDB.ASUM1131, the data
               set you should use, as it contains interval data. The
               original ASUM113 data set was accumulated and obs were
               lost in deaccumulation.
   Thanks to Elie Sawaya, RBC, CANADA.

Change 35.209 -Support for BETA 93 Version 610, altered header fields
FORMATS        and three new variables are added to dataset BETA0:
VMACBETA         BETAPABS='MAX*PABS'
Sep 29, 2017     BETASPAG='FIRST SPLIT*OVER GT*1 PAB'
Nov 22, 2017     BETABMOD='PAB PAGE*BREAK*MODE'
              -New values added to $MGBETAT format for BETA0.
              -Support for subtype 51 RDATA1 and RDATA2 fields and
               all segments are read and output - previously the first
               segment was repetitively output.
               See Change 36.074 for Subtype 51 update.

   Thanks to Andreas Menne, Finanz Infoirmatik, GERMANY.

Change 35.208  Nigel's Monitor for AIX and LINUX changed BBBP Endtime
VMACNMON       was always "HH:MM" text, but new "N MINS" tripped MXG
Sep 27, 2017   variables BBBPENDING051, UPHOURS, and BBBPENDING052,
               UPTIME.
   Thanks to Steve McCulloch, TMS/CDS Group, CANADA.

Change 35.207  Enhancement for GDG datasets to add FIRSTGEN and LASTGEN
VMAC6156       values of GATGEN to know the range of Generation values.
Sep 25, 2017   No change, but variables GATEXTNO GATVER GATGEN GATWRAP
               are from each GAT segment, so they should not have been
               kept as they contain only the value of the last cell.
   Thanks to Satish Kodavatiganti, John Deere, USA.

Change 35.206  If you need ACCOUNTn fields for long-running STCs in your
BUILD005       PDB.SMFINTRV dataset, you had to set SPINCNT in IMACSPIN
BUIL3005       longer than the number of days between IPLs; if you had a
VMXGINIT       smaller value, then only that number of days of the
Sep 25, 2017   PDB.SMFINTRV would have the ACCOUNTn fields populated.
               This change creates optional macro variable &SPINSTC to
               enable this change and to keep that many day's SPIN30_1
               for STCs in the SPIN library for STC accounting, and you
               can then set a much smaller value for the spining of you
               other jobs. Use  %LET SPINSTC=365; to keep a year's data.
                 A large SPINCNT used to be important when you had lots
                 of held print output, since BUILDPDB waits for the
                 PURGE (26) record to know all SMF records for the job
                 have been created.  But now, with output typically sent
                 to a spool handler, almost all jobs PURGE right after
                 they terminate on z/OS, so now, you can set a small
                 SPINCNT (1 or 2) and only SPIN the jobs that were in
                 execution when SMF was dumped, or that run for more
                 than a full day or two.
   Thanks to Gennady Katsnelson, IBM Global Technology Services, USA.

Change 35.205  Documentation of what is counted in SMF 30 EXCP counts,
TYPE30         from a posting to IBM-Main:
Sep 25, 2017   The EXCP count fields count whatever the IOS Driver
               decided to pass into SMF in the IFASMFEX exit that
               accumulates the type 30 EXCP fields.
               For example:
                -For SAM, EXCP (an IOS driver) lets SAM do the calls
                 to IEASMFEX.
                -For non-SAM use of EXCP, EXCP calls IEASMFEX with
                 a count of 1 so for non-SAM use of EXCP, it is the
                 count of EXCPs
                -And IEWFETCH (an IOS driver which fetches load modules)
                 counts the number of SSCH for non-VIO data sets, and
                 uses EXCP for VIO data sets. So either way, it is the
                 number of channel programs executed.
   Thanks to Jim Mulder z/OS Diagnosis,Design,Development,Test IBM Corp

Change 35.204  Support for DB2 APARs PI71903 and PI84045 adds these
VMAC102        new variables to IFCID 376 T102S376 dataset:
Sep 28, 2017      QW0376SC='SCHEMA*NAME'
Oct 11, 2017      QW0376PR='SPECIFIC*NAME'
Dec  7, 2017      QW0376INC='INCOMPAT*PARMS'
                  QW0376SQL='SQL*TEXT';
               Dec 7: Offsets for VL/VN corrected, no data for these
               new fields yet.
   Thanks to Lori A. Masulis, FMR, USA
   Thanks to Steve McKee, FMR, USA.

Change 35.203  z/VM 6.4.17.1 INCOMPATIBLE, fields inserted in SYTCUP and
EXSYTLCX       SYTLCK, and new VXSYTLCX data set created.
VMACVMXA      -In SYTLCK when there are no shared/exclusive lock entries
VMXGINIT       (CALNMSXE=0) there are 8 bytes inserted where that second
Sep 28, 2017   array should not have existed.
              -In SYTCUP, SKIP logic was not correct with new data.
   Thanks to Dr. Wolfgang Kueller, IT Solutions, AUSTRIA

Change 35.202  Typo TEN should have been TUE. Most likely not an issue
VMXGALOC       since that section of code was only used to CLEAR any
Sep 18, 2017   existing LIBNAMEs before allocating new ones (which in
               any case would happen when a new LIBNAME statement was
               issued).
   Thanks to Steve Bagshaw, Marks & Spencer, ENGLAND.

Change 35.201  Modified to limit the number of LIBNAMEs reported where
PDBAUDIT       the path name is the same.  First looks for a PATH where
Sep 18, 2017   the LIBNAME is PDB and deletes any other LIBNAMEs with
               that path then sorts on PATH and LIBNAME eliminating
               all but the first occurrence of each PATH so that there
               are not a lot of duplicate lists.  Needed for MXG QA.
              -A new parameter PATHLIST= added with a default value
               of NO. Change to YES to create report of the LIBNAMES
               by PATH. Useful if you are running with AUTOALOC=YES.

Change 35.200  New BLDSMPDB parameters support writing daily, weekly,
VMXGALOC       monthly and trend "PDB's" to different paths (drives or
VGETALOC       directories).  All default to the BASEDIR if left blank.
BLDSMPDB         BASEWEEK=  sets the location of weekly database
Sep 13, 2017     BASEMONTH= sets the location of monthly database
                 BASETREND= sets the location of TREND database
               If you choose to use these new destinations for your
               output of BLDSMPDB, be aware and use caution since the
               old destination's files will NOT be aged off, nor will
               they be allocated for monthly/weekly processing. You will
               need to copy old data from the old path to the new path.

Change 35.199  z/OS 2.3 type 90 subtype 38 INPUT STATEMENT EXCEEDED due
VMAC90A        to incorrect offset and field length in the GA SMF manual
Sep 17, 2017   for SMF90T38_UTOKENUSERID which is 16 not 8 and at offset
               112 and not 118. Subtype 38/39 datetimes are now local.
   Thanks to Bernie Ethridge, Fiserv, USA.
   Thanks to Paul Naddeo, Fiserv, USA.

Change 35.198  z/VM 6.2.11 SYTLCK "BROKEN RECORD" error because SKIP was
VMACVMXA       not calculated correctly.
Sep 11, 2017
   Thanks to Kare Martin Torsvik, EVRY, NORWAY.

Change 35.197  IMF CIMSTRAN dataset datetime variables all now have
VMACCIMS       microsecond resolution; MXG had overlooked the MIJUs.
Sep 16, 2017    ACTARRV ARRVTIME STRTTIME TRNETIME ENDTIME TRNSTCKE
Oct 26, 2017   INPQUETM, SERVICTM and RESPNSTM are now calculated from
               those datetimes for microsecond resolution.
   Thanks to Randy Hewitt, DXC Technology, USA.

Change 35.196  Support for BETA 97 extended header (INCOMPATIBLE) V 610.
EXTYB97D       All variables in all datasets are now INPUT and correct.
IMACBE97       New dataset BE979751D is created from Subtype 51 with the
VMACBE97       database field details.
VMXGINIT
Sep 15, 2017
   Thanks to Andreas Menne, Finanz Infoirmatik, GERMANY.

Change 35.195  Support for PRCPUP segment in zVPS XAMSYS records creates
EXXAMPUP       new dataset   DDDDDD    DATASET   DESCRIPTION
IMACXAM                      XAMPUP    XAMSYPUP  PRCPUP DATA
VMACXAM       -The test for invalid SYTCUP segment was revised when the
VMXGINIT       old test incorrectly reported an invalid segment.
Sep  15, 2017

Change 35.194  Unrequested log messages containing   MXGDEBUG: VMXGOPTR
ANAL116        were printed if you %LET MXGDEBUG= to a non-blank value.
ANALDB2R       The LENGTH(&MXGDEBUG) test was removed from VPUTMSG and
ASUMDB2A       relocated to each calling member, with revised logic:
ASUMDB2R        %IF %UPCASE(&MXGDEBUG) NE VMXGSUM1 %THEN %DO;
ASUMNTIN         %VMXGOPTR(OPTNAME=NOTES,NEWVALUE=NONOTES);
TESTTRND        %END;
TRNDNTIN       The MXGDEBUG macro variable is primarily for internal MXG
VGETALOC       testing and it exists in only a few members; the enable
VMACDB2        values are documented in each member's test statements.
VMXG70PR       With this correction. MXGDEBUG=VMXGSUM1 was used for MXG
VMXGALOC       QA which exposed these overlooked corrections:
VMXGDSN       -ASUMDB2A QXHJINT typo was observed and removed.
VMXGOPTR      -VMXG70PR LPMSUHR was missing.
VMXGRMFI      -ANAL116 had a superfluous ID=ENDDT argument, removed.
VMXGSUM       -VGETALOC/VMXGALOC protected for blank MXGDEBUG.
VPUTMSG       -VMXGSUM many calls to VPUTMSG revised so VMXGSUM1 now
Sep 10, 2017   is also enabled if 2/3/4 are requested.
              -VMACDB2 did not keep SHIFT in DB2ACCTR dataset.
              -VMXGRMFI had spurious SMF70GMN SMF70GMU MXGDEBUGs.
              -ASUMNTIN did not keep one variable
              -TESTTRND builds PDB.CICS from ASUMCICX, clearing the
               first PDB.CICS created by ASUMCICS which had different
               kept variables and is not the recommended CICS summary.
              -ASUMDB2R needs KEEPALL=YES for missing variable notes.
              -TRNDNTIN needed a variable added to KEEP list.
   Thanks to Donald Blaszka, WiPro, USA.

Change 35.193  Alignment correction for SMF74SBR/SBW/SQR/SQW sync I/O
VMAC74         variables, and new SMF74SQRRATE/SMF74SQWRATE sync rates.
Aug 30, 2017

Change 35.192  Variables WTASINTE/WTASINTS/WTASSTRT in MQMQUEUE dataset
VMAC116        are missing values in obs created from SMF 116 Subtype 2
Aug 29, 2017   (continuation) records, but now INTS/STRT are populated
               by WQTTTIME and INTE is populated by SMFTIME.
   Thanks to Raymond J. Smith, OPTUM, USA.

Change 35.191 -Support for z/OS 2.3 ZRBASI and ZRBUWD new fields are now
VMACRMFV       validated so the bypass execution tests (-99 EQ 99) are
Sep  5, 2017   are now removed.
              -Variable GEIFLG2 is now INPUT and kept in ZRBGEI dataset.
              -Unpopulated Extended Length EDE segment overlaid original
               INPUT of variables EDEPCKG EDEPROC EDEUSER EDETRXN EDEACC
               with blank values.
              -Overlooked OPD variables now INPUT and kept:
                 OPDDCTIIP='DELTA*TCB TIME*FOR*ZIIP'
                 OPDCTIIP='PROCESS*SYSTEM*USER COMPUTE*ON ZIIP'
   Thanks to Kurt Gramling, T-SYS, USA.

Change 35.190  SMF type 2 subtype 2 (SMF Signature enabled), ERROR INPUT
VMAC0203       EXCEEDED RECORD LENGTH due to MXG INPUT mis-alignment.
VMACSMF       -Dataset TYPE0202 now keeps those signature variables, and
Aug 28, 2017   dataset TYPE0203 reverts to the way it originally was,
               keeping only the header variables.
              -BUT: the type 2 subtype 1/2 records have SYSTEM='DUMY'
               in the SMF header!  Since that is not a real system name,
               and because it could confuse any SMF Audit or analysis,
               MXG's handling of the _SMF header in VMACSMF now detects
               type=2 subtype=1/2 and SYSTEM='DUMY' and changes SYSTEM
               to the actual SYSTEM (SMF2IRSID/SMF2GRSID) name.
               Note: See Change 38.034 for revisions.
   Thanks to Daniel Erikols, Svenska Handelsbanken, SWEDEN.

Change 35.189  Variables QPAC_PIPE_WAIT and QPAC_PIPE_COUNT are INPUT
VMACDB2        and kept in dataset DB2ACCTP.
Aug 25, 2017
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.188  If default was set to "work" rather than "WORK" the case
VMXGDEL        mismatch caused datasets to be deleted,
Aug 25, 2017

Change 35.187  Variable SM123USERNM was not kept, spelled SM123TARURI in
VMAC123A       the KEEP= list.
Aug 23, 2017
   Thanks to Patricia Hansen, ADP, USA.

====== Changes thru 35.186 are in this MXG 35.08 dated Aug 24, 2017=====

Change 35.186  New variables MKFLAGA/MKRLSOPT/MKLRTIME are created and
VMACEDGS       kept in EDGSKREC dataset; variable MKSTORE2 is no longer
Aug 23, 2017   valid, as it now contains the time part of MKLRTIME.
Aug 25, 2017       MKLRTIME='LAST*REFERENCE*DATETIME'
                   MKFLAGA ='FLAG-A'
                   MKRLSOPT='RELEASE OPTIONS'
              -Aug 25: MKLRTIME was missing value because 2-byte field
               before the new date value was not documented, but the
               hex record and doc offset showed 2 bytes were inserted.
   Thanks to Marybeth Delphia, CPA Texas, USA.

Change 35.185  Change 35.167 forced you to have a PDB libname when you
BLDSMPDB       may not have needed one. There are 4 executions of
Aug 22, 2017   VGETSORT within BLDSMPDB with differing needs.
               If running with RUNWEEK=YES the LIBNAME pointed to by
               WEEKSTRT is used
               If running with RUNWEEK=WTD the LIBNAME pointed to by
               PDB is used
               If running with RUNMNTH=YES the LIBNAME pointed to by
               WEEK1 is used
               If running with RUNMNTH=MTD the LIBNAME pointed to by
               PDB is used

Change 35.184  Test for LIBNAME count was removed as unneeded and it
PDBAUDIT       caused termination of the QA test job with 35 libraries,
Aug 23, 2017   and PDB.PDBAUDIT and SPIN.SPINAUDIT datasets not created.
               The original error it was supposed to prevent was found
               to be unrelated the LIBNAME count.

Change 35.183  Five IFCIDS create new datasets, but only T102S389 and
EX102389       T102S477 have the IFCID-specific variables; the three
EX102404       others identify the event, but keep only the thirty-six
EX102413       variables from the DB2 Header and Product segments.
EX102414          DDDDDD   DATASET   DESCRIPTION
EX102477          102389   T102S389   ALL INDEXES WITH FTPS
IMAC102           102404   T102S404   AUTHORIZATION COMPATIBILITY
VMAC102           102413   T102S413   BEGIN WAIT FOR PIPE SUSPEND
VMXGINIT          102414   T102S414   END WAIT FOR PIPE SUSPEND
Aug 22, 2017      102477   T102S477   ALOC/DEALOC FAST TRAVERSE BLOCK
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 35.182  MXG 35.07. INPUT STATEMENT EXCEEDED RMF 74, Change 35.166
VMAC74         tested SMF748LL instead of SMF748CL for the INPUT of the
Aug 17, 2017   new field, which "worked" when there were link segments,
               but this record had only the control segment and non-zero
               R748CRTN Return Code.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 35.181  Support for four new SYTSTSCP variables added:
VMACXAM
Aug 16, 2017

Change 35.180  MXG 35.07. SMF 92 Subtype 50 INPUT STATEMENT EXCEEDED due
VMAC92         to MXG typo of 44 vs 4 in the INPUT, but also the 16-byte
Aug 18, 2017   STCKE format SMF92T50 was not decoded correctly. IBM also
               changed the format of SMF92RVN from NUM2. to PIB2., which
               caused INVALID DATA FOR SMF92RVN error messages.

Change 35.179  Utility reads SMF and writes records for wanted JOBnames.
UWRITSMF
Aug 16, 2017

Change 35.178  Support for APAR OA49692 which adds variables to the BCP
VMAC98         SMF type 98 record:
Aug 14, 2017
 SM98SIG_AVG_CPUBUSY_CP='AV CP PCT*CPU BUSY*HIGH MTTW*/
 SM98SIG_AVG_CPUBUSY_ZAAP='AV ZAAP PCT*CPU BUSY*HIGH MTTW*/
 SM98SIG_AVG_CPUBUSYR_ZIIP='AV ZIIP PCT*CPU BUSY*HIGH MTTW*/
 SM98SIG_AVG_FDISPSPERWAKEUP_CP='AV CP FOREIGN*DISPATCHES*HIGH MTTW*/
 SM98SIG_AVG_FDISPSPERWAKEUP_ZAAP='AV ZAAP FOREIGN*DISPATCHS*HIGH MTTW*/
 SM98SIG_AVG_FDISPSPERWAKEUP_ZIIP='AV ZIIP FOREIGN*DISPATCHS*HIGH MTTW*/
 SM98SIG_TOP_CPU_CP='CP CPU WITH*LARGEST*MTTW VALUE*/
 SM98SIG_TOP_CPU_ZAAP='ZAAP CPU WITH*LARGEST*MTTW VALUE*/
 SM98SIG_TOP_CPU_ZIIP='ZIIP CPU WITH*LARGEST*MTTW VALUE*/
 SM98SIG_2ND_CPU_CP='CP CPU*2ND LARGEST*MTTW VALUE*/
 SM98SIG_2ND_CPU_ZAAP='ZAAP CPU*2ND LARGEST*MTTW VALUE*/
 SM98SIG_2ND_CPU_ZIIP='ZIIP CPU*2ND LARGEST*MTTW VALUE*/
 SM98SIG_TOP2_MTTW_CP_TIMETOD='AV MTTW VALUE*FOR TOP*CP CPUS*/
 SM98SIG_TOP2_MTTW_ZAAP_TIMETOD='AV MTTW VALUE*FOR TOP*ZAAP CPUS*/
 SM98SIG_TOP2_MTTW_ZIIP_TIMETOD='AV MTTW VALUE*FOR TOP*ZIIP CPUS*/
 SM98AVG_FDISPSPERWAKEUP_CP='AV FOREIGN*DISPATCHES*CP CPUS*/
 SM98AVG_FDISPSPERWAKEUP_ZAAP='AV FOREIGN*DISPATCHES*ZAAP CPUS*/
 SM98AVG_FDISPSPERWAKEUP_ZIIP='AV FOREIGN*DISPATCHES*ZIIP CPUS*/

Change 35.177  PDB.ROSCOE dataset Logon Time ROSIGNON was incorrectly
VMACROSC       set to the ROSTIME, Roscoe ASID Step Initiate Time, also
Aug 11, 2017   causing thee CONECTTM calculation to be incorrect.
   Thanks to Janne Jarvinen, CGI, FINLAND.

Change 35.176  Support for new BBMQ QSDSTYPE='DISTRIBUTED*SYSTEM*TYPE'
FORMATS        variable added (compatibly) to BBMQQUES dataset with new
VMACBBMQ       $MGBBMQT format decoding A=AS400, W=Windows, U=Unix.
Aug 10, 2017

Change 35.175  Support for these APARs required no MXG code changes:
VMAC30          OA53289 Corrects value of SMF30HVR from zero to valid.
Aug  9, 2017    OA53434 Corrects ASM DSECT Lengths, no MXG impact
                OA45767 APAR that added the extra triplet caused OA53434

Change 35.174  The original CPITCBTM/CPISRBTM "step initiator" CPU times
BUILD005       are totals, but CPITCITM CPISRITM are the "init" time of
BUIL3005       day, at step initiation, and CPITCTTM CPISRTTM are the
Aug  8, 2017   "term" time of day so those CPU times can be assigned to
               the correct time of day (ALOCTIME or TERMTIME).  All four
               are now kept in both PDB.STEPS and PDB.JOBS.
                that separated the original CPITCBTM/CPISRBTM
               are now correctly input and are negatively deaccumulated
   Thanks to David E. Kibitelsky, Broadridge, USA.

Change 35.174A zVM VXBYUSR dataset variables _MT1 and _PRO (SMT times)
VMACVMXA       are now correctly input and are negatively deaccumulated
Aug  5, 2017   with -DIF() while many CALxxxxx accumulated variables are
               positively DIF'ed, with no clue in the doc if the accum
               is descending or ascending, except to look at data.

Change 35.173  Support for SMF 119 Subtype 11 for ZERT data creates two
EXT11911       new datasets
EXT119DN          DDDDDD   DATASET  DESCRIPTION
FORMATS           T11911   TYP11911 ZERT ENCRYPTION SUBTYPE
IMAC119           T119DN   TYP119DN ZERT DISTINGUISHED NAME
VMAC119       -There is no GMT offset in Subtype 11 records; for the
VMXGINIT       SAEVENT 03x and 04x Termination records, SAETIME is used
Aug  4, 2017   and for 01x and 02x Connection records, SASTIME is used
Aug 20, 2017   with SMFTIME and fuzzy logic to reset SASTIME/SAETIME to
Aug 30, 2017   the local time zone.
              -Only records with TLS or SSH protocol have been tested
               with data; no IP-Filter nor IPSEC records have been read.
              -Aug 30: INPUT EXCEEDED.  Line 2775 in VMAC119 should be:
                SMF119SC_TLS_CCERT_SER_LEN &PIB.1.
               instead of &PIB.1. This was not in MXG 35.08.
   Thanks to Thomas Liu, Australia New Zealand Banking Group, AUSTRALIA

Change 35.172  New ThruputManager fields INCLA1 JXJOU JXSTA1 JXSTA2 are
VMACTPMX       supported.
Aug  3, 2017
   Thanks to Scott Wiig, USBank, USA.

====== Changes thru 35.171 are in this MXG 35.07 dated Aug  2, 2017=====

Change 35.171  zVM SMT Equivalent Time _MT1 variables in VXBYUSR dataset
VMACVMXA       now divided by /4096 to convert value to seconds.
Aug  2, 2017
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.170  MXG spuriously reported MISSING TYPE 70 RECORDS for VM
VMXG70PR       LPARs on IFLs. Now both MXGCIN and VMSYSTEM are used to
Aug  2, 2017   remove those unwanted observations.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 35.169  The incorrectly spelled variable QPSTDTW was kept in both
VMAC115        MQMBUFER and TY115215, but the correctly spelled QPSTDWT
Jul 31, 2017   was only valid in MQMBUFER, and was missing in TY115215.
               Now both variables are valid in both datasets.
   Thanks to Doris Bentrez, IBM, USA.


Change 35.168  Two errors both would show up when PDB= pointed at more
ANALDB2R       than one LIBNAME. First the VGETOBS looking for the
Jul 28, 2017    DB2 datasets would fail looking at multiple libnames.
               Once that was fixed ANALDB2R only used the first in the
               list of LIBNAMES - now it will use them all.

Change 35.167  BLDSMPDB uses VGETSORT to determine the contents of
BLDSMPDB       your LIBNAMES and the sort sequences (or lack) of
Jul 28, 2017   all of the datasets.  It inconsistently used differing
               libnames to make that determination which could miss
               newly added datasets or changed sort orders. It will
               now use the BASEPDB (usually PDB) LIBNAME in all cases
               so that it will find the most recent examples.
              -New option added to RUNWEEK. RUNWEEK=FORCE will force
               the running of the weekly processing.  Point FORCEDAY
               to the last date in the week if running with AUTOALOC.
              -If you are running on ASCII with AUTOALOC=YES we do
               not recommend using WTD or MTD processing as it can
               make ABEND recovery difficult if the WTD or MTD
               processing was done prior to the ABEND.
               We also do NOT recommend modifying default SORTEDBY
               value from NO to YES since a change in sort orders
               (as unusual as it might be) could cause problems.

Change 35.166  Support for z/OS 2.3 changes, many new variables, COMPAT.
EXTY9208      -Support for SMF Record Types 127-2047, with ID 0-127 and
EXTY9250       1152-2047 reserved for IBM use, and ID 127-1151 for USER
EXTY9251       SMF record types.  The SMF header was extended by using
EXTY9252       never-used ID=126 record type to identify this record has
EXTY9253       the extended header.  Note that new SMF exit IEFU86 is
EXTY9254       taken for ALL SMF records, with or without the extended
EXTY9255       header, and existing SMF exits IEFU83/84/85 are called
EXTY9256       ONLY for records with standard header.
EXTY9257      -Dataset TYPE1415 new variables:
EXTY9258         SMF14DEF='ENCRYPTION*FLAG*BYTE'
EXTY9259         SMF14DET='ENCRYPTION*TYPE'
IMAC92           SMF14DKL='DASD*DATA SET*KEY*LABELS'
VMAC1415         Fields exist only if Encryption Subtype 9 exists.
VMAC42        -Dataset TYPE4227 new variables:
VMAC62           SMF42RDSC_OLD='SMF42RDSC*OLD DSCB*DATA*FIELD'
VMAC7072         SMF42RDSC_NEW='SMF42RDSC*NEW DSCB*DATA*FIELD'
VMAC71           SMF42RKEY_OLD='SMF42RKEY*OLD DSCB KEY*DATASET*NAME'
VMAC92           SMF42RKEY_NEW='SMF42RKEY*NEW DSCB KEY*DATASET*NAME'
VMACSMF          The _ETY4227 output macro was relocated correctly so it
VMXGINIT         is outside the LN2 DO group, causing observations to
VMAC73           now be created that were not previously output.
VMAC74           Tested.
VMAC75          -Dataset TYPE62 new variables:
VMAC76           SMF62DEF='ENCRYPTION*FLAG*BYTE'
VMAC77           SMF62DET='ENCRYPTION*TYPE'
VMAC78           SMF62DKL='DASD*DATA SET*KEY*LABEL'
VMAC79        -Dataset TYPE71 new variables, APAR OA52452 added.
VMACRMFV         SMF71RFL='SMF71RFL*FLAGS'
Jul 18, 2017     SMF71NNF='AVG NON-NUC*FRAMES*COMPRISING*STORAGE'
Jul 28, 2017     SMF71LSI='AVG SYS-INIT*DEMOTIONS*LARGE*TO 4K'
                 SMF71LRI='AVG REQ-INIT*DEMOTIONS*LARGE*TO 4K'
                 SMF71MHW='HWM 1MB*FRAMES*USED FOR*FIXED 1MB'
                 SMF71PIS='AVG 4KB*PAGEINS*FROM SCM'
                 SMF71POS='AVG 4KB*PAGEOUTS*TO SCM'
                 SMF71PI1='AVG 1MB*PAGEINS*FROM SCM'
                 SMF71PO1='AVG 1MB*PAGEINS*FROM SCM'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF71DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF71DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Tested.
              -Dataset TYPE72GO new variable:
                 R723GMLM='MEMORY*LIMIT*SPECIFIED?'
                 R723GMML='MEMORY*LIMIT*GB of*resgroup'
                 R723CTETX='TOTAL*TRANSACTION*ELAPSED*TIME'
                 R723CXETX='TOTAL*TRANSACTION*EXECUTION*TIME'
                 R723CETSX='SUM*ELAPSED*TIME*SQUARED'
                 R723CQDTX='TOTAL*QUEUE*DELAY*TIME'
                 R723CADTX='TIME*BATCH JOBS*INELIGIBLE*TO RUN'
                 R723CCVTX='TIME*BATCH JOBS*SPENT*IN JCL CVTR'
                 R723CIQTX='TIME*BATCH JOBS*INELIGIBLE*IN JOBQ'
                 Tested; 35.06 only kept first two variables.
              -Dataset TYPE7204 new variable:
                 R724ETX='TOTAL*EXECUTION*TIME*GROUP'
                 R724QTX='TOTAL*QUEUE*TIME*GROUP'
                 R724OR7A='MEMORY*POOL*SHORTAGE'
                 Tested.
              -Dataset TYPE73 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF73DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF73DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Tested.
              -Dataset TYPE74 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF74DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF74DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 SMF74ATD='I/O DELAYS*PAV*ALIAS*THROTTLING'
                 Tested.
              -Dataset TYPE74CA new variable:
                 R745XSCS='SUBCHANNEL*SET*ID'
                 Tested.
              -Dataset TYPE748 new variable:
                 R748CFSC='SUBCHANNEL*SET*ID*PHYS CONFIG'
                 R748CSCS='SUBCHANNEL*SET*ID OF*FAILING*DEVICE'
                 Tested/Corrected Change 35.182.
              -Dataset TYPE75 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF75DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF75DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 SMF75SCS='SUBCHANNEL*SET*ID'
                 Tested.
              -Dataset TYPE76 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF76DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF76DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Tested.
              -Dataset TYPE77 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF77DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF77DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Tested.
              -Dataset TYPE78 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF78DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF78DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 No Observations to test.
              -TYPE78CF dataset had zero observations with VMAC78 from
               MXG 34.06 - corrected by 34.223 (34.07), 35.021 (35.02)
               or 35.166 (in MXG 35.07).
              -Dataset TYPE791 update:
                 R791SRC new MP Swap Reason Memory Pool Shortage
                 No Observations to test.
              -Dataset TYPE796 new variables:
                 R796SCS='SUBCHANNEL*SET*ID'
                 No Observations to test.
              -Dataset TYPE79B new variables:
                 R79BSCS='SUBCHANNEL*SET*ID'
                 No Observations to test.
              -TYPE92xxx datasets not tested, no data.
              -NEW dataset TYPE9208: ZFS FILE SYSTEM MIGRATED
                 SMF92GLUGNU='LOCAL*OR*REMOTE*MOUNT?'
                 SMF92GSN='FILE*SYSTEM*OWNER?'
                 SMF92GTM='DATETIME*OF*MIGRATION'
                 SMF92GMO='OFFSET OF*MOUNT*PARM*SECTION'
                 SMF92GFT='FILE*SYSTEM*TYPE*MNTENTFSTYPE'
                 SMF92GFM='FILE*SYSTEM*MODE*MNTENTFSMODE'
                 SMF92GDN='FILE*SYSTEM*DEVICE NUMBER*MNTENTFSDEV'
                 SMF92GDD='DDNAME*SPECIFIED*ON MOUNT*MNTENTFSDDNAME'
                 SMF92GTN='FILE*SYSTEM*TYPE NAME*MNTENTFSTNAME'
                 SMF92GFN='MIGRATION*TARGET*FILE*SYSTEM*NAME'
                 SMF92GON='MIGRATION*SOURCE*FILE*SYSTEM*NAME'
                 SMF92GBL='FILE*SYSTEM*BLOCK*SIZE'
                 SMF92GST='TOTAO*SPACE*IN FILE*SYSTEM'
                 SMF92GSU='ALLOCATED*SPACE IN*FILE*SYSTEM'
                 SMF92GFG='FIRST*BINARY*FLAG'
                 SMF92GF2='SECOND*BINARY*FLAG'
              -NEW dataset TYPE9250: ZFS FILE SYSTEM EVENTS
                 SMF92FSN='FILE*SYSTEM*NAME'
                 SMF92VOL='VOLSER*FIRST*EXTEND'
                 SMF92CCHH='CCCCHH*OF FIRST*EXTEND'
                 SMF92EVENT='FILE*SYSTEM*NAME'
                 SMF92SIZ='FORMATTED*SIZE OF*FILE*SYSTEM'
                 SMF92T50=' STKE *FILE*SYSTEM*EVENT'
                 SMF92CODE='FAILED*OPERATIONS*ERROR*CODE'
                 SMF92RSN='REASON*CODE'
                 SMF92OVS='PRIOR*VOLUME*SERIAL'
                 SMF92OCH='CCCCHH*OF PRIOR*VOLUME*SERIAL'
                 SMF92LRT='LOGFILE*RECOVERY*TIME'
                 SMF92LRP='LOG*PAGES*PROCESSED'
                 SMF92LRR='LOG*RECORDS*PROCESSED'
                 SMF92LRD='LOG*BLOCKS*MODIFIED'
                 SMF92LRE='REDO*DATA*RECORDS*PROCESSED'
                 SMF92LRF='FILL*RECORDS*PROCESSED'
                 SMF92LRN='NEW BLOCK*SECURITY*RECORDS*PROCESSED'
                 SMF92SYS='SYSTEM*NAME*REPORTING*EVENT'
              -NEW dataset TYPE9251: COUNTS/RESPONSE TIME ZFS CALLS
                 SMF92CCT='EVENT*DATETIME'
                 SMF92VCC='CALLS TO*FILE SYS*OWNED LOCALLY*OR R/O'
                 SMF82VCX='CALLS*REQUIRED*TRANSMIT*FOR LOCAL'
                 SMF92VCR='CALLS TO*FILE SYS*OWNED*REMOTELY'
                 SMF92VCRX='CALLS*REQUIRED*TRANSMIT*FOR REMOTE'
                 SMF92VCT='AVG TIME*PER CALL*LOCALLY*OWNED'
                 SMF92VCRT='AVG TIME*PER CALL*REMOTELY*OWNED'
                 SMF92VCN='CALLS TO*FILE SYS*LOCAL OR*REMOTE'
              -NEW dataset TYPE9252: STATISTICS FOR ZFS USER FILE CACHE
                 SMF92UCT  =' STCKE DATETIME*WHEN*STATISTICS'
                 SMF92UCSCH='TIMES*DIRTY DATA**SKED FOR*WRITE TO DISK'
                 SMF92UCSET='CALLS*TO CHANGE*ATTRIBUTES*OF A FILE'
                 SMF92UCFSY='CALLS*TO SYNC*ALL DIRTY DATA*SYNC WAIT'
                 SMF92UCUNM='CALLS*TO PURGE*USER CACHE'
                 SMF92UCRD ='CALLS*TO READ*FROM FILE*IN USER CACHE'
                 SMF92UCRDA='ASYNC*READ-AHEADS*SCHEDULED*SEQUENTIALLY'
                 SMF92UCWR ='CALLS*TO WRITE*TO FILE*IN USER CACHE'
                 SMF92UCGET='CALLS CACHE*TO OBTAIN ATTRIBUTES'
                 SMF92UCFL ='CALLS CACHE*TO FLUSH*ALL DATA FOR*FILE SYS'
                 SMF92UCDEL='WRITES*OF DIRTY DATA*AVOIDED'
                 SMF92UCRDF='READ CALL*TO FILE CACHE*FOUND*A CACHE MISS'
                 SMF92UCWRF='WRITE CALL*TO FILE CACHE*FOUND*A CACHE MISS
                 SMF92UCRIO='READ I/OS*TO DISK*USER FILE CACHE'
                 SMF92UCWRS='NORMAL*WRITE I/OS*SKED*BY FILE CACHE'
                 SMF92UCWRE='WRITE I/OS*SKED*ERROR FOUND'
                 SMF92UCWRR='WRITE I/OS*SKED*RECLAIM-STEAL'
                 SMF92UCRWR='TASK WAITS*FOR SKED READ*FROM DISK'
                 SMF92UCWW ='TASK WAITS*FOR WRITE*FILE*PENDING I/O'
                 SMF92UCWWF='TASK WAITS*FOR PENDING I/O*FOR FSYNC CALLS'
                 SMF92UCWWE='TASK WAITS*FOR I/O*ERROR*PROCESSING'
                 SMF92UCWWR='TASK WAITS*FOR I/O*RECLAIM-STEAL*PROCESSING
                 SMF92UCRST='TIMES*RECLAIM-STEAL*PROCESSING*WAS INVOKED'
                 SMF92UCCS ='CACHES*SPACES*LRU QUEUES* AND PAGEPOOLS'
                 SMF92UCPCS='PAGES*IN EACH*CACHE SPACE'
                 SMF92UCSS ='SIZE OF*INDIVIDUAL*FILE SEGMENT'
                 SMF92UCPGS='SIZE OF*A PAGE*IN THE USER*FILE CACHE'
                 SMF92UCPGT='TOTAL PAGES*IN THE USER*FILE CACHE'
                 SMF92UCPGF='FREE PAGES*IN THE USER*FILE CACHE'
                 SMF92UCSGC='ALLOCATED*SEGMENT*STRUCTURES*IN FILE CACHE'
                 SMF92UCDSL='LENGTH*PER-CACHE*SPACE RECORD'
              -NEW dataset TYPE9252X:CACHE SPACE NAME SEGMENT
                 SMF92DSNAM='NAME OF*THE CACHE SPACE'
                 SMF92DSAS ='SEGMENTS*ALLOCATED'
                 SMF92DSFR ='FREE PAGES*IN CACHE LIST'
              -NEW dataset TYPE9253: STATISTICS FOR ZFS METADATA CACHE
                 SMF92MCT ='DATETIME*WHEN*STATISTICS*WRITTEN'
                 SMF92MCB ='BUFFERS IN THE METADATA CACHE.'
                 SMF92MCLK='SEARCH CALLS*FOR BUFFER*IN METADATA CACHE'
                 SMF92MCHT='SEARCH CALLS*CACHE HITS'
                 SMF92MCWP='CALLS TO*UPDATE*METADATA CACHE*BUFFER.'
                 SMF92MCPW='PARTIAL*BUFFERS*WRITTEN'
                 SMF92MCBS='BYTES IN*METADATA*CACHE BUFFER.'
              -NEW dataset TYPE9254: STATISTICS FOR ZFS LOCKING AND SLEE
              -NEW dataset TYPE9255: GENERAL ZFS DISK IO STATISTICS
              -NEW dataset TYPE9256: TOKEN MANAGER
              -NEW dataset TYPE9257: ZFS USE OF MEMORY
              -NEW dataset TYPE9258: TRANSMIT/RECEIVES BETWEEN ZFS MEMBE
              -NEW dataset TYPE9259: PER-FILE SYSTEM USAGE
              -RMF III UPDATES for z/OS 2.3:
              -ASMRMFV  Recent versions will execute without error to
               create RMFBSAM output, but these new variables are output
               with this VMACRMFV update:
              -Dataset ZRBASI new variable:
                ASISTAFL ASI2GMEMOBJ ASI2GPGSBKD
              -Dataset ZRBDVT new variables:
                DVTSSID ='SUBCHANNEL*SET'
                DVTDEVN2='DEVICE*NUMBER*DVTDEVNR'/
                DVTENIDX4='INDEX OF*THIS*DVTG3*ENTRY'/
                DVTPREVI4='INDEX OF*PREVIOUS*DVTG3*ENTRY'
              -Dataset ZRBGEI new variables:
                GEIGRMO ='FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
                GEIGRPR ='2GB FRAMES*FIXED IN*CSTORE'
                GEIGFUSE='2GB FRAMES*USED IN*FIXED*MEMOBJ'
                GEIGSIZ ='2GB FRAMES*CAN BE*USED 2GB MEMOBJ'
              -Dataset ZRBUWD new variables:
                UWDDEVNR4=DEVICE*TABLE*DVTG3*INDEX'

Change 35.165  Variables added to VXMTRMEM dataset:
VMACVMXA         RSAPIN0B ='PINNED*PAGES*CLASS 0*BELOW 2G'
Jul 28, 2017     RSAPIN0A ='PINNED*PAGES*CLASS 0*ABOVE 2G'
Aug  2, 2017     RSAPIN1B ='PINNED*PAGES*CLASS 1*BELOW 2G'
                 RSAPIN1A ='PINNED*PAGES*CLASS 1*ABOVE 2G'
                 RSAPINWP ='PINNED*PAGE COUNT*CAUSES WARNING'
                 RSAPINFP ='TOTAL*PINNED*PAGE*COUNT'
                 RSAIOUSD ='BYTES*IOAT*SUBPOOL'
                 RSAIOSIZE='SIZE (MB)*IOT*SUBPOOL'
                 RSAIOWRNP='WARNING*PCT*IOAT*USED'
                 SYSHPIOM ='MAX*CONCURNT*PG*RQSTS'
                 SYSHPFLG ='HYPERPAV*PAGING*FLAGS'
                 RSAAGEFL ='GLOBAL*AGING*LIST*FLAGS'
               Variables added to VXSYTRSG dataset:
                 RSAPIN0B ='SYS TOT*PINNED*PAGES*CL 0 LT 2G'
                 RSAPIN0A ='SYS TOT*PINNED*PAGES*CL 0 GT 2G'
                 RSAPIN1B ='SYS TOT*PINNED*PAGES*CL 1 LT 2G'
                 RSAPIN1A ='SYS TOT*PINNED*PAGES*CL 1 GT 2G'
                 RSAPINWP ='PCT PINNED*CAUSED*WARNING'
                 RSAPINFP ='PCT PINNED*CAUSED*FAILURE'
                 RSAPINWC ='TIMES*WARNING*PCT*EXCEEDED'
                 RSAPINFC ='TIMES*FAILURE*PCT*EXCEEDED'
                 RSAIOUSD ='BYTES*USED*IOAT*SUBPOOL'
                 RSAIOWRNP='PCT*IOAT*SUBPOOL*VS SIZE'
                 RSAIOWRNC='TIMES*IOAT*SUBPOOL*WARNING'
                 RSAIOFALS='TIMES*IOAT*SUBPOOL*NOT AVAIL'
                 RSAIOFAIL='TIME*NOT AVAIL*IOAT AND*AVAILLIST'
               Variables corrected in VXBYUSR dataset, all
               were missing the divide by 4096.

   Thanks to Patricia Hansen, ADP, USA.
   Thanks to Mike Chaves, ADP, USA.

Change 35.164  Variables added to XAMSYS dataset:
VMACXAM          RSACKMB2G='CP FRAMES*LT 2G*FOR DUMP'
Jul 26, 2017     RSACKMA2G='CP FRAMES*GT 2G*FOR DUMP'
                 RSAPIN0B ='PINNED*PAGES*CLASS 0*BELOW 2G'
                 RSAPIN0A ='PINNED*PAGES*CLASS 0*ABOVE 2G'
                 RSAPIN1B ='PINNED*PAGES*CLASS 1*BELOW 2G'
                 RSAPIN1A ='PINNED*PAGES*CLASS 1*ABOVE 2G'
                 RSAPINWP ='PINNED*PAGE COUNT*CAUSES WARNING'
                 RSAPINFP ='TOTAL*PINNED*PAGE*COUNT'
                 RSAIOUSD ='BYTES*IOAT*SUBPOOL'
                 RSAIOSIZE='SIZE (MB)*IOT*SUBPOOL'
                 RSAIOWRNP='WARNING*PCT*IOAT*USED'
                 SYSHPIOM ='MAX*CONCURNT*PG*RQSTS'
                 SYSHPFLG ='HYPERPAV*PAGING*FLAGS'
                 RSAAGEFL ='GLOBAL*AGING*LIST*FLAGS'
   Thanks to Patricia Hansen, ADP, USA.
   Thanks to Mike Chaves, ADP, USA.

Change 35.163  Support for Dell EMC Mainframe Enablers for z/OS V8.2 for
EXPAVO01       their z Systems PAV Optimizer, PAVO product's user SMF
EXPAVE01       record creates two new datasets:
IMACPAVO          DDDDDD    DATASET    DESCRIPTION
TYPEPAVO          TYPAVO    TYPEPAVO   PAVO OPTIMIZER DATA
TYPSPAVO          TYPAVE    TYPEPAVE   PAVO EVENT
VMACPAVO
VMXGINIT       This support is incomplete and in active development;
Aug 25, 2017   please contact SUPPORT@MXG.COM for current status.

Change 35.162  Support for Dell EMC Mainframe Enablers for z/OS V8.2 for
EXZDPVDG       their z Systems Data Protector, zDP product's user SMF
IMACZDP        record creates new TYPEZDP dataset:
TYPEZDP          DDDDDD    DATASET    DESCRIPTION
TYPSZDP          ZDPVDG    TYPEZDP    ZDP DATA
VMACZDP
VMXGINIT
Jul 24, 2017

Change 35.161  Support for BMC Mainview/CICS Version 7.1 (CICS/TS 5.4)
FORMATS        adds many new fields and updated formats.
VMACMVCI
Jul 23, 2017

Change 35.160  Support for AXWAY Version 3.1.3; the documentation does
VMACAXWY       not match the actual data records and some fields are not
Jul 21, 2017   input, pending feedback from the vendor.
   Thanks to Michael Reines, Decadis, GERMANY.

Change 35.159  VGETSORT now adds formats to the output for the sorted by
VGETSORT       variables for each dataset.  For each found member, there
Jul 28, 2017   will be a MACRO variable FMTx corresponding to the SRTx
               variable that will contain the formats of the variables
               in the SORTEDBY list. Where there is no specified format
               CHAR is substituted.

Change 35.158  Support for Mainview/CICS Optional SMF 110 BMCMVCIC field
IMACICWU       in dataset CICSTRAN.
UTILEXCL
VMAC110
Jul 18, 2017

Change 35.157  MXG 35.01-35.06.  Variable DB2TCBTM was removed from the
VMXGUOW        CPUUOWTM value in PDB.ASUMUOW back in Change 32.014, but
Jul 18, 2017   was put back in the equation in 35.01, in error, so it
               is again removed from the equation, per text of 32.104.
   Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA

Change 35.156  ERROR: VARIABLE DTOKEN/IMSRECCH NOT FOUND because they
VMACIMS        were in the BY list for the IMS06 dataset sort but were
Jul 16, 2017   not kept; now they are kept in IMS06.
   Thanks to Randy Hewitt, DXC, USA.

Change 35.155  TPX STOPOVER because the change in length of IP Port from
VMACTPX        4 to 5 digits was not fully protected.  Variable
Jul 16, 2017   TPXIPPRT in datasets TPXTRMON/TPXTRMOF and variable
               TPXIPADR in dataset TPXAPLOF values are now correct.
               CA's record length change was in Feb, 2016, RO85818.
   Thanks to Paul Naddeo, FISERV, USA.

Change 35.154 -MXG 35.06 only, STOPOVER abend during TYPERMFV execution
ASMRMFV        processing RMF III with option UWD (Use/Wait table) after
Jul 11, 2017   Change 35.148. Message RMFV006I may show incorrect RMF
Jul 21, 2017   Monitor III table selections, but processing of the
               actual selected tables still occurred. Message RMFV006I
               could show NOZEROCPU when the default ZEROCPU setting was
               in effect for the ASI table.  Only ASMRMFV was changed.
              -With this change if the NOSVP table option is in effect
               then the RCD option will be forced to NORCD.
              -Invalid RMFV012I and/or RMFV013I Sample RANGE and
               SELECTED messages when RMF III data originates from a
               time zone with time stamps later than the current TOD in
               the time zone where ASMRMFV is executing.
    Thanks to Betty Wong, Bank of America, USA
    Thanks to Roger Lowe, Northern Territory Government, AUSTRALIA.

Change 35.153  The IBM RMF CRYPTO report shows a TOTAL EXEC TIME with a
VMAC7072       value of 0.120 but that is actually the AVERAGE EXEC TIME
Jul  7, 2017   per call, and the unstated units are milliseconds, so the
               actual average value was 120 microseconds. In TYPE7002
               dataset, the actual average value was 120 microseconds.
               MXG Variable CRYCTE is the calculated average value,
               0.000120 seconds, which is 120 microseconds. When printed
               with TIMW13.3 format, only three decimals were displayed
               (0:00:00.000), so crypto duration variables are now
               formatted TIME14.6 to display as 0:00:00.000120 to show
               microseconds.
   Thanks to Martha A. Knapik, Progressive, USA.
   Thanks to Douglas Wells, Progressive, USA.

Change 35.152  Support for BETA 97 Subtype 22 record for both version
EXTYB97Q       430 and 610, although only 430 records have been read.
EXTYB97R       New dataset BETA9722REL is created with the relocate
FORMATS        segments for Subtype 22 records.
VMACBE97
VMXGINIT
Jul  9, 2017

====== Changes thru 35.151 are in this MXG 35.06 dated Jun 30, 2017=====

Change 35.151  BMC CMF TYPE74 subtype 8 records requires BMC PTF BQM1335
TYPE74         after IBM SuperPav support is installed, even if you are
Jun 28, 2017   NOT using SuperPAVs. After IBMSuperPAV PTFs, the ESS Rank
               data are incorrect.  No code was changed in MXG.
   Thanks to Jerry Ellis, Liberty Mutual, USA.

Change 35.150  Option %LET CECONLY=YES; creates PDB.ASUMCEC keeping only
VMXG70PR       the 68 CEC-Level variables, dropping 2794 LPAR-specific
Jun 28, 2017   variables (generally useless, with unique variable names
               for 60 LPARs) and creates PDB.ASUMCELP (no changes, but
               with one observation per LPAR, it is THE dataset to use
               to report LPAR data, with ONE set of variable names.)
               NOTE: ALL LPARS in the CEC are summed into ASUMCEC.
                     Only the first 60 have sets of kept unique names.
               The ASUM70PR/ASUM70LP and ASUM70GC/ASUM70GL datasets are
               not created when  %LET CECONLY=YES; is placed in your
               //SYSIN prior to the INCLUDE of ASUM70PR.

Change 35.149  New BUILDJCL=YES option creates JCL for two step job with
UTILBLDP       PGM=IFASMFDP control statements to select ONLY the SMF
Jun 30, 2017   records needed for your UTILBLDP selections.

Sep 30, 2017   On Sep 30, UTILBLDX from this change became UTILBLDP as
               had been planned in the original text of this change,
               and UTILBLDX was removed from MXG 35.09.

              -comparison of CPU savings:
               Using IFASMFDP to select SMF records can save CPU time,
               especially for Ad Hoc jobs that select a relatively small
               number of SMF records.  Tests with a 15 GigaByte SMF file
               with 25 million records was used, but only 1.4 Million of
               those records (1 GB) were actually decoded and output.
               But they had to be read and that costs CPU time:
                                                            MM:SS
                 READ ALL RECORDS                           14:56
                 USE MXG MACFILE EXIT TO SKIP UNWANTED      12:43

                 IFASMFDP READ ALL SELECT/WANTED             0:10
                 READ SELECTED/WANTED                        2:25

                -Using MACFILE, _SMF decodes the full header and then
                 deletes unwanted. Decoding DATETIME variables is the
                 most expensive INFORMAT so I inserted an exit to skip
                 the unwanted immediately after the ID was input and
                 prior to any DATETIME field, but the savings were much
                 less than hoped for and much less than using IFASMFDP.
                                                                MM:SS
                  READ ALL with _SMF THEN DELETE UNWANTED        6:29
                  READ ALL, DELETE AFTER ID READ                 4:45

                -BUILDJCL for extreme cases provides extreme results:
                 Selecting 194 SMF 115 records in a file of 300 million
                 records (1 MB from 137 GB) dropped the CPU time from
                 25 min to only 46 seconds, elapsed from 28 to 13 min.

Change 35.148  RMF III CPUTM in datasets ZRBRCDS and ZRBRCDR is wrong if
ASMRMFV        ASMRMFV selected RCD records but didn't select SVP table.
ADOCRMFV       Creation of CPUTCBTM/CPUSRBTM from Service Units requires
VMACRMFV       the SVPCPU and SVPSRB coefficients.  ASMRMFV now selects
Jun 27, 2017   SVP records when RCD is selected. Additionally, variable
               CPUTM is set missing if there are no SVP data.
               SO YOU MUST HAVE BOTH RCD AND SVP TABLES IN ASMRMFV.
              -However, if the SVP table is selected, then the RCD table
               is NOT forced. The SVP table is now also moved to the
               BASIC option table selection group from the MOST option
               table selection group because the RCD was always part of
               the BASIC option table group.
              -Minor performance improvement to UWD table processing
               logic.
              -Several documentation Sections are updated to support the
               above changes:
               Section  0 "Contents"
               Section  4 "RMF III Table Selection Parameters"
               Section 13 "Filtered Records"
               Section 26 "ASMRMFV and MXG PDB Data
   Thanks to MP Welch, Bank of America, USA.

Change 35.147  Support for new segments create two new datasets:
EXVSIDSK         DDDDDD    DATASET    DESCRIPTION
EXXAMPRC         VSIDSK    XMVSIDSK   VSIDISK Data
IMACXAM          XAMPRC    XAMSYPRC   LIMPOOL Data
VMACXAM
VMXGINIT
Jun 28, 2017
   Thanks to Patricia Hansen, ADP, USA.
   Thanks to Mike Chaves, ADP, USA.

Change 35.146 -TYPE749 vars R749FPGBYTR and R749FPGBYTS were incorrectly
VMAC74         multiplied by 256; the two input variables had already
Jun 23, 2017   been converted to bytes.
              -TYPE749 variables decoded from SMF74DO offset were wrong;
               the +17 added to SMF74DO should have been +16.
                  R749DMAR R749DMAW R749DFMT R749DBYR R749DBYT
                  R749DFMT R749DPKR R749DPKT R749DWUP R749DWUM
                  R749DFMT R749DBYX R749DFMT
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.145  Some zVM VXSYTPRP new SMT variables were incorrectly
FORMATS        tested for error conditions with GT 8000000Nx values
VMACVMXA       that no longer existed after their INPUT, causing large
Jun 25, 2017   values in occasional observations.  They are now INPUT
               with IB4 or IB4.3 INFORMATS so the first-bit-value causes
               a negative value, and the error tests are now LT 0 to
               detect and delete them.  The MGVXAER format was revised
               decode the negative values to print the error messages on
               the SAS log (for the first 3 of each error type).
              -Some INTERVAL variables were incorrectly deaccumulated
               that also caused occasional large values.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.144  These error messages, introduced in Change 35.050:
ASUM70PR     MXGERROR:DATASETS ASUMCEC ASUMCELP ARE NOT VALID.  YOU ARE
VMXG70PR     MXGERROR:MISSING TYPE 70 RECORDS FOR ONE OR MORE SYSTEMS.
Jun 23, 2017 MXGERROR:SMF70LAC VALUES FOR THOSE SYSTEMS/CECS ARE INVALID
             MXGERROR:SEE CHANGE 35.144 TO CORRECT.
               impact the important ASUMCEC and ASUMCELP CEC-level data.
                  Datasets ASUM70PR and ASUM70LP are impacted, but they
                  are SYSTEM-Level and are NOT recommended for analysis.
               The messages will result if you did NOT process type 70
               records from ALL OF YOUR z/OS SYSTEMS in the CEC; for
               that case, you need to read all 70 SMF records.
               They can also result if your z/OS configuration uses z/OS
               SYSTEM names that are set in your SYS1.PARMLIB's IEASYSxx
               and are NOT the same as the SMF SYSTEM ID: for example,
               if you set SYSTEM names in IEASYSxx to the LPARNAME.
              -This change creates a new INCODE70 argument that can be
               set externally by macro variable &INCODE70FORPR, so you
               can change those SYSTEM name to LPARNAME.  Note, this is
               only done internally in ASUM70PR code; there is no SYSTEM
               variable in ASUMCEC/ASUMCELP.  To use INCODE70FORPR, you
               first need run this program and look at the output of
                  PROC FREQ DATA=PDB.TYPE70PR;
                  TABLES LPARNAME*SMF70STN/NOROW NOCOL NOCUM NOPERCENT;
               to verify that LPARNAME equals SMF70STN for ALL systems.
               IF THAT IS TRUE, then you need to use either INCODE70= in
               your tailored ASUM70PR member (in your USERID.SOURCLIB),
               or set the value prior to your ASUM70PR include, using:
                 %LET INCODE70FOR70PR=%QUOTE(
                     IF SYSTEM NE LPARNAME THEN SYSTEM=LPARNAME;
                 );
              -Newly added, once you have verified the preceding is TRUE
               you can let MXG do the heavy lifting and specify:
                 %LET INCODE70=ENABLEAUTO;
                 (this %LET was corrected Aug 29, 2022, originally the
                  change text had INCODE70FORPR which was wrong)
               and MXG will generate the needed code to correct.
               Don't hesitate to contact support@mxg.com for help.
               See Change 36.026 for an example when LPARNAME is not
               equal to SMF70STN.
               See Also Change 37.071 that added INTIME70xx macros.
               These are the variables that will have missing values
               in PDB.ASUMCECLP and ASUMCEC for those LPARs listed:
               SMF70CPA SMF70LAC SMF70PAT SMF70WTI SMF70WTS SMF70WTI.

Change 35.143 -The UTIILBLDP option SUPPRESS is enhanced to recognize
UTILBLDP       CICS to be the same as 110.
Jun 21, 2017  -If you specified SORTOUT=NEVER (not really recommended,
               intended only for internal testing) it didn't work right:
               only the datasets where sort IS required were NOT sorted,
               (i.e. DIF() required for deaccumulate members) and  all
               other datasets WERE sorted.  Now, NEVER sorts NOTHING,
               and SORTOUT=NO option now sorts ONLY those members that
               must be sorted for DIF().

Change 35.142  Format MG080QU has been updated with new z/OS 2.2 values
FORMATS        for decoding variable RACFQUAL='EVENT*CODE*QUALIFIER'
Jun 16, 2017
   Thanks to Lindsay Oxenham, Australia Defence Department, AUSTRALIA.

Change 35.141  John Burg's 2017 formula for RNI for the z13 was changed
ASUM113        from the 2.6 factor introduced in Change 33.033 in 2015
VMAC113        to the new value of 2.3.  John's paper can be found at:
VMACVMXA           http://www-03.ibm.com/support/
Jun 15, 2017            /techdocs/atsmastr.nsf/WebIndex/TC000066
   Thanks to David Cogar, WellsFargo, USA.

Change 35.140  Support for short sub-sub-type ZPRTR1PL=188.
VMACZPRO
Jun 15, 2017

Change 35.139 -Support for restructured BETA93 Subtype 25 (VMACBETA)
VMACBETA       and for restructured BETA97 Subtype 25 (VMACBE97) which
VMACBE97       adds new BE97DTKN DTOKEN variable.
Jun 21, 2017  -Variable BETALEXT has length $16 in VMACBETA subtypes
Jun 26, 2017   21 and 25, but the first INPUT for subtype 0 and other
               earlier subtype are length $12, so the kept length was
               only 12.  Now, LENGTH BETALEXT $16 is set so the kept
               variable length is the maximum 16 bytes.
   Thanks to Thomas Wigger, Finanz Informatik, GERMANY.
   Thanks to Dieter Haak, Finanz Informatik, GERMANY.
   Thanks to Robert Gilbert, BNP Paribas Fortis, BELGIUM.

Change 35.138  TPX corrections to TPXIPPRT and TPXTRMON dataset.
VMACTPX        The '07'x records are only LENGTH=101, so the TPXAPLON
Jun  9, 2017   data set is still missing TPXIPADR and TPXIPPRT fields.
   Thanks to Scott Wiig, USBank, USA.

Change 35.137  Datasets TYPE42DS, TYPE42SR & TYPE42VT with APAR OA44319
VMAC42         have increased accuracy for these I/O duration variables:
Jun  6, 2017   RESPTIME AVGCONTM AVGPNDTM AVGDISTM AVGCUQMS S42CONTM and
               AVGIOQMS.
   Thanks to Ron Hawkins, Hitachi, USA.

Change 35.136  Correction for NETVIEW ID=38 record with S38CCALR length
VMAC38         less than expected length of 8 bytes.  Record is valid,
Jun 14, 2017   MXG expected fixed length of 8 characters.
   Thanks to Stuart Wildey, Morgan Stanley, ENGLAND.

Change 35.135 -Enhancements for 4 numeric data filters for RMF Monitor
ADOCRMFV       III ASI (Address Space Information) table.
ASMRMFV       -A pair of data filters are added to filter ASI entries
VMACRMFV       based on the ASICPUTA (Total TCB+SRB time) field for each
Jun  6, 2017   MINTIME interval.  These filters are effective only if
               the ASI table is selected.

               New Parameter  Alias(es)
               -------------  ------------------------------------------
               ZEROCPU        ZCPU                               Default
               NOZEROCPU      NOZCPU, NZCPU

              -ZEROCPU is the default and results in all ASI entries
               being output to the RMFBSAM file and thus all becoming
               observations in the MXG PDB data set ZRBASI (depending
               on other ASI filters that may be in use).

               The default provides a compatible behavior with prior
               ASMRMFV versions.

              -NOZEROCPU results in all ASI entries with ASICPUTA=0
               being filtered (depending on other ASI filters that may
               be in use) and thus these do NOT become observations in
               the MXG PDB data set ZRBASI.  The data volume to generate
               the PDB can be significantly reduced.

               In a test group of 21 RMF Monitor III VSAM data sets
               78.3% of all ASI entries had ASICPUTA=0.  Actual results
               may vary.

              -While the NOZEROCPU setting might seem to be ALWAYS
               desirable there are other considerations:

               1) Filtering zero CPU time ASI entries will result in
               time series gaps for some Address Spaces in some MINTIME
               intervals in charts, plots, or reports.

               If such gaps are not acceptable, use the default ZEROCPU
               parameter instead.  However, there will be a higher
               number of PDB ZRBASI data set observations as in prior
               ASMRMFV versions.

               2) Zero CPU time conditions are NOT always due to pure
               idleness for an Address Space.

               RMF Monitor III detected delays such as Processor,
               Enqueue, Operator Reply, and Operator Mount separately or
               in combination can prevent accumulation of any CPU time
               for an Address Space in a single MINTIME interval.

               The NOZEROCPU parameter used alone with the NOKEEPDELAYS
               default will filter out these entries so that further
               investigation of a zero CPU time Address Space in a
               MINTIME interval based on delays is impossible.

              -With the above use of NOZEROCPU in mind an additional
               pair of data filters are added to further filter ASI
               entries based on the ASISWAIN (Number of Single State
               Samples Delayed by ANY Resource) field for each MINTIME
               interval.

               This filter pair is effective only if the NOZEROCPU
               parameter is in effect.

               New Parameter  Alias(es)
               -------------  ------------------------------------------
               KEEPDELAYS     KDELAYS, KDLYS, KEEPD
               NOKEEPDELAYS   NOKDELAYS, NOKDLYS, NOKEEPD        Default

              -With NOZEROCPU and NOKEEPDELAYS in effect all ASI entries
               with ASICPUTA=0 are filtered regardless if any delays
               occurred or not during a MINTIME interval (if not already
               filtered by other ASI filters).

              -With NOZEROCPU and KEEPDELAYS in effect only ASI entries
               with both ASICPUTA=0 AND ASISWAIN=0 (zero delays) in a
               MINTIME interval are filtered (if not already filtered
               by other ASI filters).

               In a test group of 21 RMF Monitor III VSAM data sets with
               NOZEROCPU and KEEPDELAYS 75.8% of all ASI entries had
               ASICPUTA=0 and ASISWAIN=0 and so were filtered.

               This was only 2.5% less data filtered than with NOZEROCPU
               used alone.  Once again actual results may vary.

              -NOZEROCPU and KEEPDELAYS are likely the best compromise
               settings between ASI data reduction and retention of
               delay information.  Neither are defaults.

               However, for maximum data reduction use NOZEROCPU alone
               if subsequent delay analysis is not required.

              -If ZEROCPU/NOZEROCPU is specified multiple times the last
               occurrence takes effect.

              -If KEEPDELAYS/NOKEEPDELAYS is specified multiple times
               the last occurrence takes effect, but both are ignored
               if ZEROCPU is in effect.

              -The following chart shows ASI entries output to the
               RMFBSAM file and thus also to the subsequent observations
               in MXG PDB ZRBASI data set based on the settings of
               ZEROCPU/NOZEROCPU, KEEPDELAYS/NOKEEPDELAYS:

               ---------------------------------------------------------
                        |    NOKEEPDELAYS       |  KEEPDELAYS
                        |    (Default)          |
               ---------------------------------------------------------
               ZEROCPU  |All ASI entries output |All ASI entries output
               (Default)|                       |
               ---------------------------------------------------------
               NOZEROCPU|Only ASI entries output|Only ASI entries output
                        |with ASICPUTA NE 0     |with ASICPUTA NE 0
                        |                       |OR   ASISWAIN NE 0
               ---------------------------------------------------------

              -ASIAND/ASIOR does NOT apply to ZEROCPU/NOZEROCPU and
               KEEPDELAYS/NOKEEPDELAYS filters.  These are evaluated
               independently of other ASI filters.

              -The order of ASI filter application is:

                1) ASISUBSYS=    <----
                2) ASIWORKLOAD=      |
                3) ASIRESGROUP=      |
                4) ASISRVCLASS=      |--< ASIAND/ASIOR applies only
                5) ASIRPTCLASS=      |    to these filters 1) to 8)
                6) ASIJOBCLASS=      |
                7) ASIJOBNAME=       |
                8) ASIJESID=     <----
                9) ZEROCPU/NOZEROCPU
               10) KEEPDELAYS/NOKEEPDELAYS

              -The MXG00 record version is raised to x'09' from x'08'.
               New fields added to the MXG00 record include:
               ZEROCPU/NOZEROCPU and KEEPDELAYS/NOKEEPDELAYS settings

              -Update message RMFV006I to show new output filters
               ZEROCPU/NOZEROCPU/KEEPDELAYS/NOKEEPDELAYS.

              -Several documentation Sections are updated to support
               the above changes:

               Section  0 "Contents"
               Section  2 "Terminology"
               Section  4 "RMF III Table Selection Parameters"
               Section  5 "Input Data Selection Parameters"
               Section  6 "Report Control Parameters"
               Section  7 "Output Data Control Parameters"
               Section 12 "Messages"
               Section 13 "Filtered Records"
               Section 31 "Summary"

Change 35.134  Variables T103DBYT and T103DREQ are accumulated fields
VMAC103        that are now correctly deaccumulated in TYPE103D dataset.
Jun  5, 2017   Variables T103DDNS and T103DKEE are always zero in test
               data, so it is unknown if they also are accumulated.
   Thanks to Joe Faska, DTCC, USA.

Change 35.133  Test program COMPALL updated for new SMF products.  This
COMPALL        utility compiles all of the SMF processing programs to
Jun  5, 2017   ensure no CHAR/NUM conflicts in temporary variables.
               Can not be run on z/OS because it requires 3292MB which
               is more than the largest z/OS Private Area available.

Change 35.132  Support for zVM 6.4 APAR VM66026 adds new variables;
VMACVMXA      -Variable CUIDSSID='SUBSYSTEM*ID*SSID' is added to dataset
Jun  3, 2017   VXMTRDEV, VXIODVON, and VXIODDEF.
              -Variables added to VXIODVON
                PREFPATH RDEVHPPL CUIDSSID EQIDUID EQIEQID DEVCHAR
                EDEVATTR
              -Variables added to VXIODDEV
               RDEVNOAL RDEVYSAL RDEVIOQT RDEVIOQS CUIFCXPE RDEVWRAL
               RDEVRDAL RDEVWXAL RDEVEXAL

Change 35.131  zVM variable CALENTMT was incorrectly divided by 16, and
VMACVMXA       new variable CALSHARE='Hiperdispatch*Processor*SHARE is
Jun  1, 2017   now created as CALSHARE=CALENTMT/65536;
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.130  Changes in VMXGSUM invocation in little used and mostly
ASUM*          obsolete members so that WPS can handle QA stream:
MNTH*          ASUMHPAI ASUMHPCS ASUMHPSU ASUMHPUX ASUMMWUX
TRND*          MNTH70 MNTH70PR MNTH71 MNTH72 MNTH72GO MNTHCICS MNTHJOBS
May 31, 2017   TRND70 TRND70SH TRND71 TRND72 TRND72GO

Change 35.129  Support for 7th, 8th, and 9th CICS User field.
UTILEXCL
IMACIC7D
IMACIC8D
IMACIC9D
IMACIC7U
IMACIC8U
IMACIC9U
May 31, 2017

Change 35.128  Documentation Note.  ZFS and ODS users may need to change
IMACINIT       the MXG default CAPSOUT option to NOCAPSOUT since those
May 26, 2017   system need to support both cases.  I don't think it is
               safe for me to change the option as it could impact the
               existing users on z/OS where it was originally needed.
               But you can add  OPTIONS NOCAPSOUT: in the IMACINIT
               member of your tailoring library if you determine it can
               be changed with no impact.

Change 35.127  Dataset TYPE30_6 could have negative values for Early
VMAC30         Address Spaces (ASIDs that start prior to JES init that
May 26, 2017   have missing READTIME and JESNR) because of multiple
               of the same JOB name, but adding variable ASID to the
               BY list in MACRO _BTY30U6 corrects these errors.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.126  Variable SMF30SLM is decoded into these new variables in
BUILD005       TYPE30_4 and PDB.STEPS in BUILDPDB and BUILDPD3:
BUIL3005         SMF30SLMRB='REGIONBELOW*NONEXTENDED*REGION?'
VMAC30           SMF30SLMRA='REGIONABOVE*EXTENDED*REGION?'
May 26, 2017     SMF30SLMSB='SYSRESVBELOW*NONEXTENDED*REGION?'
                 SMF30SLMSA='SYSRESVABOVE*EXTENDED*REGION?'
                 SMF30SLMML='MEMLIMIT*ACTED ON*MEMLIMIT?'
                 SMF30SLMBY='IEFUSI*BYPASSED*ALL*SMFLIM?'
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 35.125  Support for z/OS 2.3 changes. See also Change 35.166.
EXTY9208      -Support for SMF Record Types 127-2047, with ID 0-127 and
EXTY9250       1152-2047 reserved for IBM use, and ID 127-1151 for USER
EXTY9251       SMF record types.  The SMF header was extended by using
EXTY9252       never-used ID=126 record type to identify this record has
EXTY9253       the extended header.  Note that new SMF exit IEFU86 is
EXTY9254       taken for ALL SMF records, with or without the extended
EXTY9255       header, and existing SMF exits IEFU83/84/85 are called
EXTY9256       ONLY for records with standard header.
EXTY9257      -Dataset TYPE1415 new variables:
EXTY9258         SMF14DEF='ENCRYPTION*FLAG*BYTE'
EXTY9259         SMF14DET='ENCRYPTION*TYPE'
IMAC92           SMF14DKL='DASD*DATA SET*KEY*LABELS'
VMAC1415         Fields exist only if Encryption Subtype 9 exists.
VMAC42        -Dataset TYPE4227 new variables:
VMAC62           SMF42RDSC_OLD='SMF42RDSC*OLD DSCB*DATA*FIELD'
VMAC7072         SMF42RDSC_NEW='SMF42RDSC*NEW DSCB*DATA*FIELD'
VMAC71           SMF42RKEY_OLD='SMF42RKEY*OLD DSCB KEY*DATASET*NAME'
VMAC92           SMF42RKEY_NEW='SMF42RKEY*NEW DSCB KEY*DATASET*NAME'
VMACSMF          The _ETY4227 output macro was relocated correctly so it
VMXGINIT         is outside the LN2 DO group, causing observations to
VMAC73           now be created that were not previously output.
VMAC74           Tested.
VMAC75          -Dataset TYPE62 new variables:
VMAC76           SMF62DEF='ENCRYPTION*FLAG*BYTE'
VMAC77           SMF62DET='ENCRYPTION*TYPE'
VMAC78           SMF62DKL='DASD*DATA SET*KEY*LABEL'
VMAC79        -Dataset TYPE71 new variables, APAR OA48913 added.
VMACRMFV         SMF71RFL='SMF71RFL*FLAGS'
Jul 18, 2017     SMF71NNF='AVG NON-NUC*FRAMES*COMPRISING*STORAGE'
Jul 28, 2017     SMF71LSI='AVG SYS-INIT*DEMOTIONS*LARGE*TO 4K'
                 SMF71LRI='AVG REQ-INIT*DEMOTIONS*LARGE*TO 4K'
                 SMF71MHW='HWM 1MB*FRAMES*USED FOR*FIXED 1MB'
                 SMF71PIS='AVG 4KB*PAGEINS*FROM SCM'
                 SMF71POS='AVG 4KB*PAGEOUTS*TO SCM'
                 SMF71PI1='AVG 1MB*PAGEINS*FROM SCM'
                 SMF71PO1='AVG 1MB*PAGEINS*FROM SCM'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF71DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF71DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Fields not present, LENPDGS/SMF71PDL is 2160 bytes,
                 but should be 2224.
              -Dataset TYPE72GO new variable:
                 R723GMLM='MEMORY*LIMIT*SPECIFIED?'
                 R723GMML='MEMORY*LIMIT*GB of*resgroup'
                 R723CTETX='TOTAL*TRANSACTION*ELAPSED*TIME'
                 R723CXETX='TOTAL*TRANSACTION*EXECUTION*TIME'
                 R723CETSX='SUM*ELAPSED*TIME*SQUARED'
                 R723CQDTX='TOTAL*QUEUE*DELAY*TIME'
                 R723CADTX='TIME*BATCH JOBS*INELIGIBLE*TO RUN'
                 R723CCVTX='TIME*BATCH JOBS*SPENT*IN JCL CVTR'
                 R723CIQTX='TIME*BATCH JOBS*INELIGIBLE*IN JOBQ'
                 Tested; 35.06 only kept first two variables.
              -Dataset TYPE7204 new variable:
                 R724ETX='TOTAL*EXECUTION*TIME*GROUP'
                 R724QTX='TOTAL*QUEUE*TIME*GROUP'
                 R724OR7A='MEMORY*POOL*SHORTAGE'
                 Tested.
              -Dataset TYPE73 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF73DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF73DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Tested.
              -Dataset TYPE74 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF74DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF74DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 SMF74ATD='I/O DELAYS*PAV*ALIAS*THROTTLING'
                 Tested.
              -Dataset TYPE74CA new variable:
                 R745XSCS='SUBCHANNEL*SET*ID'
                 Tested.
              -Dataset TYPE748 new variable:
                 R748CFSC='SUBCHANNEL*SET*ID*PHYS CONFIG'
                 R748CSCS='SUBCHANNEL*SET*ID OF*FAILING*DEVICE'
                 No Observations to test.
              -Dataset TYPE75 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF75DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF75DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 SMF75SCS='SUBCHANNEL*SET*ID'
                 Tested.
              -Dataset TYPE76 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF76DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF76DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Tested.
              -Dataset TYPE77 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF77DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF77DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 Tested.
              -Dataset TYPE78 new variables:
                 ZARCHMDE='SYSTEM*IS IN*Z/ARCH MODE?'
                 IFAAVAIL='AT LEAST*ONE ZAAP*INSTALLED'
                 ZIPAVAIL='AT LEAST*ONE ZIIP*INSTALLED'
                 SMF78DAT1='ENHANCED*DAT*FACILITY 1*AVAILABLE'
                 SMF78DAT2='ENHANCED*DAT*FACILITY 2*AVAILABLE'
                 No Observations to test.
              -Dataset TYPE791 update:
                 R791SRC new MP Swap Reason Memory Pool Shortage
                 No Observations to test.
              -Dataset TYPE796 new variables:
                 R796SCS='SUBCHANNEL*SET*ID'
                 No Observations to test.
              -Dataset TYPE79B new variables:
                 R79BSCS='SUBCHANNEL*SET*ID'
                 No Observations to test.
              -TYPE92xxx datasets not tested, no data.
              -NEW dataset TYPE9208: ZFS FILE SYSTEM MIGRATED
                 SMF92GLUGNU='LOCAL*OR*REMOTE*MOUNT?'
                 SMF92GSN='FILE*SYSTEM*OWNER?'
                 SMF92GTM='DATETIME*OF*MIGRATION'
                 SMF92GMO='OFFSET OF*MOUNT*PARM*SECTION'
                 SMF92GFT='FILE*SYSTEM*TYPE*MNTENTFSTYPE'
                 SMF92GFM='FILE*SYSTEM*MODE*MNTENTFSMODE'
                 SMF92GDN='FILE*SYSTEM*DEVICE NUMBER*MNTENTFSDEV'
                 SMF92GDD='DDNAME*SPECIFIED*ON MOUNT*MNTENTFSDDNAME'
                 SMF92GTN='FILE*SYSTEM*TYPE NAME*MNTENTFSTNAME'
                 SMF92GFN='MIGRATION*TARGET*FILE*SYSTEM*NAME'
                 SMF92GON='MIGRATION*SOURCE*FILE*SYSTEM*NAME'
                 SMF92GBL='FILE*SYSTEM*BLOCK*SIZE'
                 SMF92GST='TOTAO*SPACE*IN FILE*SYSTEM'
                 SMF92GSU='ALLOCATED*SPACE IN*FILE*SYSTEM'
                 SMF92GFG='FIRST*BINARY*FLAG'
                 SMF92GF2='SECOND*BINARY*FLAG'
              -NEW dataset TYPE9250: ZFS FILE SYSTEM EVENTS
                 SMF92FSN='FILE*SYSTEM*NAME'
                 SMF92VOL='VOLSER*FIRST*EXTEND'
                 SMF92CCHH='CCCCHH*OF FIRST*EXTEND'
                 SMF92EVENT='FILE*SYSTEM*NAME'
                 SMF92SIZ='FORMATTED*SIZE OF*FILE*SYSTEM'
                 SMF92T50=' STKE *FILE*SYSTEM*EVENT'
                 SMF92CODE='FAILED*OPERATIONS*ERROR*CODE'
                 SMF92RSN='REASON*CODE'
                 SMF92OVS='PRIOR*VOLUME*SERIAL'
                 SMF92OCH='CCCCHH*OF PRIOR*VOLUME*SERIAL'
                 SMF92LRT='LOGFILE*RECOVERY*TIME'
                 SMF92LRP='LOG*PAGES*PROCESSED'
                 SMF92LRR='LOG*RECORDS*PROCESSED'
                 SMF92LRD='LOG*BLOCKS*MODIFIED'
                 SMF92LRE='REDO*DATA*RECORDS*PROCESSED'
                 SMF92LRF='FILL*RECORDS*PROCESSED'
                 SMF92LRN='NEW BLOCK*SECURITY*RECORDS*PROCESSED'
                 SMF92SYS='SYSTEM*NAME*REPORTING*EVENT'
              -NEW dataset TYPE9251: COUNTS/RESPONSE TIME ZFS CALLS
                 SMF92CCT='EVENT*DATETIME'
                 SMF92VCC='CALLS TO*FILE SYS*OWNED LOCALLY*OR R/O'
                 SMF82VCX='CALLS*REQUIRED*TRANSMIT*FOR LOCAL'
                 SMF92VCR='CALLS TO*FILE SYS*OWNED*REMOTELY'
                 SMF92VCRX='CALLS*REQUIRED*TRANSMIT*FOR REMOTE'
                 SMF92VCT='AVG TIME*PER CALL*LOCALLY*OWNED'
                 SMF92VCRT='AVG TIME*PER CALL*REMOTELY*OWNED'
                 SMF92VCN='CALLS TO*FILE SYS*LOCAL OR*REMOTE'
              -NEW dataset TYPE9252: STATISTICS FOR ZFS USER FILE CACHE
                 SMF92UCT  =' STCKE DATETIME*WHEN*STATISTICS'
                 SMF92UCSCH='TIMES*DIRTY DATA**SKED FOR*WRITE TO DISK'
                 SMF92UCSET='CALLS*TO CHANGE*ATTRIBUTES*OF A FILE'
                 SMF92UCFSY='CALLS*TO SYNC*ALL DIRTY DATA*SYNC WAIT'
                 SMF92UCUNM='CALLS*TO PURGE*USER CACHE'
                 SMF92UCRD ='CALLS*TO READ*FROM FILE*IN USER CACHE'
                 SMF92UCRDA='ASYNC*READ-AHEADS*SCHEDULED*SEQUENTIALLY'
                 SMF92UCWR ='CALLS*TO WRITE*TO FILE*IN USER CACHE'
                 SMF92UCGET='CALLS CACHE*TO OBTAIN ATTRIBUTES'
                 SMF92UCFL ='CALLS CACHE*TO FLUSH*ALL DATA FOR*FILE SYS'
                 SMF92UCDEL='WRITES*OF DIRTY DATA*AVOIDED'
                 SMF92UCRDF='READ CALL*TO FILE CACHE*FOUND*A CACHE MISS'
                 SMF92UCWRF='WRITE CALL*TO FILE CACHE*FOUND*A CACHE MISS
                 SMF92UCRIO='READ I/OS*TO DISK*USER FILE CACHE'
                 SMF92UCWRS='NORMAL*WRITE I/OS*SKED*BY FILE CACHE'
                 SMF92UCWRE='WRITE I/OS*SKED*ERROR FOUND'
                 SMF92UCWRR='WRITE I/OS*SKED*RECLAIM-STEAL'
                 SMF92UCRWR='TASK WAITS*FOR SKED READ*FROM DISK'
                 SMF92UCWW ='TASK WAITS*FOR WRITE*FILE*PENDING I/O'
                 SMF92UCWWF='TASK WAITS*FOR PENDING I/O*FOR FSYNC CALLS'
                 SMF92UCWWE='TASK WAITS*FOR I/O*ERROR*PROCESSING'
                 SMF92UCWWR='TASK WAITS*FOR I/O*RECLAIM-STEAL*PROCESSING
                 SMF92UCRST='TIMES*RECLAIM-STEAL*PROCESSING*WAS INVOKED'
                 SMF92UCCS ='CACHES*SPACES*LRU QUEUES* AND PAGEPOOLS'
                 SMF92UCPCS='PAGES*IN EACH*CACHE SPACE'
                 SMF92UCSS ='SIZE OF*INDIVIDUAL*FILE SEGMENT'
                 SMF92UCPGS='SIZE OF*A PAGE*IN THE USER*FILE CACHE'
                 SMF92UCPGT='TOTAL PAGES*IN THE USER*FILE CACHE'
                 SMF92UCPGF='FREE PAGES*IN THE USER*FILE CACHE'
                 SMF92UCSGC='ALLOCATED*SEGMENT*STRUCTURES*IN FILE CACHE'
                 SMF92UCDSL='LENGTH*PER-CACHE*SPACE RECORD'
              -NEW dataset TYPE9252X:CACHE SPACE NAME SEGMENT
                 SMF92DSNAM='NAME OF*THE CACHE SPACE'
                 SMF92DSAS ='SEGMENTS*ALLOCATED'
                 SMF92DSFR ='FREE PAGES*IN CACHE LIST'
              -NEW dataset TYPE9253: STATISTICS FOR ZFS METADATA CACHE
                 SMF92MCT ='DATETIME*WHEN*STATISTICS*WRITTEN'
                 SMF92MCB ='BUFFERS IN THE METADATA CACHE.'
                 SMF92MCLK='SEARCH CALLS*FOR BUFFER*IN METADATA CACHE'
                 SMF92MCHT='SEARCH CALLS*CACHE HITS'
                 SMF92MCWP='CALLS TO*UPDATE*METADATA CACHE*BUFFER.'
                 SMF92MCPW='PARTIAL*BUFFERS*WRITTEN'
                 SMF92MCBS='BYTES IN*METADATA*CACHE BUFFER.'
              -NEW dataset TYPE9254: STATISTICS FOR ZFS LOCKING AND SLEE
              -NEW dataset TYPE9255: GENERAL ZFS DISK IO STATISTICS
              -NEW dataset TYPE9256: TOKEN MANAGER
              -NEW dataset TYPE9257: ZFS USE OF MEMORY
              -NEW dataset TYPE9258: TRANSMIT/RECEIVES BETWEEN ZFS MEMBE
              -NEW dataset TYPE9259: PER-FILE SYSTEM USAGE
              -RMF III UPDATES:
              -ASMRMFV  Recent versions will execute without error,
               but new variables will not be output without the new
               VMACRMFV update:
              -Dataset ZRBASI new variable:
                ASISTAFL ASI2GMEMOBJ ASI2GPGSBKD
              -Dataset ZRBDVT new variables:
                DVTSSID ='SUBCHANNEL*SET'
                DVTDEVN2='DEVICE*NUMBER*DVTDEVNR'/
                DVTENIDX4='INDEX OF*THIS*DVTG3*ENTRY'/
                DVTPREVI4='INDEX OF*PREVIOUS*DVTG3*ENTRY'
              -Dataset ZRBGEI new variables:
                GEIGRMO ='FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
                GEIGRPR ='2GB FRAMES*FIXED IN*CSTORE'
                GEIGFUSE='2GB FRAMES*USED IN*FIXED*MEMOBJ'
                GEIGSIZ ='2GB FRAMES*CAN BE*USED 2GB MEMOBJ'
              -Dataset ZRBUWD new variables:
                UWDDEVNR4=DEVICE*TABLE*DVTG3*INDEX'


Change 35.124  Running WPS with more than 20 libnames caused WPS to fail
PDBAUDIT       so now with WPS if there are more than 20 LIBNAMES after
May 22, 2017   removing the LIBNAMES not related to PDBAUDIT, MXG shuts
               down with a message that only the first 20 were used.

Change 35.123  Support for z/OS 2.2 updates to TYPE991 dataset adds many
VMAC99         new variables.
May 22, 2017
   Thanks to David Cogar, WellsFargo, USA.

Change 35.122  Two new parameters added:
ANALCAPD       COMPANY= lets you override MXG in title statements
May 22, 2017   OUTDATA= lets you preserve the dataset with actuals and
               rolling 4 hour MSU values for further analysis.
              -GRAPHICS code is enabled for WPS at 3.3 or higher.

====== Changes thru 35.121 are in this MXG 35.05 dated May 15, 2017=====

Change 35.121  ERROR: MACRO KEYWORD DO APPEARS AS TEXT because the quote
ANALAVAI       after "DO'" and several other syntax errors corrected.
May 13, 2017
   Thanks to Hai Huynh, Freddie Mac, USA.

Change 35.120  WPS only, MXG 35.04, Change 35.085.  A variable with no
VMXGPRNT       label generated unintended text with multiple quotes
May 16, 2017        Varname1='Label*(varname)''(next vrname)'
               which is valid text for a SAS label, defined as the text
               after an equal sign up to the text before the next token
               that is followed by an equal sign, but this syntax was
               was not accepted by WPS as a label, causing an ERROR.
               The circumvention is to create a LABEL='NOLABEL' for
               variables that do not have a label.
              -VMXGPRNT is used in ANAL113, ANAL116, VMXGFIND, VMXGPRAL
               VMXGPRA1, VMXGPRNT, VMXGSRCH, and JCLPDB members.

Change 35.119  READDB2 had a hard coded limit of 450 for IFCID, and 499
READDB2        had been added in TYPE102s.  Now limit is 999.
May 11, 2017
   Thanks to Lynn Hong, UCLA, USA.

Change 35.118  Notes on the use of VIEWs in DATA steps that create more
Document       than one DATASET.
May 11, 2017    -Only one DATASET can be a view in a DATA step (and the
                 BUILDPDB program already has one).
                -Any of the datasets can be the view, but that view MUST
                 be the first dataset referenced (read/sorted), or none
                 of the other datasets will exist.
                -Views can dramatically reduce elapsed and CPU times and
                 I/O counts and durations, for instance for a DATA step
                 followed by a SORT, where the VIEW eliminates the write
                 and read of the dataset that is created without a VIEW.
                 The VIEW doesn't have any impact on the resources used
                 by the SORT.
                -This example started as TYPE120 with the lower case
                 lines added. WORK needs to be cleared in case there was
                 a dataset of the same name, whether it was a view or a
                 dataset. The /view=typ1209r enables the view and names
                 the one dataset, and the _st1209r "data set sort macro"
                 is invoked first, and then made blank so the _S120
                 "product sort macro" can sort the other datasets:

                     proc datasets ddname=work mt=all kill;
                     %INCLUDE SOURCLIB(VMACSMF,VMAC120,IMACKEEP);
                     DATA
                     _VAR120  /view=typ1209r
                     _SMF
                     _CDE120
                     run;
                     _st1209r
                     run;
                     macro _st1209R  %
                     _S120;
                     RUN;
                 The DATA/SORT took 6 hours, the VIEW/SORT took 2.
   Thanks to Joe Faska, DTCC, USA.
   Thanks to Michael Oujesky, DTCC, USA.

Change 35.117 -VMXGFIND did not correctly build the output dataset names
VMXGFIND       when multiple input PDBs were to be read; while all were
May 11, 2017   read, only one was output.
   Thanks to David A. Sadler, Optum, USA.

Change 35.116   35.04 only. The TYPSMVJE test was in TESSUSR1 but should
JCLTEST9        have been in TESSOTHR member, so TESSUSR1 step failed
May 16, 2017    because //MVJEIN DD was not found in that step's JCL.
                Add //MVJEIN DD DUMMY to the TESSUSR1 step.
                TYPSQACS replaced TESSQACS in //TESTQAPM step.

   Thanks to Tony Ferullo, MIB, Inc., USA.
   Thanks to Rod Feak, MIB, Inc., USA.

Change 35.115  TYPE 749 new var Support for Synchronious I/O zos 2.3
VMAC74           R749SRBF='BYTES*READ*THIS*FUNCTION'
May 10, 2017     R749SWBF='BYTES*WRITTEN*THIS*FUNCTION'
                 R749DFMT='FORMAT'
                 R749SSRF='SUCCESSFUL*REQUESTS*THIS'
                 R749SLRF='LOCAL*REJECTS*THIS'
                 R749SRRF='REMOTE*REJECTS*THIS'
                 R749STPF='PROCESSING*TIME*THIS'
                 R749SRBC='BYTES*READ*ALL*FUNCTIONS'
                 R749SWBC='BYTES*WRITTEN*ALL*FUNCTIONS'
                 R749SSRC='SUCCESSFUL*REQUESTS*ALL'
                 R749SLRC='LOCAL*REJECTS*ALL'
                 R749SRRC='REMOTE*REJECTS*ALL'
                 R749STPC='PROCESSING*TIME*ALL'
               Note that the type 74 subtype 9 record requires RMF III
               to be active on this system, and the ERBRMFxx member of
               SYS1.PARMLIB must have PCIE=YES specified, to be created.


Change 35.114   New variables added to TYPE749 PCIE data found in SMF
VMAC74          manual refresh:
May 10, 2017       R749FLAG='VALIDITY*FLAG'
                   R749NET1='1ST*PORT*PNET ID'
                   R749NET2='2ND*PORT*PNET ID'
                   R749DBYX='BYTES*TRANSMITTED*BY PCIE*FUNCTION'

Change 35.113   MXG 35.04 only, TYPE70 SHARE weights wrong, although the
VMAC7072        PDB.ASUMCELP values were correct and recommended for the
May 10, 2017    analysis of LPAR weights.
   Thanks to Andrew Petersen, CSC, AUSTRALIA.

Change 35.112 -MXG 35.04 Only, only with variable names longer than 32
VGETSORT       bytes. ERROR Truncated SORTBY variable name not found.
May  9, 2017   The LENGTH for the new SORT variables is $32 now.
May 11, 2017   VGETSORT is used in BLDSMPDB, UTILROLL and MULTIPDB.
              -VGETSORT: Cosmetic, UNINIT variable NOBS message because
               it was not in the KEEP list, but had no impact.

Change 35.111  DB2 12.1, INVALID QLAC SEG ERROR, LENQLAC=218, new
VMACDB2        field QLACPRLV was inserted by DB2 CONTINUOUS DELIVERY,
VMACDB2H       but was unknown to MXG as there was no notification by
May  9, 2017   IBM that a field was inserted.  MXG detected the change,
May 11, 2017   printed the ERROR message, and deleted the record, so
               some observations in DB2ACCT were not output.  The error
               led to the discovery of an updated DB2 MACLIB with this
               text in DSNDQLAC member:
                  e26995  Continuous Delivery.
                  Product functional/build level. QLACPRLV. s28617
               but a search for s28617 discovered nothing.  Only a
               search for the new field, QLACPRLV found it was added.
               But there were no other references to the s28617 nor
               e26995 tokens in the other MACLIB members.

               Of course, now that I know this new field name, Google
               found both fields referenced in APAR PI74456:
                 "IFCID 3 accounting information will now provide the
                  partner's functional/service/build level in a new
                  QLACPRLV field."
                 "IFCID 365 location statistics information will now
                  provide the partner's functional/service/build level
                  in a new QLSTPRLV field."

               The real issue raised with DB2 support and unanswered
               as of this writing is: HOW AM I SUPPOSED TO KNOW that
               fields were inserted by Continuous Delivery.

               These header fields are now kept in DB2ACCT:
                 QWHS_MOD_LVL='MOD LEVEL FOR*CONTINUOUS*DELIVERY'
                 QWHS_REC_INCOMPAT='INCOMPATIBLE*CHANGE*VALUE'
                 QWHS_REC_COMPAT='COMPATIBLE*CHANGE*VALUE'
                 QWHS_REC_VALIDITY='CHECK*NEEDED FOR*INCOMPAT*COMPAT'
               The current MOD_LVL is V12R1M100 and MXG's COMPAT and
               INCOMPAT count of changes is zero before and after this
               INCOMPAT change.  It is unclear how these fields could
               be used, since they are after the record was changed.
   Thanks to Dennis Gaetner, Fiduciagad, GERMANY.
   Thanks to Sieghart Seith, Fiduciagad, GERMANY.

Change 35.110  Processing //PRISMAPR DD caused ERROR: UNDETERMINED I/O
VMACPRPR       FAILURE because the DCB attributes were set for SMF, but
May  9, 2017   PRISMAPR input records are FB/256/27904.
   Thanks to Gene Heikkinen, Blue Cross Minnesota, USA.

Change 35.109  Variables SM1209EX/EY/EZ/FA were accidentally dropped by
VMAC120        Change 35.024 from dataset TYP120R; you can correct with
May  5, 2017     MACRO _KT1209R  SM1209EX SM1209EY SM1209EZ SM1209FA %
               in your IMACKEEP tailoring member until you update MXG.
   Thanks to Larry A. Gray, Lowes, USA.

Change 35.108  The ANALID report's TITLE can be changed with the TITLE=
ANALID         argument, if you invoke %ANALID yourself, but BUILDPDB's
VMXGINIT       invocation is internal, so this new macro variable
May  5, 2017    %LET MXGTITLEANALID=SMF RECORDS AUDIT REPORT;
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 35.107  Support for IAM Version 9.0.
VMACIAM
May  4, 2017

Change 35.106  Adds an array of system IDs SYS1-SYS10 and creates new
VMXGUOW        variables SYSTEMCICS (system of origin of the 110) and
May  4, 2017   SYSTEMDB2 (system where the 101 was found) to the
               PDB.ASUMUOW dataset.

Change 35.105  The CICS duration fields are now formatted TIME16.6
VMAC110        to show the full resolution to the microsecond. FORMATS
May  4, 2017   only impact the printed/displayed value of the variable.

====== Changes thru 35.104 are in this MXG 35.04 dated May  1, 2017=====

Change 35.104  Support for EDGR/RMM APAR OA46947 which prints asterisks
VMACEDGR       for RVCOMPRAT and RVPHYUSED when values can't be derived.
May  2, 2017   Only warning and hex dumps were printed; the output data
               sets were correctly built; this change suppressed the
               log messages when the values are asterisks.
   Thanks to Craig Collins, State of Wisconsin, USA.

Change 35.103  If you specified "defer=yes" in lower case and the input
VMXGSET        was on tape you got a 413 ABEND because the compare to
Apr 28, 2017   defer= was comparing to upper case. Not reported, found.

Change 35.102 -z/VM 6.3 and 6.4, BROKEN CONTROL RECORD ERROR because the
VMACVMXA       INPUT STSI $VARYING255 STSILEN @; failed when STSILEN was
Apr 28,2017    greater than 255; increased to 512 in VXMTRTOP.
              -Also 6.3, VXIODVSW code didn't protect the undocumented
               extra 4 bytes.  And these new variables are now created:
                 LANFORW  ='LAN*FORWARDING*FLAGS'
                 OASPORTN ='OSA*PORT*NUMBER'
                 ACCTYPE  ='ACCESS*LIST*TYPE*FLAG'
              -New variables in VXSTSYG dataset:
                 RCCSCAPF='BFP*ZIP*CAPABILITY'
                 RCCCCAPF='BFP*CP*CAPABILITY'
                 RCCNCAPF='NOMINAL*CP*CAPABILITY'
                 SSI1PCPS='CP CORE*SPEED*CYCLE*PER MICRO'
                 SSI1SCPS='ZIP CORE*SPEED*CYCLE*PER MICRO'
              -New variables in VXSTSYG dataset:
                 RSAWRTHROTS='TIMES*LIMITED*PAGING*BANDWIDTH'
                 RSAPRTHROTS='TIMES*PARTIAL*WRITE*THROTTLE'
                 RSANDMREC='GLOBAL*RECLAIM*TASK*INITIATED'
                 RSANDMRND='NDMBKS*RETURNED*GLOBAL*RECLAIM'
              -New variables in VXSTORSP dataset:
                PLSNDMRQ='FROM*RECYCLE'
                PLSNDMLO='NDMBK REQS*RECYCLE*LOCAL*SUPPLIED'
                PLSNDMGL='NDMBK REQS*RECYCLE*GLOBAL*SUPPLIED'
                PLSNDMG2L='NDMBKS MOVED*GLOBAL*TO LOCAL'
                PLSNDMDX='TIMES*TASK*RETURNED*CHAIN*TO LOCAL'
                PLSNDMRET='NDMBKS*RETURNED*TO LOCAL'
                PLSNDML2G='NMDBKS*MOVED*LOCAL TO*GLOBAL'
                PLSNDMREL='NMDBKS*RETURNED*TO FREE'
                PLSNDMREC='TIME*LOCAL*RECLAIM*INITIATED'
                PLSNDMRND='NDMBKS*RETURNED*TO FREE*LCL RECLAIM'
                PFXCLPLCNT='FRAMES*CLEARED*LOCAL*AVAIL*PLUS'
                PLSCLALLO='CLEARED*LOCAL*AVAILABLE*LLOW THRESH'
                PLSCLALHI='CLEARED LOCAL AVAILABLE*LHIGH THRESH'
                PLSCLALADDED='FRAMES*ADDED TO*CLEARED*LOCAL'
                PLSCLALFWREMOVED='FRAMES*ADDED TO*PROCESSED*LIST'
                PLSCLALTRIMMED='FRAMES*TRIMMED*CLEARED*LOCAL'
                PLSFPPFENTERED='TIMES*FPP FAULT*ENTERED*FOR GUEST'
                PLSFPPFSUCCESS='TIMES*FPP FAULT*SUCCESSFUL'
                PLSCPPFENTERED='TIMES*FPP FAULT*ENTERED*FOR CP'
                PLSCPPFSUCCESS='TIMES*FPP FAULT*SUCCESSFUL*FOR CP'
                PLSCPPFMDC='TIMES*FPP FAULT*EXITED*CACHE'
                PLSCLALREQUESTS1='TIMES*FRAME REQ*CLEARED*AVAIL LIST'
                PLSCLALUNFILLED1='TIMES*REQUEST*FOUND LAL*EMPTY'
                PLSCLALREPLENOD='TIMES*REQUEST*FOUND CLA*EMPTY*DEMAND'
                PLSCLALUNFILLED2='TIMES*REQUEST*FOUND CLA*EMPTY*BEFORE'
                PLSCLALREQUESTS2='TIMES*REQUEST*FROM*CLA LIST'
                PLSCLALUNFILLED3='TIMES*REQUEST*FOUND CLA*EMPTY*BEFORE3'
                PLSBGCTM='CPU TIME*BACKGROUND*REPLEN*CL GAL'
                PLSCGALREQUESTS='TIMES*WANTED*MOVE FRAMES*CGAL TO CLLA'
                PLSCGALFRAMESR='FRAMES*WANTED*MOVE*CGAL TO CLLA'
                PLSCGALMOVED='FRAMES*MOVED*CGAL TO CLLA'
                PLSCGALNOLOCK='TIMES NOT*MOVED*CGAL TO CLLA*LOCK'
                PLSCGALUNFILLEDN='FRAMES NOT*MOVED*CGAL TO CLLA*FILL'
                PLSCGALWANTING='TIMES*CGLA*INSUFFICIENT*FRAMES'
                PLSCGALUNFILLEDW='FRAMES NOT*MOVED*CGAL TO CLAL*DW'
                PLSULALCNT='FRAMES ON*UNCLEARED*LAL'
                PLSULALLO='UNCLEARED*LOCAL*AVAILABLE*LIST LOW TH'
                PLSULALHI='UNCLEARED*LOCAL*AVAILABLE*LIST HI TH'
                PLSULALREQUESTS1='FRAME REQ*UNCLEARED*LAL'
                PLSULALUNFILLED1='TIMES REQ*UNCLEAR LAL*BEFORE*ATTEMPT'
                PLSULALREPLENOD='TIMES REQ*UNCLEAR LAL*AND*ATTEMPT'
                PLSULALUNFILLED2='TIMES REQ*UNCLEAR LAL*BEFORE*FILLED'
                PLSSWPROCLCNT='FRAMES*ON THE*SOFTWARE*PROCESSED LIST'
   Thanks to James T. Barton, Veterans Administration, USA.

Change 35.101  New parameter OUTCODE= lets you insert some code just
VMXGGETM       prior to the end of VMXGGETM. Should be complete data
Apr 28,2017    or PROC STEPS.
   Thanks to Craig Collins, State of Wisconsin, USA.

Change 35.100  SYSLOG code has been updated; the old code was 2016.
SYSLOG
May  2, 2017
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 35.099  ANALID relocate.

Change 35.098  RMF III Filter enhancements.
ADOCRMFV      -Enhancements for character data filtering for RMF Monitor
ASMRMFV        III CPU (Processor Data Control Block), CPC (CPC Data
VMACRMFV       Control Block), improved message RMFV029* DEAD SPACE
Apr 26, 2017   controls, better error message formats and content, and
               other usability and performance gains.

              -1 new character filter is added to support CPU entry
               selection from this table to the RMFBSAM output file.
               This filter is effective only if the CPU or CPC table is
               selected and applies to BOTH tables.

               New Keyword    Aliases
               ------------   ------------------------------------------
               CPUSYSTEM=     CPUSYSID=, CPUSID=

               Since this is the only filter for this table there are NO
               CPUAND/CPUOR parameters.

               Syntax and usage mirrors that used for the existing
               SYSTEM= parameter for selection by SMF Sysid using ranges
               and/or patterns.

              -1 new filter is added to support CPC entry selection
               from this table to the RMFBSAM output file.  This filter
               applies ONLY to the CPC (not the CPU) table.

               New Keyword    Aliases
               ------------   ------------------------------------------
               CPCSYSTEM=     CPCSYSID=, CPCSID=

               Since this is the only filter for this table there are NO
               CPCAND/CPCOR parameters.

               Syntax and usage mirrors that used for the existing
               SYSTEM= parameter for selection by SMF Sysid using ranges
               and/or patterns.

              -TUTORIAL:
               The new CPCSYSTEM= parameter may appeal to large
               installations running multiple z/OS LPARs on a CEC
               (Central Electronic Complex) and using RMF Monitor III
               gathering data on several of them.

               RMF Monitor III creates the CPCDB (Central Processing
               Complex Data Block) table for each instance of RMF
               Monitor III on a given CEC except if the LPAR is a z/VM
               guest.

               The CPCDB (aka CPC) has LPAR settings and Logical
               Processor data for every image on the CEC whether it be
               a z/OS LPAR or not.

               There is no RMF III option to turn off CPC data
               collection, so this parameter is an alternative.

               As long as the RMF Monitor III MINTIME, CYCLE, and SYNC
               options are identical redundant CPC tables for every RMF
               Monitor III native (non-guest) LPAR on the CEC are
               created at every MINTIME interval.

               The MXG PDB build will create a ZRBLCP observation for
               each Logical Processor for each LPAR for every MINTIME
               interval.  For installations with several RMF Monitor III
               LPARs on a CEC this can result in a lot of extra, but not
               useful duplicate SAS ZRBLCP observations.

               See new documentation Section 30 "CPC Data Relief
               Technique" for more details on use of CPCSYSTEM=.

               It is a user responsibility to set up CPCSYSTEM= for each
               CEC configuration properly and to track any LPAR SYSID
               changes as they occur.  An incorrect CPCSYSTEM=
               specification will result in loss of data in the MXG
               ZRBLCP SAS data set should the SYSID no longer exist
               or be misspelled.

              -CSR (Common Storage Remaining) processing now moves CSR
               entries in blocks for as many entries that fit to the
               RMFBSAM output buffer when NO CSR character data filters
               are used.

               When these filters were added in MXG Change 34.373
               processing changed to move one CSR entry at a time to the
               output buffer.  However, this is an unnecessary overhead
               if no CSR filtering is in effect.  The earlier processing
               technique is restored for this case.

               A test with 21 RMF Monitor III sample data sets at the
               35.098 level showed about a 1% CPU reduction for CSR
               processing with no filters used compared to the 34.373
               level.  This will vary with the number of CSR entries
               and RMF III VSAM data sets processed.

              -The MXG00 record version is raised to x'08' from x'07'.
               New fields added to the MXG00 record include:
               CPUSYSTEM= and CPCSYSTEM= Range/Pattern maximums
               CPUSYSTEM= and CPCSYSTEM= Range/Pattern table sizes
               % of available TIOT entries used
                ASMCPCRX='MAXIMUM*CPCSYSTERM*RANGES'
                ASMCPCPX='MAXIMUM*CPCSYSTERM*PATTERNS'
                ASMCPURX='MAXIMUM*CPUSYSTERM*RANGES'
                ASMCPUPX='MAXIMUM*CPUSYSTERM*PATTERNS'
                ASMSHSPL='WARNING*LIMIT*PCT SPACE*USE'
                ASMCPCRS='SIZE*CPCSYSTEM*RANGE*TABLE'
                ASMCPCPS='SIZE*CPCSYSTEM*PATTERN*TABLE'
                ASMCPURS='SIZE*CPUSYSTEM*RANGE*TABLE'
                ASMCPUPS='SIZE*CPUCSYSTEM*PATTERN*TABLE'

              -TIOT entries used percentage is added to the RMFV000I
               message.  TIOT usage information is grouped on a single
               report line.

              -Support for ILIMIT= (alias ILIM=) and SLIMIT= (alias
               SLIM=) keywords is added to control appearance of
               the RMFV029* DEAD SPACE message (*=I,W,E,S).

               Previous versions of ASMRMFV could issue this message for
               exhausted RMF III indexes even when the VSAM data set
               usage was relatively high.  In this case re-allocating
               the VSAM data set to make it smaller is not productive.

               ILIMIT= specifies a percentage in the range of 0 to 100
               as a threshold for RMF III VSAM Data Set Header (DSH)
               indexes usage.  The default is 100.

               SLIMIT= specifies a percentage in the range of 0 to 100
               as a threshold for RMF III VSAM Data Set space usage.
               The default is 95.

               The defaults of ILIMIT=100 and SLIMIT=95 with INDEXES and
               SPACE options in effect mean that if all 1110 sample
               indexes are exhausted in the Data Set Header (DSH)
               record, but the RMF Monitor III VSAM data set is 95% or
               more utilized no DEAD SPACE condition is flagged.

               See the documentation for RMFV029* for how the settings
               of NOINDEXES/INDEXES, NOSPACE/SPACE, ILIMIT=, and SLIMIT=
               parameters interact.

               Users who find RMFV029* a nuisance rather than an aid
               can suppress it completely with ILIMIT=0 and SLIMIT=0.

               ILIMIT= and SLIMIT= values in effect are displayed in
               message RMFV037I.

               Section 22 RMF III VSAM Data Set Index Usage and Sizing
               is updated to discuss use of ILIMIT= and SLIMIT= options.

              -There are now 4 distinct levels for messages that can
               have variable severity based on the settings of the
               various existing *ERR= condition keywords:

               *ERR     Message                              Return
               Setting  Suffix          Meaning              Code
               -------  ------  -------------------------   ---------
               IGNORE     I     Ignore error/continue       No change
               WARN       W     Warn   error/continue       0004
               ERROR      E     Issue  error/may continue   0008
               ABEND      S     Issue  error/Abend U0998    N/A (1)

               (1) Abends have a distinct Reason Code but no Return
               Code.

               In past ASMRMFV versions 'E' suffixed messages
               inconsistently may or may not have resulted in an Abend.

              -Distributed *ERR settings remain as:

               Keyword     DEFAULT         CONTROLS
               ---------   -------  -------------------------
               ALLOCERR=    WARN    DYNAMIC ALLOCATION ERRORS
               ATTRERR=     WARN    DATA SET ATTRIBUTE ERRORS
               CATERR=      WARN    CSI CATALOG LOOKUP ERRORS
               DEADERR=     WARN    VSAM DEAD SPACE ERRORS
               DSIGERR=     WARN    DSIG ID (DSH) ERRORS
               DSNERR=      WARN    CSI DSNAME LOOKUP ERRORS
               DUPERR=      WARN    DUPLICATE DSNAME ERRORS
               EMPTYERR=    IGNORE  EMPTY VSAM DATA SET ERRORS
               PATTERR=     ABEND   PATTERN AND/OR RANGE ERRORS
               READERR=     ABEND   VSAM READ I/O ERRORS
               TABERR=      WARN    RMF III TABLE VALIDATE ERRORS
               TYPEERR=     WARN    DATA SET TYPE ERRORS
               RCERR=       WARN    REPORT CLASS FIND ERRORS
               RGERR=       WARN    RESOURCE GROUP FIND ERRORS
               SCERR=       WARN    SERVICE CLASS FIND ERRORS
               WLERR=       WARN    WORKLOAD FIND ERRORS

              -ASMRMFV will now generate the correct message format for
               variable severity messages during assembly based on the
               defaults above.  This avoids unnecessary tailoring during
               ASMRMFV initiation.  Any user overrides of the above
               settings will still require tailoring of related
               messages by ASMRMFV during start up.

              -Internal error message generation interface updated for
               following messages:
               RMFV004E, RMFV005*, RMFV007S, RMFV034S, RMFV035*,
               RMFV056* (*=I,W,E,S)

               Improvements for these messages include:

               3 separate error messages subroutines replaced by one
               for code path length reduction.

               Extraneous blanks in these error messages eliminated
               for better legibility.

               Clearer and less cryptic error descriptions.

              -RMFV006E message had incorrect timestamp when FROMDATE=
               exceeded TODATE=

              -RMFV007S message missing DDNAME when RMFBSAM DD was not
               present.

              -RMFV007S message will now show N/A when a Reason Code is
               not available for a failed function or service.

              -Improve logic of DOW= keyword processing when using a
               range, i.e. DOW=day1:day2 to examine the last half of
               the day of week range if an error is found in the first
               half.  Also leading and trailing colons are stripped
               before length checking.

              -Former documentation Section 30 Summary is now Section 31
               and former Section 31 Bibliography is now Section 32.

              -Several documentation Sections are updated to support
               the above changes:

               Section  0 "Contents"
               Section  5 "Input Data Selection Parameters"
               Section  6 "Report Control Parameters"
               Section  8 "Error Handling Parameters"
               Section 12 "Messages"
               Section 13 "Filtered Records"
               Section 16 "Return Codes"
               Section 25 "Ranges and Patterns"
               Section 30 "CPC Data Relief Technique"
               Section 31 "Summary"
               Section 32 "Bibliography"

Change 35.097  Four IMF variables that are INPUT with TODSTAMP8 are now
VMACCIMS       formatted DATETIME25.6 to display full microseconds. The
Apr 25, 2017   other datetimes are limited to DATETIME21.2 resolution.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 35.096  New UTILROLL utility combines all SAS datasets from one
UTILROLL       or more SAS data libraries (think "hourly" PDB runs) into
JCLROLL1       another LIBNAME (think "daily" PDB), either concatenating
JCLROLL2       the new data, or interleaving to preserve the sort order.
VGETSORT       If the ROLLTO LIBNAME is empty or the dataset being added
Apr 24, 2017   added to does not exist the code will ignore the ROLLTO
               LIBNAME and use only the ROLLFROM to create the ROLLTO
               datasets.
              -VGETSORT could return bad information if there was
               a variable name longer than 8 bytes.  Length was
               increased to 32 and NOBS ENG were added to the output.

Change 35.095  APPL PCT variables are created in TYPE72GO to match the
VMAC7072       RMF Workload report values:
Apr 24, 2017     APPLCP   ='APPL PCT*OF 1 CPU*CPU TIME*ON CP'
                 APPLAAPCP='APPL PCT*OF 1 CPU*ZAAP ELIG*ON CP'
                 APPLIIPCP='APPL PCT*OF 1 CPU*ZIIP ELIG*ON CP'
                 APPLAAP  ='APPL PCT*OF 1 CPU*CPU TIME*ON ZAAP'
                 APPLIIP  ='APPL PCT*OF 1 CPU*CPU TIME*ON ZIIP'
               with this code:
              IF R723MCF  GT 0 THEN
               APPLCP=   100*CPUTM/(DURATM*R723MCF);
              IF R723MCFI GT 0 THEN DO;
                APPLAAPCP=100*CPUIFETM/(DURATM*R723MCFI);
                APPLAAP=  100*(256*CPUIFATM/R723NFFI)/(DURATM*R723MCFI);
              END;
              IF R723MCFS GT 0 THEN DO;
                APPLIIPCP=100*CPUZIETM/(DURATM*R723MCFS);
                APPLIIP=  100*(256*CPUZIPTM/R723NFFS)/(DURATM*R723MCFS);
              END;
   Thanks to Ray Bole, IBM Global Services, USA.

Change 35.094  Support for BMC Mainview for Java Environment creates
EXMVJE01          DDDDDD    MXG       MXG
EXMVJE02          DATASET   DATASET   DATASET
EXMVJE04          SUFFIX    NAME      LABEL
EXMVJE07
EXMVJE08          MVJE01    MVJE01    JMX MEMORY SUMMARY
EXMVJE12          MVJE02    MVJE02    JMX THREAD SUMMARY
IMACMVJE          MVJE04    MVJE04    JMX CLASS LOADING SUMMARY
TYPEMVJE          MVJE07    MVJE07    JMX GARBAGE COLLECTION SUMMARY
TYPSMVJE          MVJE08    MVJE08    JMX MEMORY POOLS
VMACMVJE          MVJE12    MVJE12    JMX CPU USAGE
VMXGINIT
Apr 25, 2017

Change 35.093  MXG 35.03 only, variable PLATBUSY in TYPE70/RMFINTRV and
VMAC7072       PCTOFHDW in RMFINTRV were incorrect after Change 35.064
Apr 22,2017    revised the SHARE calculations.
   Thanks to Paul Naddeo, FISERV, USA.
   Thanks to Robin Hanley, FISERV, USA.
   Thanks to David Bixler, FISERV, USA.

Change 35.092  Support for z/VM 64 (INCOMPATIBLE).
VMACVMXA      -Dataset VXSYTCUG new variables
Apr 20,2017      SSI2MTIF='MULTITHREADING*CONFIGURATION'
                 SSI2MTGF='MULTITHREAD*GENERAL*PROC*CONFIG'
                 SSI2MTID='MULTITHREAD*MAX*TID'
                 LCUTCTOD='DATETIME*WHEN CORE*INFO*FETCHED'
              -Dataset VXMTRSYS new variable
                 CALFLAG3-'MISCELLANEOUS*FLAGS*/
              -Datasets VXUSEACT and VXUSELOF new variables
                 VMDTTIME_MT1='TOTAL*MT-1*EQUIVALENT*TIME'
                 VMDVTIME_MT1='RUN*MT-1*EQUIVALENT*TIME'
                 VMDVTMP_MT1 ='EQUIV*MT-1*VTIME*ON PRIMARY'
                 VMDTTTP_MT1 ='EQUIV*MT-1*VTIME+SIM*PRIMARY'
                 VMDVTMS_MT1 ='EQUIV*MT-1*VTIME*ON SECNDRY'
                 VMDTTMS_MT1 ='EQUIV*MT-1*VTIME+SIM*SECNDRY'
                 VMAVTMP_PRO ='TOTAL*MT-1*PRORATED*CORE*PRI'
                 VMATTMP_PRO ='RUN*MT-1*PRORATED*CORE*PRI'
                 VMAVTMS_PRO ='TOTAL*MT-1*PRORATED*CORE*SEC'
                 VMATTMS_PRO ='RUN*MT-1*PRORATED*CORE*SEC'
                 PROBITS='PRORATED*CORE*TIME*BITS'
              -Datasets VXPRCPUP new variables
                 WHIOCAPV='MAX*CORES*PERMITTED'
                 WHIOCTVR='CALCULATED*T/V*RATIO'
                 WHIOPTVR='CEILING*PROJECTED*T/V*RATIO'
                 SRXTVCNF='CONFIDENCE*PERCENTAGE'
                 CALTVALG='CEILING*PROJECTION*ALGORITHM'
                 WHIOTVCT='CEILING*PROJECTION*VALID*SAMPLES*/
                 WHIOGCPV='MAXIMUM*AGGREGATE*CORES'
              -Datasets VXIODVSW new variables
                 VQSAFLAG ='LACP*CONFIGURATION'
                 NIDLAPRE ='PREVIOUS*LOAD*BALANCE'
                 NIDLACUR ='CURRENT*LOAD*BALANCE'
                 NID_TOTPFCNT='PREVIOUS*LOAD*BALANCE*FRAMES'
              -New segments IODPAD,IODPON,MTRPCI are not yet supported.
              -These 6.4 segments don't exist in my test data so these
               changes have NOT been validated yet:
                 PRCCUP SYTCUG SYTCUM SYTCUP
   Thanks to Diana L. Bodner, Progressive, USA.

Change 35.091 -Sometimes failed with a two level dataset name (unknown
ANALCNCR       cause). VGETOBS logic modified.  Now will run SGPLOT
Apr 22, 2017   if your SAS version is GE 9.3.
              -New example to count/plot concurrent TELNET sessions from
               the TYP11921 dataset.

Change 35.090 -Support for CA'S OPSS Product USER SMF Record.
VMACOPSS       These datasets are created:
Apr 22, 2017
May  9, 2017      DDDDDD     MXG       MXG
                  DATASET    DATASET   DATASET
                  SUFFIX     NAME      LABEL

                  OPSS01     TYPOPSS1  SS TERMINATION SUMMARY
                  OPSS02     TYPOPSS2  SS OSF SERVER TERMINATION
                  OPSS03     TYPOPSS3  SS AOF RULE DISABLEMENT
                  OPSS04     TYPOPSS4  SS GLOBAL VARIABLE
                  OPSS05     TYPOPSS5  SS SQL STATISTICS
                  OPSS06     TYPOPSS6  SS IMS BMP STATISTICS
                  OPSS07     TYPOPSS7  SS OSF TRANSACTION
                  OPSS08     TYPOPSS8  SS EPI STATS
   Thanks to Bruce Sloss, PNC, USA.

Change 35.089  The NDM-CDI new IHDRNDM exit member allows selection of
IHDRNDM        which NDM Record Types are output with this logic:
VMACNDM          //SYSIN DD *
VMXGINIT          %LET MACNDMH= %QUOTE( IF NDMRTYPE='CT';) ;
Apr 19, 2017      %INCLUDE SOURCLIB(TYPSNDM);

Change 35.088 -Running MXG on ASCII to read SMF using ftp access method
BUILDPDB       can free the SMF allocation when SMF read is completed
Apr 15, 2017   with this tailoring in your //SYSIN:
                  %LET EPDBOUT=%QUOTE(
                    FILENAME SMF CLEAR;
                   );
               If your SMF data is a GDG, this will unblock the base GDG
               name as soon as possible.
              -If running MXG on z/OS, add FREE=CLOSE to the //SMF DD to
               also free the allocation when the read is complete.

Change 35.087  New ANALFTP analysis of FTP has five report examples:
ANALFTP         GENERATE REPORTS FROM PDB
Apr 14, 2017    GENERATE REPORTS FROM SMF
                GENERATE REPORTS FROM SMF AND STORE DATA IN PDB
                GENERATE REPORTS FROM SMF LOOKING FOR A USER
                GENERATE REPORTS FROM SMF LOOKING FOR A DATASET
               Reports are from TYPE119 records; see also ANAL119 and
               ANALCNCR for additional reports.


Change 35.086  New variable FSBYTERATE='TRANSMISSION*BYTE*RATE' is added
VMAC119        to TY119070 dataset.
ANALFTP
Apr 13, 2017

Change 35.085  Possible exposure with too long a code line generated by
VMXGPRNT       VMXGPRAL print with variable name and label as heading.
Apr 13, 2017   With 32 character variable name and 40 character label,
               the line generated could be 109 characters, exceeding the
               z/OS limit of 72 (S=72,S2=72).  Two lines are now created
               and the label truncated (no more than 5 lost) to trim if
               needed.

Change 35.084  UTILCOPY failed if it found no datasets to copy with an
UTILCOPY       undefined macro variable NUMMEM.  Now it tells you that
Apr 10, 2017   it did not find anything to copy.

Change 35.083  DB2 Trace IFCID=316 dataset T102S316 variable QW0316TS is
VMAC102        now correctly converted to a datetime value.
Apr 10, 2017

Change 35.082  Revision to SAG reports to capture COMPLETE ONLINE and
SAGANAL        NATURAL ONLINE in new variables based on PROGRAM name.
Apr  2, 2017

Change 35.081  DB2ACCTP dataset, these "truncated" variables
VMACDB2           QPACLOCN QPACCOLN QPACPKID QPACASCH QPACAANM
Apr  2, 2017   were increased to $128 LENGTH, but the longer length text
               was not input when QPACOFFn was non-zero due to incorrect
               circumvention for prior invalid length in Change 31.015.
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 35.080 *New z/OS 2.2 Changes found in Jan 2017 SMF Manual.
VMAC30        -VMAC30.
Apr  1, 2017     New variable SMF30JF1='JOB/SESS*ID'
              *This change is incomplete.

Change 35.079  Some accumulated z/VM 6.3 SMT fields in VXSYTPRP dataset
VMACVMXA       weren't deaccumulated, and the below new unaccumulated
Mar 31, 2017   counters contain an error code '80'x in first bit when
Apr  5, 2017   the counter cannot be populated that is now decoded and
Apr 11, 2017   the first two instances of each error is printed on the
FORMATS        SAS log, although there is nothing you can do for these
               these error conditions, and the variable is set to a
               missing value for these intervals.
                   SYTPRP_CAL_CAPBYTYPE    SYTPRP_CAL_MAXCAPBYTYPE
                   SYTPRP_CAL_MTUTILBYCORE SYTPRP_CAL_MTUTILBYTYPE
                   SYTPRP_CAL_PRODBYCORE   SYTPRP_CAL_PRODBYTYPE
              -Dataset VXAPLSL0 was "hosed" because my loop was
               DO CPUNR=1 TO NRCPUS, but first CPU is CPUNR=0, and
               the CPUNR at the end of the segment had been overlooked.
              -PFXPRKWT is now deaccumulated.
              -The VXAPLSLx dataset only has observations output when
               there was activity by the Linux machine; the LINXTIME is
               the "wake up" time in this interval and is used to create
               DELTALINXTM=MRHDRTOD-LINXTIME with the maxiumum duration
               of an interval that that VMDUSER could have been active.
              -These variables added to VXMTRSYS:
                RCCCCAPF RCCSCAPF SYSMTFLG RCCMTRSM RCCMTCFM RCCMTPMT
                RCCMTTDW RCCMTFRS RCCCOMXT RCCCOALL
                CAL_RCCACMNT1-4='CPUTYPE-1-4*ACTIVATED*THREADS'
                CAL_CPUTYPE1-4='CPUTYPE-1-4*CPU*TYPE'
                CAL_RCCSYMNT1-4='CPUTYPE-1-4*MAXIMUM THREADS*SOFTWARE'
                CAL_RCCHWMNT1-4='CPUTYPE-1-4*MAXIMUM*THREADS*HARDWARE'
                CAL_RCCCOMNT1-4='CPUTYPE-1-4*REQUESTED*THREADS'
                CAL_RCCCRMNT1-4='CPUTYPE-1-4*REQUESTED*THREADS'
                CAL_RCCSMMNT1-4='CPUTYPE-1-4*SPECIFIED*THREADS'
              -These variables added to VXSYTCUP:
                LCXCMTIT='MT*IDLE*TIME'
                LCXCHPCP='LPAR GROUP*ABS CAPACITY*CAP VALUE'
                CALGCAPV='ABSOLUTE*CAP*AMOUNT'
              -Variable RDEVCTRG is removed from the DIDIO test to
               create VXIODDEV because it is always non-zero and the
               only non-zero field for non-DASD records.
              -The SMT Busy Time calculation was revised to
                LCXCMTBY=(2*LCUCACTM)-LCXCMTIT
   Thanks to Graham Harris, RBS, ENGLAND.

Change 35.078  If you specified SORTEDBY=YES and you run the daily and
BLDSMPDB       weekly/monthly processing in the same SAS execution of
Mar 31, 2017   BLDSMPDB the SORTEDBY= was ignored because VMXGSUM used
               the same MACRO variable name making it a GLOBAL macro
               variable to VMXGSUM and overriding the BLDSMPDB used
               parameter.  NO data was lost - just not in the order
               you may have expected. Circumvented by holding the
               value in a LOCAL macro variable and the reinstating
               it after DAILY processing is completed.

Change 35.077  Comments only.  Some enhanced comments in examples
UTILBLDP       and a redundant WANTSMF in one example was removed.
Mar 31, 2017
   Thanks to John Compton, WPS, ENGLAND.

Change 35.076  Some long RMF III variables have '00'x null characters
VMACRMFV       instead of blanks at the end; they are converted to
Mar 29, 2017   blanks.

Change 35.075  TYPE1415 records have subtype 5 segments for TAPE and all
FORMATS        datasets with a Data Class. For records without subtype 5
VMAC1415       the below flag variables are now set to 'FF'x and will
Mar 29, 2017   print "NOT AVAILABLE" with new $MGNOTAV format:
                  SMF14BFG SMF14FLGS SMF14FLG2 DEB2XUPF EADSCBOK
                  DCBEEX31 XTIOTYES
               Variable SMF14ALIAS will be blank and SMF14LBS will be a
               missing value.
   Thanks to Michael Oujesky, DTCC, USA.

Change 35.074 -INVALID SYTCPU segment messages with SEGLEN=48 and NRCPS
EXXAMPRC       30 (SEGLEN should be 684) are valid and a problem is open
EXXMVPID       with Barton.
FORMATS       -New VSIPID Process Segment creates XMVISPID dataset.
IMACXAM       -New PRCCPU LIMPOOL Segment creates XAMSYPRC dataset, but
VMACXAM        values for FLAGSPRC have '60'x for both limited cpuaffon.
VMXGINIT
Mar 28, 2017

Change 35.073  DB2ACCT variables QWACALOG and QWACALCT are now always
VMACDB2        missing values; they have been reserved for years, but
Mar 28, 2017   MXG code had still INPUT them causing confusion.
   Thanks to Peter Gray, HPE Australia, AUSTRALIA.

====== Changes thru 35.072 are in this MXG 35.03 dated Mar 27, 2017=====

Change 35.072 -MXG 35.03. VMAC1415, hex dumps but no error, because
VGETJESN       line 962 in VMAC1415  IF VOLSER NE VOLSER1 THEN LIST;
VMAC1415       left from debugging needs to be deleted.
Mar 24, 2017  -WARNING TYPETASK NOT DECODED, JCTJOBID=A0000022 expected
Mar 27, 2017   either 'ASCH' or 'OMVS' in to be stored in TYPETASK from
               variable SUBSYS, but this task has SUBSYS blank. Now, if
               SUBSYS is blank, TYPETASK='APPC' is stored.
   Thanks to Paul Naddeo, Fiserv, USA.

Change 35.071  Support for z/OS 2.3 RACF 482 segment added to input the
VMAC85         extended LOGSTR text in 1100-byte LOGSTR variable.
Mar 23, 2017   Documented in ICN1560 Mar 23, 2017.

Change 35.070  New fields are added to zPROTECT SMF records:
VMACZPRO       New variable in ZPROT05:
Mar 23, 2017    ZPRRAUSR='ALTERNATE*USERID'
               New variable in ZPROT16:
                ZPRTMINP='MIN*REQUEST*PERFORMANCE*TIME'
                ZPRTMAXP='MAX*REQUEST*PERFORMANCE*TIME'
                ZPRTAVGP='MEAN*REQUEST*PERFORMANCE*TIME'
                ZPRTAUSR='ALTERNATE*USERID'
                ZPRNPROT='PROTECT*OPERATIONS'
                ZPRNACCE='ACCESS*OPERATIONS'

====== Changes thru 35.069 are in this MXG 35.03 dated Mar 22, 2017=====

Change 35.069  Support for CICS Version TS/5.4 Beta 11 adds three new
UTILEXCL       variables to CICSTRAN:
VMAC110          LPARNAME='LPAR*NAME'
Mar 21, 2017     MPSRACT='TIMES WHEN*POLICY*EVALUATED*AND TRIGGERED'
                 MPSRECT='TIMES WHEN*POLICY*RULES WERE*EVALUATED'
   Thanks to Andy Wharmby, IBM CICS Hursley, ENGLAND.

Change 35.068  Support for MQ Version 9.1 SMF 115 new Subtype 201 record
EXTY115Y       creates new dataset:
FORMATS           dddddd   dataset   description
IMAC115           TY115Y   MQ115201  MQ SUBTYPE 201 PAGESET STATS
VMAC115        Mar 27: FORMATS MG115EX and MG115PS added.
VMXGINIT
Mar 20, 2017
Mar 27, 2017
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.067 -Standalone execution failed because &PDBMXG.SMFINTRV
SMFINTRV       needed to be &PDBMXG..SMFINTRV, but MXG invocations in
Mar 14, 2017   BUILDPDB/BUILDPD3 were correct so no error there.
Apr 18, 2017  -Three new interval START datetimes are created so you
               can directly summarize to that interval by your choice of
                 START15INT='FIFTEEN*MINUTE*INTERVAL*START'
                 START30INT='THIRTY*MINUTE*INTERVAL*START'
                 STARTHRINT='HOUR*INTERVAL*START'
               Apr 11: Revised.  Those three variables are now created
               by VMXGDUR, with the DEFAULT SMFINTSYNC59 "SYNC59" option
               defaulting to YES, to be consistent with RMFINTRV.
               If your records are NOT "SYNC59", i.e., are written :00
               use  %LET SMFINTSYNC59=NO;  in your //SYSIN.
               Unlike other "INTRV" programs that invoke VMXGDUR to
               create new summary datasets, SMFINTRV does NOT summarize
               TYPE30_V records; instead it only combines the multiple
               SMF 30 records (MULTIDD='Y' steps with LOTS of DDs) into
               one observation per interval with all EXCPs totaled.
               If you do want to summarize PDB.SMFINTRV across intervals
               the ANALSMFI program provides that example.

Change 35.066  APAR OA59593 adds new flag variable
BUIL3005        SMF30CAS_INELIGHONOR='ELIG WORK*IS NOT*OFFLOADED*TO CP?'
BUILD005       to SMF 30 TYPE30_V/TYPE30_4/TYPE30_V datasets to identify
VMAC30         jobs whose eligible work was NOT offloaded to CPs for
Mar 19, 2017   help.  The variable is also added to PDB.SMFINTRV and
               PDB.STEPS datasets.

Change 35.065  Almost "cosmetic": READDB2 could create dataset DB2STATR
READDB2        even though you did not request it, due to Change 34.265
Mar 14, 2017   that overlaid a token for DB2NETZA.  No obs were output.

Change 35.064   SMT Mode corrections and enhancements.
VMAC7072       -ZIPACTTM in PDB.ASUMCELP is the best source of per-LPAR
Mar 13, 2017    hardware zIIP CPU busy, created in BUILDPDB/ASUM70PR.
                This change adds SMT_NUM to PDB.ASUMCELP to identify the
                SMT mode.
               -Variable ZIPACTTM in PDB.TYPE70 could be too small for
                an LPAR when in SMT_NUM=2; in rare cases the last LPAR's
                was not included.
               -Correction for ZIPACTTM in TYPE70 also caused
                  PLATBUSY LPARSHAC LPARSHAR TOTSHARC TOTSHARE
                  ZIPSHARC ZIPSHARE LZIPSHAC LZIPSHAR
                to also be corrected/changed values in compares.
               -TYPE70/TYPE70PR variables CPUID SMT_CORE_ID LCPUADDR and
                (new) SMT_THREAD are now formatted numeric HEX2. to
                to match RMF reporting formats.
               -In the ASID TYPE30 and Service Class TYPE72GO data, the
                recorded MT=2 CPUZIPTM/ZIPUNITS values are "inflated"
                above the actual hardware zIIP time, and the hardware
                equivalent can not be calculated using R723MCFS, the
                Maximum Multi-Threading Capacity Factor.
                  LPAR with 7 zIIP engines in SMT_NUM=2 MT=2 mode:
                  UPTIME: 1:45  ZIPACTTM: 1:31  72-CPUZIPTM: 2:05 hh:mm
                          105 min          91 min             125 min
                  "Above Inflation Factor" 125/91=1.37
                  Interval R723MCFS              =1.17871
                  "MCSF Equivalent zIIP CPU= 125/1.17871 = 106 min
                but that is as large as the UPTIME of 105 minutes.
                And IBM's range of R723MCFS values is 1.1 to 1.4,
                with a theoretical max of 2.0.

                So: what to do?  Maybe Nothing. This is what is recorded
                now in SMF 30/72 records in MT=2 mode (AND ONLY in ASID
                and SRVCLASS records): NO INFLATED VALUES IN RMF 70 SMF
                data that are used for zIIP capacity metrics.  So, while
                the values are too large, their interval sum can be used
                to determine the proportion of the MT=2 zIIP usage for
                each workload, job, or service class.

                Apr 10: IBM SMT folks have examined these data and have
                confirmed my conclusions that the values are inflated.
                August: IBM confirmed that at very high or very low util
                the SMT values are inflated; it's unclear if that will
                ever change.

                Daniel Rosa's available online 2015 SHARE paper "IBM z
                Systems z13 Simultaneous Multi-Threading R(Evolution)"
                discusses the MT=2 metrics.

                Jul 30, 2018: The CAPZIPRT can exceed 100% due to this
                inflation of 30/72 CPUZIPTM when SMT Mode is enabled.

Change 35.064A  Multi-Volume DCOLDSET records populate some fields only
VMACDCOL        in the first (DCDVOLSQ=1) record. When TYPSDCOL program
Mar 10, 2017    is used, these fields are retained from the first record
                and are now output in PDB.DCOLDSET.
               -Records with DCDVOLSQ=0 were created in WORK.TYPEDCOL
                but were then not output in the first record logic, but
                now they are output to PDB.DCOLDSET.

Change 35.063  -XAMSYS records with SYTCUP SEGLEN=148 but SYTNLPS=2 or 3
VMACXAM         are wrong, protected by changing SYTNLPS to 5 while the
Mar 10, 2017    problem is opened with Barton now to resolve.
               -XMTCPSYS dataset variable NAMENODE was blank because the
                128-byte CONTACT was reduced to 64, then NAMENODE, then
                64 bytes are inserted to keep the original SEGLEN.
   Thanks to Matthew L. Rennebohm, State of Wisconsin, USA.

Change 35.062  Support for Mainview for CICS CMRDETL file VER 6700
VMACMVCI       changes that caused INPUT STATEMENT EXCEEDED error.
Mar  6, 2017
   Thanks to DJ Chen, AST/Southwood Shared Resource Center, USA.

Change 35.061  Enhancement for PDB.ASUMCELP (per-LPAR CEC data) adds the
VMXG70PR       variable SMT_NUM to identify the SMT Mode of zIIPs, from
Mar  7, 2017   the PDB.TYPE70EN dataset, and protection if that dataset
               was not copied to the PDB data library. SMT_NUM will be a
               missing value for PHYSICAL and IFL-Only LPARS, or LPARS
               with no zIIPs.

Change 35.060  Enhancement for SMF 120 Subtype 11 TYP120BL new variables
VMAC120        containing TOTAL, CP ONLY, and ZIP ONLY CPU times:
Mar  5, 2017     SM120BCPUTM='TOTAL*CPUTIME*USED*BCA1-BBZ1'
                 SM120BCPCPUTM='CP ONLY*CPUTIME*USED*BCA2-BBZ2'
                 SM120BZIPCPUTM='ZIP ONLY*CPUTIME*USED'
               are calculated, thanks to the IBM WebSphere Developer who
               educated me that the 16-byte binary TIMEUSED format used
               in this record for the START and END Accumulated CPU data
               contains two 8-byte CPU times: the TOTAL CP+ZIIP in the
               first 8 bytes and the CP ONLY CPU time in the second 8.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.059  Support for CA SYSVIEW for IMS 14.0 update in 2014 Change
VMACSVIE       32.170 has now been tested with actual data, and these
Mar  4, 2017   variables had missing values that are now corrected.
Mar 27, 2017    IMTR_CLK_SUBQ06_TIME IMTR_CLK_MPP_CPU IMTR_CLK_SMB_ENQ
                IMTR_CLK_CNT_ENQ     IMTR_CLK_MXG_END IMTR_CLK_CNT_GU
                IMTR_CLK_UOW_END     IMTR_CLK_UOW_START
                IMTR_CLK_SCHEDULE_TIME
               -Mar 23: Several TODSTAMP variables were not converted
                from GMT to local time zone.
   Thanks to Denise Williers, Wipro, USA.

Change 35.058  Support for IMS LOG 67D0 DIAGNOSTIC RECORD for DC '02'x
EX67D002       created new IMS67D002 dataset.  Note that both D0TIME and
FORMATS        IMSSTCK are both GMT because there is no GMT offset in
IMACIMS        the 67D0 log record.
VMACIMS
VMXGINIT
Mar  2, 2017
   Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.

Change 35.057  Support for z/OS 2.3 OAM SMF 85 (COMPAT) addition of
VMAC85         these variables to support multiple OAM Systems in z/OS:
Mar  1, 2017     R85POSUB='OAM*SYSTEM*ID'
                 R85PSSID='DB2*SYSTEM*ID'
               Documented in ICN1552 March 1, 2017

Change 35.056 -If you used KEEPMNTH= (very rare) an MDY() could fail.
VMXGSUM       -If your INCODE= contains a DATA step, the CLASSNWAY
Mar  1, 2017   option failed, but now a DATA step's existence in the
               INCODE is parsed, and if found, SUMBYCLASS is reset.

Change 35.055  Support for Mainview for IP PTF BPN2331 that adds
VMACMVIP       variable TNDSTATX='CONNECTION*STATE*ACTIVE*CLOSED?'
Mar  1, 2017   variable to the I490 dataset.

Change 35.054 -RMF Monitor III enhancement for OPD (OMVS Process Data)
ADOCRMFV       table character data filtering and usability.
ASMRMFV       -These filters are intended for building ad hoc MXG RMF
VMACRMFV       III PDBs for studies avoiding the overhead of generating
Mar  1, 2017   a full OPD table-based PDB.  They control which OPD table
               entries are output to the RMFBSAM file.
              -Five new filters are added to support OPD entry selection
               from this table to the RMFBSAM output file.  These
               filters are effective only if the OPD table is selected.

               They are applied in the order shown when multiple
               different keywords are used.

               New Keyword    Aliases
               ------------   ------------------------------------------
               OPDPROCNAME=   OPDPROCNA=, OPDPROCNM=, OPDPROC=, OSDPROC=
                              OPDPN=
               OPDJOBNAME=    OPDJOBNA=,  OPDJOBNM=,  OPDJOB=,  OPDJN=
               OPDUSERNAME=   OPDUSERNA=, OPDUSERNM=, OPDUSER=, OPDUN=
               OPDAND         None
               OPDOR          None

               The order of OPD filter application is:
               1) OPDPROCNAME=
               2) OPDJOBNAME=
               3) OPDUSERNAME=

              -TUTORIAL:
               Ranges of the form keyword=first:last may be used with
               any of the above keywords except OPDAND and OPDOR.
               The colon character ':' is required for a paired range
               specification.  All entries GE the first value and LE the
               last value are selected for output to the RMFBSAM file.
               The first value may not exceed the last value in EBCDIC
               collating sequence or an error is flagged.
               Single unpaired values may be specified for a range
               simply as keyword=first and in this case the colon ':' is
               omitted.
               Patterns may also be used with any of the above keywords
               except OPDAND and OPDOR and include one or more Wild Card
               characters to match the respective OPD data field.
               A pattern contains one or more special Wild Card
               characters as follows:
                 Wild
                 Card   Matches
                 ----   ------------------------------------------------
                 *      0 or more characters
                 %      1 Non-blank character
                 +      1 Numeric character (0-9)
                 _      1 Alphabetic character or _  (a-z, A-Z, _)
                 .      1 National character (@, #, $)
                 !      1 Special character (not a-z, A-Z, 0-9, @, #, $)
                 ?      A blank string if used by itself
                 ?      1 Blank character (X'40') if used with any other
                          characters
               Ranges may not be wild carded.  If wild carded the range
               value becomes a pattern instead and is processed as such.
               See Section 25 "Ranges and Patterns" in the ADOCRMFV
               member or ASMRMFV source code for more details on usage
               of ranges and patterns.
              -OPDPROCNAME= selects OPD tables by 1-8 character z/OS JCL
               Procedure Name.  Proc Name characters are validated to
               those allowed by JCL syntax.  Both ranges and patterns
               with wild cards may be specified.  Up to 16 ranges and 16
               patterns are supported.  The default is OPDPROCNAME=ALL.
               NOTE: There is only ONE OSDPROC field per OPD table.  If
               the OPDPROCNAME= value does not match, then the ENTIRE
               OPD table with all entries is excluded.  Use OPDPROCNAME=
               with care and discretion and only if the OSDPROC contents
               are well understood.  Almost always OSDPROC is simply
               'OMVS'.
              -OPDJOBNAME= selects OPD entries by 1-8 character z/OS
               Job Name.  Job Name characters are validated to those
               allowed by JCL syntax.  Both ranges and patterns with
               wild cards may be specified.  Up to 32 ranges and 32
               patterns are supported.  The default is OPDJOBNAME=ALL.
               Job Names must be 1-8 characters in length and may
               include any characters A-Z, #, $, or @.  Numeric digits
               (0-9) may be used only after the first character.
              -Examples for OPDJOBNAME= :
               OPDJN=PROD1234:PROD5678 selects only address spaces with
               a z/OS Job Name GE 'PROD1234' and LE 'PROD5678' as a
               range.  Note use of the keyword alias OPDJN for coding
               convenience.
               OPDJOBNAME=.* is a pattern that selects only address
               spaces with a Job Name that begins with a national
               character.
               OPDJOBNAME=*++ is a pattern that selects only address
               spaces with a Job Name that ends with 2 numeric digits.
               OPDJOBNAME=ABC:ABC88888 is a range that selects only
               address spaces with a Job Name that is GE 'ABC     ' and
               LE 'ABC88888'.
              -OPDUSERNAME= selects OPD entries by 1-8 character z/OS
               User Name.  User Name characters are validated to those
               allowed by JCL syntax.  Both ranges and patterns with
               wild cards may be specified.  Up to 32 ranges and 32
               patterns are supported.  The default is OPDUSERNAME=ALL.
               User Ids must be 1-8 characters in length (1-7 characters
               for TSO Ids) and may include any characters A-Z, #, $, or
               @.  Numeric digits (0-9) may be used only after the first
               character.
              -Examples for OPDUSERNAME= :
               OPDUSERNAME=JOE8888 selects only address spaces with a
               login User Name of 'JOE8888'.
               OPDUSERNAME=JOE:JOE8888 selects only address spaces with
               a login User Name that is GE 'JOE' and LE 'JOE8888'.
               OPDUSERNAME=.* selects only address spaces with a login
               User Name that begins with a national character (@, #,
               $).
               OPDUSERNAME=*++ selects only address spaces with a login
               User Name that ends with 2 numeric digits (00-99).
              -OPDAND (default) indicates that selection results from
               the two different OPD filter keywords are logically
               ANDed.
              -OPDOR indicates that selection results from the two
               different OPD filter keywords are logically ORed.
               Example 1 with OPDAND in effect:
               OPDJOBNAME=ABC*     OPDUSERNAME=SAM*
               only selects Address Spaces in the RMF Monitor III
               OPD table that have a Job Name starting with 'ABC'
               AND a User Name beginning with 'SAM'.
               Otherwise the Address Space is filtered and will NOT
               appear in the result MXG PDB.
               The logical AND results in more restrictive
               filtering because 2 conditions must be met for an
               OPD entry to be selected.

               Example 2 with OPDOR in effect:
               OPDJOBNAME=ABC*     OPDUSERNAME=SAM*
               selects Address Spaces in the RMF Monitor III OPD table
               that have a Job Name starting with 'ABC' OR a User Name
               beginning with 'SAM'.
               If the Address Space does not match either selection it
               is filtered and will not appear in the result MXG PDB.
               The logical OR results in less restrictive filtering than
               Example 1 above because any of the 2 conditions results
               in data selection of an OPD entry.
              -The JOBNAME= (alias JOB=) keyword for multi-table
               selection is expanded to include job names from the OPD
               table as well as the ASI and CSR tables.  This is a
               convenience feature to avoid having to code the Job Name
               parameter three times when the same job names from all
               three tables are of interest.
              -The ASI, CSR, and OPD tables must all be selected for the
               JOBNAME= multi-table selection keyword to function
               completely.  Otherwise only entries from selected tables
               are filtered.
               Note that most RMF III tables do not contain common
               character data fields, but in this case the ASI, CSR, and
               OPD tables all do contain a Job Name.
               JOBNAME= Examples:
               JOBNAME=ABC88888 selects only address spaces with a Job
               Name of 'ABC88888' in either ASI, CSR, or OPD tables and
               is equivalent to coding:
               ASIJOBNAME=ABC88888
               CSRJOBNAME=ABC88888
               OPDJOBNAME=ABC88888
               JOBNAME=ABC:ABC88888 selects only address spaces with a
               Job Name that is GE 'ABC' and LE 'ABC88888' in either
               ASI, CSR, or OPD tables and is equivalent to coding:
               ASIJOBNAME=ABC:ABC88888
               CSRJOBNAME=ABC:ABC88888
               OPDJOBNAME=ABC:ABC88888
               JOBNAME=.* selects only address spaces with a Job Name
               that begins with a national character in either ASI, CSR,
               or OPD tables and id equivalent to coding:
               CSRJOBNAME=.*
               OPDJOBNAME=.*
              -Some RMFV001I Execution Environment messages have been
               reformatted to include DFSMS/MVS version, CPC Name, LPAR
               Name (if not a VM Guest), or VM Userid (if a VM Guest).
               TIOT statistics are now grouped on the same message line.
              -The Creation date was not valid when non-VSAM data set
               was incorrectly provided as a RMF III data set.  CRDATE
               is removed from the RMFV008I message in this case.
              -The MXG00 record version is raised to x'07' from x'06'.
               New fields added to the MXG00 record are:
               IPL timestamp in LOCAL and GMT time
               IPL volume serial
               TIOT size in K and bytes
               TIOT maximum and used entries
               CPC Name, LPAR Name, and VM UserId
               DFSMS/MVS level
              -Several documentation Sections are updated to support
               the above changes:
               Section  5 "Input Data Selection Parameters"
               Section 12 "Messages"
               Section 13 "Filtered Records"
               Section 25 "Ranges and Patterns"
               Section 30 "Summary"
              -VMACRMFV was updated to add new variables to ZRBASM:
                 ASMDFLVL='EXECUTION*DFSMS/MVS*LEVEL'
                 ASMOPNRX='MAXIMUM*OPDPROCNAME*RANGES'
                 ASMOPNPX='MAXIMUM*OPDPROCNAME*PATTERNS'
                 ASMOJNRX='MAXIMUM*OPDJOBNAME*RANGES'
                 ASMOJNPX='MAXIMUM*OPDJOBNAME*PATTERNS'
                 ASMOUNRX='MAXIMUM*OPDUSERNAME*RANGES'
                 ASMOUNPX='MAXIMUM*OPDUSERNAME*PATTERNS'
                 ASMOJNRS='SIZE*OPDJOBNAME*RANGE*TABLE'
                 ASMOJNPS='SIZE*OPDJOBNAME*PATTERN*TABLE'
                 ASMOPNRS='SIZE*OPDPROCNAME*RANGE*TABLE'
                 ASMOPNPS='SIZE*OPDPROCNAME*PATTERN*TABLE'
                 ASMSPGAO='SPG*MULTI*FILTER*LOGIC*I/O?'
                 ASMSINDD='SYSIN/SYSINA*DCB*DDNAME'
                 ASMVFREE='FREE=CLOSE*OPTION?'
                 ASMSINMG='SYSIN*MEMBER*OR*GENERATION'
                 ASMOUNRS='SIZE*OPDUSERNAME*RANGE*TABLE'
                 ASMOUNPS='SIZE*OPDUSERNAME*PATTERN*TABLE'
                 ASMIPLTL='LAST IPL*LOCAL*TIME'
                 ASMIPLTG='LAST IPL*GMT*TIME'
                 ASMTIOTB='MAXIMUM*TIOT SIZE*BYTES'
                 ASMTIOTK='MAXIMUM*TIOT SIZE*IN K'
                 ASMTIOTX='MAXIMUM*TIOT*ENTRIES'
                 ASMTIOTU='CURRENT*TIOT*ENTRIES*IN USE'
                 ASMCPCNM='CPC*NAME'
                 ASMLPARN='LPAR*NAME'
                 ASMVMUID='VM*USERID'
                 ASMIPLVL='IPL*VOLUME*SERIAL*NUMBER'

Change 35.053  SYSOTHER checking is enhanced.  Test for CPUTM NE 0 added
VMXGRMFI       to SYSOTHER detection, since if the CPUTM is 0 it cannot
Feb 28, 2017   impact totals, but workload names and descriptions are
               identified so you can find the culprit, since nothing
               should ever fall thru to Service Class SYSOTHER.

Change 35.052  DATETIME syntax was revised per change 35.022, although
TRNDVMXA       the new VMXGSUM correctly supported the old syntax with
Feb 28, 2017   no error.

Change 35.051  Support for Liberty 17.0.0.1 SMF 120 Subtype 12 COMPAT
VMAC120        enhancements, adds these variables to TYP12012 dataset:
Feb 28, 2017     SM120CDO='REFERENCE*TYPE' MG120CD format decodes:
                       1='1:READER'
                       2='2:PROCESSOR'
                       3='3:WRITER'
                       4='4:CHECKPOINT'
                       5='5:BATCHLET'
                       6='6:PARTITION_MAPPER'
                       7='7:PARTITION_REDUCER'
                       8='8:PARTITION_COLLECTOR'
                       9='9:PARTITION_ANALYZER'
                      10='10:DECIDER'
                 SM120CDU='PHYSICAL*CPU*ADJUSTMENT*RCTPCPUA'
                 SM120SU_SEC='CPU*RATE*ADJUSTMENT*RMCTADJC'
                 SM120CDW='REPOSITORY*TYPE*JPA* OR MEM'
                 SM120CDX='JOB*STORE*REF*ID'
                 SM120CDY='SM120CDY*FLAGS'
                Next six variables are only valid in step end record
                 SM120CDZ='STEP*START*LIMIT'
                 SM120CEA='CHUNK*STEP*CHECKPOINT*POLICY' decodes:
                       0='0:ITEM'
                       1='1:CUSTOM'
                 SM120CEB='CHUNK*STEP*ITEM*COUNT'
                 SM120CEC='CHUNK*STEP*TIME*LIMIT'
                 SM120CED='CHUNK*STEP*SKIP*LIMIT'
                 SM120CEE='CHUNK*STEP*RETRY*LIMIT'

Change 35.050  PDB.ASUMCELP REQUIRES SMF 70s from ALL SYSTEMs to be read
VMXG70PR       to correctly populate all variables.  Each SMF 70 record
Feb 27, 2017   contains a "This System" segment that populates TYPE70,
               and an "LPAR Segment" for each LPAR, for TYPE70PR, so the
               LPAR data can be reported & summarized from a SMF 70 from
               only one system, but then all the "This System" variables
               are wrong, notably, SMF70LAC, the IBM 4HR AVG MSU, which
               will contain ONLY the MSU from the one "This System".
               This change compares TYPE70 and TYPE70PR to detect if
               there are missing TYPE70 or TYPE70PR data, printing a
               a PROC FREQ with missing systems identified, and printing
               a log message that SMF70LAC will be wrong.

Change 35.049  Support for MAINVIEW FOR IMS 5.3 a/k/a IMF or CIMS which
VMACCIMS       COMPATIBLY added these variables to the CIMSTRAN dataset:
Mar 12, 2017     TRNMSYS ='MQ*REMOTE*SYSTEM*NAME'
                 TRNDSYS ='DB2*REMOTE*SYSTEM*NAME'
                 TRNFLTRD='SOME*CALLS*NOT TRACED*FILTERS?'
                 TRNPRELD='PGM*WAS*PRELOADED'
                 TRNINFL ='TRN WAS*CAUGHT*INFLIGHT'

Change 35.048  Support for IWS Version 9.3, a/k/a TWS and was OPC, which
VMACOPC        replaces subtype 23 with new subtype 66 with the original
Feb 24, 2017   variables plus these four new variables
                 TRLDURS23='DURATION'
                 TRLOID23 ='OPERATION*ID'
                 TRLOLDST23='OLD*STATUS'
                 TRLREADY23='START*DATETIME*WAIT*OPR'
               The new subtype 66 record is output in the OPC23 dataset
               so your reports won't have to be changed.
   Thanks to Teuvo Virsu, TIETO,

Change 35.047  Support for IFCID 316 ACCESS CONTROL AUTH EXIT PARMS.
VMAC102
Feb 24, 2017

Change 35.046  Support for IFCID 125 Truncated Package Collection and
FORMATS        Package Name fields, and new variables for Runtime
VMAC102        Adaptive Index in T102S125 dataset:
Feb 20, 2017     QW0125TI='INDEX*PROBING*RIDS IN*INDEX'
                 QW0125QI='INDEX*PROBING*RIDS*IN*KEYRANGE'
                 QW0125_TRSN='REASON*LEG*WAS*TERMINATED?'
                 QW0125_PRSN='REASON*LEG*NOT*PROBED?'
                 QW0125_ORSN='REASON*LEG*WAS*REORDERED?'
                 QW0125_FRSN='REASON*LEG*WAS*MARKED FULL?'

Change 35.045  ANALDB2R variable QWHSRELN format expanded from 3.1 to
ANALDB2R       4.1 to print full 10.1 Release value in reports.
Feb 20, 2017

Change 35.044 -The new ZRBCPU SMT Multithreading variables were always
VMACRMFV       missing due to an invalid MXG test for LENLEFT.
Feb 20, 2017  -New variables found in the Dec 2016 Programmers Guide:
               Dataset ZRBCPU:
                 CPC_CECNAME='CPC*CEC*NAME'
                 LPARHWGR='LPAR*HW*GROUP*NAME'
               Dataset ZRBLCP:
                 LCPUHWLW='HW*GROUP*CAP*LIMIT'
                 LPARHWGR='LPAR*HW*GROUP*NAME'
              -APAR OA58688 adds these new fields.
   Thanks to MP Welch, Bank of America, USA.

Change 35.043  SMF74NID, the Network ID, contains 26 EBCDIC and 2 hex
VMAC74         bytes that don't "print pretty".  Variable SMF74NIDTWO
Feb 20, 2017   keeps those two bytes, formatted $HEX4. for printing.
   Thanks to Pierre Pascal Joulin, Societe Generale, FRANCE.

Change 35.042  Sample code that creates charts of resource group CPU
GRAFCAPS       usage and capping.
Feb 17, 2017

Change 35.041  DCOLLECT format MGDCOSG adds new 6='6:COPYPOOL' value to
FORMATS        map that value in variable DSGFTYPE.
Feb 17, 2017
   Thanks to J. Alan Gray, CareFirstBlueCrossBlue Shield, USA.
   Thanks to Stanley M. Helms, CareFirstBlueCrossBlue Shield, USA.

Change 35.040A IBM APAR OA51325 corrects invalid SMF 15 record missing
VMAC1415       the UCB segment causing VOLSER to be truncated to two
Feb 17, 2017   characters.  No code change to support the corrections.

Change 35.040  Support for Velocity Software ZWRITE file z/VM MONWRITE
VMACVMXA       records which have a new BEGINMTR value for each (hour)
VMXGINIT       period, which caused the first interval of each (hour) to
Feb 15, 2017   be lost, because normal MONWRITE records have a single
               BEGINMTR value for each file.  But the ZWRITE records are
               contiguous in spite of changed BEGINMTR, so this support
               is enabled with   %LET MXGZWRITE=YES;  in SYSIN  which
               will set BEGINMTR only from the first instance so only
               the very first interval is lost per day.
                 // EXEC MXGSASV9
                 //VMINPUT DD DSN=YOUR.ZWRITE.MONWRITE.DATA,DISP=SHR
                 //PDB     DD DSN=YOUR.ZWRITE.PDB,DISP=OLD
                 //SYSIN   DD *
                   %LET MXGZWRITE=YES;
                   %INCLUDE SOURCLIB(VMACVMXA,IMACKEEP);
                    _TESTVM   /*READS VMINPUT */
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 35.039  MQMQUEUE variable WQQTYPE is mapped by MG116QT format
FORMATS          VALUE  MG116QT
VMAC116          1='1:LOCAL'
Feb 15, 2017     2='2:MODEL'
                 3='3:ALIAS'
                 6='6:REMOTE'
                 7='7:CLUSTER'
              -GMTOFF116 calculation revised correcting occasional
               missing values in WQCLOSTI, WQOPENTI, and WQTTTIME.
               (WQCLOSTI can be validly missing).
              -APAR PI70580 corrects invalid WQBASENA variable values,
               which seem to occur in every second segment in each
               SMF record, but other segment's values are valid.
   Thanks to Raymond Smith, Optum TECH, USA.
   Thanks to Pietro Rosella, Canadian National Rails, CANADA

Change 35.038  MXG 34.04 added PROC DELETE DATA=:CIC after PDB.CICINTRV
CICINTRV       had been created, intending to delete ONLY CICS Stats
VMXGCICI       datasets to free up //WORK space for subsequent use, but
Feb 14, 2017   if CICINTRV was intentionally left in //WORK, it was then
               unintentionally deleted by that colon modifier, and ITRM
               expected it to be left in WORK as it had been previously.
               Since no one had actually asked for this cleanup, it has
               been removed from VMXGCIC.  But, added at the bottom of
               the CICINTRV member, inside a comment block, is the code
               to delete all of those CICS Stats, if you do wish to.
   Thanks to Don Barnard, North Carolina State Government, USA.
   Thanks to Chris Weston, SAS Institute ITRM, USA.

Change 35.037  ASUMDB2P expected variables QPACDBRM/QPACPACK would be
ANALDB2R       populated, but those bits were removed in DB2 V10, so now
ASUMDB2P       PACKTYPE is blank.
Feb 14, 2017  -ANALD2R was not correctly rolling up the control break
               totals in the Accounting SHORT report.

Change 35.036  VMXGSUM will now tell you with an MXGNOTE when it cannot
VMXGSUM        use CLASS NWAY and why it cannot.  There are two cases:
Feb 11, 2017     - Use of DESCENDING in the SUMBY
                 - same dataset name for input and output and no OUTCODE
                   specified
               It will also now display the final setting of SUMBYCLASS.
   Thanks to Tim Hare, Southwood Shared Resource Center, USA.

====== Changes thru 35.035 are in this MXG 35.02 dated Feb 10, 2017=====

Change 35.035  Protection for Invalid TPX Subtype 7 record with Segment
VMACTPX        TPX07LEN=93 but only 44 bytes remain in the record. MXG
Feb 10, 2017   silently deleted the record, because of prior invalid 07x
Feb 14, 2017   causing zero obs in TPXAPLON Logon dataset. The first 44
               are now INPUT, and the remainder conditionally input.
              -Feb 14: Correction for undocumented 8 byte insert
               in '06' and a blank in TPXSNAME.
              -Feb 14: Each pair of subtype 01 TPXSTART records have the
               same SMF time, but the second record is a continuation of
               the first record, which is not supportable; a problem
               report will be opened with TPX Support.
              -TPX PTFS R088919 and R085818 correct some errors, while
               CA Fix TR95030 corrects the bad subtype 1 records which
               turned out to subtype 2 records with wrong subtype.
   Thanks to Scott Wiig, USBank, USA.
   Thanks to Paul Volpi, UHC, USA.

Change 35.034  Support for the BBMQ large segment record structure that
VMACBBMQ       are created by the BMC BBM9MD73 utility program that
Feb 10, 2017   extracts the records from the history file for TYPEBBMQ
               to then process.   Both old and new format records are
               supported with this change and there were no changes to
               the MXG datasets.   This is support for BBMQ 5.3.

Change 35.033  Logic to determine the begin/end of month was robusted
VMXGALOC       and non-zero length MNTHKEEP will always display the
Feb  9, 2017   MONTH Libname value.

Change 35.032  Documentation Only.  DCOLLECT records can contain the JOB
VMACDCOL       and STEP and the TIME of the Creating JOB for DISP=NEW
Feb  9, 2017   datasets, but the EATTR option must be specified either
               in the DATACLASS definition or with a DD statement.
   Thanks to Paul Newton, IBM RDP Dallas, USA.

Change 35.031  Variable S42DSIOS='RW TO*METRO*MIRROR*SECONDARY' is added
VMACDB2        to dataset TYPE42DS, having been overlooked.
Feb  9, 2017
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND

Change 35.030  DB2 statistics dataset DB2STAT4 QW0225_LMWRITE_REAL and
VMACDB2        _QW0225_LMCTYRL_REAL were incorrectly very large due to
Feb  7, 2017   a 4-byte misalignment.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.029  RACF SMF70DTP/RACFTYPE=6 segment was increased in length
VMAC80A        from 124 to 136 but had not been protected for a change.
Feb  7, 2017   Three additional keyword variables  ADDLKEY1-ADDLKEY3
               are added to TYPE8010 and TYPE8013 datasets.
   Thanks to Coen Wessels, GTS Infrastructure, SWITZERLAND.

Change 35.028  Support for RMF III dataset ZRBENC new "long name" fields
ASMRMFV        that were added by z/OS 2.1 but not captured by ASMRMFV.
VMACRMFV       Variables EDEPCKG EDEPROC EDEUSER EDETRXN ECEACCT were
Feb  6, 2017   increased in length and these new variables are kept:
                  EDESCHEDENV         ='SCHEDULING*ENVIRONMENT*NAME'
                  EDESCHEDENVLN       ='S E NAME LENGTH'
                  EDESUBSYSCOLLECT    ='SUBSYSTEM*COLLECTION*NAME'
                  EDEPCKGLN           ='PACKAGE*NAME*LENGTH'
                  EDEPROCLN           ='PROCEDURE*NAME*LENGTH'
                  EDECLIENTIPADDR     ='CLIENT*IP*ADDRESS'
                  EDECLIENTIPADDRLN   ='CLIENT*IP*ADDRESS*LENGTH'
                  EDEUSERLN           ='CLIENT*USERID*LENGTH'
                  EDETRXNLN           ='CLIENT*TRANSACTION*NAME*LENGTH'
                  EDECLIENTWRKSTATION ='CLIENT*WORKSTATION'
                  EDECLIENTWRKSTALN   ='CLIENT*WORKSTATION*LENGTH'
                  EDEACCTLN           ='CLIENT*ACCOUNT*LENGTH'
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 35.027  Support for DB2 NETEZZA DB2ACCT Q8AC Accumulated fields:
IMACDBNZ         Q8ACINSC='INSERT*STATEMENTS*SENT TO IDAA*FROM DB2'
Feb  6, 2017     Q8ACUPDC='UPDATE*STATEMENTS*SEND TO IDAA*FROM DB2'
                 Q8ACDELC='DELETE*STATEMENTS*SEND TO IDAA*FROM DB2'
                 Q8ACDRPC='DROP*STATEMENTS*SEND TO IDAA*FROM DB2'
                 Q8ACCRTC='CREATE*STATEMENTS*SEND TO IDAA*FROM DB2'
                 Q8ACCMTC='COMMIT*STATEMENTS*SEND TO IDAA*FROM DB2'
                 Q8ACRBKC='ROLLBACK*STATEMENTS*SEND TO IDAA* FROM DB2'
                 Q8ACOPNC='OPEN*STATEMENTS*SEND TO IDAA*FROM DB2'
                 Q8ACROWI='ROWS*INSERTED*TO IDAA*BY DB2'
                 Q8ACROWU='ROWS*UPDATED*ON IDAA*BY DB2'
                 Q8ACROWD='ROWS*DELETED*ON IDAA*BY DB2'
                 Q8ACROWC='ROWS*RETURNED*BY IDAA*TO DB2'
               These variables are output in DB2ACCT, but they appear
               to be defective, as they are supposed to be ACCUMULATED
               but the 2012 and 2013 test data I have has breaks in the
               expected monotonic increase, so if you are interested in
               these fields, please send current SMF 101 data so I can
               investigate if the accumulation is now valid.

Change 35.026  If MXG detects Service Class Name of SYSOTHER, error msgs
UTILRMFI       are printed when SMF 72 records are processed. SYSOTHER
Feb  1, 2017   should never happen; it is the fall thru service class
               when WLM can't classify work and runs at the lowest DPRTY
               in MTTW mode, and thus should NOT ever happen! Now, when
               UTILRMFI is run to examine the problem, it will also read
               the PDB.SMFINTRV or PDB.TYPE30_4 dataset to find what
               tasks were classified into SYSOTHER, reporting JOB name,
               READTIME, JESNR, and SRVCLASS and RPTCLASS. If there are
               type 30 records they will be reported but there may not
               be any, if no tasks actually went to the service classes,
               or the workload is one where there is no type 30 record
               (e.g., DDF). All workloads in your WLM classification
               rules should have a default service class SPECIFIED:
              -Unclassified work will default to one of two places
                - Started Tasks default to SYSSTC
                - All other work defaults to SYSOTHER
               Neither is a good choice.  SYSSTC runs at very high DP
               and SYSOTHER runs at very LOW DP. While very low may be
               appropriate for workloads you do not know, very high is
               almost certainly not.
              -Reports 1 thru 3 already exist.
              -Report 4 is added to give you the job names, read times
               jes numbers, service and report class where the service
               class is SYSOTHER, from 30_4 and SMFINTRV.
              -Report 5 is added to show you any DB2ACCT records that
               may have landed in SYSOTHER as they may not be in a type
               30 record.
              -Report 6 is added to show you all tasks falling into
               SYSSTC, from 30_4, SMFINTRV and 30_6.
              -Report 7 is added as a table of CPU consumption by
               service class and system, from TYPE72GO.
              -Report 8 is added as a table of CPU consumption
               by report class and system from TYPE72GO.

Change 35.025  Using the _VMINPUT macro to read VB z/VM MONWRITE data
VMACVMXA       incorrectly set the length of VMDUSER to only one byte.
Feb  1, 2017
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 35.024  SMF 120 Subtype 9 variables SM1209EV/EW/SM1209FI are not
VMAC120        kept. In TYP1209U detail dataset, they are output either
Feb  3, 2017   in new variables SM1209xxEJBDET or SM1209xxWEBDET, and in
               datasets TYP1209R and TYP1209N they are summed and output
               in SM1209xxEJB and SM1209xxWIB variables.
               The TIME format was removed from the EW count variables.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.023  MXG 35.01. If UTILEXCL executed with //PDB DD DISP=OLD,
UTILEXCL       only the NEW dictionary records read from SMF are used
Jan 29, 2017   to create the IMACEXCL, and old dictionary records are
               lost; only the new records are output in PDB.CICSDICT.
                (The step DATA _LCICDIC; SET _WCICDIC; to add the LABEL
                 was changed to SET _LCICDIC to correct this error.)
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA

Change 35.022  ANCIENT syntax of DATETIME in SUMBY in user tailored
VMXGSUM        invocation of VMXGSUM (pre MXG Version 21 example!) can
Jan 29, 2017   cause VMXGSUM, which is used EXTENSIVELY internally in
               MANY MXG members, to fail, sometimes with only a message
               WARNING: VARIABLE QWACBSC ALREADY EXISTS ON WORK.MXGSUM3
               or it can ABEND with ERROR FUNCTION COMPBL TOO FEW ARGS.
               Only three sites reported the error with MXG 35.01/34.34.
               Primary exposure was this syntax,
                   SUMBY= . . .DATETIME . . . ,
                   ID= . . . QWACBSC . . . ,
                   DATETIME= QWACBSC,
               which caused the output dataset variables QWACBSC and
               DATETIME have missing values.
                 The correct syntax replaces DATETIME in the SUMBY= :
                 with the DATETIME= variable, and removes the DATETIME=
                 variable from the ID= argument,
               This error was exposed in MXG 34.05 in Change 34.151 for
               the CLASSNWAY update that is also corrected.  But, even
               though unlikely, this change detects the old syntax with
               DATETIME in SUMBY= argument, changes to correct syntax,
               and tells you what was done for you in a log note.
               If you had DATETIME in the SUMBY= list and also did NOT
               explicitly use the DROPDT=NO option, then DATETIME
               variable is kept in the output dataset.
              -Unrelated, this change adds the FLORCEIL parameter to
               VMXGSUM so you can create interval start or end times as
               you can do in VMXGDUR. Setting FLORCEIL=CDIL sets the END
               time or FLORCEIL=FLOOR sets the START time, and the label
               indicates START or END.
              -Note: this internal MXG Change could be INCOMPATIBLE with
               programs that worked perfectly previously; send your code
               VMXGSUM invocation and we will update your code.
   Thanks to Paul Volpi, UHC, USA.

Change 35.021  MXG 35.01, TYPE78PA variables R782LSMOxx and R782GFMOxxx
VMAC78         and R782GFFRxxx are incorrect; R782LSMOMIN should have
Jan 27, 2017   been INPUT before R782LSMONTME, but statement was lost
               causing R782LSMOMIM UNINIT message.
   Thanks to Paul Naddio, FISERV, USA.

Change 35.020  MXG 35.01. Spurious MXGWARN: VMXGSUM BACKLEVEL MXG 3434
VMXGSUM        note has no impact; the VMXGDUM in 35.01 is correct, but
Jan 25, 2017   the VMXGVERS call was not updated with '35.01' text.

Change 35.019 -Support for changed SYTCPU with SYTNLPS=1 SEGLEN=48
VMACXAM        that caused INVALID SEGMENT record, XAMSYT dataset.
Jan 26, 2017  -Support for new SYTLC3 segment in XAMSYS records
Mar  2, 2017   was added on March 2, adding these new variables:
                 CALLCKID='CALL*CHECKID'
                 INDEX   ='TO MATCH*HISTORY DATA'
                 SECONDS ='SECONDS'
                 CALXSCNT='TOTAL*SPIN*TIMES*EXCLUSIVE'
                 CALXTIME='TOTAL*SPIN*TIME'
                 CALSSCNT='SPIN*TIMES*SHARED'
                 CALSTIME='SPIN*TIME*SHARED*MODE'
                 CALCADSH='CAD*INSTRUCTIONS*OBTAIN*LOCK'
                 CALCADEX='CAD*INSTRUCT*OBTAIN*EXCL LOCK'
              -Support for new HSTME2 segment in XAMTCP was added
               on March 2, changing only the length of DESCR to
               60 bytes.
   Thanks to Patricia Hansen, ADP, USA.

Change 35.018  An extraneous character in the SU_SEC format raised a
GRAFWRKX       WARNING but did not cause an error, but ZIPTM, IFATM, and
Jan 26, 2017   ZIETM were not being properly summed, causing the ZIP ZAP
               and ZIE graphs to be suppressed.
              -ODS PROCLABEL statements added to make the index 'pretty'
               when creating HTML or PDF output.
   Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.

Change 35.017  New DB2 ZPARMs are added to  T102S106 Dataset:
VMAC102           QWP4MNSU='MATERIALIZE*NODET*SQLTUDF?'
Jan 25, 2017      QWP4DSINUN='DISALLOW*SELINTO*UNION?'
                  QWP4MTAD='MOVE*TO*ARCHIVE*DEFAULT'
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 35.016  DB2STATS dataset, these seven storage variables
VMACDB2          QISTWSTG  QISTDGTTSTG QISTDGTTCTO QISTDGTTMXU
Jan 24, 2017     QISTWFSTG QISTWFCTO   QISTWFMXU
               were multiplied by 4096 (page size) instead of by 1024
               to convert KB to bytes for MGBYTES. format.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 35.015  Support for SMF 117 written by GTZ (conflicts with 117
VMAC117        from Message Broker), now GTZ record is ID=125.
VMAC125       -If you use TYPE117, it will delete any GTZ records and
Jan 20, 2017   tell you that they were NOT Message Broker records.
              -To process the 117s from GTZ, use this in //SYSIN DD
               until you have the APAR that writes them as 125's:
                 %LET MACFILE=
                   %QUOTE(IF ID=117 THEN DO;
                            INPUT @15+OFFSMF SM117SSI $EBCDIC4. @;
                            IF SM117SSI='GTZ ' THEN ID=125;
                          END;
                          );
               and tell MXG to process both 117 and 125 records.

====== Changes thru 35.014 are in this MXG 35.01 dated Jan 20, 2017=====

Change 35.014  A variable with DATETIME embedded in the name caused an
VMXGSUM        branch in the code building the SUMBY string and caused
Jan 19, 2017   the SORT to fail with a variable not found.
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA

Change 35.013  If you used AUTOALOC=YES with RUNMNTH=MTD on the second
BLDSMPDB       day of the month, the previous month may have been
Jan 18, 2017   deleted.

Change 35.012  Old protection for APAR OA24074 caused ZERO DIVIDE ID=70
VMAC7072       if CPUUPTM and CPUPATTM were identical, now protected.
Jan 18, 2017
   Thanks to Job Varkey, Verisk Analytics, USA.
   Thanks to Cesar V. Cocco, Verisk Analytics, USA.

Change 35.011  For local time zones with +GMT, variable GMT115TM was
VMAC115        one hour too large, fortunately impacting only variables
Jan 17, 2017   QJSTIOMAXIOT1-4 and QJSTIOMAXSUST1-4 in MQMLOG dataset.
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA

Change 35.010  OSEM User SMF INPUT STATEMENT EXCEEDED, invalid record
VMACOSEM       with length of last segment not provided if there was
Jan 26, 2017   more than one segment. The year 2000 vendor DSECT does
Apr  3, 2018   show a '00'x terminates the record, so that is now used
               to detect the length of the last segment.
               Code sent in Mar, 2018 but VMACOSEM updated in 36.04.
   Thanks to Nilton D Junior, IBM, BRAZIL.

Change 35.009  Support for APAR OA48913 metrics for 2GB Memory Frames.
VMAC71        -New variables in TYPE 71:
Jan 13, 2017     SMF71GAA='AVG 2GB FRAMES*IN LFA*NOT IN-USE'
                 SMF71GAM='MIN 2GB FRAMES*IN LFA*NOT IN-USE'
                 SMF71GAX='MAX 2GB FRAMES*IN LFA*NOT IN-USE'
                 SMF71GFA='AVG TOTAL*2GB FRAMES*CAN BE USED'
                 SMF71GFM='MIN TOTAL*2GB FRAMES*CAN BE USED'
                 SMF71GFX='MAX TOTAL*2GB FRAMES*CAN BE USED'
                 SMF71GOA='AVG FIXED 2GB*OBJECTS*ALLOCATED'
                 SMF71GOM='MIN FIXED 2GB*OBJECTS*ALLOCATED'
                 SMF71GOX='MAX FIXED 2GB*OBJECTS*ALLOCATED'
                 SMF71GRA='AVG 2GB PAGES*FIXED*IN CSTORE'
                 SMF71GRM='MIN 2GB PAGES*FIXED*IN CSTORE'
                 SMF71GRX='MAX 2GB PAGES*FIXED*IN CSTORE'
                 SMF71GUA='AVG 2GB FRAMES*IN LFA*IN-USE*BY FIXED MEMOBJ'
                 SMF71GUH='HWM*2GB FRAMES*USED'
                 SMF71GUM='MIN 2GB FRAMES*IN LFA*IN-USE*BY FIXED MEMOBJ'
                 SMF71GUX='MAX 2GB FRAMES*IN LFA*IN-USE*BY FIXED MEMOBJ'
                -New variables in TYPE78PA:
                 R782GFMOMIN ='MIN FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
                 R782GFMONTME='TIME STAMP*OF MIN*MEMOBJ*BACKED*IN 2GB'
                 R782GFMOMAX ='MAX FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
                 R782GFMOXTME='TIME STAMP*OF MAX*MEMOBJ*BACKED*IN 2GB'
                 R782GFMOAVG ='AVG FIXED*MEMOBJ*BACKED IN*2GB FRAMES'
                 R782GFFRMIN ='MIN 2GB PAGES*FIXED*IN CSTORE'
                 R782GFFRNTME='TIME STAMP*OF MIN*PAGES*FIXED*IN CSTORE'
                 R782GFFRMAX ='MAX 2GB PAGES*FIXED*IN CSTORE'
                 R782GFFRXTME='TIME STAMP*OF MAX*PAGES*FIXED*IN CSTORE'
                 R782GFFRAVG ='AVG 2GB PAGES*FIXED*IN CSTORE'

Change 35.008  TYPE42 variable S42CSID, the SSID is now formatted HEX4.
VMAC42         as are the other SSID variables in TYPE42 datasets.
Jan 12, 2017
   Thanks to Michael Friske, FMR, USA.

Change 35.007  Liberty SMF 120 subtype 12 TYP12012 dataset variables
VMAC120        SM120CCC and SM120CCD had year 2027 plus 1 day later
Jan 12, 2017   because MXG added the DEL6070 seconds between 1960-1970
               TWICE.  Variable SM120CCB, also on the 1970 epoch, was
               correct as DEL6070 (315619200) was only added ONCE.
   Thanks to Steve McKee, FMR, USA.

Change 35.006  Duplicate RMFINTRV obs were created if multiple Capacity
VMXGRMFI       Group Names existed in the TYPE70PR data; MXG did not
Jan 10, 2017   select the obs with SYSTEM=SMF70STN and inadvertently
Jan 25, 2017   output duplicated records; Most values were exact dupes,
               but SMF70GNM SMF70GMU TOTMEMR values were different.
              -This error was introduced in MXG 34.01, Change 34.029.
              -Protected archaic DURSET and DETAIL interval Jan 25.
   Thanks to Joachim Sarkoschitz, DATEV, DENMARK.
   Thanks to Frank Fischer, Concordia, GERMANY.

Change 35.005  RMF III dataset ZRBLCP observations were created for each
VMACRMFV       LCPUADDR in the LPAR, only if the LCPU Dispatch Time was
Jan 10, 2017   non-zero, but that test is changed to output LCPUADDRs
               that are ONLINE (by testing LCPUONL), so that ZRBLCP has
               an observation for every ONLINE LCPU Address, to match
               the RMF CPC screen data.
   Thanks to MP Welch, Bank of America, USA.

Change 35.004  MXG 34.34. Debugging PROC CONTENTS statements were left
UTILEXCL       that caused DATASET PDB.CICSDICT NOT FOUND errors, if the
Jan 10, 2017   //PDB DD had DISP=NEW, Lines 891, 892, and 898 need to be
               deleted, but that only exposed a second error causing the
               same error message; the PROC APPEND had transposed the _W
               and _L tokens - Base must be _L and NEW must be _W.
   Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.

Change 35.003  Cosmetic. Variables ADSRXXXX, ADSRYYYY, ADSR5ST are now
VMACEREP       converted to EBCDIC..
Jan  6, 2017

Change 35.002  Another INVALID SMF RECORD Informatica POWER EXCHANGE
VMACPOEX       caused STOPOVER ABEND because POEXLEN=52 but there are
Jan  6, 2017   are only 32 bytes left in the record; its missing the
               last five counters for the Client POEXCLIE dataset.
               Datetime variables POEXSTRX/POEXENDX are now kept.
   Thanks to Scott Wiig, USBank, USA.

Change 35.001  The year end interval with STARTTIME=31DEC2016:23:55:00
VMACNMON       incorrectly had ENDTIME=01JAN2016:00:00 because MXG used
Jan  4, 2017   the AAA record's DATECH value to get the year, but that
               was the date of the start of the monitor.  Now, the DATE
               in the ZZZZ record is used.
   Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.


LASTCHANGE: Version 35.
=========================member=CHANGE34================================
 /* COPYRIGHT (C) 1984-2016 MERRILL CONSULTANTS DALLAS TEXAS USA */

        MXG Version 34.34 is  dated Jan  3, 2017, thru Change 34.284
        MXG Newsletter SIXTY-EIGHT is dated Jan  3, 2017.
        MXG Version 34.10 was dated Dec 25, 2016, thru Change 34.280
        MXG Version 34.09 was dated Dec 16, 2016, thru Change 34.279
        MXG Version 34.08 was dated Nov 25, 2016, thru Change 34.269
        MXG Version 34.07 was dated Oct  7, 2016, thru Change 34.232
        MXG Newsletter SIXTY-SEVEN was dated Oct  7, 2016.
First   MXG Version 34.07 was dated Oct  5, 2016, thru Change 34.230
        MXG Version 34.06 was dated Aug 18, 2016, thru Change 34.198
        MXG Version 34.05 was dated Jul 25, 2016, thru Change 34.173
        MXG Version 34.04 was dated Jun 23, 2016, thru Change 34.144
        MXG Version 34.03 was dated May 10, 2016, thru Change 34.114
        MXG Version 34.02 was dated Apr  5, 2016, thru Change 34.083
Final   MXG Version 34.01 was dated Mar 21, 2016, thru Change 34.062
Third   MXG Version 34.01 was dated Mar 14, 2016, thru Change 34.058
Second  MXG Version 34.01 was dated Mar 14, 2016, thru Change 34.057
First   MXG Version 34.01 was dated Mar  7, 2016, thru Change 34.048
ANNUAL: MXG Version 33.33 was dated Jan 18, 2016, thru Change 33.327

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 34.34 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 34.34.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================

I.  MXG Version 34.34 dated Jan  3, 2016, thru Change 34.284
    This is the MXG "ANNUAL VERSION" for 2017.

  Major CHANGES added in MXG 34.34, dated Jan  3, 2016 thru 34.284.

  TYPEIDML 34.282  Support for IDMS Log (INCOMPAT, third record).
  TYPEDB2  34.281  DB2 IDAA variable Q8STDSKU format/label corrected.

  Major CHANGES added in MXG 34.10, dated Dec 25, 2016 thru 34.280.

  TYPEVMXA 34.280  z/VM Linux Appl VXAPLSLM/N/P/0 deaccum corrected.
  TYPEVMXA 34.280  z/VM VXBYUSR had some obs with negative values.

  Major CHANGES added in MXG 34.09, dated Dec 16, 2016 thru 34.278.

CRITICAL CHANGE:
  TYPE110  34.274  Support for CICS/TS 5.4 BETA 6 (INCOMPAT CICSTRAN).
ENHANCEMENTS
  TYPETMD2 34.275  Support for ASG/TMON for DB2 IDAA SA and SB records.
  TYPE115  34.272  Support for MQ SMF 115 Subtype 231 DSP/ADP/SSL/DNS
  ANALDCO1 34.271  New ANALDCO1 provides simple DCOLLECT reports.
  ASMRMFV  34.273  Internal Performance improvement for RMF III support


  Major CHANGES added in MXG 34.08, dated Nov 25, 2016 thru 34.269.

CRITICAL CHANGE:
  TYPE7072 34.239  SMT Corrections to TYPE70PR "OTHER SYSTEM" LPARs.
  TYPETPX  34.269  Support for INCOMPATIBLE TPX PTF R085512/R085513.
ChangeS:
  TYPEDB2  34.248  DB2 Netezza IDAA Q8STxxxx in new DB2NETZA dataset.
  ANAL9914 34.255  z13 Topology Report typo corrected.
  CICINTRV 34.254  CICS Dispatcher DSGSRBT SRB Time Kept in CICINTRV.
  VMXGALOC 34.253  UPCASE removed for BASExxx path for Linux casing.
  TYPE119  34.252  TYP11950 dataset only contained first KEY.
  TYPEVMXA 34.249  z/VM Linux Appldata VXAPLSLM/SLN/SLP corrections.
  TYPE42   34.245  SMF 42 TYPE42L1 dataset misaligned at SMF42HUA.
  ANALDB2R 34.265  ANALDB2R 33.33-34.07 could require temp //PDB DD.
ENHANCEMENTS
  TYPE110  34.260  Support for SMF 110 Subtype 2 STID=32 creates CICLDY.
  TYPETMO2 34.257  Support for TMON/CICS Version 4.1 (COMPATIBLE)
  TYPE80A  34.251  Support for TOP SECRET RDT Table decoding.
  TYPERACF 34.247  Support for RACF APAR OA43999 RACF UNLOAD database.
  TYPE117  34.243  Support for SMF 117 Version 2 (INCOMPATIBLE) format.
  TYPEZCOS 34.241  Support for AutoSoftCapping Version V4 (COMPATIBLE).
  TYPETHAL 34.261  Support for Thales Security Records with/wo subtype
  IMACCADI 34.263  Support for CAA/DISPATCH type 6 change (INCOMPAT)
  ASMRMFV  34.262  ASMRMFV enhancement for Parameters.
  VGETJESN 34.240  Hex zeros in JCTJOBID in SMF 42 ST 27 protected.
  ANAL3CPC 34.238  Example RMF III CPC data report.
  TYPESTC  34.237  New variables added to STCVSM11 dataset.

  Major CHANGES added in MXG 34.07, dated Oct  7, 2016 thru 34.232.

CRITICAL CHANGE:
  TYPE7072 34.232  First 34.07. CRITICAL ARRAY EXCEEDED ERROR fixed.
                   DO NOT USE Oct 5 34.07 for TYPE 70 processing.
  Major CHANGES added in MXG 34.07, dated Oct  5, 2016 thru 34.229.

ENHANCEMENTS
  TYPEDB2  34.229  Support for DB2 V12. (COMPATIBLE).
  TYPE70   34.228  Support for APAR OA48688, ABSOLUTE MSU LPAR CAP.
  TYPE1415 34.224  Support for APAR OA50256 for TYPE1415/SMF14DSVER.
  TYPE74   34.223  Support for APAR OA49415 for SuperPAV support.
  TYPE78   34.223  Support for APAR OA49415 for SuperPAV support.
  TYPE42   34.222  Support for APAR OA51097 for subtype 19 fields.
  TYPE6156 34.219  Support for SMF Type 65 GDGCOMPL/GDCNOEXT/GDGLIMIT
  TYPE98   34.216  Support for SMF 98 High Freq Thruput Stats record.
  TYPEPROS 34.215  Support for PRO/SMF (previously X37) Version 7.8.
  TYPE30   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE42   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE74   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE79   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE90A  34.214  Support for new subtypes 38 and 39 in SMF 90.
  TYPE119  34.213  Support for SMF 119 Subtype 81 Intrusion Detection.
  TYPE80A  34.206  Support for Top Secret Release R15 &R16 (INCOMPAT).
  TYPECDHW 34.202  Support for Connect Direct Simultaneous Session CDHW
  DB2COUNT 34.209  "DB2 is filling my SMF, how do I find out who/why?"
  RMFINTRV 34.207  VMXGRMFI with INTERVAL=DATE s/b INTERVAL=DATESHIFT.
  TYPE110  34.203  READTIME in all "CICS EXCLUDED" messages for DICT.
  TYPE115  34.200  MQMLOG enhanced with new variables, protection added.
CORRECTIONS
  TYPE29   34.221  Support for new SMF Type 29 IMS JAVA/GC validated.
  TYPEBVIR 34.217  BVIR301 and BVIR302 datasets were wrong, too few obs.
  ASUM4HRS 34.218  Four Hour Average analysis was incorrect initialized.

  Major CHANGES added in MXG 34.06, dated Aug 18, 2016 thru 34.198.

CRITICAL ERROR CORRECTED:
  TYPE78   34.196  SMF 78 ST 3 INPUT EXCEEDED if APAR O44525 installed.
                   MXG 33.07-MXG 34.05.  Circumvention in Change text.
ENHANCEMENTS:
  TYPE99   34.194  Support for SMF 99 Subtype 1 Hardware Absolute CAP.
  TYPE124  34.187  Support for SMF 124 I/O Supervisor IOS (z/OS 2.2).
  TYPEMVIP 34.186  Support for Mainview for IP RTIN 34x TAC9I220 dataset
  TYPE110  34.183  Partial Support for CICS/TS 5.4 OPEN BETA.
  TYPE80A  34.178  Support for RACF 80 TOKDANAM new values.
  ASMRMFV  34.191  Enhanced RMF III data filtering reduces data volume.
  ASMRMFV  34.198  RMF III Relative Time filtering, e.g, last hour.
  TYPERMFV 34.192  RMF III variable GMTOFF kept in all ZRB datasets.
  TYPETMO2 34.195  TMON/CICS new vars TASZIPTM/TASELGTM recalc TASCPUTM.
ERRORS CORRECTED:
  TYPEHSM  34.193  Invalid HSM VSR/DSR with '62'x vs 'S' protected.
  TYPE119  34.189  MXG 34.05 ONLY, INPUT EXCEEDED more than 3 Homeaddr.
  TYPE74   34.181  Defective BMC CMF type 74 subtype 4 SMF74ML=0 bypass.
  TYPEATF  34.180  Omegamon XE ATF times are now on local time zone.
  TYPE80A  34.176  RACFTYPE=6 RACFEVNT=19 skipped segment message.
  TYPEVMXA 34.175  zVM 6.3.16.1 inserted in PRCPUP, PROBABL DATA LOSS.

  Major CHANGES added in MXG 34.05, dated Jul 25, 2016 thru 34.173.

ENHANCEMENTS:
  TYPE120  34.170  Support for WebSphere Liberty Batch SMF 120 Subty 12.
  TYPE120  34.163  Support for WAS Liberty V16.0 SMF 120 Subtype 11.
  TYPE120  34.148  Support for ODM Version 8.8 SMF 120 subtype 100.
  TYPE119  34.168  Support for SMF 116 Subtype 6 Home IP Address segment
  TYPE87   34.166  Support for SMF Type 87 Subtype 2 ENQ/DEQ records.
  TYPE117  34.157  Support for SMF 117 Integration BUS V10 INCOMPATIBLE.
  TYPEIDMS 34.164  Support for IDMS Version 19 (INCOMPAT with R084146).
  BUILDPDB 34.162  Support for z/OS 2.2 JES2 8-char JOBCLAS8 in BUILDPDB
  BLDSMPDB 34.153  Change 33.031 missed two instanced of LOWCASE().
ERRORS CORRECTED:
  TYPEVMXA 34.169  zVM HIS macros for PRCMFC PRCMFM now work correctly.
  CHECKSTN 34.167  Detection/Protection of duplicate SMF70STN values.
  VMXGALOC 34.160  Revised for Linux, case sensitive directory names.
  TYPERMFV 34.156  INVALID DATA for ASIQSCANxxx, incorrect informat.
  ASMRMFV  34.152  The RMF III DOW filter was not working.
  VMXGSUM  34.151  SYSLAST is now correctly set to last output dataset.
  BUILDPDB 34.147  Large SPIN.SPIN6 due to PRINTWAY records cleared.

  Major CHANGES added in MXG 34.04, dated Jun 25, 2016:

ENHANCEMENTS:
  VMXGSUM  34.137  New MXGSUMCLASS option can save CPU time, TEST IT!!
  ASMRMFV  34.133  RMF III GMT offset feature for multiple time zones
                   selects data for the data center hardware time zone.
                   This is a new feature, so please test first.
  TYPE102  34.123  Support for DB2 IFCID 365 and 376 corrections.
  ANALCSQX 34.122  Concurrent MQ Apps logged on from SYSLOG CSQX msgs
  TYPESYSL 34.121  Formal support of SYSLOG with all normal MXG tokens.
  TYPE30   34.118  MXG created variable CPUZIPTM_CPUIFATM_INST wrong.
  TYPEEDGR 34.116  RMM datasets enhanced with SYSTEM and EDGRTIME.
  TYPEDCOL 34.115  DCDTIMEC Data Set Create Time not populated note.
ERRORS CORRECTED:
  BLDSMPDB 34.131  ERROR: Invalid date constant "   .":d, FORCEDAY= fix
  ANALRANK 34.127  NOT SORTED if only one variable was examined
  VMXGCNFG 34.119  CPU Loop after program ended, if //SOURCLIB DD.

  Major CHANGES added in MXG 34.03, dated May 10, 2016:

ERRORS CORRECTED:
  TYPEDB2  34.108  DB2 Sim Buff Pool DB2STSBP QBSP variables corrected.
  ASUMCELP 34.106  z13 SMT_MODE SMT_NUM=2, NRZIPCPU finally correct.
  TYPERMFV 34.100  ZRBASI ASILPGSZ, ZRBGEI many GEIxxxxx corrected.
  TYPEVMXA 34.099  zVM 6.3 circumvent, 5.20 HWCLEN=384, new PRCAPMCT=11.
  VMACRMFV 34.092  MXG 34.01-34.02. ZRBCPU variables CPCGRPxx wrong.
  TYPEIMS  34.087  MXG 34.02, IMS 12.1, IMS 07 misalign, DLRAZAAP fixed.
  MOBWRKI2 34.084  ERROR: FILE WORK.SUMSTSBP.DATA DOES NOT EXIST fixed.
  ASMRMFV  34.095  Some ASMRMFV log dates off by one day, output fine.

ENHANCEMENTS:
  TYPE72PD 34.111  New TYPE72PD RMF WLM POLICY DEFINITIONS dataset.
  TYPE123A 34.105  Support for SMF 123 Liberty z/OS Connect EE Audit.
  TYPE117  34.103  Support for IBM Integ Bus V 90005 SMF 117 INCOMPAT
  READDB2  34.102  Support for IFCID=58's second dataset T102SA58.
  IHDRRMFV 34.092  Support for IHDRRMFV "Header" Exit selection member.
  TYPE80A  34.086  Support for TYPE8069 R_PKISERV GENCERT event SMF 80.
  TYPEVMXA 34.085  Support for z/VM VXSYTEMP third section, plus more.
  TYPEIMS  34.091  Support for IMS Log 16x Sign On/Sign Off log record.
  TYPESAMS 34.089  Support for SAMS VANTAGE User LSPOOLPO INCOMPAT.
  ANALUOW  34.110  Parameter INCODE= added for tailoring/selection.
  ANAL9914 34.107  SMT Topology Report typo, reports all systems.
  GRAFWRKC 34.101  Improved CPU and MSU and Group Capacity SGPLOTs.

  Major CHANGES added in MXG 34.02, dated Apr  5, 2016:

ERRORS CORRECTED:
 MOBSRK05 34.075 MOBILWORK SCRT/MWRT FATAL ERROR IF CLOCK CHANGE OCCURS.
                 YOU NEED THE UPDATED MOBWRK05 or MXG 34.02 and must run
                 between April 2 and 9th for the March report.
 TYPEIMST 34.083  IMS56FA, ARRVTIME wrong if GMT offset NE ENDTIME GMT.
 TYPE110  34.065  CICS/TS 5.3, MNSEGCL=5 TSQUEUE INPUT EXCEEDED ERROR.
 TYPE7072 34.072  R723DNST NOT EQUAL TO R723RTYP message eliminated.
 TYPE85   34.067  z/OS 2.2 OAM SMF 85 INPUT STATEMENT EXCEEDED fixed.
 RMFINTRV 34.078  RMFINTRV 33.33 and 34.01 had errors in MSU72/MSUSOFT/
 TYPESTC  34.081  Oracle/STC User SMF record GMTOFFTM "slightly" wrong.

ENHANCEMENTS:
 TYPEVMXA 34.080  Support for z/VM SMT MODE, caused BROKEN REC ERROR.
 TYPE102  34.072A Support for SMF 102 IFCID 58 Added segment.
 TYPE73   34.068  Support for SPLIT RMF 73 records, optional _STY73EX
 TYPEBBMQ 34.064  Circumvention BBMQ Short E6 records, datetimes fixed.
 TYPE0203 34.074  SMF2IHASHMETH/SMF2ISIGTYPE were blank, bad bit test.
 TYPE74   34.073  Dataset TYPE749 (PCIE) is enhanced with new vars.
 TYPEVMXA 34.066  z/VM VXBYUSR enhanced, option forces USER 8709 ABEND.
 TYPE42   34.070  I/O Connect Time S42CONNTM is calculated.

  Major CHANGES added in FOURTH MXG 34.01, dated Mar 21, 2016:

 TYPE7072 34.060  ITRM. VMXG70PR. "&PDB" must be "&PDBMXG" twice.

  Major CHANGES added in THIRD MXG 34.01, dated Mar 14, 2016:

Critical ERROR that caused the re-date:
  VMXGINIT 34.052  WPS ONLY, 1st 34.01, RUN: in VMXGINIT FAILS INIT.
                   Circumvent by deleting that line with the colon.
New Products Support
  TYPE120  34.055  Proper Support of 120 ST 9 TYP1209R/TYP1209N datasets
                   ST 9 is either a REQUEST or ASYNC Event, only those
                   two datasets are valid, with separate variable sets.
  TYPE102  34.053  BMC APPTUNE defective FIX BPU3604, INPUT EXCEEDED.
Errors Corrected:
  TYPE60   34.056  TYPE 60 variable SMF60ELP misaligned.
  TYPE42   34.054  Variable SMF42LAN was not converted to EBCDIC.
  TYPETMO2 34.049  TMON V4.0 microsec/tod change missed 15 variables.
                   (None were in the important MONITASK dataset.)

  Major CHANGES added in MXG 34.01, dated Mar  7, 2016:

New Products Support
  TYPERMFV 34.047  Support for z/OS 2.2 RMF III data records (COMPAT).
  TYPE102  34.032  Support for DB2 Trace IFCIDS 311 and 321.
  TYPE29   34.221  Support for SMF 29 IMS JAVA CPU and Garbage Collect
  TYPEATF  34.041  Support for ATF V531 Enhanced Summarization Phase 2.
  TYPEBBMQ 34.026  Support for MVMQ PTF BPL2558, times are microseconds.
  TYPENDM  34.017  Support for NDM-CDI SE Session End record.
  TYPEPKSZ 34.020  Support for PK-ZIP INCOMPATIBLE increase field length
  TYPEVMXA 34.005  Support for zVM HIS (SMF 113) VXPRCMFC z/13 data.
  TYPEDVS  34.014  Support for Rocket Software DVS User SMF record.
  TYPEDCOL 34.042  Support for FLAG4 MegaByte format size variables.
Errors Corrected:
  ITRM     34.011  Possible MXG 33.33 issues with ITRM documented.
  TYPE113  34.027  TYPE113 CPU Speed SM1132SP wrong on Sub-Capacity z13.
  TYPECIMS 34.007  Correction for IMF 5100 incorrect values, no ABEND.
  TYPESTC  34.019  Corrections/enhancements for Oracle STC SMF record.
  UTILRMFI 34.006  UTILRMFI report was dropped accidentally in 33.024
  VGETOBS  34.001  OPTION CHARCODE caused ERROR: CHAR OPERAND.
  PDBAUDIT 34.003  FILE _TMPLIB.XTY70CP.DATA does not exist.
  TYPE71   34.043  New variables SMF71CPx,SMF714Kx,SMF71PLx were wrong.
Enhancements
  ANALGRCA 34.015  New analysis of Group Capacity
  GRAFWRKC 34.044  New Capacity Group report of CEC resources by LPAR.
  RMFINTRV 34.029  Capacity Group variables SMF70GNM/GMU added
  TYPEHSM  34.002  New datetime and duration variables in HSMFSRST.
  TYPE116  34.008  New Variables added to MQMACCTQ
  TYPE7072 34.010  TYPE72GO MSUxxxxx variables labeled/documented.

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
     The current version nomenclature is SAS 9.4 TS1M3 (9.4M3) printed
     as "SAS 9.4 (TS1M3)" or was "SAS 9.4 (TS04.01M2P07232014)" for
     "SAS 9.4 (TS1M2)" (on SASLOG, if OPTION VERSIONLONG enabled),
     for SAS 9.4 Maintenance Level M3 and m2.

     SAS V9.4 M3 Is RECOMMENDED, but MXG executes without error using
     SAS Version 9.4 M0, M1, M2, and M3 or SAS Version 9.2 M1 and M2.

     SAS V9.4 M2 is USABLE. SAS 9.4 M2 is at LEVEL A SAS Support
     SAS V9.4 M1 and M0 had no errors and are at LEVEL A SAS Support
     SAS V9.3   SAS 9.3 TS1M2 is USABLE. SAS 9.3 TS1M1 works.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03. SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit, but SAS V9.2 does execute ok.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 must be at Service Pack 4.  Additionally, on z/OS 1.10
                only, 9.1.3 requires SAS Hot Fix for SN-35332.
                9.1.3 is support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2 IS SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      or you can continue to use the MXGSAS94 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 34.07 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows Seven and
      Eight (64-bit) on 64-bit hardware, and sometimes on Centos 6.4,
      but MXG users execute MXG on MANY (ALL??) SAS platforms, including
      AIX, Linux, and other 'nix' variants, on many different hardware
      platforms, and since they all work we don't need to list them.  If
      SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 3.02 (03.02.03.00.016221) is required Change 34.266.
         and other errors with 3.00 or 3.01 have been corrected in the
         current WPS version.
      WPS Version 3.01.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.

   However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
   INCOMPATIBLY CHANGED, and MXG 34.03 is REQUIRED (PCTCPUBY WRONG!), to
   read the SMT-format RMF records (which are written if you have zIIP
   engines AND have enabled the new PROCVIEW CORE option for
   Multi-Threading, even if only one thread is enabled).

   The new zEDC compression hardware requires MXG 33.07 to support the
   new metrics.

   For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.1  - INPUT STATEMENT EXCEEDED ERROR SMF 74    33.10
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z/OS 2.2 OAM SMF 85 ABEND 33.067 Apr  5, 2016        34.02
      z/OS 2.2 SPLIT 73, ABEND 33.068  Apr  5, 2016        34.02
      z/OS 2.2 JES2 8-char JOBCLASS    Oct  7, 2016        34.07
      z/OS 2.2 NEW SMF 124 IOS Spvr    Oct  7, 2016        34.07
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      z13   SMT Mode NRZIPCPU 34.106   May 10, 2016        34.03
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS-TS/5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS-TS/5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS-TS/5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS-TS/5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS-TS/5.3 GA date              Dec 11, 2015        33.33
      CICS-TS/5.3 MNSEGCL=5 INPUT ERR  Mar 21, 2016        34.02
      CICS-TS/5.4 OPEN BETA  Aug       Aug 11, 2016        34.06
      CICS-TS/5.4 OPEN BETA  Nov       Nov 11, 2016        34.09
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DB2 12.1 COMPATIBLE              Oct  5, 2016        34.07
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      z/VM    6.3 z/13                 Jan 23, 2016        33.33
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.13
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       IDMS 18                                             32.05
       IDMS 19 (INCOMPAT after PTF R084146 Change 34.164)  33.05
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                         *34.01
       IMF 5.2 a/k/a Mainview IMS                          34.01
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2                         33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for IP                                     34.??
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 34.34.


 1. Incompatibilities introduced in MXG 34.34:

  a- Changes in MXG architecture made between 34.34 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.

     COSMETIC     Some Changes will start with COSMETIC.  This indicates
                  that that change only alters a displayed value or may
                  be a spelling error in a label, but it is "cosmetic"
                  in that it ONLY affected the display, and the output
                  data sets created are NOT impacted by this change.

VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 34.34 after MXG 33.33:

  Dataset/
  Member   Change    Description

  ANAL3CPC 34.238  Example RMF III CPC data report.
  ANAL9914 34.107  SMT Topology Report typo, reports all systems.
  ANAL9914 34.255  z13 Topology Report typo corrected.
  ANALCSQX 34.122  Concurrent MQ Apps logged on from SYSLOG CSQX msgs
  ANALDB2R 34.265  ANALDB2R 33.33-34.07 could require temp //PDB DD.
  ANALDCO1 34.271  New ANALDCO1 provides simple DCOLLECT reports.
  ANALGRCA 34.015  New analysis of Group Capacity
  ANALRANK 34.127  NOT SORTED if only one variable was examined
  ANALUOW  34.110  Parameter INCODE= added for tailoring/selection.
  ASMRMFV  34.095  Some ASMRMFV log dates off by one day, output fine.
  ASMRMFV  34.133  RMF III GMT offset collects multiple time zones data.
  ASMRMFV  34.152  The RMF III DOW filter was not working.
  ASMRMFV  34.191  Enhanced RMF III data filtering reduces data volume.
  ASMRMFV  34.262  ASMRMFV enhancement for Parameters.
  ASMRMFV  34.273  Internal Performance improvement for RMF III support
  ASUM4HRS 34.218  Four Hour Average analysis was incorrect initialized.
  ASUMCELP 34.106  z13 SMT_MODE SMT_NUM=2, NRZIPCPU finally correct.
  BLDSMPDB 34.131  ERROR: Invalid date constant "   .":d, FORCEDAY= fix
  BLDSMPDB 34.153  Change 33.031 missed two instanced of LOWCASE().
  BUILDPDB 34.147  Large SPIN.SPIN6 due to PRINTWAY records cleared.
  BUILDPDB 34.162  Support for z/OS 2.2 JES2 8-char JOBCLAS8 in BUILDPDB
  CHECKSTN 34.167  Detection/Protection of duplicate SMF70STN values.
  CICINTRV 34.254  CICS Dispatcher DSGSRBT SRB Time Kept in CICINTRV.
  DB2COUNT 34.209  "DB2 is filling my SMF, how do I find out who/why?"
  GRAFWRKC 34.044  New Capacity Group report of CEC resources by LPAR.
  GRAFWRKC 34.101  Improved CPU and MSU and Group Capacity SGPLOTs.
  IHDRRMFV 34.092  Support for IHDRRMFV "Header" Exit selection member.
  IMACCADI 34.263  Support for CAA/DISPATCH type 6 change (INCOMPAT)
  ITRM     34.011  Possible MXG 33.33 issues with ITRM documented.
  JCLTESxx 34.259  Some JCLTESxx members still included gone TYPEQAPM.
  MOBWRK05 34.075  SCRT/MWRT REPORT WILL ABEND IF CLOCK CHANGE INCLUDED
  MOBWRKI2 34.084  ERROR: FILE WORK.SUMSTSBP.DATA DOES NOT EXIST fixed.
  PDBAUDIT 34.003  FILE _TMPLIB.XTY70CP.DATA does not exist.
  READDB2  34.102  Support for IFCID=58's second dataset T102SA58.
  RMFINTRV 34.029  Capacity Group variables SMF70GNM/GMU added
  RMFINTRV 34.078  33.33 and 34.01 had errors in MSU72/MSUSOFT/etc.
  RMFINTRV 34.207  VMXGRMFI with INTERVAL=DATE s/b INTERVAL=DATESHIFT.
  TYPE0203 34.074  SMF2IHASHMETH/SMF2ISIGTYPE were blank, bad bit test.
  TYPE102  34.032  Support for DB2 Trace IFCIDS 311 and 321.
  TYPE102  34.053  BMC APPTUNE defective FIX BPU3604, INPUT EXCEEDED.
  TYPE102  34.072A Support for SMF 102 IFCID 58 Added segment.
  TYPE102  34.123  Support for DB2 IFCID 365 and 376 corrections.
  TYPE110  34.065  CICS/TS 5.3, MNSEGCL=5 TSQUEUE INPUT EXCEEDED ERROR.
  TYPE110  34.183  Partial Support for CICS/TS 5.4 OPEN BETA.
  TYPE110  34.203  READTIME in all "CICS EXCLUDED" messages for DICT.
  TYPE110  34.260  Support for SMF 110 Subtype 2 STID=32 creates CICLDY.
  TYPE110  34.274  Support for CICS/TS 5.4 BETA 6 (INCOMPAT CICSTRAN).
  TYPE113  34.027  TYPE113 CPU Speed SM1132SP wrong on Sub-Capacity z13.
  TYPE115  34.200  MQMLOG enhanced with new variables, protection added.
  TYPE115  34.272  Support for MQ SMF 115 Subtype 231 DSP/ADP/SSL/DNS
  TYPE116  34.008  New Variables added to MQMACCTQ
  TYPE117  34.103  Support for IBM Integ Bus V 90005 SMF 117 INCOMPAT
  TYPE117  34.157  Support for SMF 117 Integration BUS V10 INCOMPATIBLE.
  TYPE117  34.243  Support for SMF 117 Version 2 (INCOMPATIBLE) format.
  TYPE119  34.168  Support for SMF 116 Subtype 6 Home IP Address segment
  TYPE119  34.189  MXG 34.05 ONLY, INPUT EXCEEDED more than 3 Homeaddr.
  TYPE119  34.213  Support for SMF 119 Subtype 81 Intrusion Detection.
  TYPE119  34.252  TYP11950 dataset only contained first KEY.
  TYPE120  34.055  Proper Support of 120 ST 9 TYP1209R/TYP1209N datasets
  TYPE120  34.148  Support for ODM Version 8.8 SMF 120 subtype 100.
  TYPE120  34.163  Support for WAS Liberty V16.0 SMF 120 Subtype 11.
  TYPE120  34.170  Support for WebSphere Liberty Batch SMF 120 Subty 12.
  TYPE123A 34.105  Support for SMF 123 Liberty z/OS Connect EE Audit.
  TYPE124  34.187  Support for SMF 124 I/O Supervisor IOS (z/OS 2.2).
  TYPE1415 34.224  Support for APAR OA50256 for TYPE1415/SMF14DSVER.
  TYPE29   34.221  Support for SMF 29 IMS Java CPU and Garbage Collect
  TYPE29   34.221  Support for new SMF Type 29 IMS JAVA/GC validated.
  TYPE30   34.118  MXG created variable CPUZIPTM_CPUIFATM_INST wrong.
  TYPE30   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE42   34.054  Variable SMF42LAN was not converted to EBCDIC.
  TYPE42   34.070  I/O Connect Time S42CONNTM is calculated.
  TYPE42   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE42   34.222  Support for APAR OA51097 for subtype 19 fields.
  TYPE42   34.245  SMF 42 TYPE42L1 dataset misaligned at SMF42HUA.
  TYPE60   34.056  TYPE 60 variable SMF60ELP misaligned.
  TYPE6156 34.219  Support for SMF Type 65 GDGCOMPL/GDCNOEXT/GDGLIMIT
  TYPE70   34.228  Support for APAR OA48688, ABSOLUTE MSU LPAR GROUP CAP
  TYPE7072 34.010  TYPE72GO MSUxxxxx variables labeled/documented.
  TYPE7072 34.072  R723DNST NOT EQUAL TO R723RTYP message eliminated.
  TYPE7072 34.232  First 34.07. CRITICAL ARRAY EXCEEDED ERROR fixed.
  TYPE7072 34.239  SMT Corrections to TYPE70PR "OTHER SYSTEM" LPARs.
  TYPE71   34.043  New variables SMF71CPx,SMF714Kx,SMF71PLx were wrong.
  TYPE72PD 34.111  New TYPE72PD RMF WLM POLICY DEFINITIONS dataset.
  TYPE73   34.068  Support for SPLIT RMF 73 records, _S73 required.
  TYPE74   34.073  Dataset TYPE749 (PCIE) is enhanced with new vars.
  TYPE74   34.181  Defective BMC CMF type 74 subtype 4 SMF74ML=0 bypass.
  TYPE74   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE74   34.223  Support for APAR OA49415 for SuperPAV support.
  TYPE78   34.223  Support for APAR OA49415 for SuperPAV support.
  TYPE79   34.214  Support for new variables in Sep 2016 SMF manual.
  TYPE80A  34.086  Support for TYPE8069 R_PKISERV GENCERT event SMF 80.
  TYPE80A  34.176  RACFTYPE=6 RACFEVNT=19 skipped segment message.
  TYPE80A  34.178  Support for RACF 80 TOKDANAM new values.
  TYPE80A  34.206  Support for Top Secret Release R15 & R16 (INCOMPAT).
  TYPE80A  34.251  Support for TOP SECRET RDT Table decoding.
  TYPE85   34.067  z/OS 2.2 OAM SMF 85 INPUT STATEMENT EXCEEDED fixed.
  TYPE87   34.166  Support for SMF Type 87 Subtype 2 ENQ/DEQ records.
  TYPE90A  34.214  Support for new subtypes 38 and 39 in SMF 90.
  TYPE98   34.216  Support for SMF 98 High Freq Thruput Stats record.
  TYPE99   34.194  Support for SMF 99 Subtype 1 Hardware Absolute CAP.
  TYPEATF  34.041  Support for ATF V531 Enhanced Summarization Phase 2.
  TYPEATF  34.180  Omegamon XE ATF times are now on local time zone.
  TYPEBBMQ 34.026  Support for MVMQ PTF BPL2558, times are microseconds.
  TYPEBBMQ 34.064  Circumvention BBMQ Short E6 records, datetimes fixed.
  TYPEBVIR 34.217  BVIR301 and BVIR302 datasets were wrong, too few obs.
  TYPECDHW 34.202  Support for Connect Direct Simultaneous Session CDHW
  TYPECIMS 34.007  Correction for IMF 5100 incorrect values, no ABEND.
  TYPEDB2  34.108  DB2 Sim Buff Pool DB2STSBP QBSP variables corrected.
  TYPEDB2  34.229  Support for DB2 V12. (COMPATIBLE).
  TYPEDB2  34.248  DB2 Netezza IDAA Q8STxxxx in new DB2NETZA dataset.
  TYPEDB2  34.281  DB2 IDAA variable Q8STDSKU format/label corrected.
  TYPEDCOL 34.042  Support for FLAG4 MegaByte format size variables.
  TYPEDCOL 34.115  DCDTIMEC Data Set Create Time not populated if.
  TYPEDVS  34.014  Support for Rocket Software DVS User SMF record.
  TYPEEDGR 34.116  RMM datasets enhanced with SYSTEM and EDGRTIME.
  TYPEHSM  34.002  New datetime and duration variables in HSMFSRST.
  TYPEHSM  34.193  Invalid HSM VSR/DSR with '62'x vs 'S' protected.
  TYPEIDML 34.282  Support for IDMS Log (INCOMPAT, third record).
  TYPEIDMS 34.164  Support for IDMS Version 19 (INCOMPAT with R084146).
  TYPEIMS  34.087  MXG 34.02, IMS 12.1, IMS 07 misalign, DLRAZAAP fixed.
  TYPEIMS  34.091  Support for IMS Log 16x Sign On/Sign Off log record.
  TYPEMVIP 34.186  Support for Mainview for IP RTIN 34x TAC9I220 dataset
  TYPENDM  34.017  Support for NDM-CDI SE Session End record.
  TYPEPKSZ 34.020  Support for PK-ZIP INCOMPATIBLE increase field length
  TYPEPROS 34.215  Support for PRO/SMF (previously X37) Version 7.8.
  TYPERACF 34.247  Support for RACF APAR OA43999 RACF UNLOAD database.
  TYPERMFV 34.092  MXG 34.01-34.02. ZRBCPU variables CPCGRPxx wrong.
  TYPERMFV 34.100  ZRBASI ASILPGSZ, ZRBGEI many GEIxxxxx corrected.
  TYPERMFV 34.156  INVALID DATA for ASIQSCANxxx, incorrect informat.
  TYPERMFV 34.192  RMF III variable GMTOFF kept in all ZRB datasets.
  TYPESAMS 34.089  Support for SAMS VANTAGE User LSPOOLPO INCOMPAT.
  TYPESTC  34.019  Corrections/enhancements for Oracle STC SMF record.
  TYPESTC  34.081  Oracle/STC User SMF record GMTOFFTM "slightly" wrong
  TYPESTC  34.237  New variables added to STCVSM11 dataset.
  TYPESYSL 34.121  Formal support of SYSLOG with all normal MXG tokens.
  TYPETHAL 34.261  Support for Thales Security Records with/wo subtype
  TYPETMD2 34.275  Support for ASG/TMON for DB2 IDAA SA and SB records.
  TYPETMO2 34.049  TMON V4.0 microsec/tod time change missed 15 vars.
  TYPETMO2 34.195  TMON/CICS new vars TASZIPTM/TASELGTM recalc TASCPUTM.
  TYPEVMXA 34.005  Support for zVM HIS (SMF 113) VXPRCMFC z/13 data.
  TYPEVMXA 34.066  z/VM VXBYUSR enhanced, option to USER 8709 ABEND.
  TYPEVMXA 34.080  Support for z/VM SMT MODE, caused BROKEN REC ERROR.
  TYPEVMXA 34.085  Support for z/VM VXSYTEMP third section, plus more.
  TYPEVMXA 34.099  zVM 6.3 circumvent, 5.20 HWCLEN=384 new PRCAPMCT=11.
  TYPEVMXA 34.169  zVM HIS macros for PRCMFC PRCMFM now work correctly.
  TYPEVMXA 34.175  zVM 6.3.16.1 inserted in PRCPUP, PROBABL DATA LOSS.
  TYPEVMXA 34.249  z/VM Linux Appldata VXAPLSLM/SLN/SLP corrections.
  TYPEVMXA 34.280  z/VM Linux Appl VXAPLSLM/N/P/0 deaccum corrected.
  TYPEVMXA 34.280  z/VM VXBYUSR had some obs with negative values.
  TYPEZCOS 34.241  Support for AutoSoftCapping Version V4 (COMPATIBLE).
  UTILRMFI 34.006  UTILRMFI report was dropped accidentally in 33.024
  VGETJESN 34.240  Hex zeros in JCTJOBID in SMF 42 ST 27 protected.
  VGETOBS  34.001  OPTION CHARCODE caused ERROR: CHAR OPERAND.
  VMXGALOC 34.160  Revised for Linux, case sensitive directory names.
  VMXGALOC 34.253  UPCASE removed for BASExxx path for Linux casing.
  VMXGCNFG 34.119  CPU Loop after program ended, if //SOURCLIB DD.
  VMXGINIT 34.052  WPS ONLY, First 34.01, RUN: in VMXGINIT FAILS INIT.
  VMXGSUM  34.137  New MXGSUMCLASS option can save CPU time, TEST IT!!
  VMXGSUM  34.151  SYSLAST is now correctly set to last output dataset.


  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at http://www.mxg.com.

Inverse chronological list of all Changes:

NEXTCHANGE

====== Changes thru 34.284 were in this MXG 34.34 dated Jan  3, 2017====

Change 34.284  Primarily used internally by MXG.  If it was being used
VMXGOPTR       to restore an option to its original setting but had not
Jan 2, 2017    been previously invoked to set the option and the option
               required an = (LINESIZE=xxx) it failed lacking the name
               of the option and the = so LINESIZE resolved to:
                OPTIONS 132;

Change 34.283 -PDBAUDIT failed if the last "PDB" data library happened
PDBAUDIT       to be Sequential Format (tape), with the error message:
Dec 31, 2016   WARNING: APPARENT SYMBOLIC REFERENCE LIBCOUNT NOT RES....
Jan  1, 2016  -Could also fail if zero LIBNAMES were selected, with an
               error "INVALID OPTION 132".
   Thanks to Steve Gear, Integrysgroup, USA.

Change 34.282  Support for IDMS Log records (INCOMPATIBLE, as a third
VMACIDML       record per event was added with additional fields).
Dec 29, 2016   Only the IDMLOG02 TASK dataset, has been validated with
Jan  4, 2017   data records, but IDMLOG03 TRANSACTION dataset should be
               valid. Unfortunately, there is no GMT offset value in the
               log records, so you will need to set the value with
                  //SYSIN DD *
                   %LET MACKEEP=   MACRO _GMTIDML -4 %  ;
               for the minus 4 hour GMT offset for US EST.
   Thanks to Torstein Netland, CSC, NORWAY.

Change 34.281  IDAA variable Q8STDSKU is disk utilization not bytes, so
VMACDB2        the format and length were removed and the label changed.
Dec 27, 2016   And variables Q8STCCPU_64 Q8STWCPU_64 are also percents.
Jan 13, 2017
   Thanks to Tim King, BCBSSC, USA.
   Thanks to Terry Johnson, BCBSSC, USA.

====== Changes thru 34.280 were in this MXG 34.10 dated Dec 25, 2016====

Change 34.280  z/VM Linux Appl Datasets VXAPLSLM,SLN,SLP,SL0 deaccum now
VMACVMXA       uses new SYNCCNT1=1 OR SYNCCNT2=1 variable's values to
Dec 18, 2016   recognize a reset in accumulated values has occurred. The
Dec 28, 2016   ancient MXG heuristic of a negative time delta to detect
               a wrap of the accumulated field (plus first-dot tests)
               is insufficient for these four datasets, and caused very
               large values or negative values in some variables.
               Also, the interval is deleted if SYNCCNT1 NE SYNCCNT2, as
               that means the record was updated on the Linux side while
               z/VM was still collecting the data, which could then be
               inconsistent.
              -Dataset VXBYUSR had observations with DELTATM=-9999 that
               should not have been output, causing some negative values
               in other variables.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 34.279  Documentation of ANCIENT z/OS, z/VM APAR OA35675 (2011).
TYPE7072       Support for z/OS under z/VM new RMF VMGUEST option with
Dec 18, 2016   APAR OA35675, populates the Partition Dispatch CPU Time
               in two "simplified" Partition Data sections in TYPE 70
               RMF records, one with LPARNAME='PHYSICAL' with the z/VM
               CPU consumption (IBM RMF Reports LPARNAME *VMSYSTEM*),
               and one with LPARNAME='VMSYSTEM' with the z/OS Partition
               CPU Dispatch time. Note that SMF70ONT, Online Time is
               NOT Populated.  From z/VM, this bit on is STILFE.
              -MXG Version 29 added variable VMSYSTEM=Y, true for Bit 5
               in 2011, but only from the SMF Manual; it was a post by
               Martin today that educated me to the actual impact!
   Thanks to Martin Packer, IBM, EUROPE!!

====== Changes thru 34.278 were in this MXG 34.09 dated Dec 16, 2016====

Change 34.278  If you specified 0 OBS for 26J2 or 26J3 and did NOT
UTILBLDP       specify SPINCNT=something then SPINCNT is set to 0 to
Dec 13, 2016   keep jobs from sitting in SPIN until the SPINCNT is
               reached.

Change 34.277  New RMF III ASI fields in z/OS 2.2 suffixed with _LF are
VMACRMFV       Long Floating point and with _S are Short Binary informat
Dec  9, 2016   but that was not known and they were incorrectly input.
               Some of these fields contain (HATED!) accumulated values,
               which have NEVER been in RMF III, and are hated because
               the deaccumulation requires two more passes of the data.
               But for the important CPU accumulated fields, there is
               already an interval variable (e.g., ASICPUTA), so no
               deaccumulation was previously necessary. But the higher
               microsecond resolution of ASICPUTA_LF, records 20-40%
               more CPU time than ASICPUTA, with 1 millisecond.
              -However, the several fields that are accumulated are not
               always monotonically increasing, so further analysis is
               in progress and this text will be revised and MXG will
               provide optional deaccumulation if adequate heuristics
               can be tested.

Change 34.276  ASCII only, BLDSMPDB would fail to create a weekly and/or
BLDSMPDB       monthly PDB if a prior error has set OBS=0, with no clue.
Dec  8, 2016   Now, BLDSMPDB will tell you there were zero observations,
               in a WARNING message.
              -WTD and MTD processing may have gone to the incorrect
               directory - ASCII only and only with AUTOALOC=YES
              -New parameter ERASESPIN will delete everything in the
               SPIN libname when set to yes - primarily for MXG support
              -Checks added to ensure that PDB SPIN TREND WEEK WTD MONTH
               and MTD libnames are allocated as needed by the other
               parameters used. In the case of WTD/MTD if they are not
               found but WEEK/MONTH are a warning is issued and the
               libnames that were found are substitute

Change 34.275  Support for ASG/TMON for DB2 IDAA SA and SB records
EXTMD2SA       creates three new datasets:
EXTMD2SB         DDDDDD    DATASET    DESCRIPTION
EXTMD2SX         TMD2SA     TMD2SA    IDAA SA Summary
IMACTMD2         TMD2SB     TMD2SB    IDAA SB Summary
VMACTMD2         TMD2SX     TMD2SBD   IDAA SB Detail
VMXGINIT
Dec 12  2016
   Thanks to Daniel Hamiel, NedBank, SOUTH AFRICA.
   Thanks to Mike Lotter, NedBank, SOUTH AFRICA.

Change 34.274  Support for CICS/TS 5.4 Beta 6 INCOMPAT, new CICSTRAN
EXCICMQR       fields inserted.
FORMATS       -New variables added to CICSTRAN:
IMAC110           ASFREECT='EXEC CICS*FREE CHILD*COUNT'
UTILEXCL          ASFTCHCT='EXEC CICS*FETCH*COMMANDS'
VMAC110           ASFTCHCN='ASYNC API*FETCH*WAIT*COUNT'
VMXGINIT          ASFTCHTM='ASYNC API*FETCH*WAIT*DURATION'
Dec 15, 2016      ASNATCN='ASYNC API*RUN DELAYEDCOUNT'
                  ASRMATTM='ASYNC API*RUN DELAYED*DURATION'
                  ASRUNCT ='EXEC CICS*RUN*TRANSID*COUNT'
                  ASTOTCT ='ASYNC API*COMMANDS*COUNT'
                  PTCOUNT ='PREVIOUS*TRANSACTION*COUNT'
                  PTSTART ='PREVIOUS*TRANSACTION*START*DATETIME'
                  PTTRAN  ='PREVIOUS*TRANSACTION*TRANSID'
                  PTTRANNO='PREVIOUS*TRANSACTION*sequence*number'
              -New CICMQR MQ Monitor statistics dataset from STID=148
               is created.

Change 34.273  Internal restructure of ASMRMFV for possible performance
ADOCRMFV       improvements and better design for maintenance.
ASMRMFV       -Mitigate Store In Instruction Stream (SIIS) conditions
Dec 6, 2016    and other improvements.
              -Updating data imbedded in an instruction stream or
               modifying instructions results in additional CPU overhead
               maintaining the data and instruction caches.
              -ASMRMFV is changed to isolate and align all data used in
               subroutines on 256 byte cache boundary lines. This
               increases the size of the ASMRMFV load module about 7% to
               about 272K.
              -IBM Service Call macros for OPEN, CLOSE, RDJFCB, and so
               on are split into Execute and List forms because standard
               macro expansions update parameters in the instruction
               stream.
              -Limited volume testing showed about a 1% CPU Time
               reduction that may vary in actual production use.
              -The MODCB Service Call function is no longer used to
               alter the VSAM ACB and RPL control blocks.  ASMRMFV only
               makes trivial changes to these during processing and
               Execute and List forms of MODCB generated a lot of
               instructions.
              -The MODCBERR subroutine used to process MODCB errors
               is deleted.

Change 34.272  Support for the MQ SMF 115 Subtype 231 DSP/ADP/SSL/DNS
EXTY115A       segments,   each of which creates new dataset:
EXTY115D         DDDDDD    DATASET    DESCRIPTION
EXTY115L         TY115D    MQMDSP     MQM DISPATCHER
EXTY115N         TY115A    MQMADP     MQM ADAPTER
IMAC115          TY115L    MQMSSL     MQM SSL
VMAC115          TY115N    MQMDNS     MQM DNS
VMXGINIT       Their unique variables that were previously incorrectly
Dec  2, 2016   kept in dataset MQMCHIN have been dropped.
              -Each segment contains QCTCPTM and QCTELPT, CPU & Elapsed
               time; many observations have CPU Time slightly larger
               than Elapsed time (largest 15 with QCTCPTM 364 seconds).
               IBM Explains:
                  CPU start and end times are taken directly from the
                  TCB to minimize performance impact. This field is only
                  updated when the TCB is undispatched, so if the TCB
                  has been dispatched for a while when the TCB CPU time
                  is taken at the start of the request, this value
                  could be a bit low, which could mean that the TCB CPU
                  interval calculation returns a value which is slightly
                  high.  This is as-designed, and the data is still
                  useful.  When elapsed time and CPU time are similar,
                  or when CPU time appears greater than elapsed time,
                  the task is getting all the CPU it needs, and you can
                  interpret elapsed time as an approximation for CPU
                  time.  When elapsed time is significantly larger than
                  CPU time, then the task is having to wait for CPU or
                  for some internal wait, and that difference may be of
                 interest.
                -APAR PI46585 is required to correct negative or invalid
                 values in QCTWTTM, QCTLSTM, and QCXTLGTM in these new
                 ADP/DSP/SSL/DNP datasets.
              -The subtype 215 record replaced the subtype 2 record when
               OPMODE(NEWFUNC) is specified; the buffer manager data
               that was output in dataset MQMBUFER is now instead output
               in dataset TY115215.
   Thanks to Carol Arnold, Brown Brothers Harriman, USA.
   Thanks to Kevin Colish, Brown Brothers Harriman, USA
   Thanks to Richard Harran, IBM MQ Support, ENGLAND.

Change 34.271  New ANALDCO1 provides simple DCOLLECT reporting, using
ANALDCO1       the datasets created by JCLDAYDS. See examples in the
Nov 30, 2016   comments.

Change 34.270 -With PDB=RAWDATA and PDBOUT=WORK, a dataset not found was
VMXGDSN        created when summarizing data that had been cleaned up
Nov 30,2016    prior to running the code to read tape data.
              -Enhanced to allow you to suppress TAPEDATE by using new
               TAPEDATA=null string.

====== Changes thru 34.269 were in this MXG 34.08 dated Nov 25, 2016====

Change 34.269  Support for INCOMPATIBLE TPX PTF R085512 and R085513 that
VMACTPX        increased Port Number from 4 to 5 digits.
Nov 23, 2016
   Thanks to Johanne Goulet, Government of Quebec, CANADA.
   Thanks to Christian Roy, Government of Quebec, CANADA.

Change 34.268  Truncated POEX record with only 54 bytes caused STOPOVER.
VMACPOEX       Now, the OFFSET just read is compared with LENGTH and the
Nov 22, 2016   first bad record is reported in the log and all deleted.
   Thanks to Scott Wiig, USBank, USA.

Change 34.267  Support for RACF OIMID Token creates TOKOIMIC variable
VMAC80A        and support for RACF LTL Token creates TOKMLTL variable
Nov 21, 2016   in TYPE80TK dataset.
   Thanks to Mark Tomlinson, Lloydsbanking, ENGLAND.

Change 34.266  WPS Only. %MACRO VMXGPRNT invocation with text on col 72
ANAL113        caused error with WPS 3.00 (03.00.02.00.29316 but was
Nov 20, 2016   parsed correctly with WPS 3.02 (03.00.03.00.016221).
               The error had ASIC03 for what should have been BASIC03.
               Shortening the line did not eliminate the error.

Change 34.265  ANALDB2R could require //PDB DD because updates to READB2
ANALDB2R       for DB2SBP and DB2NET had incorrect tokens that should be
READDB2        WORK.  MXG code is now corrected, but circumvent with:
Nov 20, 2016    //PDB  DD UNIT=SYSDA,SPACE=(CYL,(500,500),DISP=(,PASS)
               on temp DASD, since they were not intended to be kept.
   Thanks to John Ordman, Wipro, USA.

Change 34.264 -The section of code creating the prior TREND database was
VMXGALOC       incorrect and failed to create the directory on the first
Nov 23, 2016   VMXGALOC execution resulting in an error.
              -A FORCEDAY test did not have both side's UPCASEd.
   Thanks to Job Varkey, VERISK, USA.
   Thanks to Patricia J. Jones, DST, USA.

Change 34.263  SMF 6 CA/Dispatch records were increased to LENGTH=371,
IMACCADI       adding two new fields CADIDES2 CADICHAR INCOMPATIBLY due
VMAC6          to MXG tests for LENGTH=347 to detect the V10 vs V11 data
Nov 18, 2016   records; those tests for LENGTH and SMF6LEN are unneeded
               now and are removed.
   Thanks to Glen Bowman, Wakefern, USA.

Change 34.262 -Support for z/OS 2.1+ PARMDD= EXEC statement JCL
ADOCRMFV       parameter, enhanced SYSIN DD support, other improvements
ASMRMFV        and fixes.
Nov 19, 2016  -PARMDD= is a new JCL parameter available with z/OS 2.1
               and up.  PARMDD= specifies a ddname of a file containing
               parameters to be passed to the invoked program coded with
               PGM=.
              -If the ddname does not exist within the JCL step a
               JCL error occurs with the message:

               IEF689I JOB jobname  FAILED  PARMDD  DID NOT OPEN

              -The ddname may reference a physical sequential file,
               PDS/PDSE member, or subsystem DD * or DD DATA data set.
              -Unlike the 100 character PARM= parameter limit the
               PARMDD= file may contain up to 32760 characters after
               data assembly.  If this limit is exceeded a JCL error
               occurs.
              -During data assembly of the PARMDD=ddname file trailing
               blanks are stripped from each record and entirely blank
               records are discarded by z/OS.
              -Also during data assembly PARMDD=ddname fixed records are
               checked for sequence numbers and also stripped if found.
               There is no sequence number checking for variable
               records.
              -Any data stripped from a PARMDD=ddname file does NOT
               count towards the 32760 character limit.
              -The PARM= and PARMDD= parameters on the JCL EXEC
               statement are mutually exclusive.  If both are coded,
               a JCL error occurs with message:

               IEFC009I KEYWORD PARMDD IS MUTUALLY EXCLUSIVE WITH
               KEYWORD PARM ON THE EXEC STATEMENT

              -The PARMDD= parameter supports any RECFM of F, FB, V, or
               VB.  RECFM=U and Spanned records are not supported.
              -The PARMDD=ddname file may have an LRECL up to 32760 for
               fixed length records or 32756 for variable length
               records.
              -The PARMDD=ddname file may be concatenated with other DDs
               in accord with usual concatenation rules.
              -These are all valid examples of PARMDD=ddname usage:

               //stepname EXEC PGM=ASMRMFV,PARMDD=ddname
               //ddname    DD  DISP=SHR,DSNAME=dsname

               //stepname EXEC PGM=ASMRMFV,PARMDD=ddname
               //ddname    DD  DISP=SHR,DSNAME=dsname(member)

               //stepname EXEC PGM=ASMRMFV,PARMDD=ddname
               //ddname    DD  *

               //stepname EXEC PGM=ASMRMFV,PARMDD=ddname
               //ddname    DD  DATA

              -For further details see Section 29 "PARMDD=ddname
               Support" in the ASMRMFV source or ADOCRMFV members.
              -Similar to PARMDD=ddname usage the ASMRMFV SYSIN DD (or
               alternate ddname) now supports RECFM FB, F, VB, or V.
               RECFM=U and Spanned records are not supported.  Prior to
               this change only RECFM=FB or RECFM=F was allowed.
              -The ASMRMFV SYSIN DD (or alternate ddname) LRECL may
               range up to 32760 for fixed length records or 32756 for
               variable length records.  Prior to this change only
               LRECL=80 was allowed.
              -A new built-in alternate ddname for SYSIN named SYSINA
               may be provided in JCL and will be used instead of SYSIN
               if found.  It is not necessary to code the SYSIN=SYSINA
               ASMRMFV parameter to use this alternate.  However, any
               other alternate ddnames require SYSIN= in the PARM= field
               or PARMDD=ddname file.
              -The order of ddname selection precedence for SYSIN is::

               1) The SYSIN=ddname parameter in either the JCL PARM=
               field or PARMDD=ddname file if present.
               2) The //SYSINA DD in JCL if present.
               3) The //SYSIN  DD in JCL if present.

              -A new built-in alternate ddname for SYSPRINT named
               SYSPRINA may be provided in JCL and will be used instead
               of SYSPRINT if found.  If both SYSPRINA and SYSPRINT are
               present SYSPRINT is ignored.  There is NO SYSPRINT=ddname
               parameter because the ASMRMFV log must be opened well
               before any parm processing.
              -When processing a PARMDD=ddname or SYSIN (or alternate)
               files with data exceeding 100 characters in length, the
               data is displayed in the existing RMFV002I message in 100
               character sections.
              -The first and last RMFV002I sections are always shown,
               but any intermediate blank sections are not displayed.
               The rightmost column for each section display shows the
               number of characters remaining to be shown.
              -SYSTSIN and SYSPRINA are added reserved ddnames when
               SYSIN=ddname is specified.
              -RECFM and LRECL are validated for all SYSIN (or
               alternate) data sets.
              -After MXG Change 34.226 the SYSIN OPEN subroutine
               incorrectly attempts to obtain the DSCB for a //SYSIN DD
               DUMMY statement.  This results in Abend U0998 Reason Code
               0018 and has been corrected.
              -MXG Change 34.226 incorrectly altered VSAM TESTCB macro
               results test for an VSAM RRDS type data set causing a
               VSAM KSDS to be accepted as valid as an RMF III data set.
               This caused an I/O error on the first read with Abend
               U0998 Reason Code 0029 and has been corrected.
              -RMFV008I DATASET LAST OPEN and RMFV009I ORIGIN messages
               can be missing from ASMRMFV log for some RMF III data
               sets after MXG Change 34.133 and this is also corrected.
              -Message RMFV056S is now issued when PATTERR=ABEND instead
               of RMFV056E as this is considered a severe error.
              -SYSIN=ddname processing now correctly issues message
               RMFV004E instead of RMFV056E.
              -Incorrect test for '*/' end of imbedded comment string
               fixed.
              -Expand RMFV005E message to contain first 100 characters
               of a bad parameter up from 80 as maximum that will fit
               within the 126 character WTO text limit.  If the
               parameter in error exceeds 100 characters only the first
               100 characters are shown.
              -Correct SRST search handling for parameter strings
               exceeding 256 bytes in length.
              -Add short problem description text to RMFV005E message
               if displayed parameter length will allow.
              -Change '=' character search in keyword parameter
               processing in PARMS subroutine to use SRST instruction
               for better performance.
              -FINAL subroutine setting Return Code 0016 when only
               warnings for RED Invalid Processor and SPG Internal
               error exist is fixed to issue Return Code 0008.
              -RMFV018S SYNAD I/O error message loop can result after a
               subsystem DD * data set for SYSIN (or an alternate)
               specifies an LRECL other than 80 in JCL.  z/OS apparently
               continues to call the SYNAD routine for the same error
               repeatedly with a WRONG LENGTH RECORD indication.  The
               problem has been circumvented.
              -RMFV007S message was not always showing Reason Code of
               blanks when the Reason Code is not available for the
               service in error.
              -Documentation Section 17 is retitled to "U0998 Abend
               Reason Codes".
              -Documentation Section 19 "Output LRECL" is retitled as
               "Input and Output" LRECL.
              -Former documentation Section 29 Summary is now Section
               30.
              -Former documentation Section 30 Bibliography is now
               Section 31.
              -New documentation Section Section 29 "PARMDD=ddname
               Support" added.
              -Updated following documentation sections for alternate
               SYSIN/SYSPRINT and PARMDD=ddname support:
               Section  3 "Execution JCL"
               Section  5 "Input Data Selection Parameters"
               Section  6 "Report Control Parameters"
               Section  9 "JCL and SYSIN Parameter Usage"
               Section 10 "Parameter Syntax Rules"
               Section 11 "Parameter Coding Examples"
               Section 12 "Messages"
               Section 15 "Program and IBM Limitations"

Change 34.261  Support for Thales Security Record Version x.y INCOMPAT.
VMACTHAL       This update supports records with and without subtypes.
Nov 17, 2016   For mapping by record ID, you must define these macros
               with YOUR SMF record Ids, either in your IMACKEEP member
               or in a %LET MACKEEP= argument in your //SYSIN:
         %LET MACKEEP=
           %QUOTE(
             MACRO _IDTHALS  195   %  /*SMF ID FOR SUMMARY RECORD*/
             MACRO _IDTHALN  196   %  /*SMF ID FOR SNAPSHOT RECORD*/
             MACRO _IDTHALC  199   %  /*SMF ID FOR CDS RECORD*/
             MACRO _IDTHALE  198   %  /*SMF ID FOR EXCEPTION RECORD*/
             MACRO _IDTHALV  197   %  /*SMF ID FOR SECURITY RECORD*/
             MACRO _IDTHALR  194   %  /*SMF ID FOR RESPONSE*/
                 );

             To process records with SUBTYPES, you need these macros
             either in IMACKEEP or with %LET MACKEEP= in //SYSIN:

         %LET MACKEEP=
           %QUOTE(
             MACRO _IDTHALX  200  %  /*SMF RECORD ID FOR NO SUBTYPES*/
             MACRO _SUBTHAL
               IF SUBTYPE GT . THEN DO;
                 IF      SUBTYPE=0  THEN ID=_IDTHALC;
                 ELSE IF SUBTYPE=4  THEN ID=_IDTHALE;
                 ELSE IF SUBTYPE=8  THEN ID=_IDTHALV;
                 ELSE IF SUBTYPE=12 THEN ID=_IDTHALS;
                 ELSE IF SUBTYPE=16 THEN ID=_IDTHALN;
                 ELSE IF SUBTYPE=32 THEN ID=_IDTHALR;
               END;
              %
                 );

   Thanks to Randy Schlueter, FirstData, USA.

Change 34.260  Support for SMF 110 Subtype 2 STID=32 creates new dataset
EXCICLDY          DDDDDD  DATASET  DESCRIPTION
FORMATS           CICLDY  CICLDY   CICS LOADER PRIVATE LIBRARY
IMAC110        that is added in CICS/TS 5.4 OPEN BETA.
VMAC110
VMXGINIT
Nov 18, 2016
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 34.259  Three JCL Test examples still had Includes of TYPSQAPM
JCLTEST9       which was replaced by TYPSQACS for the AS/400.
JCLTESS9
JCLTES92
Nov 14, 2016
   Thanks to Earl Kline, Luminex, USA.

Change 34.258  Variable SMT_CORE_FLAG='LPARBUSY*VALID?' with value Y/N
VMAC7072       is now kept in TYPE70EN dataset.
Nov 14, 2016
   Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.

Change 34.257  Support for TMON/CICS Version 4.1 (COMPATIBLE, no change
EXMONCSE       to the existing MXG datasets) and support for the CS CTG
EXMONCSW       records create three new datasets:
EXMONCSX          DDDDDD    DATASET   DESCRIPTION
IMACTMO2          TMOCSE    MONICSE   LANDMARK CS-CSE SEGMENT
VMACTMO2          TMOCSW    MONICSW   LANDMARK CS-CSW SEGMENT
VMXGINIT          TMOCSX    MONICSX   LANDMARK CS-CSX SEGMENT
Nov 13, 2016

Change 34.256 -DB2STATS variables QISEDPSC QISEDPSF QISEDPSL QISEDPSM
Many           QVASBRPT QVASBRP QVASACEB QVASACEF QJSTDPXN QJSTDPXT are
Nov 11, 2016   kept and labeled and QWHCJOBSTEP is labeled.
              -TYPE117 variables SM117NOR,SM117RSQ are labeled.
              -TYPEIAM variables IAMACFL0-7,IAMACIN0-1,IAMCRIN0-8 and
               IAMBOPCR IAMBUFCR IAMCOREO IAMCOREX IAMDDL IAMDSNL and
               IAMRLSFP are labeled.
              -TYPE42 variables SMF42FSH/FSI/FSJ/FSK correctly labeled.
              -TYPE64 variable SMF64UTY extra asterisk removed in label.
              -TYPE71 variables SMF71C3A/CPM/CPX extra asterisk removed.
              -TYPE73 variables SMF73HEN and EXTENDSEG are now labeled.
              -TYPE74 variables R748RAI is labeled in TYPE748R dataset.
              -TYPE99 variables S99EE_CP_CHIPID S99EE_CP-BOOKID labeled.
   Thanks to Chris Weston, SAS ITRM, USA.

Change 34.255  The z13 Topology Report had a typo Z!3 instead of Z13 and
ANAL9914       variable SYSTEM was added to the second report.
Nov 10, 2016
   Thanks to Trevor Holland, ANZ, AUSTRALIA.

Change 34.254  CICS Dispatcher CICDS dataset variable DSGSRBT, SRB time
CICINTRV       is now kept in the CICINTRV dataset.
Nov  9, 2016
   Thanks to Randy Schlueter, FirstData, USA.

Change 34.253  Change 34.160 removed UPCASE function for BASExxx path
VMXGALOC       names, but that segment was inadvertently deleted and is
Nov  9, 2016   restored. Impacted only Linux due to case sensitivity.

Change 34.252  SMF 119 Subtype 50 Dataset NUM11905 is NOT the count of
VMAC119        KEY segments, but is ALWAYS One, causing MXG to output
Nov  8, 2016   the first KEY. (And LEN11905 is the TOTAL length of all
               KEY segments plus the 4 bytes for LEN/KEY itself).
               The number of KEY segments is NOT provided, but MXG now
               uses LENLEFT to find and INPUT and output to TYP11950 for
               each KEY.
   Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
   Thanks to Ronald Kristel, Rabobank, THE NETHERLANDS.

Change 34.251  SMF 80 Top Secret records, format $MG080TS maps all of
FORMATS        RDT table entries for variable TSFLCLAS.
VMAC80A        Member VMAC80A has the SAS program in comments to update
Nov  9, 2016   the $MG080TS table.
Nov 15, 2016   Variable TSRESNAME contains the Resource Name.
Dec  6, 2016

Change 34.250  SMF 120 Subtype 100 ODM records had the order of two
VMAC120        variables, SM120RULEXFSUM/SM120RULEXCALLS reversed.
Nov  2, 2016
   Thanks to Paul Volpi, UHC, USA.

Change 34.249  z/VM Linux Appldata datasets VXAPLSLM,VXAPLSLN,VXAPLSLP
EOAPLSLM       had occasional large values; the logic to de-accumulate
EOAPLSLN       was not reset for FIRST.VMDUSER. For these datasets that
EOAPLSLP       are written for each interval for each user whether or
VMACVMXA       not any resources were consumed, MXG only outputs an obs
Nov  1, 2016   when an interval had activity, and now the DURATM will
               contain the actual duration since the last interval that
               was output.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 34.248  DB2 Netezza IDAA Q8STxxxx variables were incorrectly
CLEARDB2       output in DB2STAT1/DB2STATS, which is a one instance per
EXDB2NET       interval dataset, but there can be multiple Q8ST segments
IMACDB2        per interval (only the first segment was output).
READDB2        Now, ALL Q8STxxxx variables in DB2STATS/DB2STAT1 are set
VMACDB2        to a missing value, and the new DB2NETZA is created with
VMXGINIT       one observation for each Q8ST segment.
Nov  1, 2016
   Thanks to Erling Andersen, SMT, DENMARK.

Change 34.247  Support for APAR OA43999 RACF Database UNLOAD adds these
VMACRACF       new variables to RACF0200 dataset:
Oct 28, 2016     USBD_PWD_ALG='ALGORITHM*USED TO*PROTECT*PASSWORD*/.
                 USBD_LEG_PWDHIST_CT='LEGACY*PASSWORD*HISTORY*ENTRIES*/
                 USBD_XPW_PWDHIST_CT='KDFAES*PASSWORD*HISTORY*ENTRIES*/
                 USBD_PHR_ALG='ALGORITHM*USED TO*PROTECT*PASSPHRASE*/.
                 USBD_LEG_PHRHIST_CT='LEGACY*PASSPHRASE*HISTRY*ENTRIES*/
                 USBD_XPW_PHRHIST_CT='KDFAES*PASSPHRASE*HISTRY*ENTRIES*/
               and these overlooked RACF0200 variables are now created:
                 PWDENV_EXISTS='PASSWORD*PKCS#7*ENVELOPE*CREATED?'
                 PWD_ASIS     ='EVALUATE*PASSWORD*ENTERED*CASD?'
                 PHRDATE      ='EVALUATE*PASSWORD*ENTERED*CASD?'
                 PHRGEN       ='PASSPHRASE*GENERATION*NUMBER'
                 CERT_SEQN    ='PASSPHRASE*GENERATION*NUMBER'
               Dataset RACF0560 missing values messages eliminated .
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 34.246  RMF III dataset ZRBASI variable ASIDP did not exist in
VMACRMFV       z/OS 1.13 nor z/OS 2.1, but the MXG test for ASIVERG3
Oct 27, 2016   used GE '16'x, causing ASIDP to contain characters. IBM
               didn't document that the ASI record version was changed
               to '1A'x (discovered only in 2.2 data records).  Now,
               ASIDP is missing in 1.13 or 2.1 and populated in 2.2.
   Thanks to Randy Hewitt, HPE Enterprise Services

Change 34.245  MXG 33.08-34.07. SMF 42 dataset TYPE42L1 had misaligned
VMAC42         fields starting with SMF42HUA, causing these variables
Oct 27, 2016   to be wrong:  SMF42HUA-SMF42HUG, SMF42HCA-SMF42HCX and
               and SMF42HEH-SMF42HEK.
   Thanks to Ann Knapik, Progressive Insurance, USA.
   Thanks to David Buckmiller, Progressive Insurance, USA.
   Thanks to William Keezer, Progressive Insurance, USA.
   Thanks to Chris Weston, SAS ITRM, USA.

Change 34.244  A large number of regions could cause ARRAY EXCEEDED
UTILEXCL       errors and/or invalid DCN/DRL test values in IMACEXCL if
Nov  9, 2016   an existing PDB.CICSDICT was appended with dictionary
Dec 14, 2016   records with the same SMF times.  The MAX NREC value is
               now created from PDB.CICSDICT and used for the new NREC
               to separate those identical records.
              -The Nov 9 change increased arrays from 1999 to 2999 but
               the correction eliminated the need for the increase, and
               on site encountered a record too long to sort with the
               Host sort on z/OS; using the SAS Sort circumvented but
               the arrays were reset to 1999 on Dec 14.

   Thanks to Erling Andersen, SMT, DENMARK.

Change 34.243  Support for SMF 117 IBM Integration Bus Version 2 format
VMAC117        record (INCOMPATIBLE) that inserted two 26-byte datetime
Oct 22, 2016   fields that do NOT match the existing start/end times.
               IBM Support is being contacted.

Change 34.242  If you specified multiple datasets in the INDATA= and
VMXGSUM        one of those datasets was also the OUTDATA= and there
Oct 22, 2016   was no OUTCODE= specified AND YOU had told VMXGSUM to
               use CLASSNWAY rather than a BY, VMXGSUM would fail with
               an error message that you could not open the output
               dataset because it was part of SASDSVX. Now if VMXGSUM
               sees that the INDATA is not the same as the OUTDATA but
               the OUTDATA is part of the INDATA and the length of
               OUTCODE is 0 it turns off CLASSNWAY.

Change 34.241  Support for AutoSoftCapping Version V4 (COMPATIBLE) adds
VMACZCOS      -Dataset ZCOS01 New Variables
Oct 21, 2016     ZCOS01CMAX='CPCMAX'
                 ZCOS01CMIN='CPCMIN'
              -Dataset ZCOS02 New Variables
                 ZCOS02PMAX='MSUMAX'
                 ZCOS02PMIN='MSUMIN'
              -Dataset ZCOS04CP New Variables
                 ZCOS04CMAX='CPCMAX'
                 ZCOS04CMIN='CPCMIN'
              -Dataset ZCOS04GP New Variables
                 ZCOS04MODE='MODE*MESSAGES*ACTIVE*REPORT?'
              -Dataset ZCOS04PL New Variables
                 ZCOS04ACAP='ABSOLUTE*CAP*TO SET'
              -These subtype 4 variables are no longer available and are
               blank:
                 ZCOS04CCAP ZCOS04CAIP ZCOS04CPIP ZCOS04PAIP
                 ZCOS04PORT ZCOS04CFAM ZCOS04CMOD ZCOS04CSID

Change 34.240  New SMF 42 Subtype 27 had JCTJOBID containing HEX zeros
VGETJESN       which VGETJESN did not like, printing WARNING TYPETASK
Oct 19, 2016   NOT DECODED.  TEST for nulls in JCTJOBID and SUBSYS of
               'SMS' protects this subtype and possible future ones.
   Thanks to Joe Babcock, General Motors, USA.

Change 34.239  TYPE70PR data for "OTHER SYSTEM" LPARs could have wrong
VMAC7072       LCPUADDR/SMF70CIN values, which could impact the Dispatch
Oct 20, 2016   (CPU) time and other fields in ASUMCELP/ASUMCEC datasets,
               if "THIS SYSTEM" is in SMT MODE, but ONLY if there were
               NO type 70 records for this "OTHER SYSTEM".  Each RMF 70.
               record has the details for THIS SYSTEM (70) and for THIS
               LPAR (70PR), but only incomplete data in TYPE70PR for
               each of the "OTHER LPARs" on the CEC this LPAR reports.

               For ASUMCELP/ASUMCEC/TYPE70PR to be perfect, you must
               read SMF 70 records for ALL SYSTEMS, so there will be a
               "THIS SYSTEM" obs for every LPAR with complete data, and
               if you do your own reporting from PDB.TYPE70PR you then
               must select the "THIS SYSTEM" obs in TYPE70PR using:

                   IF PARTISHN=LPARNUM OR LPARNAME='PHYSICAL';

               When you don't have 70s for all LPARS, the PDB.ASUMCELP
               dataset has only "OTHER SYSTEM" incomplete data, where
               these variables always have missing values:
                 SMF70LAC SMF70PAT SMF70WTS SMF70WTU SMF70WTI SMF70WLA
               and where these variables have incorrect values:
                 LPARCPUS LPARDUR SMF70ONT LPCTBY LPCTOV SMF70WST
                 PCTZIPBY ZIPCPUS ZIPUPTM ZIPPATTM ZIPWSTTM.
               Variable PARTISHN was not kept in PDB.ASUMCELP, but to
               select only the "THIS SYSTEM" from PDB.ASUMCELP, use

                   IF SMF70PAT GT . OR ZIPPATTM GT .;

              -Note that in the ASUMCELP dataset, MXG's NRCPUS should be
               the number of CP engines ONLINE AND NOT PARKED, the true
               capacity available, in the "THIS SYSTEM" LPAR obs. But in
               "OTHER SYSTEM" obs, NRCPUS is the number of ONLINE CPs,
               because the Parked time is not in the OTHER SYSTEM data.
                 (In RMF Partition Reports, IBM only reads THIS SYSTEM
                  so they have to use the ONLINE count, incorrectly,
                  to calculate the LPAR CPU utilization.)
              -ARRAY statements with braces changed to parenthesis to
               avoid character translation issues from ASCII to EBCDIC.
   Thanks to Peter Sisak, T-SYSTEMS, GERMANY.
   Thanks to Gabor Markon, T-SYSTEMS, GERMANY.
   Thanks to Lorinc Homor, T-SYSTEMS, GERMANY.

Change 34.238  Example RMF III CPC data report.
ANAL3CPC
Oct 19, 2016

Change 34.237  New variables added to STCVSM11 dataset:
VMACSTC          STC11NHW='BYTES*WRITTEN*HOST*INTERFACE'
Oct 12, 2016     STC11NHR='BYTES*WRITTEN*RTD*INTERFACE'
                 STC11NRR='BYTES*WRITTEN*IP*INTERFACE'
                 STC11NRW='BYTES*READ*HOST*INTERFACE'
                 STC11NIR='BYTES*READ*HTD*INTERFACE'
               See Change 36.084 which corrected these variables.


Change 34.236 -If you have multiple SYSPLEX values on a single CEC or
VMXG70PR       multiple capacity groups then ASUM70LP/ASUMCELP could
Oct 12, 2016   have invalid value unless you read all of the data from
               all of the LPARs involved in the CEC. VMXG70PR now will
               detect these conditions, WARN you about them and drop
               the observations that are bad. There are two distinct
               cases involved.
              -If the LPAR is not part of the same plex as the system
               that wrote the 70PR record then that OBS is dropped since
               the weights will reflect the weights from the LPAR that
               created the TYPE70PR record.
              -If the LPAR is not found in the TYPE70 data you will get
               a WARNING that there is missing data and some may be
               erroneous for those LPARs that are missing but the OBS
               are kept.

Change 34.235  Cosmetic.  Variables DSGNAME and DVLSTGRP had '00'x pad
VMACDCOL       characters if the name was less than eight bytes that are
Oct 11, 2016   now changed to blanks, and variable DSGCSMSS is labeled.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 34.234  MQ Series TYPE116 variable WQUSECNT, USE_COUNT, can be a
VMAC116        negative value (-1) to represent a CLOSE with (+1) OPEN,
Oct 11, 2016   so the INFORMAT &IB.4. is now used instead of &PIB.4.
Oct 19, 2016   Variable WTASPRCT is now correctly divided by 4096.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 34.233  TYPEXCOM format MGXCMST was not found due to a blank in
FORMATS        the VALUE statement.
Oct 10, 2016
   Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.

======= Changes thru 34.232 were in this MXG 34.07 dated Oct  7, 2016===

Change 34.232  MXG 34.07 first iteration ERROR:ARRAY SUBSCRIPT OUT OF
VMAC7072       RANGE due to insufficient testing with enough data in
Oct  7, 2016   the TYPE70 Processing.  My apology.
   Thanks to Robert B. Richards, OPM, USA.


Change 34.231  MXG 34.07 first iteration lost an "@;" causing STOPOVER.
VMAC87         Datetimestamps are now converted to local, $CHARx fields
Oct  6, 2016   fields are properly $HEXxx formatted and SMF70DUR valid.
   Thanks to Keith McWhorter,IBM Global Technology Services, USA.

======= Changes thru 34.230 were in this MXG 34.07 dated Oct  5, 2016===


Change 34.230  Corrections for CDHW support, INVALID DATA messages from.
VMACCDHW       unprotected PD and PK fields.
Oct  5, 2016  -Oct 24. The INPUT of JULDATE was deleted causing missing
Oct 24, 2016   and/or wrong values.


Change 34.229  Support for DB2 V12 QWHS_MOD_LVL,_REC_INCOMPAT,REC_COMPAT
VMACDB2H       variables INPUT in DB2 Header but not kept, and adjacent
VMACDB2        variable QWHCJOBSTEP that is kept, only in DB2ACCT.
VMAC102       -New variables added to DB2STATS:
Oct  5, 2016     Q9STCTDA='DISPLAY*ACCEL*COMMANDS'
                 Q9STCTSA='START*ACCEL*COMMANDS'
                 Q9STCTXA='STOP*ACCEL*COMMANDS'
                 Q9STLEN altered to match data, 220 read, Q9STLEN=256.
              -New Contiguous Buffer Pool variables in DB2STATB
                 QBSTAGET='OVERFLOW*TOTAL*RANDOM*GETPAGES'
                 QBSTASGE='OVERFLOW*TOTAL*SEQUENTIAL*GETPAGES'
                 QBSTASYN='OVERFLOW*TOTAL*SYNC READ*RANDOMS'
                 QBSTASSE='OVERFLOW*TOTAL*SYNC READ*SEQUENTIAL'
              -QJSTLEN test changed to 256 from  268, +116 VS avail128.
              -LENQISE test GE 232 changed from 32.
              -New variables in T102S053 and T102S058:
                 QW0053SECTN='RDI*SECTION*NUMBER'
                 QW0058SECTN='RDI*SECTION*NUMBER'
              -New variables in T102S199, microsecond resolution.
                 QW0199S1='AVERAGE*SYNC*I/O*DELAY'
                 QW0199S2='MAXIMUM*SYNC*I/O*DELAY'
                 QW0199A1='AVERAGE*ASYNC*I/O*DELAY'
                 QW0199A1='MAXIMUM*ASYNC*I/O*DELAY'
              -Five new DSNDQXST variables are kept in DB2ACCT and in
               DB2STATS:
                 QXREFTBL  ='REFRESH TABLES'
                 QXTRNOWN  ='TRANSFER*OWNERSHIP*AVAILABLE'
                 QXRSDMAD  ='DM NOT CALLED RAI PREDETERMINE'
                 QXR1BOAD  ='FETCHED ONE BLOCK AN NEVER MORE '
                 QXSTSFND  ='PREPARE SATISFIED FROM SYSDYNQRY'
              -New fields are added to the end of QW0018 segment
                 QW0018SK='DATA ROWS SKIPPED*INCOMPATIBLE*LOCK HELD'
                 QW0018FI='DATA ROWS INSERTED*VIA*FAST INSERT'
                 QW0018FS='DATA ROWS*COULD NOT*USE FAST INSERT'
                 QW0018FA='DATA FAST INSERT*PIPE*REFILLS'
                 QW0018FW='DATA DB2 WAITS*FOR FAST*INSERT'
                 QW0I18SK='INDEX ROWS SKIPPED*INCOMPATIBLE*LOCK HELD'
                 QW0I18FI='INDEX ROWS INSERTED*VIA*FAST INSERT'
                 QW0I18FS='INDEX ROWS*COULD NOT*USE FAST INSERT'
                 QW0I18FA='INDEX FAST INSERT*PIPE*REFILLS'
                 QW0I18FW='INDEX DB2 WAITS*FOR FAST*INSERT'
              -The below TYPE 102 IFCID updates can't be made until test
               SMF data is available; DB2 DSECTS do not document the
               internal format (TODSTAMP?/SMFSTAMP?/DB2INTERNAL?) nor
               the epoch date, showing then as only CHAR8 in the DSECT.
                -New IFCIDS: 389 380 404 413 414 477
                -Changed IFCIDS: 018 125 316 401 53 58 with these notes:
                  IFCID 018 Statistics Class 1 Insert Algorithm 2
                  IFCID 058 Statistics Class 1 Insert Algorithm 2
                  IFCID 316/401 new wait times for Child/Page/L-Locks/P-
                  IFCIDs 53/58 statement level section for PREPARE

Change 34.228  Support for APAR OA48688, ABSOLUTE MSU LPAR GROUP CAPPING
VMAC7072      -TYPE70 new variable SMF70ABSMSU='Y' from SMF70HHF bit if
Oct  4, 2016   active for this partition.
              -TYPE70PR new variables
                  CAPLIMCH='HARDWARE GROUP CAPACITY LIMIT CHANGED?'
                  SMF70HGWGRNAME='HARDWARE GROUP OF THIS PARTITION'
                  SMF70HWGR_CAP_LIMIT='HARDWARE*GROUP*ABSLIMIT'

Change 34.227  The $MGSMFID used by ANALID to describe SMF records is
ANALID         enhanced to identify which product creates the record and
FORMATS        with better descriptions, and a footnote added that the
Oct  1, 2016   MXG member IMACAAAA contains the MXG Product Suffix XXXX
               each SMF Record Type, so you know what TYPEXXXX member to
               use to process that SMF record. (Each IMACxxxx member has
               the list of datasets that will be created for each XXXX.)
   Thanks to MP Welch, Bank of America, USA.

Change 34.226 -Support for alternate SYSIN ddname input, user control
ADOCRMFV       of VSAM CLOSE=FREE for RMF III data sets, and other
ASMRMFV        improvements.
Oct  3, 2016  -A new keyword SYSIN=ddname allows ASMRMFV to input
               parameters from a file with a ddname other than SYSIN.
               This may be useful if ASMRMFV is executed under another
               program such as SAS.
              -The ddname must be a valid ddname for use in JCL and must
               be present in the execution JCL or an error is flagged.
              -SYSIN=ddname may ONLY appear in the JCL PARM= field NOT
               in the SYSIN stream itself.  Otherwise an error is
               flagged.
              -The SYSIN=ddname value must NOT be a reserved DDNAME used
               by z/OS, JES2/JES3, or other important programs.  If such
               a ddname is used an error is flagged.  For a full list of
               these ddnames see documentation Section 5 "Input Data
               Control Parameters" by SYSIN=ddname.
              -The OPEN of the DCB for SYSIN or an alternate ddname now
               validates that DSORG=PS, RECFM=FB or RECFM=F, and
               LRECL=80 are attributes for the input file to prevent I/O
               errors and other undesirable behavior.  If these criteria
               are not met ASMRMFV abends during parameter processing.
              -VFREE (alias VF) and NOVFREE (alias NOVF) are a pair of
               new parameters that control how RMF Monitor III VSAM data
               sets are processed when closed.
              -VFREE deallocates each RMF III data set thus releasing
               the SHR enqueue for each data set as processed before the
               entire ASMRMFV step ends while NOVFREE keeps the enqueues
               for all RMF III data sets until the complete step end.
              -For step program names ASMRMF* or IKJEFT* (*=any valid
               program name characters), the default is VFREE.  NOVFREE
               is the default for other step program names.
              -VFREE/NOVFREE has been tested successfully under z/OS 2.2
               but may not necessarily have effect in other z/OS
               releases.
              -A new RMFV037I message displays the status of Input
               Control parameters SYSIN=ddname and VFREE/NOVFREE.
              -The RMFV035* message did not fully support the
               TABERR=WARN option.  All table errors were counted as
               Severe Errors rather than as Warnings.
              -When the only table errors are SPG Internal Problem
               errors the final return code will now be 0008 instead of
               0016.
              -SPG Internal Problem errors occur when a coded Storage
               Group name is misspelled or is nonexistent in the RMF III
               SGSPACE start up parameter.  These are NOT fatal to the
               MXG PDB build process.  There simply are no observations
               in the result ZRBSPG SAS data set in the PDB.  The
               SGSPACE Storage Group name(s) must be corrected for
               ZRBSPG to have observations.
              -TIOT ddname search performance is improved.
              -There is a new Abend Reason Code 40 for a GETDSAB service
               failure.
              -Additional descriptive problem text is added for OPEN,
               CLOSE, and RDJFCB service failure RMFV007S messages.
              -ASMRMFV could Abend S0C4 if a non-VSAM data set was coded
               with an RMFV*, RMFC*, or RMFD* DDNAME and then opened as
               a VSAM data set.  Now this condition will be detected and
               an error flagged.
              -A new additional RMFV008I message will now display the
               PDS member name or GDG relative generation if coded in
               JCL for a file.
              -The MXG00 record version is raised from X'05' to X'06'
               and a new Input Options section is added.
              -SYSIN=ddname and VFREE/NOVFREE features are not supported
               by ASMRMFV versions prior to MXG Change 34.226.  If
               specified a parameter error will be flagged.
              -Documentation Section 20 is retitled as "FREE=CLOSE for
               VSAM Data Sets".
              -Following documentation sections are
               updated:
               Section  5 "Input Data Control Parameters"
               Section  8 "Error Handling Parameters"
               Section 12 "Messages"
               Section 14 "Skipped Records"
               Section 16 "Return Codes"
               Section 17 "Abend Reason Codes"
               Section 20 "FREE=CLOSE for VSAM Data Sets"
               Section 29 "Summary"

Change 34.225  If you used ANALHSM and do not have SAS/GRAPH and are on
ANALHSM        SAS 9.2 or earlier, some graphic statements that should
Sep 30, 2016   have been bypassed caused error messages,

Change 34.224  Support for APAR OA50256 for TYPE1415 corrects SMF14DSVER
FORMATS        field's values, from which MXG variable SMF14DSTYPE using
VMAC1415       the $MG014EF format, updated by this change.  There was
Sep 30, 2016   no change made to VMAC1415; listed here for impact only.

Change 34.223  Support for APAR OA49415 for SuperPAV Support, adds data:
VMAC74        -Added to TYPE74 dataset:
VMAC78  2016     SUPERPAV='SUPERPAV*MODE?'
Sep 30, 2016     SMF74AGC='CONTROLLER*ALIAS*MANAGEMENT*GROUP*NUMBER'
                 SMF74AGS='ASSOCIATED*ALIAS*MANAGEMENT*GROUP*NUMBER'
              -Added to TYPE78IO dataset:
                 R783GFLX='IOQ*GLOBAL*FLAGS*EXTENDED'
              -Added to TYPE78CF dataset:
                 R783AMGC  &PIB.1./*CONTROLLER*ALIAS*MGMT*GROUP*NUMBER*/
                 R783AMGS  &PIB.4./*ASSOCIATED*ALIAS*MGMT*GROUP*NUMBER*/
              -Added to TYPE78CU dataset:
                 R783XANC='ALIAS*NEEDED*TO START*AN I/O'
                 R783XAUC='ALIAS*USED*TO START*AN I/O'
                 R783XNHC='ALIAS*NEEDED*NONE*AVAILABLE'
                 R783XABC='ALIAS*BORROWED*FROM*PEER LCU'
                 R783XCBC='CONCURRENTLY*BORROWED*ALIAS'
                 R783XHBC='HWM*CONCURRENTLY*BORROWED*ALIAS'
                 R783XALC='ALIAS*LOANED*TO A*PERR LCU'
                 R783XCLC='CONCURRENTLY*LOANED*ALIAS'
                 R783XHLC='HWM*CONCURRENTLY*LOANED*ALIAS'
                 R783CNAG='BORROW*ATTEMPTS*NONE*AVAILABLE'
                 R783XCQD='CUM I/O*QUEUED*WHERE*ALIAS*NEEDED'
                 R783XCIU='CUM ALIAS*DEFINED*AND IN USE'

Change 34.222  Support for APAR OA51097 that documents new fields that
VMAC42         weren't in the SMF manual for SMF type 42 subtype 19.
Sep 30, 2016   Variables added to TYPE42X2 dataset:
                 SMF42JUC='LOW FIXED 4K PAGES IN USE'
                 SMF42JUD='HIGH FIXED 4K PAGES IN USE'
                 SMF42JUE='AVG FIXED 4K PAGES IN USE'
                 SMF42JUF='MAX FIXED STORAGE'
                 SMF42JUG='PCT REAL*CAN BE USED*FOR FIXED'
               Variables added to TYPE42X4 dataset:
                 SMFA2JUC='LOW FIXED 4K PAGES IN USE'
                 SMFA2JUD='HIGH FIXED 4K PAGES IN USE'
                 SMFA2JUE='AVG FIXED 4K PAGES IN USE'
                 SMFA2JUF='MAX FIXED STORAGE'
                 SMFA2JUG='PCT REAL*CAN BE USED*FOR FIXED'

Change 34.221  Support for new SMF Type 29 IMS JAVA CPU and Garbage Coll
EXTY29GC       creates new datasets
EXTY29JA         DDDDDD    MXG       MXG
IMAC29           DATASET   DATASET   DATASET
TYPE29           SUFFIX    NAME      LABEL                    SUBTYPE
TYPS29
VMAC29           TY29GC    TY29GC    IMS JVM GARBAGE COLLECTION   2
VMXGINIT         TY29JA    TY29JAVA  IMS JVM CPU USAGE            2
Sep 30, 2016   These members were added in MXG 34.01 Change 34.039 but
               only now has VMAC29 been corrected and validated with
               data records.
   Thanks to Tony Curry, BMC, USA.

Change 34.220  WARNING R749PCIPAKTR in DROP KEEP RENAME never referenced
VMAC74         because it should have been spelled R749PCIPAKT.  Warning
Sep 27, 2016   is printed only when the MXG OPTION DKROCOND=NOWARN is
               changed to WARN; MXG expects/exploits DKROCOND=NOWARN as
               it permits variable names in the KEEP= list that are not
               output if their optional code is not enabled (especially
               in CICSTRAN with its many possible optional variables.
   Thanks to Andrew Krink, Northern Territory Government, AUSTRALIA.

Change 34.219 -Variables GDGCOMPL and GDGNOEXT and GDGLIMIT kept.
VMAC6156      -New undocumented catalog record '07' has two fields that
Sep 24, 2016   are input and kept for investigation.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 34.218  Arrays were incorrectly being initialized causing the
ASUM4HRS       4HR Averages to not be calculated and the resultant value
Sep 24, 2016   for each interval was the interval's value rather than
               the average value.  Note that if you request 4 Hours then
               there will be no average calculated until the 5th Hour.
               You may have to read TWO day's SMF to populate the 4 Hour
               Average for all hours of today.
   Thanks to Tony P. Steward, CSC, ENGLAND.

Change 34.217 -Dataset BVIR30 variables USDCACHE and USDFLASH were INPUT
VMACBVIR       but were not kept.
Sep 22, 2016  -Datasets BVIR301 and BVIR302 were both wrong, having too
Sep 26, 2016   few observations and keeping wrong variables. BVIR301
               now has one observation for each CACHEPARTNR (0 thru 7)
               and BVIR302 one for each CONTAINER and Performance Group.
   Thanks to Pierre Pascal Joulin, SOCGEN, FRANCE.

Change 34.216  Support for SMF 98 High Frequency Throughput Statistics
EXTY9801       HFTS record creates nine new datasets.  The TYPE9801 data
EXTY98EE       set contains all of the segments that occur only once per
EXTY98LD       record; the eight TYPE98SD-TYPE98SL data sets contain the
EXTY98LL       segments that can occur more than once per record:
EXTY98LS
EXTY98PB         DDDDDD  MXG       MXG
EXTY98SD         DATASET DATASET   DATASET
EXTY98SL         SUFFIX  NAME      LABEL
EXTY98WU
FORMATS          TY9801  TYPE9801  TYPE 98 HFTS SUBTYPE 1
IMAC98           TY98SD  TYPE98SD  HFTS SPINLOCK DETAIL
TYPE98           TY98LS  TYPE98LS  HFTS LOCK SUSPEND SUMMARY
TYPS98           TY98LD  TYPE98LD  HFTS LOCK SUSPEND DETAIL
VMAC98           TY98LL  TYPE98LL  HFTS LOCK LOCAL CML DETAIL
VMXGINIT         TY98PB  TYPE98PB  HFTS PRIORITY BUCKET
Sep 20, 2016     TY98EE  TYPE98EE  HFTS CONSUME EXECUTION EFFICIENCY
Aug 17, 2016     TY98WU  TYPE98WU  HFTS CONSUME WORK UNITS
                 TY98SL  TYPE98SL  HFTS CONSUME SPIN LOCK SUMMARY
   Thanks to Nicholas Jones, IBM, USA.
   Thanks to Daniel V. Rosa, IBM, USA.

Change 34.215  Support for PRO/SMS (previously X37) Version 7.8 RSL1607
VMACPROS       which INCOMPATIBLY replaced 60 bytes after PROCSTEP with
Sep 22, 2016   102 bytes, causing misalignment of all subsequent fields
               but only impacting the PRORECOV dataset.
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 34.214  New SMF fields documented in new Sept 2016 SMF Manual:
VMAC30        -VMAC30, datasets TYPE30_V/TYPE30_4/TYPE30_5/TYPE30_6:
VMAC42         new variable SMF30SLM='MEMLIMIT*ACTION*TAKEN*FLAGS'
VMAC74        -VMAC42, dataset TYPE42S1: was wrong, 16-bytes skipped.
VMAC79         new variable SMF42FY3='VALID*COUNTS*FLAGS'
VMAC90A          Initially, I thought IBM had inserted 16 bytes but they
VMXGINIT         have been there at least since z/OS 1.13.  But, when I
EXTY9038         thought I was going to have to test for version, users
EXTA9038         found these values in their data:
EXTB9038
EXTY9039           PRODUCT       SUBTYPES       PRODLVL
Sep 18, 2016
                   CA PDSMAN     24             7.7.0
                   MVS/OS390     10             HDZ1D10
                   MVS/OS390     10             HDZ2220
                   Z/OS18        15/17/18/19    DFSMVS18
                   DFSMS/MVS     1/5/6          HDZ1D10
                   DFSMS/MVS     1/5/6          HDZ2220
                   DFSMS/MVS     4              1.3.0
                   MVS/DFP       2              HDZ1D10
                   MVS/DFP       2              HDZ2220
                   Z/OS DFSMS    9              1.12.0
                   Z/OS DFSMS    20/21/24       V01R13M0
                   Z/OS DFSMS    20/21/24/25    V02R02M0
                   Z/OS DFSMS    27             HZD2220
              -VMAC42, dataset TYPE42S2 new variables:
                SMF42FSH='COMP1*CLASS4*LOCKS'
                SMF42FSI='COMP1*CLASS4*TRUE*CONTENTION'
                SMF42FSJ='COMP1*CLASS4*FALSE*CONTENTION'
                SMF42FSK='COMP1*CLASS4*RELEASE*LOCKS'
              -VMAC42, dataset TYPE42S3 new variables:
                SMFA2FPHA='COMP1*CLASS4*LOCKS'
                SMFA2FPIA='COMP1*CLASS4*TRUE*CONTENTION'
                SMFA2FPJA='COMP1*CLASS4*FALSE*CONTENTION'
                SMFA2FPKA='COMP1*CLASS4*RELEASE*LOCKS'
              -VMAC74, dataset TYPE74CA new variable
                R745CFDV='FAILING*DEVICE'
              -VMAC77, dataset TYPE77 new variables
                SMF77CSC='CONTENTION*STATUS*CHANGE*EVENTS'
                SMF77NOD='NO*SEPARATE*CONTENTION*DETAIL'
              -VMAC79, variables R79ETCMW/R79ECTRD could be missing
               values, test for APAR additions revised.
              -VMAC90A, Support for new datasets from new subtypes:
                 TY9038    TYPE9038    38:SET IEFOPZ
                 TYA038    TYPE9038A   38A:OLD NEW DSNAME
                 TYB038    TYPE9038B   38A:DD JOBNAME
                 TY9039    TYPE9039    39:SET SMFLIM

Change 34.213  Support for the SMF 119 Subtype 81 Intrusion Detection
EXT11981       Service creates new dataset
FORMATS           DDDDDD   DATASET   DESCRIPTION
IMAC119           T11981   TYP11981  INTRUSION DETECTION SERVICE
VMAC119
VMXGINIT
Sep 16, 2016
   Thanks to Nathan Loewenthal, CitiGroup, USA.

Change 34.212  The ANALID report value for MVSLEVEL was incorrectly read
VMACSMF        when the VSAM SMF file was input; an +OFFSMF was needed.
Sep 16, 2016
   Thanks to MP Welch, Bank of America, USA.

Change 34.211  Support for SMF 80 TOKDANAME='TOKMFILEPROCMAX' adds new
VMAC80A        variable TOKMFILEPROCMAXNR.
Sep 15, 2016
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 34.210  Some USS RACF Event values (28 thru 58 decimal) were not
FORMATS        decoded in MG080EV and $MGSMFID formats.
Sep 15, 2016
   Thanks to MP Welch, Bank of America, USA.

Change 34.209  "DB2 is filling my SMF, how do I find out who/why" may be
DB2COUNT       answered with DB2COUNT program that reads SMF 101 records
Sep 13, 2016   creating a stripped down PDB.DB2ACCT with the identity
               variables and PROC FREQs to provide counts of who/why and
               then ANALDB2T reports on the top resource consumers.

Change 34.208 -These compression Rate variables were labeled "MB PERSEC"
VMAC74         but they contained bytes.  Now they are in MB Per Second:
Sep 11, 2016    R749PCIDMAR/MAW  R749FPGCOBS/DCBS R749PCIBYTR/BYTT
                R749FPGBYTS.  And R749FPGBYTR Average Request is now KB.
              -Variable R749FPGBPRT is now equated to R7491BPC for the
               Buffer Pool utilization.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 34.207  VMXGRMFI summarization with large INTERVAL= DATE or SHIFT
VMXGRMFI       or even TWOHOUR could produce incorrect results with no
Sep 14, 2016   error messages. The value of SHIFT could be incorrect,
               which could cause the date to be one day wrong.  Only
               user-created invocation of VMXGRMFI are exposed; none of
               the MXG-supplied VMXGRMFI members have large intervals.
              -The exposure is when the requested INTERVAL spanned a
               shift boundary or did not align perfectly with the shift
               times; to get FOURHOUR FOURHOUR summary you must have
               SHIFT boundaries of at 0/4/8/12/16/20.
              -Using INTERVAL=SHIFT produced wrong results if your
               interval spans a shift boundary, but it is likely that
               what you really wanted was by DATE and SHIFT, so VMXGRMFI
               has new INTERVAL=DATESHIFT/WEEKSHIFT/MONTHSHIFT/
               MONTHSHIFT/QUARTERSHIFT/SEMIANNSHIFT/ANNUALSHIFT.  These
               new options set the INTERVAL=DATE/WEEK/etc., and add
               variable SHIFT to the end of the SUMBY list.  In
               addition, new &RMFIBY macro variable with default
                      RMFIBY=SYSPLEX SYSTEM SYSNAME STARTIME
               is created to allow more extensive tailoring if needed.
               If you use this interval structure (xxxxSHIFT) you must
               also use the same RMFIBY to put the resulting data
               through TRENDing to preserver the SHIFT value.
              -SHIFT added to the RMFWKLRV dataset.
              -SHIFT is blank for INTERVAL= that span shifts (DATE, etc)
               since there is no value possible with multiple shifts.
              -Two PROC SORTs were replaced by MEANS with CLASS..
              -If Reporting Classes are used for Workload Definitions,
               the WKLDDESC='REPORTING CLASS' value is set for that
               variable because they don't have WLM WORKLOAD values.
              -Messages that SRVCLASS='SYSOTHER' was found in TYPE72GO
               input are now always printed; this is NOT due to MXG but
               is a fall-thru service class used by IBM when your WLM
               rules failed to classify work, and should never exist.
   Thanks to Andre Gustavo Moretto, IBM Global at Delta, USA.

Change 34.206 -Support for Top Secret R15. Changed was RACFVRSN='F0'x.
VMAC80A        Without change, dataset TYPE80TS had zero observations.
Sep  7, 2016  -Support for Top Secret R16. Added RACFVRSN='10'x test on
Oct  5, 2016   Oct 5.
Nov  5, 2016  -Format $MG080TS created to map Resource Code to Class by
FORMATS        reading the RDT.TXT table.  A program to re-create that
               format is in comments at the end of this VMAC80A.
   Thanks to Carl D. Ellis, Wells Fargo, USA.

Change 34.205  SMF 6 UNDECODED KEYS and INPUT EXCEEDED STOPOVER error
IMAC6ESS       because MXG only expected 4 USERLIB segments.  ESSULIB5/6
VMAC6          are now input and kept and more than 6 now protected.
Sep  6, 2016
   Thanks to Sabrina Mandelatz, ProvinzialRheinlandVersicherung, GERMANY

Change 34.204 -Variable SHIFT is added to RMFWRKLV DATASET in VMXGRMFI.
VMXGRMFI      -TRND70PR incorrectly used variable name DATETIME when it
TRND70PR       should have used STARTIME in the SUMBY list, which worked
Sep  2, 2016   accidentally.
Oct  2, 2016  -STARTIME removed from ID statement Oct 2.
   Thanks to Andre G. Moretto, Delta Air Lines, USA.

Change 34.203  Cosmetic.  All "CICS EXCLUDED FIELDS FOUND" messages now
VMAC110        contain the READTIME value of that APPLID, which is when
Sep  2, 2016   the CICS Dictionary Record is written, so you know what
               SMF data to select for UTILEXCL

Change 34.202  Support for Connect Direct Simultaneous Session CDHW SMF
EXCDHWSS       creates new dataset
IMACCDHW         DDDDDD    DATASET   DESCRIPTION
TYPECDHW         CDHWSS    CDHWSSES  CD SIMULTANEOUS SESSIONS
TYPSCDHW
VMACCDHW
VMXGINIT
Aug 29, 2016
   Thanks to Scott Wiig, USBank, USA.
   Thanks to David Magoon, USBank, USA.

Change 34.201  Support for CDI-NDM Version 5.2 (INCOMPATIBLE).
VMACNDM        Incomplete, not moved to 34.07, no data yet.
Aug 29, 2016
   Thanks to Michael Oujesky, DTCC, USA.

Change 34.200 -SMF 115 dataset MQMLOG is enhanced with new variables
VMAC115           QWHSDURN='INTERVAL*DURATION'
VMACDB2H          PCTLOGBY='PERCENT*LOG*BUSY'
Aug 24, 2016      QWHSTIME='MQ*INTERNAL*START*DATETIME'
Sep 13, 2016  -Sep 13: Protection for old versions with QWHSLEN=36 added
Sep 16, 2016   and missing values calculations eliminated.
Sep 22, 2016  -Sep 16: Variables added to MQMLOG dataset:
Sep 24, 2016    QJSTSLPTU ='PHYSICAL*WRITER*SLEEP*DURATION'
Oct 11, 2016    QJSTIOSQU1='SSQ*IO TIME*1ST HALF'
                QJSTIOSQU2='SSQ*IO TIME*2ND HALF'
              -Sep 22: QJST busy time is now created and calculated as
                QJSTBUSY=100*(QWHSDURN-QJSTSLPTU)/QWHSDURN;
              -Sep 24: GMT115TM is now correctly calculated and used to
                shift the QJSTIOMAXxxxx datetimestamps to LOCAL zone.
              -Oct 11: Labels improved for vars QJSTBUSY, QJSTSLPTU.

   Thanks to Carolina W. Sumilang, DTCC, USA.
   Thanks to Joe Faska, DTCC, USA

Change 34.199 -RMF III dataset ZRBDVT variable DVTLCUNR was always zero
VMACRMFV       and DVTSAMPP was trashed, due to mis-alignment in MXG.
Aug 24, 2016  -Variable DVTSSID='SUBCHANNEL*SET' is now INPUT and KEPT.
Aug 30, 2016  -Variable GEIAHUIC is now INPUT as Floating Point.
              -Variable GEIFLG1 is now INPUT and KEPT.

======= Changes thru 34.198 were in MXG 34.06 dated Aug 18, 2016========

Change 34.198 -Enhancement for Relative Time filtering for FROMTIME=
ADOCRMFV       and TOTIME= parameters using the current Time of Day
ASMRMFV        (TOD) timestamp.
Aug 18, 2016  -The TOD value as shown in the ASMRMFV RMFV001I log
Aug 20, 2016   message and obtained as execution begins is the basis for
               Relative Time calculations.
              -Relative Times are specified as either hour or minute
               offsets from the current TOD.  The default is hours if
               the unit is not explicitly coded.
              -Improved handling of midnight crossover condition when
               Relative Time offset exceeds current TOD Time.
              -All of the following formats are supported for FROMTIME=
               Relative Times:
               FROMTIME=*-       FROMTIME=-       FROMTIME=*-
               FROMTIME=*-0      FROMTIME=-0
               FROMTIME=*-00     FROMTIME=-00
               FROMTIME=*-0H     FROMTIME=-0H
               FROMTIME=*-00H    FROMTIME=-00H
               FROMTIME=*-0M     FROMTIME=-0M
               FROMTIME=*-00M    FROMTIME=-00M
               FROMTIME=*-000M   FROMTIME=-000M
               FROMTIME=*-0000M  FROMTIME=-0000M
               h   is hours   (0-9)     hh   is hours   (00-24)
               m   is minutes (0-9)     mm   is minutes (00-99)
               mmm is minutes (000-999) mmmm is minutes (0000-1440)
              -The maximum hour   offset supported is 24 hours.
               The maximum minute offset supported is 1440 minutes.
              -'H' suffix is optional for hour offsets.
               'M' suffix is required for minute offsets.
              -The default offset is 0 hours for these formats:
               FROMTIME=*   FROMTIME=*-  FROMTIME=-
              -The following forms for FROMTIME= all result in the
               current TOD being used as a data selection start
               time:
               FROMTIME=*-       FROMTIME=-       FROMTIME=*-
               FROMTIME=*-0      FROMTIME=-0
               FROMTIME=*-00     FROMTIME=-00
               FROMTIME=*-0H     FROMTIME=-0H
               FROMTIME=*-00H    FROMTIME=-00H
               FROMTIME=*-0M     FROMTIME=-0M
               FROMTIME=*-00M    FROMTIME=-00M
               FROMTIME=*-000M   FROMTIME=-000M
               FROMTIME=*-0000M  FROMTIME=-0000M
              -These forms are of no practical use when FROMDATE=*
               (current date) is also coded because the selection start
               time will result in little if any data being actually
               output.
              -The use of Relative Time with FROMTIME= does not change
               the FROMDATE= value whether defaulted or coded.  These
               two parameters remain independent.
              -The Relative Time process for FROMTIME= follows these
               steps:
              -1. The hour or minute time offset requested is deducted
               from the time portion of the current TOD clock value.
              -2. If the result of the time offset deduction is negative
               and the active FROMDATE= value also the current date,
               then the FROMTIME= value is forced to 00:00:00.000000
               (midnight).
              -3. If the result of the offset deduction is negative and
               the active FROMDATE= value is NOT the current date, then
               the portion of hours or minutes that exceeds the elapsed
               time for the current date crosses midnight.  See example
               below for more detail.
              -To summarize the midnight crossing support where '*'
               represents the current date:
                          FROMTIME=
               FROMDATE=  Time Offset     Result
               ---------  -------------   ------------------
               *          LE Current TOD  Midnight cross N/A
               *          GT Current TOD  FROMTIME 00:00:00.000000
               Not *      LE Current TOD  Midnight cross N/A
               Not *      GT Current TOD  Midnight crossed
               The midnight cross time is calculated as:
               Current time - FROMTIME time offset + time in 1 day
              -4. The FROMTIME= value for an hours offset is truncated
               to the start of the hour while the FROMTIME= value for a
               minutes offset is truncated to the start of the minute.

               This is a practical aid to prevent data selection
               from beginning at an odd time.
              -To summarize the Relative Time results for
               FROMTIME=:
               TIME              TRUNCATED
               OFFSET UNIT       FROMTIME=
               -----------       ---------------
               Default (Hours)   HH:00:00.000000
               H (Hours)         HH:00:00.000000
               M (Minutes)       HH:MM:00.000000
              -Examples for FROMTIME= Relative Time usage follow.
               For these examples assume the current TOD is:
               DATE=2016.251 01SEP2016 THU  TIME=09:26:56.776233
              -Example 1:  FROMDATE=* FROMTIME=*-3
               is a 3 hour TOD Relative Time offset for the current day
               results in:
               FROM  DATE=2016.251 01SEP2016 THU  TIME=06:00:00.000000
               TO    DATE=2042.259 16SEP2042 TUE  TIME=23:59:59.999999

               Note that a pure offset of 3 hours only would have
               resulted in a FROMTIME= of 06:26:56.776233 which is an
               awkward time stamp for the start of data selection.  So
               the start of the hour is provided.
              -Example 2:  FROMDATE=* FROMTIME=*-10
               is a 10 hour TOD Relative Time offset and results in:
               FROM  DATE=2016.251 01SEP2016 THU  TIME=00:00:00.000000
               TO    DATE=2042.259 16SEP2042 TUE  TIME=23:59:59.999999
               since the Relative Time offset extends beyond midnight
               into the prior day and FROMDATE= is the current date,
               the FROMTIME= was forced to midnight.
              -Example 3:  FROMDATE=*-1 FROMTIME=*-10
               is a 3 hour current TOD Relative Time offset with a
               FROMDATE= of yesterday and results in:
               FROM  DATE=2016.250 31AUG2016 WED  TIME=23:00:00.000000
               TO    DATE=2042.259 16SEP2042 TUE  TIME=23:59:59.999999
               since FROMDATE= is NOT the current date, the FROMTIME=
               offset is allowed to cross midnight by 1 hour in this
               example.  To achieve the cross midnight time behavior
               FROMDATE= must NOT be the current date.
              -To use the midnight crossing feature effectively a user
               must anticipate a midnight crossover based on the size of
               the Relative Time FROMTIME= offset being used and when
               ASMRMFV is going to be run.  Usually FROMDATE=*-1 is
               coded rather than FROMDATE=* if the midnight time
               crossover is expected.
              -However, any FROMDATE= value that is not the current date
               may be used and the midnight crossing will still occur.
              -Example 4:  FROMDATE=* FROMTIME=*-30M
               is a 30 minute current TOD Relative Time offset and
               results in:
               FROM  DATE=2016.251 01SEP2016 THU  TIME=08:56:00.000000
               TO    DATE=2042.259 16SEP2042 TUE  TIME=23:59:59.999999
              -Example 5:  FROMDATE=* FROMTIME=30M
               is a parameter error because at least the '-' character
               must follow FROMTIME= to indicate a Relative Time.
               ASMRMFV will abend.
              -All of the following formats are supported for TOTIME=
               Relative Times:
               TOTIME=*
               TOTIME=*-           TOTIME=-
               TOTIME=*-h          TOTIME=-h
               TOTIME=*-hh         TOTIME=-hh
               TOTIME=*-hH         TOTIME=-hH
               TOTIME=*-hhH        TOTIME=-hhH
               TOTIME=*-mM         TOTIME=-mM
               TOTIME=*-mmM        TOTIME=-mmM
               TOTIME=*-mmmM       TOTIME=-mmmM
               TOTIME=*-mmmmM      TOTIME=-mmmmM
              -The meanings for h, hh, m, mm, mmm, mmmm, H, and M are
               the same as for the FROMTIME= parameter.
              -Hour and minute offset limits are the same as for
               FROMTIME= Relative Times.
              -'H' suffix is optional for hour offsets
               'M' suffix is required for minute offsets
              -The default offset is 0 hours for these formats:
               TOTIME=*   TOTIME=*-  TOTIME=-
              -The following forms for TOTIME= all result in the
               current TOD being used as a data selection end time:
               TOTIME=*-         TOTIME=-         TOTIME=*-
               TOTIME=*-0        TOTIME=-0
               TOTIME=*-00       TOTIME=-00
               TOTIME=*-0H       TOTIME=-0H
               TOTIME=*-00H      TOTIME=-00H
               TOTIME=*-0M       TOTIME=-0M
               TOTIME=*-00M      TOTIME=-00M
               TOTIME=*-000M     TOTIME=-000M
               TOTIME=*-0000M    TOTIME=-0000M
              -However, when TODATE=* is also used it is unnecessary to
               code these forms because the default TOTIME= is:
               DATE=2042.259 16SEP2042 TUE TIME=23:59:59.999999
              -The use of Relative Time with TOTIME= does not change the
               TODATE= value whether defaulted or coded.  These two
               parameters remain independent.
              -The Relative Time process for TOTIME= follows these
               steps:
              -1. The hour or minute time offset requested is deducted
               from the time portion of the current TOD clock value.
              -2. If the result of the offset deduction is negative and
               the active TODATE= value is also the current date, then
               the TOTIME= value is forced to 00:00:59.999999.
              -3. If the result of the offset deduction is negative and
               the active TODATE= value is NOT the current date, then
               the portion of hours or minutes that exceeds the elapsed
               time for the current date crosses midnight.  See example
               below for more detail.
              -To summarize the midnight crossing support where
               '*' represents the current date:
                          TOTIME=
               TODATE=    Time Offset     Result
               ---------  -------------   ------------------
               *          LE Current TOD  Midnight cross N/A
               *          GT Current TOD  TOTIME 00:00:59.999999
               Not *      LE Current TOD  Midnight cross N/A
               Not *      GT Current TOD  Midnight crossed
               The midnight cross time is calculated as:
               Current time - TOTIME time offset + time in 1 day
              -4. The TOTIME= value for an hours offset is truncated to
               the start of the hour while the TOTIME= value for a
               minutes offset is truncated to the start of the minute
               depending on the time offset unit.  In either case
               00:00:59.999999 is added to the result.
              -TOTIME= values are set with 59.999999 seconds as the last
               part of the time stamp so that any data time stamped
               within the minute is sure to be selected.  TOTIME= in
               ASMRMFV has always been inclusive of the entire end
               minute.
              -5. However, if the time offset is zero then the final
               time value is only adjusted to the end of the minute
               whether the time offset unit is in hours or minutes.
              -To summarize the adjustment with non-zero TOTIME=
               offsets:
               TIME              FINAL
               OFFSET UNIT       TOTIME=
               -----------       ---------------
               Default (Hours)   HH:00:59.999999
               H (Hours)         HH:00:59.999999
               M (Minutes)       HH:MM:59.999999
              -To summarize the adjustment with a zero TOTIME=
               offset:
               TIME              FINAL
               OFFSET UNIT       TOTIME=
               -----------       ---------------
               Default (Hours)   HH:MM:59.999999
               H (Hours)         HH:MM:59.999999
               M (Minutes)       HH:MM:59.999999
              -Examples for TOTIME= Relative Time usage follow.
               For these examples assume the current TOD is:
               DATE=2016.251 01SEP2016 THU  TIME=09:26:56.776233
              -Example 1:  TODATE=* TOTIME=*-3
               is a 3 hour current TOD Relative Time offset and results
               in:
               FROM  DATE=2000.001 01JAN2000 SAT  TIME=00:00:00.000000
               TO    DATE=2016.251 01SEP2016 THU  TIME=06:00:59.999999
              -Example 2:  TODATE=* TOTIME=*-10
               is a 10 hour current TOD Relative Time offset and results
               in:
               FROM  DATE=2000.001 01JAN2000 SAT  TIME=00:00:00.000000
               TO    DATE=2016.251 01SEP2016 THU  TIME=00:00:59.999999
               since the Relative Time offset extends beyond midnight
               into the prior day and TODATE= is the current date, then
               the TOTIME= was forced to midnight + 00:00:59.999999 .
              -Example 3:  TODATE=*-1 TOTIME=*-10
               is a 10 hour current TOD Relative Time offset with a
               TODATE= of yesterday and results in:
               FROM  DATE=2000.001 01JAN2000 SAT  TIME=00:00:00.000000
               TO    DATE=2016.250 31AUG2016 WED  TIME=23:00:59.999999
               since TODATE= is NOT the current date, the TOTIME= offset
               is allowed to cross midnight by 1 hour in this example.
               To achieve the cross midnight time behavior TODATE= must
               NOT be the current date.
              -To use the midnight crossing feature effectively a user
               must anticipate a midnight crossover based on the size of
               the Relative Time TOTIME= offset being used and when
               ASMRMFV is going to be run.  Usually TODATE=*-1 is coded
               rather than TODATE=* if the midnight time crossover is
               expected.
              -However, any TODATE= value that is not the current date
               may be used and the midnight crossing will still occur.
              -Example 4:  TODATE=* TOTIME=*-30M
               is a 30 minute current TOD Relative Time
               offset and results in:
               FROM  DATE=2000.001 01JAN2000 SAT  TIME=00:00:00.000000
               TO    DATE=2016.251 01SEP2016 THU  TIME=08:56:59.999999
              -Example 5:  TODATE=* TOTIME=30M
               is a parameter error because at least the '-' character
               must follow TOTIME= to indicate a Relative Time.  ASMRMFV
               will abend.
              -Documentation Section 5 "Input Data Selection Parameters"
               is updated to explain use of Relative Times for FROMTIME=
               and TOTIME= parameters.
              -The Relative Time feature is not supported by earlier
               ASMRMFV versions prior to MXG Change 34.198.  If
               specified a parameter error will be flagged.

Change 34.197  More Support for BE93 Version 6.1.0 (INCOMPATIBLE) due to
VMACBETA       changed BETAFLAG that contains '81'x, but the MXG test
Aug 19, 2016   for the extended header existence tested for '80'x, and
               there were new fields inserted in the subtype=1 record
               causing misalignment and invalid values in BETA1 dataset.
   Thanks to Sabrina Mandelatz, Provinzial Rheinland Versicher, GERMANY

Change 34.196 -SMF 78 ST3 INPUT STATEMENT EXCEEDED when APAR OA44525
VMAC78         zHPF Extended Distance II is installed, MXG 33.07-34.05,
Aug 18, 2016   because MXG Change 33.156 for that APAR incorrectly had
               INPUT R783TMWM/R783TRDM in the DCS segment for TYPE78CF,
               but that APAR had added those fields in the ASS segment.
               MXG properly INPUTs them and keeps them in TYPE78CU
               instead of TYPE78CF.  The STOPOVER ABEND that results
               can be circumvented adding    MACRO STOPOVER MISSOVER %
               statement at the top of your //SYSIN, and/or you can
               request just the VMAC78 member from support@mxg.com
              -Added May 2017:  This change caused a massive increase in
               the number of observations in TYPE78CF; prior code read
               only output the first CU (8 obs/record) but there are 356
               obs typically in each record.

              -Unrelated, APAR OA49415 added new fields now in TYPE78CU:
                 R783AMGC='ALIAS*MGMT*GROUP*NUMBER*PHYSICAL CU'
                 R783AMGS='ALIAS*MGMT*GROUP*NUMBER*THIS LCU'
   Thanks to Gadi Ben-Avi, MALAM, ISREAL.

Change 34.195  TMON/CICS new variables TASZIPTM and TASELGTM created and
VMACTMO2       kept in MONITASK dataset, and TASCPUTM is corrected to
Aug 15, 2016   contain ONLY the CP CPU time (previously it had the sum
               of CP and zIIP time).
               And, only for TMON 3.4, TASCPOT/TASCPUT were not divided
               by 4096.

Change 34.194  Support for SMF 99 Subtype 1 additional segments create
EXTY99SL       new datasets:
EXTY99ST         DDDDDD   DATASET    DESCRIPTION
EXTY99PT         TY99SL   TYPE99SL   SOFTWARE LICENSING
EXTY99PI         TY99ST   TYPE99ST   SOFTWARE LICENSING TABLE
EXTY99ZE         TY99PT   TYPE99PT   CP PRIORITY TABLE
EXTY99PS         TY99PI   TYPE99PI   ZAAP PRIORITY TABLE
VMAC99           TY99ZE   TYPE99ZE   ZIIP ENTITLEMENT
VMXGINIT         TY99PS   TYPE99PS   ZIIP PRIORITY TABLE
Aug 13, 2016   The new TYPE99SL dataset has the new Hardware Absolute
               Group Capping metrics added by APAR OA47752.
              -Variable S99BUNUS in TYPE99BG can now be negative MSU
               when capped.
   Thanks to Scott Wiig, USBank, USA.
   Thanks to Tony P. Steward, CSC, ENGLAND.

Change 34.193  HSM SMF VSR records with '62'x instead of the "S" in VSR
VMACHSM        test field printed "INVALID HSM RECORD" messages and the
Aug 12, 2016   (six out of 100) records were skipped.  Now, if DSRVSR
Jan  3, 2017   is NOT DSR but starts with a V, the record will be read
               as a VSR record, while IBM HSM Support investigates.
              -Turns out this had nothing to do with HSM, but was an
               error that touched man SMF records, if you used LOGGER
               and had a MAXBUFSIZE that was NOT 65532. APAR OA51823.
   Thanks to Scott Wiig, USBank, USA.

Change 34.192  RMF III variable GMTOFF is now kept in each ZRB dataset
VMACRMFV       to aid in processing data from multiple timezones.  It is
Aug 11, 2016   INPUT from each SSH record and retained for all of the
               following records in that interval.
                (Only the first SSH record is output in ZRBSSH by logic
                 in member EXZRBSSH).
   Thanks to MP Welch, Bank of America, USA.

Change 34.191 -Enhancement for character data filtering for RMF Monitor
ADOCRMFV       III SPG (Storage Group and Volume Data) table and other
ASMRMFV        usability improvements.
VMACRMFV      -These filters are intended for building ad hoc MXG RMF
Aug 11, 2016   III PDBs for studies to avoid the overhead of generating
               a full SPG table based PDB.  They control which SPG table
               entries are output to the RMFBSAM file.
              -Please see the new documentation Section 28 "Collection
               of DASD Usage with RMF Monitor III" in the ADOCRMFV
               member or ASMRMFV source member for the requirements and
               setup of DASD usage measurement in the SPG table.  There
               are multiple Storage Group name entries in the SPG each
               with many Volume Data entries when collection is active.
              -Four new filters are added to support SPG entry selection
               from this table to the RMFBSAM output file.  These
               filters are effective only if the SPG table is selected.

               New Keyword    Aliases
               -------------  -----------------------------------------
               SPGSTORGROUP=  SPGSTORGRP=, STORGRUP=, SPGGRP=, SGPSNM=,
                              SPGSG=
               SPGVOLSER=     SPGVOLI=, SPGVOL=, SPGSER=, SPGV=
               SPGAND         None
               SPGOR          None

               The order of SPG filter application when both keywords
               are present is:
               1) SPGSTORGROUP=  (or any alias for SPGSTORGROUP=)
               2) SPGVOLSER=     (or any alias for SPGVOLSER=)

               Selection results from repeats of the same SPG filter
               keyword (or any of its aliases) are always logically
               ORed.
              -TUTORIAL:
               Ranges of the form keyword=first:last may be used with
               any of the above keywords except SPGAND and SPGOR.

               The colon character ':' is required for a paired range
               specification.  All entries GE the first value and LE the
               last value are selected for output to the RMFBSAM file.

               The first value may not exceed the last value in EBCDIC
               collating sequence or an error is flagged in message
               RMFV056E.

               Single unpaired values may be specified for a range
               simply as keyword=first and in this case the colon ':' is
               omitted.

               Patterns may also be used with any of the above keywords
               except SPGAND and SPGOR and include one or more Wild Card
               characters to match the respective SPG data field.

               A pattern contains one or more special Wild Card
               characters as follows:

               Wild
               Card   Matches
               ----   -------------------------------------------------
               *      0 or more characters
               %      1 Non-blank character
               +      1 Numeric character (0-9)
               _      1 Alphabetic character or _  (a-z, A-Z, _)
               .      1 National character (@, #, $)
               !      1 Special character (not a-z, A-Z, 0-9, @, #, $)
               ?      A blank string if used by itself
               ?      1 Blank character (X'40') if used with any other
                        characters

               Ranges may not be wild carded.  If wild carded the range
               value becomes a pattern instead and is processed as such.

               See Section 25 "Ranges and Patterns" in the ADOCRMFV
               member or ASMRMFV source code for more details on usage
               of ranges and patterns.

              -SPGSTORGROUP= (or any of its aliases) selects SPG Storage
               Group name entries from 1-8 characters.  Storage Group
               names are defined for System Managed Storage (SMS) and
               are 1-8 alphabetic characters including A-Z, 0-9, $, @,
               #, *, or %.  The first character must be alphabetic
               (A-Z).  Both ranges and patterns with wild cards may be
               specified.  Up to 64 ranges and 64 patterns are
               supported.  The default is SPGSTORGROUP=ALL.

              -In all of the following examples assume the following
               Storage Group names and Volume Serials are defined to SMS
               in this highly simplified configuration and that RMF
               Monitor III is actively measuring them:

               Storage     Volume
               Group       Serials
               --------    ---------------------------
               PRODPOOL    PRD001 PRD002 PRODAA PRODBB
               TESTPOOL    TST001 TST002 TESTAA TESTBB
               WORKPOOL    WRK001 WRK002 WORKAA WORKBB

              -Examples for SPGSTORGROUP= :

               SPGSTORGROUP=PRODPOOL:TESTPOOL is a range that selects
               only Storage Groups with a name GE 'PRODPOOL' and LE
               'TESTPOOL'.  All the volume serials in these pools will
               be selected.  No volumes in WORKPOOL are selected.

               SPGSG=P* is a pattern that selects only Storage Group
               names that begin with 'P'.  Only volumes from the
               PRODPOOL are selected.  Note use of the keyword alias
               SPGSG= for coding convenience.

               STORGRUP=A* is a pattern that selects only Storage Groups
               with a name that begins with an 'A'.  No Storage Groups
               will be selected in this example.  Note use of an alias.

               SPGGRP=*L is a pattern that selects only Storage Groups
               with a name that ends with 'L'.  All Storage Groups will
               be selected in this example.  This is the default if no
               filter keywords are coded.  Note use of an alias.

               See Section 25 "Ranges and Patterns" in the ADOCRMFV
               member or ASMRMFV source code for more details on usage
               of ranges and patterns.

              -SPGVOLSER= (or any of its aliases) selects SPG entries by
               Volume Serial number.  Both ranges and patterns with wild
               card characters may be specified.  Up to 64 ranges and 64
               patterns are supported.  The default is SPGVOLSER=ALL.

               Any valid 1-6 character Volume Serial with or without
               pattern characters may be specified.  Per JCL syntax a
               Volume Serial Number is 1 through 6 alphanumeric,
               national ($,#,@), or special characters.

               NOTE: Since just about any keyboard character is valid in
               a Volume Serial please take extra care when coding to
               avoid unintended results in the MXG PDB data set ZRBSPG.

               NOTE: Data filtering by Volume Serial only is much less
               efficient than filtering by Storage Group because every
               volume in every Storage Group must be matched against the
               ranges and patterns provided.  There are usually many
               more volumes than Storage Groups.  Use of SPGSTORGROUP=
               instead is recommended if feasible.

               NOTE: If one or more SPGVOLSER= filters is coded and a
               Storage Group has zero volume data entries the Storage
               Group is filtered as this is considered a mismatch.

              -Examples for SPGVOLSER=

               SPGVOLSER=PRODBB selects the volume serial PRODBB only.
               However, ASMRMFV will search every Storage Group until it
               is found.

               SPGV=TST000:TST999  selects all volume serials GE
               'TST000' and LE 'TST999'.  In this example volumes TST001
               and TST002 will be selected.  Note use of an alias.

               SPGSER=WORK* selects all volume serials starting with
               'WORK' followed by up to 2 more characters.  In this
               example volumes WORKAA and WORKBB will be selected.  Note
               use of an alias.

               SPGVOL=*+++ selects all volume serials ending in 3
               digits.  In this example volumes PRD001, PRD002, TST001,
               TST002, WRK001, and WRK002 are all selected.  Note use of
               an alias.

               SPGVOLI=P*A selects all volume serials starting with 'P'
               that have a final character 'A' with up to 4 intervening
               characters.  In this example only volume PRODAA is
               selected.  Note use of an alias.

              -SPGAND (default) indicates that selection results from
               the two different SPG filter keywords (and any of their
               respective aliases) are logically ANDed.

              -SPGOR indicates that selection results from the two
               different SPG filter keywords (and their respective
               aliases) are logically ORed.  SPGOR must be coded if
               desired.

              -Examples of SPGAND/SPGOR:

              -With SPGAND (default) in effect:

               SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK*

               only selects volumes in the WORKPOOL Storage Group AND
               that have a volume serial number that starts with 'WRK'.
               SPGSTORGROUP= may appear redundant since only one pool
               has WRK* volumes, but it keeps ASMRMFV from matching many
               Volume Serials in other Storage Groups if only SPGVOLSER=
               were present.

               SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK* SPGVOLSER=WORK*

               only selects volumes in the WORKPOOL Storage Group AND
               that have a volume serial number that starts with either
               'WRK' or 'WORK'.  In this example omitting SPGVOLSER=
               would have produced the same result and is redundant.
               SPGVOLSER= in this case adds unnecessary overhead.

               STORGRUP=PRODPOOL SPGSG=TESTPOOL

               only selects volumes that are in either the PRODPOOL
               or TESTPOOL Storage Groups.  Note the use of aliases.

               SPGSTORGROUP=WORKPOOL SPGVOLSER=PRD*

               selects NO volumes in this example using SPGAND because
               the PRD* volumes are in the PRODPOOL AND not in the
               WORKPOOL.  There will be zero observations in the ZRBSPG
               data set in the result MXG PDB.

               SPGAND (default) logical ANDing provides more restrictive
               SPG entry filtering than SPGOR.

              -With SPGOR in effect:

               SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK*

               only selects volumes that are in the WORKPOOL Storage
               Group OR that have a volume serial number that starts
               with 'WRK'.  In this example omitting SPGVOLSER= would
               produce the same result and is redundant.  SPGVOLSER=
               adds unnecessary overhead in this case with SPGOR because
               ASMRMFV will search all other Storage Groups trying to
               match that volume serial.

               SPGSTORGROUP=WORKPOOL SPGVOLSER=WRK* SPGVOLSER=WORK*

               only selects volumes that are in the WORKPOOL Storage
               Group OR that have a volume serial number that starts
               with either 'WRK' or 'WORK'.

               All volumes in WORKPOOL will be selected so that the
               SPGVOLSER= keywords are redundant in this example.
               SPGVOLSER= adds unnecessary overhead in this case with
               SPGOR because ASMRMFV will search all other Storage
               Groups trying to match those volume serials.

               STORGRUP=PRODPOOL SPGSG=TESTPOOL

               only selects volumes that are in either the PRODPOOL
               or TESTPOOL Storage Groups.  Note the use of aliases.

               This example produces the same result as with SPGAND
               because two keywords (or any of their aliases) for the
               same selection are always logically ORed.

               SPGSTORGROUP=WORKPOOL SPGVOLSER=PRD*

               selects all volumes in the WORKPOOL Storage Group OR
               any volumes that start with 'PRD' in the PRODPOOL
               Storage Group.

               This is a MUCH different result with SPGOR than if SPGAND
               is in effect.  With SPGAND no volumes are selected.
               ASMRMFV will search all Storage Groups for a match with
               the SPGVOLSER= value.

               The logical OR with SPGOR results in less restrictive
               filtering because any of the 2 conditions in this example
               results in data selection of a SPG volume data entry.
              -Support for a new multi-table selection filter VOLSER=
               (aliases VOLUME=, VOLI=, SER=, VOL=) to allow selection
               by Volume Serial from both the RMF Monitor III DVT and
               SPG tables with one keyword.

               This is a convenience feature to avoid having to code the
               Volume Serial parameter twice when the same volume from
               both tables is of interest.  Both the DVT and SPG tables
               must be selected for this multi-table selection keyword
               to function completely.  Otherwise only entries from the
               one selected table are filtered.

               Note that most RMF III tables do not contain common
               character data fields, but in this case the DVT and SPG
               do.
              -Example of VOLSER= :
               VOLSER=ABC* is equivalent to coding
               DVTVOLSER=ABC*
               SPGVOLSER=ABC*
              -ASMRMFV now supports keywords up to 14 characters in
               length up from 12.
              -Support +13 / -13 hour offset or +780 / -780 minutes
               GMTOFFSET= value for locations near International Date
               Line using Daylight Saving Time such as New Zealand.
              -MXG00 record version is now X'05' from X'04' and includes
               new range and pattern table statistics for SPG filtering.
               New ASMxxxxx variables added to ASM00 dataset.
              -Add new items to Section 2 "Terminology" :
               Enclave, Report Class, Resource Group, Service Class,
               Storage Group, and Workload.
              -Former Section 27 "Summary" is now Section 29.
              -Update documentation for SPGSTORGROUP=, SPGVOLSER=,
               and GMTOFFSET= support:
               Section  5 "Input Data Selection Parameters"
               Section  8 "Error Handling Parameters"
               Section  9 "JCL and SYSIN Parameter Usage"
               Section 12 "Messages"
               Section 13 "Filtered Records"
               Section 15 "Program and IBM Limitations"
               Section 25 "Ranges and Patterns"
               Section 29 "Summary"
              -New documentation Section 27 "GMT Offset Support" better
               explains use of the GMTOFFSET= keyword added by MXG
               Change 34.133 .
              -New documentation Section 28 "Collection of DASD Usage
               with RMF Monitor III" details the requirements and setup
               of DASD usage measurement in the SPG table.
              -New documentation Section 30 "Bibliography" lists IBM
               manuals and numbers for the Resource Measurement Facility
               (RMF) for z/OS 2.2 back to z/OS 1.10.
              -Count information messages and include in final RMFV999I
               message with documentation update.

Change 34.190  COSMETIC. INVALID ARGUMENT TO FUNCTION DATEJUL(1900000)
VMACTPMX       and a hex dump was printed if the DUE OUT time values are
Aug 10, 2016   all zeros.  Had no impact on the output TPMX datasets.
   Thanks to Scott Wiig, USBank, USA.

Change 34.189  MXG 34.05 ONLY.  INPUT STATEMENT EXCEEDED if more than 3
VMAC119        ADDL HOME ADDR fields exist; Change 34.168 update didn't
Aug 10, 2016   protect more than 3.  Since this site had 4, now there
               are 4 fields kept, and the more than 4 is protected.
   Thanks to Scott Wiig, USBank, USA.

Change 34.188  WPS ONLY, and only with user tailoring.  The ARRAY CAI
VMAC7072       statement did not specify $1 to set the array to CHAR;
Aug 10, 2016   if the user dropped variable CAI0, WPS failed because it
               couldn't identify the type.  While this is an internal
               WPS issue that will be resolved, adding $1 to the ARRAY
               statement removes the exposure.

Change 34.187  Support for SMF 124 I/O Supervisor Information (z/OS 2.2)
FORMATS          DDDDDD   DATASET   DESCRIPTION
EXTY1241         TY1241   TYPE1241  I/O Supervisor Information
IMAC124        The SM124RETTIME field is an invalid value, with the four
TYPE124        byte packed decimal date value first and then the time,
TYPS124        reversed from the standard SMFSTAMP format with time and
VMAC124        then the date.  MXG code detects/corrects either format.
VMXGINIT
Aug 15, 2016
   Thanks to Scott Barry, SBBWorks Inc., USA

Change 34.186  Support for Mainview for IP RTIN='34'x, TAC9I220 dataset.
FORMATS          DDDDDD   DATASET   DESCRIPTION
IMACMVIP         VMIP34   TAC9I220  PIUTRACE
VMACMVIP       (Note that IMACMVIP controls which RTIN values are read.)
Aug 15, 2016

Change 34.185  Unused Change Number.

Change 34.184  New percentage variables added to RMF III ZRBSPG dataset:
VMACRMFV         SPGFREEP='PERCENT*OF VOLUME*FREE'
Aug  5, 2016     SPGUSEDP='PERCENT*OF VOLUME*USED'

Change 34.183  Support for CICS/TS 5.4 OPEN BETA.
VMAC110       -New variables added to CICSTRAN DCN=416 DRL=3588.
Aug  7, 2016   but no dictionary records were produced at startup so the
               new CICSTRAN fields are unknown, and it is also unknown
               if new fields were inserted or appended.  Current MXG
               code falls thru and uses 5.3 INPUT code for 5.4 records
               but that is WRONG if there were INSERTS.
              -Type 110 Subtype 2 STID 108 statistics CICTCPIP new vars:
            SORTCPIPSMAXPERSIST='MAXIMUM*PERSISTENT*CONNECTIONS'
            SORTCPIPSNONPERSIST='NON*PERSISTENT*CONNECTIONS'
            SORTOTALCONNS      ='TOTAL*CONNECTIONS'
            SORNONPATMAXPERSIST='MADE*NON-PERSISTENT*MAXPERSIST*REACHED'
            SORNONPATTASKLIMIT ='NEW NON*CONN MADE*TASK LIMIT*EXCEEDED'
            SORDISCATTASKLIMIT ='DISCONNECTS*TASK LIMIT*EXCEEDED'
            SORDISCATMAXUSES   ='DISCONNECTS*MAX USERS*EXCEEDED'
            SORCURRBACKLOG     ='CURRENT*BACKLOG*Q-DEPTH'
            SORCONNSDROPPED    ='CONNECTIONS*DROPPED'
            SORCONNLASTDROPPED ='DATETIME*LAST*CONNECTION*DROPPED'
            SORCURRMAXBACKLOG  ='BACKLOG*CURRENTLY*IN USE'
            SORREQUESTS        ='REQUESTS*PROCESSED'

Change 34.182  MIMPRID=2 Record sample count variable MIMCFNBR=0, but
VMACMIM        numerous fields are divided by Sample Count, so their
Aug  3, 2016   divide caused DIVIDE BY ZERO messages and missing values
               in those variables.  Temporarily, those divides are now
               inside a IF MIMCFNGR GT 0 DO group so the numbers are
               not set missing, while vendor contact is pursued.

Change 34.181 -Defective BMC CMF type 74 subtype 4 records with SMF744ML
VMAC74         zero (no SCM segments) but with non-zero R744RISC (SCM
Aug  3, 2016   segment expected) caused R744Mxxx SCM variables to be
Aug 11, 2016   INPUT when there was no data.  Now, SCM segment is INPUT
               only when both R744RISC and SMF744MN are non-zero.
               This has been reported as a defect to the vendor; one
               record has the triplet populated with no segments and the
               next record has the data but the triplet count is zero.
              -SCM Variables R744MRBT and R744MWBT are now converted to
               bytes from KB and formatted MGBYTES. like other SCM byte
               containing variables.
              -Missing values notes for R749PCIxxx variables eliminated
               by wrapping conditional INPUTs with DO Group and moving
               the multiply inside the appropriate DO Group.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
   Thanks to Paul Volpi, UHC, USA.

Change 34.180 -Omegamon XE ATF datetimestamps are now on the LOCAL zone
VMACATF        and variable ATFTU2L, the GMT Offset, is now kept in all
Jul 29, 2016   ATF datasets.
Sep  5, 2016  -To correlate the MXG variables with the CSV files from
Oct 14, 2016   IMS Performance Analyzer, these variables are now kept
               in all ATF datasets ATFCORI/ATFCORP/ATFCORT to match the
               IBM AESCORID/AESCORPPST/AESCORTIME and variable ATFCREKEY
               is concat of AESCREID/AESREOASN/AESRECOMN/ATFCRE.
              -Summary variables ATFSUD2N/D2E/D2C from IMSATFD2 into the
               IMSATFA0 dataset incorrectly included ITEM CODE 9, the
               TOTALs, which were double accounted.
              -Oct 14. ATFSTART corrected to local time zone.
   Thanks to Robert Gilbert, BNPParibasFortis, FRANCE.

Change 34.179 -Updated CHECKSTN, failed only in JCLTES92 in  ASUM113 QA
CHECKSTN       test, because PDB.TYPE70PR was presumed to exist; now the
VMXGINIT       program verifies it exists, or prints note on the log if
Jul 28, 2016   it can't be executed, and why not.
              -The CHECKSTN program was added to the ASUM113 program to
               report if duplicates exist in your TYPE70PR data, but you
               you can suppress its execution with in your //SYSIN with
                 %LET MXGSTNCK=NO;
   Thanks to Anon, Anon, USA.

Change 34.178  Support for RACF 80 TOKDANAM values CRSGUID, SISMIDDL,
VMAC80A        SISCCNO, SISDMPID, SISCOMPY, SISECVT, SISFIRST, SISLAST.
Jul 27, 2016   creates new variables
               TOKMCSRGUID/TOKMSISMIDDL/TOKMSISCCNO/TOKMEMPID/
               TOKMSISCOMPY/TOKMSISECVT/TOKMSISFIRST/TOKMSISLAST
               in dataset TYPE80TK.
   Thanks to Michael Oujesky, DTCC, USA.

Change 34.177  Cosmetic. TMON/CICS History file with TMONPROD='D' have
VMACTMO2       LENMONI=0. causing "SHORT RECORD" warnings on the log,
Jul 27, 2016   but these records with TMMDREC='DD' are not the records
               wanted, so they are now deleted prior to the length text.
   Thanks to Rodger Foreman, Transunion, USA.

Change 34.176  RACFTYPE=6 COMMAND RACFEVNT=19:PERMIT with RACFDLN=12
VMAC80A        caused invalid segment skipped message because MXG only
Jul 27, 2016   expected 11.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 34.175  zVM 6.3.16.1 added 4 bytes to PRCPUP segment but MXG did
VMACVMXA       not protect correctly, causing PROBABLY DATA LOSS ERROR
Jul 26,2016    on the SAS log.  SKIP logic is corrected and the dataset
               VXPRCPUP is now output for each segment; previously, only
               the last segment was output with the Park/Unpark metrics.
   Thanks to Joe Faska, DTCC, USA

Change 34.174  New NOTYPE= parameter lets you specify a list of SMF IDs
VMXGGETM       to not be copied.  They will be counted in the input but
Jul 26,2016    not in the output counts.  Column percentages were added
               to the output report. VMXGGETM creates an SMF output file
               selecting N records of each SMF ID.

======= Changes thru 34.173 were in MXG 34.05 dated Jul 25, 2016========

Change 34.173  Support for IAM Shorter Record INPUT STATEMENT EXCEEDED.
VMACIAM        Change 34.008A in MXG 34.01 added support for V9.2 with
Jul 25, 2016   segment lengths of 292 and 264 bytes for IAMIAINL and
               IAMIASTL, but V9.0 has shorter 204/148 segment lengths
               that are now detected and protected.
   Thanks to Paul Naddeo, Fiserv, USA.
   Thanks to Bernie Ethridge, Fiserv, USA.

Change 34.172  See Change 34.216.

Change 34.171  The "IHDR" member for BMC MAINVIEW FOR IP did not contain
IHDRMVIP       the MACMVIH macro variable, which also needed to be
VMXGINIT       defined in the %GLOBAL statement in VMXGINIT.
Jul 24, 2016

Change 34.170  Support for WebSphere Liberty Batch SMF 120 subtype 12.
EXT12012       Creates new dataset:
VMAC120           dddddd   dataset    description
VMXGINIT          T12012   TYP12012   WAS LIBERTY BATCH
Jul 23, 2016

Change 34.169  The zVM HIS macros _TPRCMFC/_TPRCMFM/_XPRCMFC/_XPRCMFM
VMACVMXA       must also create VXMTRPRP to populate the PFXCPT array.
Jul 19, 2016   The _Tdddrrr macros read VMINPUT and the _Xdddrrr macros
               read the MWINPUT file to create each VXdddrrr dataset.
   Thanks to Scott Barry, SBBWorks Inc., USA

Change 34.168  Support for SMF 119 Subtype 6 Home IP Address section
VMAC119        adds these first three instances to dataset TYP11906:
Jul 16, 2016     IFADDLIN1='IFADDINTFNAME*1'
                 IFADDLIH1='IFADDINTFHOME*1'
                 IFADDLIN2='IFADDINTFNAME*2'
                 IFADDLIH2='IFADDINTFHOME*2'
                 IFADDLIN3='IFADDINTFNAME*3'
                 IFADDLIH3='IFADDINTFHOME*3'
   Thanks to Wolfgang Kueller, S-Itsolutions, AUSTRIA

Change 34.167  Protect for duplicate SMF70STN values in TYPE70PR data.
ASUM113        ONLY NEEDED IF YOU HAVE LPARs WITH THE SAME SYSTEM NAME.
CHECKSTN
VMAC7072      -New SOLUTION FOR THE ASUM113 PROBLEM:
VMXGINIT         The text below shows SMF70STN can not be used to match
Jul 16, 2016     TYPE1131 data with TYPE70PR data, but an alternative to
Jul 25, 2016     identify which TYPE70PR obs belong to this SMF record:
Jul 28, 2016       IF PARTISHN(SMF70PTN)=LPARNUM(SMF70LPN) in TYPE70PR,
                 that LPAR is the LPAR of this SMF 70 record, which is
                 then selected to be merged with TYPE1131s. BUT YOU
                 MUST have BOTH 70s and 113s, and ONLY from one LPAR,
                 for ASUM113 to create valid PDB.ASUM1131 dataset.
              -NO  SOLUTION FOR THE ASUM70PR PROBLEM:
                 If you have duplicate SMF70STN values with CHECKSTN,
                 there is NO SOLUTION to use ASUM70PR to combine the
                 multiple LPAR's TYPE70PR data; those duplicates cause
                 PCTCPUBY to be incorrect (over 100%) with other metrics
                 also wrong.  YOU MUST PROCESS EACH DUPLICATED LPAR's
                 SMF/RMF data into a SEPARATE PDB FOR EACH OF THE LPARs.
              -The new CHECKSTN program can be run to read PDB.TYPE70PR
               to produce a report ONLY if duplicate SMF70STN values for
               different LPARNAMEs are found in your data:
                 // EXEC MXGSAS94
                 //PDB DD DSN=YOUR.TYPE70PR.PDB,DISP=SHR
                 //SYSIN DD *
                  %INCLUDE SOURCLIB(CHECKSTN);

              -Original Change text, prior to Jul 25:
               IN GENERAL, MXG CAN NOT HANDLE MULTIPLE SYSTEM NAMES THAT
               ARE FOR UNIQUE SYSTEMS TO BE COMBINED.  YOU MUST CREATE
               SEPARATE PDB DATA LIBRARIES FOR EACH SYSTEM AND THEY CAN
               NOT BE MERGED/COMBINED.
               The SMF70STN (LPAR's SYSTEM name) is needed in ASUM113
               as it is the only mapping from the z/OS SMF SYSTEM name
               to that systems LPARNAME, and must be used there so the
               TYPE70PR LPAR utilization variables can be added to the
               PDB.ASUM1131 dataset. But RMF data with the same SMF70STN
               for different LPARNAMEs has occurred and that corrupts
               the PDB.ASUM1131 dataset with incorrect values and
               creating multiple LPARNAMEs when there was only one
               system's SMF 113 records.
               The original solution required you to tell MXG the real
               SYSTEM name of those LPARNAMEs that are duplicated, using
               the new "exit" MXGSTNFX macro variable:
                 %LET MXGSTNFX=
                  %QUOTE( IF      LPARNAME='EJQ1' THEN SMF70STN='EJQ1';
                          ELSE IF LPARNAME='EJQ2' THEN SMF70STN='EJQ2';
                         );
               That statement can be put in "USERID.SOURCLIB(IMACKEEP)"
               so it is always used when TYPE70s are processed, or it
               can be the top of the SYSIN for a specific job.
               But it may not be required with the PARTISHN fix.
   Thanks to Jim Poletti, EdJones, USA.

Change 34.166  Support for SMF Type 87 Subtype ENQ/DEQ records.
EXTY8702       Code has been syntax checked, await subtype 2 records to
VMAC87         validate the updated code.
VMXGINIT
Jul 14, 2016

Change 34.165 -RMF Type 74 dataset TYPE74SL variable R748LFBC was input
FORMATS        as RB4. but it is a binary value, now input as PIB4.
VMAC74           R748LFBC /*FI CHAN*BIT*ERROR*RATE*/
Jul 13, 2016  -Format MG0748L had value decimal 7 for 10GB Ethernet but
               that may have been a guess for the undocumented value
               that is now documented as 10x or 16 decimal.
   Thanks to Scott Barry, SBBWorks Inc., USA

Change 34.164  Support for IDMS Version 19 (which is INCOMPATIBLE only
VMACIDMS       when you install IDMS PTF R084146)!  There was no change
Jul 13, 2016   in the V19 SMF record's format, but R084146 changed the
               value of SMFHDR to 1900, which caused this error message:
                  UNKNOWN IDMS RECORD PMHRTYPE=201
                  FOUND AND SKIPPED. SMFHVER=1900 _N_=2 START COL=25
               because MXG had one test for SMFHVER='1800' that needed
               to be changed to GE '1800' to read records with the PTF.
   Thanks to William Marshall, Ensono, USA.

Change 34.163  Support for SMF Type 120 Subtype 11 Liberty 16.0.0.2 that
EXT120BL       created three new datasets:
EXT120BC          dddddd   dataset   description
EXT120BU          T120BL   TYP120BL  Liberty Server Request Network
FORMATS           T120BC   TYP120BC  Liberty Classify Segments
VMAC120           T120BU   TYP120BU  Liberty User Segments
VMXGINIT         For the User segment, SM120BDH is $CHAR32 with $HEX64
Jul 13, 2016     format, and can be decoded in EXT120BU and _KT120BU can
                 be tailored to add the new variables you created.
               Unfortunately, NONE of these new fields have IBM-provided
               field names; MXG had to create names beginning SM120Bxx
               to be somewhat consistent with previous IBM name choices.
               You will have to use the variable label to actually map
               back to the marginal documentation of these new records.
              -Subtype 11 datasets TYP12011 and TYP120BU both have zero
               observations now, with internal record version 2 records.

   Thanks to David Follis, IBM, USA
   Thanks to Steve McKee, FMR, USA.

Change 34.162  Support for z/OS 2.2 JES2 8-character JOBCLAS8 variable,
BUILD005       which is now added to the JES2 PDB.JOBS and PDB.STEPS
VMAC26J2       datasets, so both the 1-char JOBCLASS and the 8-char
Jul 11, 2016   JOBCLAS8 variables are kept.  JOBCLAS8 variable has been
Jul 24, 2016   kept in SMF 30s, from either JES2 or JES3, but TYPE26J2
Jul 29, 2016   is now updated to also keep JOBCLAS8 variable.
                Note that JES3 PDB.JOBS and PDB.STEPS, changes variable
                JOBCLASS to 8-characters.
               Jul 24: UNINIT JOBCLAS8 in SPIN.SPIN26J2 corrected.
               Jul 28: JOBCLAS8 added to TYPE26J2 dataset.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 34.161 -Missing values for variables WQTTTIME/WQOPENTI/WQCLOSTI
VMAC116        in dataset MQMQUEUE were created from (only) subtype=2
Jul 11, 2016   records. IBM does NOT provide a GMT offset field in 116,
               but MXG heuristically created the offset value in the
               subtype 1 (where the WTASINTE interval end can be used
               with SMFTIME), but there is no similar end time field
               in subtype 2 records.  Now, GMT116OFF is created and
               retained and used for subtype 2 records.  The name was
               changed to not impact other SMF records with GMTOFF.
              -Missing values were created for variable WTASPRET for
               old WTASVER LT 8 records; the /4096 was always executed
               but is now only calculated for GE 8 records.

Change 34.160 -VMXGALOC did not check for the valid YYMMDD format in the
VMXGALOC       DATEFMT= parameter and could then fail with an invalid
Jul 11, 2016   format error. If you used YYMMDD6 or YYMMDD8 it worked.
              -VMXGALOC previously upcased directory names, anticipating
               possible name comparisons with upper case source text;
               this was fine for  Windows, but only worked on Linux if
               the directory name was all upper case, because names on
               Linux are case-sensitive (i.e., directory A is NOT a).
               The upcase was removed, but on Linux you must use the
               exact casing of the directory name in your BASEDIR=.
              -The BASEDIR= directory must exist, or VMXGALOC will shut
               itself down, setting MXGRTRN to ABEND, and printing an
               additional message on Linux with the name you supplied to
               remind you casing is required there.
   Thanks to Joe Varkey, Verisk Analytics, USA.

Change 34.159  If you did not use the ODSTYPE parameter ANALAVAI failed,
ANALAVAI       looking for a macro variable created by VMXGODSO, which
Jul 11, 2016   was not executed. Now checks the value of ODSTYPE and if
               it is NO or NULL, suppresses VMXGODSC.

Change 34.158  Cosmetic.  If you specified BUILDPDB=NO, the display of
UTILBLDP       parameters you entered showed the internal default list
Jul 11, 2016   MXGINCL of members to be included.  Those members were
               NOT included with BUILDPDB=NO, but the displayed list
               was not accurate.  Now only the USED (i.e., non-blank)
               members included are displayed on the log.

Change 34.157  Support for SMF 117 IBM Integration Bus Version 10.0.0.5
VMAC117        which INCOMPATIBLY removed fields in the FLOW segment.
Jul 10, 2016   But MXG didn't keep some identity variables from FLOW in
               the other three datasets.  Previously known as Websphere
               Message Broker.
   Thanks to Betty Wong, Bank of America, USA.

Change 34.156  RMF III NOTE: INVALID DATA FOR ASIQSCANxxxxx because some
VMACRMFV       variables with PIB informat were input with RB informat.
Jul 10, 2016

Change 34.155  New type 42 subtypes that contain a JOB variable did not
IMACJBCK       include the IMACJBCK Job Name Check macro that allows you
VMAC42         to select observations to be output.  IMACJBCK has been
Jul  9, 2016   added for these TYPE42xx datasets: 4220/4221/422A/4222/
               4223/424A/4224/4225/4227/4237/42VS. In case you were not
               aware, these comments document IMACJBCK selection:
               SPECIFIC JOB CAN BE SELECTED. WHEN INVOKED, ALL OF THESE
               VARIABLES HAVE BEEN READ AND ARE VALID FOR TESTING:
                      ID JOB READTIME SMFTIME SYSTEM
               NOT ALL RECORDS WITH JOB NAME HAVE A JESNR FIELD, BUT
                 6  25 26 30 32 42 59 91
               RECORDS HAVE INPUT JESNR WHEN THIS EXIT IS INVOKED.
               FOR SMF 30 RECORDS, NRCPU=0 IF THIS IS A MULTIDD='Y'
               RECORD.  AND %LET MACJBCK can be used instream.
   Thanks to Michael Oujesky, DTCC, USA.

Change 34.154  Support for TYPE41VF new fields in z/OS 2.3:
VMAC41           SMF41LRG='LARGEST*OBJECT EVER*ATTEMPTED'
Jul  9, 2016     SMF41TIM='LAST*SUCCESSFUL*COFDEFIN'
                 SMF41AAG='CURRENT*ALERTAGE*VALUE'
                 SMF41YAG='YOUNGEST*TRIMMED*OBJECT*SINCE LAST'
                 SMF41MAG='YOUNGEST*TRIMMED*OBJECT*SINCE MAXVIRT'
                 SMF41CAG='AGE*EXECPTIONS*RAISED'
               From ICN1494.

Change 34.153  Change 33.031 missed two instances of the LOWCASE()
BLDSMPDB       function that should have been converted to UPCASE().
Jul  6, 2016
   Thanks to Richard Krueger, Sentry, USA.

Change 34.152 -DOW= filter was not working and all days of the week were
ASMRMFV        selected instead.
Jul  5, 2016  -Message RMFV014W ALL DATA SETS BYPASSED was not shown
               when applicable.
   Thanks to Randy Hewitt, HPE Enterprise Services

Change 34.151   When VMXGSUM finished SYSLAST was not pointing at the
VMXGSUM         output dataset created but rather at an intermediate
Jul  1, 2016    dataset created. Now when VMXGSUM is done SYSLAST is set
                to the output dataset created so that you can then do a
                PROC whatever without a dataset name.

Change 34.150  FORMAT MGCICUU for CICS variable WBRUSAGE has two new
FORMATS        values of 4:ATOM and 5:JVMSERVER.
Jun 30, 2016
   Thanks to Wayne Bell, UNIGROUP, USA.

Change 34.149  Reserved Change.

Change 34.148  Support for ODM Version 8.8.0.1 SMF type 120 subtype 100
VMAC120        adds variables to TY120100 dataset:
Jun 30, 2016      SM120RULEXETYP='RULESET*ENGINE*TYPE'
                  SM120RULEXEVER='RULESET*ENGINE*VERSION'
                  SM120RULEXFBOM='RULESET*IS*BOMS*SUPPORT*ENABLED?'
                  SM120RULEXFDEB='RULESET*IS*DEBUG*ENABLED?'
                  SM120RULEXFMON='RULESET*IS*MONITORING*ENABLED?'
                  SM120RULEXFTRC='RULESET*IS*TRACE*ENABLED?'
               While the SMF 120 record is created by WebSphere, the
               subtype 100 was given to ODM and is not from WAS.
   Thanks to Paul Volpi, UHC, USA.

Change 34.147  BUILDPDB processing of PRINTWAY/INFOPRINT product SMF 6
BUILD005       records that have no matching 30s nor 26s were left in
VGETJESN       SPIN.SPIN6 until SPINCNT expired when they were finally
VMAC6          output to PDB.PRINT dataset.  There are two types of
Jun 28, 2016   PRINTWAY records.  MXG decodes them setting variables
                BASIC:    TYPETASK/SUBSYS/SUBSYS6 are set to 'TCP'.
                EXTENDED: TYPETASK/SUBSYS/SUBSYS6 are set to 'TCPE'
               and the logic in BUILDPDB outputs all 'TCP ' records to
               PDB.PRINT, while 'TCPE' records that didn't match today
               are held in SPIN.SPIN6 to match the other records from
               those jobs.
                 Trivia: JCTJOBID for BASIC contains PSnnnnnn which
                 is not documented and is different than PSFnnnnn for
                 type 6 records created by PDF.
   Thanks to Paul Maradin, HP Advanced Solutions, USA.
   Thanks to Grayg Mitrou, HP Advanced Solutions, USA.

Change 34.146  FORMATS MGSRDFC/M/G/S decode SRDCONST/MODE/GROUP/CONSI.
FORMATS
VMACSRDF
Jun 28, 2016
   Thanks to Joe Faska, DTCC, USA

Change 34.145 -IFCID 106 new variables QWPBSQLL and QWP4DDLTO parms are
VMAC102        input and kept in dataset T102S106.
VMACDB2H      -QWHSRELN value could be truncated and print 10.0999999.
Jun 27, 2016   Now it is forced to print as 10.1.
Jul  3, 2016  -QWPRRENAMETABLE decoded from QWP4MISB and kept.
   Thanks to Scott Barry, SBBWorks Inc., USA
   Thanks to Lai Fai Wong, Bank of America, USA.

======= Changes thru 34.144 were in MXG 34.04 dated Jul 25, 2016========

Change 34.144 -RMFINTRV message MSU variables are UNINITIALIZED has no
VMXGRMFI       actual impact; LENGTH was defined in R72HOUR but those
VMXGSUM        variables are not initialized until the MERGE RMF70HOUR.
Jun 23, 2016   Relocated the LENGTH statement to eliminate messages.
              -VMXGSUM with NOSORT=YES printed note that MXGSUM2 could
               not be deleted, but it doesn't exist with that option, so
               also no actual impact.  Note no longer printed.

Change 34.143  ZVPS 4.2.3 variable CPUUTIL in dataset XAMSYS was likely
VMACXAM        zero because new SYTCUV segment also input CPUUTIL for
Jun 21, 2016   each CPU and the last value was kept in XAMSYS.  Now,
               from SUBSUM segment is renamed at input and renamed back
               at XAMSYS output.
   Thanks to Douglas C. Walter, CitiCorp, USA.
   Thanks to Brent Turner, Citigroup, USA.

Change 34.142  Change 34.010 did not set the lengths for the new
VMXGRMFI       variables created and could result in multiple length
Jun 21, 2016   error messages when running TRNDRMFI.

Change 34.141  WARNING: MEMNAME HAS DIFFERENT LENGTHS is eliminated.
VMXGSRCH
Jun 20, 2016

Change 34.140  Housekeeping.  BUILD001 intentionally leaves all of the
ANALID         CICS Statistics Data Sets in //WORK after the SMF DATA
ASUMTAPE       step, so they are available to be copied by EXPDBOUT if
BUIL3005       desired, and so that CICINTRV can be created in BUILD004,
BUILD005       by VMXGCICI, but now those datasets are deleted after the
PDBAUDIT       PDB.CICINTRV has been created.  Other members similarly
SPUNJOBS       left unneeded datasets in //WORK that are deleted now, to
VMAC113        minimize the required disk space.
VMAC73
VMAC74
VMACDB2
VMXGCICI
Jun 19, 2016

Change 34.139  The highest memory usage in BUILDPDB was in the VMXGSUM
BUILD005       step that created INTVSIOS, but that dataset is already
BUIL3005       sorted, so the option to use CLASSNWAY is suppressed and
Jun 17, 2016   NOSORT=YES is specified to bypass the sort and PROC MEANS
               is executed with a BY statement which reduced memory from
               242MB to 195MB, and now the DATA step is largest, also
               requiring 195MB for this tailored BUILDPDB execution.

Change 34.138  Cosmetic.  Variable OVOLSER was 20 bytes ending with a
TYPETMS5       period in byte 20 unless Site Tailoring for Multiple CA/1
Jun 16, 2016   catalogs was used (Change 27.111).  Period is now gone.
   Thanks to Doug Medland, IBM Global Services, CANADA.

Change 34.137  Major revision to VMXGSUM that could save CPU time.
ASUMCACH       This change creates a new parameter, CLASSNWAY with the
VMXGINIT       default value of &MXGSUMCLASS, which itself has default
VMXGSUM        value of blank, so that you can enable the new logic with
Jun 17, 2016   only   %LET MXGSUMCLASS=YES;   in //SYSIN, which changes
               the current summarization logic to use the CLASS/NWAY
               feature of PROC MEANS, instead of the original default.
              -The default VMXGSUM logic can be a four step process with
               an optional DATA step created (if INCODE=, NORMx=, or
               INTERVAL=x arguments are used) to feed the PROC SORT that
               feeds the PROC MEANS which may be followed by another
               optional DATA step (if NORMx= or OUTCODE= are used).
              -The MXGSUMCLASS=YES revision alters the default logic to
               remove the SORT and instead invokes the CLASS and NWAY
               options on the PROC MEANS, which can greatly reduce the
               amount of CPU time consumed since the SORT is eliminated
               (in one simple test the zOS CPU time went from 68 seconds
               to 28 seconds!
              -But, it is VERY possible for the use of CLASS to require
               a significant increase in the virtual storage (REGION)
               required, in return for reduced CPU time.
              -The original MXG design was required because when first
               created, virtual memory was an extremely limited resource
               and the algorithm minimized memory required.  But now,
               with memory no longer so restricted nor expensive, using
               MXGSUMCLASS option lets test and observe the trade off
               to see which options is of benefit to your invocation.
              -Executing MXG on z/OS using MXGSUMCLASS=YES:
               It is possible you could save some CPU time but the
               cost is an increase in high memory usage - more than
               doubled in some tests and the CPU time saved will be
               primarily in ASUM* TRND* ANAL* GRAF* members run after
               BUILDPDB (BUILD005 only has 3 VMXGSUMs, but VMXGCICI
               for PDB.CICINTRV has many that may or may not be helped.)
               MXGSUMCLASS=YES did fail once because the utility files
               used filled the //WORK space, so that specific case in
               ASUMCACH has disabled MXGSUMCLASS to circumvent.
                  The amount of CPU time saved is a complex function of
                  the complexity of the data - the number of OBS, BY
                  groups, and count of intersects - each impact memory
                  utilization so that you must test across several day's
                  data since the results can vary from day to day as the
                  complexity changes.
              -%LET MXGSUMCLASS=YES; applies to ALL VMXGSUM invocations
               after that statement in that job step. You can change any
               VMXGSUM invocation after that to revert to the original
               logic by adding CLASSNWAY=NO to that VMXGSUM invocation.
              -Executing on ASCII thus far has not shown a significant
               benefit with MXGSUMCLASS but 'your mileage may vary'.
              -These are test results from zOS running SAS 9.3 and using
               UTILBLDP with inclusion of many of the ASUMxxxx members,
               all of which are VMXGSUM invocations:


               %UTILBLDP(USERADD=42 6156,OUTFILE=INSTREAM,BUILDDB=YES);
               %INCLUDE INSTREAM;

                           JOB                 CPU  % CPU           CPU
                           CPU  % CHG      READING READING   PROCESSING
          TEST            TIME    CPU         DATA  DATA           DATA

       BY USED      1:17:53.66    .     0:46:28.06  59.65    0:31:25.60
       CLASS USED   1:10:19.36   9.72   0:47:12.14  67.12    0:23:07.22

                    % CPU      % CPU
                  PROCESSING   CHANGE    TOTAL  % CHANGE        TOTAL
          TEST       DATA    PROCESSING   EXCP    EXCP        IO TIME

       BY USED       40.35        .     1478119     .      0:28:39.67
       CLASS USED    32.88      26.43   1199259   18.87    0:17:11.95

                               HIGH     % CHANGE
                  % CHANGE    MEMORY      HIGH
          TEST    IO TIME      USED      MEMORY

       BY USED        .        280M         .
       CLASS USED   39.99      242M       13.38

               And here are some further tests comparing BUILDPDB on zOS
               and Windows 10.  The same input data was used in both
               but the DB2/CICS data was compressed so on zOS the CICS
               SMF INFILE exit was used but on Windows more CPU time was
               consumed to read the data. zOS is running SAS 9.3 and
               Win 10 is running 9.4.

     Test BUILDPDB Only     zOS NWAY    zOS BY     Win NWAY  Win BY

     Data step elapsed       0:10:35    0:10:59    0:07:07     0:07:03
     Data step CPU           0:08:51    0:08:53    0:07:09     0:07:02
     Data Step MAX K Memory   173496     173496     320388      320388
     Job elapsed Time        0:14:30    0:14:54    0:08:35     0:08:32
     Job CPU                 0:11:25    0:11:30    0:08:13     0:08:08
     Job MAX K High           173496     173500     449928      449928
     Step with HIGH memory   DATA STEP DATA STEP    SORT         SORT
                                                  DB2ACCTP    DB2ACCTP

     Test with ASUMs        Win 10 NWAY  Win 10 BY
     Data step elapsed          0:07:28    0:07:08
     Data step CPU              0:07:15    0:07:09
     Data Step MAX K Memory      320388     320388
     Job elapsed Time           0:10:02    0:10:58
     Job CPU                    0:09:24    0:09:54
     Job MAX K High              727880     449928
     Step with HIGH memory      ASUMCACH      SORT
                                          DB2ACCTP
                                          DB2ACCTP

     TECHNOTE:  Using MXGSUMCLASS=YES on zOS
     Thus far this applies only to zOS.  There are no known exposures on
     ASCII.  Members that have failed:
        BUILD005/BUIL3005 - automatically suppressed on zOS
        ASUMCACH - automatically suppressed on zOS
        ASUMCICS
        ASUMCICX
        ASUMDB2A
        ASUMDB2P

     There are two failure modes.

      1) UTILITY files fill up work and cannot expand
      2) Memory failures as memory expands

     The problems will occur if you have many OBS (at least tens of
     millions possibly hundreds) and many BY groups which create a large
     number of intersections.

     If you have a failure, bring the member that failed into your
     USERID.SOURCLIB.

     The simplest change is to add CLASSNWAY=NO to the parameter list of
     the VMXGSUM invocation.  That will revert to the original logic for
     VMXGSUM of DATA STEP/SORT/MEANS/DATA STEP but also means you will
     not be saving any time.

     A more complex option is to modify the parameters.  For each BY
     group MEANS must build a counter for each of the variables in any
     of the SUM MEANS MAX etc parameters.  That can quickly add up to a
     lot of space.  So you can either reduce the complexity by reducing
     the variables in the BY list or by reducing the number of variables
     being SUMMed MEAned MAXed etc.

     An example using ASUMCICX (only a partial copy):

       MACRO _BSUCICS APPLID OPERATOR USER TERMINAL STRTTIME TRANNAME
             SYSTEM SHIFT %

     Are OPERATOR USER TERMINAL really necessary in your summarized
     data?  In many cases TERMINAL is an IP address that is largely
     meaningless.  OPERATOR and USER may be the same.  Reducing the
     number of variables in the BY list can help.

      %VMXGSUM(INVOKEBY=ASUMCICX,
        KEEPALL=&KEEPALL,
        INDATA=  _LSUUOW ,
        OUTDATA= _LSUCICS ,
        DSNLABEL=SUCICS: CICSTRAN &SUCIINTV SUMMARY,
        DATETIME=STRTTIME,
        SUMBY=   _BSUCICS ,
        DURATM  =INTERVAL,
        INTERVAL=&SUCIINTV,
        SYNC59=NO,
        NEWSHIFT=Y,
        MAX=     RESPMAX,
        SUM=     DSPDIOCN DSPDIOTM FCAMCNT  IRESPTM  RESPBKT1-RESPBKT8
                 TASCPUTM TRMCHRCN WTDISPCN WTDISPTM WTFCIOCN WTFCIOTM
                 WTIRIOCN WTIRIOTM WTJCIOCN WTJCIOTM WTRLIOCN WTRLIOTM
                 WTTDIOCN WTTDIOTM WTTSIOCN WTTSIOTM SSQELAP  CPUTM
                 CLASS3TM CLASS3WT DB2CONCN DB2CONTM DB2IDLE  DB2RDYCN
                 DB2RDYTM DB2REQCT DB2SRBTM DB2TCBTM DB2TRAN  DB2WAICN
                 DB2WAITM MROTRAN,

     In the SUM= list do any of your reports depend on all of these
     variables?  If not eliminate those variables.  Do any of your CICS
     transactions use DB2?  If not eliminate the DB2 variables.

     The key to getting the advantage of reduced CPU and elapsed time on
     zOS with these members is reducing the complexity.

Change 34.136  Support for up to six USERCHAR fields, and revisions
UTILEXCL       to support USER fields that are in the middle of the
IMACIC3U       segment, which were not correctly handled.
IMACIC4U
IMACIC5U
IMACIC6U
IMACIC3D
IMACIC4D
IMACIC5D
IMACIC6D
Jun  8, 2016

Change 34.135  Additional Q8ST variables are INPUT if they exist:
VMACDB2          Q8STINSC='INSERT*STATEMENTS*SENT TO*IDAA FROM DB2'
Jun  7, 2016     Q8STUPDC='UPDATE*STATEMENTS*SENT TO*IDAA FROM DB2'
                 Q8STDELC='DELETE*STATEMENTS*SENT TO*IDAA FROM DB2'
                 Q8STDRPC='DROP*STATEMENTS*SENT TO*IDAA FROM DB2'
                 Q8STCRTC='CREATE*STATEMENTS*SENT TO*IDAA FROM DB2'
                 Q8STCMTC='COMMIT*STATEMENTS*SENT TO*IDAA FROM DB2'
                 Q8STRBKC='ROLLBACK*STATEMENTS*SENT TO*IDAA FROM DB2'
                 Q8STOPNC='OPEN*STATEMENTS*SENT TO*IDAA FROM DB2'

Change 34.134  VMXGCOPY copies from multiple inputted SAS Data Libraries
VMXGCOPY       to one output Data Library with member selection, etc.
Jun  7, 2016   If your parameters were lower case nothing was found to
               copy since the values passed back for LIBNAME and MEMNAME
               are uppercase and the compare was always false.  To make
               it worse it also failed with a bad macro variable name
               reference because the variable was not constructed when
               nothing was found.
   Thanks to Tim Hare, Southwood Shared Resource Center, USA.

Change 34.133 -Support for GMT Offset in MINTIME Sample Set filtering,
ASMRMFV        improved MXG00 table data, and other minor enhancements.
ADOCRMFV      -The GMT offset feature scales RMF MONITOR III Sample Set
JCLCRMFV       begin (SSHTIBEG) and end (SSHTIEND) timestamps to a
JCLDRMFV       common user specified GMT time offset ranging from -12 to
JCLRMFV        +12 hours or -720 minutes to +720 minutes.
VMACRMFV       IMPORTANT: This support does NOT modify any timestamps
Jun 11, 2016   in the output RMFBSAM file. The SSHTIBEG and SSHTIEND
               time stamps are modified temporarily ONLY during the
               FROMDATE=/TODATE= FROMDATE=/TODATE= filter processing.
              -The purpose of the support is to allow an installation to
               input RMF III data sets from different time zones and
               build a PDB with data relative to a specific time zone.
              -Although GMT (Greenwich Mean Time) is technically an
               obsolete term replaced by the modern UTC (Coordinated
               Universal Time) term, GMT still appears extensively in
               RMF documentation and within MXG itself.  So the term GMT
               is still used for historical consistency.
              -The new ASMRMFV keyword to specify a GMT offset is
               GMTOFFSET=.  Aliases are GMTOFF=, GMT=, GMTOFFSET,
               GMTOFF, and GMT.
              -When the '=' is missing then GMTOFFSET=0 is implied.  The
               '=' is required to specify a non-zero GMT offset value.
              -Any of the following formats are supported for GMTOFFSET=
               (and aliases GMTOFF=,GMT=) :

                 h              -h             +h
                 hh             -hh            +hh
                 hH             -hH            +hH
                 hhH            -hhH           +hhH

               where h ranges from 0 to 9 and hh from 00 to 12.  Values
               over 12 are flagged as errors and will abend ASMRMFV.  An
               h or hh value of zero means scale timestamps to GMT time.
               Unsigned h or hh values imply a positive GMT offset.  A
               '-' sign is required to specify a negative offset.

               The capital 'H' suffix is optional and is provided just
               to make the unit measure clear if desired.
              -Positive GMT offsets are for time zones east of GMT up to
               the International Date Line including most (if not all)
               of Europe, Africa, Asia, Australia, and many island
               groups.
              -Negative GMT offsets are for time zones west of GMT up to
               the International Date Line including North and South
               America and some island groups.
              -A few time zones have GMT offsets that are not integer
               hour values such as India, some Australian zones, and
               some island groups.  For example, India is GMT+5:30.
              -For the support of these non-integer offset time zones
               any of the following formats are supported for GMTOFFSET=
               (and aliases GMTOFF=, GMT=) in minutes:

               mM             -mM            +mM
               mmM            -mmM           +mmM
               mmmM           -mmmM          +mmmM

               where m ranges from 0 to 9, mm from 00 to 99, and mmm
               from 000 to 720 (12 hours).  Values over 720 are flagged
               as errors and will abend ASMRMFV.  An m, mm, or mmm value
               of zero means scale timestamps to GMT time.  Unsigned m,
               mm, or mmm values imply a positive GMT offset.  A '-'
               sign is required to specify a negative offset.

               Any user can still specify this form even for integer
               hour offsets by converting the hours x 60 to get minutes.
               For example, GMT=-4 and GMT=-240M are equivalent.

               The 'M' suffix is REQUIRED for a GMT minutes offset.  If
               omitted the value will be handled as an hour value
               instead.
              -NOTE: When using GMTOFFSET= the FROMDATE=/TODATE= and
               FROMTIME=/TOTIME= filter values MUST be coded based on
               the REQUESTED offset time zone.  This is NOT necessarily
               the Local Time for the time zone where ASMRMFV is
               executing.
              -GMTOFFSET= processing follows these steps for each RMF
               Monitor III MINTIME Sample Set:

               1) The Sample Set begin (SSHTIBEG) and end (SSHTIEND)
               timestamps are first converted to GMT time using the
               SSHSTDIF GMT offset field from the Sample Set Header
               (SSH) present for each Sample Set.  Then they are set
               into temporary timestamp fields for filtering.

               2) If GMTOFFSET=0 is in effect, then no further changes
               are applied to the temporary timestamps and filtering
               continues with the timestamps in GMT Time.  They are
               compared to the FROMDATE=/TODATE= and FROMTIME=/TOTIME=
               option settings.

               3) If GMTOFFSET= is non-zero then the temporary timestamp
               fields are further altered with the negative or positive
               offset value.  These altered timestamps are referred to
               as Adjusted Time in ASMRMFV documentation and messages.
               They are compared to the FROMDATE=/TODATE= and
               FROMTIME=/TOTIME= option settings.

               4) As noted earlier any selected Sample Set tables are
               output to the RMFBSAM file with their original timestamps
               unchanged.

              -Examples of GMTOFFSET= use follow.  In all cases it is an
               installation responsibility to transfer the multi time
               zone RMF Monitor III data sets to the ASMRMFV execution
               site prior to processing.  The RMF provided ERBV2S and
               ERBS2V Clists are one method to create and retrieve a
               sequential copy of an RMF Monitor III VSAM data set.

              -Example 1: A London based company wants build an RMF III
               PDB for yesterday with RMF III VSAM data sets input from
               several different time zones in Europe and Asia for their
               peak hours of 09:00 to 15:00.  They want to see what
               other activity is occurring elsewhere during this time.

               ASMRMFV statements:
               FROMDATE=YESTERDAY TODATE=YESTERDAY
               FROMTIME=0900  TOTIME=1500  GMT

              -Example 2: A New York corporation wants build an RMF III
               PDB for two days ago in June with RMF III VSAM data sets
               input from several different time zones in the United
               States for the prime time hours of 08:00 to 17:00.  They
               need to see if some moving some workloads might result in
               fewer delays.  They are using Daylight Saving Time and
               their time zone is at GMT=-4.

               ASMRMFV statements:
               FROMDATE=*-2   TODATE=*-2
               FROMTIME=0800  TOTIME=1700  GMTOFF=-4

              -NOTE: For sites using GMTOFFSET= processing and Daylight
               Saving Time the GMT offset changes during the fall
               transition to Standard Time and the GMT offset increases
               by 1 hour.  In the example above it becomes GMTOFF=-5.

               One advantage of using pure GMT offsets is that time
               changes such as this are not an issue because RMF III
               keeps the GMT offset for each Sample Set.  RMF III does
               not have any awareness of Daylight Saving Time and so it
               is a user responsibility to code GMTOFFSET= correctly
               before and after a time change.

              -Example 3: An India enterprise wants build an RMF III PDB
               for the last five days with RMF III VSAM data sets input
               from several different time zones in Asia and Europe for
               their early morning hours of midnight to 07:00.  India
               Time is at GMT+05:30 hours.  They want to see if some
               workload balancing might be possible across multiple data
               centers to reducing processing delays or take advantage
               of available CPU cycles.

               ASMRMFV statements:
               FROMDATE=*-5   TODATE=*-1   WINDOW
               FROMTIME=0000  TOTIME=0700  GMT=+330M
              -Most ASMRMFV timestamp messages are revised or added to
               now display the GMT time when GMTOFFSET is used.  These
               include:
               RMFV001I Current Time and Last IPL Time
               RMFV008I Input data set Last Open Time
               RMFV012I Sample Set Found Begin and End Times
               RMFV013I Sample Set Selected Begin and End Times
               RMFV017I RMF and z/OS Version Found Time
               RMFV023W Sample Set Date/Time - Service Policy missing
               RMFV032E Sample Set Date/Time - Program service failure
               RMFV039I Sample Set Date/Time - SHOWSAMP option info
               RMFV070* Sample Set Date/Time - Service Class Find error
               RMFV071* Sample Set Date/Time - Report  Class Find error
               RMFV072* Sample Set Date/Time - Workload Name Find error
               RMFV073* Sample Set Date/Time - Resource Group Find error
               RMFV076I Sample Set Date/Time - SHOWASI option info
               RMFV078I Sample Set Date/Time - Prior Service Policy use
               (* = E, W, or I depending on error settings)
              -In addition all above messages (except RMFV001I and
               RMFV008I) display the Adjusted Time if GMTOFFSET is
               non-zero.  So it is possible to get up to three messages
               for each timestamp display when GMTOFFSET= is in effect:
               Local Time, GMT Time, and Adjusted Time.  These provide
               an audit trail and verify program operation is correct.
              -New parameter SHOWGMT (aliases SHGMT, SG) will display
               GMT versions of timestamp messages even if GMTOFFSET is
               not in effect.  SHOWGMT is forced if GMTOFFSET is in
               effect.  Updated message RMFV037I displays SHOWGMT
               setting.
              -New parameter NOSHOWGMT (aliases NOSHGMT, NOSG) will
               suppress GMT versions of timestamp messages.  NOSHOWGMT
               is the default so there should be little need to code
               this option.
              -New parameter SHOWASI (alias SHASI) displays some ASI
               entry data when selected.  This is intended primarily for
               debugging as it will produce voluminous output in the
               ASMRMFV log.  This function formerly required a
               re-assembly and re-link to be enabled.  Updated RMFV037I
               message shows status of this setting.
              -New parameter NOSHOWASI (alias NOSHASI) suppresses ASI
               data display.  This is the default and should not need to
               be coded.
              -New RMFV006I message shows GMTOFFSET status and offset
               value.
              -New RMFV014I message displays when all tables have been
               excluded due to filtering that were not originally
               excluded by an entire data set bypass condition.  For
               example, this can occur when using range and/or pattern
               filters to select specific jobs that did not run in the
               selected time range.
              -New aliases added SHSAMP for SHOWSAMP and NOSHSAMP for
               NOSHOWSAMP (default)
              -New aliases added SHMATCH for SHOWMATCH and NOSHMATCH for
               NOSHOWMATCH (default).
              -New aliases added SHZERO for SHOWZERO (default) and
               NOSHZERO for NOSHOWZERO.
              -New aliases added SHALL for SHOWALL and NOSHALL for
               NOSHOWALL (default).
              -Add sections to MXG00 ASMRMFV Initialization table for
               table capacities, table sizes, buffer/workarea settings,
               multiple filter logic options, filter options, GMT offset
               settings, report options, output options, error options,
               and table selection options.  Updated BUILD00 subroutine.
               Nearly all ASMRMFV parameter options are now saved except
               contents of range and pattern tables.  These fields
               become variables in the ZRBASM data set in the MXG PDB.
              -Raise MXG00 record version to X'04' from X'03'.
              -Code path improvements for SHOWTS and STCKCONV
               subroutines.
              -Some data set names and volume serial numbers were
               incorrect in the MXG00 ASMRMFV Initialization table.
              -The CAT and CPC tables were not included in example
               discussions in the JCLRMFV, JCLCRMFV, and JCLCRMFV
               members.
              -Documentation updates to:
               Section  2 Terminology (Timestamps)
               Section  5 Input Data Selection Parameters
               Section  6 Report Control Parameters
               Section 12 Messages
               Section 13 Filtered Records
               Section 15 Program and IBM Limitations
               Section 26 ASMRMFV and MXG PDB Data Relationships
               Section 27 Summary
   Thanks to MP Welch, Bank of America, USA.

Change 34.132  Unused.

Change 34.131  ERROR: Invalid date constant "    .":d with BLDSMPDB was
BLDSMPDB       caused by a typo, the lack of an underscore on the old
Jun  1, 2016   style _TODAY macro, causing LASTWEEK to be miscalculated.
               Impacts MONTHLY job, but FORCEDAY=01JUN16 circumvents.
   Thanks to Jim Hayes, Huntington Bank, USA.

Change 34.130  New variable GEICSARE, Unallocated Common Area Left, is
VMACRMFV       now input and kept in RMF III dataset ZRBGEI, formatted
May 31, 2016   with MGBYTES.
   Thanks to Dave Cogar, Wells Fargo, USA.

Change 34.129  Variable R723MCPG, the number of periods in this service
VMAC7072       class, is now kept in dataset TYPE72PD.
May 30, 2016
   Thanks to Jim S. Horne, Lowe's Companies, Inc., USA.

Change 34.128  Zen CSM records ZOSAPOOL dataset new ZOSA_POOL_TYPE is
VMACZOSA       'E' for ECSA Pool or 'D' for DataSpace Pool.
May 27, 2016
   Thanks to Jerome Vitner, Experian, USA.

Change 34.127  If only one variable was being examined, a NOT SORTED
ANALRANK       error could occur due to an insufficiently specified
May 24, 2016   BY list.
   Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.

Change 34.126  TYPETMS5 observations for tapes created by old versions
VMACTMS5       of DFDSS contained zeros for BLKSIZE but PGM='ADRDSSU'
May 23, 2016   tapes are always BLKSIZE=65520, so MXG sets that value
               for these old tapes.
   Thanks to Jim Agrippe, Cleveland Clinic, USA.

Change 34.125  Documentation only. Mainview for IMS IMF/CIMS maintenance
VMACCIMS       PUT 1502 PTFs BQI2154, BPK2892 were supposed to correct
May 23, 2016   corrects zIIP CPU times where zIIP Eligible time TRXZIOCP
               was greater than the CPU time on CP, TRXZONCP, but does
               not appear to correct the problem as of this date.

Change 34.124  MXG Format MGD044K for DB2 Trace Dataset T102S044 updated
FORMATS        with new values.
May 18, 2016
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 34.123 -Support for IFCID 365 populates T102S365 dataset.
VMAC102       -Support for IFCID 376 corrects QW0376VN so only QW0376VL
May 18, 2016   bytes are input.  Variable QW0376TS is an invalid 8-byte
Jun  1, 2016   value:   '1982A5641F29CA5A'x and '0E5F1F1D09F14040'x
               are not valid TODSTAMP nor 10-byte DB2 time fields.
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 34.122  ANALCSQC counts concurrent MQ Applications from SYSLOG in
ANALCSQX       this tailored use of TYPSSYSL that selects only logon
May 17, 2016   +CSQX500I and logoff +CSQX501I MSGID to create a session
               event observation, which ANALCNCR then processes to count
               and plot concurrent sessions for each quarter hour.
   Thanks to Tom M. Kane, AT&T, USA.

Change 34.121  Formal support for SYSLOG (including multi-line messages)
EXSYSLOG       with all MXG dataset tokens, to replace SYSLOG member, in
FORMATS        particular, so EXSYSLOG/_ESYSLOG dataset exit exists so
IMACSYSL       only desired MSGID are output.  TYPESYSL exists but only
TYPESYSL       creates raw data in WORK.SYSLOG; TYPSSYSL must be used as
TYPSSYSL       it invokes the _SSYSLOG sort macro that combines multi
VMACSYSL       messages into one observation and writes out PDB.SYSLOG.
VMXGINIT
May 17, 2016

Change 34.120  ERROR: SPIN.SPINPDBAUDIT.DATA HAS TOO LONG A MEMBER NAME
PDBAUDIT       occurs if your //SPIN DD was created with SAS Version 6,
May 17, 2016   which allowed only 8-character SAS dataset/member names.
               You need to create a new VERSION 9 format data library by
               copying the current //SPIN DD data to a NEW V9 SPIN DSN:
                 // EXEC MXGSASV9
                 //SPIN    DD DSN=YOUR.OLD.SPIN,DISP=SHR
                 //SPINNEW DD DSN=YOUR.NEW.SPIN,DISP=(,CATLG),SPACE...
                 //SYSIN DD *
                  PROC COPY IN=SPIN OUT=SPINNEW MT=DATA;
               and then delete OLD and then rename NEW to OLD.
               You probably also need to examine all of your re-used SAS
               data libraries (PDB,MON,TUE,...WEEK,MONTH, i.e., those
               with DISP=OLD that are re-written each time), to see if
               any were also created with SAS V6, with the output of
                 PROC CONTENTS DATA=PDB._ALL_ NODS DETAILS
               to see what ENGINE created each of those data libraries.
               While MXG has had long dataset names for some time, this
               is the first instance in the "mainline" SMF processing
               code members used in BUILDPDB, and was introduced in MXG
               33.07 in the new PDBAUDIT report of your PDB libraries.
                  (SAS 6.08 dates back to 1992, so this site's
                   SPIN dataset has stood the test of time!!)
   Thanks to Jeanne Vetter, Dell Services, USA.

Change 34.119  There is a known SAS exposure that can cause a CPU loop
VMXGCNFG       after a program has finished, in SAS termination, if you
May 17, 2016   try to dynamically allocate a DD that was already in JCL.
               If you use the CONFIG= CONFIMXG option as your MXG JCL
                  //MXGSTEP EXEC SAS,CONFIG=MXG.SOURCLIB(CONFIMXG)
                  //MXGNAMES DD  DSN=MXG.USERID.SOURCLIB(MXGNAMES),
               it does dynamically allocate the SOURCLIB and LIBRARY DD,
               but the restriction was only documented.  This change
               prevents the loop by testing for their allocation, and
               causing the job to USER ABEND 777 before the SAS program
               actually starts.

Change 34.118  MXG created variable CPUZIPTM_CPUIFATM_INST was wrong and
VMAC30         usually negative because the three component variables
May 15, 2016   should have been added to get the IFA/ZIP Instructions.
   Thanks to Paul Volpi, UHC, USA.

Change 34.117  CPU and SU_SEC values for z13 processors added to the
GRAFWRKX       formats so that you can model these newer systems with
May 12, 2016   your existing data.  This is a very simplistic model
               that will only convert the CPU time from the current
               model to whatever model you specify with NEWMODEL=.

Change 34.116  Enhancement for RMM/EDGHSKP/TYPEEDGR adds new variables
VMACEDGR       SYSTEM and EDGRTIME to all datasets, retained from the
May 13, 2016   Header record.
   Thanks to Linda Berkeley, USPS, USA.

Change 34.115  Variable DCDTIMEC, Data Set Create Time in DCOLDSET is
VMACDCOL       only populated if
May 11, 2016     - the dataset is on an EAV volume (more than 65K CYL)
                 - the volume is the first volume for the dataset
                   (DCDTIMEC is zero in the DSCB for other volumes)
                 - for non-VSAM, EATTR=OPT must be specified (JCL or
                   Data Class), because EATTR=NO is the default for
                   non-VSAM, EATTR=OPT is the default for VSAM.
               The DCDTIMEC comes from the FORMAT 9 DSCB control block
               (in the VTOC), created for EAS-eligible datasets on EAV
               that have EATTR=OPT, except that these datasets
               do not have FORMAT 8/9 DSCBs.
   Thanks to Donna Roff, FISA NYC GOV, USA.

======= Changes thru 34.114 were in MXG 34.03 dated May 10, 2016========

Change 34.114  Enhancement to TCP analysis %ANALTCP program that allows
ANALTCP        selection by user name remote IP address for FTP, API, or
ANAL119        Telnet datasets from SMF 118 (TCP) or 119.
Jun  8, 2016
   Thanks to Dave Ireland, USDA, USA.

Change 34.113  Support for COMPUWARE Hiperstation SIEM User SMF record.
EXSIEM01       Also called Hiperstation Application Audit.
EXSIEM02       New datasets are created from these subtypes:
EXSIEM03         dddddd    dataset    description
IMACSIEM         SIEM01    SIEM3270   SIEM 3270 Session         01
TYPESIEM         SIEMA1    SIME3270A  SIEM 3270 Screen Lines    01
TYPSSIEM         SIEM02    SIEMTCP    SIEM TCP                  02
VMACSIEM         SIEM03    SIEMMQ     SIEM MQ                   03
May  9, 2016   Currently, only subtype 1 is created and supported.
May 19, 2016  -May 19.  Variable SIEMLPAR NOT FOUND corrected.

Change 34.112  MXG 34.01,34.02. DCOLLECT dataset DCOLBKUP variables
VMACDCOL       UBDSIZE and UBRECSP were incorrectly multiplied by the
May  9, 2016   original *1024 that should have been removed when the
               tests for UBFLAG4 was added in Change 34.042.
   Thanks to Thomas Peiper, TIETO SWEDEN AB, SWEDEN.

Change 34.111  New TYPE72PD, RMF WLM POLICY DEFINITIONS dataset is now
EXTY72PD       created for every service and reporting class.
IMAC7072
VMAC7072
VMXGINIT
May 6, 2016
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 34.110  Parameter INCODE= added so you can add selection SAS
ANALUOW        code on all variables and not just time and transaction
May 3, 2016    name. Logic added to detect that no data was found and
               terminate ANALUOW
   Thanks to Dave Ireland, USDA, USA.

Change 34.109  DB2 Package Dataset DB2ACCTP does not contain QX......
VMACDB2        variables.  QX variables exist only in DB2ACCT and the
May  4, 2016   DB2STATB datasets (initially from DB2STAT1).
   Thanks to Jane S. Stock, USPS, USA.

Change 34.108  DB2 Simulated Buffer Pool DB2STSBP/DB2STATS variables
VMACDB2        QBSPIUS, QBSPSUS (current) and QBSPHSU, QBSDPHUS (hwmark
May  3, 2016   pages) should not have been deaccumulated.
               Variable QBSPREADS is now correctly deaccumulated.
               And variable QBSTRHS in DB2STATB is now deaccumulated.
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 34.107 -A typo, SYSTYPE instead of &SYSTYPE caused unresolved
ANAL9914       macro because no observations were created. The correct
May  3, 2016   syntax for the report for SYSTEM=SYS1 and SYSTYPE=Z13 is
May  4, 2016     %ANAL9914(SYSTEM=SYS1,SYSTYPE=Z13);
May  5, 2016  -No longer restricted to a single system unless you use
               the SYSTEM= parameter; by default reports on all SYSTEMS.
               Cleans up after itself and produces NOTES to tell you
               when there is a problem.
   Thanks to Luis A. Mendoza, TRANSUNION, USA.

Change 34.106  z13 in SMT_MODE with SMT_NUM=2, variable NRZIPCPU, count
VMAC7072       of zIIP engines in the CEC, can be wrong in datasets
VMXG70PR       PDB.TYPE70, PDB.ASUMCELP, and PDB.ASUMCEC, but is correct
Apr 30, 2016   in PDB.TYPE70PR, and variable ZIPCPUS, zIIPs online to an
               LPAR, was also correct in those datasets.
              -Note that IBM's CPC Report counts ONLINE ZIPs per LPAR,
               but MXG's ZIPCPUS='ONLINE*AND*NOT*PARKED'
              -Do NOT use the PDB.ASUM70PR nor PDB.ASUM70LP datasets;
               they are by SYSTEM and thus selection is required, and
               they don't have correct data on system's whose SMF data
               was not read; those LPARs are in PDB.ASUMCELP.
   Thanks to Elie Sawaya, Royal Bank of Canada, CANADA.

Change 34.105  Support for SMF 123 Liberty z/OS Connect EE Audit Record:
EXTY123A         DDDDDD   DATASET    DESCRIPTION
IMAC123A         TY123A   TYPE123A   z/OS CONNECT EE AUDIT
TYPE123A      -In 2009, IBM used SMF 123 for S/390 Parallel Query Server
TYPS123A       which is still in TYPE123, although I presume that record
VMAC123A       is no longer created.
VMXGINIT
Apr 30, 2016
May 19, 2016
   Thanks to Victoria Lepak, Aetna, USA.
   Thanks to Don Bagwell, Aetna, USA.

Change 34.104  Support SMF 112 OMEGAMON CICS recorded version 530, which
VMACOMCI       was not listed in the test for valid versions.
Apr 28, 2016
   Thanks to Bob Duchesneau, Northwestern Mutual, USA.

Change 34.103  Support for IBM Integration Bus, Version 9.0.0.5 SMF 117
VMAC117        INCOMPATIBLE changes to the FLOW record.
Apr 28, 2016
   Thanks to Ben Thompson, Northern Territory Government, AUSTRALIA.

Change 34.102 -For IFCIDs that create more than one T102Sxxx dataset,
READDB2        READDB2 needs IFCID-specific logic, but the new T102SA58
VMAC102        dataset for IFCID=58 was overlooked.
Apr 28, 2016  -Support for T102SA58 dataset in Change 34.072 was correct
               only for DB2 V12 with a longer new segment; this change
               supports and validates the shorter DB2 10.1 record.
              -No "Truncated" name fields existed in test records so the
               support for those longer 0058 names awaits test data.
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 34.101  Revision to the graphics code to add a solid black line
GRAFWRKC       indicating where the group cap lies on both the percent
Apr 28, 2016   CPU and the MSU charts. This required summarization of
               the data so that there was only a single OBS per by
               group and uses the VLINE parameter of SGPLOT. The graphs
               only work if you are running SAS 9.3 or higher.  If not
               a message will be on the log and a PROC TABULATE will
               be run instead.

Change 34.100 -ZRBASI dataset variable ASILPGSZ was incorrect.
VMACRMFV      -ZRBGEI dataset variables below are now correctly divided
Apr 28, 2016   by SSHSMPNR:
May  5, 2016     GEISASL  GEIRSTRF GEILCPR GEILCMO  GEILF4K  GEILP4K
May 16, 2016     GEILPFRI GEILPFCI GEILCMU GEILCPU  GEILFPF  GEILSMO
                 GEIRFREM GEISUSE  GEILPAG GEILFUSE GEILPUSE GEIRSTRF,
               and variable GEIRSHR is now kept in dataset ZRBGEI.
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA

Change 34.099  zVM 6.3 z13 SMT-Mode MONWRITE support and correction.
VMACVMXA      -PRCMFM (5.20) HIS SMT-Mode-Only was not as presumed.  I
Apr 23, 2016   had thought the new HIS record would be like the new z/OS
Apr 26, 2016   SMF 113 Subtype 1, with interval data instead of the
May  9, 2016   accumulated fields.  But the new PRCMFM is unrelated to
               existing HIS counters in PRCMFC, and reports only the new
               MT-diagnostic counters, with only two (MTDIA448-MTDIA449)
               documented, and three others (MTDIA452,MTDIA453,MTDIA456)
               are populated, but IBM has claimed them proprietary so
               their content is not documented.
               But all five are kept in VXPRCMFM dataset.
              -PRCAPM (5.10) CRYPTO record has undefined Crypto Type 11
               that is now supported after IBM z/VM Support UPDATED the
               documentation today at
                 http://www.vm.ibm.com/PUBS/MON630/MRPRCAPM.HTML
   Thanks to Wolfgang Kueller,s IT Solutions, AUSTRIA.

Change 34.098  If the same POLICY-NAME is used in different SYSPLEX, the
ANALACTM       report did not print the WLM definitions because of the
Apr 23, 2016   filter criteria.  This revision adds SYSPLEX variable to
               protect for this unwise choice.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 34.097  RESERVED CHANGE NUMBER.

Change 34.096  Cosmetic.  Using WANTONLY=DB2ACCT,IFCIDS=ACCOUNT, READDB2
CLEARDB2       unexpectedly also created the WORK.DB2STSBP dataset; the
READDB2        READDB2 code to suppress it was not added to the MACKEEP,
Apr 21, 2016   and a typo in CLEARDB2 had changed _WDB2SBP to _WDB2SBR.

Change 34.095 -Gregorian dates were not displayed correctly in ASMRMFV
ASMRMFV        message log due to incorrect leap year testing in
ADOCRMFV       FINDGREG code.  Dates of the form ddmmmyyyy were listed
Apr 20, 2016   as one day later than actual.  Day of the week values in
Apr 27, 2016   these messages were also one day later than actual.
May 11, 2016   Julian dates of the form yyyy.ddd are correct.
              -NOTE: RMFBSAM output data was NOT affected only the dates
               in ASMRMFV log messages.  ASMRMFV does not modify dates
               in the RMFBSAM output file.
              -A S0C4 Abend could occur when an VSAM I/O Read Error
               happened processing the Sample Set Header (SSH) RMF III
               table.  This Abend was also possible processing the Data
               Set Header (DSH) and Service Policy (SVP) tables.
              -Several buffer handling improvements for performance are
               added and described below.
              -Three initial buffer size adjustments are changed to
               reduce FREEMAIN/GETMAIN overhead when an increase is
               needed during processing.  These are applied to the 32752
               RMF III VSAM Record Size to avoid buffer expansions.

               Buffer          Prior x Record Size    New x Record Size
               -------------   -------------------    -----------------
               Decompression          2                   160
               Sample                 1                     2
               Service Policy         1                    18

              -Decompression buffer expansions are particularly CPU
               expensive because the IBM ERB3RDEC decompression program
               must decompress the data first to find out if it fits in
               the buffer.  If not, the buffer must be expanded and the
               decompression repeated on the subsequent call.
              -The increases in buffer sizes are offset by new logic
               that only applies the adjustments to the first buffer
               acquisition.  Any subsequent expansions now only request
               the actual memory needed, but should be rare.  In prior
               ASMRMFV versions the adjustment was applied to every
               GETMAIN so the buffer areas became unnecessarily large
               when several expansions of the same buffer were needed.
              -In testing with 12 various RMF Monitor III data sets
               buffer memory used was actually slightly less than the
               current production ASMRMFV level.  Your actual results
               will vary.  REGION=300M was used for these jobs.

               ASMRMFV 33.274                   ASMRMFV 34.095

               LSR     16000K                   LSR     16000K
               INDEX      32K                   INDEX      32K
               SAMPLE   2207K                   SAMPLE   3198K
               DECOMP   7521K                   DECOMP   5118K
               SVP        96K                   SVP      1151K
                       ======                           ======
               *ALL*   25855K                   *ALL*   25499K

               Expands      6                   Expands      0

              -The assembler symbols &MULTD, &MULTS, and &MULTP remain
               tailorable in ASMRMFV by the user as before.  These set
               the initial buffer size multipliers for the
               Decompression, Sample, and Service Policy buffers
               respectively.  Any change to these values requires an
               assembly and link of ASMRMFV.
              -The BUFFERS parameter in ASMRMFV provides a listing after
               each RMF Monitor III data set processed to show buffer
               usage and expansions.  Ideally expansions should be zero.
               The default is NOBUFFERS and the display is suppressed.
              -NOASIX parameter causes ABEND S0C4 or RMFV075W messages;
               tests for this parameter were incomplete, but it is an
               emergency parameter to suppress ASI extension data,if ASI
               data needed to be bypassed. NOASIX causes data loss and
               was intended to be used only when recommended by support.
               Next ASMRMFV will correct; this is just a don't use note!
   Thanks to Randy Hewitt, HPE Enterprise Services, USA.
   Thanks to Randy Shumate, Reed Elsevier Technology Services, USA.

Change 34.094  PDB.JOBS observations with ABEND='JCL' were created for
BUILD005       purge records that were for job transmission. Now,
Apr 18, 2016    IF JSTRTIME=. AND SYSEXEC LE ' ' AND SYSTRANS GT ' '
Apr 19, 2016   the TYPE26J2 purge observation is output in PDB.NJEPURGE
               instead of PDB.JOBS.
              -Variable INTRDR is now kept in PDB.JOBS.
    Thanks to Ian Porter, NISSAN-NEDC, ENGLAND.

Change 34.093  New parameter GRAPHS= with a default of YES added so that
GRAFWRKX       you can specify TABULATE=YES without creating any graphs.
Apr 16, 2016   Tabulate was cleaned up so that there is only a single
               table generated rather than a table for each variable.

Change 34.092 -Support for IHDRRMFV "Header" Exit member to select which
IHDRRMFV       RMF III records are to be read by TYPERMFV from RMFBSAM.
IMACRMFV       Your selection code can be put in member IHDRRMFV in your
VMACRMFV       "USERID.SOURCLIB(IHDRRMFV)" tailoring library, or you can
VMXGINIT       use the macro variable MACRMFVH "instream" to select:
Apr 13, 2016     //SYSIN DD *
Apr 15, 2016       %LET MACRMFVH= %QUOTE(IF ERBDTYPE='ASIG3'; );
Apr 21, 2016       %INCLUDE SOURCLIB(TYPERMFV);
               would only populate the ZRBASI dataset.
              -Removed incorrect second INPUT of CPCGRPNM/CPCGRPLM that
               could cause STOPOVER INPUT STATEMENT EXCEEDED ERROR.
              -These ZRBASI variables are now input as PIB versus RB:
                 ASI_LVSHR4KB   ASI_LVSHR1MGBYTES   ASI_FREEMAINEDFRAMES
   Thanks to Randy Hewitt, Hewlett Packard, USA.

Change 34.091  Support for IMS Log 16x Sign On/Sign Off record creates
EXIMS16        new IMS16 dataset.
FORMATS         dddddd   dataset   description
IMAC16          IMS16    IMS16     IMS SIGN ON / SIGN OFF
VMACIMS
VMXGINIT
Apr 15, 2016
   Thanks to Gene Heikkinen, Blue Cross Minnesota, USA.

Change 34.090  TYPE115 Macro _WTY115X wasn't listed in _N115 null macro.
VMAC115        TYPECIMS Macro _WIMFMQ  wasn't listed in _N116 null macro
VMACCIMS       UTILBLDP, cosmetic, extra blank lines were printed in the
UTILBLDP       code that clears the old style macros.
Apr 13, 2016   A new QA report will detect _Nxxxx omissions.
   Thanks to Andre G. Moretto, IBM Global Technology Services/Delta, USA

Change 34.089  Support for SAMS VANTAGE User LSPOOLPO record INCOMPAT
VMACSAMS       changes.  These new variables in SAMSLSPC dataset:
Apr 14, 2016     SAMSBYFR  ='FREE*BYTES'
                 SAMSCLFR  ='MAXIMUM*FREE*EXTENT IN*TRACKS'
                 SAMSDSCBPCT='PERCENT*USED*DSCBS'
                 SAMSEAV   ='EXTENDED*ADDRESS*VOLUME?'
                 SAMSFREEC ='TOTAL*FREE*SPACE IN*CYLINDERS'
                 SAMSHASG='GLOBAL*HASH*VALUE'
                 SAMSHASL='LOCAL*HASH*VALUE'
                 SAMSLPAR='LPAR WHERE VANTAGE RUNS'
                 SAMSMFEB  ='MAX FREE*EXTENT*IN BYTES'
                 SAMSSHR   ='DASD*VOLUME*SHARE*STATUS'
                 SAMSSUBS='SUBSYSTEM WHERE VANTAGE*RUNS'
                 SAMSSYSP='SYSPLEX WHERE VANTAGE RUNS'
                 SAMSTCYLS ='TRKMGDSPACE*TOTAL*FREE*CYL'
                 SAMSTEXTNT='TRKMGDSPACE*FREE*EXTENTS'
                 SAMSTINDEX='TRKMGDSPACE*FRAGMENTATION*INDEX'
                 SAMSTMCYLS='TRKMGDSPACE*MAX EXT*CYL PORTION'
                 SAMSTMTRKS='TRKMGDSPACE*MAX EXT*ADDL TRKS'
                 SAMSTTRKS ='TRKMGDSPACE*ADDITIONAL*FREE*TRKS'
                 SAMSTVTRKM='TRKMGDSPACE*TOTAL TRACKS'
                 SAMSTVTRKS='TOTAL*TRACKS ON*VOLUME'
               and variable SAMSRSVD, a reserved field, is not kept.
              -SAMSPOOL record was also INCOMPATIBLY changed but no
               new variables were created.
   Thanks to Emmanuelle Tanguy, ARKEA, FRANCE.

Change 34.088  Unused Change Number.

Change 34.087 -MXG 34.02, IMS 12.1, IMS 07 record was misaligned due to
VMACIMS        8 overlooked added bytes, and incorrect input of DLRAZAAP
Apr 12, 2016   that was added in IMS 13.1, not 12.1.2
              -Zero divide fix if MXGRDTM=0 (fast read on ASCII).
              -Variable LINTSY2 is formatted $HEX16.
   Thanks to Paul Volpi, UHC, USA.

Change 34.086  Support for TYPE8069 RACFEVNT 8069 R_PKISERV GENCERT
EXTY8069       event, including protection for truncated TP2=322 and
IMAC80A        doc errors for TP2=343 and TP2=351.
VMAC80A
VMXGINIT
Apr  8, 2016
   Thanks to Joe Faska, DTCC, USA
   Thanks to William M. Vender, DTCC, USA.

Change 34.085  Support for these new z/VM VXSYTEMP dataset variables
FORMATS        from the extended (third) segment:
VMACVMXA         NCM_TCT_FCOP='FICON*OPERATIONS'
Apr  8, 2016     NCM_TCT_DFCOP='DEFERRED*FICON*OPERATIONS'
Apr 12, 2016     NCM_SCT_FCOP='SUMM COUNT*FICON*OPERATIONS'
Apr 14, 2016     NCM_TCT_FCXTM='FICON*TRANS-MODE*OPERATIONS'
Apr 21, 2016     NCM_TCT_DFCXTM='DEFERRED*FICON*TRANS-MOD*OPS'
Apr 24, 2016     NCM_SCT_FCXTM='SUMM COUNT*FICON*TRANS-MODE'
Apr 26, 2016  -Variables PCTLPABY and PCTCPCBY are now correctly
May  4, 2016   calculated AFTER the deaccumulation.
May 16, 2016  -Format $MGVXACH is updated for new Channel Types.
May 23, 2016  -Dataset VXSTOVDK variable QDIIOCNT is now deaccum'd.
              -Dataset VXSYTLCK variables CALS/CALX/SYN  deaccum'd.
              -Dataset VXAPLSL0 is now properly deaccumulated; note that
               only observations with TICKS GT 0 are output.
              -Dataset VXSYTLCK variable CALSSCNT is DIF()d and SYNATT4S
               second DIF() corrected to SYNFTG4S.
              -Dataset VXBYUSR variables that are now deaccumulated:
                VMUYPLTL0-5,VMUSTLT0-5,VMUVMTL0-5,VEBALERT/HDWAI/SVSCT/
                TPIAI/TVSCT/VEBVIRAI,VMDUFOCT/UOFTM/SLCNT
              -Dataset VXIODVSW is now deaccumulated with sort order
               corrected.
              -Some deaccumulated datasets had observations output with
               DELTATM value negative; those are now correctly deleted
               (they are the first instance so no deaccum is possible).
              -Dataset VXMTREND now has DELTATM=. as it is not accumed.
              -Dataset VXIODDEV variable VIUTIMIN's TIME12.2 reinstated.
               These variables had missing values and missing labels:
                RDEVSKSM64 RDEVWXCT RDEVRXCT SCMIDTIM SCMPDTIM PAVIDTIM
                PAVPDTIM
              -May 16: Variable ASMSSCH in dataset VXSTOASP is only two
               bytes, so its accumulation wraps at a value of 65536; MXG
               had incorrectly used FFFFFFFFx, causing large values.
               But variable SCGSSCH is four bytes and would be safer.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 34.084  The MOBWRKI2 is now updated for the new DB2STSBP data,
MOBWRKI2       preventing ERROR: FILE WORK.SUMSTSBP.DATA DOES NOT EXIST.
Apr  7, 2016
   Thanks to Jan Tielemans, KBC, BELGIUM.

======= Changes thru 34.083 were in MXG 34.02 dated Apr  5, 2016========

Change 34.083  IMS56FA ARRVTIME value is wrong for transactions that
VMACIMS        arrived from a system whose GMT offset is not the same as
Apr  5, 2016   this system.  Now, the GMT delta between the two systems
               is added to ARRVTIME when there is a difference so that
               all datetime values are local to this IMS system.
               Note that you must use TYPSIMST ("S" for SORT) program to
               invoke the _SIMS56G for the Chain correction.  Use the
               JCL example in the TYPSIMST member's comments.
              -The INPQUETM is a zero value if the ENDTIME of the prior
               transaction in a chain is LATER than the STRTTIME of this
               transaction.  Why this happens is not understood yet.
              -The _IMSVERS macro is NOT USED for the IMS56FA processing
               because the actual version is in the 56FA record and is
               used by MXG to control version differences, so multiple
               IMS version's 56FA records can be processed together.
               The MXG NOTE/WARN messages about _IMSVERS are removed.
               Macro _IMSVERS is used ONLY for 07/08/0A/31/35/36/40/59
               IMS log records, but only the 07/08 records need 10.1 or
               11.1 or 12.1 to be specified and processed separately.
   Thanks to Michael J. Lamdin, Verizon, USA.
   Thanks to David A. Bernhardt, Verizon, USA.
   Thanks to Matthew E Bogart, Verizon, USA.
   Thanks to Mark Albert, Verizon, USA.
   Thanks to Stephen P. Nathan, IBM, USA.

Change 34.082  DB2 Trace IFCID 196 variables QWn196HY (0-8), QW0196WY,
VMAC102        are formatted $HEX4 and INPUT $CHAR2 and QW0196W9 is
Apr  5, 2016   formatted $HEX16.
Apr 16, 2016  -Some _S102348-_S102355 dataset sort macros had repeated
               PROC SORTs, but there were no errors, just wasted time.

Change 34.081 -Oracle/STC User SMF records GMTOFFTM could be "slightly"
VMACSTC        wrong with a slightly larger (seconds to a minute) and a
Apr  4, 2016   non-integer value for a few observations, depending on
               the SMFTIME delta to the earlier STC timestamp; the GMT
               algorithm used in VMACSTC was unique and now uses the
               normal calculation.
              -Some VMXGTIME calls were revised, and dataset STCVSM28
               has new variable REPDURTM=DURATION*OF*REPLICATION added.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.

Change 34.080 -z/VM 6.3.15.2 SMT MODE, BROKEN CONTROL RECORD ERROR due
VMACVMXA       to new fields added to SYTCUP segment that now create:
Apr  5, 2016      LCXPMTST='PARTITION*MULTITHREADING*STATUS'
                  LCXHGPNM='LPAR*GROUP*NAME'
              -Unrelated, CECSER was not populated in VXMTRSYS because
               that 1.4 record is written before the 1.5 record that has
               the CECSER is written.   If you use TYPSVMXA to invoke
               sorting of all datasets, this update will populate CECSER
               into the VXMTRSYS dataset.  Or you could use
                 %INCLUDE SOURCLIB(TYPEVMXA);
                 _SMTRSYS
                 _SMTRPRT
                 RUN;
   Thanks to Graham Harris, RBS, ENGLAND.

Change 34.079  RMF III ZRBASI dataset new variables are created/decoded:
FORMATS          ASICX='ADDRESS*SPACE*TYPE'
VMACRMFV             VALUE $MGRMFCX
Apr  3, 2016          'S '='S:STARTED TASK'
                      'T '='T:TSO'
                      'B '='B:BATCH'
                      'A '='A:ASCH'
                      'O '='O:OMVS'
                      '? '='?:UNKNOWN'
                      'E '='E:ENCLAVE'
                      'SO'='S:STARTED TASK WITH OMVS PROCESS'
                      'TO'='T:TSO WITH OMVS PROCESS'
                      'BO'='B:BATCH WITH OMVS PROCESS'
                      'AO'='A:ASCH WITH OMVS PROCESS'
                      'OO'='O:OMVS WITH OMVS PROCESS'
                      '?O'='?:UNKNOWN WITH OMVS PROCESS'
                      'EO'='E:ENCLAVE WITH OMVS PROCESS'
                     ;
                      ASICR='WLM*CRITICAL*STATUS'
                     VALUE $MGRMFCR
                      'C '='C:CPU CRITICAL'
                      'S '='S:STORAGE CRITICAL'
                      'SC'='SC:BOTH CRITICAL'
                     ;

Change 34.078 -MXG 34.01. TYPE72GO variable MSUSOFT was wrong, because
VMAC7072       the correct calculation in Change 34.010 was overridden
VMXGRMFI       by the un-removed original calculation (TCBPART/SRBPART).
Apr  2, 2016  -MXG 33.33. RMF72 had MSU72, MSUINTRV, MSUPERHR variables
               incorrectly containing Software MSU, while MSU4HRAV did
               have the correct Hardware MSU.  MXG 34.01 changed those
               three variables to correctly contain Hardware MSU, and
               created three new variables with Software MSU, but the
               MSU4HRAV was changed to Hardware MSU.  This 34.02 change
               corrects MSU4HRAV also to contain Hardware MSU.  The
               MSU4HRAV in RMFINTRV is only the Software MSU captured
               in the TYPE72GO Service Class records; the IBM Four Hour
               Average Software MSU actually used for software costs is
               in the TYPE70LAC variable in PDB.TYPE70.
              -RMFINTRV MSU variables for Software MSU all have an "S":
                 Software:  MSUSOFT   MSUINTRVS   MSUPERHRS  MSU4HRAV
                 Hardware:  MSU72     MSUINTRV    MSUPERHR    n/a
              -MSUSOFT will be missing if ONLY type 72 records are read;
               70s always precede 72s and CECSUSEC is retained from that
               type 70 to calculate MSUSOFT.
   Thanks to Randy Shumate, Reed Elsevier, USA.

Change 34.077  Support for optional CICSTRAN variable USERCT01.
IMACICWT
UTILEXCL
VMAC110
Apr  1, 2016
   Thanks to Niels Ole Kjeldsen, KMD, DENMARK.

Change 34.076  Support for dataset TYPE80TK new variables TOKMREVOKED,
VMAC80A        TOKMREVREAS and TOKMFIREACCS/
Mar 31, 2016
   Thanks to Roger X Baker, GLIC, USA
   Thanks to Frank Bauer, GLIC, USA.

Change 34.075 -THIS IS A FATAL ERROR AND SCRT/MWRT REPORT WILL ABEND,
MOBWRK05       if you included data with the CLOCK CHANGE hours.  Your
Mar 31, 2016   MARCH REPORT MUST RUN BETWEEN APR 2-9 WITH this update.
               When the clock is changed for winter/summer/daylight time
               two rows were created in MWRT_LOOKUP89 that caused
               "REPEATS OF BY VALUES" messages.  This change keeps only
               the first row and eliminates the message.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.
   Thanks to Rudi Claes, KBC, BELGIUM.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 34.074  The bit tests for the new TYPE0201 and TYPE0202 datasets
VMAC0203       for decoding variables SMF2IHASHMETH and SMF2ISIGTYPE
Mar 31, 2016   were missing the final "B", causing blank values.
   Thanks to Robert Sample, TOMY, USA.

Change 34.073  Dataset TYPE749 (PCIE) is enhanced with new calculated
VMAC74         variables used in RMF reports.
Mar 30, 2016
   Thanks to Michael Friske, FMR, USA.

Change 34.072A Support for SMF 102 IFCID 58 Added Segment creates new
EX102A58           DDDDDD   DATASET   DESCRIPTION
IMAC102            102A58   T102SA58  Added END SQL STATEMENT EXEC
VMAC102        See Change 33.102 (in MXG 34.03) which corrected VMAC102
VMXGINIT       and validated the new data.
Mar 30, 2016

Change 34.072  RMF 73 Subtype 3 ERROR R723DNST NOT EQUAL TO R723RTYP is
VMAC7072       for the seldom-used TYPE72DL, in only one record, which
Mar 30, 2016   had one WRS pair with RTYP='CB' and RDNN=6 with six DSNTs
Mar 31, 2016   that matched, but the RTYP='DB2' pair also had RDnn=6 but
               there were no segments with DSNT='DB2'.  Other RTYP='DB2'
               records have RDNN=0. While I believe the record is wrong,
               and should have RDNN=0, IBM noted that all of the sample
               counts in R723RW01-R723RW15 are zero and there could be
               no name table entries, so MXG now circumvents by only
               reading the name table when there are samples recorded.
               (Variables R723RN01-R723RN15 are blank if no table.)
              -But this investigation exposed a logic error in MXG
               reading the name table; the OFFDSN was NOT incremented,
               so only the first segment was being input, repeatedly,
               which is now corrected.
   Thanks to Lorena Ortenzi, UniCredit Group, ITALY
   Thanks to Paolo Uguccioni, UniCredit Group, ITALY

Change 34.071  Cosmetic. Label for R749DBYR and R749DBYT were corrected.
VMAC42
Mar 29, 2016
   Thanks to Michael Friske, FMR, USA.

Change 34.070  I/O Connect time S42CONNTM=AVGCONMS*IOCOUNT/1000 is now
VMAC42         calculated and kept in TYPE42DS, TYPE42SR and TYPE42VT
Mar 27, 2016   datasets, formatted TIME13.3.

Change 34.069 -Variable RNI is now kept in TYPE1131.
ASUM113       -The SORTED BY list had SM113STM SM113CPU transposed.
VMAC113       -Dataset TYPE1131 _KTY1131 "variable keep" macro now
Mar 24, 2016   works for both TYPE1131 and ASUM1131.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 34.068  z/OS 2.2 SMF 73 INPUT EXCEEDED due to Split 73 record not
VMAC73         supported.  VMAC73 now detects split records, but IBM
Mar 24, 2016   plans a 2ndQ APAR that redesigns the 73 split so that
Mar 31, 2016   self-contained records are written (EIX=HEN), and that
May  4, 2016   design is already supported in the existing 73 code.
               These are the variables populated from the extended seg:
                SMF73ECP SMF73EOC SMF73EOD SMF73EOS SMF73ETC SMF73ETD
                SMF73ETS CHFRATE CHFACTV CHFDFER CHFXRATE CHFXACTV
                CHFXDFER
               So, if you don't have the APAR and want those variables
               added, you would use n the _STY73EX macro.
                 %INCLUDE SOURCLIB(VMAC73,VMACSMF,IMACKEEP);
                 DATA _VAR73; _SMF ; _CDE73;  _STY73EX;
               The TEMP73EX dataset is created with the split segments
               from the second (split) record (when EIX GT HEN) and the
               new _STY73EX replaces the _STY73 dataset sort macro to
               sort and merge TEMP73EX into TYPE73.  This split record
               had 158 valid channels but only 105 fit in the first 32K
               record (because IBM writes 256 channel segments in every
               every record, including offline, so the other 53 Extended
               Channel segments were in the second record.
              -May 4: APAR OA50254 eliminates the split 73 records and
               each record will be self-contained with matching channel
               path data sections and extended channel path sections.
   Thanks to Joachim Sarkoschitz, DATEV, GERMANY

Change 34.067  z/OS 2.2 OAM SMF 85 INPUT STATEMENT EXCEEDED because MXG
VMAC85         tested R85PVRM for specific versions but not for '2020'.
Mar 24, 2016   However, that ancient test is no longer needed for the
               subtypes 78,79, and 88 since all records now have the
               missing early fields that needed that test, so new z/OS
               versions' won't need VMAC85 to be updated for R85PVRM.
   Thanks to Joachim Sarkoschitz, DATEV, DENMARK.

Change 34.066 -zVM MONWRITE dataset VXBYUSR is enhanced with these three
VMACVMXA       memory variables, VMDUFACTC, VMDUFIBRC and VMDCTPNS.
Mar 21, 2016  -New:  You can specify  %LET MXGABND=8709; so that the
               BROKEN CONTROL RECORD ERROR will now also cause the job
               to ABEND with a USER 8709 abend code, so the error can't
               be overlooked.  (This error usually occurs when a back
               level of MXG tries to read data from a new zVM version.)
   Thanks to Graham Harris, RBS, ENGLAND.

Change 34.065  CICS/TS 5.3 MNSEGCL=5 INPUT STATEMENT EXCEEDED error due
VMAC110        to MXG read of 128 bytes but the segment is only 120.
Mar 21, 2016   You have to have enabled TSQUEUE Resource Class data to
               populate dataset CICSRDQU to encounter this error.
   Thanks to Bob Duchesneau, Northwestern Mutual, USA.

Change 34.064 -Circumvention for BBMQ Short E6 records. The last segment
VMACBBMQ       in every E6 record is 4 bytes shorter than ENTL, but the
Mar 21, 2016   four bytes are unused, so this heuristic detects the last
Mar 28, 2016   record condition and the last segment is now output in
               the BBMQQUES dataset (which will have more observations.)
              -Circumvention for incorrect ENTL for E4 which caused the
               BBMQLMGR to be trashed. ENTL=1336 in header but only 1275
               exist.
              -BY lists updated for NODUP removal for BBMQBUFF, BBMQCHAN
               BBMQLMGR and BBMQPAGE, although no duplicates have ever
               been created, just to be consistent.
              -Mar 28: Datetimes were incorrectly set to GMT in 34.01.
               now corrected to local.
   Thanks to Jim Swinarski, Credit-Suisse, USA.

Change 34.063  ERROR START GREATER THAN END creating DBID/OBID format is
ANALDB2R       corrected with this rewrite of VMFMT102 and the dropping
VFMT102        of the system and timestamps from the keys to the format.
Mar 22, 2016   The FORMATs are now the same whether you use POINTINTIME
Mar 31, 2016   or the T102S105/107 records but POINTINTIME will always
               be more accurate since it is a snapshot of what DB2 sees
               while the 105/107 records will only reveal databases
               that have been opened.

   Thanks to Jutta Gleixner-Schmid, Allianz, GERMANY

==== Changes thru 34.062 were in FINAL MXG 34.01 dated Mar 21, 2016====

Change 34.062  Cosmetic. With MXGREADSMF=LOGGER or =BOTH, log messages
VMACSMF        "LAST RECORD" and the SMF Summary box of times/bytes read
Mar 17, 2016   were not printed.  Superfluous code was removed.
   Thanks to Chris Weston, SAS ITRM, USA.

Change 34.061  Support for BMC MAINVIEW FOR IP, creates these three
EXMVIP2C       datasets of primary interest:
EXMVIP2F         DDDDDD   MXG        MXG
EXMVIP03         DATASET  DATASET    DATASET             RECORD
FORMATS          SUFFIX   NAME       LABEL               SUBTYPE
IMACMVIP
VMACMVIP         MVIP2C   TAC9I490   TN3270PERF            2C
VMXGINIT         MVIP2F   TAC9I350   SAWDATA               2F
Feb 26, 2016     MVIP03   TAC9I820   TACCONS               03
Mar 15, 2016
May  7, 2016   Note that IMACMVIP is tailored to only create these
May 30, 2016   three datasets.
Jun  1, 2016   Labels added Jun 1.
Aug  2, 2016   The MXG support for Mainview for IP requires the BMC
               utility program BBM9MD73 to "dump" the BMC VSAM file
               to a valid VB file that MXG can process.
               Aug 2: SWSTOPTX corrected to local time.

Change 34.060  ITRM ONLY, MXG 34.01 ONLY, CRITICAL ERROR because &PDB
VMXG70PR       was used instead of &PDBMXG in two places; &PDBMXG has
Mar 15, 2016   always been the intended default macro variable for the
               default "PDB" destination, and is required by ITRM.
   Thanks to Chris Weston, SAS ITRM, USA.

Change 34.059  Short type 119 subtype 41 with only one triplet populated
VMAC119        caused INPUT STATEMENT EXCEEDED.  The record does not
Mar 14, 2016   contain any subtype 41 data. The first three instances
               print a DELETED message on log.

==== Changes thru 34.058 were in THIRD MXG 34.01 dated Mar 14, 2016=====

Change 34.058  MXG 34.01: CRITICAL:  TYPE72GO only PERIOD 1 was output.
VMAC7072       Change 34.010 added MSU72 but used DO _I_= inside a DO
Mar 14, 2016   that already used DO _I_, which terminated the first DO.
   Thanks to Randy Shumate, Reed Elsevier, USA.

=== Changes thru 34.057 were in SECOND MXG 34.01 dated Mar 14, 2016=====

Change 34.057  Documentation only.  Member JCLINSTT example has steps to
JCLINSTL       FTP download, Unterse, and create USERID and FORMATS; new
JCLINSTT       JCLINSTL example has only USERID and FORMATS create, if
VMXGCNFG       you have already downloaded and untersed the new version.
Mar 11, 2016   Example DSNAMES are MXG.MXGVVNN.SOURCLIB/FORMATS in these
               members and in the ftp instruction email text.

               The install instructions stress that if you now depend on
               the SAS NLSCOMPATMODE option to handle local characters
               (British Pound, French accents, umlauts, etc.) you will
               have to change your JCL for MXG to use your site's SAS
               JCL procedure, with the CONFIMXG option, because SAS has
               stated their intention to remove that option in a future
               version.
               See examples and comments in member VMXGCNFG.
                //MXGSTEP EXEC SAS,CONFIG=MXG.SOURCLIB(CONFIMXG)
                //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
   Thanks to Tom MacCabe, Dominion Resources Services, Inc., USA.

Change 34.056  TYPE 60 dataset variable SMF60ELP was misaligned, VVRKEY
VMAC60         was not converted to EBCDIC text, and these address space
Mar 11, 2016   size/address variables are formatted MGBYTES
                 VVRDSHA  VVRDSHU  VVRHARBA VVRHURBA
                 VVRXEBA1-VVRXEBA5 VVRAMASP
   Thanks to Michael Friske, FMR, USA.

Change 34.055  TYPE 120 ST 9 new TYP1209R (REQUEST) and TYP1209N (ASYNC,
EXT1209N       Non-Request) datasets completely replace four existing
EXT1209R       TYP1209x datasets.  The subtype 9 is either a REQUEST or
IMAC120        ASYNC event, and the two new datasets contain only the
VMAC120        variables that are appropriate for that event. These two
VMXGINIT       new datasets eliminate the need to populate the A/C/E/S
Mar 11, 2016   datasets, which can be created with zero observations
Mar 16, 2016   by tailoring each _Edddddd "dataset output macro" to
Mar 21, 2016   replace the OUTPUT statement with a blank, either in your
Apr 11, 2016   //SYSIN for jobs that create TYPE120 datasets with
                 %LET MACKEEP=
                   MACRO _ET1209A % MACRO _ET1209C %
                   MACRO _ET1209E % MACRO _ET1209S %
                 ;
               or you can put the two macro lines in your IMACKEEP
               member in your USERID.SOURCLIB tailoring PDS/directory.
               Mar 21:
              -The TYP1209U CPU detail dataset contains up to 20 obs
               per event, and variable REQASYNC identifies the event,
               and added variables identify the source of that event.
               The CPU detail dataset metrics are summarized into the
               TYP1209N or TYPE1290R dataset.
              -The 1209C and 1209S segments have three or 12 obs per
               event, so new variables SM1209ES1-SM1209ES3 and
               SM1209EO1-SM1209E12 are created with those IDENTITY and
               CLASSIFICATION values, eliminating any need for
               TYP1209C/TYP1209S datasets. And new variable REC1209SEGS
               identifies which segments were populated in each
               TYP1209R/TYP1209N/TYP1209U observation.
              -The order of segment processing was revised.
              -The value of SM1209CI can be negative: That means that
               the request didn't finish. The TCB CPU time at the start
               is held, and the TCB CPU time at the end is subtracted to
               get the SM1209CI value. If the servant abended or some
               other bad thing happened and the request never finished,
               there was no 'end time', so you get a negative value.
               It's actually an indicator that something went wrong!
               Apr 11: Labels for the CPU variables are clarified:
                 SM1209DA='ENCLAVE*TOTAL*CPUTIME'
                 SM1209DB='ENCLAVE*ZAAP*CPUTIME'
                 SM1209DC='ENCLAVE*ZAAP*ELIGIBLE*ON CP'
                 SM1209DD='ENCLAVE*ZIIP*ELIGIBLE*ON CP'
                 SM1209DE='ALWAYS*ZERO*QUALIFIED*CPU TIME'
                 SM1209DF='ENCLAVE*ZIIP*TIME*ON ZIIP'
                 SM1209HG='ENCLAVE*TOTAL CPUTIME'
                 SM1209HH='ENCLAVE*ZAAP*CPUTIME'
                 SM1209HI='ENCLAVE*ZAAP*ELIGIBLE*ON CP'
                 SM1209HJ='ENCLAVE*ZIIP*ELIGIBLE*ON CP'
                 SM1209HK='ALWAYS*ZERO*QUALIFIED*TIME'
                 SM1209HL='ENCLAVE*ZIIP TIME*ON ZIIP'
   Thanks to Joesph Faska, DTCC, USA.
   Thanks to Betty Wong, Bank of America, USA.

Change 34.054  Variable SMF42LAN was not converted to EBCDIC after the
VMAC42         INPUT SMF42LAN $VARYING64. causing unprintable text.
Mar 10, 2016

Change 34.053  BMC APPTUNE FIX BPU8604 caused INPUT STATEMENT EXCEEDED
VMAC102        error for subtype 8005x because the R8 triplet has R8N=1,
Mar 10, 2016   R8O=1512 with R8L=0 in a record that is only 1511 bytes
               long.  That INPUT is now skipped when the R8L is zero,
               pending a correction from BMC.
   Thanks to Rudi Claes, KBC, BELGIUM.

Change 34.052  WPS Only, First MXG 34.01 Only.  A typo RUN: with colon
VMXGINIT       in line 3667 of VMXGINIT must be deleted as it caused
Mar 10, 2016   WPS to fail to initialize.  I would have normally caught
               this in my QA with that ABEND, but my SETINIT expired and
               I had a condition code rather than an ABEND overlooked.

Change 34.051  Change 33.240 updated MACRO _IO30TM but had replicated
IMAC30IO       IOTM3390 causing WARINING: VARIABLE IOTM3390 EXISTS.
Mar 10, 2016   Delete the second IOTM3390.
   Thanks to Randy Shumate, Reed Elsevier, USA.

Change 34.050  Variables SM1209CM, SM1209CR, SM1209CS were incorrectly
VMAC120        kept in datasets TY1209C, TY1209S, and TY1209U, and were
Mar  9, 2016    used incorrectly in the _ST1209C  and _ST1209U BY lists,
               so combining multiple PDBs build with and without this
               change could fail with a NOTSORTED error on either.
               This Change was included in 34.055, above.
   Thanks to Joesph Faska, DTCC, USA.

Change 34.049  Support for ASG/TMON Version 4.0 for CICS, REQUIRED.
VMACTMO2       Version changed all duration fields from microsecond to
Mar  9, 2016   todstamp units, but these 15 variables were not divided
               by 4096 (the other 399 were), so these variables will
               have values larger by that 4096 factor.
                 CICOVHTM FILEIOTM TAARQRTM TAARQWTM TAAWTTTM TAAWTWRT
                 TADSPCPU TADSPDTM TADSPSTM TADSPWRT TATCBSTM TATCBSTM
                 TATCBSTM TIIWTWRT TMCGADT
               Fortunately, none of these duration variables are in the
               primary MONITASK dataset.
   Thanks to Miguel Machin, CAREFIRST, USA
   Thanks to Alan Gray, CAREFIRST, USA.

=== Changes thru 34.048 were in FIRST MXG 34.01 dated Mar  7, 2016======

Change 34.048  Support for BE93 Version 6.1.0 (INCOMPATIBLE, header was
VMACBETA       relocated).  No new variables nor datasets.
Mar 7, 2016
   Thanks to Rudolf Sauer, T-SYSTEMS INTERNATIONAL GmbH, GERMANY.

Change 34.047  Support for z/OS 2.2 RMF III data records.
VMACRMFV      -No change is needed for the ASMRMFV program that reads
Mar 6, 2016    the Compressed VSAM file to create the RMFBSAM data file.
              -New variables in ZRBASI dataset:
                ASICPUTA_LF  ='CPU*TIME'
                ASIDCTIA_S   ='CHANNEL*CONNECT*TIME'
                ASIDP          ='DISPATCHING*PRIORITY'
                ASIFRXA_LF   ='FIXED*FRAMES*ABOVE'
                ASIFRXB_LF   ='FIXED*FRAMES*BELOW'
                ASIFRXH_LF   ='FIXED*FRAMES*HIGH'
                ASIIOCNT_S   ='EXCPS'
                ASIQSCANRES    ='QSCAN*RESOURCES*RETURNED'
                ASIQSCANRESSQ1 ='QSCAN*ASIQ*SCANRES*SSQ1'
                ASIQSCANRESSQ2 ='QSCAN*ASIQ*SCANRES*SSQ2'
                ASIQSCANSPECREQ='QSCAN*SPECIFIC*REQUESTS'
                ASIQSCANTIME   ='QSCAN*REQUESTS*ISSUED'
                ASIQSCANTIMESQ1='QSCAN*ASIQ*SCANTIME*SSQ1'
                ASIQSCANTIMESQ2='QSCAN*ASIQ*SCANTIME*SSQ2'
                ASITCBTA_LF  ='TCB*TIME'
                ASITRCA_S    ='TRANSACTIONS'
                ASITRT         ='TRANSACTION*RESIDENT*TIME'
                ASI_FREEMAINEDFRAMES='FREEMAINED*FRAMES'
                ASI_HVSHRPAGEVALIDATIONS='PAGE*VALIDATONS*HI SHARE'
                ASI_LVSHR1MGBYTES='HWM*HIGH*VIRTUAL*SHARED'
                ASI_LVSHR1MNMOMB='SHARED*1M*MEMORY*OBJECTS'
                ASI_LVSHR4KB    ='SHARED*BYTES*HI VIRT'
              -New variables in ZRBCPU dataset:
                CPC_ATD_AAP    ='AVERAGE*THREAD*DENSITY*AAP'
                CPC_ATD_CP     ='AVERAGE*THREAD*DENSITY*CP '
                CPC_ATD_IIP    ='AVERAGE*THREAD*DENSITY*IIP'
                CPC_CAPF_AAP   ='MT CORE*CAPACITY*FACTOR*AAP'
                CPC_CAPF_CP    ='MT CORE*CAPACITY*FACTOR*CP '
                CPC_CAPF_IIP   ='MT CORE*CAPACITY*FACTOR*IIP'
                CPC_MAXCAPF_AAP='MT CORE*MAXIMUM*CAPACITYAAP'
                CPC_MAXCAPF_CP ='MT CORE*MAXIMUM*CAPACITYCP '
                CPC_MAXCAPF_IIP='MT CORE*MAXIMUM*CAPACITYIIP'
                CPC_MODE_AAP   ='MT CORE*MODE*AAP'
                CPC_MODE_CP    ='MT CORE*MODE*CP '
                CPC_MODE_IIP   ='MT CORE*MODE*IIP'
                CPC_PROD_AAP   ='MT CORE*PRODUCTIVITY*AAP'
                CPC_PROD_CP    ='MT CORE*PRODUCTIVITY*CP '
                CPC_PROD_IIP   ='MT CORE*PRODUCTIVITY*IIP'
                CPU_PARK_CP  ='PARKED*TIME*CP'
                CPU_PARK_IFA ='PARKED*TIME*IFA'
                CPU_PARK_ZIP ='PARKED*TIME*ZIP'
                CPU_ONLINE_CP ='ONLINED*TIME*CP'
                CPU_ONLINE_IFA ='ONLINE*TIME*IFA'
                CPU_ONLINE_ZIP ='ONLINE*TIME*ZIP'
              -New variables in ZRBGEI dataset:
                GEILSMO ='MEM OBJ*HI VERT*BACKED IN*1MB FRAMES'
                GEIRFREM='FREEMAINED*FRAMES*ALL ASIDS'

Change 34.046  ASUMCACH now works without RMF III data and supports tape
ASUMCACH       or disk.  When the PDB is on tape, TYPE74 is copied to
Mar 5, 2016    //WORK to prevent having two open tape datasets.

Change 34.045  JES2 SMF 26 z/OS 1.13 TRIPLET segment before PRINT caused
VMAC26J2       INPUT STATEMENT EXCEEDED ERROR on z/OS, or a FLOATING
Mar  5, 2016   POINT EXCEPTION on ASCII.  The unexpected order
               misaligned the input of offset variable SMF26OJC to have
               a value of 3,806,577,725, which then caused the error
               when INPUT @SMF26OJC was executed with that large value.
               The SMF manual has always shown all 7 segments at offset
               50, so it's the order in the SMF manual that has
               previously defined their order in the record.  This
               change heuristically detects the order of those two
               segments.
              -Change 33.046 added support for the SMF26JCR field in MXG
               33.02 last year, and that new code failed on the reversed
               records at this one site, where all records on some
               systems were reversed, and all records on other systems
               had the correct segment order.
   Thanks to Rich Kuehn, Global eXchange Services, Inc., USA.

Change 34.044  New Capacity Group reports of CEC resources consumed by
ANALGRCA       LPARS within a capacity group by RMFINTRV workloads,
GRAFWRKC       reporting percent CPU, total CPU time, estimated hourly
Mar  6, 2016   software MSU, and memory consumption by workloads and
               then by LPAR.

               ANALGRCA and GRAFWRKC both report on Group Capacity.
               A good place to start is gragwrkc - it will take your
               RMFINTRV dataset and build a picture by CEC and Capacity
               Group of %CPU busy, CPU time, estimated hourly MSU, and
               memory with a pair of graphs for each, the first by your
               RMFINTRV workloads, the second by LPAR within the
               Capacity Group.  You can narrow down the squeaky wheel
               to a workload and/or lpar, and then you can use ANALGRCA
               to fine tune the analysis.

               ANALGRCA will do much the same thing but lets you zero-in
               on what is pushing you to the cap or to a threshold you
               specify.  The threshold can be an absolute number of MSU
               or a percentage of the total group capacity. It will look
               at the LPARS in the group using ASUMCELP, the workloads
               using RMFINTRV, and the SMFINTRV dataset to look at
               tasks.  There are parameters to specify the date to
               examine, the interval to use (but it must be the same as
               the cecintrv in asumcelp.) and for workload and job level
               data only those intervals that exceeded the threshold are
               used in reporting.

Change 34.043  MXG 33.33. Change 33.316 missed the four reserved bytes,
VMAC71         causing SMF71CPx, SMF714Kx, & SMF71PLx to be misaligned.
Mar  2, 2016
   Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.

Change 34.042  Support for DCOLLECT FLAG4 bits that indicate each
VMACDCOL       size variables are now in MegaBytes, previously in
Mar  7, 2016   KiloBytes, in DCOLBKUP and DCOLMIGS datasets.
Mar  8, 2016  -Mar 8.  UBALLSP and UMALLSP 024* changed to 1024*.
Mar 22, 2016  -Mar 22. All ten UBFLAG and UMFLAG bit tests corrected.
May  8, 2016  -May 8: Change 34.112 corrected UBDSIZE high by 1024.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 34.041  Support for ATF V531 Enhanced Summarization Phase 2
FORMATS        inserted these new variables:
VMACATF          ATFPGMSW ='PROGRAM*SWITCHES'
Mar  6, 2016     ATFXSNOTN='OTHER*ITEMS**VAR'
Mar  9, 2016     ATFXSNOTL='OTHER*ITEMS**LENGTH'
Apr  5, 2016     ATFXSUOW ='TRANSACTION*UOW'
               and the DLI-DB/DLI-TM/DBD/DB2/MQ/OTHERA/OTHERB segments
               have new GROUP BUCKET NUMBERs and/or ITEM CODES that are
               decoded in new FORMATS.
              -Mar 9: (after 34.01) Short 8-byte DBD supported, DLI DB
               and DLI TM and OTHER-A segments have been validated.
              -Apr 5: Variables ATFXSRSP ATFXSACP ATFXSIQT were wrongly
               divided by 4096 twice.

Change 34.040  TYP11921 variable NTHOSTTN is increased from $8 to $64 to
VMAC119        support host names that are fully qualified TCP/IP domain
Mar  2, 2016   name.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
   Thanks to Gary Nash, Lloyds Banking, ENGLAND.

Change 34.039  Support for new SMF Type 29 IMS JAVA CPU and Garbage Coll
EXTY29GC       creates new datasets
EXTY29JA         DDDDDD    MXG       MXG
IMAC29           DATASET   DATASET   DATASET
TYPE29           SUFFIX    NAME      LABEL                    SUBTYPE
TYPS29
VMAC29           TY29GC    TY29GC    IMS JVM GARBAGE COLLECTION   2
VMXGINIT         TY29JA    TY29JAVA  IMS JVM CPU USAGE            2
Mar  2, 2016   See Change 34.221 which revised and validated with data.


Change 34.038  New variables created in TYPE1209 dataset:
VMAC120         SM1209HE='ENCLAVE*JOINED OR*CREATED?'
Mar  1, 2016    SM1209HF='ENCLAVE*SCHEDULED?'
   Thanks to Joe Faska, DTCC, USA.

Change 34.037  Using %LET MXGREADSMF=BOTH caused ERROR 181-185 VARIABLE
VMACSMF        SMFINFILE already exists.  Code revised to use LOGINFILE
Feb 28, 2016   variable for the INFILE LOGGER.
   Thanks to Chris Weston, SAS ITRM, USA.

Change 34.036  TYPE30_5 dataset can have ABEND='SYSTEM' CONDCODE=0000 if
FORMATS        a step had a SYSTEM or USER ABEND, but the last step did
VMAC30         not ABEND (e.g., a FLUSH step followed the ABEND).  Since
Mar  1, 2016   the type of ABEND is unknown in the TYPE30_5 JOB record,
               MXG now sets ABEND='ABEND' instead of ABEND='SYSTEM' in
               TYPE30_5.  However, in PDB.JOBS, MXG populates both ABEND
               and CONDCODE from the LAST step that ABENDed, so you will
               not see ABEND='ABEND' except in TYPE30_5.  And, since it
               is really STEPS that ABEND, and not JOBS, you should use
               the PDB.STEPS or TYPE30_4 for ABEND analysis.
   Thanks to Linda S. Berkley, USPS, USA.

Change 34.035  These SYNCSORT variables are now kept, formatted $HEX2:
VMACSYNC         SYNRETRY='RETRY*FLAG'
Feb 25, 2016     SYNMISCF='SMFFLAG3*MISC*FLAG'
   Thanks to Bruce Bordonaro, Pershing, USA.

Change 34.034  Reserved Change Number.
Feb 28, 2016

Change 34.033  Change 31.118 added new fields in the EXGRXEXT (Extended
VMACEDGR       Record), but those fields are also in the basic dataset
Feb 28, 2016   records EDGRDEXT and the volume records EDGRVEXT, and
               this change adds them to those two datasets.
   Thanks to Thomas Giordano, Australian Defence Department, AUSTRALIA.

Change 34.032  Support for DB2 Trace IFCIDS 311 and 321.
VMAC102
Feb 24, 2016

Change 34.031  Cosmetic.  If your _IMSVERS does not match the version in
VMACIMS        the IMS56FA record, the previous MXGNOTE is now MXGWARN.
Feb 24, 2016   and the text is clearer when they do match.

Change 34.030  TYPE42D4 DATASET variables SMFA2GTAA & SMFA2GTAB are now
VMAC42         correctly INPUT and kept, replacing incorrectly spelled
Feb 22, 2016   SMFA2GSA and SMFA2GSB, with the CA and CI Splits.
   Thanks to Michael Friske, FMR, USA.

Change 34.029  Variables SMF70GNM and SMF70GMU added to PDB.RMFINTRV to
VMXGRMFI       enable reporting of workloads by Capacity Group.
Feb 22, 2016

Change 34.028  MXG 33.33. ASUM70PR Change 33.306 required PDB.TYPE70 to
VMXG70PR       exist in the //PDB data library, so the group capacity
Feb 22, 2016   metrics could be created, but it was not documented that
               that the TYPE70 dataset was required.  Normally TYPE70 is
               in the PDB with the TYPE70PR dataset, but if TYPE70 was
               not found in the //PDB library, the ASUM70PR failed.
               Now VMXG70PR verifies that TYPE70 exists and uses it if
               found, or does not read it if not found, which causes the
               new Group Variables to not exist in the ASUM output.
               Or, with 33.33 you can circumvent the error using this
               code ahead of your ASUM70PR include:
                 %LET MACKEEP=%QUOTE( MACRO _LTY70 NEWPDB.TYPE70 % );

Change 34.027  MXG set the TYPE1131 CPU Speed SM1132SP to 5000 for z13
VMAC113        because early records contained either 5208 for CP or had
Feb 22, 2016   ZERO for the IP speed. But that is now wrong with the new
Feb 29, 2016   sub-capacity z13s (Speed=3173), so the logic now forces
               the 5000 value only if the record contains zero or 5208.
   Thanks to Andrew Hebden, Barclays, ENGLAND.

Change 34.026  Support for MVMQ (BBMQ) PTF BPL2558 which was to change
VMACBBMQ       all duration fields from TODSTAMP to microseconds, but
Feb 22, 2016   BMC now reports that pre and post that PTF, the values
Mar 10, 2016   have always been in seconds with microsecond fractions.
Mar 22, 2016   MXG was dividing by 4096 presuming TODSTAMP, which is
               known to have always been wrong and is now corrected.
               Apparently, the primary use has been counts and events
               and not durations, as no one noticed!
              -Mar 10: Cosmetic typo QSCLOSETTIME to QSCLOSTTIME.
              -Unrelated, but observed, that all character date/times
               were on GMT zone; new datetime numeric variables replace
               them and are set to the local time zone.

Change 34.025  Dataset TYPE70EN, variable PCTMVSBY=100 was incorrectly
VMAC7072       calculated when SMF70PAT, Parked Time, was close to the
Feb 12, 2016   DURATM, but did not exactly match.  A 1 second delta is
               now required to calculate a non-zero PCTMVSBY=0.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 34.024  Dataset TYPE72GO, variable RESPSTD, Standard Deviation of
VMAC7072       Response time was 2% larger than IBM Value; the 1.04875
Mar  1, 2016   conversion factor is corrected  to 1.024.
   Thanks to Richard Stuchell, VISA, USA.

Change 34.023  Parameter list was alphabetized and the parameters used
UTILBLDP       are displayed on the log.  A check was added to the list
Feb 12, 2016   of parameters where an = should not exist as that is
               normally an indication that a comma was left off of one
               of the parameters.

Change 34.022 -DB2STAT2 statistics dataset new variables:
VMACDB2          QDBPFRAM='FRAMESIZE'
Feb 11, 2016     QDBPVPMI='VPSIZEMIN'
Feb 28, 2016     QDBPVPMA='VPSIZEMAX'
Mar 23, 2017     QDBPSPSZ='SIMULATED*BUFFER*POOL*SIZE'
                 QDBPSPST='SIMULATED*SEQ*THRESHOLD'
              -DB2ACCTP Package dataset, new flag variable
                QPACINCO='INCOMPATIBLE*FUNCTION?'
              -Documentation: In DB2ACCTP, if QPACRUSM='Y', these fields
               are listed by IBM as invalid:
                QPACCRNT QPACINSP QPACPAC  QPACPKNM QPACCOLN QPACPKID
                QPACCONT QPACSCB  QPACSCE  QPACBJST QPACEJST QPACASCH
                QPACAANM QPACAAFG QPACINCO
              -Added Mar 23, 2017:
               Existing Rollup flag variable DB2PARTY='R' is also set
               if QPACRUSM, the new Rollup Summary flag variable is set.
               When DB2PARTY='R', the four datetime variables above
                 QPACBJST QPACEJST QPACSCB QPACSCE
               are always zero for BJST/EJST and missing for SCB/SCE.
               Those were the individual package event datetimes that
               are lost with DB2 ROLLUP summarization.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 34.021  CICSTRAN variable TRANFLAG creates variables from each
FORMATS        byte, some are decoded with new formats:
VMAC110         TRANFLAGTF='TRANFLAG*TRANSACTION*FACILITY*NAME'
Feb 12, 2016       VALUE $MGCICTF
                    '0'='BIT0:NONE'
                    '1'='BIT1:TERMINAL'
                    '2'='BIT2:SURROGATE'
                    '3'='BIT3:DESTINATION'
                    '4'='BIT4:3270 BRIDGE'
                   ;
                TRANFLAGID='TRANFLAG*TRANSACTION*IDENTIFICATION'
                   VALUE $MGCICTI
                    '0'='BIT0:SYSTEM TRANSACTION'
                    '1'='BIT1:MIRROR TRANSACTION'
                    '2'='BIT2:MIRROR TRANSACTION DPL'
                    '3'='BIT3:ONC RPC ALIAS TRANS'
                    '4'='BIT4:WEB ALIAS TRANSACTION'
                   ;
                TRANFLAGWL='WLM*STATUS'
                   VALUE $MGCICWL
                    '0'='BIT0:WLM REPORT'
                    '1'='BIT1:WLM NOTIFY COMPLETION'
                    '2'='BIT2:WLM NOTIFY'
                   ;
                 TRANFLAGIN='INDOUBT*STATUS'
                   VALUE $MGCIC8I
                    '0'='BIT0:INDOUBT WAIT=NO'
                    '1'='BIT1:INDOUBT ACTION=COMMIT'
                    '2'='BIT5:INDOUBT FAILURE'
                   ;
                 TRANFLAGUO='UOW*STATUS'
                   VALUE $MGCIC8U
                    '0'='BIT2:UOW INDOUBT ACTION'
                    '1'='BIT3:UOW SHUNT'
                    '2'='BIT4:UOW UNSHUNT'
                    '3'='BIT5:INDOUBT FAILURE'
                   ;
                 TASKDATALOC='TASKDATALOC*BELOW?'
                 TASKDATAKEY='TASKDATAKEY*CICS?'
                 TASKISOLATE='TASKISOLATE*NO?'
                 TASKDYNAMIC='TASKDYNAMIC*YES?'
   Thanks to Perry Lim, Union Bank, USA.

Change 34.020  PK-ZIP SMF records INPUT STATEMENT EXCEEDED error due to
VMACPKSZ       one field expanded from 2 to 4 bytes.
Feb 10, 2016
   Thanks to Dorothy Yeung, Toyota, USA.

Change 34.019 -STC Variables STC26MST & STC26MET were on GMT time zone,
FORMATS        now corrected to local to match other datetimes.
VMACSTC       -STC variables STCxxADR were $HEX8 formatted, but that
Feb  9, 2016   is removed as they contain EBCDIC text, not HEX.
Feb 11, 2016  -STC variables STCxxRID are now HEX4 formatted, as they
Feb 24, 2016   contain numeric hex values.
              -New format $MGSTCMV maps values in variable STC16MVC.
              -New variables decode bits of SMF17DFL:
                STC17DRX='RETENTION*PERIOD*REDUCED?'
                STC17DAR='AUTO*RECALL?'
                STC17DMF='FULL*MVS?'
                STC17DYV='RTD*VARY*COMMAND?'
                STC17DSW='MVC OR*RTD*REQUIRED?'
                STC17DRT='RETAIN*PERIOD*APPLIED?'
               and RID variables show 0-F as their range.
              -STC11TOL has a third value now supported.
              -STC11CSP is relabeled CHANNEL TYPE and formatted.
              -Some labels with "MVS" are corrected to "MVC".
   Thanks to Randy Hewitt, Hewlett Packard, USA.

Change 34.018  Reserved Change Number.

Change 34.017  Support for NDM-CDI SE Session End record creates
EXNDMSE           DDDDDD   DATASET    DESCRIPTION
IMACNDM            NDMSE    NDMSE      NDM SESSION END
VMACNDM
VMXGINIT
Feb  8, 2016
   Thanks to Gerard Bosker, RaboBank, THE NETHERLANDS.

Change 34.016  New variables in MAR 02 record.
VMACMAR        TO DO: Subtype 7. Await data in  March.
Feb  6, 2016

Change 34.015  New analysis of Group Capacity.
ANALGRCA       Inputs are PDB.RMFINTRV,PDB.SMFINTRV,PDB.ASUMCELP.
Feb  6, 2016   See Change 34.044 for GRAFWRKC and a comparison.

Change 34.014  Support for Rocket Software DVS User SMF record ST 1 & 2.
EXDVS01        New datasets created
EXDVS02           DDDDDD   DDATASET    DESCRIPTION
IMACDVS            DVS01      DVS01     DVS CLIENT SYSTEM RECORD
TYPEDVS            DVS02      DVS02     DVS INTERVAL SUMMARY RECORD
TYPSDVS       -The DVS01 interval dataset is written for each Connection
VMACDVS        ID, variable DVS1CNID.  This is IBM DVM Data Virtual Mgr.
VMXGINIT      -Mar 3: The two lines in the LENGTH statement extended
Feb  5, 2016   beyond 72 characters; on z/OS only, those variables
Mar  3, 2016   were kept in 4 instead of 8 stored bytes, so there would
               have been some truncation of datetime values, worst case
               255 seconds.

Change 34.013  DB2 dataset T102S166 for IFCID 166 variable QW0166SI is a
VMAC102        statement identifier input $CHAR8 and format $HEX16, but
Feb  4, 2016   it is the statement number, so new variable QW0166SINR is
               the numeric statement number; labels clarified.
   Thanks to Akhil Vasudevan, Capital One, USA.

Change 34.012  MSU chart modified to reflect an estimated hourly MSU
GRAFWRKX       value so that you can see which workloads are making
Feb  2, 2016   the largest contributions to the rolling 4 hour avg.

Change 34.011 -MXG 33.33 with ITRM can cause these errors:
ITRM             ERROR: File WORK.SUMSTSBP.DATA does not exist.
Feb  2, 2016   because the new DB2STSBP dataset is now added into the
               PDB.DB2STATS dataset, but the new _SDB2SBP sort macro
               was not known in ITRM ("NEW"!).
              -The correction is easy for BUILDPDB:
               ITRM 2.7: Originally reported in 33.301 and MXG 33.33 GA:
                   ITRM users MUST add this statement
                      %LET EPDBOUT= _SDB2SBP;
                   inserted between %CMPROCES... and %CPSTART....
               ITRM 3.4-3.6: New in this change:
                   ITRM users MUST add
                   %LET EPDBOUT= _SDB2SBP ;
                   at the top of their SYSIN input.
              -For TYPSDB2 program, instead of BUILDPDB, create a new
               TYPSDB2 member in your USERID.SOURCLIB "tailoring"
               library with these statements:
                  %INCLUDE SOURCLIB(VMACSMF,VMACDB2,IMACKEEP);
                  DATA
                  _VARDB2
                  _SMF
                  _CDEDB2
                  _SDB2SBP
                  _SDB2
              -ITRM 3.7, when released later this year, eliminates this
               exposure by invoking the _SDB2 macro which MXG protects.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 34.010 -TYPE72GO variable MSU72, HARDWARE MSU, was re-labeled and
GRAFWLM        variable MSUSOFT corrected and also re-labeled:
VMAC7072         MSU72    ='CAPTURED*HARDWARE*MSU 72*COUNT*NOT A RATE'
VMXGRMFI         MSUSOFT  ='CAPTURED*SOFTWARE*MSU 72*COUNT*NOT A RATE'
Feb  4, 2016
                 HARDWARE MSU:  ORIGINAL MSU - SU_SEC BASED - LARGER
                 SOFTWARE MSU:  NEW MSU - SMF70CPA/CECSUSEC BASED, FOR
                                SOFTWARE PRICING.

                 MSU72  =CPUTM*SU_SEC/1000000;
                 MSUSOFT=CPUTM*CECSUSEC/1000000;

                 MSUSOFT can be a missing value if no prior RMF 70 for
                 this system was found, since it needs SMF70CPA from the
                 same-system's RMF 70 to calculate in the RMF 72 code.
              -These MSU variables are created in RMFINTRV and TRNDRMFI
               with per interval values:
                 MSUINTRV ='TOTAL*HARDWARE*MSU 70*COUNT*NOT A RATE'
                 MSUPERHR ='TOTAL*HARDWARE*MSU 70*EXTENDED*HOURLY RATE'
                 MSUINTRVS='TOTAL*SOFTWARE*MSU 70*COUNT*NOT A RATE'
                 MSUPERHRS='TOTAL*SOFTWARE MSU 70*EXTENDED*HOURLY RATE'
              -New Workload XXXXMSU variables (BATMSU,CICSMSU) and
               XXXXMSUS (BATMSUS,CICSMSUS) variables for each workload
               are created with these labels:
                 BATMSU  ='BATCH*CAPTURED*HARDWARE*MSU 72*COUNT'
                 BATMSUS ='BATCH*CAPTURED*SOFTWARE*MSU 72*COUNT'
              -New chart of estimated hourly MSU used by IMPORTANCE in
               GRAFWLM (need all three of these updated members).

Change 34.009 -BASECICS and BASEDB2 parameters added to match VMXGALOC
VGETALOC       logic and allow for different directories to hold the
Feb 2, 2016    often large CISTRAN/DB2ACCT datasets.
              -The message that a LIBNAME could not be found is now
               suppressed unless MXGEXIMSG is YES.

Change 34.008 -WebSphere variable WTASCTSR was 4096*E6 too large, as it
VMAC115        was input as PIB8 instead of PIB8.6 and was missing the
VMAC116 2016   the required divide by 4096 to convert to seconds.
Jan 29, 2016  -New variables added to MQMACCTQ dataset.
Feb 12, 2016     WTASPBHW='PUBLISH*HIGH*WATER*MARK'
                 WTASPBTT='PUBLISH*TOTAL*ELAPSED*TIME'
                 WTASPRCT='PREPARE*CPU*TIME'
                 WTASPRET='PREPARE*ELAPSED*TIME'
                 WTASPRN ='PREPARES'
                 WTASSMRB='MESSAGE*BLOCKS*READ FROM*SMDS'
                 WTASSMRP='PAGES*OF DATA*READ FROM*SMDS'
                 WTASSMRS='SMDS*READS SAVED*DATA IN*BUFFER'
                 WTASSMWB='MESSAGE*BLOCKS*WRITTEN TO*SMDS'
                 WTASSMWP='PAGES*OF DATA*WRITTEN TO*SMDS'
                 WTASSMWT='WAIT TIME*FOR SMDS I/O*COMPLETION'
                 WTASTPCT='TOPIC*CPU*TIME'
                 WTASTPET='TOPIC*ELAPSED*TIME'
                 WTASTPN ='TOPIC*COUNT'
                 Variable WTASCTSR is corrected in value and formatted
                 as TIME16.6.
              -Type 115 dataset TYPE115S variable QESDBFPT was wrong;
               it contained QESDBFBT instead of BFPT.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 34.007  Change 33.153 for IMF/MAINVIEW FOR IMS for IMF 5100 was
VMACCIMS       not correct, because new variables only in 5200 were read
Jan 26, 2016   when they should not have been.  Logic revised for 5100.
   Thanks to Betty Wong, Bank of America, USA.

Change 34.006 -Change 33.024 incorrectly overlaid UTILRMFI with UTILWORK
UTILRMFI       when the SYSOTHER message was added, which eliminated the
UTILWORK       report.
Jan 25, 2016  -UTILRMFI generates reports using your RMFMINTRV WORKnn
               definitions, finding any duplications, by comparing the
               SMF30s and RMF72s CPU times.
              -UTILWORK generates a skeleton RMFINTRV member based on
               SERVICE class or REPORTING class.
   Thanks to Michael Gebbia, Eddie Bauer, USA.

Change 34.005 -Support for zVM HIS (SMF 113) PDB.VXPRCMFC accumulated.
VMAC113       -Support for zVM HIS (SMF 113) PDB.VXPRCMFM intervaled.
VMACVMXA       Dataset VXPRCMFC is the old SMF 113 subtype 2 accumulated
Jan 30, 2016   and VXPRCMFM is the newer SMF 113 subtype 1 intervaled,
Feb  8, 2016   and only VXPRCMFM will be updated by IBM in the future.
Feb 25, 2016  -SMF 113 EXTND counter labels for z13 were incorrect; the
Feb 27, 2016   values and equations were correct, and now both VMAC113
Feb 29, 2016   (z/OS) and VMACVMXA (z/VM) have the same labels, which
               default to the labels for the z13 counters.
                 (See Change 31.172 to change _XLA113 to earlier CPUs.)
              -All zVM MONWRITE VXdddddd datasets now have SYSTEM kept
               (most did), and all now have CECSER to identify both the
               software and hardware identifications.
              -RNI for zEC12 was updated to use 2.3 factor in VMACVMXA.
              -All calculated variables for the zEC12 were wrong; while
               VMAC113 was updated, VMACVMXA was not for VN2=3 data.
              -Support for Multiple CECs/SYSTEMs zVM data changed the
               sort order of all datasets by inserting CECSER SYSTEM
               ahead of BEGINMTR: BY CECSER SYSTEM BEGINMTR other vars.
   Thanks to David Cogar, Wells Fargo, USA.
   Thanks to Carl D. Ellis, Wells Fargo, USA.

Change 34.004  End Comment was missing around JCL example, caused 180
FDRCRYPT       syntax error.
Jan 20, 2016
   Thanks to Michael Gebbia, Eddie Bauer, USA.

Change 34.003  A tailored BUILDPDB created a libname with view that
PDBAUDIT       caused an error when a PROC SQL read DICTIONARY.TABLES
Jan 28, 2016   and returned a LIBNAME of _TMPLIB that didn't exist:
                 ERROR: FILE _TMPLIB.XTY70CP.DATA DOES NOT EXIST.
               The error was in PROC SQL FROM DICTIONARY.TABLES and was
               difficult to diagnose as there are NO other references on
               the log to either that libname or that dataset name. This
               similar example causes an obscure LIBREF not found error:
                  LIBNAME FRED (SASUSER);
                  DATA FRED.DATA;
                     A=1;
                     RUN;
                  PROC SQL;
                     CREATE VIEW WORK.WILMA AS SELECT * FROM FRED.DATA;
                     QUIT;
                  LIBNAME FRED CLEAR;
                  PROC SQL;
                     CREATE TABLE TABLES AS SELECT *
                     FROM DICTIONARY.TABLES WHERE LIBNAME='WORK';
                     QUIT;
                The error message is that libref FRED is not assigned,
                but if you weren't the author of this code, you wouldn't
                have had a clue that you needed a libref called FRED.
              -This MXG change excludes MEMTYPE EQ 'VIEW' from PROC SQL
               since only real data libraries are wanted in PDBAUDIT.
              -PDBAUDIT already skips reports on known SAS LIBNAMES,
               since its purpose is to audit YOUR data libraries;
               these additional LIBNAMES are also now skipped:
                  APFMTLIB   CTRLLIB   ITMACR   MAILLIB
                  STMFMT     STPSAMP   ZOSRSTG1
              -The PDBAUDIT report can be skipped if you chose, using
                 %LET MXGPDBAUDIT=NO;
               in your SYSIN input.

Change 34.002  HSMFSRST dataset contains three dates (READ,REQUEST,SMF)
ASUMHSM        but four times (REQUEST, ALLOC, START, END) have no date,
VMACHSM        and if an HSM event spanned one or more days, those
Jan 20, 2016   time values couldn't be used to calculate durations. This
               change creates these four new DateTime variables
                  FSRTIMRDT='DATETIME*REQUEST*ISSUED'
                  FSRTIMSDT='DATETIME*REQUEST*STARTED'
                  FSRTIMADT='DATETIME*ALLOCS*COMPLETED'
                  FSRTIMEDT='DATETIME*REQUEST*ENDED'
               from those four times, using END-SMF, then ALLOC-END and
               START-ALLOC deltas to detect when a prior event happened
               on the prior day and correct the date part.
               And these two new durations are now created:
                  FSRQUEUETM='FSR*QUEUE*TIME*REQ TO*START'
                  FSRSERVICTM='FSR*SERVICE*TIME*START*TO END'
               - The comparison of TIMEPART(SMFTIME)-FSRTIME, an 8-byte
                 and a 4-byte stored variable produced non-zero deltas
                 on the order of E-08, so the ROUND(delta,.01) function
                 was needed to prevent false positives.
               -ASUMHSM was updated to use the new datetime variables.
   Thanks to Randy Hewitt, Hewlett Packard, USA.

Change 34.001  If the OPTION CHARCODE is enabled, text (??) in VGETOBS
VGETOBS        is incorrectly parsed causing CHARACTER OPERAND ERROR:
Jan 19, 2016    MXGNOTE: VGETOBS LAST UPDATED MAR 17, 2015 CHANGE 33.063
                ERROR: CHARACTER OPERAND WAS FOUND IN THE %EVAL FUNCTION
                       THE CONDITION WAS:  %LENGTH(&VGETDSN) = 0
                ERROR: THE MACRO VMXGWORL WILL STOP EXECUTING.
               Changing the text to ( ?? ) resolves the parse.  The SAS
               default is NOCHARCODE, and the only MXG code that needs
               CHARCODE, member FORMATS, resets to NOCHARCODE, and that
               program is only run once to update formats for new MXG.
               Using CHARCODE in FORMATS allows one member to create the
               MXG formats on both ASCII and EBCDIC platforms, but the
               rest of MXG code is only validated with NOCHARCODE.
   Thanks to Francois Vancoppenolle, PVGroup, BELGIUM.

LASTCHANGE: Version 34.
=========================member=CHANGE33================================
 /* COPYRIGHT (C) 1984-2016 MERRILL CONSULTANTS DALLAS TEXAS USA */

Annual  MXG Version 33.33  is dated Jan 18, 2016, thru Change 33.327
First   MXG Version 33.33 was dated Jan 11, 2016, thru Change 33.321
        MXG Version 33.13 was dated Dec 23, 2015, thru Change 33.311
First   MXG Version 33.13 was dated Dec 21, 2015, thru Change 33.309
        MXG Version 33.12 was dated Dec  1, 2015, thru Change 33.286
First   MXG Version 33.12 was dated Nov 27, 2015, thru Change 33.284
        MXG Version 33.11 was dated Nov  2, 2015, thru Change 33.260
        MXG Version 33.10 was dated Oct 20, 2015, thru Change 33.250
        MXG Version 33.09 was dated Sep 15, 2015, thru Change 33.217
        MXG Version 33.08 was dated Aug 20, 2015, thru Change 33.195
First   MXG Version 33.08 was dated Aug 17, 2015, thru Change 33.189
        MXG Newsletter SIXTY-SIX was dated Aug 17, 2015.
        MXG Version 33.07 was dated Jul 22, 2015, thru Change 33.172
First   MXG Version 33.07 was dated Jul 17, 2015, thru Change 33.170
        MXG Version 33.06 was dated Jun 11, 2015, thru Change 33.141
        MXG Version 33.05 was dated May 19, 2015, thru Change 33.128
Second  MXG Version 33.05 was dated May 12, 2015, thru Change 33.124
First   MXG Version 33.05 was dated May 12, 2015, thru Change 33.123
        MXG Version 33.04 was dated Apr 29, 2015, thru Change 33.112
        MXG Version 33.03 was dated Mar 31, 2015, thru Change 33.085
Second  MXG Version 33.03 was dated Mar 29, 2015, thru Change 33.084
First   MXG Version 33.03 was dated Mar 27, 2015, thru Change 33.083
        MXG Version 33.02 was dated Feb 27, 2015, thru Change 33.047
First   MXG Version 33.01 was dated Feb 20, 2015, thru Change 33.044
ANNUAL: MXG Version 32.32 was dated Jan  6, 2015, thru Change 32.309

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 33.33 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 33.33.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================


I.  MXG Version 33.33 re-dated Jan 18, 2016, thru Change 33.327.

  Major CHANGES added in MXG 33.33, dated Jan 18, 2016:

  TYPE110  33.326  MXG 32.10-First MXG 33.33. Increased CPU in SMF 110s
                   from 300 to 500 seconds for 22GB SMF 110s, corrected.
  TYPEVMXA 33.327  Data set VMBYUSR missing many observations.
  VMXGALOC 33.325  Correction for WEEK1 allocation.
  TYPEXAM  33.324  zVPS variable CALENTMT changed from numeric, conflict

  Major CHANGES added in MXG 33.33, dated Jan 11, 2016:

  TYPEXAM  33.320  Support for zVPS z13 SMT mode new variables.
  TYPE70EC 33.318  Data Set SORT70EC NOT SORTED, configuration changed.
  TYPE42   33.316  New variables compatibly added by z/OS 2.2.
  TYPE64   33.316  New variables compatibly added by z/OS 2.2.
  TYPE71   33.316  New variables compatibly added by z/OS 2.2.
  TYPE74   33.316  New variables compatibly added by z/OS 2.2.
  TYPE99   33.308  New variables compatibly added by z/OS 2.2.
  SMFSRCH  33.307  Support for multiple text strings in LOOKFOR=.
  ASUMCELP 33.306  Variables SMF70GNM, SMF70GMU, SMF70WLA added.
  ANALACTM 33.312  Correction for more than one service policy.

  Major CHANGES added in MXG 33.13, dated Dec 23, 2015:

  UTILBLDP 33.311  Execution stops if BUILDPDB=YES, with &SPINUOW error.

  Major CHANGES added in First MXG 33.13, dated Dec 21, 2015:

Critical Change for ITRM USERS (MXG 33.12+):
  ITRM     33.301  ITRM users MUST add %LET EPDBOUT= _SDB2SBP;
                   inserted between %CMPROCES... and %CPSTART....
                   ERROR: File WORK.SUMSTSBP.DATA does not exist.
Critical Change for z/OS 2.2 MXGTMNT/TAPE MOUNT MONITOR:
  ASMTAPEE 33.207  ML-55 of ASMTAPEE/MXGTMNT REQUIRED for z/OS 2.2.
                   IBM changes cause ABEND S0E0-28, must reassemble.
New Products Support
  TYPEIMS  33.298  Support for IMS 14.1 log records (COMPATIBLE)
  TYPE74   33.305  z/OS 2.2 RMF 74 Subtype 10 creates TYPE7410/TYPE74SC,
                   (new Storage Class Memory data).
  TYPE78   33.305  z/OS 2.2 new variables in TYPE78PA.
  TYPEVMXA 33.299  Support for zVM 6.3 MONWRITE z13 SMT MODE.
Errors Corrected:
  TYPEDB2  33.303  Multiple DB2 100 Subtype 1 created multiple DB2STATS.
  TYPE102  33.294  SMF 102 IFCIDs 81E5-8160,8051x INPUT EXCEEDED DRROR
Enhancements
  ANALIDDY 33.290  ANALIDDY tabulates ANALID SMF data by date, used to
                   investigate SMF dumping problems.


  Major CHANGES added in MXG 33.12, dated Dec  1, 2015:

Reason for this new version:
  TYPE7072 33.280  PDB.TYPE70 z13 SMT mode ZIPCPUS value may be wrong.
New Products Support:
  TYPEDB2  33.279  Support for DB2 Simulated Buffer Pool PDB.DB2STSBP.
  MOBWRK02 33.279  Support for DB2 Simulated Buffer Pool dataset.
  TYPE102  33.264  Support for APPTUNE 11.2 INCOMPATIBLE change in 8005.
  TYPE119  33.262  Support for SMF 119 subtypes 2, 5, 6, 7, 41-44, 97.
Errors corrected:
  TYPE102  33.273  DB2 SMF 102 IFCID=109 INVALID DO LOOP CONTROL ERROR.
  TYPE1415 33.270  Variable SMF14ALIAS misspelled so it was not kept.
  TYPE120  33.267  SMF 120 dataset TYP120JI only output first instance.
  TYPEXAM  33.266  MXG 33.11 only. ERROR VARIABLE SYTPN NOT FOUND.
  TYPETPMX 33.265  ThruputMgr TPMSLM variables TPMSLXGF/LXGN wrong.
Enhancements:
  JCLASMXG 33.275  Assemble/Link Edit all five MXG ASM programs install.
  ASMRMFV  33.274  ASMRMFV Updates.
  MXGLOG   33.162  MXGLOG write enabled by //MXGLOG or FILENAME MXGLOG,
                   automatically.


  Major CHANGES added in MXG 33.11, dated Nov  2, 2015:

Reason for this new version:
  TYPE110  33.257  CICS/TS 5.3 BETA CICSTRAN new field added INCOMPAT
         This should be the last REQUIRED MXG update for CICS/TS 5.3.
New Products Support:
  TYPEXAM  33.259  Support for zVPS Release 4230 for z13 SMT mode.
Enhancements:
  TYPEIMST 33.252  Variable SYSTEM can be added to TYPE56FA with SYSPARM


  Major CHANGES added in MXG 33.10, dated Oct 20, 2015:

New Products Support:
  TYPE121  33.231  Support for JZOS Java Runtime Performance SMF 121.
  TYPEATF  33.245  Support for OMEGAMON ATF IMS Log Record LCODE A2.
  TYPE6    33.233  Support for APAR OA46136 adds IPADDR in PSF SMF 6.
  TYPEVMXA 33.242  Support for zVM 6.3.15.0 VXSYSPRT for z13 SMT mode.
  TYPERACF 33.238  Support for RACF IRRDBU00 Record Type 1560.
  TYPEEDA  33.237  Support for EDA V7706 (INCOMPATIBLE, data inserted).
  TYPETPMX 33.232  Support for Thruput Manager VARNAME=$ORIGIO.
  TYPEDOS  33.248  Support for zVSE/Power Version 9 Release 2 accounting
Enhancements:
  ANALCAPD 33.225  Major revision to analysis of Capping, now by LPAR.
  ASMRMFV  33.222  RMF III DVT Character data Filtering saves DASD.
  ANAL2642 33.230  Example to select TYPE26 and match with TYPE42.
  ANAL1430 33.230  Example to select TYPE14 and match with TYPE30.
  VMACUCB  33.245  DEVCLASS=41 decode identifies specific CTC type.
  TYPE80A  33.243  RACF Type 80 record "subtypes" (RACFEVNT) for ANALID.
  IMAC30IO 33.240  EXCPxxxx and IOTMxxxx can be dropped for nonexistent.
  TYPE7072 33.239  New _KTY70DR to drop variables from TYPE70 dataset.
  TYPE102  33.236  All DB2 zPARM QWP4xxxx fields are now correct.
  TYPE42   33.230  Summed vars S42READS,S42WRITES added to TYPE42DS.
Error Corrections:
  TYPE74   33.234  TYPE74HO false duplicates were being removed.
  TYPENDM  33.229  NDM PT records INPUT EXCEEDED, INCOMPAT inserts.
  TYPE22   33.227  Dataset TYPE22PB RECONFIG PCIE had zero observations.
  TYPE74   33.228  SMF 74 St 9 z/OS 2.1 z/13 INPUT STATEMENT EXCEEDED.
  TYPE103  33.223  Short SMF 103 Subtype 13 INPUT EXCEEDED error.
  TYPE102  33.250  SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED.


  Major CORRECTIONS added in MXG 33.09, dated Sep 15, 2015:

  ASMTAPEE 33.207  ML-55 of ASMTAPEE/MXGTMNT REQUIRED for z/OS 2.2.
                   IBM changes cause ABEND S0E0-28, must reassemble.
  TYPE7072 33.217  z13, SMT Mode, error: LPARCPUS=0 in PDB.TYPE70PR.
  TYPE110  33.198  CICS/TS 5.3 BETA, MNSEGCL=5, INPUT STATEMENT EXCEEDED
                   IBM inserted new data. Datasets CICSRDS/RDFI/RDQU.
  TYPETMO2 33.210  More TMON/CICS Version 3 and Version 4 corrections.
                   MONITASK in V3.3 fixed, MONISYST in V3.3 and 4.0.
                   ASG APAR corrects two obscure fields in 4.0.
  TYPE7072 33.216  Support for APAR OA47042 WLM MOBILE Resources in RMF.
  TYPECDC  33.201  Support IBM INFOSPHERE CHANGE DATA CAPTURE CDC V10.2
  TYPEAXWY 33.199  Support for AXWAY SMF record, INCOMPATIBLE, inserts.
  TYPE120  33.213  Support for WASODM Operational Decision Manager 8.7.
  TYPEMGCR 33.212  Support for MEGACRYPTION Version 6, INCOMPATIBLE.
  TYPE30   33.206  z/OS 2.2 Job Correlation SMF30COR input/kept.
  BUILDPDB 33.204  Variable IOTMNODD was never calculated in PDB.JOBS.
  TYPEXAM  33.202  Velocity ZVPS 5.4 XAMSYT had zero observations.
  TYPE113  33.197  Variable LPBUSY created in ASUM113 like TYPE113.
  TYPEDB2  33.205  DB2ACCTP variables QPACPKID/LOCN/ may be truncated.
  TYPEBVIR 33.196  TCVSIZE is now MGBYES, AVGCPUSE/DEFTH corrected.
  TYPE70   33.200  TYPE70xx datasets now have VARYed interval data kept.


  Major CORRECTIONS added in MXG 33.08, dated Aug 20, 2015:

CRITICAL, REQUIRED CHANGES (that caused redate/refresh of 33.08):
  TYPETMO2 33.195  TMON/CICS Version 4 was still wrong in 1st 33.08.


  Major enhancements added in FIRST MXG 33.08, dated Aug 18, 2015:

CRITICAL, REQUIRED CHANGES:
  TYPE7072 33.186  z13 INCOMPATIBLE ERROR, SMT-MODE, if VARY CP online.
                   The VARY put the new CP after the IIPs which broke
                   MXG logic so the new engine was not seen, causing the
                   CPU metrics to be wrong for all intervals after the
                   VARY, requiring redesign of the MXG SMT logic.
  TYPETMO2 33.188  TMON/CICS Version 4.0, REQUIRED, MXG coding error.
  TYPESYNC 33.184  Support for SYNCSORT Release 1.4 (INCOMPAIBLE).
NEW SUPPORT ITEMS:
  TYPExxxx 33.189  Support for z/OS 2.2 COMPATIBLE, but many additions.
  TYPEMAR  33.183  Support for MAR Hitachi Command Suite Mainframe
  VMAC115  33.180  Support for MQ Version 8 subtype 215 record
  TYPEBBMQ 33.175  New IHDRBBMQ "Infile Header Exit" for selection.
  ASMRMFV  33.182  New filters for RMF III ASI Filtering reading RMFVSAM
CORRECTIONS:
  TYPE74   33.185  zEDC TYPE749 zero divide fixed, R749DFMT formatted.
  TYPE70PR 33.174  IFL Processor count corrected to number in LPAR.
  TYPE7072 33.179  TYPE70EN z13 SMT Mode, blank LPARNAME, SMF70MTTT fix.
  TYPE113  33.173  z13 SM1132SP incorrectly forced, should be 5000 MHz.
OTHER ENHANCEMENTS:
  TYPE102  33.187  Dataset T102S106 zPARM variables added.
  TYPE30   33.185  zEDC variables labels now INFLATE/DEFLATE.
  RMFINTRV 33.181  Enhancement to ADD variables to be kept in RMFINTRV.
  JCLPDB9  33.178  JCL Example for BUILDPDB, ANALxxxx members revised.


  Major enhancements added in MXG 33.07, dated Jul 20, 2015:

  TYPE120  33.171  Many SMF 120 ST 9 UNEXPECTED MULTIPLE SEGMENT on log


  Major enhancements added in MXG 33.07, dated Jul 17, 2015:

  TYPE74   33.155  TYPE74ST now has SCM variables, TYPE74MO is no more.
  TYPE78   33.156  Support for APAR OA44525, zHPF Extended Distance II.
  TYPE115  33.151  Support for MQ V8.0 MQCHIN, ERROR.VMAC115.OFFQCCT.
  TYPE116  33.151  Support for MQ V8.0 MQCHININ, ERROR.VMAC116.LENQWHS.
  TYPE119  33.144  Support for Type 119 new subtypes 94 and 95.
  TYPECZA  33.166  Support for Correlog z/OS Agent User SMF record.
  MXGLOGDO 33.162  "MXGLOG" option to send MXG Messages to MXGLOG.
  TYPE22   33.146  New TYPE22PB dataset created for Reconfigured PCIE.
  SMFSRCH  33.159  Support for compressed SMF in SMFSRCH LOOKFOR
  ANALID   33.159  Support for compressed SMF for DB2 Version/Subtype.
  ANALQBAT 33.147  Analysis of Batch Queue Times SMF30HQT/JQT/RQT/SQT.
  TYPEXAM  33.157  zVM XAM ERROR SYTCUP SEGMENT LENGTH corrected.
  TYPEBVIR 33.145  BVIR VTS Grid dataset BVIR33 wrong for second plus.
  TYPENDM  33.143  INPUT STATEMENT EXCEEDED NDM-CDI PT record.
  IMAC6ESS 33.158  Type 6 ESS zero len segment INPUT STATEMENT EXCEEDED.


  Major enhancements added in MXG 33.06, dated Jun 11, 2015:

  TYPERMFV 33.140  RMF III RCD records INCOMPATIBLY CHANGED for z13.

  TYPE7072 33.138  z13 in SMT Mode zIIP variables in TYPE70xx datasets,
                   especially TYPE70EN, could be missing, or DUPLICATE
                   RECORD message could be printed.  REQUIRED FOR SMT.
                   The MXG SMT support has come in several iterations as
                   new sequences of data exposed untested logic but this
                   appears to finally resolve the one-to-many merge.
                   If you testing SMT on z13, please email MXG Support
                   with subject: SMT UPDATES so we can inform you if
                   there are any further required changes for SMT mode.
                   Aug 17, 2015: MXG 33.08 is NOW required for SMT mode.
                   See Change 33.186.
  TYPE30   33.132  Support for zEDC metrics in TYPE30 is now correct.
  ANAL9914 33.139  z13 Processor Topology Report from SMF TYPE9914 data.
  SMFSRCH  33.131  SMFSRCH enhancements, ANALID, LOOKFOR list, AND/OR.
  TYPEAA   33.137  Support for Compuware ABEND-AID USER SMF Record.
  TYPECIMS 33.136  Support for MainView for IMS 5.2 (a/k/a IMF).
  TYPEOSEM 33.133  ZOSEM User SMF - INPUT STATEMENT EXCEEDED error.
  TYPETMS5 33.129  Support for TMS new TRTCH values for TS1140.
  ASUM113  33.130  Missing values in SMF70xx merged into PDB.ASUM113.
  ANALDB2R 33.134  Number reports mis-reported,ANALID added, headings.


  Major enhancements added in MXG 33.05, dated May 19, 2015:

  Sites with z13 in SMT-mode or sites with zEDC need this refresh:

  TYPE7072 33.128  Zero OBS in TYPE70 for non-SMT if SMT SMF read first
  TYPE74   33.127  zEDC TYPE749 dataset was finally revised correctly.
     Aug 17,2015 added: MXG 33.08 required for SMT mode.


  Major enhancements added in MXG 33.05, dated May 12, 2015:

  TYPE7072 33.121  z13 SMT-mode TYPE70/TYPE70PR data is WRONG 33.03-04.
                   ONLY SMT-mode type 70 records were wrong.
  TYPETANZ 33.123  Support for Tandem ZMS Style records.
  TYPEZCOS 33.116  Support for ZCOST AutoSoftCapping Version V3.0.00
  SMFSRCH  33.117  SMFSRCH corrections, TYPE30_D now populated.
  TYPEBBMQ 33.115  Mainview for Mq BBMQBUFF variables corrected.
  TYPECIMS 33.114  IMF/CIMS variable CPUZIPTM was not KEPT in CIMSTRAN.
  TYPE102  33.113  Some T102S106 DB2 zPARM values were misaligned/wrong.
  TYPE120  33.120  New IHDR120 header exit created for TYPE120 tailoring
  IMACICMX 33.119  The optional IMACICMX for length=384 had missing END.


  Major enhancements added in MXG 33.04, dated Apr 29, 2015:

  TYPE110  33.112  Support for CICS/TS 5.3 OPEN BETA (INCOMPATIBLE).
                   Note: IBM Changed CICS 5.3 Default to STGPROT=YES
                   Note: MXG 33.08-plus is required.  Change 33.192.
  TYPETMO2 33.099  TMON/CICS V3.4, MXG 32.13-33.03, TASCPUTM WRONG.
  TYPEBBMQ 33.090  Support for BBMQ PTF BLL2458/BPL2459 (INCOMPAT)
  TYPE42   33.108  Support for APARs OA45944,OA45897 new SMF 42 metrics.
  TYPE74   33.087  Support for RMF 74 Subtype 9 zEDC Accelerator.
  TYPESYNC 33.102A Support for SYNCSORT Release 2.1 (INCOMPATIBLE).
  TYPEQACS 33.101  Support for iSeries 7.2 (COMPATIBLE, new LRECLs).
  TYPEXAM  33.086  Support for Velocity Software zVPS XAM Version 5.4.
  TYPENMON 33.104  Support for NMON CPUnr with three digits.
  TYPE110  33.106  CICSEXCE variable EXCMTYPE decodes Exception type.
  UTILCVRT 33.105  Alternate table needed for no TRANSCODE PROC CPORT.
  ASMRMFV  33.100  Protect invalid ASI table index in UWD, 0C4 ABEND.
  TYPE7072 33.096  z13 with SMT PROCVIEW=CORE, SMT-NUM not kept.
  TYPENMON 33.092  Some NMON BBBPnnnn variables were mis-assigned.


  Major enhancements added in MXG 33.03, dated Mar 29, 2015:

  TYPE7072 33.071  FULL z13 SUPPORT. MXG 33.03 IS REQUIRED FOR SMT MODE,
                   i.e., for PROCVIEW CORE.  FOR non-SMT, PROCVIEW CPU,
                   the many changes were COMPATIBLY made.
      Aug 17,2015: See Change 33.186, MXG 33.08 IS NOW REQUIRED FOR SMT.

               For SMT PROCVIEW CORE Mode, MXG Change 33.046 in 33.02
               updated the TYPE70 dataset, but this Change 33.071 in MXG
               33.03 is required to update the new SMT metrics correctly
               in the TYPE70PR dataset, to get the CPUID, LCPUADDR, and
               CORE_ID from the four segments that don't have the same
               number of segments: OFFCPUD and SMF70COS have 20 for the
               6 online CPs, 4 offline CPs, and 5 zIIPs with CPU_NUM=2,
               while SMF70BDN/LPARCPUX has only 18 segments (with the
               CORE_NUM needed to look-up the LCPUADDR), and there are
               only 14 Core_ID values.

               This was a complex update to a CRITICAL MXG MEMBER, with
               500+ lines of code inserted lines into the 27,000 lines.
               The SMT Mode data has been validated with RMF records,
               with a wide range of LPAR configurations.  When in SMT
               mode, please examine the new data carefully and contact
               support@mxg.com if you have questions.

               Note: If you read the changed SMT mode RMF 70s with an
               old MXG, RMFINTRV may have NEGATIVE CPUOVHTM values and
               the %PCTCPUBY values may be over 100%.
  TYPE99   33.053  Support for z13 updates to type 99 subtype 14.
  TYPE113  33.052  z13 Support for HIS SMF 113, many new equations.
  UTILEXCL 33.049  New reports, trans without dictionary, READTIME.
  VMXGINIT 33.062  %LET MXGDEBUG=FULL; shows OPTIONS, enables diags.
  TYPEDOL  33.060  DCOLLECT Cluster/Multi-VOL now have Class variables.
  TYPE102  33.067  DB2 Trace IFCID=220 misaligned, ILLEGAL ARGUMENT.
  TYPE105  33.061  GDPS SMF 105 INPUT STATEMENT EXCEED if no XVMX seg.
  ANALDB2R 33.069  SAS 9.3 does not have dictionary for DESTINATIONS.
  TYPEDB2  33.068  Variable Q8STCCPU not kept after Change 30.133.
  TYPETHAO 33.059  Support for Thales Security Resource Mgr RF1100.
  FTPING   33.056  OPTIONS OBS=0 fails read with ftp access method.
  ANALHSM  33.050  Graphics part had a NOT SORTED condition.
  TYPETPMX 33.070  TOKENID INCLAI, three $LIST_L and $RESTAR added.
  Many     33.078  All %MACROs from SASAUTOS are replaced by %SYSFUNC()


  Major enhancement added in MXG 33.02, dated Feb 27, 2015:

  Many     33.046  Support z/OS on z13 RMF/SMF APARs for z/OS 2.1+

           MXG 33.01 CHANGES noted one z13 site had NEGATIVE CPUOVHTM,
           but that was ONLY IF z/OS on z13 is in MULTI-THREADING MODE.
           MXG was unaware of IBM's restructuring the RMF type 70 SMF
           record's calculation of CPU BUSY time for the new MT mode,
           but this MAJOR CHANGE restructured TYPE70 processing in MXG
           to order by CORE_ID and CPU_NUM rather than CPUID/LCPUADDR.
           If you have ANY non-MXG programs that read RMF 70s to get the
           CPU BUSY time, they MUST BE REWRITTEN for MT Mode records.

           A Technical Newsletter note on Multi_Threading is planned;
           this original note then stated an initial opinion of mine:
           "although relatively few sites have workloads that will be
           able to exploit that architecture, which can increase thruput
           but elongate individual tasks elapsed time", but I've changed
           my opinion about "relatively few sites":  ANY SITE with zIIPs
           or IFLs are VERY LIKELY to find SMT to be a benefit.


  Major enhancement added in MXG 33.01, dated Feb 23, 2015:

  Many     33.023  Support z/OS on z13 RMF/SMF APARs (z/OS: COMPATIBLE)
   However: One site's z13 stress test shows TYPE70 CPU time MUCH LESS
            than TYPE72 Service Class CPU time (which matches 30s) for
            many intervals, but valid data before and after the test,
            causing NEGATIVE CPUOVHTM messages on the log and RMFINTRV
            observations will have negative CPUOVHTM (uncaptured CPU).
            NOTE: THIS ERROR WAS CORRECTED IN MXG 33.02, SEE ABOVE NOTE.

  TYPEVMXA 33.016  Support for zVM 6.3 on z13 (INCOMPATIBLE).
  TYPEMWLX 33.037  Support for HP MeasureWare for Linux -
  VMAC30   33.005  Support for APAR OA45767 adds zEDC statistics.
  TYPEBBMQ 33.030  Support for BMC Mainview for MQ 5.2 (REQUIRED)
  TYPENTMU 33.028  Support for EDS User SMF Record from NETMENU program.
  TYPEXPTR 33.040  Support for SystemWare XPTR 5.2 subtype 140, ex-st-40
  SMFSRCH  33.041  SMFSRCH redesigned to read the SMFOUT with UTILBLDP.
  ASUM70PR 33.032  New SMF70WTI/WTS/WTU added to ASUM70LP/ASUMCELP
  MOBWRKSU 33.039  Summarization of Mobile Work CSV file combines split.
  TYPEDB2  33.025  QBSTBPIN, Buffer Pool I/O Intensity, added DB2STATB.
  RMFINTRV 33.024  ANY work in service class SYSOTHER, new log messages.
  ASMRMFV  33.021  ASMRMFV skips RCD if no Reporting Classes defined.
  TYPEQACS 33.020  iSeries change in record length can force USER ABEND.
  TYPE60   33.038  Type 60 with no VVR INPUT STATEMENT EXCEEDED again.
  TYPE80A  33.036  RACF SMF 80 record, TOKxxxxx fields increased length
  TYPEIMS  33.034  Variables SYSABEND,USRABEND decoded in IMS56FA.
  TYPEVMXA 33.043  zVM VXUSEACT/VXUSEINT NOT SORTED ERROR.
  UTILBLDP 33.042  Using INCLAFTR=BUIL3005 for JES3 PDB.TYPE25 not found


    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
     The current version nomenclature is SAS 9.4 TS1M3 (9.4M3) printed
     as "SAS 9.4 (TS1M3)" or was "SAS 9.4 (TS04.01M2P07232014)" for
     "SAS 9.4 (TS1M2)" (on SASLOG, if OPTION VERSIONLONG enabled),
     for SAS 9.4 Maintenance Level M3 and m2.

     SAS V9.4 M3 Is RECOMMENDED, but MXG executes without error using
     SAS Version 9.4 M0, M1, M2, and M3 or SAS Version 9.2 M1 and M2.

     SAS V9.4 M2 Is RECOMMENDED. SAS 9.4 M2 is at LEVEL A SAS Support
     SAS V9.4 M1 and M0 had no errors and are at LEVEL A SAS Support
     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03. SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit, but SAS V9.2 does execute ok.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 must be at Service Pack 4.  Additionally, on z/OS 1.10
                only, 9.1.3 requires SAS Hot Fix for SN-35332.
                9.1.3 is support level C by SAS Institute, Sep 30, 2013.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
     SAS V8.2 IS SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      or you can continue to use the MXGSAS93 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 33.03 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG Versions
        26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.4, on z/OS, on Windows Seven and
      Eight (64-bit) on 64-bit hardware, and sometimes on Centos 6.4,
      but MXG users execute MXG on MANY (ALL??) SAS platforms, including
      AIX, Linux, and other 'nix' variants, on many different hardware
      platforms, and since they all work we don't need to list them.  If
      SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.


III.  WPS Version requirement information:

      WPS Version 3.1.1 maintenance level 731 required for PDB to tape
      WPS Version 3.01 (also shows 3.1.1) is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

   MXG is usually NOT sensitive to z/OS Hardware changes, but:

     The z/EC12 with 85+ engines required MXG 30.07.
     Support for 255 engines was added in MXG 31.04.
     The z/13 with 61+ LPARs requires MXG 32.05 IF NON-SMT MODE.

   However, for the z13 processor on z/OS, the new SMT-MODE RMF 70 was
   INCOMPATIBLY CHANGED, and MXG 33.09 is REQUIRED (PCTCPUBY WRONG!), to
   read the SMT-format RMF records (which are written if you have zIIP
   engines AND have have enabled the new PROCVIEW CORE option for
   Multi-Threading, even if only one thread is enabled).

   The new zEDC compression hardware requires MXG 33.07 to support the
   new metrics.

   For z/VM, MXG REQUIRES MXG 33.02 to support the z/13 changes.


    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z/OS 2.2  COMPATIBLE CH 33.189   Aug 19, 2015        33.08
      z/OS 2.2 MXGTMNT ABEND S0E0-28   Sep 15, 2015        33.09
               REQUIRES ASMTAPE ML-55  Sep 15, 2015        33.09
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      zEC12                            Nov 14, 2012        30.07
      z13   non-SMT Mode               May 27, 2014        32.05
      z13   SMT Mode Change 33.217     Sep 15, 2015       *33.09
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011       *29.05
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012       *30.01
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012       *30.08
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013       *30.30
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013       *31.03
      CICS-TS/5.2 COMPATIBLE CICSTRAN  Jun 13, 2014       *31.03
      CICS-TS/5.2 INCOMPAT Statistics  Jun 13, 2014       *32.03
      CICS-TS/5.3 INCOMPAT CICSTRAN    Apr 29, 2015        33.04
      CICS-TS/5.3 OPEN BETA            Sep 31, 2015        33.08
      CICS-TS/5.3 RESOURCE SEGCL=5     Sep 31, 2015        33.09
      CICS-TS/5.3 CICSTRAN INCOMPATIBL Oct 29, 2015        33.11
      CICS-TS/5.3 GA date              Dec 11, 2015        33.??
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004       *23.09
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010       *28.07
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011       *28.28
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011       *29.07
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011       *30.07
      DB2 10.1 DBID/OBID decode        Jan 21, 2013       *30.30
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013       *31.04
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008       *27.01
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004       *26.01
      IMS log 10.1                     Mar 06, 2007       *26.01
      IMS log 11.1                     Apr  1, 2010       *28.02
      IMS log 12.1                     Jan 23, 2012       *29.29
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      IMS log 14.1 COMPATIBLE          Dec 19, 2015        33.13
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       TMON/CICS 3.4 (for CICS/TS 5.1)               30.30-32.12
        (Do not use 32.13,32.32,33.01,33.02,33.03 for 3.4)
       TMON/CICS 3.4 (for CICS/TS 5.1 - Change 33.099)     33.04
       TMON/CICS 4.0 (for CICS/TS 5.2 - Change 33.195)    *33.09
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       TMON/MVS Version 4.4                                32.04

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V11R2 SMF 102                               33.11 33.264
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                      *22.08
       IMF 4.1 (for IMS 9.1)                              *26.02
       IMF 4.4 (for IMS 9.1)                              *31.08
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                         *31.08
       IMF 5.1 a/k/a Mainview IMS                          31.08
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for MQ Version 5.2                         33.01
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      SYNCSORT
       2.1                                                 33.05
       1.4                                                 33.08
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07
       XVPS  4.2                                           31.06
       ZVPS  5.4                                          *33.07

V.    Incompatibilities and Installation of MXG 33.33.


 1. Incompatibilities introduced in MXG 33.33:

  a- Changes in MXG architecture made between 33.33 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.



VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 33.33 after MXG 32.32:

  Dataset/
  Member   Change    Description

  ANAL1430 33.230  Example to select TYPE14 and match with TYPE30.
  ANAL2642 33.230  Example to select TYPE26 and match with TYPE42.
  ANAL9914 33.139  z13 Processor Topology Report from SMF TYPE9914 data.
  ANALACTM 33.312  Correction for more than one service policy.
  ANALCAPD 33.225  Major revision to analysis of Capping, now by LPAR.
  ANALDB2R 33.069  SAS 9.3 does not have dictionary for DESTINATIONS.
  ANALDB2R 33.134  Number reports mis-reported,ANALID added, headings.
  ANALHSM  33.050  Graphics part had a NOT SORTED condition.
  ANALID   33.159  Support for compressed SMF for DB2 Version/Subtype.
  ANALIDDY 33.290  ANALIDDY tabulates ANALID SMF data by date.
  ANALQBAT 33.147  Analysis of Batch Queue Times SMF30HQT/JQT/RQT/SQT.
  ASMRMFV  33.021  ASMRMFV skips RCD if no Reporting Classes defined.
  ASMRMFV  33.100  Protect invalid ASI table index in UWD, 0C4 ABEND.
  ASMRMFV  33.182  New filters for RMF III ASI Filtering reading RMFVSAM
  ASMRMFV  33.222  RMF III DVT Character data Filtering saves DASD.
  ASMRMFV  33.274  ASMRMFV Updates.
  ASMTAPEE 33.207  ML-55 of ASMTAPEE/MXGTMNT REQUIRED for z/OS 2.2.
  ASUM113  33.130  Missing values in SMF70xx merged into PDB.ASUM113.
  ASUM70PR 33.032  New SMF70WTI/WTS/WTU added to ASUM70LP/ASUMCELP
  ASUMCELP 33.306  Variables SMF70GNM, SMF70GMU, SMF70WLA added.
  BLDSMPDB 33.031  Wrong Start Week date with FORCEDAY and low case.
  BUILDPDB 33.204  Variable IOTMNODD was never calculated in PDB.JOBS.
  FTPING   33.056  OPTIONS OBS=0 fails read with ftp access method.
  IMAC30IO 33.240  EXCPxxxx and IOTMxxxx can be dropped for nonexistent.
  IMAC6ESS 33.158  Type 6 ESS zero len segment INPUT STATEMENT EXCEEDED.
  IMACICMX 33.119  The optional IMACICMX for length=384 had missing END.
  ITRM     33.301  ITRM users MUST use %LET EPDBOUT= _SDB2SBP.
  JCLASMXG 33.275  Assemble/Link Edit all five MXG ASM programs install.
  JCLPDB9  33.178  JCL Example for BUILDPDB, ANALxxxx members revised.
  MANY     33.046  SUPPORT for z13 processor in MULTITHREADING MODE.
  MOBWRK02 33.279  Support for DB2 Simulated Buffer Pool dataset.
  MOBWRKSU 33.039  Summarization of Mobile Work CSV file combines split.
  RMFINTRV 33.024  ANY work in service class SYSOTHER, new log messages.
  RMFINTRV 33.181  Enhancement to ADD variables to be kept in RMFINTRV.
  SMFSRCH  33.041  SMFSRCH redesigned to read the SMFOUT with UTILBLDP.
  SMFSRCH  33.117  SMFSRCH corrections, TYPE30_D now populated.
  SMFSRCH  33.131  SMFSRCH enhancements, ANALID, LOOKFOR list, AND/OR.
  SMFSRCH  33.159  Support for compressed SMF in SMFSRCH LOOKFOR
  SMFSRCH  33.307  Support for multiple text strings in LOOKFOR=.
  TYPE102  33.067  DB2 Trace IFCID=220 misaligned, ILLEGAL ARGUMENT.
  TYPE102  33.113  Some T102S106 DB2 zPARM values were misaligned/wrong.
  TYPE102  33.126  BMC APPTUNE 102 INPUT EXCEEDED if DATA SHARING.
  TYPE102  33.187  Dataset T102S106 zPARM variables added.
  TYPE102  33.236  All DB2 zPARM QWP4xxxx fields are now correct.
  TYPE102  33.250  SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED.
  TYPE102  33.264  Support for APPTUNE 11.2 INCOMPATIBLE change in 8005.
  TYPE102  33.273  DB2 SMF 102 IFCID=109 INVALID DO LOOP CONTROL ERROR.
  TYPE102  33.294  SMF 102 IFCIDs 81E5-8160,8051x INPUT EXCEEDED DRROR
  TYPE103  33.223  Short SMF 103 Subtype 13 INPUT EXCEEDED error.
  TYPE105  33.061  GDPS SMF 105 INPUT STATEMENT EXCEED if no XVMX seg.
  TYPE110  33.106  CICSEXCE variable EXCMTYPE decodes Exception type.
  TYPE110  33.198  CICS/TS 5.3 BETA, MNSEGCL=5, INPUT STATEMENT EXCEEDED
  TYPE110  33.257  CICS/TS 5.3 CICSTRAN (final) new field added INCOMPAT
  TYPE110  33.326  MXG 32.10-First MXG 33.33. Increased CPU in SMF 110s
  TYPE113  33.052  z13 Support for HIS SMF 113, many new equations.
  TYPE113  33.173  z13 SM1132SP incorrectly forced, should be 5000 MHz.
  TYPE113  33.197  Variable LPBUSY created in ASUM113 like TYPE113.
  TYPE115  33.151  Support for MQ V8.0 MQCHIN, ERROR.VMAC115.OFFQCCT.
  TYPE116  33.151  Support for MQ V8.0 MQCHININ, ERROR.VMAC116.LENQWHS.
  TYPE119  33.144  Support for Type 119 new subtypes 94 and 95.
  TYPE119  33.262  Support for SMF 119 subtypes 2, 5, 6, 7, 41-44, 97.
  TYPE120  33.120  New IHDR120 header exit created for TYPE120 tailoring
  TYPE120  33.213  Support for WASODM Operational Decision Manager 8.7.
  TYPE120  33.267  SMF 120 dataset TYP120JI only output first instance.
  TYPE121  33.231  Support for JZOS Java Runtime Performance SMF 121.
  TYPE1415 33.270  Variable SMF14ALIAS misspelled so it was not kept.
  TYPE22   33.146  TYPE22PB dataset created for Reconfigured PCIE.
  TYPE22   33.227  Dataset TYPE22PB RECONFIG PCIE had zero observations.
  TYPE30   33.132  New zEDC metrics in TYPE30 are now correct.
  TYPE30   33.185  zEDC variables labels now INFLATE/DEFLATE.
  TYPE30   33.206  z/OS 2.2 Job Correlation SMF30COR input/kept.
  TYPE42   33.108  Support for APARs OA45944,OA45897 new SMF 42 metrics.
  TYPE42   33.230  Summed vars S42READS,S42WRITES added to TYPE42DS.
  TYPE42   33.316  New variables compatibly added by z/OS 2.2.
  TYPE6    33.233  Support for APAR OA46136 adds IPADDR in PSF SMF 6.
  TYPE60   33.038  Type 60 with no VVR INPUT STATEMENT EXCEEDED again.
  TYPE64   33.316  New variables compatibly added by z/OS 2.2.
  TYPE70   33.200  TYPE70xx datasets now have VARYed interval data kept.
  TYPE7072 33.071  z13 SUPPORT. MXG 33.03 REQUIRED ONLY FOR SMT MODE
  TYPE7072 33.096  z13 with SMT PROCVIEW=CORE, SMT-NUM not kept.
  TYPE7072 33.121  z13 SMT-mode TYPE70/TYPE70PR data is WRONG 33.03-04.
  TYPE7072 33.125  SMF70CAN/CTN restored, CPUWAIT-LPARBUSY for zIIPs.
  TYPE7072 33.128  Zero OBS in TYPE70 for non-SMT if SMT SMF read first
  TYPE7072 33.138  z13 in SMT Mode, TYPE70EN had missing values for ZIP.
  TYPE7072 33.179  TYPE70EN z13 SMT Mode, blank LPARNAME, SMF70MTTT fix.
  TYPE7072 33.186  z13 INCOMPATIBLE ERROR, SMT-MODE, when VARY CP online
  TYPE7072 33.217  z13 in SMT MODE ONLY: LPARCPUS=0 in PDB.TYPE70PR
  TYPE7072 33.239  New _KTY70DR to drop variables from TYPE70 dataset.
  TYPE7072 33.280  PDB.TYPE70 z13 SMT mode ZIPCPUS value may be wrong.
  TYPE7072 33.318  Data Set SORT70EC NOT SORTED corrected with sort.
  TYPE70EC 33.318  Data Set SORT70EC NOT SORTED, configuration changed.
  TYPE70PR 33.174  IFL Processor count corrected to number in LPAR.
  TYPE71   33.316  New variables compatibly added by z/OS 2.2.
  TYPE74   33.087  Support for RMF 74 Subtype 9 zEDC Accelerator.
  TYPE74   33.127  zEDC TYPE749 dataset was finally revised correctly.
  TYPE74   33.155  TYPE74ST now has SCM variables, TYPE74MO is no more.
  TYPE74   33.185  zEDC TYPE749 zero divide fixed, R749DFMT formatted.
  TYPE74   33.228  SMF 74 St 9 z/OS 2.1 z/13 INPUT STATEMENT EXCEEDED.
  TYPE74   33.234  TYPE74HO false duplicates were being removed.
  TYPE74   33.305  z/OS 2.2 RMF 74 Subtype 10 creates TYPE7410/TYPE74SC.
  TYPE74   33.316  New variables compatibly added by z/OS 2.2.
  TYPE78   33.156  Support for APAR OA44525, z HPF Extended Distance II.
  TYPE78   33.305  z/OS 2.2 new variables in TYPE78PA.
  TYPE80A  33.036  RACF SMF 80 record, TOKxxxxx fields increased length
  TYPE80A  33.243  RACF Type 80 record "subtypes" (RACFEVNT) for ANALID.
  TYPE99   33.053  Support for z13 updates to type 99 subtype 14.
  TYPE99   33.308  New variables compatibly added by z/OS 2.2.
  TYPEAA   33.137  Support for Compuware ABEND-AID USER SMF Record.
  TYPEATF  33.245  Support for OMEGAMON ATF IMS Log Record LCODE A2.
  TYPEAXWY 33.199  Support for AXWAY SMF record, INCOMPATIBLE, inserts.
  TYPEBBMQ 33.030  Support for BMC Mainview for MQ 5.2 (REQUIRED)
  TYPEBBMQ 33.090  Support for BBMQ PTF BLL2458/BPL2459 (INCOMPAT)
  TYPEBBMQ 33.115  Mainview for Mq BBMQBUFF variables corrected.
  TYPEBBMQ 33.175  New IHDRBBMQ "Infile Header Exit" for selection.
  TYPEBVIR 33.145  BVIR VTS Grid dataset BVIR33 wrong for second plus.
  TYPEBVIR 33.196  TCVSIZE is now MGBYES, AVGCPUSE/DEFTH corrected.
  TYPECDC  33.201  Support IBM INFOSPHERE CHANGE DATA CAPTURE CDC V10.2
  TYPECIMS 33.114  IMF/CIMS variable CPUZIPTM was not KEPT in CIMSTRAN.
  TYPECIMS 33.136  Support for MainView for IMS 5.2 (a/k/a IMF).
  TYPECZA  33.166  Support for Correlog z/OS Agent User SMF record.
  TYPEDB2  33.025  QBSTBPIN, Buffer Pool I/O Intensity, added DB2STATB.
  TYPEDB2  33.068  Variable Q8STCCPU not kept after Change 30.133.
  TYPEDB2  33.142  Variables QWACATWT and QWACPQCT corrected.
  TYPEDB2  33.205  DB2ACCTP variables QPACPKID/LOCN/ may be truncated.
  TYPEDB2  33.279  Support for DB2 Simulated Buffer Pool PDB.DB2STSBP.
  TYPEDB2  33.303  Multiple DB2 100 Subtype 1 created multiple DB2STATS.
  TYPEDOL  33.060  DCOLLECT Cluster/Multi-VOL now have Class variables.
  TYPEDOS  33.248  Support for zVSE/Power Version 9 Release 2 accounting
  TYPEEDA  33.237  Support for EDA V7706 (INCOMPATIBLE, data inserted).
  TYPEID   33.045  ANALID report printed '110.001' vice '110.1.1'.
  TYPEIMS  33.034  Variables SYSABEND,USRABEND decoded in IMS56FA.
  TYPEIMS  33.298  Support for IMS 14.1 log records (COMPATIBLE)
  TYPEIMST 33.252  Variable SYSTEM can be added to TYPE56FA with SYSPARM
  TYPEMAR  33.183  Support for MAR Hitachi Command Suite Mainframe
  TYPEMGCR 33.212  Support for MEGACRYPTION Version 6, INCOMPATIBLE.
  TYPEMWLX 33.037  Support for HP MeasureWare for Linux -
  TYPENDM  33.143  INPUT STATEMENT EXCEEDED NDM-CDI PT record.
  TYPENDM  33.229  NDM PT records INPUT EXCEEDED, INCOMPAT inserts.
  TYPENMON 33.092  Some NMON BBBPnnnn variables were mis-assigned.
  TYPENMON 33.104  Support for NMON CPUnr with three digits.
  TYPENTMU 33.028  Support for EDS User SMF Record from NETMENU program.
  TYPEOSEM 33.133  ZOSEM User SMF - INPUT STATEMENT EXCEEDED error.
  TYPEQACS 33.020  iSeries change in record length can force USER ABEND.
  TYPEQACS 33.101  Support for iSeries 7.2 (COMPATIBLE, new LRECLs).
  TYPERACF 33.238  Support for RACF IRRDBU00 Record Type 1560.
  TYPERMFV 33.140  RMF III RCD records INCOMPATIBLY CHANGED for z13.
  TYPESYNC 33.102A Support for SYNCSORT Release 2.1 (INCOMPATIBLE).
  TYPESYNC 33.184  Support for SYNCSORT Release 1.4 (INCOMPAIBLE).
  TYPETANZ 33.123  Support for Tandem ZMS Style records.
  TYPETHAO 33.059  Support for Thales Security Resource Mgr RF1100.
  TYPETMO2 33.099  TMON/CICS V3.4, MXG 32.13-33.03, TASCPUTM WRONG.
  TYPETMO2 33.188  TMON/CICS Version 4.0, REQUIRED, MXG coding error.
  TYPETMO2 33.210  More TMON/CICS Version 3 and Version 4 corrections.
  TYPETMS5 33.129  Support for TMS new TRTCH values for TS1140.
  TYPETPMX 33.070  TOKENID INCLAI, three $LIST_L and $RESTAR added.
  TYPETPMX 33.232  Support for Thruput Manager VARNAME=$ORIGIO.
  TYPETPMX 33.265  ThruputMgr TPMSLM variables TPMSLXGF/LXGN wrong.
  TYPEVMXA 33.043  zVM VXUSEACT/VXUSEINT NOT SORTED ERROR.
  TYPEVMXA 33.242  Support for zVM 6.3.15.0 VXSYSPRT for z13 SMT mode.
  TYPEVMXA 33.299  Support for zVM 6.3 MONWRITE z13 SMT MODE.
  TYPEVMXA 33.327  Data set VMBYUSR missing many observations.
  TYPEXAM  33.086  Support for Velocity Software zVPS XAM Version 5.4.
  TYPEXAM  33.157  zVM XAM ERROR SYTCUP SEGMENT LENGTH corrected.
  TYPEXAM  33.202  Velocity ZVPS 5.4 XAMSYT had zero observations.
  TYPEXAM  33.259  Support for zVPS Release 4230 for z13 SMT mode.
  TYPEXAM  33.266  MXG 33.11 only. ERROR VARIABLE SYTPN NOT FOUND.
  TYPEXAM  33.320  Support for zVPS z13 SMT mode new variables.
  TYPEXAM  33.324  zVPS variable CALENTMT changed from numeric, conflict
  TYPEXPTR 33.040  Support for SystemWare XPTR 5.2 subtype 140, ex-st-40
  TYPEZCOS 33.116  Support for ZCOST AutoSoftCapping Version V3.0.00.
  UTILBLDP 33.042  Using INCLAFTR=BUIL3005 for JES3 PDB.TYPE25 not found
  UTILBLDP 33.159  BUILDPDB=NO incorrect for type 102 2 byte subtypes.
  UTILCVRT 33.105  Alternate table needed for no TRANSCODE PROC CPORT.
  UTILEXCL 33.049  New reports, trans without dictionary, READTIME.
  UTILEXCL 33.255  ARRAY EXCEEDED when more than 999 connectors.
  VGETDDS  33.208  z/OS Only.  Multiple tape mounts with DDNAMES=PDB:.
  VMAC115  33.180  Support for MQ Version 8 subtype 215 record
  VMAC30   33.005  Support for APAR OA45767 adds zEDC statistics.
  VMACUCB  33.245  DEVCLASS=41 decode identities specific CTC type.
  VMXGALOC 33.325  Correction for WEEK1 allocation.
  VMXGINIT 33.062  %LET MXGDEBUG=FULL; shows OPTIONS, enables diags.
  VMXGINIT 33.162  "MXGLOG" option to send MXG Messages to MXGLOG.



  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at http://www.mxg.com

Inverse chronological list of all Changes:

NEXTCHANGE

====== Changes thru 33.327 were in MXG 33.33 dated Jan 18, 2016=========

Change 33.327  Dataset VMBYUSR was missing many observations because the
VMACVMXA       timestamp in MRHDRTOD in VXUSEACT did not exactly match
Jan 15, 2016   the MRHDRTOD in VXUSEINT which are key MERGE variables.
               Circumvention was to merge with the FLOOR(MRHDRTOD).
   Thanks to Joe Faska, DTCC, USA.

Change 33.326 -MXG 32.10-MXG 33.33.  Increase in CPU time for SMF 110
VMAC110        record processing, 300 to 500 seconds, 22 GB, due to
Jan 15, 2016   multiple executions of RESOLVE function where only one
               was needed, to populate character variable CICXLTR, which
               is only used to enhance error messages if EXCLUDED fields
               are found.
              -Too many warning messages were printed if Compressed CICS
               data was read on z/OS without the CICSIFUE INFILE exit,
               and too many "ok on ASCII" messages were printed.
   Thanks to Perry Lim, Union Bank, USA.

Change 33.325 -Change 32.220 added new BASECICS and BASEDB2 parameters
BLDSMPDB       that let you send DB2 and/or CICS datasets to a different
VMXGALOC       drive, but did not tell you that if you did not use them,
UTILBLDP       those datasets were written to BASEDIR. Default is now
Jan 17, 2016   a NULL string so that behavior is unchanged and the log
Jan 18, 2016   now notes where CICSTRAN and DB2ACCT are allocated.
              -Change 32.262 incorrectly set the WEEK WEEK1 libnames to
               be the current week when RUNWTD was NO and when RUNWTD
               was YES the WTD LIBNAME was not allocated.  Fortunately,
               the only exposure is that if a user wanted to run a
               report with WEEK1, it would have been empty since the
               week had not been run to populate it.
              -UTILBLDP failed to include ASUMDBSS because an AND in the
               macro was misspelled as AMD and the compiler does not see
               it as a syntax error.
              -BLDSMPDB debugging statements left in code.
   Thanks to Richard Krueger, Sentry, USA.

Change 33.324  zVPS variable CALENTMT was changed from numeric to char
VMACXAM        causing a conflict if OLD and NEW datasets were combined.
Jan 13, 2016   CALENTMT is restored to CHAR, new variable CALENTMTN has
               the actual numeric CPU ENTITLEMENT value.
   Thanks to David A. Sadler, OPTUM, USA.

Change 33.323  New fields added to Thruput Manger are supported:
VMACTPMX          CONTR   ='CONTR'
Jan 12, 2016      JCL_SJB ='JCL_SJB'
                  JCL_SJC ='JCL_SJC'
                  JCL_SJG ='JCL_SJG'
                  JAL_T   ='JAL_T'
               There is a defective entry with '   ST_L' that should be
               'LIST_L' that prints an error message that it was skipped
               while we investigate with the vendor.

Change 33.322  The new JOB Correlation Token SMF30COR and SMF26JCR are
VMAC26J2       populated with 64 bytes of '00'x for OMVS and most STCs,
VMAC30         which then print as 64 unprintable characters. The '00'X
Jan 12, 2016   are translated to blanks.  But it is unclear why this new
               token is created; the READTIME JOB JESNR uniquely match
               and only require 24 bytes, and are in many more SMF
               records than just these two.

====== Changes thru 33.321 were in MXG 33.33 dated Jan 11, 2016=========

Change 33.321 -Change 33.297 failed if OPTIONS USER=PDB is used, because
VMAC7072       the PROC DATASETS (to change a label) coded a LIB=WORK
Jan  9, 2016   which failed when USER=PDB.  The LIB=&MXGWORK argument
Aug 31, 2017   now finds the dataset (replacing a WORK.TEMP70EN fix.)
              -BUT: IN GENERAL MXG DOES NOT SUPPORT OPTIONS USER=PDB,
               "out of the box": both BUILDPDB and UTILBLDP can fail
               or can NOT fail but produce missing values when USER=PDB
               is used, and it typically requires additional tailoring
               for a specific purpose, especially when accumulated data
               requires DIF(), and may require a second execution of
               %VMXGINIT.  Contact support@mxg.com if you have a need.
              -Aug 2017: Note that using WORK=PDB in CONFIG has the same
               exposure and thus that is also not supported.
   Thanks to Scott Wiig, USBank, USA.

Change 33.320  Support for zVPS z13 SMT Mode adds these variables:
VMACXAM       -Dataset XAMCPUTO:
Jan  7, 2016     CALENTMT='ENTITLEMENT'
                 CORID   ='CORE*ID'
                 PFXPOLAR='POLARIZATION'
                 RCCTOPDI='DSVBK*INDEX'
                 TID     ='THREAD*ID'
              -Datasets XAMCPUBY, XAMIFLBY, XAMIFLTO, XAMCPUTO:
                 AVGTDBYCORE='AVG*TD*BY CORE'
                 AVGTDBYTYPE='AVG*TD*BY TYPE'
                 BUSYTIMEBYCORE='BUSY*TIME*BY CORE'
                 BUSYTIMEBYTYPE='BUSY*TIME*BY TYPE'
                 CAPBYTYPE='CAP*BY TYPE'
                 INTERVALTIMEBYCORE='INTERVAL*TIME*BY CORE'
                 INTERVALTIMEBYTYPE='INTERVAL*TIME*BY TYPE'
                 MAXCAPBYTYPE='MAX*CAP*BY TYPE'
                 MTUTILBYCORE='MT*UTIL*BY CORE'
                 MTUTILBYTYPE='MT*UTIL*BY TYPE'
                 PF2CADCT ='COUNT CAD*FOR*SPINLOCK*NODLAY'
                 PF2TSCAD ='COUNT CAD*DURING*TSGET*REQSTS'
                 PF2TSCNT ='COUNT*TSGET*REQUESTS'
                 PF2TSGTM ='ELAPSED*CONSUMED*BY TSGET'
                 PFXPRKWT ='PARKED*WAIT TIME*TOT UNIT'
                 PRODBYCORE='PROD*BY CORE'
                 PRODBYTYPE='PROD*BY TYPE'
                 SAMPLEDCORESBYTYPE='SAMPLED*CORES*BY TYPE'
                 SAMPLES='SAMPLES'

Change 33.319  The OPTION NONOTES statement added for the MXGLOG option
VMXGINIT       must be reset to NOTES prior to the %MACRO statement. In
Jan  8, 2016   some cases the NONOTES remained incorrectly in effect,
Jan 22, 2016   which could suppress the INFILE SMF information and the
               "dataset has nnn obs" notes on the SAS log.  The Exposure
               was limited to 33.07-33.13, and only with a tailored MXG
               execution with a VIEW driven by a PROC SORT.
               Jan 23: The OPTION NOTES was mis-located, suppressing the
               printing of   NOTE: Fileref=SOURCLIB and the DSNAMEs.
   Thanks to Scott Wiig, US Bank, USA.

Change 33.318  Data Set SORT70EC NOT SORTED was corrected with an extra
VMAC7072       PROC SORT.  It appears a change in the configuration was
Jan  5, 2016   made during the interval that caused the not sorted data.
   Thanks to Paul Volpi, UHC, USA.

Change 33.317  Documentation of APARs corrections; NO CHANGES WERE MADE.
VMAC1415      -TYPE1415 APAR OA47899 corrects SMF 14/15 written at EOV
VMAC92         that did not contain the Type 1 Compressed Format data
VMAC74         set section.
VMAC80A       -TYPE92 APAR OA49128 corrects invalid value in SMF92CTO.
VMAC116       -TYPE74 APAR OA48860 corrects SMF74DTS,SMF74DCT that are
Jan  3, 2016   not set correctly for a device after HYPERSWAP.
              -TYPE80A APAR PI52900 for CICS/TS 5.2, adds CICS NETNAME
               to SMF 80 record when DFHSN1102 SIGNON FAILS.
              -TYPE116 APAR PI53551 MQ z/OS V8 Class 3 data may be
               incorrect for CICS and CHIN Thread Control Blocks.
              -Users of IBM CICS PA V5.1/5.2 NEED APAR PI43779 to
               correct report files, especially LIST, that have file
               blocking of ONE, wasting DISK space and CPU time.

Change 33.316 -The many new variables added in z/OS 2.2 in Change 33.189
VMAC42         are now kept.
VMAC64        -TYPE64 new variables
VMAC71           SMF64SSR='SECONDARY*SPACE*REDUCTION?'
VMAC74           SMF64FCC='BEGINNING*CCHH'
Dec 30, 2015     SMF64TCC='BENDING*CCHH'
                 SMF64VSN='VOLUME*SERIAL*NUMBER'
                 SMF64CUU='DEVICE*NUMBER'
                 SMF64IND='SPINDLE*IDENTIFICATION'
                 SMF64UTY='*UNIT*TYPE'
              -TYPE71 new variables
                 SMF714KA='AVB*1MB FIXED*USED*4K REQ'
                 SMF714KM='MIN*1MB FIXED*USED*4K REQ'
                 SMF714KX='MAX*1MB FIXED*USED*4K REQ'
                 SMF71C2A='AVG*HIGH VIRTUAL*COMMON*1MB FIXED'
                 SMF71C2M='MIN*HIGH VIRTUAL*COMMON*1MB FIXED'
                 SMF71C2X='MAX*HIGH VIRTUAL*COMMON*1MB FIXED'
                 SMF71C3A='*AVG*HIGH VIRTUAL*SHARED*1MB CSTORE'
                 SMF71C3M='MIN*HIGH VIRTUAL*SHARED*1MB CSTORE'
                 SMF71C3X='MAX*HIGH VIRTUAL*SHARED*1MB CSTORE'
                 SMF71CPA='AVB*HI VIRT*COMMON*INUSE'
                 SMF71CPM='*MIN*HI VIRT*COMMON*INUSE'
                 SMF71CPX='*MAX*HI VIRT*COMMON*INUSE'
                 SMF71PLA='AVB*1MB PGBL*BACKED*1MB PGBL'
                 SMF71PLM='MIN*1MB PGBL*BACKED*1MB PGBL'
                 SMF71PLX='MAX*1MB PGBL*BACKED*1MB PGBL'
                 SMF71S2A='AVG*OBJECTS*SHARED MEM*BACK 1MB'
                 SMF71S2M='MIN*OBJECTS*SHARED MEM*BACK 1MB'
                 SMF71S2X='MAX*OBJECTS*SHARED MEM*BACK 1MB'
                 SMF71S3A='AVG*FRAMES*SHARED HIGH*4K*ON SCM'
                 SMF71S3M='MIN*FRAMES*SHARED HIGH*4K*ON SCM'
                 SMF71S3X='MAX*FRAMES*SHARED HIGH*4K*ON SCM'
                 SMF71S4A='AVG*HIGH VIRTUAL*SHARED*1MB CSTORE'
                 SMF71S4M='MIN*HIGH VIRTUAL*SHARED*1MB CSTORE'
                 SMF71S4X='MAX*HIGH VIRTUAL*SHARED*1MB CSTORE'
              -TYPE74 new variable
                 R748RAI  ='RANK*ADAPTER*PAIR*ID'

Change 33.315  z/OS 2.2 JOB='*MASTER*' JCTJOBID='MSGR' SUBSYS='SMS' was
VGETJESN       not expected, caused WARNING TYPETASK NOT DECODED, now
Dec 27, 2015   is protected, with TYPETASK='STC' now set.

Change 33.314  Unused Change Number.

Change 33.313  Documentation. Type 30 EXCP/IOTM NODD/TODD/TOTL variables
TYPE30         in the "raw" TYPE30_4/TYPE30_5/TYPE30_V datasets created
Dec 24, 2015   directly from SMF, are wrong or misleading for jobs with
               MULTIDD='Y' continuation records (they contain only EXCP
               and IOTM fields). The variables ARE VALID in the datasets
               PDB.JOBS/PDB.STEPS/PDB.SMFINTRV, built by BUILDPDB or the
               ONLYINTV program, where MXG logic combines the MULTIDDs
               and then correctly populates those variables.
                 For MULTIDD='Y' jobs, the first record can be a FLUSH
                 that contains NO DD segments, so NUMDD=0 and the TODD
                 variables are missing values.  The TOTL in the MULTIDD
                 records is missing, since that field is the total for
                 the step, and that is only in the first SMF 30 record.
                 And since NODD=TOTL-TODD, the NODD is also missing.
                 And since they can be individually wrong, the sum of
                 these variables in those "raw" TYPE30xx datasets is
                 unusable.

Change 33.313  Cosmetic.  Comments enhanced.
BLDSMPDB
Dec 23, 2015

Change 33.312  If you had more than a single service policy in your data
ANALACTM       the report of the WLM service definition was not sorted
Dec 23, 2015   by the policy name resulting in reports printed by the
               importance level instead of the service policy.

====== Changes thru 33.311 were in MXG 33.13 dated Dec 23, 2015=========

Change 33.311 -UTILBLDP with IMACKEEP= fails execution with syntax error
UTILBLDP       due to invalid comment termination in the generated code
Dec 23, 2015   that referenced &SPINUOW macro variable.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 33.310  MXG's ANALZPCR is no longer usable, nor needed, since IBM
ANALZPCR       zPCR will now read a "printed" IBM RMF CPU report to
Dec 21, 2015   create the zPCR input in External File Format V2.0 that
               is required for zPCR V8.7.

====== Changes thru 33.309 were in First MXG 33.13 dated Dec 21, 2015===

Change 33.309  Variable QCSTDNRT, previously reserved, is now input and
VMAC116        formatted as a time, with NS*RESOLUTION*TIME' in
Dec 21, 2015   dataset MQCHININ.
   Thanks to Robert Miles Standish, UBS, USA.

Change 33.308  Support for z/OS 2.2 new variables SMF 99 ST 14 added
VMAC99            S99E_AN_CI     ='CPU/CORE*CONTAINER*INFO*/
Dec 21, 2015      S99E_AN_CI_FLAGS='CI_FLAGS'
Dec 22, 2015      S99E_AN_CI_NL   ='CPU/CORE*TOPOLOGY*INFO'
                  S99E_AN_CI_NL1  ='CONTAINER*ID OF*NESTING*LEVEL 1'
                  S99E_AN_CI_NL2  ='CONTAINER*ID OF*NESTING*LEVEL 2'
                  S99E_AN_CI_NL3  ='CONTAINER*ID OF*NESTING*LEVEL 3'
                  S99E_AN_CI_NL4  ='CONTAINER*ID OF*NESTING*LEVEL 4'
                  S99E_AN_CI_NL5  ='CONTAINER*ID OF*NESTING*LEVEL 5'
                  S99E_AN_CI_NLINUSE='HIGHEST*NESTING*LEVELUSED'
                  S99E_AN_INFO   ='AFFINITY*NODE*INFO'
                  S99E_AN_TOPO   ='CPU/CORE*TOPOLOGY*INFORMATION'
                  S99E_CP_BOOKID ='BOOK*ID'
                  S99E_CP_CHIPID ='CHIP*ID'
               to dataset TYPE99EN, and these variables to TY99EP:
                  S99E_CP_BOOKID ='BOOK*ID'
                  S99E_CP_CHIPID ='CHIP*ID'
              -Each subtype 14 dataset now has all of the header
               variables kept.
   Thanks to Erling Andersen, SMT, DENMARK.

Change 33.307 -SMFSRCH was supposed to support multiple text strings in
SMFSRCH        LOOKFOR=, with ANDOR=, but it only supported one string;
VMXGSRCH       multiple strings caused nothing to be found.
Dec 21, 2015   Now, multiple LOOKFOR= strings are supported, but only
Dec 29, 2015   with "OR" logic, i.e., any LOOKFOR= string will be found.
               It's impractical to support multiple ANDed stings with
               LOOKFOR=, but the SELECTION= alternative to LOOKFOR=
               provides complete control including ANDs of strings.
              -VMXGSRCH messages when a VALUE= was found now print the
               VALUE= that was searched, or when a VARS= is used, then
               all of the matching variables names are listed, instead
               of a blank line.

Change 33.306  The Group Capacity Variables SMF70GNM (Group Name) and
VMXG70PR       SMF70GMU (MAXIMUM LICENSE UNITS) are kept in the Per-LPAR
Dec 20, 2015   CEC-Level dataset PDB.ASUMCELP (built automatically in
Dec 22, 2015   BUILDPDB by the include of member ASUM70PR).
Jan  8, 2015  -SMF70WLA is added to ASUMCELP for the systems whose SMF
               70's were read.
              -Variable ZIPCPUS was ROUNDed to two decimal places, to
               print pretty, as the calculated value often was x.99999,
               and debugging _PRN70PR macro was added to VMXG70PR.

Change 33.305 -Support for z/OS 2.2 RMF 74 Subtype 10 SCM Storage Class
EXTY7410       Memory statistics creates new datasets:
EXTY74SC
IMAC74           dddddd  dataset   description
VMAC74           TY7410  TYPE7410  SCM EADM AGGREGATE STATS
VMAC78           TY74SC  TYPE74SC  SCM CONFIGURATION MEASUREMENT
Dec 18, 2015  -New z/OS 2.2 variables (COMPATIBLE) in TYPE78PA:
                 R782LSMOMIN ='MIN FRAMES*ARE USED*SHARED*MEMOBJ='
                 R782LSMONTME='TIME STAMP*OF MIN*SHARED*MEMOBJ='
                 R782LSMOMAX ='MAX FRAMES*ARE USED*SHARED*MEMOBJ='
                 R782LSMOXTME='TIME STAMP*OF MAX*SHAREDMEMOBJ='
                 R782LSMOAVG ='AVG FRAMES*ARE USED*SHARED*MEMOBJ='

Change 33.304  Dataset TYP120xx variable SM120RULEXSUM was a typo for
VMAC120        SM120RULEXFSUM and now, SM120RULEXSUM doesn't exist.
Dec 16, 2015
   Thanks to Homayoun Riazi, OPTUM, USA.

Change 33.303  "Duplicate" obs were created in PDB.DB2STATS when DB2
VMACDB2        used more than 24 buffers in an interval, because DB2
Dec 16, 2015   creates (unexpected) multiple SMF 100 subtype 1 records
               for that interval, but the QWHSSTCK time is not exactly
               the same, and QWHSSTCK must be used because DB2 stats
               records don't contain an interval start time value. There
               were no actual duplicated data, but additional obs with
               the same SMFTIME and only buffer metrics were created in
               the PDB.DB2STATS statistics summary dataset.
               Now, the data is ordered by QWHSISEQ and the QWHSSTCK of
               the first instance is stored in both PDB.DB2STATB and in
               the new PDB.DB2STSBP buffer datasets, and the corrected
               QWHSSTCK is used to create PDB.DB2STATS.
   Thanks to Rachel Holt, Fidelity Systems, USA.
   Thanks to Lori Masulis, Fidelity Systems, USA.

Change 33.302  Support for two optional CICS user fields:
IMACICWR         CMODHEAD  CMODNAME   Variable
IMACICWS         OMEGCICS  OMEGCICS   OMEGCICS   $EBCDIC104.
IMACAAAA         USER      STARPOL    STARPOL     $EBCDIC92.
UTILEXCL
VMAC110
Dec 15, 2015

Change 33.301  ITRM 33.12+ ERROR: WORK.SUMSTSPB.DATA does not exist.
ITRM          -ITRM users of MXG 33.12+ MUST use EPDBOUT macro variable
Dec 11, 2015   to correctly sort the new DB2STSBP Simulated Buffer Pool
               with this %LET statement inserted:
                  %CMPROCES . . .
                  %LET EPDBOUT= _SDB2SBP ;
                  %CPSTART . . .
              -If you have not installed the ITRM Hot Fix 45583/41019,
               you already have an EPDBOUT= _SDB2ST4 _SDB2225, so your
               circumvention would be:
                  %LET EPDBOUT=_SDB2ST4 _SDB2225 _SDB2SBP ;
   Thanks to Richard Schwarz, IBM, USA.

Change 33.300  New variables added to DB2ACCTx and DB2STATx datasets by
ASUMDB2A       DB2 Version 11 are added to existing summary datasets.
ASUMDB2B       The new dataset DB2STSBP summary is added in VMXGDBSS.
ASUMDB2G
ASUMDB2P
VMXGDBSS
Dec 11, 2015
Dec 14, 2015
   Thanks to Wayne Bell, UNIGROUP, USA.

Change 33.299  Support for zVM 6.3 MONWRITE z13 SMT Mode; fields were
VMACVMXA       inserted (INCOMPATIBLE) in SYTPRP after Change 33.242.
Dec 11, 2015   zVM 6.3.15.1 records have been validated.  These
               records have been validated.  These variables are added
               to VXSYTPRP dataset:
                  PF2CADCT     ='UNDELAYED*CAD*INSTRUCTIONS'
                  PF2TSCAD     ='CAD*INSTRUCTIONS*EXECUTED'
                  PF2TSCNT     ='TSGET*REQUESTS'
                  PF2TSGTM     ='TSGET*REQUEST*ELAPSED*TIME'
                  PFXPOLSR     ='CORE*POLARIZATION'
                  SYTPRP_CAL_PLSIPTEI='IPTE 1/2*ACQUISITIONS'
                  SYTPRP_COREXTCT='COUNT*MT*COUNTERS*EXTRACTED'
                  SYTPRP_COREXTTT='DURATION OF*EXTRACT*MT*COUNTERS'
                  SYTPRP_PFXCPUCH='TIMES WHEN*SIEIHCPU FFFF*SWITCHES'
                  SYTPRP_PFXPRGCT='TIMES WHEN*SIEIHCPU FFFF'
                  SYTPRP_PLSIIA  ='IPTE 2*ACQUISITIONS'
                  SYTPRP_PLSIIADD='TIMES WHEN*ACQUIRED*AS SHARE'
                  SYTPRP_PLSIIHDSSQCH='SSQ TIME*CONTINUOUS*HELD'
                  SYTPRP_PLSIIWTSSQCH='SSQ TIME*CONTINUOUS*HELD'
                  SYTPRP_PLSIIHLD='DURATION*CONTINUOUS*HELD'
                  SYTPRP_PLSIINHLD ='INTERVAL*COUNT*CONTINUOUS*HELD'
                  SYTPRP_PLSIIWTM='WAIT TIME*IPTE*INTERLOCK*ACQUISITION'
                  SYTPRP_PLSPTLCA='CALLS SET*PENDING*NON-LOCAL'
                  SYTPRP_PLSPTLCD='CALLS SET*PENDING*HOST TLB'
                  SYTPRP_PLSPTLCL='CALLS TO*PURGE*LOCAL*TLB'

Change 33.298  Support for IMS 14.1 log records (COMPATIBLE).
VMACIMS        The IMS56FA dataset added two new variables
Dec 10, 2015     DLRDIR='DL/I*IR*CALLS'
                 DLRDMR='DL/I*MR*CALLS'
               in existing reserved bytes.


Change 33.297 -Label for PCTCPUBY was corrected for PDB.TYPE70EN, which
VMAC7072       had incorrectly been "LPAR*CPU*BUSY".
VMXGWORL      -VMXGWORL enhanced to parse the result into two macro vars
Dec 10, 2015   &MXGWORLLIB and &MXGWORLDSN so that PROC DATASETS, which
               requires them separately, could be used to change labels.

Change 33.296  If you specified IMACKEEP= to retain the IMACKEEP that is
UTILBLDP       generated, invalid syntax for _TIMEDIF/_SPINUOW/_SPINCNT
Dec  9, 2015   could be generated; the NULL value default should have
               suppressed the generation of these macros; now it does.
               The ECHO=YES default will now display the IMACKEEP text.
   Thanks to Richard Krueger, Sentry, USA.

Change 33.295  Cosmetic.  Prints messages when there are datasets in OLD
VMXGCOMP       that are not in NEW, or vice versa.
Dec 8, 2015

Change 33.294  INPUT EXCEEDED ERROR for SMF 102 records written by BMC's
FORMATS        Mainview for DB2, IFCIDs 815Ex-8160x - Accounting Rollup
VMACDB2H       and IFCID 80F1x - Data Collector, which were unknown and
Dec  9, 2015   unsupported in MXG.  These records contain unique SMF 102
Dec 18, 2015   header segments that do not match MXG expectations that
               caused the error.  But since no one has actually asked
               for these subtypes, this change circumvents the problem
               Decimal IFCIDS deleted are 33009,33118,33119,and 33120.
               by skipping these subtypes in SMF 102 processing in MXG.
              -The ANALID report (VMACID,FORMATS) is updated to be aware
               of and describe these 102 subtypes in its reports.

Change 33.293  MACRO _TIMEDIF % set instead of MACRO _TIMEDIF 0 % caused
UTILBLDP       a 22-322 Syntax Error.
Dec  5, 2015

Change 33.292  When printing of the found datasets is requested, the
VMXGFIND       heading has the LIBNAME and MEMNAME printed.
Dec  5, 2015

Change 33.291  Support for BMC Mainview for CICS Version 7.0 (COMPAIBLE)
VMACMVCI       adds these new variables for CICS/TS 5.3 to CMRDETL:
Dec  6, 2015      T6E70XCT='70*EXTENSIONS*LENGTH'
                  T6EDSAWC='ALLOCATE*THREAD*WAIT*COUNT'
                  T6EDSAWF='ALLOCATE*THREAD*WAIT*FLAG'
                  T6EDSAWT='ALLOCATE*THREAD*WAIT*TIME'
                  T6EEIBTR='INTERNAL*PROCESSING*FIELD'
                  T6EJSRPL='JSON*RESPONSE*MSG LENGTH'
                  T6EJSRQL='JSON*REQUEST*MSG LENGTH'
                  T6ELSTN_ACPTOK ='SUCCESSFUL*ACCEPTS'
                  T6ELSTN_CHILDTK='CHILD*SUBTASKS*STARTED'
                  T6ELSTN_DISPROG='DISABLED*PROGRAM'
                  T6ELSTN_DISTRAN='DISABLED*TRANSACTION'
                  T6ELSTN_GVSKTFL='GIVESOCKET*FAILURES'
                  T6ELSTN_REJAUTH='REJECTED*NOT AUTH'
                  T6ELSTN_REJSECU='REJECTED*SECURITY'
                  T6ELSTN_REJTDIO='REJECTED*TD*I/O'
                  T6ELSTN_REJTDLN='REJECTED*TD*LENGTH'
                  T6ELSTN_REJTDNS='REJECTED*TD*NO SPACE'
                  T6ELSTN_TACPTOK='TERM*SUCCESSFUL*ACCEPTS'
                  T6ELSTN_TCHILDTK  ='TERM*CHILD*SUBTASKS*STARTED'
                  T6ELSTN_TDISPROG  ='TERM*DISABLED*PROGRAM'
                  T6ELSTN_TDISTRAN  ='TERM*DISABLED*TRANSACTION'
                  T6ELSTN_TGVSKTFL  ='TERM*GIVESOCKET*FAILURES'
                  T6ELSTN_TREJAUTH  ='TERM*REJECTED*NOT*AUTH'
                  T6ELSTN_TREJSECU  ='TERM*REJECTED*SECURITY'
                  T6ELSTN_TREJTDIO  ='TERM*REJECTED*TD*I/O'
                  T6ELSTN_TREJTDLN  ='TERM*REJECTED*TD*LENGTH'
                  T6ELSTN_TREJTDNS  ='TERM*REJECTED*TD*NO SPACE'
                  T6ELSTN_TUNDTRAN  ='TERM*UNDEFINED*TRANSACTION'
                  T6ELSTN_UNDTRAN='UNDEFINED*TRANSACTION'
                  T6ENCGET='COUNTER*DCOUNTER*REQUESTS'
                  T6ETOTL_TINITT ='TOTAL*INIT*TIME'
                  T6ETOTL_TOTHRT ='TOTAL*OTHER*TIME'
                  T6ETOTL_TREADT ='TOTAL*READ*TIME'
                  T6ETOTL_TSLCTT ='TOTAL*SELECT*TIME'
                  T6ETOTL_TWRITT ='TOTAL*WRITE*TIME'
                  T6ETRUE_ATTACH ='DYNAMIC*SUBTASK*COUNT'
                  T6ETRUE_INITCKC='INIT*CALL*COUNT'
                  T6ETRUE_INITCKF='INIT*CALL*FLAG'
                  T6ETRUE_INITCKT='INIT*CALL*CLOCK'
                  T6ETRUE_OPENAPI='OPEN*API*COUNT'
                  T6ETRUE_OTHRCKC='OTHER*CALL*COUNT'
                  T6ETRUE_OTHRCKF='OTHER*CALL*FLAG'
                  T6ETRUE_OTHRCKT='OTHER*CALL*CLOCK'
                  T6ETRUE_READCKC='READ*CALL*COUNT'
                  T6ETRUE_READCKF='READ*CALL*FLAG'
                  T6ETRUE_READCKT='READ*CALL*CLOCK'
                  T6ETRUE_REUS ='REUSABLE*COUNT'
                  T6ETRUE_SLCTCKC='SELECT*CALL*COUNT'
                  T6ETRUE_SLCTCKF='SELECT*CALL*FLAG'
                  T6ETRUE_SLCTCKT='SELECT*CALL*CLOCK'
                  T6ETRUE_TATTACH='TERM*DYNAMIC*SUBTASK*COUNT'
                  T6ETRUE_TCBLIM ='TCB*LIMIT*REACHED*COUNT'
                  T6ETRUE_TINIT='TASK TERM*TOTAL INITS'
                  T6ETRUE_TOPENAPI  ='TERM*OPEN*API*COUNT'
                  T6ETRUE_TOTHR='TASK TERM*TOTAL OTHERS'
                  T6ETRUE_TREAD='TASK TERM*TOTAL READS'
                  T6ETRUE_TREUS='TERM*REUSABLE*COUNT'
                  T6ETRUE_TSLCT='TASK TERM*TOTAL SELECTS'
                  T6ETRUE_TTCBLIM='TERM*TCB*LIMIT*COUNT'
                  T6ETRUE_TWRIT='TASK TERM*TOTAL WRITES'
                  T6ETRUE_WRITCKC='WRITE*CALL*COUNT'
                  T6ETRUE_WRITCKF='WRITE*CALL*FLAG'
                  T6ETRUE_WRITCKT='WRITE*CALL*CLOCK'
                  T6ETSGSC='SHARED*TS*GETS'
                  T6ETSPSC='SHARED*TS*PUTS'
               In addition, these existing file segments that have no
               extended data now create these variables:
                  PSEUDOFILE='PSEUDO*FILE*NAME'
                  PSEUDOFILT='PSEUDO*FILE*DURATION'
                  PSEUDOFILC='PSEUDO*FILE*COUNT'
                  ADABASFILE='ADABAS*FILE*NAME'
                  ADABASFILT='ADABAS*FILE*DURATION'
                  ADABASFILC='ADABAS*FILE*COUNT'
                  SAPFILE='SAP*FILE*NAME'
                  SAPFILT='SAP*FILE*DURATION'
                  SAPFILC='SAP*FILE*COUNT'
                  DATACOMFILE='DATACOM*FILE*NAME'
                  DATACOMFILT='DATACOM*FILE*DURATION'
                  DATACOMFILC='DATACOM*FILE*COUNT'
                  IDMSFILE='IDMS*FILE*NAME'
                  IDMSFILT='IDMS*FILE*DURATION'
                  IDMSFILC='IDMS*FILE*COUNT'
                  SUPRAFILE='SUPRA*FILE*NAME'
                  SUPRAFILT='SUPRA*FILE*DURATION'
                  SUPRAFILC='SUPRA*FILE*COUNT'
                  S2KFILE='S2K*FILE*NAME'
                  S2KFILT='S2K*FILE*DURATION'
                  S2KFILC='S2K*FILE*COUNT'
                  GENFILE='GEN*FILE*NAME'
                  GENFILT='GEN*FILE*DURATION'
                  GENFILC='GEN*FILE*COUNT'

Change 33.290  The ANALID report tabulates all SMF data in the SMF file;
ANALIDDY       the new ANALIDDY tabulates the SMF data by DATE of the
TYPEIDDY       SMFTIME so day-to-day counts can be compared.
VMACID         The syntax for the new report is:
VMACIDDY
Dec  4, 2015     %ANALIDDY(READSMF=YES,PRINT=YES,PDBOUT=WORK);
Dec  5, 2015
   Thanks to Lizette Koehler, Albertsons/Safeway Stores, USA.

Change 33.289  z/OS only. If you used BLDSMPDB to build a MONTHLY PDB:
BLDSMPDB      -If the 1st of the month fell on a Sunday then the code
Dec  3, 2015   miscalculated the start of the last weekly and caused
               the last few days of the month to be missing.
              -If the 1st of the month did not match the start of the
               week then the last few days were duplicated because the
               logic looked for daily data GE then the start of the
               week and should have looked for GT.

Change 33.288  Reserved Change.

Change 33.287 -The PDB.CICDS CICS Dispatcher Statistics dataset now has
ADOC110        variable DSxPCT='AA TCB*PERCENT*USAGE', the IBM estimate
VMAC110        of each CICS TCB's percentage usage.
Dec  3, 2015  -ADOC110 now documents the new TCBs added in CICS/TS 2.2.

====== Changes thru 33.286 were in MXG 33.12 dated Dec  1, 2015=========

Change 33.286  Six TYP1194L variables LxLCLLNKID and LxRMTLNKID were
VMAC119        incorrectly changed from numeric to character in first
Dec  1, 2015   33.12. They were corrected in final Dec 1 refresh.
               All six are formatted with HEX8 format for consistency.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 33.285  Cosmetic, eliminate non-impacting warning that numeric
ASUMTALO       variable AVGDRIVE has different lengths in ASUMTALO and
TRNDTALO       TRNDTALO, because an ancient statement in member ASUMTALO
Nov 30, 2015   specified LENGTH AVGDRIVE 4  while TRNDTALO invoked
               VMXGSUM which sets LENGTH DEFAULT=&MXGLEN that is the
               correct syntax to set stored length 5 on EBCDIC or 6 on
               ASCII, which are the required lengths for SAS variables
               that fully support 4-byte input fields.  Observed in QA.

====== Changes thru 33.284 were in MXG 33.12 dated Nov 27, 2015=========

Change 33.284  Warning message in TYPE26J2 that the MXG created variable
VMAC26J2       INREASON is blank is removed; not all purge records have
Nov 27, 2015   enough information to populate the created variable, e.g.
               JCL error in INTRDR populates only READTIME, JPURTIME and
               SYSREAD.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 33.283 -INVALID DATA for WORD5UP in BBBP ENDING UPTIME because
VMACNMON       the expected HH:MM format is sometimes 'HH HRS' when the
Nov 26, 2015   value is 'HH:00'.  The HRS text is now removed so the 11
               hour value is valid eliminating the error message.
              -NMON records missing data and the LF delimiter exist and
               they cause strange errors.
               -One record with TYPE of DISKBSIZEAAA is clearly missing
                data and an LF before the AAA, which is a new record
                TYPE.  This record caused an INVALID ARRAY error because
                MXG tested for TYPE=:'DISKBKSIZE', starting with, for
                possible numeric suffixes often used in NMON.
               -Another record had only CPAAA, causing an UNKNOWN TYPE
                log message.
               -A third TYPE=LPAR has 22 valid fields but was missing
                the LF separator and had a valid AAA record concat.
                This record caused an INVALID INPUT error because MXG
                expected numbers in the up to 24 fields in TYPE LPAR.
              -Because NMON is character data, all numeric fields are
               created with INPUT() functions, but now, with these bad
               data records, the INPUT functions are now protected with
               the ?? token to suppress the ERROR, PUT _ALL_, and LIST
               log messages.
              -Disk error messages "NRCOUNTERS NE DSKSEQNR" that were
               cited as due to bad data in Change 31.164 are corrected.
               They were due to new DISKBUSY1/DISKREAD1/etc objects that
               NMON created when there were more than 150 devices that
               were NOT supported until now.
   Thanks to Steve McCulloch, TMX/CDS Group, CANADA.

Change 33.282  SMF 90 records contain the ENCRYPTED/MASKED UTOKEN value
FORMATS        as documented in Change 33.189, which noted IBM does plan
VMAC90A        to change to the UNMASKED value, but the encryption logic
Nov 25, 2015   is only an Exclusive OR with '55'x and mapping the result
Nov 27, 2015   into a one byte character which is then INPUT as $EBCDIC,
Dec  1, 2015   so the TOKxxxxx variables in the TYPE90A dataset are now
               plain text values if the field was MASKED.
              -The 80-byte SMF90T37UTOKEN is decoded into its TOKxxxxx
               variables, now set to LENGTH $8 (they are INPUT() with a
               SUBSTR() which defaults to length of the input variable),
               and so it is no longer kept.
              -New FORMAT MGHEXNM was needed to map the XOR value to the
               character hex value for the output.
              -Dec 1: Error  +;  was corrected.
   Thanks to Peter Relson, IBM z/OS Development, USA.

Change 33.281  A valid WARNING was printed from an SQL step due to a
VMXGSIZE       WHERE clause.  Logic reordered to eliminate the warning.
Nov 24, 2015

Change 33.280  PDB.TYPE70 for z13 in SMT mode could have the wrong count
VMAC7072       in ZIPCPUS, ZIP70PAT, and ZIPUPTM because SMF70PAT was
Nov 21, 2015   incorrectly added to ZIP70PAT when SMF70ONT is missing.
   Thanks to Joachim Sarkoschitz, DATEV, GERMANY.

Change 33.279 -Support for DB2 Simulated Buffer Pool statistics segment,
ANALDB2R       creates new PDB.DB2STSBP dataset with per pool data, and
ASUMDBSS       four sets of QBnSxxxx interval totals in PDB.DB2STATS and
EXDB2SBP       ASUMDBSS creates new ASUMDBSP summary dataset.
IMACDB2       -MOBILEWORK programs QAMOB and MOBWRK02 required updates
MOBWRK02       to support/protect this new dataset
QAMOB         -Buffer Hit Ratios for the SBP are created but set to a
READDB2        missing value, pending data for validation.
VMACDB2       -ANALDB2R compile fakers for QWxxxxDB were corrected.
VMXGDBSS      -The names of tokens/datasets for SBP mirror STB:
VMXGINIT          DB2STB    DB2SBP
Nov 18, 2015      DB2STSTB  DB2STSBP
Nov 22, 2015      DB2STAB   DB2STSB
Nov 23, 2015      ASUMDBSB  ASUMDBSP
Nov 26, 2015      MACSTAB   MACSTSB
Dec 18, 2015      D2BPSIN   D2SBPIN
                  D2SBPIN   D2SBPOU
              -There is no count of pages-not-in-the-pool so there is no
               buffer hit ratio for the simulated buffer pool that I can
               calculate.  Variable QBSPREADS is the total number of
               requests that caused a read.
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 33.278  If you used INTERVAL=MONTH, MXGDURTM was missing for the
VMXGDUR        31-day months, except December, when it was non-missing
Nov 18, 2015   but was 41 days of seconds, because the statement
                 IF MONTH IN(1.3.5.7.8.10,12) THEN MXGDURTM=41*86400;
               should have been
                 IF MONTH IN(1,3,5,7,8,10,12) THEN MXGDURTM=31*86400;
               periods are not allowed, but do NOT create a SAS error.
               This is old, present in MXG 30.09 but not in MXG 26.26.
   Thanks to Chris Weston, SAS Institute ITRM, USA.

Change 33.277  If you tried to use Example TWO to create ASUMUOW, an
IMACUOW        error resulted due to a misplaced percent sign; Example
Nov 19, 2015   THREE did not tell you how to create "MYDATA", and while
               Example FIVE did work, it was inconsistent with others.
   Thanks to Chris Weston, SAS Institute ITRM, USA.

Change 33.276  RMF III variables GEILF4K and GEILP4K in dataset ZRBGEI
VMACRMFV       were reversed in their INPUT order; GEILF4K precedes
Nov 16, 2015   GEILP4K now.
   Thanks to Kurt Gramling, Total Systems.

Change 33.275  Assemble/Link Edit all five MXG ASM programs for install.
ASMRMFV        The existing single ASM/LKED members are restructured so
CICSIFUE       the ASM code is isolated from the JCL so the new JCLASMXG
EXITCICS       member will create all five loadlib members in one job.
JCLASMXG       ASMRMFV  - Used in JCLRMFV to process RMF III VSAM file,
MNVWIFUE                    output RMFBSAM read by TYPERMFV.
MXGTMNT                     (Individual ASM/LKED is in JCLASM3/ASMRMFV)
TMONEXIT       CICSIFUE - Used in TYPEDB2/TYPE110/TYPE112 to decompress
Nov 16, 2015                IBM SMF records 100, 101, 102, 110, and 112.
Nov 23, 2015                (Individual ASM/LKED is in EXITCICS)
Nov 27, 2015   MNVWIFUE - Used in TYPEBBMQ to read compressed BBMQVSAM
                           and in TYPECMFV to read BMC MainView data.
                            (Individual ASM/LKED is in ASMMNVW)
               MXGTMNT  - The MXG Tape Mount Monitor Program, read by
                           TYPETMNT
                            (Individual ASM/LKED is in ASMTAPEE)
               TMONEXIT - Used in TYPETMO2 to decompress MONICICS
                           TMON/CICS data.
                            (Individual ASM/LKED is in EXITMON6)
               The original documentation comments are in appendices
               at the end of JCLASMXG.
   Thanks to MP Welch, Bank of America, USA.

Change 33.274 -Enhancement for character data filtering for RMF Monitor
ADOCRMFV       III CSR (Common Storage Remaining) table and other
ASMRMFV        usability improvements.
Nov 16, 2015  -These filters are intended for building ad hoc MXG RMF
               III PDBs for studies avoiding the overhead of generating
               a full CSR table based PDB.  They control which CSR table
               entries are output to the RMFBSAM file.
              -Four new filters are added to support CSR entry selection
               from this table to the RMFBSAM output file.  These
               filters are effective only if the CSR table is selected.
               They are applied in the order shown when multiple
               different keywords are used.

               New Keyword    Aliases
               ------------   -----------------------------------------
               CSRJOBNAME=    CSRJOBNA=, CSRJOBNM=,  CSRJOB=,   CSRJN=
               CSRJESID=      CSRJESNO=, CSRJESNUM=, CSRJESNR=, CSRJID=
               CSRAND         None
               CSROR          None

              -TUTORIAL:
               Ranges of the form keyword=first:last may be used with
               any of the above keywords except CSRAND and CSROR.

               The colon character ':' is required for a paired range
               specification.  All entries GE the first value and LE the
               last value are selected for output to the RMFBSAM file.

               The first value may not exceed the last value in EBCDIC
               collating sequence or an error is flagged.

               Single unpaired values may be specified for a range
               simply as keyword=first and in this case the colon ':' is
               omitted.

               Patterns may also be used with any of the above keywords
               except CSRAND and CSROR and include one or more Wild Card
               characters to match the respective CSR data field.

               A pattern contains one or more special Wild Card
               characters as follows:

               Wild
               Card   Matches
               ----   -------------------------------------------------
               *      0 or more characters
               %      1 Non-blank character
               +      1 Numeric character (0-9)
               _      1 Alphabetic character or _  (a-z, A-Z, _)
               .      1 National character (@, #, $)
               !      1 Special character (not a-z, A-Z, 0-9, @, #, $)
               ?      A blank string if used by itself
               ?      1 Blank character (X'40') if used with any other
                        characters

               Ranges may not be wild carded.  If wild carded the range
               value becomes a pattern instead and is processed as such.

               See Section 25 "Ranges and Patterns" in the ADOCRMFV
               member or ASMRMFV source code for more details on usage
               of ranges and patterns.

              -CSRJOBNAME= selects CSR entries by 1-8 character z/OS
               Job Name.  Job Name characters are validated to those
               allowed by JCL syntax.  Both ranges and patterns with
               wild cards may be specified.  Up to 64 ranges and 64
               patterns are supported.  The default is CSRJOBNAME=ALL.

              -Examples for CSRJOBNAME= :
               CSRJN=PROD1234:PROD5678 selects only address spaces with
               a z/OS Job Name GE 'PROD1234' and LE 'PROD5678' as a
               range.  Note use of the keyword alias CSRJN for coding
               convenience.

               CSRJOBNAME=.* is a pattern that selects only address
               spaces with a Job Name that begins with a national
               character.

               CSRJOBNAME=*++ is a pattern that selects only address
               spaces with a Job Name that ends with 2 numeric digits.

               CSRJOBNAME=ABC:ABC88888 is a range that selects only
               address spaces with a Job Name that is GE 'ABC     ' and
               LE 'ABC88888'.

              -CSRJESID= selects CSR entries by 8 character JES Job
               Identification.  Both ranges and patterns with wild cards
               may be specified.  Since a JES Id is one subsystem
               character followed by 7 digits or three subsystem
               characters followed by 5 digits not all pattern
               characters may be used with this keyword.

               See Section 25 "Ranges and Patterns" in the ADOCRMFV
               member or ASMRMFV source code for more details on usage
               of ranges and patterns.

              -For convenience any leading zeros in the numeric portion
               of the JES Id may be omitted and will be filled in
               automatically.  Up to 64 ranges and 64 patterns are
               supported.  The default is CSRJESID=ALL.

              -Examples for CSRJESID= :
               CSRJID=J0000100:J0001123 is a range that selects all
               address spaces with batch JES Id numbers GE 100 and LE
               1123.  Note use of keyword alias CSRJID for coding
               convenience.

               CSRJID=J100:J1123 is a range that selects the same
               address spaces as above with the leading zeros omitted
               for coding convenience.

               CSRJESID=JOB12345:JOB32001 is a range that selects all
               address spaces with batch JES Id numbers GE 12345 and LE
               32001 for installations with 5 digit JES Id numbers as a
               range.

               CSRJESID=J1* is a range that selects all address spaces
               with a JES ID that begins with 'J1'.  This would include
               J1000000 through and including J1999999.

              -CSRAND (default) indicates that selection results from
               the two different CSR filter keywords are logically
               ANDed.

              -CSROR indicates that selection results from the two
               different CSR filter keywords are logically ORed.

              -Examples of CSRAND/CSROR:

               With CSRAND (default) in effect:
               CSRJESID=J10*    CSRJOBNAME=XYZ*
               are two patterns that select ONLY jobs whose JES ID
               begins with 'J10' AND Job Name begins with 'XYZ'.
               CSRAND provides more restrictive CSR entry selection.

               With CSROR in effect:
               CSRJESID=J10*    CSRJOBNAME=XYZ*
               are two patterns that select jobs whose JES ID begins
               with 'J10' OR Job Name begins with 'XYZ'.  CSROR provides
               less restrictive CSR entry selection.

              -Selection results from repeats of the same CSR filter
               keyword are always logically ORed.
              -The order of CSR filter application is:
               1) CSRJOBNAME=
               2) CSRJESID=
              -New support for the concept of multi-table selection with
               filters JOBNAME= (alias JOB=) and JESID= (alias JID=) to
               allow selection by Job Name and/or JES Identification
               jobname from both the RMF Monitor III ASI and CSR tables
               with one keyword.
              -This is a convenience feature to avoid having to code the
               Job Name or JES ID selection parameters twice when the
               same jobs from both tables are of interest.
              -Both the ASI and CSR tables must be selected for these
               multi-table selection keywords to function completely.
               Otherwise, only entries from the one selected table are
               filtered.

               Note that most RMF III tables do not contain common
               character data fields, but in this case the ASI and CSR
               do.

              -Example of JOBNAME= :
               JOBNAME=ABC* or JOB=ABC* is equivalent to coding
               ASIJOBNAME=ABC*
               CSRJOBNAME=ABC*

              -Example of JESID= :
               JESID=JOB01000:JOB01999 or JID=JOB01000:JOB01999
               is equivalent to coding
               ASIJESID=JOB01000:JOB01999
               CSRJESID=JOB01000:JOB01999

               NOTE: If a job has ended before the selected MINTIME
               intervals it will ONLY appear in the MXG ZRBCSR data set
               and NOT the MXG ZRBASI data set.

              -Reduced processing overhead for CSR tables.
              -RMFV056* (*=I,W,E) message is no longer issued twice when
               a single unpaired range value is in error.
              -All invalid characters detected in a pattern are now
               shown in multiple RMFV056* (*=I,W,E) messages.  Before
               only the first character in error was displayed.  This
               could result in repeated runs of ASMRMFV just to find all
               the invalid characters in a pattern.
              -The error message generation process has been rewritten
               for improved efficiency, consistency, clarity, and
               usability.

               For example, the problem data area in RMFV004* and
               RMFV056* messages that shows the text in error is
               expanded from 24 to 63 characters.  Also all length
               errors are displayed in the same format.

              -Added new documentation Section 26 "ASMRMFV and SAS PDB
               Relationships" that explains which RMF III tables
               correspond to which eventual MXG SAS datasets.  If the
               required RMF III table is not selected in ASMRMFV the MXG
               dataset will have zero observations.

               All ASMRMFV users should review this useful information.
              -Old documentation Section 26 "Summary" is now Section 27.
              -The PATTERR= parameter was not effective because it was
               not processed until all parameters were read.  This was
               too late because pattern error handling must occur during
               the actual parameter process as patterns are being
               scanned.
              -PATTERR= parameter handling now occurs immediately when
               found in the JCL PARM field or SYSIN DD stream including
               severity tailoring of message RMFV056* (*=I,W,E).
              -The default value for PATTERR= is now PATTERR=ABEND.
               Before the default was PATTERR=WARN.  An incorrect
               pattern value could result in a waste of processing
               resources building an MXG PDB that did not contain the
               data desired and so that default was inappropriate.
              -The documentation is updated to make it clear that
               PATTERR= applies to BOTH pattern AND range errors.  There
               is no RANGEERR= parameter.
              -DISK is now supported as a value alias for the DEVTYPE=
               keyword in DVT table filtering so that DEVTYPE=DISK may
               be used.  Any truncation of 'DISK' as a character value
               (DIS,DI,D) is also allowed.
              -DVTT= was missing in documentation as an alias for
               DEVTYPE= although it was always supported.
              -First message RMFV001I now also displays the system GMT
               offset as GMT OFFSET=-hh:mm:ss or GMT OFFSET=+hh:mm:ss as
               extracted from the z/OS Communication Vector Table (CVT)
               in addition to the existing current date and time of
               ASMRMFV beginning execution.
              -A new RMFV001I message shows the ASMRMFV beginning
               execution date and time in GMT.
              -A MAXDSNAMES= value exceeding maximum supported &DSNMAX
               value was not flagged as an error.
              -Message RMFV034S did not correctly display the number of
               used table entries when a range or pattern table was
               exhausted.
              -Several documentation Sections are updated to support
               the above changes:
               Section  5 "Input Data Selection Parameters"
               Section  8 "Error Handling Parameters"
               Section 12 "Messages"
               Section 13 "Filtered Records"
               Section 17 "Abend Reason Codes"
               Section 25 "Ranges and Patterns"
               Section 26 "ASMRMFV and SAS PDB Relationships" (NEW)
               Section 27 "Summary"

Change 33.273  DB2 SMF 102 Trace IFCID=109 INVALID DO LOOP CONTROL ERROR
VMAC102        was caused by unexpected/invalid QWT02R10/L/N triplet
Nov 12, 2015   with all zeros; which is the only segment in the 109 with
               QW0109RC, the Bind Return code, so I presumed it was the
               purpose for the record and did not test for the existence
               of a non-zero count.  Now, I do test, and still output an
               observation, which will have QW0109RC a missing value.
   Thanks to Karl-Olaf, JN Data, DENMARK.

Change 33.272  Cosmetic change to eliminate numeric conversion messages.
ASUMTALO
VMXGRMFI
Nov 11, 2015

Change 33.271  TYPETMO2 processing of compressed records did not print
VMACTMO2       the warning message if the internal MXG decompression is
Nov 11, 2015   used on z/OS instead of the EXITMON6 Infile Exit.

Change 33.270  Variable SMF14ALIAS, the Alias Data Set Name in TYPE1415,
VMAC1415       added by z/OS 2.2 and MXG 33.01, was spelled SMR14ALIAS
Nov 10, 2015   in the KEEP= list so it was not kept.  With MXG 33.01+
               use  MACRO _KTY1415 SMF14ALIAS %  in your IMACKEEP to
               keep the variable until you drop in the next MXG Version.
               Field was added by APAR PI69296.
   Thanks to Robert Obee, IMS Health, USA.

Change 33.269  UTILBLDP changes the default to ECHO=YES, so that the
UTILBLDP       generated code is automatically printed on the SAS log,
Nov  9, 2015   so we can examine the output without requesting a rerun
               to enable ECHO, if there is a problem in execution.

Change 33.268 -Support for SEVEN USER-USER fields in CICSTRAN, and
IMACICVY       several other unique fields.
IMACICVZ       To enable these user fields, you need to specify
IMACICWA         %LET NREXCLUSER=7;
IMACICWB         %INCLUDE SOURCLIB(UTILEXCL);
IMACICWC         _BLDDICT
IMACICWD         _BLDEXCL
IMACICWE         _RPTEXCL
IMACICWF      -Variable JOB is added to CICSTRAN.CICSTRAN (the JOB name
IMACICWG       of the CICS region).
IMACICWH
IMACICWI
IMACICWJ
IMACICWL
IMACICWM
IMACICWN
IMACICWP
IMACICWQ
UTILEXCL
VMAC110
VMXGINIT
Nov 11, 2015
   Thanks to Jens Ove Stogaard, NORDEA, SWEDEN.

Change 33.267  SMF 120 dataset TYP120JI only output the first instance;
VMAC120        the offset for the INPUT was not updated by the length.
Nov  6, 2015
   Thanks to Elie Sawaya, Royal Bank of Canada, CANADA.

Change 33.266  MXG 33.11 only. ERROR:  VARIABLE SYTPN NOT FOUND, only if
VMACXAM        _SXAM is used to sort the zVPS datasets; SYTPN should not
Nov  6, 2015   be in the new _BXAMCU2 and _BXAMCUV "By List" macros as
               it does not exist in those two new datasets.
   Thanks to Matthew Brooks, OPM, USA.
   Thanks to Robert Richards, OPM, USA.
   Thanks to Leslie W. Mitchell, OPM, USA.

Change 33.265  ThruputManager dataset TPMSLM variables TPMSLXGF/TPMSLXGN
VMACTPMX       are TODSTAMP8. STCK datetimes, so their incorrect INPUT
Nov  6, 2015   with &PIB.8.6 and subsequent divide by 4096 was invalidly
               creating dates in 2076, since that is a duration value
               (same as MSEC8) rather than a datetime value.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.264  Support for APPTUNE 11.2 INCOMPATIBLE changes to the 8005
VMAC102        IFCID record. Some truncated 8005 records are created
Nov  5, 2015   that MXG detects and reports the first instance, and the
Nov 23, 2015   vendor reports a correction will be provided.  Datasets
               T1028004, T1028005, and T102800B have been data-tested.
   Thanks to Rudi Claes, KBC, BELGIUM.

Change 33.263  Support for User CICS field BTMASK.
IMACAAAA
IMACICVX
UTILEXCL
VMAC110
Nov  4, 2015

Change 33.262  Support for SMF 119 subtypes 41-44 (previously, zero obs)
FORMATS        and for the below fields added in z/OS 2.1 or earlier
VMAC119        that had been overlooked.
Nov  6, 2015  -Subtype 2, dataset TYP11902:
                 TTLCLSMCLINKID='LOCAL*SMC-R*LINK*ID '
                 TTRMTSMCLINKID='REMOTE*SMC-R*LINK*ID'
                 TTSMCREASON   ='SMC-R*LINK*FAILURE*REASON*CODE'
                 TSMCFLAGS     ='SMC-R*FLAG'
                 FORMAT $MG119RC is created to decode the Reason Code.
              -Subtype 5, dataset TYP11905:
    TSSMCRACTIVEOPENED ='ACTIVE*TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
    TSSMCRACTLNKOPENED ='ACTIVE*SMC-R*LINKS*OPENED'
    TSSMCRCONNCLOSED   ='CLOSED*TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
    TSSMCRCURRESTAB    ='TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
    TSSMCRCURRESTABLNKS='CURRENT*ACTIVE*SMC-R*LINKS'
    TSSMCRINRSTS       ='SMC-R*INBOUND*WRITE*OPERATIONS*ABNORMAL*CLOSE'
    TSSMCRINSEGS       ='SMC-R*INBOUND*WRITE*OPERATIONS'
    TSSMCRLNKACTTIMEOUT='SMC-R*LINK*ACTIVATION*TIMEOUTS'
    TSSMCRLNKSCLOSED   ='SMC-R*LINKS*CLOSED'
    TSSMCROUTRSTS      ='SMC-R*OUTBOUND*WRITE*OPERATIONS*ABNORMAL*CLOSE'
    TSSMCROUTSEGS      ='SMC-R*OUTBOUND*WRITE*OPERATIONS'
    TSSMCRPASLNKOPENED ='PASSIVE*SMC-R*LINKS*OPENED'
    TSSMCRPASSIVEOPENED='PASSIVE*TCP*CONNECTIONS*ACROSS*SMC-R LINKS'
    TSTCEPHPORTAVAIL   ='AVAILABLE*TCP*EPHEMERAL*PORTS'
    TSTCEPHPORTEXH     ='BIND*FAILS*NO TCP*EPHEMERAL*PORTS'
    TSTCEPHPORTINUSE   ='TCP*EPHEMERAL*PORTS*CURRENTLY*IN USE'
    TSTCEPHPORTMXUSE   ='MAXIMUM*TCP*EPHEMERAL*PORTS*USED'
                 TSUDPBFA='BIND*FAILS*NO*UDP*EPHEMERAL'
                 TSUDPAVA='AVAILABLE*UDP*EPH*EPHEMERAL'/
                 TSUDPUSE='INUSE*UDP*EPH*EPHEMERAL'
                 TSUDPMAC='MAXIMUM*UDP*EPH*EPHEMERAL'/
                 TS6CEALO='ECSA*CURRENT'
                 TS6CENIU='ECSA*FREE'
                 TS6CPALO='PRIVATE*CURRENT'
                 TS6CPNIU='PRIVATE*FREE'
                 TS6SMCFC='SMCR*FIXED*CURRENT'/
                 TS6SMCFM='SMCR*FIXED*MAX'
                 TS6SMCSC='SMCR*SEND*CURRENT'
                 TS6SMCSM='SMCR*SEND*MAX'
                 TS6SMCRC='SMCR*RECV*CURRENT'
                 TS6SMCRM='SMCR*RECV*MAX'
              -Subtype 6, dataset TYP11906:
                 IFQDXNET='PHYSICAL*NETWORK*ID'
              -Subtype 7, dataset TYP11907:
                 FFSESSID='FTP*ACTIVITY*SESSION*ID'
              -Subtypes 41-44, all datasets are now populated.
              -Subtypes 97.  Variable SSH_FSPATH2 now INPUT and kept;
               The three variables SSH_FSPATH/FSPATH1/FSPATH2 should
               have been named FCPATH to match their IBM field names.
              -Variables EXTWTRNM,JESUBSYS,JOB,LOCLINFO,READTIME are
               not kept in datasets TYP11941/42/43/44/4L, where they
               don't exist and should never have been kept.
   Thanks to James T. Sherpey, Bank of America, USA.
   Thanks to David M. Wrobel, Bank of America, USA.
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.

Change 33.261  Internal code change, to make user tailoring easier.
VMAC7072       In dataset TYPE72GO, only two variables are kept for the
Nov  4, 2015   calculated percentage variables, PCTxxxxx and VALDSAMP,
               since the numerator value R723yyyy can be re-calculated
               in the EXTY72GO exit and KEPT in the _KTY72GO macro in
               your tailored IMACKEEP.  But by changing the variable
               name in the INPUT to the R723yyyy field name and using it
               for the PCTxxxxx calculation, those R723yyyy variables
               can be added to TYPE72GO with only _KTY72GO tailoring, so
               the EXTY72GO tailoring is not required. The code for the
               TYPE72MN dataset was similarly revised internally.
   Thanks to Erling Andersen, SMT, DENMARK.

====== Changes thru 33.260 were in MXG 33.11 dated Nov  2, 2015=========

Change 33.260  ANALSMDU report analyzes an SMF file for duplicate data
ANALSMDU       showing if/when duplicate data exists in separate dump
Nov  2, 2015   groups, with record numbers so duplicates can be removed,
               and tabulating if duplicate data exists in individual SMF
               dumps.
   Thanks to Lizette Koehler, Albertsons/Safeway Stores, USA.

Change 33.259  Support for zVPS Release 4230 for z13 is SMT mode
EXXAMCUV       creates two new datasets:
EXXAMCU2         dddddd   dataset   description
IMACXAM          XAMCU2   XAMCU2
VMACXAM          XAMCUV   XAMCUV
VMXGINIT
Oct 30, 2015

Change 33.258  Support for CICS USER field TORM.
UTILEXCL
VMAC110
Oct 30, 2015
   Thanks to Don Deckard, Wal*Mart, USA.
   Thanks to Cheryl Jordan, Wal*Mart, USA.

Change 33.257  This change is REQUIRED for CICS/TS 5.3.  The final new
UTILEXCL       CICS/TS 5.3 field, as always inserted, INCOMPATIBLY,
VMAC110        DSAPTHWT, is now supported, supported, creating variables
Oct 29, 2015     DSAPTHCN='WAIT COUNT*FOR DSA*PATH'
                 DSAPTHTM='WAIT TIME*FOR*DSA*PATH'
               Field was added in Beta 14.
   Thanks to Anthony Hirst, Wells Fargo, USA.

Change 33.256  CICS Count of TCB Change Mode Requests was originally in
VMAC110        IBM CMODIDNT=248 CHMODECT, a four byte counter, but that
Oct 29, 2015   was replaced in CICS/TS 1.3 with CMODIDNT=247 DSCHMDLY
               which is an 8-byte wait duration plus update counter that
               created these two variables that are now re-labeled:
                DSCHMDCN='DSCHMDLY*COUNT*TCB*CHANGE MODE*REQUESTS'
                DSCHMDTM='DSCHMDLY*DURATION*CHANGE MODE*REQUESTS'

Change 33.255  UTILEXCL failed with ARRAY EXCEEDED when more than 999
UTILEXCL       connectors exist; arrays increased to 1999.
Oct 27, 2015
   Thanks to Erling Andersen, SMT, DENMARK.

Change 33.254  MXG 33.09-33.10. Using WORK=SASWORK caused TYPE7072 code
VMAC7072       to fail; temporary datasets TYPE70EC and TYPE70EN did not
VMXGINIT       have &Wdddddd/&Pdddddd in their _Wdddddd/_Ldddddd tokens,
Oct 26, 2015   so they were written to //WORK instead of //SASWORK, no
Oct 31, 2015   error, but inconsistent.  Change 33.217 for z/13+SMT 70's
               revised MXG code for TYPE70EC/EL/EN datasets had replaced
               _WTY70EN with DATA TYPE70EN (the same when WORK=WORK),
               but the VMXGDEL deleted DATASET WORK.TYPE70EN when it
               should not have.  There is nothing illegal about setting
               Options WORK=SASWORK, and it was previously supported,
               but it had not been recommended by MXG, and is unneeded
               since //WORK can be multi-volume.
   Thanks to Scott Bickel, Kansas State Government, USA.

Change 33.253  Added processing of TYPE32 records to tabulate TSO MSU
SAGANAL        for each COMMAND in new Report 32.  Report 19, PROC PLOT
Oct 30, 2015   was removed from _RPTALL as it was only used in testing.
Nov  3, 2015   New Report 32 tabulates HOURLY TSO MSU for NAT commands.

Change 33.252  IMS Transaction dataset TYPE56FA does not contain SYSTEM,
TYPEIMST       the MVS SYSTEM ID, but you can pass the SYSTEM name into
VMACIMS        SAS from each JOB's JCL using the SYSPARM() statement:
Oct 22, 2015   // EXEC MXGSAS94,OPTIONS='SYSPARM="SYSA"'
               or the SYSTEM can be set with SYSPARM in your //SYSIN
                 OPTIONS SYSPARM="SYSA";
               Then, inside MXG first-time logic that creates ZDATE and
               ZTIME, retrieves that value with  SYSTEM=SYSPARM();  and
               variable SYSTEM is RETAINED and OUTPUT in each dataset.
              -SHIFT was added to all IMS datasets based on IMSSTCK.
               Only VMACIMS was changed; TYPEIMST is just for reference.
              -For years, the only JCL for SYSPARM that worked had EIGHT
               quotes before and FIVE after the text, and I have a 2013
               example, but that syntax now fails with SAS 9.4, and SAS
               now documents the much cleaner double quote syntax.
               Both IMS and BVIR require you to supply the SYSTEM thru
               SYSPARM=, and other members use SYSPARM to enable debug.
               All of the JCL examples with OPTIONS=SYSPARM= now use the
               double quotes for both instream and in JCL.
              -Variable ZTIME is added to all IMS datasets that have the
               ZDATE variable now.
   Thanks to David A Bernhardt, Verizon, USA.

Change 33.251  CICSTRAN variable OSTART=ORIGINATING*TASK*START*DATETIME
UTILEXCL       was on GMT; MXG overlooked the need to convert it to the
VMAC110        local time zone.
Oct 20, 2015
   Thanks to David Shaw, M & T Bank, USA.
   Thanks to Douglas Donoho, M & T Bank, USA.


====== Changes thru 33.250 were in MXG 33.10 dated Oct 20, 2015=========

Change 33.250 -SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED RECORD LENGTH
VMAC102        because QWT02R2L is two bytes shorter than the actual
Oct 18, 2015   DB2 10.1 records.
              -SMF 102 IFCID 220 INVALID ARGUMENT appears to be a truly
               invalid record, with DSNAME where DDNAME should be.  The
               error is circumvented by validating the DHMS arguments
               while the record is investigated.  Variable QW0220OT is
               the datetime stamp being calculated from characters, and
               will be missing for invalid input, without the error.
   Thanks to Joe Babcock, General Motors, USA.

Change 33.249  Decoding of DEVCLASS=41 now identifies specific CTC type:
VMACUCB           DEVTYPE    DEVICE        Description
Oct 15, 2015      previous   CTC
                    05X      CTC-OSA        OSA
                    06X      CTC-OSAD       OSA DIAG DEV
                    07X      CTC-IQD        HIPERSOCKETS
                    09X      CTC-OSAN       OSA ZBX NETWK
                    0AX      CTC-OSAM       OSA ZBX MGMT NETWK
                    32X      CTC-FIC        FICON
                   other     CTC
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.248  Support for zVSE/Power Version 9 Release 2 Accounting.
TYPEDOS        Only minor changes were required, including protection
Oct 13, 2015   for SEGCNT larger than the number of device segments in
               the record (caused STOPOVER).

Change 33.247 -If you use UTILEXCL and have more than four "triplets":
VMAC110         WARNING: THE QUOTED STRING CURRENTLY BEING PROCESSED HAS
Oct 14, 2015    BECOME MORE THAN 262 CHARACTERS message is printed.
               This warning has NO impact.  Change 33.203 added the text
               in MACRO _CICXLTR (the list of "triplets" in IMACEXCL) to
               MXG diagnostic PUT statements about EXCLUDED fields. Each
               triplet test is one line of text so four triplets exceed
               a SAS internal limit of 262 character for quoted text in
               PUT statements in macro resolution. Change 33.203 used
                 $LENGTH CICXLTR $32000;
                 %LET CICXLTR=%QUOTE(_CICXLTR);
                 CICXLTR=SYMGET('CICXLTR');
               to store the text in macro variable &CICXLTR, and then
               used  "&CICXLTR"  to print the text in the PUT statement,
               but that's the macro resolution causing the warning!
               Now, by using
                 CICSXLTR=RESOLVE('_CICXLTR');
               to directly store the old-style macro text into the data
               step variable CICSXLTR, that variable can be used in the
               PUT statement, with no macro resolution needed and hence
               no warning message.   Sites with SAS 9.1 may need to
               change RESOLVE to COMPRESS. Contact support@mxg.com.
               This shows how easy it is to store the text contents of
               an old-style substitution macro into a variable.
              -CICS/TS 5.3, close comment missing for TSQIOSCN in the
               INPUT statement, causing new-in-5.3 variables in CICSRDQU
               Resource dataset TSQGESTM/GESCN/PUSTM/PUSCN/GESBY/PUSBY
               to be wrong.
              -CICS/TS 5.2 MNSEGCL=5 records with MNR5LENT=96 caused
               STOPOVER because MXG expected 104 (5.3 value).

Change 33.246 -Using UTILBLDP with BUILDPDB=YES, if you suppressed type
UTILBLDP       6, 26, or 30, the job failed in BUILD005 when it tried
ZTILBLDP       to process the non-existent datasets.  Now, if any of the
Oct 20, 2015   datasets are not created, then BUILD005 is suppressed,
               and warning message is printed.
              -A second execution of UTILBLDP in the same SAS Session
               failed with old-style macro errors that are now resolved
               and UTILBLDP can be re-executed as often as needed.
              -The changes to support second execution were extensive
               and thus extensively tested, but, just in case, the prior
               UTILBLDP from MXG 33.09 is stored in ZTILBLDP.
   Thanks to Michael Reines, Decadis, GERMANY.

Change 33.245  Support for OMEGAMON ATF IMS Log Record LCODE A0 records:
EXATFA0          dddddd  dataset  description
IMACATF          ATFA0   IMSATFAO  ATF IMS LCODE A0
TYPEATF          ATFDB   IMSATFDB  ATF IMS DBD
TYPSATF          ATFDL   IMSATFDL  ATF IMS DLI DB
TYPEATFI         ATFDT   IMSATFDT  ATF IMS DLI TM
TYPSATFI         ATFD2   IMSATFD2  ATF IMS DB2
VMACATF          ATFMQ   IMSATFMQ  ATF IMS MQ
VMACIMS          ATFOA   IMSATFOA  ATF IMS OTHER A
VMXGINIT         ATFOB   IMSATFOB  ATF IMS OTHER B
Oct 19, 2015  -Application Trace Facility is a component of Omegamon XE
Nov 17, 2015   for IMS v531. Detail trace data from intercepts capture
               application execution for IMS related threads, including
               DB2 and MQ API calls from an IMS application. The detail
               data, possibly millions of intercepts per transaction, is
               summarized into new IMS LOG A0 record.  It's unlikely to
               trace everything always, so this is not a replacement for
               the IMS 56FA Log Record (TYPEIMST) for IMS chargeback and
               response/resource reporting, but there is more data in
               ATF - notably the DBD information - than in the 56FA, so
               if selectively enabled for trouble children, it might be
               a useful source for IMS trouble shooting.
              -TYPEATFI reads IMSLOG format records, TYPEATF reads the
               alternate destination, ATFLOG, if that option is chosen.
              -MXG member TYPEIMS7 is updated to process ATF records if
               found along with all other IMS Log records.
              -The IBM default is A0, but that can be changed with the
               MACRO _IDATF using %LET MACKEEP= tailoring in //SYSIN.
              -ATF replaces the old ITRF component of Omegamon/XE.
              -This is the support for Phase I.  Additions are coming.
              -Nov 17:  INPUT @LOCVARSEG+ATFXSNzzO syntax is REQUIRED
               because ATFXSNzzO offset can be zero, and the SAS syntax
               INPUT @A+B is NOT the same as INPUT @B+A and the first
               variable MUST ALWAYS BE NON-ZERO.  When in doubt, use
               LOC=A+B; INPUT @LOC.

Change 33.244  Unused Change Number.

Change 33.243  RACF Type 80 records don't have variable SUBTYPE because
ANALID         the RACFEVNT value is used instead, but now, RACFEVNT is
FORMATS        INPUT in the SMF Header processing and stored in SUBTYPE
UTILBLDP       so that the ANALID report will tabulate (and describe,
VMACSMF        using the updated SMFID format) each type 80 subtype.
Oct 10, 2015   And, UTILBLDP selection by SUBTYPE (WANTSMF=80.02) is now
               supported for ID=80 records.
                 NEVER USE TYPE80/TYPS80, ALWAYS USE TYPE80A/TYPS80A.

Change 33.242  Support for z/VM 6.3.15.0 VXSYSPRT (0.02) z13 SMT mode.
VMACVMXA       New SMT-related variables added to the end of the record.
Oct 10, 2015   But: See Change 33.299, REQUIRED.

Change 33.241  A SUM statement is added to the audit report of datasets
PDBAUDIT       in your BUILDPDB that reports the total number of pages,
Oct  9, 2015    variables, size, and bytes in each PDB data library.

Change 33.240  TYPE30xx device summary variables for non-existent device
IMAC30IO       types (EXCP3350/IOTM3350) can be dropped from all TYPE30s
Oct  9, 2015   and PDB.JOBS and PDB.STEPS by tailoring IMAC30IO to save
               disk space (one PDB reduced 400MB from 2500MB to 2100MB).
               A new example in comment block can be enabled to keep
               only the variables for current device types.

Change 33.239  Some TYPE70 variables can't be DROPped using _KTY70 with
VMAC7072       DROP= because the TYPE70 dataset is not created directly
Oct  8, 2015   as SMF is read (when _KTY70 is used for TYPE70SP). TYPE70
               is created from TYPE70SP and TYPE70PR with multiple DATA
               DATA steps and Split Record processing.  Using _KTY70
               also has a risk of dropping a variable needed in the data
               steps that follow.  This change creates _KTY70DR, a null
               old-style MACRO that can be used to drop any variables in
               TYPE70 dataset, safely.  This syntax in your //SYSIN:
                 %LET MACKEEP= MACRO _KTY70DR DROP= IF: VF: APPC: %  ;
               drops all variables starting with IF, VF, or APPC.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.238  Support for RACF Flat File of IRRDBU00 record type 1560
EXRA1560       creates new dataset
IMACRACF        DDDDDD DATASET  DESCRIPTION
VMACRACF        RA1560 RACF1560 GENERAL RESOURCE CERTIFICATE INFORMATION
VMXGINIT        CERTN_NAME       ='GENERAL*RESOURCE*NAME'
Oct  8, 2015    CERTN_CLASS_NAME ='GENERAL*RESOURCE*PROFILE*CLASS'
                CERTN_ISSUER_DN  ='ISSUERS*DISTINGUISHED*NAME'
                CERTN_SUBJECT_DN ='SUBJECTS*DISTINGUISHED*NAME'
                CERTN_SIG_ALG    ='CERTIFICATE*SIGNATURE*ALGORITHM'
   Thanks to Robert Miles Standish, UBS, USA.

Change 33.237  Support for EDA v7706 (INCOMPATIBLE, two existing 8-byte
VMACEDA        user fields were expanded in place to 20 bytes).  There
Oct  6, 2015   is no version field in their record; the length of the
               record for each subtype is now used to create EDAVERS to
               read either the new or old version records transparently.
   Thanks to Valentine Wudarczyk, BNYMellon, USA.

Change 33.236  DB2 zPARM QWP4xxxx fields marked (S)-SERVICEABILITY were
VMAC102        not always kept, but IBM is now using these three fields
Oct 14, 2015     QWP4INLP='INLISTP'
                 QWP4MXOS='MAX*OPT*STOR'
                 QWP4SHDE='SUPPRESS*HINT*SQLCODE*DYN'
                 QWP4XMLO='XML*PROCESSING*OPTIONS'
               The first two were kept but unlabeled.  Now all (S) are
               kept and labeled in T102S106 dataset. The first six have
               actual labels, the others have their name as LABEL.
                 QWP4ACCS QWP4ADMT QWP4INLP QWP4MXOS QWP4SHDE QWP4XMLO
                 QWP4AST  QWP4CDE1 QWP4COC1 QWP4COC2 QWP4CTHR QWP4CUT
                 QWP4FLKT QWP4LTDM QWP4MQTH QWP4MS4A QWP4MXCE QWP4MXOC
                 QWP4MXOE QWP4MXTB QWP4PLIM QWP4RMTI QWP4SCLC QWP4SCTM
                 QWP4SELD QWP4SPC  QWP4SPS  QWP4STHR QWP4TJTH QWP4TTRS
                 QWP4ULB2 QWP4ULFR QWP4ZUT
              -Variables QWP4ACCS and QWP4DFID character values were not
               correct when test was EBCDIC, and QWP4OZTM is now numeric
               datetimestamp instead of $CHAR8. hex value.
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 33.235  Documentation. RED ALERT APAR OA48941 IS REQUIRED BY ALL
VMAC74         z/OS SITES and MUST BE INSTALLED PRIOR TO DEC 15 2015 to
Oct  6, 2015   prevent failure at IPL if the APAR is NOT installed.
               The error is in Unicode Service Conversation iconv()
               calls which is NOT USED IN MXG. but TELNET and many other
               programs are impacted.

Change 33.234  Change 33.155 added R744SNAM to TYPE74HO dataset, which
VMAC74         accidentally corrected an unreported error in the NODUP
Oct  4, 2015   sort to create PDB.TYPE74HO: false duplicates were being
               deleted, so the prior PDB.TYPE74HO dataset was incorrect.
               The number of obs correctly increased with this change.
               And R744CNAM and R744SNAM are added to the end of the
               _BTY74HO BY List to formally correct the NODUP sort.
   Thanks to Paul Volpi, UHC, USA.

Change 33.233  Support for APAR OA46136 that adds File Transfer Section
VMAC6          with IP Address and Port Number to PSF-created SMF 6.
Oct  1, 2015   No change was required; fields automatically INPUT/KEPT
               when the section exists.

Change 33.232  Support for Thruput Manager VARNAME=$ORIGIO NOT FOUND
VMACTPMX       message creates new ORIGIO='ORIGINAL*INSYSID' variable
Sep 30, 2015   in the TYPETPMX dataset.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.231  Support for JZOS Java Runtime Performance Stats SMF 121
EXTY121        creates three new datasets:
EXTY121G          dddddd  dataset   description
EXTY121G          TY121   TYPE121   JZOS JAVA RUNTIME STATISTICS
FORMATS           TY121G  TYPE121G  JZOS JAVA RUNTIME GARBAGE COLLECTION
TYPE121           TY121T  TYPE121T  JZOS JAVA RUNTIME THREADS
TYPS121        and new FORMAT $MG121TC for thread category.
VMXG121
VMXGINIT
Oct  8, 2015

Change 33.230 -Example ANAL1430 selects TYPE1415 (non-VSAM) and TYPE64
ANAL1430       (VSAM) records by DSNAME, then merges BY READTIME JOB to
ANAL2642       select the the TYPE30_4 (Step end) for that JOB to get
VMAC42         the RACFUSER field that opened that dataset.
Sep 30, 2015   HOWEVER, this example in ANAL1430 can ONLY capture those
               datasets that were CLOSED, and ONLY if that JOB had a
               step terminate record in the SMF file.
              -Example ANAL2642 selects TYPE26J2 (Job Purge) by SUBMUSER
               and selects TYPE42DS (Interval Dataset Activity) by DSN
               to report each JOB and DSNAME for that SUBMUSER.
              -Type 42 subtype 6 TYPE42DS dataset has new variables
                 S42READS=SUM(S42AMDRB,S42AMSRB,S42AMZRG,S42DSHRD);
                 S42WRITES=SUM(S42AMDBW,S42AMSWB,S42AMZWB,S42DSHWR);
               the sum of direct and sequential BLOCKS, directory reads/
               writes, and zHPF reads and writes.
   Thanks to Alyona Bertneski, JPMorgan, USA.

Change 33.229  Support for NDM PT records with zIIP CPU times (INCOMPAT)
VMACNDM        inserted these three new variables in NDMPT dataset:
Sep 28, 2015     PTECP0='CPU TIME*SPENT ON*CP'
                 PTECP1='CPU TIME*SPENT ON*ZIIP'
                 PTECP2='ZIIP*QUALIFIED*PART OF*PTECP0'
               The inserted data caused INPUT STATEMENT EXCEEDED ERROR.
               The prior PT record format's UNC and UNN variables were
               cleaned up.
   Thanks to David Guess, Blue Cross Blue Shield of South Carolina, USA.

Change 33.228  z/OS 2.1 z/13 SMF 74 St 9 INPUT STATEMENT EXCEEDED for a
VMAC74         record with R749DEVN='Hardware Accelerator' but without
Sep 25, 2015   expected Hardware Accelerator and Hardware Compression
               segments that MXG INPUT because of that DEVN value.  The
               record is valid as it contains zeros in the two triplet's
               NUMBER OF fields, SMF749FN,SMF7491N, so MXG logic now
               knows to test those fields prior to the input of the
               SMF749FO,SMF7491O segments, while the reason for their
               absence is being investigated.
   Thanks to David Marone, SGS-BP, ITALY.

Change 33.227  Dataset TYPE22PB 'RECONFIGURED PCIE PFIDS' had zero obs
VMAC22         due to misalignment in the MXG INPUT statement.  See also
Sep 23, 2015   Change 33.146.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.226  Documentation.  ERROR: THE GIF DRIVER CAN NOT FIND ANY
MXGSAS92       FONTS and PHYSICAL FILE MVS:SYS3.SAS.SASMONO.TTF.. DOES
Sep 23, 2015   NOT EXIST occurred on z/OS when the old MXGSAS92 PROC
               was used for SAS 9.4, instead of using MXGSAS94 PROC.
               This DD statement was added and is required for SAS 9.4
                 // DD DSN=&SASHLQ..CONFIG(COMMON),DISP=SHR
               in the //CONFIG DD concatenation.

Change 33.225  Major Revision to this Analysis of Capping now uses the
ANALCAPD       PDB.ASUMCELP dataset with data for each LPAR, rather than
Sep 20, 2015   using only the PDB.ASUMCEC summary dataset for the CEC,
               with new parameters to allow for selection by LPAR and/or
               to set different cap values for different LPARs:
                 INCODE= a stub of code for selecting data
                 CEC= one or more CEC serials separated by spaces
                 LPAR=one or more LPAR/cap values separated by spaces
               The plot shows the "Overflow MSU", an estimate of how
               long it would take at the cap to get the same number of
               MSUs consumed when the rolling 4 hour avg was over the
               cap. So  the total MSU consumed above the cap based on
               the rolling average pro-rated across the four hour
               average keeping the system at the cap until all of the
               excess MSUs are consumed.

Change 33.224  Cosmetic. Unexpected Unit Address SMFWKUAD='000000'X
VMACSYNC       (which normally is a 3-byte EBCDIC like '181'/'F1F8F1'x)
Sep 18, 2015   for a SYNCSORT SORTWK DD segment caused ILLEGAL ARGUMENT
               message when it was used to create SYNCDV and SYNCUN with
               SYNCDV=INPUT(SMFWKUDA,HEX6.) syntax, as the HEX6 informat
               doesn't support the null value.  This DD segment also has
               " 0 " for the value in VOL variable.  Null now protected.
   Thanks to Joe Faska, DTCC, USA.

Change 33.223  Short SMF 103 Subtype 13 record caused INPUT STATEMENT
VMAC103        EXCEEDED Error.  The segment is documented to contain 56
Sep 18, 2015   bytes plus a name field, but the record contains only 48
               bytes.  Circumvention: Use the Name-Length Field and its
               location to determine if this is 48 or 56 length. Input
               normal for 56. For short 48 record, the two 8-byte fields
               are changed to 4 so the NAME field aligns, causing Bytes
               and Requests are zero in the short records, but the
               short record will be output with valid server name.
   Thanks to Shabida Khan, Royal Bank of Canada, CANADA.

Change 33.222 -Major enhancement for character data filtering for RMF
ADOCRMFV       Monitor III DVT (Device Table) entries and other
ASMRMFV        improvements.
Sep 18, 2015  -These filters are intended for building ad hoc MXG RMF
Sep 21, 2015   III PDBs for studies avoiding the overhead of generating
               a full DVT table based PDB.  They control which DVT table
               entries are output to the RMFBSAM file.
              -Four filters are added to support DVT entry selection
               from this table to the RMFBSAM output file.   These
               filters are effective only if the DVT table is selected.
                 They are applied in the order shown when multiple
                 different keywords are used.
                 New Keyword    Aliases
                 ------------   --------------------------------------
                 DVTDEVNUM=     DVTDEVNO=  DVTDEVNR=  DVTDEV=  DVTN=
                 DVTVOLSER=     DVTVOLI=   DVTVOL=    DVTSER=  DVTV=
                 DVTAND         None
                 DVTOR          None
              -TUTORIAL:
               Ranges of the form keyword=first:last may be used with
                any of the above keywords except DVTAND and DVTOR.
               The colon character ':' is required for a range
                specification.  All entries GE the first value and LE
                the last value are selected for output to the RMFBSAM
                file.
               The first value may not exceed the last value or an error
                is flagged.
               Ranges may not be wild carded.  If wild carded the range
                value becomes a pattern instead.
               Single values may be specified for a range simply as
                keyword=first and in this case the colon ':' is omitted.
               Patterns may also be used with any of the above keywords
                except DVTAND and DVTOR and include one or more wild
                card characters to match the respective DVT data field.
                  Wild
                  Card  Matches
                  ----  ------------------------------------------------
                  *     0 or more characters
                  %     1 Non-blank character
                  +     1 Numeric character (0-9)
                  _     1 Alphabetic character or _  (a-z, A-Z, _)
                  .     1 National character (@, #, $)
                  !     1 Special character (not a-z, A-Z, 0-9, @, #, $)
                  ?     A blank string if used by itself
                  ?     1 Blank character (X'40') if used with any other
                          characters
               See Section 25 in the ADOCRMFV member for more details on
                usage of ranges and patterns.
              -DVTDEVNUM= (and any of its aliases) selects DVT entries
                by Device Number.  Both ranges and patterns with wild
                card characters may be specified.  Up to 64 ranges and
                64 patterns are supported. The default is DVTDEVNUM=ALL.
               Any valid 4 hex character device number with or without
                pattern characters in the range of 0000-FFFF may be
                specified.
               For ranges the Device Number is treated as a binary
                number in arithmetic comparisons.
               For patterns the Device Number is converted to hex
                characters (0-F) prior to pattern matching.
               NOTE: Due to the nature of hexadecimal characters not all
                characters and/or patterns may be used with DVTDEVNUM=.
                See documentation for details.
              -Examples for DVTDEVNUM=
               DVTDEVNUM=0A00 selects the device with address 0A00 only.
               DVTDEVNUM=0A00:0FFF selects all devices with addresses GE
                0A00 and LE 0FFF.
               DVTDEVNUM=A00:FFF selects the same devices as above with
                the leading zeros omitted for coding convenience.
               All leading zeros may be omitted if desired when ranges
                are used.  Leading zeros may NOT be omitted when
                patterns are used unless they are included in the
                pattern.
               DVTDEVNUM=0*F and DVTDEVNUM=*F produce quite different
                results.
               DVTDEVNUM=B* selects all devices with addresses from B000
                through and including BFFF.
               DVTDEVNUM=10* selects all devices with addresses from
                1000 through and including 10FF.
               DEVDEVNUM=C*FE selects all devices with addresses C0FE,
                C1FE, C2FE, C3FE, C4FE, C5FE, C6FE, C7FE, C8FE, C9FE,
                CAFE, CBFE, CCFE, CDFE, CEFE, and CFFE.
               DEVDEVNUM=C+FE selects all devices with addresses C0FE,
                C1FE, C2FE, C3FE, C4FE, C5FE, C6FE, C7FE, C8FE, and C9FE
                as '+' is a digit (0-9) pattern character.
               DVTDEVNUM=C%FE selects all devices with addresses C0FE,
                C1FE, C2FE, C3FE, C4FE, C5FE, C6FE, C7FE, C8FE, C9FE,
                CAFE, CBFE, CCFE, CDFE, CEFE, and CFFE as '%' is a
                placeholder pattern character.
               DVTDEVNUM=C_FE selects all devices at addresses CAFE,
                CBFE, CCFE, CDFE, CEFE, and CFFE as '_' is an alphabetic
                pattern character.
              -DVTVOLSER= (and any of its aliases) selects DVT entries
                by Volume Serial Number.  Both ranges and patterns with
                wild card characters may be specified.  Up to 64 ranges
                and 64 patterns are supported.  The default is
                DVTVOLSER=ALL.
               Any valid 1-6 character Volume Serial with or without
                pattern characters may be specified.  Per JCL syntax a
                Volume Serial Number is 1 through 6 alphanumeric,
                national ($,#,@), or special characters.
               NOTE: Since just about any keyboard character is valid in
                a Volume Serial please take extra care when coding to
                avoid unintended results in the MXG PDB.
              -Examples for DVTVOLSER=
               DVTVOLSER=C99999 selects the volume serial C99999 only.
               DVTVOLSER=C00000:C99999  selects all volume serials GE
                'C00000' and LE 'C99999'.
               DVTVOLSER=10* selects all volume serials starting with
                '10' followed by up to 4 more characters.
               DVTVOLSER=H+++++ selects all volume serials starting with
                'H' followed by 5 digits.
               DVTVOLSER=K*A selects all volume serials starting with
                'K' that have a final character 'A' with up to 4
                intervening characters.
              -DVTAND (default) indicates that selection results from
                DVTDEVNUM= and DVTVOLSER= DVT filter keywords are
                logically ANDed.  DVTAND is effectively ignored if DVT
                records are NOT selected
               Results for selected Devices for the same DVTxxxxxx=
                keyword are ALWAYS logically ORed.
               NOTE: The DVT filters DEVTYPE=ALL/DASD/TAPE and
                ZEROIO/NOZEROIO are applied independent of the use of
                DVTAND.
              -DVTOR indicates that selection results from DVTDEVNUM=
                and DVTVOLSER= DVT filter keywords are logically ORed.
                DVTOR is effectively ignored if DVT records are NOT
                selected
               Results for selected Devices for the same DVTxxxxxx=
                keyword are ALWAYS logically ORed.
               NOTE: The DVT filters DEVTYPE=ALL/DASD/TAPE and
                ZEROIO/NOZEROIO are applied independent of the use of
                DVTOR.
              -Examples with DVTAND in effect: DVTDEVNUM=CA00:CAFF
                DVTVOLSER=SMF* only selects device entries in the DVT
                table that have a Device Number GE CA00 and LE CAFF AND
                that have a Volume Serial Number that starts with 'SMF'.
               DVTDEVNUM=CA00:CAFF  DVTVOLSER=SMF*  DVTVOLSER=PAG* only
                selects device entries in the DVT table that have a
                Device Number GE CA00 and LE CAFF AND that have a Volume
                Serial Number that starts with either 'SMF' or 'PAG'.
              -Examples with DVTOR in effect: DVTDEVNUM=CA00:CAFF
                DVTVOLSER=SMF* selects device entries in the DVT table
                that have a Device Number GE CA00 and LE CAFF OR that
                have a Volume Serial Number that starts with 'SMF'.
               DVTDEVNUM=CA00:CAFF  DVTVOLSER=SMF*  DVTVOLSER=PAG*
                selects device entries in the DVT table that have a
                Device Number GE CA00 and LE CAFF OR that have a Volume
                Serial Number that starts with 'SMF' or 'PAG'.
               The logical OR results in less restrictive filtering
                because any of the 3 conditions results in data
                selection of a DVT entry.
               NOTE: The DVT filters DEVTYPE=ALL/DASD/TAPE and
                ZEROIO/NOZEROIO are applied independent of the use of
                DVTOR.
              -The order of DVT filter application is:
                1) DEVTYPE=
                2) DVTDEVNUM=
                3) DVTVOLSER=
                4) ZEROIO/NOZEROIO
              -Section 5 "Input Data Selection Parameters" in
                documentation is updated with discussion of all the new
                DVT selection keywords and aliases.
              -Section 26 "Summary" in documentation is updated for the
                new DVT keywords.
              -Message RMFV034I did not display correctly on a Device
                Number match with DVTDEVNUM= and SHOWMATCH options in
                effect.
              -Version entry for z/OS 2.2 in RMF release table was not
                Correct.

Change 33.221  RMF III data with CPUHOLEN GT 480 and CPUVERG3 EQ 5 ABEND
VMACRMFV       INPUT STATEMENT EXCEEDED RECORD LENGTH error when IBM
Sep 17, 2015   changed CPUHOLEN to 740 but did not update CPUVERG3.

Change 33.220  Mini-tutorial on how the INFORMAT in an INPUT function
SAGANAL        caused the MSU values to be off by a factor of 100 (an
Sep 17, 2015   error that was immediately obvious!).  SAGANAL builds
               format $SYS2CAP that maps SMF70CPA to TIME+SYSTEM, and
               then retrieves a value with this INPUT function that
               uses the 10.2 INFORMAT to "read" the $SYS2CAP value:
                 SMF70CPA=INPUT(PUT(TIMESYS,$SYS2CAP.),10.2);
               which worked, but only accidentally, because all previous
               $SYS2CAP values contained a decimal.  But if the value in
               $SYS2CAP was an integer, the .2 in the 10.2 INFORMAT told
               SAS to divide by 100. Removal of the .2 that never should
               have been there corrects the error.

Change 33.219  MXG 33.09 Only.  VARIABLE MAXCCPUC IS UNINITIALIZED msg,
VMACBVIR       typo, caused MAXDCUPC to be a missing value in BVIR10.
Sep 17, 2015

Change 33.218  MXG-created variable WTTOTIOTM (DBMS/IO TOTAL OTHER WAIT)
ADOC110        did not include these recently-added wait variables:
VMAC110           DSCHMDTM FCVSWTTM VCXCWTTM ISALWTTM TCALWTTM TDELWTTM
Sep 16, 2015      TDILWTTM

====== Changes thru 33.217 were in MXG 33.09 dated Sep 15, 2015=========

Change 33.217  z13 in SMT Mode ONLY:  LPARCPUS=0 in PDB.TYPE70PR.
VMAC7072       This is the last reported issue with MXG code for z13 in
Sep 13, 2015   SMT mode, and both SMT=1 and SMT=2 data have been tested.
               So this change in MXG 33.09 is REQUIRED for z13 SMT mode.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.216  Support for APAR OA47042 adds MOBILE RESOURCES in RMF 70
VMAC7072       and 72 for MOBILE PRICING that eliminates the need to
Sep 11, 2015   process the CICS and IMS transaction records, by using
               new WLM Service Definition Qualifier types of Connection
               Type (CT) and/or Client Transaction Name (CTN) to set the
               new WLM Classification "Reporting Attribute" that can be
               set to NONE/MOBILE which WLM uses to identify mobile work
               in these new variables.
              -Dataset TYPE70 new variables:
                 SMF70LACM='MOBILE*LONGTERM*AVERAGE*MSU/HR'
                 SMF70LACA='CAT A*LONGTERM*AVERAGE*MSU/HR'
                 SMF70LACB='CAT B*LONGTERM*AVERAGE*MSU/HR'
              -Dataset TYPE72GO new variables:
                 R723TSUCP ='TOTAL*GP*SERVICE*MSU/HR'
                 R723TSUSP ='TOTAL*ZIIP*SERVICE*MSU/HR'
                 R723TSUOCP='TOTAL*ELIGIBLE*SERVICE*MSU/HR'
                 R723MSURCP='MOBILE*GP*SERVICE*MSU/HR'
                 R723MSURSP='TOTAL*ZIIP*SERVICE*MSU/HR'
                 R723MSUOCP='TOTAL*ELIGIBLE*SERVICE*MSU/HR'
                 R723ASUCP ='CAT A*GP*SERVICE*MSU/HR'
                 R723ASUSP ='CAT A*ZIIP*SERVICE*MSU/HR'
                 R723ASUOCP='CAT A*ELIGIBLE*SERVICE*MSU/HR'
                 R723BSUCP ='CAT B*GP*SERVICE*MSU/HR'
                 R723BSUSP ='CAT B*ZIIP*SERVICE*MSU/HR'
                 R723BSUOCP='CAT B*ELIGIBLE*SERVICE*MSU/HR'
               These metrics may be available for z/OS 2.2 and z/OS 2.1
               later this year.
               Note that R723TSUCP=SUM(CPUUNITS,SRBUNITS);

Change 33.215  Documentation change only. Added an example of using
VMXGSUM        VGETDDS to drive the input to VMXGSUM.
Sep  9, 2015

Change 33.214  If UTILBLDP was executed twice in the same session, and
UTILBLDP       the USERADD= option was used, the second execution failed
Sep 10, 2015   because the _IDxxxx "SMF Record Macros" were not cleared.
   Thanks to Michael Reines, Decadis, GERMANY.
   Thanks to Ron Hawkins, HDS, USA.

Change 33.213  Support for WASODM Operational Decision Manager 8.7.1 SMF
VMAC120        Type 120 Subtype 100 (MXG Dataset TY120100) INCOMPATIBLE.
Sep 10, 2015   The record was completely restructured internally, and
Oct  8, 2015   these ruleset statistics now exist in SM120HDV=3 records:
                  SM120RULEXBAD  ='RULESET*FAILED*EXECUTION*COUNT'
                  SM120RULEXCALLS='RULESET*NUMBER*OF*CALLS'
                  SM120RULEXCMAX ='RULESET*MAX*CPU*JAVA TIME'
                  SM120RULEXCMIN ='RULESET*MIN*CPU*JAVA TIME'
                  SM120RULEXCPU  ='RULESET*TOTAL*CPU*JAVA TIME'
                  SM120RULEXFSUM ='RULESET*SUM OF*FIRED*RULES'
                  SM120RULEXNUM  ='RULESET*SUCCESSFUL*EXECUTION*COUNT'
                  SM120RULEXPATH ='RULESET*EXECUTION*PATH'
                  SM120RULEXTIME ='RULESET*TOTAL*ELAPSED*JAVA TIME'
                  SM120RULEXTMAX ='RULESET*MAX*ELAPSED*JAVA TIME'
                  SM120RULEXTMIN ='RULESET*MIN*ELAPSED*JAVA TIME'
              -SM120HDV=1 records (in Versions 8.5.1.0 and 8.6.0.0) and
               SM120HDV=2 records (in Versions 8.5.1.2) contain only
               these counters: SM120RULEXNUM SM120RULEXBAD SM120RULEXSUM
              -Records with no Extension segment are now output; these
               appear to be interval records when there was no activity.
               New variable SM120EXNNR identifies if the record has an
               extension, and if so, which one.
              -The prior TY120100 dataset was incorrectly/wrongly built
               with the number of observations in WORK.TY120100 higher
               than the number of input records, and the number of obs
               in PDB.TY120100 too few (and wrong).
   Thanks to Scott Barry, SBBWorks Inc., USA.
   Thanks to Paul Volpi, UHC, USA.

Change 33.212  Support for MEGACRYPTION Version 6 SMF records,
VMACMGCR       (MGCRLEV='2') which incompatibly increased the length of
Sep  8, 2015   the MGCRBYTE and MGCRKS fields from 4 to 8 and 40 to 60.
    Thanks to Randy Schlueter, First Data Corporation, USA

Change 33.211  New variables are added in DB2 Trace Dataset T102S199.
VMAC102          QW0199SC='LAST TIME*DATABASE*STATISTICS*UPDATED'
Sep  8, 2015     QW0199ID='MORE*RECORDS*OR*LAST?'
                 QW0199SD='SHADOW*COPY?'
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 33.210  More TMON/CICS Version 3 AND Version 4 corrections.
VMACTMO2      -MONITASK for Version 3 was wrong in MXG 33.08, with
Sep 11, 2015   misalignment starting at variable CICOVHTM.
              -MONITASK Version 4 requires ASG PTF TH03803 to correct
               invalid values in variables TASTCPUC and TASTCPOC.
              -The MONISYST dataset was misaligned and has been updated
               and validated with both 3.3 and 4.0 records.
   Thanks to Francois Vancoppenolle, PV Group, BELGIUM.

Change 33.209  Cosmetic changes from ITRM Validation.
VMAC102       -VMXG70PR: Temporary variable N60PLUSLPAR no longer kept
VMAC110                  in PDB.ASUM70PR and PDB.ASUMCEC datasets.
VMAC119       -VMAC110:  Variables DS7START,DS7LSTRT now labeled.
VMAC50        -VMAC102:  The nineteen QWn196Ha variables added by 31.236
VMAC7072                 are now labeled/formatted/Length consistently.
VMAC74        -VMACNDM:  Offset variable NDMGPE1D is no longer kept in
VMAC75                   NDMRT dataset.
VMAC76                   Variables NDMZLIBR/LIBS PTRESTRECORD labeled.
VMAC77        -VMACSTC:  STC14TOD and STC27TPX variables are labeled.
VMAC99        -VMAC119:  Variables SMF119SM_ and SMF119FT_ are labeled.
VMACNDM       -VMAC50:   Variable TY40EXTL labeled.
VMACSTC       -VMAC7072: Temp variables R725QSR1/QSR2/QST1/QST2 are not
VMACXCOM                 kept since they were already used to create the
VMXG70PR                 SSQ variables R725QSRQ R725QSTQ.
Sep  6, 2015  -VMAC74-7: Variables SMF74/75/76/77/GIE are labeled.
              -VMAC99:   Variables S99CMTFLGS1/2 label typo corrected.
              -VMACXCOM: Many XCOxxxxx variables are labeled.
   Thanks to Chris Weston, SAS Institute, USA.

Change 33.208  z/OS ONLY.  If you use VGETDDS with  DDNAMES=PDB:  syntax
VGETDDS        (to read all DDNAMEs starting with PDB), and those DDs
Sep  6, 2015   are on tape, VGETDDS mounted all of the tapes twice, once
               to detect is is a SAS dataset and then once to actually
               read the data.  Now, once VGETDDS finds that a PDBn DD
               points to a tape device, it will presume all the others
               are also tape, and thus eliminate the double mounts. But,
               if a DDNAME that matches the test is NOT a SAS dataset
               the job ABENDs with ERROR:LIBRARY PDBn IS NOT IN A VALID
               FORMAT FOR ACCESS METHOD V9SEQ or if UNIT=AFF is used but
               DEFER=YES was NOT, then a SYSTEM 413 ABEND occurs trying
               to open all tape devices at the same time.
              -The typically unneeded MXGNOTE messages are now skipped
               with the MXGEXIMSG option.

Change 33.207  z/OS 2.2: REQUIRES ML-55 of MXGTMNT, for ABEND S0E0-28.
ASMTAPEE       In z/OS 2.2, IBM's CSRPOOL service, called by MCSOPMSG in
Sep  8, 2015   ASMTAPEE, puts diagnostic data into GR0, AR0, and AR15,
               none of which are expected to be preserved, but R15 was
               used by ASMTAPEE, because it was unused and available.
               Now ASMTAPEE clears AR15 to eliminate the ABEND exposure.

Change 33.206  z/OS 2.2 Job Correlation Variables SMF30COR is now INPUT
BUILD005       kept in TYPE30xx datasets, and also output in PDB.JOBS,
VMAC30         PDB.STEPS, and PDB.SMFINTRV.  Variable SMF26JCR was INPUT
Sep  4, 2015   and kept in TYPE26J2 previously, but now it is also kept
               in PDB.JOBS and PDB.NJEPURGE datasets with BUILDPDB.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.205  DB2ACCTP variables QPACPKID/QPACLOCN/QPACASCH/QPACAANM
VMACDB2        and QPACCOLN could be truncated even though they have
Sep  2, 2015   valid extended name segments.  The LENGTH test for the
               new PAR QUERY fields wrongly INPUT them when they did not
               exist, causing the DELFIX circumvention to incorrectly be
               invoked, causing the extended segments to not be input.
   Thanks to Tom Adams, State Farm, USA.
   Thanks to Shankar Chatterjee, State Farm, USA.

Change 33.204  Variable IOTMNODD was never calculated in PDB.JOBS/STEPS,
BUIL3005       and the value in IOTMTODD was actually IOTMNODD.  The
BUILD005       three calculations of IOTMTODD= should be IOTMNODD=.
Sep  2, 2015
   Thanks to Rick Southby, Insurance Australia Group Limited, AUSTRALIA.

Change 33.203  Cosmetic.  EXCLUDED FIELDS FOUND messages now print your
VMAC110        site's IMACEXCL testing values, so you can see if this is
Sep  1, 2015   for a new dictionary triplet that needs a UTILEXCL rerun.
               This was originally added in Change 29.262, but somehow,
               the needed quotes and ampersand "&CICXLTR" syntax got
               changed to CICXLTR, which printed nothing.

Change 33.202  Velocity ZVPS 5.4 dataset XAMSYT has zero observations
VMACXAM        because Change 33.157's recalculated SYTNLPS was zero.
Aug 29, 2015   The actual SYTNLPS+1 in the non-Total record is now used
Sep  2, 2015   and the false INVALID SYTCUP SEGMENT message is removed.
Sep 11, 2015  -Unexpected CPID='GPs' value is now output in XAMCPUTO as
               there were no records with CPID='Total".
   Thanks to Douglas C. Walter, CitiCorp, USA.
   Thanks to Brent Turner, Citigroup, USA.

Change 33.201  Support IBM INFOSPHERE CHANGE DATA CAPTURE VERSION 10.2.1
VMACCDC        adds many new variables to the CDI, CDO, CDW, DLR, DSL,
Aug 30, 2015   DTC, OSC, SCT, SDT, TCT, and new TDT segments.  However,
               the SCT and TCT data does not match the documentation and
               both SCTCPU and TCTCPU are invalid with this iteration.
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 33.200 -TYPE70xx datasets have always contained ONLY data for the
VMAC7072       engines that were ONLINE at interval end, and that had
Aug 28, 2015   NOT been VARYed ONLINE (i.e., CAI='01'X). Engines that
               were IPL's (CAI='03'X) were NOT output, because the data
               in those startup intervals was inconsistent in early MVS.
               However, those partial interval's data is not only valid,
               it is actually now required to prevent wrong or missing
               values for CECSER in TYPE70/TYPE70PR/TYPE70EN datasets,
               and to capture the IPL interval's resources.
              -TYPE70EN variable CPUBSYTM is now correctly set missing
               for zIIP/zAAP engines, since it is a CP engine metric.
              -More observations are now output, so PROC COMPARE will
               see differences in these variables:
                 TYPE70:   CECSER   CPUACTTM CPUMVSTM CPUWAITM PCTCPUBY
                           PCTMVSBY PCTRDYWT PLCPRDYQ SHORTCPS
                 TYPE70PR: CECSER
                 TYPE70EN: CECSER   CPUBSYTM CPUMVSBY

Change 33.199  The AXWAY SMF record was INCOMPATIBLY changed by an
VMACAXWY       increase of a field length.
Aug 31, 2015
   Thanks to Rachel Holt, FMR, USA.

Change 33.198 -CICS/TS 5.3 BETA, Resource Class (MNSEGCL=5) could cause
VMAC110        INPUT STATEMENT EXCEEDED INPUT because only 112 bytes of
Aug 27, 2015   the MNR5LENT=120 bytes were read.

Change 33.197 -Variable LPBUSY in TYPE113 is the TOTAL BUSY for all CPs
ASUM113        and can exceed 100% with multiple engines, but variable
VMAC113        LPARBUSY in ASUM113 is the CPU BUSY OF ONE ENGINE.  New
Aug 24, 2015   variable LPBUSY is now created in ASUM113 with TOTAL BUSY
               to provide both perspectives on percent busy.
              -Variable SRBSTATE is now created in ASUM113 to complement
               the existing PRBSTATE variable.
   Thanks to David Cogar, Wells Fargo, USA.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.196  BVIR variable's values are revised to match IBM reports.
VMACBVIR       TVCSIZE is now internally in bytes, formatted MGBYTES,
Aug 30, 2015    and the label corrected.
               AVGCPUSE is now percent (95.5) instead of 0.95 fraction.
               AVGDEFTH is now correct, was 1000 too large.
   Thanks to Patricia J. Jones, DST Systems, USA.

====== Changes thru 33.195 were in MXG 33.08 dated Aug 20, 2015=========

Change 33.195  TMON/CICS Version 4.0 Support was still wrong, with an
VMACTMO2       extra 8 bytes INPUT that shouldn't have been, so that
Aug 20, 2015   MXG 33.08 dated Aug 20 is NOW required for version 4.0.
              -Variables TASTCPUC and TASTCPOC in dataset MONITASK have
               invalid data values, await PTF from ASG.
   Thanks to Francois Vancoppenolle, PV Group, BELGIUM.
   Thanks to Dirk Thys, PV Group, BELGIUM.

Change 33.194 -The modern CLRMFV Clist is incompatible with the archival
ZCLRMFV        ZASMRMFV program because RMF III files are allocated with
Aug 19, 2015   RMFC prefixed DDNAMEs and the archival version of
               ZASMRMFV is not aware of these.  This results in message:
               RMFV015E +++ERROR: NO VALID RMF III INPUT FILES FOUND+++
              -A new Clist ZCLRMFV for use with ZASMRMFV only is created
               with this change that will only allocate RMF III data
               sets with RMFV DDNAME prefixes.
    Thanks to Tom Drager, Aurora Health Care

Change 33.193  ANALDSET abend IEC145I 413-04 with DDNAME=ADDPROG because
ANALDSET       the DATA step inserted by Change 32.187 broke the logic
Aug 19, 2015   for UNIT=AFF by trying to read and write to and from the
               same tape device.
   Thanks to Randy Hewitt, HP Canada, CANADA.

Change 33.192 -CICS/TS 5.3 Beta added two new variables to CICSTRAN that
UTILEXCL       caused UTILEXCL to report UNKNOWN WBJSNRQL and WBJSNRPL
VMAC110        fields, but the IMACEXCL it created has a syntax error,
Aug 18, 2015   And, since the two fields were INSERTED, the MXG INPUT
               without IMACEXCL caused subsequent fields to be invalid
               as they were misaligned.  Now, 70/378/3376 are expected
               values for 5.3 default SMFPSRVR, MCTSSDCN, and MCTSSDRL.
               (Other values will generate the RUN UTILEXCL messages.)
              -The CICSRDQU records have new reserved fields inserted,
               that caused misalignment.
               =====================================================
               CICS/TS 5.3 IS STILL IN BETA, with final GA is Sep 31,
                so IBM is still free to make other changes.
               =====================================================
   Thanks to Paul C. Gordon, Bank of America, USA.

Change 33.191  UTICBLDP error message COMPBL HAS TOO MANY ARGUMENTS was
UTILBLDP       due to an unneeded second COMPBL invocation for MACKEEPX.
Aug 18, 2015   The second execution was removed, but the error was also
               triggered by comments with "* comment text ;" syntax, and
               using " /* comment text */ " syntax also circumvented the
               error.  In general, that second syntax is more robust,
               but in this case, placing the comments OUTSIDE the MACRO
               circumvents the need to parse either comment syntax.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.190  While the WORK.TY115215 dataset is created by TYPE115,
VMAC115        using TYPS115 did not create PDB.TY115215 because the
VMXGINIT       _STY115X dataset sort macro for TY115215 was not added
Aug 17, 2015   in the _S115 "product" sort macro for SMF type 115s.
               This caused dataset TY115215 to not be listed in DOCVER.

====== Changes thru 33.189 were in MXG 33.08 dated Aug 17, 2015=========

Change 33.189  Support for z/OS 2.2 (COMPATIBLE, but LOTS NEW STUFF):
BUILD005      -TYPE0203: Support for new ID=2 SUBTYPE=1 and 2 records
EXTY4227       create two new datasets in VMAC0203:
EXTY9037        DDDDDD    DATASET    DESCRIPTION
FORMATS         TY0201    TYPE0201   TYPE 2 SUBTYPE 1 SIGNATURE GROUP
IMAC42          TY0202    TYPE0202   TYPE 2 SUBTYPE 2 SIGNATURE INTERVAL
IMAC90A       -TYPE1415: Change 33.026 added support for LONG WANTED new
VMAC0203        variables SYSPLEX JESNR JCTJOBID TYPETASK, but the pre-
VMAC104         GA SMF Manual had the order of SYSPLEX/JCTJOBID while
VMAC106         the actual order is JCTJOBID/SYSPLEX and the typo will
VMAC1415        be corrected for the Sub-type 3 record.
VMAC30         -Sub-type 5, length is 72 but 70 in SMF Manual; two bytes
VMAC42          are skipped
VMAC6156       -SMF14ALIAS now created.
VMAC74         -SMF14DSVER value is '01'x but bits 0, 1, 2, are listed
VMAC90A         in the SMF Manual.  Await IBM answer.
VMAC99         -JOB variable has un-printable characters in the 14/15s,
VMACCTLG        but valid characters are in JOB variable in 30s, in pre-
VMXGINIT        GA data. Await IBM answer.  SMF14ESL=26 STY=5 (old
Mar  8, 2015    length) protected.
Jun  8, 2015  -TYPE26J2: New IBM JCTJOBID=:'G' value will set the MXG
Jul 21, 2015    TYPETASK='JOBG', only in TYPE26J2 Purge Records for a
Jul 24, 2015    JOBGROUP's logging job's purge, which is the only place
Aug  4, 2015    that 'G' value is externalized in SMF records.
Aug 17, 2015  -TYPE30 : New ABEND='EVICT' value set in TYPE30 for jobs
Mar  1, 2016            evicted with $EJ,STEP,HOLD.
              -TYPE42: Change 33.026 added support for new TYPE4227
                dataset provide the VTOC AUDIT LOG with these variables:
                  JCTJOBID  ='SMF42RNJO*JOB NUMBER'
                  JESNR     ='JES*NUMBER'
                  TYPETASK  ='TYPE*OF*TASK;
                  SMF42RIND ='SMF42RIND*RECORD*INDICATOR'
                  SMF42RSEEK='SMF42RSEEK*VTOC*TRACK*ID'
                  SMF42RSRCH='SMF42RSRCH*VTOC*RECORD*ID'
                  SMF42RCMDS='SMF42RCMDS*CCW*COMMAND*CODES'
                  SMF42RUPSW='SMF42RUPSW*CALLERS*ADDRESS'
                  SMF42RUTOK='SMF42RUTOK*USER*SECURITY*TOKEN'
                  SMF42RRSV ='SMF42RRSV*DEVICE*IS*RESERVED?'
                  SMF42RKEY ='SMF42RKEY*DSCB KEY*DATASET*NAME'
                  SMF42RDSC ='SMF42RDSC*DSCB*DATA*FIELD'
                  SMF42RACT ='SMF42RACT*ACTIVITY*TYPE'
                  with these possible activities in SMF42RACT that are
                  decoded by $MG042VT format:
                    'D***'='D***:DFSMS ACTIVITY'
                    'DCVF'='DCVF:CVAFDIR'
                    'DCRE'='DCRE:DADSM DATASET CREATE'
                    'DEXT'='DEXT:DADSM DATASET EXTEND'
                    'DPAR'='DPAR:DADSM DATASET PARTIAL RELEASE'
                    'DREN'='DREN:DADSM DATASET RENAME'
                    'DDEL'='DDEL:DADSM DSCB SCRATCH'
                    'DUPD'='DUPD:DADSM DSCB UPDATE'
                    'DFRG'='DFRG:DFSMSDSS DEFRAG'
                    'DCON'='DCON:DFSMSDSS CONSOLIDATE'
                    'DDMP'='DDMP:DFSMSDSS DUMP'
                    'DRST'='DRST:DFSMSDSS RESTORE'
                    'IOBE'='IOBE:IOBE NOT PROVIDED'
                    'USER'='USER:IOBEUSER NOT SPECIFIED'
              -TYPE42: Support subtype 5/6 APAR OA44322/OA44319 CMR+
                and new microsecond metrics was added in Change 32.113.
              -TYPE74: Change 32.305 added support for new TYPE 74
                variables: R744MNEL R744MNEC R744NSRK
              -TYPE90A:  Updated for new Type 90 subtype 37 to create
                new TYPE9037 dataset that reports any changes to APF
                status.  The RACF UTOKEN has '55'X values in SMF data
                because it's value is "MASKED", i.e., encrypted, while
                MXG expected the "UNMASKED" values that are in UTOKEN in
                other SMF records (42, 80, 119).  The existing SMF 90
                subtypes 29 and 31 also contain the MASKED UTOKEN, but
                IBM Development has stated their intention to change to
                UNMASK the UTOKEN in all three of those 90 subtypes.
                HOWEVER: SEE CHANGE 33.282 - MXG now "unencrypts".
                 The RACROUTE REQUEST=TOKENMAP can do the "unmasking",
                 and can be used even on a system that was not the one
                 on which the SMF record was created, but that can only
                 be used on z/OS; even there it would take SIGNIFICANT
                 effort to issue a RACROUTE from within a SAS data step.
                 But since the data length is 80 bytes either way, and
                 the data is not secret, it really needs to be UNMASKED
                 to be of value, so IBM's future correction is welcome.
              -TYPE90A: Two variables added to TYPE9037 dataset.
                        Formats added to TYPE9037 variables.
              -TYPE99 : Five variables added to TYPE9912 dataset.
              -TYPE104: Platform Types that create SMF Type 104 records
                        are expanded and format updated:
                          VALUE MG104PT
                           0='0:AIX ON SYSTEM P'
                           1='1:LINUX ON SYSTEM X'
                           2='2:LINUX ON Z SYSTEM'
                           3='3:WINDOWS ON SYSTEM X'

              -TYPE106: Support for new ID=106 SUBTYPE=1 and 2 records
                        create two new datasets in VMAC106
                DDDDDD    DATASET    DESCRIPTION
                TY1061    TYPE1061   BCPII HWISET API CALLS
                TY1062    TYPE1062   BCPII HWICMD API CALLS
                Mar 1, 2016: Incorrect length for SMF6ASDL, corrected
                             to input 4 bytes.
              -VMACCTLG and VMAC6156 were updated Nov 27, 2014.
               Support for GDGE, GDG Extended GDGLIMIT=999 in z/OS 2.2.
               New variable GATEXTND='E' flags the extended mode, new
               variables GATLIMTE/GATCNTE are INPUT but also kept in the
               existing GATLIMIT/GATCNT to preserve existing reports.
               Some overlooked flag variables in the 05 Catalog Segment
               are now decoded and kept in datasets TYPE6156 (from SMF
               (type 61, 65, 66) and TYPECTLG (from the IDCAMS EXPORT
               CATALOG flat file).  These are all the 05 fields now:
                 GATALLOC='GATALLOC*FIFO OR*LIFO?'
                 GATCNT  ='GDG*COUNT'
                 GATDELET='DELETE*WHEN*LIMIT*EXCEEDED*0=OLD*1=ALL?'
                 GATEXTND='GATEXTND*EXTENDED*OR CLASSIC?'
                 GATEXTNO='GATEXTNO'
                 GATGEN  ='GATGEN  '
                 GATLIMIT='MAXIMUM*GDS*ENTRIES*IN GDG*BASE'
                 GATLIMTE='EXTENDED*GAT*GATLIMIT'
                 GATPURGE='GATPURGE*YES OR*NO?'
                 GATSCRTH='SCRATCH*FORMAT 1*DSCB*0=NO*1=YES?'
                 GATVER  ='GATVER  '
                 GATWRAP ='GATWRAP '
                 GDGATTR ='GDGATTR'
              -BUILD005 protects for TYPETASK='JOBG' in JCTJOBID.

Change 33.188  TMON/CICS Version 4.0, these four MONITASK variables were
VMACTMO2       divided by 4096, TWICE:
Aug 13, 2015     TASTCPUT TASTCPOT TACNTRTM TACNTWTM
               and these MONIAMQ variables were NOT divided because the
               test was GT 4 and it should have been GE 4.
                 TAAMQOPT TAAMQCLT TAAMQGTT TAAMQPTT TAAMQP1T
                 TAAMQIQT TAAMQSTT
               This change is REQUIRED to support TMON/CICS Version 4.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.187  DB2 T102S106 didn't keep variables QWP4RSMX and QWP4ACAN
VMAC102        and these zparms were not input.
Aug 14, 2015      QWP1CSMF='SMFCOMP'
Aug 20, 2015      QWP1FLG2='QWP1FLG2*FLAG*BITS'
                  QWP1LOGT='LOG*CHECKPOINT*TYPE'
                  QWP4ABVC='QWP4ABVC*SERVICEABILITY'
                  QWP4ACAN='QWP4ACAN*SERVICEABILITY'
                  QWP4CGAA  ='GET_ACCEL_ARCHIVE*0=NO*1=YES*/
                  QWP4CQAC  ='QUERY*ACCELERATION'
                  QWP4EXQRY ='QWP4EXQRY'
                  QWP4FCPPRC='FLASHCOPY*PPRC'
                  QWP4QACO  ='QUERY*ACCEL*OPTIONS'
                  QWP4RFRP  ='REC_FASTREPLICATION'
                  QWP4RLPR  ='REORG*LIST*PROCESSING'
                  QWP4RPSN  ='REORG*PART*SORT*NPSI'
                  QWP4RSMX='QWP4RSMX*SERVICEABILITY'
                  QWP4STMN  ='REALSTORAGE*MANAGEMENT'
                  QWP4WFRD  ='MAX RID*BLOCKS*TEMP STG*PER RID LIST'
                  QWP4_BIF_COMPAT='BIF*COMPATIBILITY'
                  QWP9DDFCIP='DDF COMPAT*IDENTITY*PRIOR VERSION*NNR'
   Thanks to Lai Fai Wong, Bank of America, USA.

Change 33.186 -An INCOMPATIBLE z13 ERROR, only in SMT-MODE, and only if
VMAC7072       a CP engine is varied online, is now corrected. When a
Aug 16, 2015   a z13 in SMT mode varied a new CP online, MXG did not see
               the new engine, causing PDB.TYPE70 and PDB.TYPE70EN to
               be wrong, with incorrect PCTCPUBY and NRCPUS=. and no
               dispatch times for the new CP engine in PDB.TYPE70.
               An IBM error is only partially responsible: after the
               VARY, the value for SMF70CIX in the PR/SM LP Data Section
               is incorrect (1, for CP, instead of 6, for zIIP) in both
               of the zIIP sections for the second zIIP engine, causing
               MXG to identify those zIIPs as CP Engines, mismatching
               the engines in the CPU Data Section.  That error is
               circumvented by revising MXG to use the SMF70TYP value
               from the CPU data section (which is clearly what IBM had
               to use in their RMF reports).  A second error was MXG's:
               the new CP Engine PR/SM section was located AFTER those
               zIIP sections, but MXG's original SMT logic was correct
               only when all CPs preceded the zIIPs.  That incorrect
               MXG logic was revised to now be order independent.
              -TYPE70PR does NOT contain SMT variables, those data are
               only output in PDB.TYPE70EN since they can only be
               populated from "this" system's TYPE70 records.
   Thanks to Douglas C. Walter, CitiCorp, USA.
   Thanks to Brent Turner, Citigroup, USA.

Change 33.185 -Labels for TYPE30 ZEDC variables with _INF_/_DEF_ are now
FORMATS        spelled out as INFLATE and DEFLATE.
VMAC30        -TYPE74 subtype 9 DIVIDE BY ZERO caused by R749FRQC=1 is
VMAC74         eliminated by changing test to R749FRQC GT 1 since more
Aug 11, 2015   than one instance is required to calculate STD (Standard
Aug 17, 2015   Deviation) statistic.
Aug 20, 2015   New variable PCTCRDBY added to TYPE749 dataset for card
Aug 30, 2015   busy percentage.
              -TYPE74 variables used to create SSQ (Sums of Squares) are
               no longer kept since the STD variables are calculated.
              -Variable R749DFMT is now labeled 'PCIE*FUNCTION*TYPE' and
               is decoded by MG074DF format to describe which sets of
               variables are populated:
                 0='0:DMA COUNTERS'
                 1='1:ETHERNET INTERFACE'
                 2='2:WORK UNITS'
               However, records with SMF749DL=16 do not contain R749DFMT
               so R749DFMT will be missing, causing all of these sets of
               variables to have missing values:
                0: R749DMAR R749DMAW R749DBYR R749DBYT R749DPKR
                1: R749DBYR R749DBYT R749DPKR R749DPKT
                2: R749DWUP R749DWUM
               SMF749DL=40 is required for PCIE Function Type Data to
               actually exist.
              -Aug 17: INVALID type 30 zEDC segments (SMF30USO points
               to the middle of the EXCP Section, or points beyond the
               end of the record) were just confirmed by IBM support,
               and occur because the SMF30USN count is not being reset
               to zero in the "Continuation", MXG MULTIDD='Y' records.
               The MXG Logic now only inputs the SMF30USO segment when
               MULTIDD=' ', i.e., only for the base/original record.
               Aug 25: IBM APAR OA48717 will correct the invalid zEDC
                       triplet information in the TYPE30 record.
              -Aug 20: zEDC Compression Ratios for Inflate/Deflate are
               created and kept in all TYPE30 datasets.
              -Aug 30: zEDC Compression Ratios for Inflate/Deflate are
               created and kept in TYPE749 datasets.
   Thanks to Joe Faska, DTCC, USA.

Change 33.184  Support for SYNCSORT Release 1.4 (INCOMPATIBLE).  Change
VMACSYNC       33.102A added support for Release 2.1, which has the same
Aug 11, 2015   SMF data, so this change now tests SYNCVAL GE 1.4 to now
               populate READTIME and many other variables that are wrong
               without this change.
   Thanks to Joe Faska, DTCC, USA.

Change 33.183  Support for MAR Hitachi Command Suite Mainframe Analytics
EXMAR01        Recorder, user SMF records creates these dataset:
EXMAR02
EXMAR03          DDDDDD     MXG       MXG
EXMAR04          DATASET    DATASET   DATASET
EXMAR05          SUFFIX     NAME      LABEL
EXMAR06
IMACMAR          MAR01      MARST01   LOST SMF INFORMATION
TYPEMAR          MAR02      MARST02   LDEV INFORMATION
TYPSMAR          MAR03      MARST03   MPB INFORMATION
VMACMAR          MAR04      MARST04   PRGP INFORMATION
VMXGINIT         MAR05      MARST05   PORT INFORMATION
Aug 11, 2015     MAR06      MARST06   MP USAGE TO TWENTY

Change 33.182 -Major enhancement for character data filtering for ASI
ADOCRMFV       RMF Monitor III table entries and other improvements.
ASMRMFV       -These filters are intended for building ad hoc MXG RMF
Aug  1, 2015   III PDBs for studies avoiding the overhead of generating
               a full ASI table based PDB.  They control which ASI table
               entries are output to the RMFBSAM file.
              -10 new filters are added to support ASI entry selection
               from this table to the RMFBSAM output file.   These
               filters are effective only if the ASI table is selected.
               They are applied in the order shown when multiple
               different keywords are used.

               New Keyword    Aliases
               ------------   --------------------------------------
               ASISUBSYS=     ASISUB=     TYPETASK=
               ASIWORKLOAD=   ASIWKLD=    ASIWNM=     ASIWL=
               ASIRESGROUP=   ASIRESGRP=  ASIGNM=     ASIRG=
               ASISRVCLASS=   ASISCLASS=  ASICNM=     ASISC=
               ASIRPTCLASS=   ASIRCLASS=  ASIRNM=     ASIRC=
               ASIJOBCLASS=   ASIJCLAS=   ASICLASS=   ASIJC=
               ASIJOBNAME=    ASIJOBNA=   ASIJOBNM=   ASIJOB=    ASIJN=
               ASIJESID=      ASIJESNO=   ASIJESNUM=  ASIJESNR=  ASIJID=
               ASIAND         None
               ASIOR          None

              -TUTORIAL:
               Ranges of the form keyword=first:last may be used with
               any of the above keywords except ASIAND and ASIOR.  The
               colon character ':' is required for a range
               specification.

               However, single values may be specified for a range
               simply as keyword=first and in this case the colon ':'
               can be omitted.

               All ASI entries GE the first value and LE the last value
               are selected for output to the RMFBSAM file.  Ranges may
               not be wild carded only patterns.  The first value in a
               range may not be GT the last value or an error is noted.

               Patterns may also be used with any of the above keywords
               except ASIAND and ASIOR and include one or more wild card
               characters to match the respective ASI data field.

               Wild
               Card   Matches
               ----   -------------------------------------------------
               *      0 or more characters
               %      1 Non-blank character
               +      1 Numeric character (0-9)
               _      1 Alphabetic character or _  (a-z, A-Z, _)
               .      1 National character (@, #, $)
               !      1 Special character (not a-z, A-Z, 0-9, @, #, $)
               ?      A blank string if used by itself
               ?      1 Blank character (X'40') if used with any other
                        characters

               See Section 25 in the ADOCRMFV member for more details on
               usage of ranges and patterns.

              -ASISUBSYS= selects ASI entries by host Subsystem Name:
               APPC, JOB, OMVS, STC, TSU, UNKN.

               More than one subsystem may be requested.  Ranges and/or
               patterns may also be used, but are generally unnecessary
               given the limited possible choices.  Only those IBM
               subsystems defined in the ASI table are supported.
               Subsystem names are validated.  The default is
               ASISUBSYS=ALL.

               For ease in coding and recall there are several value
               aliases allowed with ASISUBSYS=.

               Subsystem
               Name                  Supported Values
               ---------   -----------------------------------------
               APPC        A, AP, APP, APPC, AS, ASC, ASCH
               JOB         J, JO, JOB, JOBS, B, BA, BAT, BATC, BATCH
               OMVS        O, OM, OMV, OMVS
               STC         S, ST, STC, STA, STAS, STASK, STASKS
               TSU         T, TS, TSO, TSU, TSUS
               UNKN        U, UN, UNK, UNKN, UNKNO, UNKNOW, UNKNOWN,
                           UNKNOWNS

              -Examples for ASISUBSYS=
               ASISUBSYS=JOB selects only Batch jobs.
               ASISUBSYS=J:S selects Batch jobs, OMVS address spaces,
               and Started Tasks because these all fall into the range.
               ASISUBSYS=JOB ASISUBSYS=TSO selects Batch job and
               TSO user address spaces.
              -ASIWORKLOAD= selects ASI entries by 8 character WLM
               Workload Name.  Both ranges and patterns with wild card
               characters may be specified.  Up to 64 ranges and 64
               patterns are supported.  The default is ASIWORKLOAD=ALL.
              -Examples for ASIWORKLOAD=
               ASIWL=PROD:TEST selects all WLM Workloads GE 'PROD' and
               LE 'TEST' using a range.  Note use of keyword alias
               ASIWL.
               ASIWORKLOAD=PROD* selects only address spaces with a WLM
               Workload Name that begins with 'PROD' as a pattern.
               ASIWORKLOAD=TEST+++ selects only address spaces with a
               WLM Workload Name that begins with 'TEST' followed by 3
               digits as a pattern.
               ASIWORKLOAD=? selects only address spaces with a blank
               WLM Workload Name as a pattern.
               ASIWORKLOAD=%* selects only address spaces with a
               non-blank WLM Workload Name as a pattern.
              -ASIRESGROUP= selects ASI entries by 8 character WLM
               Resource Group Name.  Both ranges and patterns with wild
               card characters may be specified.  Up to 32 ranges and 32
               patterns are supported.  The default is ASIRESGROUP=ALL.
              -Examples for ASIRESGROUP=
               ASIRG=CAP10:CAP20 selects all WLM Resource Groups GE
               'CAP10' and LE 'CAP20' as a range.  Note use of keyword
               alias ASIRG.
               ASIRESGROUP=CAP__ selects only address spaces with a WLM
               Resource Group Name that begins with 'CAP' followed by 2
               alphabetic characters as a pattern.
               ASIRESGROUP=CAP%%% selects only address spaces with a WLM
               Resource Group Name that begins with 'CAP' followed by 3
               characters as a pattern
               ASIRESGROUP=? selects only address spaces with a blank
               WLM Resource Group Name as a pattern.
               ASIRESGROUP=%* selects only address spaces with a
               non-blank WLM Resource Group Name as a pattern.
              -ASISRVCLASS= selects ASI entries by 8 character WLM
               Service Class Name.  Both ranges and patterns with wild
               cards may be specified.  Up to 64 ranges and 64 patterns
               are supported.  The default is ASISRVCLASS=ALL.
              -Examples for ASISRVCLASS=
               ASISC=BATHIGH:BATLOW selects all WLM Service Classes GE
               'BATHIGH' and LE 'BATLOW' as a range.  Note the use of
               keyword alias ASISC.
               ASISRVCLASS=*HIGH selects only address spaces with a WLM
               Service Class Name that ends with 'HIGH' as a pattern.
               ASISRVCLASS=*+* selects only address spaces with a WLM
               Service Class Name that contain only one numeric
               character as a pattern.
               ASISRVCLASS=? selects only address spaces with a blank
               WLM Service Class Name as a pattern.
               ASISRVCLASS=%* selects only address spaces with a
               non-blank WLM Service Class Name as a pattern.
              -ASIRPTCLASS= selects ASI entries by 8 character WLM
               Report Class Name.  Both ranges and patterns with wild
               cards may be specified.  Up to 64 ranges and 64 patterns
               are supported.  The default is ASIRPTCLASS=ALL.
              -Examples for ASIRPTCLASS=
               ASIRC=DB2:TSO selects all WLM Report Classes GE 'DB2' and
               LE 'TSO' as a range.  Note the use of keyword alias
               ASIRC.
               ASIRPTCLASS=LOW.%%% selects only address spaces with a
               WLM Report Class Name that begins with with 'LOW',
               followed by a national character, and then followed by 3
               more characters as a pattern.
               ASIRPTCLASS=MED++* selects only address spaces with a WLM
               Report Class Name that begins with 'MED', followed by 2
               digits, and then possibly other characters as a pattern.
               ASIRPTCLASS=? selects only address spaces with a blank
               WLM Report Class Name as a pattern.
               ASIRPTCLASS=%* selects only address spaces with a
               non-blank WLM Report Class Name as a pattern.
              -ASIJOBCLASS= selects ASI entries by JES Job Class.
               Both ranges and patterns with wild cards may be
               specified.  Up to 32 ranges and 32 patterns are
               supported.  The default is ASIJOBCLASS=ALL.
              -Examples for ASIJOBCLASS=
               ASIJC=A:D selects only address spaces with a JES Job
               Class of A, B, C, or D as a range.  Note use of the
               keyword alias ASIJC.
               ASIJOBCLASS=+ selects only address spaces with a numeric
               JES Job Class of 0-9 as a pattern.
               ASIJOBCLASS=? selects only address spaces with a blank
               JES Job Class as a pattern.
               ASIJOBCLASS=%* selects only address spaces with a
               non-blank JES Job Class as a pattern.
              -ASIJOBNAME= selects ASI entries by 8 character z/OS Job
               Name.  Job Name characters are validated to those allowed
               by JCL syntax.  Both ranges and patterns with wild cards
               may be specified.  Up to 64 ranges and 64 patterns are
               supported.  The default is ASIJOBNAME=ALL.
              -Examples for ASIJOBNAME=
               ASIJN=PROD1234:PROD5678 selects only address spaces with
               a z/OS Job Name GE 'PROD1234' and LE 'PROD5678' as a
               range.  Note use of the keyword alias ASIJN.
               ASIJOBNAME=.* selects only address spaces with a Job Name
               that begins with a national character as a pattern.
               ASIJOBNAME=*++ selects only address spaces with a Job
               Name that ends with 2 numeric digits as a pattern.
              -ASIJESID= selects ASI entries by 8 character JES Job
               Identification.  Both ranges and patterns with wild cards
               may be specified.  Since a JES Id is one character
               followed by 7 digits or three characters followed by 5
               digits not all pattern characters may be used with this
               keyword.  For convenience any leading zeros in the
               numeric portion of the JES Id may be omitted and will be
               filled in automatically.  Up to 64 ranges and 64 patterns
               are supported.  The default is ASIJESID=ALL.
              -Examples for ASIJESID=
               ASIJID=J0000100:J0001123 selects all address spaces
               with batch JES Id numbers GE 100 and LE 1123 as a
               range.  Note use of keyword alias ASIJID.
               ASIJID=J100:J1123 selects the same address spaces as
               above with the leading zeros omitted for coding
               convenience.
               ASIJESID=JOB12345:JOB32001 selects all address spaces
               with batch JES Id numbers GE 12345 and LE 32001 for
               installations with 5 digit JES Id numbers as a
               range.
               ASIJESID=J1* selects all batch address spaces with a
               JES ID that begins with '1' as a pattern.
              -ASIAND (default) indicates that selection results from
               two or more different ASI filter keywords are logically
               ANDed.
              -ASIOR indicates that selection results from two or more
               different ASI filter keywords are logically ORed.
              -Examples of ASIAND/ASIOR:
               With ASIAND in effect
               ASISUBSYS=BATCH  ASIJOBNAME=XYZ*
               selects ONLY batch jobs whose those job names begin with
               'XYZ'.  ASIAND (default) provides more restrictive ASI
               entry selection.
               With ASIOR in effect
               ASISUBSYS=BATCH   ASIJOBNAME=XYZ*
               selects ALL batch jobs OR any job names beginning with
               'XYZ' even if they ran under another subsystem.  ASIOR
               provides less restrictive ASI entry selection.
              -Selection results from repeats of the SAME ASI filter
               keyword are always logically ORed.
              -New parameter SYSAND (default) indicates that selection
               results from the SYSPLEX= and SYSTEM= filter keywords for
               the Data Set Header (DSH) table when both are specified
               are logically ANDed.
              -New parameter SYSOR indicates that selection results from
               the SYSPLEX= and SYSTEM= filter keywords for the Data Set
               Header (DSH) table when both are specified are logically
               ORed.  SYSOR must be coded when needed.
              -Examples of SYSAND/SYSOR:
               With SYSAND in effect
               SYSPLEX=PROD    SYSTEM=SYSP
               selects ONLY RMF III data sets originating from the PROD
               sysplex AND the SYSP LPAR.  SYSAND (default) provides
               more restrictive RMF III data set selection.
               With SYSOR in effect
               SYSPLEX=PROD    SYSTEM=SYSP
               selects ALL RMF III data sets originating from the PROD
               sysplex OR any data sets for the SYSP LPAR even if SYSP
               is part of a different Sysplex.  SYSOR provides less
               restrictive RMF III data set selection.
              -Selection results for multiple SYSPLEX= values are always
               logically ORed.
              -Selection results for multiple SYSTEM= values are always
               logically ORed.
              -The '_' pattern character now matches lower case in
               addition to upper case alphabetic characters in a source
               string.
              -The '_' pattern character will now match an underscore in
               a source string.  While this character is not technically
               alphabetic, the underscore is sometimes used in some WLM
               names for better legibility.
              -A new pattern character '?' will allow selection of
               completely blank source strings when used only by itself.
               When '?' is used with other characters in a pattern a
               single imbedded blank in a source string is matched.
              -Example of ? pattern character:
               ASIRPTCLASS=? selects all ASI entries that do not have a
               WLM Report Class assigned or that could not be found by
               ASMRMFV.  That field in the ASI entry must be completely
               blank to select that entry.
              -A new pattern character '!' will match special characters
               in a source string.  For this purpose special characters
               are those bytes in the EBCDIC code table that are NOT
               alphabetic (a-z, A-Z), numeric (0-9), national (@,#,$),
               or blank (X'40') and have been assigned to a character.
              -Example of ! pattern character:
               X'5C' is assigned the EBCDIC asterisk '*' and would match
               the ! pattern character.  However, X'00' does not match
               this pattern character because no EBCDIC character is
               assigned to this byte.
               ASIJOBNAME=!MASTER! selects the *MASTER* address space.
               Coding ASIJOBNAME=*MASTER* in this case instead may
               produce different results because the '*' is a pattern
               character itself representing zero to many characters.
               So any job name with 'MASTER' imbedded would be selected.
              -Section 5 "Input Data Selection Parameters" is updated
               with discussion of all the new ASI selection keywords and
               aliases.
              -A new Section 25 "Ranges and Patterns" has been added to
               the documentation to explain use of these features in
               detail.
              -A new Section 26 "Summary" is added to replace the old
               Section 25 and includes a summary of the new ASI keywords
               and all pattern characters.
              -New parameter SHOWALL (alias SA) indicates that the
               settings for all possible filter keywords that take range
               and/or pattern values are to be displayed in the ASMRMFV
               log in message RMFV006I even when no filters have
               actually been specified for a particular keyword.  These
               display as keyword=ALL.
              -New parameter NOSHOWALL (alias NOSA) indicates that only
               filter keywords that have actual range and/or pattern
               values specified are to be displayed in the ASMRMFV log
               in message RMFV006I.  This option helps reduce the size
               of the ASMRMFV log.  NOSHOWALL is the default.
              -Section 6 "Report Control Parameters" is updated to add
               SHOWALL/NOSHOWALL parameters.
              -Several messages are slightly changed either to
               accommodate longer ASMRMFV keywords for the ASI filter
               selection or to display their settings.

Change 33.181  Enhancement for RMFINTRV/TRNDRMFI to ADD variables to be
VMXGRMFI       kept.  While the existing VMXGRMFI program provides many
Jul 30, 2015   arguments (R70ID, R70MAX, R70SUM, etc) that can be used
               in your tailored %VMXGRMFI call, those arguments require
               you to list ALL of the variables to be kept.  This change
               adds the ADD70ID=, ADD70MAX=, etc., arguments that only
               list the variables to be added.
   Thanks to Joachim Sarkoschitz, DATEV, GERMANY.

Change 33.180  Support for MQ Version 8 subtype 215 record which creates
VMAC115           DDDDDD    DATASET    DESCRIPTION
VMXGINIT          TY115X    TY115215   TYPE 115 ST 215 BUFFER STATS
Jul 30, 2015  -New variables QPSTFLAG0 and QPSTFLAG1 added to TY115215
               and MQMBUFER datasets.

Change 33.179 -z13 in SMT Mode could have blank LPARNAME in TYPE70EN and
VMAC7072       MXG variable SMF70MTTT (misnamed, IBM field is SMF70MTIT)
Jul 29, 2015   is now deaccumulated in PDB.TYPE70EN.
Aug  4, 2015  -For SMT Mode, for complete detail per-engine data, use
               the PDB.TYPE70EN dataset instead of PDB.TYPE70.
              -This change also populated SMF70WTI/WTS/WTU in TYPE70PR
               with zeros or real values that were previously missing.
              -Aug 4. Corrected SORT error due to delete with TYPE7072.

Change 33.178  Many of the ANAL* members in JCLPDB9 were old (some had
JCLPDB9        not been touched in decades) or archaic and in some cases
Jul 29, 2015   had been replaced by more robust and up to date members.
               These are ONLY included as examples; it is NOT likely
               that you would execute ALL of these example ANALxxxx
               reports in your production BUILDPDB.
                 ANALCONT - replaced by VMXGPRAL
                 ANALMPL  - replaced by ANALINIT
                 ANALTURN - replaced by ANALINIT
                 ANALAVAL - removed since successful execution requires
                            user tailoring
                 ANALESV  - obsolete
                 GRAFWRKX - added
                 GRAFCEC  - added
                 All report members now have comments describing them
                 Commented ODS statement added to route output to PDF

Change 33.177 -A new parameter PRINT was added.  A value of ALL/DETAIL
ANALRANK       generates a report for each of the variable named in the
ANALPROG       VARS parameter, and a summary report with the rankings
Jul 28, 2015   of ALL variables is produced.
               A value of DETAIL generates only the individual named
               variable report.
               A value of SUMMARY only generates the summary report.
               SUMMARY is assumed if PRINT is left blank.
              -A third example generates a report similar to ANALPROG.

Change 33.176  Unused Change.

Change 33.175  Support for IHDRBBMQ "Infile Header Exit" for TYPEBBMQ
IHDRBBMQ       and associated macro variable &MACBBMH permits selection
VMACBBMQ       of data to be output after the BBMQ Header has been read.
VMXGINIT
Jul 27, 2015

Change 33.174  The number of IFL processors in an LPAR was incorrectly
VMXG70PR       set to the number of IFLS on the CEC and IFL busy was
Jul 21, 2015   also incorrect since it was based on the CEC not on the
               LPAR.

Change 33.173  For the z13, SM1132SP was forced because the value in the
ASUM113        z13 SMF 113 records is not correct, but SM1132SP=5000 is
VMAC113        the correct value, not 5.  This impacted only EFFGHZ and
Jul 22, 2015   LPARBUSY values.
   Thanks to David Cogar, Wells Fargo, USA.

====== Changes thru 33.172 were in MXG 33.07 dated Jul 22, 2015=========

Change 33.172 -If you specified USERADDS=NOUSERID and IDs over 128 were
ANALID         found, an EOF test that built the macro variable that was
Jul 22, 2015   used in UTILBLDP was never executed.
              -A superfluous RETURN; caused an error if you specified
               SMFAUDIT=NO.

Change 33.171  MXGLOG code failed to wrap a PUT with a DO group, causing
VMAC120        potentially MANY of these log messages to be printed"
Jul 20, 2015     ***SMF 120 SUBTYPE 9 UNEXPECTED MULTIPLE SEGMENT.
                _N_=2 SYSTEM=XX SMFTIME=19JUL2015:00:04:54.20 SM1209AK=1
   Thanks to Jim S. Horne, Lowe's Companies, USA.

====== Changes thru 33.170 were in MXG 33.07 dated Jul 17, 2015=========

Change 33.170  The test to identify IPV6 IP address was incorrect.
VMACCTCP
Jul 16, 2015

Change 33.169  The z13 protection for zero divide for TLB1CYCL,PTEPCTMI,
ASUM113        TLB1MSRT still used the zEC12 EXTND133+EXTND140 values
Jul 16, 2015   but the z13 changed the divisor to EXTND129+EXTND134,
               which should have been also been used for the zero test.
               Luckily, the incorrect test was non-zero so the correct
               values were calculated.
   Thanks to David Cogar, Wells Fargo, USA.

Change 33.168  The SMF 30 INSTRUCTION count variables require HIS to be
VMAC30         enabled, or all _INST counters will be missing values.
Jul 15, 2015   These two new variables are now created to identify why.
                SMF30_INSTCAPTDISRUPTION='NO*INSTRUCTION*COUNTERS'
                SMF30_INCOMPLETE_DATA='INSTRUCTION*COUNTERS*INCOMPLETE'
               From Bob Rodgers SHARE 2014 SYSPROG Goody Bag notes:
               - To get instruction counts in Counter Data Section,
                 HIS must activate the CPU Measurement Facility to
                 collect at least the basic counter set.
                - MODIFY HIS,BEGIN,CTRONLY,CTRSET=(B) is minimal
                - MODIFY HIS,BEGIN,CTRONLY,CTRSET=(B,E) is recommended
                - SMFPRMxx must contain the keyword SMF30COUNT
   Thanks to Alfred Holz, Express-Scripts, USA.

Change 33.167  MXGDB2B1 report checked for a macro variable that could
ANALDB2R       only be defined if you are on SAS 9.4 or higher.  A %LET
Jul 13, 2015   was added to instantiate the variable to protect ancient
               versions.

Change 33.166  Support for Correlog z/OS Agent SMF User record created
EXTYCZA        new dataset.
IMACCZA          dddddd   dataset   Description
TYPECZA          TYCZA    TYPECZA   Correlog z/OS AGENT
TYPSCZA
VMACCZA
VMXZGINIT
Jul 29, 2015

Change 33.165  Subtype 24 XPTR records decoded
VMACXPTR
Jul  9, 2015

Change 33.164 -If you specified READDB2 with IFCIDS=ALL and PDBOUT=WORK
READDB2        some IFCIds (22 and 217) that create multiple datasets
VMAC102        failed in their sort of those additional datasets looking
Jul  8, 2015   for a PDB LIBNAME.  In addition if you specifically
               requested (for example) IFCIDS=I22 it would fail looking
               for _C102I22 since the code to create that dataset is in
               _C102022.  READDB2 now converts I22 to 22 U17 v17 T17 to
               217.
              -The _S102 "sort all 102s" macro now skips 202/225/230/239
               and 369 because they are NOT 102s and instead are created
               in 100.2, 100.4, 100.3, 101.1, and 100.5 ID/Subtypes.

Change 33.163  CICSTRAN variable PHSTARTM was incorrectly INPUT as PIB4
VMAC110        time of day, and PHSTARCN was input as a counter, but now
UTILEXCL       PHSTARTM is INPUT TODSTAMP8, formatted DATETIME21.2, and
Jul  7, 2015   converted to local zone; PHSTARCN should never have been
               created so it no longer is.
   Thanks to David Shaw, M&T Bank, USA.
   Thanks to Doug Donoho, M&T Bank, USA.

Change 33.162  "MXGLOG" option to send MXG Messages to MXGLOG filename.
VMXGINIT       Macros %MXGLOGDO, %MXLOGPUT and MXLOGEND are defined in
VMACSMF        VMXGINIT.  If an //MXGLOG DD or FILENAME MXGLOG is used,
Jul 10, 2015   MXG will automatically enable and send MXG messages to
Jul 12, 2015   the MXGLOG file on z/OS; on ASCII you send those messages
Jul 14, 2015   to FILENAME MXGLOG 'c:\mxg\mxglog.txt'; but note that the
Nov 23, 2015   file is written with MOD, so you may need to clear the
               file with DATA _NULL_; FILE MXGLOG;
               Status:  These members' messages are updated:
                 VMAC0    VMAC0203 VMAC10   VMAC113  VMAC115
                 VMAC116  VMAC120  VMAC21   VMAC22   VMAC23   VMAC26J2
                 VMAC30   VMAC42   VMAC6    VMAC6156 VMAC7    VMAC7072
                 VMAC71   VMAC73   VMAC74   VMAC75   VMAC76   VMAC77
                 VMAC78   VMAC89   VMAC8911 VMACDB2  VMACID   VMACTMNT
                 VMACSMF  VMXG70PR
               These include all members in the default BUILDPDB.
               The last change-date wasn't updated in these members, as
               the changes did not impact the output datasets.
               The syntax of the messages written to MXG log will be
                  MXGLOG::MXGtype.member.nnn
               where type is INFO, WARNING or ERROR,
                     member is the member name that creates the message
                     nnn is a sequence number in that member name.
   Thanks to MP Welch, Bank of America, USA.

Change 33.161  Support for MOBILEWRK to read BMC's IMF/CIMSTRAN FA IMS
MOBWRKI3       log records to create CIMSTRAN and use in MOBWRKI3, or
MOBWRKI4       to use existing CIMSTRAN dataset(s) in MOBWRKI4.
MOBILWRK       Only comments updated in MOBILWRK.
Jul  6, 2015
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 33.160  Reserved Change Number, now Unused.

Change 33.159  Support for ANALID and VMXGSRCH to decompress DB2 or CICS
ANALID         records, on z/OS when EXITCICS/CICSIFUE exit is not used,
DB2DECOM       or on ASCII, where EXITCICS cannot be installed.
MXGDECOM      -For ANALID, the DB2 Product section, containing IFCID and
SMFSRCH        SUBTYPE and DB2 Version, is compressed, so those values
UTILBLDP       are missing.  Optional new SMFDECOMP=DB2 argument invokes
VMAC110        the MXG internal code to decompress 101 and 102 records
VMACDB2        so those values can be reported. (Not needed for CICS as
VMACSMF        its version/subtype is the uncompressed area.)
VMXGINIT      -For SMFSRCH, compressed CICS 110 and DB2 101/102 records
Jul 17, 2015   couldn't be searched. New SMFDECOMP=BOTH or DB2 or CICS
               argument will invoke the MXG decompression code so those
               records can be searched for the LOOKFOR text.
              -WARNING: The internal Code decompression requires A LOT
               more CPU time than the EXITCICS exit.  A 5GB DB2 SMF file
               required 34 CPU minutes with the internal algorithm, but
               only 13.5 CPU minutes using EXITCICS.  That is why YOU
               must choose to enable the SMFDECOMP decompression.
              -You can also force decompression of CICS and/or DB2 data
               when only the _SMF (decode SMF header macro) is used:
                 %LET MXGDECOMP= BOTH or DB2 or CICS ;
                 %INCLUDE SOURCLIB(VMACSMF);
                 DATA; _SMF;
               The decompressed record will be in variable _INFILE_.
              -UTILBLDP is invoked by SMFSRCH to create all datasets in
               the selected SMF records; testing exposed an incorrectly
               built macro for type 102 when BUILDPDB=NO and the IFCID
               was only 2 characters long.
              -The decompression %MACROs MXGDECOM and DB2DECOM are now
               defined in those members and the redundant definitions
               in VMACSMF, VMAC110 and VMACDB2 are removed, since the
               AUTOCALL facility will resolve them when referenced.

Change 33.158  Type 6 ESS zero length segment caused INPUT STATEMENT
IMAC6ESS       EXCEEDED STOPOVER error condition when the segment was
Jul  3, 2015   the last ESS segment.  GEPARMKY=0016x and 0027x have been
               observed with zero segment length, which would seem to be
               an IBM error (to be investigated with IBM Support) but
               protection is added to prevent the STOPOVER error.
               In testing this change with on-hand SMF 6 records from
               other users four new ESS segments are now decoded:
                 ESSCKPTPAGE ESSOVERLAYB ESSOVERLAYF ESSDUPLEX
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 33.157  zVM XAM ERROR SYTCUP SEGMENT LENGTH occurs if the online
VMACXAM        engine count is changed, because XAM does NOT change the
Jul  1, 2015   value in SYTNLPS, which always contains the number of
               INSTALLED engines (and the same is true of variable NCPUS
               from the SUBSUM segment).  This change recalculates the
               number of engines into SYTNLPS based on SEGLEN, which XAM
               does update, and which is then used to input the actual
               online CP segments.
   Thanks to Patricia Hansen, ADP, USA.
   Thanks to Mike Chaves, ADP, USA.

Change 33.156  Support for APAR OA44525, zHPF Extended Distance II.
VMAC78        -New variables added to TYPE78CF dataset:
VMAC79           R783CTMW='TRANSPORT*MODE*WRITE*COUNT'
Jun 30, 2015     R783CTRD='1ST XFER*READY*DISABLED*WRITE COUNT'
                 R783TMWM='XPORT*WRITE*COUNT*DCM CHANNELS'
                 R783TRDM='1ST XFER*READ*DISABLED*DCM CHANNELS'
              -New variables added to TYPE79EF dataset:
                 R79ECTRD='1ST XFER*READY*DISABLED*WRITE COUNT'
                 R79ETMWM='XPORT*WRITE*COUNT*DCM CHANNELS'
                 R79ETRDM='1ST XFER*READ*DISABLED*DCM CHANNELS'
                 PCTPTHBY='PERCENT*CHPID PATH*BUSY'

Change 33.155 -TYPE74ST dataset now has Storage Class Memory variables
VMAC74         that were incorrectly output in TYPE74MO dataset, which
Jul  5, 2015   should never have been created and no longer is.
Oct  4, 2015  -Text added Oct 4, 2015:
               Variable R744SNAM=STRUCTURE NAME was added to TYPE74DU
               and TYPE74HO datasets, but not noted in the change text,
               nor was it added to the _BTY74HO BY List, but in Oct it
               was observed that the addition of R744SNAM to TYPE74HO
               caused a CORRECT INCREASE in number of observations in
               PDB.TYPE74HO (even though the WORK.TYPE74HO had the same
               number of observations).  Because R744SNAM was not kept,
               the previously NODUP sort was incorrectly removing obs
               that were not duplicates, and its addition accidentally
               prevented their removal.  Change 33.234 now updates the
               BY list to explicitly include R744SNAM.
                 -MXG Internal Note on no longer creating a dataset: The
                  macro variables PTY74MO/WTY74MO in VMXGINIT, and all
                  the _xTY74MO old-style macro tokens must still be
                  defined in VMAC74, just in case they were used in user
                  tailoring.  Member EXTY74MO also must exist to protect
                  tailored code, and the_STY74MO token was removed from
                  _STY74 to prevent a dataset not found condition.
   Thanks to Sandy Stromberg, OPTUM, USA.

Change 33.154  BY statement was missing on SGPLOT and GPLOT so title1
ANALCAPD       had #BYVAL1 rather than the value of CECSER.
Jun 25, 2015

Change 33.153  IMF version 5100 record caused INPUT STATEMENT EXCEEDED
VMACCIMS       ERROR due to MXG misalignment of the Trace Table that
Jun 24, 2015   caused TRNEXTEN=1 when it should have been zero.

Change 33.152  ANALWHO (WHO deleted/modified my Dataset) is revised to
ANALWHO        check and see if any data was found and now confirms
Jun 24, 2015   in an MXGNOTE that observations were NOT found.
               The REPORT data that is created is now deleted before
               ending.  JOB parameter is added to allow you to specify
               a specific job name to seek.
   Thanks to Dave Ireland, USDA, USA.

Change 33.151   ERROR.VMAC115.OFFQCCT. INVALID SECTION TRIPLET.
VMAC115         ERROR.VMAC116.LENQWHS. INVALID PRODUCT SECTION TRIPLET.
VMAC116         are corrected.  Change 32.172 created new MQ V8.0
Jun 24, 2015    datasets MQCHIN and MQCHININ, but documented that the
Jun 30, 2015    code had not been tested with data.  Now it has been.
               -The MQCHIN 115 records ADP, SSL, and DSN segments are
                significantly longer than documented and don't agree
                with their contents in CSQDQCTA; this will be pursued
                with IBM MQ Support.
               -The MQCHININ 116 dataset is only output if there was
                activity; that logic is in _ETY116A if you do want to
                output all segments.
               -Jun 30: WTASCTSR is now correctly aligned and non-zero.
   Thanks to Robert Miles Standish, UBS, USA.
   Thanks to Thomas Orlando, UBS, USA.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.150  Variable PCTDLZIP='ZIP*DELAY*PERCENT' is created in the
VMAC7072       TYPE72GO dataset.
Jun 22, 2015
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 33.149  Dataset TYPE115 variable QESDBFPT was not divided by
VMAC115        4096.
Jun 22, 2015
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.148 -SMFSRCH can't search for text in compressed DB2 or CICS
SMFSRCH        SMF records unless the EXITCICS INFILE exit is installed
Jun 22, 2015   on z/OS.
              -At present, on ASCII, SMFSRCH can not search compressed
               records because the internal decompression algorithm is
               executed AFTER the _INFILE_ has been populated. This is
               under investigation for a possible solution.
              -If SMFSRCH found type 102 records with an IFCID LT 100,
               it incorrectly called UTILBLDP with a token of 102.83,
               which should have been 102.083.  Now fixed.
              -SMFSRCH will now suppress processing of 102 records if a
               subtype of 0 is found, since this means the data is
               compressed, and you are not using the EXITCICS exit.
              -If a subtype GE 8000 is found the subtype is then
               converted to BMC.

Change 33.147  Analysis of batch queue times using SMF30HQT SMF30JQT
ANALQBAT       SMF30RQT and SMF30SQT variables rather than values that
Jun  20, 2015  are calculated as in ANALINIT. This is a member which
               you need to tailor in your USERID.SOURCLIB. There are
               changes you must make (look for CHANGE HERE in the
               member.)  It requires are least SAS 9.3 since it uses
               ODS and creates PDF output.

Change 33.146  There are two SECID='0B'x SMF Type=22 records.  RECIND=9
EXTY22PB       records create the existing TYPE22_B with the I/O Config
IMAC22         changes. New TYPE22PB dataset is created from SECID='0B'x
VMAC22         that do not have RECIND=9, with Reconfigured PCIE.
VMXGINIT       function identifiers.
Jun 19, 2015
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.145  BVIR VTS Grid dataset BVIR33 was incorrect for the second
VMACBVIR       and subsequent Grid-Cluster Containers.
Jun 18, 2015   Variable TMDLYCPY is now kept in BVIR33, overlooked.
Jul  7, 2015   Variables MAXAHCT AVEAHCT MAXBHCT AVEBHCT are now kept in
               BVIR20.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
   Thanks to Mike Creech, Black Knight Financial Services, USA.

Change 33.144  Support for SMF Type 119 new Subtypes 94 and 95 create
EXT11994          dddddd   dataset  description
EXT11995          T11994   TYP11994  SSH Client Connect Start
FORMATS           T11995   TYP11995  SSHD Server Connect Start
IMAC119        The $MG110AM/CI/MA/CO formats were updated with new
VMAC119        values.
VMXGINIT
Jun 23, 2015
   Thanks to Hyrum Smith, Schwab, USA.

Change 33.143 -INPUT STATEMENT EXCEEDED NDM-CDI PT RECORD, shortened by
VMACNDM        4 bytes, variable PTUNCH34 now $EBCDIC30 vs 34.
Jun 15, 2015  -Truncated fields for CT record - MXG Message is correct,
               vendor contacted.

Change 33.142  Variable QWACATWT was missing the divide by 4096 and the
VMACDB2        variable QWACPQCT should have been input &PIB.4.
Jun 15, 2015
   Thanks to Scott Barry, SBBWorks Inc., USA.

====== Changes thru 33.141 were in MXG 33.06 dated Jun 11, 2015=========

Change 33.141  Documentation only.  The EXITCICS/CICSIFUE INFILE exit
EXITCICS       WILL NOT work with VSAM SMF input, on SAS log shown as
Jun 11, 2015              DSNAME=SYS1.MAN1,
                          VOLUME=Z21SMF,DISP=SHR,UNIT=3390,
                          TYPE=NONINDEXED,SPANNED=YES,
                          RECORDSIZE=(.,32767),AMP=('AMORG'),RECORDS=0
                Maybe the DSNAME=SYS1.MAN1 is a clue, but it is the AMP=
                parameter that identifies the SMF file as a VSAM file.
                The SAS log also reported:
                   MXGNOTE: SMF EXIT CICS IS IN USE.
                   ERROR: ERROR DETECTED BY INFILE/FILE EXIT: .
                   FATAL: UNRECOVERABLE I/O ERROR DETECTED IN THE
                          EXECUTION OF THE DATA STEP PROGRAM.
   Thanks to Greg Meyer, ISUZU, USA.

Change 33.140  RMF III RCD records INCOMPATIBLY changed for z13 causing
VMACRMFV       invalid values in SVCLCNM and other variables in RBRCDR.
Jun 11, 2015   The change apparently was RMF APAR OA44101 supporting
Jun 16, 2015   Simultaneous MultiThreading (SMT) on the IBM z13 server
               that extended the Resource Collection Data Period Data
               (RCDPD) array entries in the RMF Monitor III RCD table.
              -Test IF RCDPLSC GE 0 corrected to IF RCDPLSC GT 0. When
               RCDPLSC=0, there is no LC Service Class Extension. Have
               NOT ACTUALLY seen RCDPLSC=0, so this is for safety and
               not an actual error.
   Thanks to Michael Kampert, Schwab, USA.

Change 33.139  Contributed Processor Topology Report for z13, using SMF
ANAL9914       Type 99 Subtype 14 records. Syntax for SYS1 report, Z13:
Jun  9, 2015     %ANAL9914(SYSTEM=SYS1,SYSTYPE=Z13)
   Thanks to Raymond J. Smith, OPTUM, USA.

Change 33.138 -z13 in SMT Mode, TYPE70EN had missing or mis-aligned
VMAC7072       values when there was a second zIIP engine.
Jun  9, 2015  -z13 in SMT Mode, PCTMVSBY was incorrect by a few percent
Jun 11, 2015   because LPARBUSY time was incorrectly subtracted.
              -z13 in SMT Mode zIIP variables in TYPE70xx datasets,
               could be missing, or DUPLICATE RECORD message could be
               printed.  REQUIRED FOR SMT.  The MXG SMT support has come
               in several iterations as new sequences of data exposed
               untested logic but this appears to finally resolve the
               one-to-many merge. If you are testing SMT on z13, please
               email MXG Support with subject: SMT UPDATES so we can
               inform you if there are any further required changes for
               SMT mode.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
   Thanks to Scott Wiig, US Bank, USA.
   Thanks to Douglas C. Walter, CitiCorp, USA.
   Thanks to Brent Turner, Citigroup, USA.

Change 33.137  Support for Compuware ABEND-AID USER SMF Record creates
FORMATS        new ABENDAID dataset with many details on each intercept.
EXABNAID
IMACAA
TYPEAA
TYPSAA
VMACAA
VMXGINIT
Jun  5, 2015

Change 33.136  Support for MainView for IMS 5.2 (a/k/a IMF, CONTROL/IMS)
FORMATS        for COMPATIBLE changes.
VMACCIMS      -New variables added to CIMSTRAN:
Jun  3, 2015     TRNDLCMX='MAX*DC*CALL*TIME'
                 TRNDLDMX='MAX*DB*CALL*TIME'
                 TRNESSMX='MAX*ESS*CALL*TIME'
                 TRNDLWMX='MAX*WAIT*NOT-IO*TIME'
                 TRNDLDTH='DLI DB*OR*ESS CALLS*GE THRESHOLD'
                 TRNDLCTH='DLI*DC* GE*THRESHOLD'
                 TRNDLDER='DLI*CALL*ERRORS'
                 TRNESSER='ESS*CALL*ERRORS'
                 TRN1STCP='SCHD*FIRST*DLI*CPU'
              -New values added to variables SMQFLAG, PROGTYPE
               FLGSPCHR.

Change 33.135  Support for Optional CICS User CMODNAME=VMX CMODHEAD=VMX
IMACICVP       segments.
IMACICVQ
IMACICVR
IMACICVT
IMACICVU
IMACAAAA
UTILEXCL
VMAC110
Jun  9, 2015

Change 33.134 -ANALDB2R mis-reported the number of reports produced
ANALDB2R       when accounting reports were requested but no data met
READDB2        the selection criteria.
May 26, 2015  -READDB2 applied selection criteria inappropriately to
               the 105 106 and 107 IFCIDS which are subsystem specific.
              -ANALID parameter added to ANALDB2R to pass to READDB2 so
               that you can see what records were in the input data.
              -Page headings on PMSPR01 were incorrect for the first
               page of the second and subsequent DB2 subsystems reports.
              -If the input to PMLOL02 and PMLOK03 was a SAS dataset on
               tape, the T102S172 dataset was missing from the PROC COPY
               that moves the data to DASD (zOS only) since there must
               be concurrent dataset open for these reports
   Thanks to Judy Xu, WiPro, USA.

Change 33.133  ZOSEM User SMF INPUT STATEMENT EXCEEDED because MXG had
VMACOSEM       expected an 8-byte Resource field length.  Since this
May 21, 2015   resource looks like it might be a DSNAME, the resource
               array variables are expanded to 44 bytes.
   Thanks to John Schoenbeck, IBM Global Services, USA.

Change 33.132  These eight new TYPE30 variables with zEDC metrics were
VMAC30         misaligned because the triplet was incorrectly input:
May 21, 2015     SMF30_US_COMPRREQ      SMF30_US_COMPRREQ_PROB
Jan  4, 2016     SMF30_US_QUEUETIME     SMF30_US_EXECTIME
                 SMF30_US_DEF_UNCOMPRIN SMF30_US_DEF_COMPROUT
                 SMF30_US_INF_COMPRIN   SMF30_US_INF_DECOMPROUT
               These variables now also have "ZEDC" in their label.
              -Jan 2016: APAR OA48268 corrects invalid values in the
               first four variables above, especially when SMF data
               is from logstream processed by IFASMFDL.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 33.131 -SMFSRCH failed if the SMF file contained only one USER
SMFSRCH        record type and you had specified that nnn type value in
UTILBLDP       your USERADD=XXXX/nnn argument. The USERADD= erroneously
May 22, 2015   had nnn which generated a call to INCLUDE VMACnnn.
May 25, 2015  -SMFSRCH now invokes %ANALID report to tabulate the SMF
               records, subtypes, versions, etc., that were selected;
               any undefined user records selected are identified.
              -SMFSRCH LOOKFOR= supports multiple strings with ANDOR
               choice, and new SELECTION= argument lets you write your
               own IF statement for the selection.
              -UTILBLDP needed revision to delete the ID VIEW that was
               introduced with the addition of %ANALID.  If ID is found
               in a non-BUILDPDB context the _SID sort is suppressed and
               the ID VIEW is deleted.
              -ASCII only, SMFSRCH.  LENGTH from INFILE statement is now
               used in place of LENGTH=LENGTH(_INFILE_) for the written
               length, after an SMF 79 record with a blank last byte was
               truncated, and detected by an MXG ERROR message, causing
               the SAS documentation TO BE READ, that stated that the
               LENGTH() function returns the length of the string, but
               EXCLUDING any trailing blanks.
   Thanks to Mike Obrien, Bank of America, USA.

Change 33.130  Missing values in SMF70xxx variables in PDB.ASUM1131 and
ASUM113        (now archaic PDB.ASUM113 from no longer supported subtype
May 20, 2015   2 Type 113s) if the SMF SYSTEM variable in Type 70 does
               not match SMF70STN in the PR/SM LCPUADDR segments. This
               logic has been used since always to read from TYPE70PR
                   IF SYSTEM=SMF70STN;
                   SYSTEM=SYSNAME;   (IBM SMF70SNM - From IEASYSXX)
               to use the SYSNAME for the merge with TYPE113.
               In this new data with SYSTEM NOT matching SMF70STN, it
               was observed that SMF70STN matched SYSNAME, but now, the
               original SYSTEM is unchanged:
                   IF SYSTEM=SMF70STN OR SYSNAME=SMF70STN;
                   IF SYSTEM=SMF70STN THEN SYSTEM=SYSNAME;
                   /* ELSE LEAVE THE SMF 70 ORIGINAL SYSTEM FOR MATCH */
              -Do not use Subtype 2 SMF 113 with accumulated data; they
               may not always match up with 70PR because 113 data is
               lost.  Always use Subtype 1 INTERVAL HIS data.  IBM has
               stated they will NOT update Subtype 2 records.
   Thanks to Virginie Peigney, CA-SILCA, FRANCE.

Change 33.129  Support for TMS new TRTCH values for Device Type TS1140,
VMACTMS5       EE4/EE4M/EE4X and EF4/EF4M/EF4X.
May 20, 2015
   Thanks to Scott Barry, SBBWorks, Inc., USA.

====== Changes thru 33.128 were in MXG 33.05 dated May 19, 2015=========

Change 33.128  z13 with one or more LPARs enabled for SMT-mode will have
VMAC7072       zero observations in the TYPE70 dataset from all NON-SMT
May 19, 2015   mode systems, UNLESS, ACCIDENTALLY, the SMT-mode systems
               are all at the end of your input SMF file.  The SMTSEGNR
               variable that identifies this is an SMT-mode record was
               incorrectly retained.
   Thanks to Scott Wiig, US Bank, USA.

Change 33.127  Dataset TYPE749 zEDC PCIE and Hardware Accelerator FIXED.
VMAC74         Change 33.124 replaced with logic to match all segments.
May 18, 2015   This change is required for valid TYPE749 data.
May 22, 2015   May 22: STD and AVG variables created for Queue/Execute
               durations, which are now formatted TIME16.6.
   Thanks to David Cogar, Wells Fargo, USA.
   Thanks to Carl D. Ellis, Wells Fargo, USA.

Change 33.126  APPTUNE SMF 102 INPUT STATEMENT EXCEEDED if DATA SHARING
VMACDB2H       (32) header is present.  The product section for APPTUNE
May 19, 2015   records is not at the end of the SMF 102 but instead is
               at the beginning of the record. Change 32.148 revised the
               header input logic, to support unexpected out-of-order
               headers, but the LENLEFT calculations used record LENGTH.
               Now for APPTUNE 102s (QWHSIID GE 8000x), the ENDPROD is
               used to determine the LENLEFT for all header segments.
     Thanks to Jan Tielemans, KBC, BELGIUM.

Change 33.125  Further SMT-related changes.
VMAC7072      -CPUWAITM now subtracts LPARBUSY from CPUWAITM for zIIPs.
May 16, 2015   earlier code had the subtraction for CPs, with no impact.
              -SMF70CAN/SMF70CTN variables are again kept in TYPE70PR.
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

====== Changes thru 33.124 were in MXG 33.05 dated May 12, 2015=========

Change 33.124  MXG support for 74-9 zEDC was revised again, when it was
VMAC74         discovered that only the first card was output, and that
May 13, 2015   the number of PCIE pairings of the PO/DO segments is not
May 18, 2015   the same as the number of Hardware Accelerator FO/10
               segments. Original change text here removed, See 33.127.
              -Variable R749LAID was removed; there is no adapter id.
              -These new variables were added from the DO segments
                R749DBYR R749DBYT R749DFMT R749DPKR R749DPKT
                R749DWUP R749DWUM
              -May 18: See Change 33.127, which is REQUIRED.
   Thanks to David Cogar, Wells Fargo, USA.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

====== Changes thru 33.123 were in MXG 33.05 dated May 12, 2015=========

Change 33.123  Support for Tandem ZMS Style of records; the previous MXG
VMACTANZ       support was for what are now "Legacy Style" records.
May 12, 2015
   Thanks to Mark Goforth, First National of Nebraska, USA.

Change 33.122  Reserved Change.

Change 33.121  z13 SMT-mode TYPE70/PR data IS WRONG in MXG 33.03-33.04.
VMAC7072       In ONLY RMF 70 records written in SMT-mode, the datasets
May 12, 2015   TYPE70, TYPE70PR, RMFINTRV, ASUM70PR, ASUM70LP, ASUMCEC,
               and ASUM70PR can have incorrect values. MXG 33.03 support
               for z13 SMT-mode records continued to use LCPUADDR from
               the PHYSICAL to merge with CPUID in the CPUD segment and
               the results matched initial RMF reports, but now I find
               that the LCPUADDR won't always match the CPUID value!
               And, one mismatch destroys the merge, trashing both the
               TYPE70 and TYPE70PR datasets.
               The code had to be redesigned to sort and merge on the
               physical sequence to pair up the two segments to create
               the per-LCPUADDR TYPE70PR dataset and populate TYPE70.

               IBM RMF Support confirmed that "LCPUADDR/SMF70VPA in the
               PHYSICAL segment is retrieved from the Diag 204 interface
               and is generated by the hardware/firmware when the core
               is brought into the configuration.  It does not match the
               logical core id in SMF70VPA which is provided by z/OS in
               the PR/SM logical processor data section(s) of the home
               partition"

               The example had an LCPUADDR=7 in PHYSICAL for a zIIP, but
               there was no corresponding CPUID=7 in the CPUD segment.
               I was also confused when a box with 5 CP cores and 5 zIIP
               cores in PHYSICAL had SIX unique CORE_IDs, but that was
               because the home partition had 4 logical CP cores and 2
               logical zIIP cores, which results in the 8 CPU data
               sections, with 6 unique CORE_IDs.

Change 33.120  New member IHDR120 for the SMF TYPE=120 WebSphere record
IHDR120        in %INCLUDEd after the header and Product segments have
VMAC120        been INPUT, and the "instream" macro variable MAC120H is
VMXGINIT       defined so that you can select/tailor after those header
May  6, 2015   variables have been input.

Change 33.119  The optional IMACICMX member for Omegamon with CMRDATA of
IMACICMX       length 384 was missing a final END; statement, causing a
May  6, 2015   syntax error if UTILEXCL told you to tailor IMACICMX.

Change 33.118 -The RESULTS window now lists the report number and short
SAGANAL        title for all reports produced by PROCs that support the
May  7, 2015   CONTENTS= option to label the result. (Procs FREQ, MEANS,
               and CONTENTS do not support that feature.)
              -Report 31 added with top ten MSU hours for CICS DFHSIP.
              -Number of variables kept reduced to 68 from 1533; syntax
               CPU: and CPI: for TYPE30 kept TYPE70PR CPU: variables.

Change 33.117 -MXG 33.04. SMFSRCH found no records if USERADDS= was not
SMFSRCH        specified.  Logic added for USERADDS=NOUSERID was wrong.
UTILBLDP       Logic corrected, but USERADDS=XXXX/nnnn (even if _IDXXXX
May  6, 2015   is already defined in IMACKEEP) will circumvent.
              -It was also possible to skip all user record selection
               due to an ENDOFFILE test that is removed.
              -The TYPE30_D dataset (each DD in SMF 30) is not populated
               by MXG default, and although the only text is the DDNAME,
               since SMFSRCH is to find and print all SMF records found,
               new TY30UD argument is defined in UTILBLDP (default is
               blank), and TY30UD=YES default is set in SMFSRCH, so that
               dataset TYPE30_D will be populated if type 30 records are
               selected, or you can use TY30UD=NO in your SMFSRCH call
               to prevent any observations to be created in TYPE30_D.
              -ECHO=YES specified in SMFSRCH to always print the MXG
               created by UTILBLDP on the log.
              -In testing, an exposure was observed: multiple uses of
               the file INSTREAM caused text to be overridden, which did
               not cause an error, but some sites have made INSTREAM to
               be a permanent dataset, and this exposure could lead to
               errors for those sites.
               The //INSTREAM DD was intended to be temporary and used
               internally as the destination for writing SAS code that
               is then executed with %INCLUDE INSTREAM.  These members
               no longer use INSTREAM; instead, each writes/reads from
                FILENAME TMXGxxxx CATALOG 'WORK.MXGTEMP.TMXGxxxx.LOG';
               in the WORK file so no DD is required, and no conflict!
               A few members (notably UTILBLDP) do externalize INSTREAM,
               and they were not changed.
                ANALCOMP VMXGPRAL VMXGPRNT QAWPS8   QA94648 SAGANAL
                PRINTLOG ONLYJOBS ASUMMSUS ANALRRTM ANALPGM ANALCOMP
   Thanks to MP Welch, Bank of America, USA.

Change 33.116  Support for ZCOST AutoSoftCapping Version V3.0.00 adds
EXZCO02S       subtypes and data.  These are the datasets MXG creates:
EXZCO02W         DDDDDD    Dataset   Description
EXZCO04C          ZCO01     ZCOS01    ZCOST CPC
EXZCO04G          ZCO02     ZCOS02    ZCOST LPAR
EXZCO04L          ZCO02S    ZCOS02S   ZCOST SERVICE CLASS PERIOD
EXZCO04P          ZCO02W    ZCOS02W   ZCOST WLM INPORTANCE
EXZCO04R          ZCO03     ZCOS03    ZCOST SYSPLEX/CPC
VMACZCOS          ZCO04G    ZCOS04GP  ZCOST GENERAL PARMS
VMXGINIT          ZCO04C    ZCOS04CP  ZCOST CPC PARMS
May  5, 2015      ZCO04L    ZCOS04LP  ZCOST LPAR PARMS
May 28, 2015      ZCO04P    ZCOS04PG  ZCOST GENERAL PERIOD PARMS
                  ZCO04R    ZCOS04PL  ZCOST LPAR PERIOD PARMS
               This support was completed in MXG 33.06.

Change 33.115  Mainview for MQ BBMQBUFF dataset EFFICIENCY variables are
VMACBBMQ       now correctly input as RB4 instead of PIB. Variables are
Apr 29, 2015   SBPIAWPE SPBRAWPE SBPSAWPE.

Change 33.114  BMC IMF/CIMS variable CPUZIPTM was not KEPT in CIMSTRAN;
VMACCIMS       it was incorrectly in the CIMSDBDS dataset KEEP=list.
Apr 29, 2015   "zAAP" in Label changed to 'ZIP' (Feb 2006):
                 CPUZIPTM='CPU TIME*ON ZIP*ENGINES'
                 TRXZAOCP='CPU TIME*ZIP ELIGIBLE*RAN ON CP'
   Thanks to Betty Wong, Bank of America, USA.

Change 33.113  Some T102S106 variables (DB2 zPARM flags and values) were
FORMATS        misaligned, not INPUT, or had wrong/no decoding format.
VMAC102        Align: QWP2DMIN,QWP2DSEC
Apr 30, 2015   Format: Use $MGD361U for QWP4SECA1_TYPE, QWP4SECA2_TYPE
               Format: New $MGD106P for QWPBDL, QWPBSDL
               Input: QWP4S1IL for DB2 V10, was only V11 and wrong.
   Thanks to Lai Fai, Bank of America, USA.

====== Changes thru 33.112 were in MXG 33.04 dated Apr 29, 2015=========

Change 33.112 -Support for CICS/TS 5.3 OPEN BETA (INCOMPATIBLE) AND:
UTILEXCL       NOTE THAT 5.3 now sets STGPROT=YES as the IBM DEFAULT, to
VMAC110        INTENTIONALLY cause an ABEND for storage overlays caused
Apr 29, 2015   by dubious programming techniques where a task has
May  1, 2015   modified storage owned by another task.  These ABENDs
               will need application programmer design changes; the APP
               should have been fixed long ago - IBM is looking forward!
              -New variables (INCOMPATIBLE) inserted in CICSTRAN dataset
                  NCGETCN ='NAMED*COUNTER*SERVER*REQUESTS'
                  TSGETSCN='SHARED*TEMP*STORAGE*GETS'
                  TSPUTSCN='SHARED*TEMP*STORAGE*PUTS'
                  May 1: Original Note wrong here, NO ERROR in TSTOTCN.
              -New variables inserted in CICSRDQU dataset (MNSEGCL=5):
                 TSQGESTM='SHARED*TSQUEUE*GET*TIME'
                 TSQGESCN='SHARED*TSQUEUE*GET*COUNT'
                 TSQPUSTM='SHARED*TSQUEUE*PUT*TIME'
                 TSQPUSCN='SHARED*TSQUEUE*PUT*COUNT'
                 TSQGESBY='SHARED*TSQUEUE*GET*BYTES'
                 TSQPUSBY='SHARED*TSQUEUE*PUT*BYTES'
              -"WRITING OF PERFORMANCE DATA IS MORE EFFICIENT WHEN
               FIELDS ARE NOT EXCLUDED." was noted in a comment.

Change 33.111 -The ANALID report that tabulates SMF record types is
ANALID         enhanced to optionally invoke %UTILBLDP to create MXG
SMFSRCH        code to build all possible MXG datasets from ALL records
UTILBLDP       in the input SMF file, and to optionally run the program,
VMXGPRAL      -This change originally documented macro variables UTILBLD
VMXGINIT       VMXGPRA but they were removed in Change 33.117, unused.
Apr 27, 2015  -VMXGPRAL revised to print the LIB.DSNAME + LABEL without
May 27, 2015.  extra blanks and periods.
   Thanks to MP Welch, Bank of America, USA.

Change 33.110 -Support for TS7700 HYDRA Version 3.2A (COMPATIBLE)
EXBVR302       creates new BVIR302 dataset with the  Extended HSM Cache
FORMATS        Partition Container Statistics from subtype 30 record.
IMACBVIR      -Variables added to BVIR01 dataset:
VMACBVIR         THRUPUT AHEADCNT BEHNDCNT
VMXGINIT      -Changed records have BVIRVERS=6.
Apr 24, 2015
   Thanks to Tim Campbell, TELUS, CANADA.

Change 33.109 -Support for TYPE 23 zEDC variables SMF23BBC/SMF23BAC has
VMAC23         been corrected and validated.  Those two variables plus
Apr 23, 2015   SMF23PFT SMF23PFM SMF23PFH SMF23CWN SMF23NCN are now
               correctly aligned and are now output in dataset TYPE23LS
               and removed from dataset TYPE23.
              -Two new fields were documented in the z/OS 2.1 SMF Manual
               but IBM has confirmed they only exist in z/OS 2.2:
                 SMF23BBC='ZEDC*UNCOMPRESSEDSED*BYTES*TOTAL'
                 SMF23BAC='ZEDC*COMPRESSED*BYTES*TOTAL'
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 33.108  Support for APARs OA45944 and OA45897 which adds new data
VMAC42         for contention counts for record locks, component1 and
Apr 23, 2015   component2 locks:
              -New variables in dataset TYPE42S1:
                 SMF42FUA ='ACCUMULATION*WAITERS FOR*RECORD LOCK'
                 SMF42FUB ='RECORD LOCKS*HASHED TO*SAME ENTRY(/
                 SMF42FUD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
                 SMF42FUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMF42FUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42FUG ='LOCKS*HASHED TO*SAME*ENTRY'
              -New variables in dataset TYPE42S2:
                 SMF42FVA ='ACCUMLATION*WAITERS*FOR RECORD*LOCK'
                 SMF42FVB ='RECORD LOCKS*HASHED TO*SAME ENTRY'
                 SMF42FVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
                 SMF42FVE ='ACCUMULATION*WAITERS*FOR UPGRADELOCK'
                 SMF42FVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42FVG ='LOCKS*HASHED TO*SAME*ENTRY'
              -New variables in dataset TYPE42S3:
                 SMFA2FUA ='ACCUMULTION*WAITERS*FOR RECORD*LOCK'
                 SMFA2FUB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMFA2FOD ='ACCUMULTION*WAITERS*FOR DIWA*LOCK'
                 SMFA2FOE ='ACCUMULTION*WAITERS*FOR UPGRADE*LOCK'
                 SMFA2FOF ='ACCUMULTION*WAITERS*FOR COMP2*LOCK'
                 SMFA2FOG ='LOCKS*HASHED*TO SAME*ENTRY'
              -New variables in dataset TYPE42S4:
                 SMFA2FVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
                 SMFA2FVB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMFA2FVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
                 SMFA2FVE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMFA2FVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMFA2FVG ='LOCKS*HASHED*TO SAME*ENTRY'
              -New variables in dataset TYPE42D1:
                 SMF42GUA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
                 SMF42GUB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMF42GUD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
                 SMF42GUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMF42GUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42GUG ='LOCKS*HASHED*TO SAME*ENTRY'
              -New variables in dataset TYPE42D2:
                 SMF42GVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
                 SMF42GVB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMF42GVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
                 SMF42GVE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMF42GVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42GVG ='LOCKS*HASHED*TO SAME*ENTRY'
              -New variables in dataset TYPE42D3:
                 SMF42GUA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
                 SMF42GUB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMF42GUD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
                 SMF42GUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMF42GUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42GUG ='LOCKS*HASHED*TO SAME*ENTRY'
              -New variables in dataset TYPE42D4:
                 SMF42GVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
                 SMF42GVB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMF42GVD ='ACCUMULATION*WAITERS*FOR DIWA*LOCK'
                 SMF42GVE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMF42GVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42GVG ='LOCKS*HASHED*TO SAME*ENTRY'
              -New variables in dataset TYPE42L1:
                 SMF42HUA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
                 SMF42HUB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMF42HUD ='ACCUMULATION*WAITERS*FOR DIWA2*LOCK'
                 SMF42HUE ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMF42HUF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42HUG ='LOCKS*HASHED*TO SAME*ENTRY'
              -New variables in dataset TYPE42L2:
                 SMF42HVA ='ACCUMULATION*WAITERS*FOR RECORD*LOCK'
                 SMF42HVB ='LOCKS*HASHED*TO SAME*ENTRY'
                 SMF42HVC ='ACCUMULATION*WAITERS*FOR DIWA2*LOCK'
                 SMF42HVD ='ACCUMULATION*WAITERS*FOR UPGRADE*LOCK'
                 SMF42HVF ='ACCUMULATION*WAITERS*FOR COMP2*LOCK'
                 SMF42HVG ='LOCKS*HASHED*TO SAME*ENTRY'

Change 33.107 -DB2PM-like reports PMACC02/4 class 3 delay section was
ANALDB2R       missing TCP/IP LOB and the global contention corrected
Apr 26, 2015   from only parent locks to include all contention delays.
              -In PMAUD02 there were uninitialized variables corrected.
              -The z/OS external sort can not be used if the length of
               an observation is greater than 32760 bytes, and many of
               the DB2 102 records contain 32K SQL Text variables.
               For the AUDIT reports, the SQL text is reduced to 80
               bytes, since that is all IBM's DB2PM reports, and the
               full text is still in the T102Snnn dataset.
              -If you asked for AUTHCHG in the AUDIT= parameter and
               there were any IFCID 83 records the selection criteria
               were not applied and that caused missing timestamps in
               the report headers.
              -If there were 0 OBS in the IFCID 142 dataset then a
               a work file was not cleaned up.
    Thanks to Neil Ervin, Wells Fargo, USA

Change 33.106  New variable EXCMTYPE in CICSEXCE (Exception) dataset
FORMATS        is created to describe the exception event:
VMAC110           1='DATABASE REQUEST POLICY RULE'
Apr 22, 2015      2='FILE REQUEST'
                  3='PROGRAM REQUEST'
                  4='START REQUEST'
                  5='STORAGE REQUEST'
                  6='SYNCPOINT REQUEST'
                  7='TD QUEUE REQUEST'
                  8='TIME REQUEST'
                  9='TS QUEUE REQUEST'
                  10='WAIT FOR CF LOCKING REQUEST'
                  11='WAIT FOR CF NON-LOCKING REQUEST'
                  12='WAIT FOR UDSA'
                  13='WAIT FOR EUDSA'
                  14='WAIT FOR CDSA'
                  15='WAIT FOR ECDSA'
                  16='WAIT FOR SDSA'
                  17='WAIT FOR ESDSA'
                  18='WAIT FOR RDSA'
                  19='WAIT FOR ERDSA'
                  20='WAIT FOR GCDSA'
                  21='WAIT FOR GUDSA'
                  22='WAIT FOR GSDSA'
                  23='WAIT FOR TEMPORARY STORAGE'
                  24='WAIT FOR STRING FOR FILE'
                  25='WAIT FOR STRING FOR LSRPOOL'
                  26='WAIT FOR STRING FOR DFHTEMP'
                  27='WAIT FOR BUFFER FOR LSRPOOL'
                  28='WAIT FOR BUFFER*FOR DFHTEMP'
   Thanks to Bahman Nejad, Union Bank, USA.
   Thanks to Perry Lim, Union Bank, USA.

Change 33.105  Using PROC CPORT to copy z/OS data libraries to ASCII can
IMACFMTS       corrupt values in character variables with $HEX format if
UTILCVRT       those variables did not have the TRANSCODE=NO attribute
Apr 21, 2015   set, or they were built with an ancient SAS version prior
               to that attribute.  If you have downloaded PDBs and see
               $HEX variables are wrong (check CPUTYPE in TYPE70), the
               UTILCVRT program can be used to convert those $HEX vars
               back to their correct values. Maybe. The default mapping
               table is the $MGAS2EB format in FORMATS, using a table
               created in 2009 for PROC CPORT translation, replacing an
               earlier table created from IND$FILE.  However, now using
               the CPORT table under both Windows and Linux does NOT map
               characters correctly; the alternative $MGAS2EB table from
               IND$FILE must be used. That alternative format is defined
               in Example 2 in a comment block in the IMACFMTS member.
               Copy IMACFMTS to your USERID.SOURCLIB, remove the comment
               block in Example 2, and run the FORMATS step of JCLINSTL
               (%INCLUDE SOURCLIB(FORMATS); with DISP=OLD on //LIBRARY)
               and the alternative table values will be used.
    Thanks to Warren Cravey, Fidelity, USA.
    Thanks to Rachel Holt, Fidelity, USA.

Change 33.104  NMON CPU records can now contain three digits, CPU001, so
VMACNMON       the logic to create CPUNR now decodes two or three digits
Apr 21, 2015   for CPUnnn, PCPUnnn and SCPUnnn.
   Thanks to Raissa Moussu, METROLOGFIE AIX EN PROVENCE, FRANCE.

Change 33.103  VMXGPRAL (PRINT/MEAN/FREQ ALL datasets &ALL variables in
VMXGPRAL       a "PDB" data library, with both Label and Variable Name)
Apr 15, 2015   enhanced for FREQ with TABLE= option to choose what
               variables are tabulated.  TABLES=_CHAR_, will only show
               the character variables.  Without the TABLES= argument,
               all variables will be tabulated.
   Thanks to MP Welch, Bank of America, USA.

Change 33.102A Support for SYNCSORT Release 2.1 (INCOMPATIBLE, test for
VMACSYNC       SYNCLVL for ancient Release 3.7 conflicted) causing many
Apr 15, 2015   variables to be missing values with no error message,
               notably, CPUZIPTM is a missing value without this change.
   Thanks to Roger Foreman, Transunion, USA.

Change 33.102  DB2 V10 INVALID DATA FOR QLACCPUR and QLACDBAT when field
VMACDB2        QLACLOCN was relocated because it's longer than 8 bytes,
Apr 14, 2015   but the length of the relocated field in XLENLOCN is NOT
               in LENLOCN causing misalignment when XLENLOCN GT 20.
   Thanks to Betty Wong, Bank of America, USA.

Change 33.101  Support for iSeries 7.2 (COMPATIBLE with new LRECLS).
VMACQACS       Comments in VMACQACL list LRECLs and 7.2 records tested.
Apr 13, 2015  -New variables in QAPMDISK:
                 DSLVLMP ='LEVEL OF*MIRRORED*PROTECTION'
                 DSLSCNDS='LOG*SENSE*COMMANDS*ISSUED'
                 DSLSRT  ='LOG*SENSE*RESPONSE*TIME'
              -New variables in QAPMJOBM (QAPMJOBMI):
                 JBTNAME     ='THREAD*NAME'
                 JBSLTCNT    ='SHORT*LIFESPAN*ENTRY*COUNT'
                 JBSACPU     ='ACCUMULATED*JOB*SCALED*CPU TIME'
                 JBINDCPU    ='THREAD*UNSCALED*CPU TIME*USED'
                 JBSINDCPU   ='THREAD*SCALED*CPU TIME*USED'
                 JBCPUWC     ='PROCESSOR*ELAPSED*TIME'
                 JBVPDLY     ='VIRTUAL*PROCESSOR*DELAY*TIME'
                 JBSEIZECNT  ='SIEZE*COUNT'
                 JBPSLCKCNT  ='PROCESS*SCOPED*LOCK*COUNT'
                 JBTSLCKCNT  ='THREAD*SCOPED*LOCK*COUNT'
                 JBPSRCDLCK  ='PROCESS*SCOPED*DATABASE*LOCK*COUNT'
                 JBTSRCDLCK  ='THREAD*SCOPED*DATABASE*LOCK*COUNT'
                 JBNFOGDT    ='OFF-GROUP*DISPATCH*TIME'
                 JBNFOGMA    ='OFF-GROUP*PAGE*FRAMES'
                 JBPGEZSTL   ='PAGES*MARKED*EASY TO*STEAL'
                 JBSQLCLK    ='SQL*CLOCK*TIME'
                 JBSQLCPU    ='THREAD*UNSCALED*SQL*TIME'
                 JBSQSCPU    ='THREAD*SCALED*SQL*CPU TIME'
                 JBSQLDBR    ='SQL*SYNCHRONOUS*DATABASE*READS'
                 JBSQLNDBR   ='SQL*SYNCHRONOUS*NONDATABASE*READS'
                 JBSQLDBW    ='SQL*SYNCHRONOUS*DATABASE*READS'
                 JBSQLNDBW   ='SQL*SYNCHRONOUS*NONDATABASE*READS'
                 JBSQLADBR   ='SQL*ASYNCHRONOUS*DATABASE*READS'
                 JBSQLANDBR  ='SQL*ASYNCHRONOUS*NONDATABASE*READS'
                 JBSQLADBW   ='SQL*ASYNCHRONOUS*DATABASE*WRITES'
                 JBSQLANDBW  ='SQL*ASYNCHRONOUS*NONDATABASE*WRITES'
                 JBAGCRT     ='ACTIVATION*GROUPS*CREATED'
                 JBPGMSACT   ='PROGRAM*ACTIVATIONS*CREATED'
                 JBCURTMP    ='CURRENT*TEMPORARY*STORAGE'
                 JBPEAKTMP   ='PEAK*TEMPORARY*STORAGE'
                 JBMAXTMP    ='MAXIMUM*TEMPORARY*STORAGE'
                 JBTMPPGA    ='4K UNITS*ALLOC*TEMPORARY*STORAGE'
                 JBTMPPGD    ='4K UNITS*DEALLOC*TEMPORARY*STORAGE'
                 JBHSQLSTMT  ='HIGH*LEVEL*SQL*STATEMENTS'
                 JBTICC      ='THREAD*INSTRUCTION*COUNT*CHARGED'
                 JBTICU      ='THREAD*INSTRUCTION*COUNT*USED'
                 JBTTMBU     ='THREAD*VIRTUAL*TIME'
                 JBPICC      ='PROCESS*HDW INSTR*COUNT*CHARGED'
                 JBPRRSCPTY  ='PROCESSOR*RESOURCE*PRIORITY'
              -New variables in QAPMJOBO (QAPMJOBOS):
                 JBFSOPN  'FILE*SYSTEM*OPENS''
                 JBFSDC   'FILE*SYSTEM*DIRECTORY*CREATES'
                 JBFSNDC  'FILE*SYSTEM*NON-DIRECTORY*CREATES*
                 JBFSDD   'FILE*SYSTEM*DIRECTORY*DELETES'
                 JBFSNDD  'FILE*SYSTEM*NON-DIRECTORY*DELETES*
                 JBSPLFC  'SPOOLED*FILES*CREATED*BY THIS JOB*
                 JBSBMJOBS'JOBS*SUBMITTED*OR SPAWNED.'
                 JBSQLSTMT'SQL*STATEMENTS'
                 JBLWTSQL 'SQL*RELATED*DATABASE*WRITES*(LOGIC
                 JBLRDSQL 'SQL*RELATED*DATABASE*READS*(LOGICA
                 JBDBUSQL 'SQL*RELATED*DATABASE*MISCELLANEOUS
                 JBPASCMP 'SQL*PAS*COMPRESSIONS*ALL THREADS'
                 JBPKGCMP 'SQLPKG*COMPRESSIONS'
                 JBCTHD   'CONNECTED*THREAD*IDENTIFIER'
                 JBCJNAM  'CONNECTED*JOB*NAME'
                 JBCJUSR  'CONNECTED*JOB*USER'
                 JBCJNBR  'CONNECTED*JOB*NUMBER'
              -New variables in QAPMPOLB (QAPMPOOLB):
                 POPGS4    ='POOL*4K*PAGES'
                 POPGS64   ='POOL*64K*PAGES'
                 PODBF4    ='POOL*DATABASE*4K*PAGE*FAULTS'
                 PODBF64   ='POOL*DATABASE*64K*PAGE*FAULTS'
                 PONDBF4   ='POOL*NONDATABASE*4K*PAGE*FAULTS'
                 PONDBF64  ='POOL*NONDATABASE*64K*PAGE*FAULTS'
                 PODBPG4   ='POOL*DATABASE*4K*PAGES*READ'
                 PODBPG64  ='POOL*DATABASE*64K*PAGES*READ'
                 PONDPG4   ='POOL*NONDATABASE*4K*PAGES*READ'
                 PONDPG64  ='POOL*NONDATABASE*64K*PAGES*READ'
                 POUNAL4   ='UNALLOCATED*4K*PAGES'
                 POUNAL64  ='UNALLOCATED*64K*PAGES'
                 POAGED4   ='POOL*4K*PAGES*AGED/
                 POAGED64  ='POOL*64K*PAGES*AGED'
                 POSTLN4   ='POOL*4K*PAGES*STOLEN'
                 POSTLN64  ='POOL*64K*PAGES*STOLEN'
                 POUNUSE4  ='POOL*4K*PAGES*UNUSED'
                 POUNUSE64 ='POOL*64K*PAGES*UNUSED'
                 POSYNC4   ='POOL*4K*PAGE*SYNC I/O'
                 POSYNC64  ='POOL*64K*PAGE*SYNC I/O'
                 POASYNC4  ='POOL*4K*PAGE*ASYNC I/O'
                 POASYNC64 ='POOL*64K*PAGE*ASYNC I/O'
                 POPGOUT4  ='POOL*4K*PAGE*OUTS'
                 POPGOUT64 ='POOL*64K*PAGE*OUTS'
                 POPGABLE4 ='POOL*4K*PAGES*PAGEABLE'
                 POPGABLE64='POOL*64K*PAGES*PAGEABLE'
                 POATMPT4  ='POOL*4K*ALLOCATION*ATTEMPTS
                 POATMPT64 ='POOL*64K*ALLOCATION*ATTEMPTS
                 POAPS4    ='POOL*4K*AFFINITY*SUCCESSES
                 POAPS64   ='POOL*64K*AFFINITY*SUCCESSES
                 POAPMIG4  ='POOL*4K*AFFINITY*MISSES
                 POAPMIG64 ='POOL*64K*AFFINITY*MISSES
                 POAPMOG4  ='POOL*4K*AFFINITY*MISSES*OFFGROUP'
                 POAPMOG64 ='POOL*64K*AFFINITY*MISSES*OFFGROUP'
                 POCRTPG64 ='POOL*4K*PAGES*CREATED'
                 POBRKPG64 ='POOL*64K*PAGES*BROKEN*UP'
                 POPOSIZB  ='POOL*SIZE*KB'
                 POUNALB   ='UNALLOCATED*POOL*SPACE*KB'
              -New variables in QAPMSYST (QAPMSYSTEM):
                 SYVPID    ='VIRTUAL*SHARED*POOL ID'
                 SYVPCAP   ='VIRTUAL*SHARED POOL*ENTITLED*CAPACITY'
                 SYPPLU    ='PHYSICAL*SHARED POOL*CPU TIME*USED'
                 SYPPLA    ='PHYSICAL*SHARED POOL*CPU TIME*AVAILABLE'
                 SYPTHV    ='HYPERVISOR*CPU*TIME'
                 SYPTINT   ='INTERRUPT*CPU*TIME'
                 SYPTWS    ='WAITTASK*TIME'
                 SYPTDN    ='DONATED*CPU*TIME'
                 SYSSPTU   ='SCALED*CPU*TIME*USED'
                 SYUCAPF   ='PARTITION*UNCAPPED*FLAG'
                 SYDONF    ='PARTITION*DONATION*FLAG'
                 SYPTWAIT  ='VIRTUAL*PROCESSOR*THREAD WAIT*EVENT TIME'
                 SYPTREADY ='VIRTUAL*PROCESSOR*THREAD WAIT*READY TIME'
                 SYPTLATEN ='VIRTUAL*PROCESSOR*THREAD DISPATCH*LATENCY'
                 SYPTACT   ='VIRTUAL*PROCESSOR*THREAD*ACTIVE TIME'
                 SYPTIDLE  ='VIRTUAL*PROCESSOR*THREAD*IDLE TIME'
                 SYPTINTR  ='VIRTUAL*PROCESSOR*THREAD*INTERRUPT TIME'
                 SYFRMCPU  ='PROCESSOR*FIRMWARE*TIME USED'
                 SYFRMSCPU ='PROCESSOR*SCALED*FIRMWARE*TIME USED'
                 SYPFOLDSW ='PROCESSOR*FOLDING*SWITCH*STATE'
                 SYPFOLDST ='PROCESSOR*FOLDING*STATE'
                 SYEMMAJCDE='ENERGY*MANAGEMENT*MAJOR CODE'
                 SYEMMINCDE='ENERGY*MANAGEMENT*MINOR CODE'
                 SYEMATTR  ='ENERGY*MANAGEMENT*ATTRIBUTES'
                 SYEMPWRLMT='ENERGY*MANAGEMENT*POWER DRAW*LIMIT WATTS'
                 SYSQLCPU  ='UNSCALED*SQL*CPU TIME*USED'
                 SYSQLSCPU ='SCALED*SQL*CPU TIME*USED'
                 SYOSTMP   ='CURRENT*TEMPORARY*STORAGE*ALLOCATED*NONDB'
                 SYDBTMP   ='CURRENT*TEMPORARY*STORAGE*ALLOCATED*DB'
                 SYAJOBTMP ='CURRENT*TEMPORARY*STORAGE*CHARGED*ACTIVE'
                 SYEJOBTMP ='CURRENT*TEMPORARY*STORAGE*CHARGED*EMDED'
                 SYUSERTMP ='CURRENT*USER*TEMPORARY*STORAGE'
                 SYPSLPU   ='PHYSICAL*SHARED POOL*SCALED*CPU TIME*USED'
                 SYTRUNIC  ='HARDWARE*INSTRUCTIONS'
                 SYTRUNVTB ='NON-IDLE*PROCESSOR*VIRTUAL*TIME'
                 SYTITUIC  ='INTERRUPT*INSTRUCTION*COUNT'
                 SYTFRMIC  ='FIRMWARE*INSTRUCTION*COUNT'
   Thanks to Raymond J. Smith, United Health Group, USA.

Change 33.100 -Protect RMF III for invalid ASI table index in UWD table
ASMRMFV        entry that caused ABEND S0C4 in FINDAS when the invalid
Apr 12, 2015   index value was really bad, i.e., it exceeded the number
               of entries in the ASI table and an attempt was made to
               access data from well beyond the ASI table's end.
    Thanks to Randy Schlueter, First Data Corporation, USA

Change 33.099  MXG 32.13-MXG 33.03.  TMON/CICS Version 3.4 AND EARLIER.
VMACTMO2      -Dataset MONITASK CPU time (TASCPUTM) and ALL DURATION
Apr 11, 2015   variables are WRONG, TOO SMALL, by a factor of 4096.
               In TMON Version 4, all durations were changed from the
               original microseconds to TODSTAMP, which requires the
               division by 4096, but the MXG code inserted for MONITASK
               was mis-located and applied to all TMON versions.
              -Less critical, and wrong ONLY with Version 4 records: ALL
               duration variables in all OTHER MONIxxxx datasets were
               NOT divided by 4096, so they are TOO LARGE by 4096.
   Thanks to Andrew Petersen, CSC, AUSTRALIA.

Change 33.098  NMON (AIX/LINUX) CPU variables in PDB.NMONCPUD and in the
VMACNMON       PDB.NMONINTV were revised and missing values corrected.
Apr 10, 2015   The individual CPUNR data in PDB.NMONCPUD from the three
               CPUnn, PCPUnn, and SCPUnn records are the variables
               prefixed with CPUNxxxx,PCPUNxxxx,SCPUNxxxx with suffixes
               BUSY,IDLE,SYS,USER,WAIT.
               The interval CPU_ALL, PCPU_ALL, and SCPU_ALL record's
               in PDB.NMONINTV are prefixed PCPUxxxx,APCPUxxxx,ASCPUxxxx
               with the same suffixes (plus variable APCPUENTCAP).
               The BUSY variables are calculated for all observations.
   Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.

Change 33.097 -SMFSRCH utility (select SMF records containing text and
SMFSRCH        create all MXG datasets from those selected records) adds
Apr  9, 2015   new PRINT= option with YES/NO/nnn to print all, none, or
               the first nnn observations of each dataset.  The PRINTIT=
               argument's YES or NO are still supported, but the PRINT=
               argument is the more common spelling in MXG macros.
              -Set USERADDS=NOUSERID, and all matching SMF types are
               reported, but the 128-255 USER SMF records are skipped,
               This avoids an abend if not all of your USER records are
               mapped in IMACKEEP, MACKEEP, OR USERADDS= argument.
   Thanks to MP Welch, Bank of America, USA.

Change 33.096 -z13 with SMT PROCVIEW=CORE, dataset TYPE70PR, variable
VMAC7072       SMT_NUM, the count of threads for each core, wasn't kept.
Apr 12, 2015  -TYPE70PR variable SMF70MTTT, MULTI-THREADING*IDLE*TIME,
               which is actually SMF70MTIT mis-spelled, is accumulated,
               requiring an additional sort and DIF() to deaccumulate.
               As is ALWAYS the case when IBM writes ACCUMULATED values,
               the value for the first instance of each LCPUADDR in each
               LPAR will be a missing value.  Some cases when the next
               accumulated value was slightly smaller than the prior are
               also set to missing value, but if they occur in your data
               a PMR should be raised with IBM support.  The label for
               SMF70MTTT now contains 'SMF70MTIT' to compensate.
   Thanks to Don Deese, Computer Management Sciences, USA.

Change 33.095  Optional SUMMARY=SMFBYTES/SMFRECNT argument will produce
ANALID         a report sorted by DESCENDING &SUMMARY to print largest
Apr  3, 2015   first.

Change 33.094  Format MGSMFID did not describe SMF 115 records subtypes
FORMATS        5, 6, and 7.
Apr  3, 2015
   Thanks to Paul Bennett, Euroclear, BELGIUM.
   Thanks to Edmond Dierickx, Euroclear, BELGIUM.

Change 33.093  MXG 33.03. Disabled debug statement  *PUTLOG +2 'DEBUG..;
VMAC7072       was followed by an unmatched */, but there was no syntax
Apr  3, 2015    error, because SAS recognized the asterisk as the start
               of another comment, that ended with the semicolon of the
               next statement, HOLICFTM=ICFACTTM;, so that statement was
               absorbed and not executed.  Fortunately, only ICF time in
               some unusual circumstances, when the time had to be held,
               might have been impacted.
   Thanks to MP Welch, Bank of America, USA.

Change 33.092 -Some BBBPnnn variables were mis-assigned values: BBBP040
VMACNMON       and BBBP049 because the BBBP40 'MAXIMUM CAPACITY' text
Apr  8, 2015   overlapped with BBBP49 'MAXIMUM CAPACITY OF POOL'.  All
               text tests are expanded to prevent the overlap.
              -The MERGE of CPUD/CPUNP/CPUNS datasets had DUPLICATE
               MERGE VARIABLES when the number of CPUs (observations)
               in those datasets were not equal.  Since CPUD has the
               the primary CPU metrics, the MERGE was split into two
               steps, first the three CPUD/CPUNP/CPUNS with CPUNR added
               to the BY list, and now OUTPUT only if CPUD is present,
               whether or not the other two datasets are present for
               this CPUNR.  Then the second step MERGES the output with
               SNAPMAP to create PDB.NMONCPUD with the CPU metrics for
               each CPUNR.
              -Diagnostic tests for DISKBUSY counter errors corrected.
   Thanks to Raissa Moussu, METROLOGFIE AIX EN PROVENCE, FRANCE.

Change 33.091  Support for CICS User fields USERAGT, ORIGUOW, and
IMACAAAA       ORIGTGID.
IMACICVM
IMACICVN
IMACICVO
UTILEXCL
VMAC110
Apr  2, 2015
   Thanks to Rob Hollingum, HSBC, ENGLAND.

Change 33.090  Mainview for MQ PTFs corrected the Offset ENTO value from
VMACBBMQ       the always incorrect prior value of 28 for BBMQQUES 'E6'
Apr  2, 2015   to the correct value of 32, but this is an INCOMPATIBLE
               change which mis-aligned MXG input, because MXG has known
               to skip over those four bytes.  Logic revised to support
               either value since the records are otherwise unchanged.
               BPL2458(MVMQ51) and BPL2459(MVMQ52) were the PTFs.
   Thanks to Jim Swinarski, Credit-Suisse, USA.

Change 33.089  Not Used.

Change 33.088  Some duration variables in RMF III ZRBxxxx datasets still
VMACRMFV       had TIME12.2 format but have millisecond resolution, so
Apr  1, 2015   they are all changed to TIME13.3 to show all decimals.

Change 33.087 -RMF Type 74 Subtype 9 zEDC Hardware Accelerator support.
VMAC74         The TYPE749 dataset was created with RMF 2.1 support back
Apr  1, 2015   in Change 31.153, but that INPUT was inhibited, awaiting
May  4, 2015   test records, and this update has been validated with
May  6, 2015   zEDC PCIE type 74 subtype 9 records.
              -May  4: Variables R7491IIS and R74i1IOS corrected to add
               II2 and IO2 instead of II1 and IO1.
              -May  6: Variables R7491BPS and R7491BPC were incorrectly
               multiplied in conversion to bytes - way too large.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 33.086  Support for Velocity Software zVPS a/k/a XAM Version 5.4.
VMACXAM        Status April 9:
Apr  7, 2015  -All updates have been made with these exceptions:
EXXAMIFL        Segments not documented, have data records, skipped:
EXXAMIFT         TCP: LINMEM LINCPU LINITF
VMXGINIT         DEV: IODSZI
Apr  9, 2015    New Segments, no data, not skipped, will print msg.
Apr 23, 2015       TCP:ORASYS ORAPGA ORASGA ORAWTS
                   VSECFG VSESYS VSECPU JVMSYS
              -INFILE XAMCPU changes:
                 NEW dataset XAMIFLBY for individual IFL engine stats.
                 NEW dataset XAMIFLTO for TOTAL IFL engine stats.
              -INFILE XAMUSR changes:
              -New variables in USRCON segment added to dataset XAMUSR:
                 CALCFGEM ='CALICFCT'
                 CALCPCT  ='CALCPCT'
                 CALICFCT ='CALICFCT'
                 CALIFLCT ='CALIFLCT'
                 CALZAPCT ='CALAZPCT'
                 CALZIPCT ='CALZIPCT'
                 LIMPOOL  ='POOL*NAME*USER IS*ASSIGNED'
                 RDMMMASK ='LGR*DMN*BITMASK*SSI SLOTS'
                 RDMNAME  ='LGR*DOMAIN*FROM*USEACT'
                 RELO1    ='CAUSED*BY*LGR?'
                 RLOMVOPT ='LGR*FLAG*BYTE'
                 SSHABSSH ='ABSOLUTE*SHARE'
                 SSHFLG1  ='SSHFLG1*SHARE*FLAG'
                 SSHLIMH  ='LIMIT IS*HARD?'
                 SSHMXLSH ='MAXIMUM*SHARE'
                 SSHMXSHA ='MAX*SHARE*IS IN*ABS?'
                 SSHNMSHA ='NORMAL*SHARE*IS IN*ABS?'
                 SSHRELSH ='RELATIVE*SHARE'
                 VMDIDENT ='IDENTITY*VMDBK?'
                 VMDREOFL ='REORDER ON?'
                 VMDREOFL1='VMDREOFL1*FLAG'
                 VMDRLLST ='DATETIME*WHEN*LGR*ADDED'
                 VMDRLOLG ='ORIGINAL*MEMBER*LOGGED ON'
                 VMDRLSRC ='NAME FROM*WHERE LAST*LGR'
              -New variables in USRACT segment added to dataset XAMUSR:
                 AGLA2G      ='PRIVATE AGELIST >2GB'
                 AGLB2G      ='PRIVATE AGELIST <2GB'
                 CALCPFNR    ='PGS IBR WRITTEN, REREF'
                 CALCPFRY    ='PGS IBR BACKED'
                 CALCPINT    ='PRIVATE PAGES INSTANTD'
                 CALCPINV    ='PGS MADE IBR'
                 CALCPPFA    ='PGS RE-REFD AGELIST'
                 CALCPPFI    ='PGS RE-REFD IBR'
                 CALCPREL    ='PGS RELEASE DAG10/214'
                 CALCPXRL    ='PGS XSTORE RELEASED'
                 CALCTXBK    ='EXSTOR PG BLOCKS'
                 CALDSPCT    ='COUNT TIMES DISPATCHED'
                 CALDWTCT    ='COUNT READY TO BE DISPATC'
                 IBRA2G      ='PRIVATE IBR PGS < 2GB'
                 IBRB2G      ='PRIVATE IBR PGS <2GB'
                 INS         ='PRIVATE PAGES'
                 RABISA2G    ='NON REF'D PGS > 2GB'
                 RABISB2G    ='NON REF'D PGS < 2GB'
                 VMACPSN     ='VMACPSN'
                 VMAIIA      ='IPTE ILOCK ACQ'S METHOD 2'
                 VMAIIADD    ='IPTE ILOCK ADDED HOST SHR'
                 VMAIIHLD    ='TIME HOST SHARES HEALD'
                 VMAIINHLD   ='INTERVALS HOST SHARES HLD'
                 VMAIIWTM    ='TIME WAITING IPTE ILOCK'
                 VMAIPTEI    ='IPTE ILOCK ACQUISITIONS'
                 VMATTIME_PRO='VMATTIME_PRO'
                 VMATTMP_PRO ='VMATTMP_PRO'
                 VMATTMS_PRO ='VMATTMS_PRO'
                 VMAVTIME_PRO='VMAVTIME_PRO'
                 VMAVTMP_PRO ='VMAVTMP_PRO'
                 VMAVTMS_PRO ='VMAVTMS_PRO'
                 VMDCACHN    ='MDC INSERTS'
                 VMDCPUCH    ='SIE INTERUPTS'
                 VMDCRPGM    ='REFERENCED PGMBK'
                 VMDCTSTA    ='SIGP STARTS'
                 VMDCTSTO    ='SIGP STOPS'
                 VMDCUPGM    ='UNREFERENCED PGM'
                 VMDDSRSV    ='TIMES LIMIT SET RESRVD'
                 VMDDTPLX    ='DETACH COMMANDS SSI'
                 VMDDTTOD    ='SSI DETACH CMD VTIME'
                 VMDDTTOT    ='DETACH COMMANDS'
                 VMDLKPLX    ='LINK COMMAND, SSI'
                 VMDLKTOD    ='SSI LINK CMD VTIME'
                 VMDLKTOT    ='LINK COMMANDS,'
                 VMDPBKCT    ='PGMBK COUNT'
                 VMDSSIZE    ='VMDSSIZE'
                 VMDSTFHW    ='HI WATER STEAL WEIGHT'
                 VMDSTLFC    ='STEAL WEIGHT FACTOR'
                 VMDTMORD    ='PGMBK REORDERED'
                 VMDTTIME_MT1='VMDTTIME_MT1'
                 VMDTTMP     ='TOT TCPU PRIMARY CPU'
                 VMDTTMP_MT1 ='VMDTTMP_MT1'
                 VMDTTMS     ='TOT TCPU SECONDARY CPU'
                 VMDTTMS_MT1 ='VMDTTMS_MT1'
                 VMDUFACTC   ='FRAMES OF UFO ACTIVE'
                 VMDUFIBRC   ='FRAMES OF IBR'
                 VMDUFOLKCT  ='UFO SPIN LOCK COUNT'
                 VMDUFOLKTM  ='UFO SPIN LOCK TIME'
                 VMDVTIME_MT1='VMDVTIME_MT1'
                 VMDVTMP     ='TOT VCPU PRIMARY CPU'
                 VMDVTMP_MT1 ='VMDVTMP_MT1'
                 VMDVTMS     ='TOT VCPU SECONDARY CPU'
                 VMDVTMS_MT1 ='VMDVTMS_MT1'
                 VMDWASTE    ='TIMES PGFLTS AGELIST'
                 VMDWKPLX    ='WRKALLEG COUNTS, SSI'
                 VMDWKTOD    ='VTIME, WRKALLEG SSI'
                 VMDWKTOT    ='WRKALLEG COUNTS'
                 VMUDSPETM   ='TIME DISPATCHED'
                 VMUDWTETM   ='TIME READY TO BE DISPATCH'
                 VMUNREBAL   ='CONFIG REBALANCES'
                 VMUREBAL    ='VMUREBAL'
                 VMUVMLTL0='1ST*TOPOLOGY*STEALS'
                 VMUVMLTL1='2ND*TOPOLOGY*STEALS'
                 VMUVMLTL2='3RD*TOPOLOGY*STEALS'
                 VMUVMLTL3='4TH*TOPOLOGY*STEALS'
                 VMUVMLTL4='5TH*TOPOLOGY*STEALS'
                 VMUVMLTL5='6TH*TOPOLOGY*STEALS'
                 VMUVMTL0='1ST*TOPOLOGY*MOVES*FOR WORK'
                 VMUVMTL1='2ND*TOPOLOGY*MOVES*FOR WORK'
                 VMUVMTL2='3RD*TOPOLOGY*MOVES*FOR WORK'
                 VMUVMTL3='4TH*TOPOLOGY*MOVES*FOR WORK'
                 VMUVMTL4='5TH*TOPOLOGY*MOVES*FOR WORK'
                 VMUVMTL5='6TH*TOPOLOGY*MOVES*FOR WORK'
              -INFILE XAMCPU changes:
                Known problem, to be corrected in zVPS next iteration:
                  IFL records have only CPUID='IFLs' with TOTAL values.
                  There are no CPUID='IFLnnn' records for each IFL, and
                  the values in that CPUID='IFLs' record are the same as
                  the values in the CPUID='TOTAL' record.
              -New variables in SYTSYP segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 PLSPAGPS='COUNT*SSCH*FOR PG/SPOOL'
                 PLSSTKPE='ETS*DROP*COUNT'
                 PLSTMRCE='GUEST*ENABLE*COUNT'
                 PLSPRVSC='SVC*INTERUPT*COUNT'
              -New variables in SYTPRP segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 CPUCOUNT='CPU*COUNTS*FOR NCPU+1'
                 PFXFST44='SIMULATION*DIAG44'
                 PFXFSTPX='PARTIAL*EXECUTION*INTERUPTS'
                 PFXFSTSG='SIMULATION*SIGP'
                 PFXFSTXC='REFLECTIONS*GUEST*EXTERN '
                 PLS9CDSP='ALREADY*DISPATCHED'
                 PLS9CNR ='VMDSTATE*LT*VMDREADY'
                 PLS9CSWT='AND*SOFT*WAIT'
                 PLS9CWT ='AND*IN WAIT*STATE'
                 STEALPCT='LPAR*STEAL*TIME'
              -New variables in SYTRSP segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 PLSALECL='LT*2GB*LIST'
                 PLSALECG='GT*2GB*LIST'
              -New variables in SYTCOM segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 PLSIUCVT='TOTAL*IUCV*COUNT'
                 PLSISEVS='VSWITCH*TO A VM*SUCCESS'
                 PLSISTVS='VM TO A*VSWITCH*SUCCESS'
                 PLSISUVS='FAILED*VSWITCH IUCV'
                 PLSISEAS='ASYNCMD*TO A VM*SUCCESS'
                 PLSISTAS='VM TO A*ASYNCMD*SUCCESS'
                 PLSISUAS='FAILED*ASYNCMD IUCV'
                 PLSISESC='SCLP TO A*VM*SUCCESS'
                 PLSISTSC='VM TO A*SCLP*SUCCESS'
                 PLSISUSC='FAILED*SCLP*IUCV'
                 PLSISEVE='VMEVENT*TO A VM*SUCCESS'
                 PLSISTVE='VM TO A*VMEVENT*SUCCESS'
                 PLSISUVE='FAILED*VMEVENT*IUCV'
              -New variable in SYTSCP segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 PLSDSPCN='100*LOOP CNT*ON*&SCHED LCK'
              -New variable in STORSP segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 PLSASFCG='TIMES*ONE PAGE*FROM*GT 2G*LIST'
                 PLSASFCL='TIMES*ONE PAGE*FROM*CONTIG*LIST'
                 PLSESSA ='ESSA*INSTRUCTION*COUNT'
                 PLSLTDPE='LONG TERM*DORM*EMERGENCY*PASSES'
                 PLSPCPAG='CMM*MAYBE*VOLATILE*STOLEN'
                 PLSPUPAG='CMM*MAYBE*VOLATILE*UNCH PGS*STOLEN'
                 PLSUPAGE='CMM*UNUSED*STOLEN'
                 PLSUPREC='CMM*UNUSED'
                 PLSVPAGE='CMM*VOLATILE*STOLEN'
              -New variable in PRCMFC segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 CCFCPUSP   ='CPU*SPEED '
                 CYCLECNT   ='CYCLE*COUNT*NOT IN*WAIT'
                 INSTRCNT   ='INSTRUCTIONS*EXECUTED'
                 L1ICACHW   ='LEVEL 1*ICACHE*DIRECTORY'
                 L1IPENAL   ='L1*PENALTY*CYCLE*COUNT'
                 L1DCACHW   ='LEVEL 1*DCACHE*DIRECTORY'
                 L1DPENAL   ='L1*PENALTY*CYCLE*COUNT'
                 PCYCLECNT  ='CYCLE*COUNT*NOT IN*WAIT'
                 PINSTRCNT  ='INSTRUCTIONS*EXECUTED'
                 PL1ICACHW  ='LEVEL 1*CACHE*DIRECTORY'
                 PL1IPENAL  ='L1*PENALTY*CYCLE*COUNT'
                 PL1DCACHW  ='LEVEL 1*CACHE*DIRECTORY'
                 PL1DPENAL  ='L1*PENALTY*CYCLE*COUNT'
                 CCFEXT0='0TH*COUNTER'
                 CCFEXT1='1ST*COUNTER'
                  . . .
                 CCFEXT62='62TH*COUNTER'
                 CCFEXT63='63TH*COUNTER'
                 CPI     ='CYCLES*PER*INSTRUCTION'
                 PRB     ='PERCENT*PROBLEM*STATE'
                 L1MP    ='LEVEL 1*MISS*PER INST'
                 L2P     ='PCT FROM*LEVEL 2'
                 L3P     ='PCT FROM*LEVEL 3*SAME'
                 L4LP    ='PCT FROM*LEVEL 4*SAME'
                 L4RP    ='PCT FROM*LEVEL 4*REMOTE'
                 MEMP    ='PCT*FROM*MEMORY'
              -New variable in PRCRCD segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 CALENTMT='CPU*ENTITLEMENT'
                 RCCTOPDS='TOPOLOGY*BIT*MASK'
                 PFXDSPCS='LONG*PATHS*THRU*DISP2'
                 PLSDSPCM='TIMES*DISP*VMDBK*MOVED'
                 PLSSTLTL0='0TH*CNT*STOLEN*VMDBKS'
                 PLSSTLTL1='1ST*CNT*STOLEN*VMDBKS'
                 PLSSTLTL2='2ND*CNT*STOLEN*VMDBKS'
                 PLSSTLTL3='3RD*CNT*STOLEN*VMDBKS'
                 PLSSTLTL4='4TH*CNT*STOLEN*VMDBKS'
                 PLSSTLTL5='45H*CNT*STOLEN*VMDBKS'
              -New variable in PRCDHF segment added to both datasets
               XAMCPUBY and XAMCPUTO:
                 DSVASSOC ='ONLINE*CPUS'
                 DSVUNPRK ='UNPARKED*CPUS'
                 HFUSERZ  ='TIMES*NO VMDBK*IN DLIST'
              -INFILE XAMSYS changes:
               /* SYTEP2 */
                  TCT_FCOP ='FICON*OPS*FCX*CMDS'
                  TCT_DFCOP='DEFRD*FICON/FCX*OPS'
                  SCT_FCOP ='SUMMATION*COUNT*OPS'
                  TCT_FCXTM='FCX*TRANSFER*OPS'
                  TCT_DFCXTM='DEFERRED*FCX*XFERS'
                  SCT_FCXTM ='SUMMATION*FCX*XFERS'
               /* STOSHR */
                  ASCCTRSV='RESERVED*BY*SET*RESERVED'
                  ASCDSRSV='CNTLIMITED*BY*SET*RESERVED'
               /* SYTCUM */
                  LCUSMTM='SYSTEM*MGMT*TIME'
                  PCTSYSM='PCT*SYSTEM*MGMT TIME'
               /* SYTSYG */
                  MAI_MISS='MISSING*ADAPTR*INTERUPTS'
                  MAI_UREC='UNRECOVERABLE*ADAPTR*INT'
                  FXRDONE ='FCX*I/O*COMPLETE'
                  FXRWRITE='FCX*WRITES'
               /* STORSG */
                  SECONDS  ='SECONDS'
                  RSAAVCLT ='LT 2G*CONTIG*AVAIL LIST*LO'
                  RSAAVCHT ='LT 2G CONTIG*AVAIL LIST*HI'
                  RSAAVCLG ='GT 2G CONTIG*AVAIL LIST*LO'
                  RSAAVCHG ='GT 2G CONTIG*AVAIL LIST*HI'
                  RSAEMLO  ='LOW*THRESHOLD'
                  RSAEMHI  ='HI*GHREHSOLD'
                  RSAEMCPC ='CURRENT*POOL*SIZE'
                  RSAEMERG ='EMERGENCY*PGMBK*REQUESTS'
                  RSAEMBLO ='TIMES*CPC LT LO'
                  RSAEMPTY ='TIMES*CPC*EMPTY'
                  RSAEMDFR ='TIMES*PGMBK*DEFERRED'
                  RSASWPWT ='PG WRITES*TO*DISK LT 2GB'
                  RSASWP2G ='PGMBK WRITES*TO*DISK GT 2GB'
                  RSAAGEPC ='RSAAGEPC'
                  RSARSDMX ='SET*RESERVED*SYSMAX'
                  RSAAGESZ ='TARGET*AGING*LIST'
                  RSAAGINC ='FRAMES*ON AGING*LIST'
                  RSAEWNDD ='CHANGED*PGS ON*AGELST'
                  RSAEWRFO ='REF-D*PGS ON*AGELIST'
                  EWCIF    ='CHNGED*PGS*PAGING*OUT'
                  EWRIF    ='FEF-D*PGS*PAGING*OUT'
                  AGRDY    ='TOTAL*FRMS*ON*AGELIST'
                  AGRDYRFW ='REF-D*PGS*WRITTEN'
                  AGRDYRFN ='REF-D*PGS*NOT*WRITTEN'
                  AVLCTB2S ='AVAILLIST*LT*2GB*SNGL'
                  AVLCTB2C ='AVAILLIST*LT*2GB*CONTI'
                  AVLCTA2S ='AVAILLIST*GT*2GB*SNGL'
                  AVLCTA2C ='AVAILLIST*GT*2GB*CONTI'
                  DSTMACT  ='TOD*DEMAND*SCAN*RUNNG'
                  CHGWRTOL ='CHNGD*PGS*RE-WRITOLD'
                  REFWRTBY ='REF-D*PGS*BYPASS WRT'
                  CHGWRTNW ='CHNGD*PGS*RE-WRITNEW'
                  REFWRTNW ='REF-D*PGS*RE-WRITTEN'
                  AGRECLM  ='PGS*RECLAIMED*AGELIST'
                  EXMET    ='DEMAND*SCAN*COMPLETES'
                  EXTIM    ='DEMNDSCAN*INCOMPLETES'
                  EXCPU    ='DEMANDSCAN*SLOWCPU'
                  INVUFO   ='PRIVATE*PGS*INVALDTED'
                  INVVUFO  ='PRIVATE*VDSKINVALDTED'
                  INVSUFO  ='SHARED*PGS*INVALIDATD'
                  RVLUFO   ='PRIVATE*PGS*RE-VALID'
                  RVLVUFO  ='PRIV*VDISK*PGS*RE-VAL'
                  RVLSUFO  ='SHARED*PGS*REVALIDATD'
                  RVLAGL   ='PGS*REVALID*ON*AGELST'
                  WRTONDMD ='PGS*RECLAIMED*POSTWRT'
                  DSCYCLE  ='DEMAND*SCANS'
                  USRVISIT ='USERS*VISITED'
                  USRSKIP  ='USERS*SKIPPED'
                  RSAALSKL ='AGELIST*PGS*PINNED'
                  RSAALSKF ='AGELST*FRMSERIALIZED'
                  RSAALSKP ='AGELST*PGSERIALIZED'
                  RSAALSKR ='AGLSTSETRESERVED'
                  AGRVLRFN ='REREF-D*PGS*NOTWRITTN'
                  AGRVLRFW ='REREF-D*PGS*WRITTEN'
                  AGRVLCHN ='REREF-D*CHNGD*PGS NW'
                  AGRVLCHW ='REREF-D*CHNGD*PGS WRT'
                  AVLRQB2S ='SNGLPG*REQUESTS*LT 2GB'
                  AVLRQA2S ='SNGLPG*REQUESTS*GT 2GB'
                  AVLRQB2C ='CONTIG*REQUESTS*LT 2GB'
                  AVLRQA2C ='CONTIG*REQUESTS*GT 2GB'
                  AVLRETB2S='RETURNS*SINGLE*LT 2GB'
                  AVLRETA2S='RETURNS*SINGLE*GT 2GB'
                  AVLRETB2C='RETURNS*CONTIG*LT 2GB'
                  AVLRETA2C='RETURNS*CONTIG*GT 2GB'
                  AVLPTA2GC='PROTECT* GT 2GB*LIST SIZ'
                  AVLPTB2GS='PROTECT*SNGLS* LT   2GB'
                  WRTHROTS ='DEMAND*SCAN*THROTTLES'
                  PRTHROTS ='PARTIAL*THROTTLES'
               /* MTRSCH */
                  SRMFLAGS='SRMFLAGS'
               /* MTRSYS */
                  SYSCMODE='SYSCMODE'
                  VCPUF   ='VCPU ACCOUNTING FACTOR'
                  TCPUF   ='TCPU ACCOUNTING FACTOR'
                  DIOF    ='DASD I/O FACTOR '
                  STORF   ='RESIDENT STORAGE FACTOR'
                  CHARGE  ='CHARGE PER UNIT'
                  SYSCCR  ='CAPCHANGE*REASON*STSI*1.1.1'
                  SYSCAI  ='CAPADJUSTMENT*STSI*1.1.1 '
                  SYSESTAT='ENSEMBLE*STATUS'
                  STITODOF='STP*TOD*CLOCK*OFFSET'
                  SYSSTPFL='STP*CONFIGURATION*INFO'
                  SYSSTPF2='FLAGS'
                  SYSPLVOL='SSI*PDR*VOLUME*SERIAL'
                  SYSCSSID='CHANNEL*SUBSYSTEM*(CSS)*ID'
                  SYSCPMOD='CP*LOAD*MODULE'
                  HCPLODCK='TOD OF*SYSTEM*GENERATION'
                  SLMENSID='URM*ENSEMBLE*ID'
               /* MTRMEM */
                  SYSGSTBY='STANDBY*REAL*STORAGE*SIZE'
                  SYSGSTRS='RESERVED*REAL*STORAGE*SIZE'
               /* SYTXSG */
                  TCMPINVA='PAGE*FAULTS*RESOLVED*PGINTRK'
                  TCMSTKEX='TIMES*CPEBK*DEFERED*TRKWRT'
                  CMSTKPFK='TIMES*CPEBK*DEFERED*TRKFLT'
               /* SYTUWT */
                  CALLLCP ='LIMIT*LIST*CP WAIT'
                  CALLLZAP='LIMIT*LIST*ZAP WAIT'
                  CALLLIFL='LIMIT*LIST*IFL WAIT'
                  CALLLZIP='LIMIT*LIST*ZIP WAIT'
                  CALCFCP ='CF WAIT*WAIT FOR*CP'
                  CALCFZAP='CF WAIT*WAIT FOR*ZAP'
                  CALCFIFL='CF WAIT*WAIT FOR*IFL'
                  CALCFZIP='CF WAIT*WAIT FOR*ZIP'
                  CALSWCP ='SIM WAIT*WAIT FOR*CP'
                  CALSWZAP='SIM WAIT*WAIT FOR*ZAP'
                  CALSWIFL='SIM WAIT*WAIT FOR*IFL'
                  CALSWZIP='SIM WAIT*WAIT FOR*ZIP'
                  CALCWCP ='CPU WAIT*WAIT FOR*CP'
                  CALCWZAP='CPU WAIT*WAIT FOR*ZAP'
                  CALCWIFL='CPU WAIT*WAIT FOR*IFL'
                  CALCWZIP='CPU WAIT*WAIT FOR*ZIP'
                  CALCRCP ='VMDBKS*RUNNING*ON CP'
                  CALCRZAP='VMDBKS*RUNNING*ON ZAP'
                  CALCRIFL='VMDBKS*RUNNING*ON IFL'
                  CALCRZIP='VMDBKS*RUNNING*ON ZIP'
                  CALLLICF='LIMIT*LIST*IN ICF'
                  CALCFICF='CONSOLE*FUNCTION*MASTER'
                  CALSWICF='SIMULATION'
                  CALCWICF='CPU*WAIT'
                  CALCRICF='RUNNING'
                  /* SYTUSR */
                  RLOIB='ACTIVE*INBOUND*LGRS'
                  RLOOB='ACTIVE*OUTBOUND*LGRS'
               /* SYTRSG */
                  RSASNG2G='SINGLE*FRAMES*GT 2GB*AVAIL'
                  RSASNGAV='SINGLE*FRAMES*LT 2GB*AVAIL'
               /* SUBSUM */
                  NCPCAPABIZE='CPU*CAPABILITY*FACTOR'
                  OVERCOMMIT ='OVERCOMMIT'
                  STORAGESIZE='STORAGE*SIZE'
                  XSTORESIZE ='XSTORE*SIZE'
              -INFILE XAMDEV changes:
              -New variable in CONFIG segment added to XAMDEV dataset:
                  EDEVATTR='EDEVATTR'
                  RDEVHPPL='HYPERPAV*POOL*NUMBER'
                  CALDEVFLAGS='CALDEVFLAGS'
                  DEVPTHS ='DEVPTHS'
              /*IODDEV */
                  PAVINELG  ='I/O*INELIGIBLE*TO STEAL'
                  PAVUSES   ='I/O*STEALS'
                  PAVSSCH   ='BASE*PAV*SSCH'
                  PAVCOUNT  ='PAV*DEVICE*COUNT'
                  PAVCNTIM  ='PAV*ALIAS*CONNECT*TM'
                  PAVCPTIM  ='PAV*ALIAS*PEND*TM'
                  PAVCDTIM  ='PAV*ALIAS*DISC*TM'
                  PAVCQTIM  ='PAV*ALIAS*QUEUE*TM'
                  PAVCATIM  ='PAV*ALIAS*ACTIVE*TM'
                  PAVDBTIM  ='PAV*ALIAS*SUBCHAN*TM'
                  PAVIRTIM  ='PAV*ALIAS*QUEUE*TM'
                  PAVCC3S   ='PAV*ALIAS*CC3*IO CNT'
                  RDEVSKSM64='TOTAL*SEEK*CYCLINDERS'
                  RDEVWXCT  ='COUNT*FCX*WRITES'
                  RDEVRXCT  ='COUNT*FCX*READS'
              -INFILE XAMTCP changes:
               /*VSIUSR*/
                  STGSAMPS='STGSAMPS'
                  VMPEAK  ='PEAK*USAGE'
                  VMSIZE  ='CURRENT*USAGE'
                  VMLCK   ='CURR*MLOCKED*MEMORY'
                  VMHWM   ='PEAK*RSS'
                  VMRSS   ='RESIDENT*SET*SIZE'
                  VMDATA  ='SIZE*DATA*SEGMENT'
                  VMSTK   ='SIZE*OF*STACK'
                  VMEXE   ='SIZE*TEXT*SEGMENT'
                  VMLIB   ='SHARED*LIBRARY*USAGE'
                  VMPTE   ='PAGETABLE*ENTRIES*SIZE'
                  VMSWAP  ='SWAP*SPACE*USED'
               /*VSINAP*/
                  STGSAMPS ='STGSAMPS'
                  VMPEAK   ='PEAK*USAGE'
                  VMSIZE   ='CURRENT*USAGE'
                  VMLCK    ='CURR*MLOCKED*MEMORY'
                  VMHWM    ='PEAK*RSS'
                  VMRSS    ='RESIDENT*SET*SIZE'
                  VMDATA   ='SIZE*DATA*SEGMENT'
                  VMSTK    ='SIZE*OF*STACK'
                  VMEXE    ='SIZE*TEXT*SEGMENT'
                  VMLIB    ='SHARED*LIBRARY*USAGE'
                  VMPTE    ='PAGETABLE*ENTRIES*SIZE'
                  VMSWAP   ='SWAP*SPACE*USED'
                  PROCID   ='PROCID'
                  PPIDL    ='PPIDL'
                  PROCNAMEL='PROCNAMEL'
                  PATHNAMEL='PATHNAMEL'
                  APPLIDSS ='APPLIDSS'
               /*VSISFT*/
                  PRTY     ='PRTY'
                  STGSAMPS ='STGSAMPS'
                  VMPEAK   ='PEAK*USAGE'
                  VMSIZE   ='CURRENT*USAGE'
                  VMLCK    ='CURR*MLOCKED*MEMORY'
                  VMHWM    ='PEAK*RSS'
                  VMRSS    ='RESIDENT*SET*SIZE'
                  VMDATA   ='SIZE*OF DATA*SEGMENT'
                  VMSTK    ='SIZE*OF*STACK'
                  VMEXE    ='SIZE*OF TEXT*SEGMENT'
                  VMLIB    ='SHARED*LIBRARY*USAGE'
                  VMPTE    ='PAGETABLE*ENTRIES*SIZE'
                  VMSWAP   ='SWAP*SPACE*USED'
                  PROCID   ='PROCID'
                  PPIDL    ='PPIDL'
                  PROCNAMEL='PROCNAMEL'
                  PATHNAMEL='PATHNAMEL'
                  APPLIDSS ='APPLIDSS'
               /*VSISYS*/
                  PROCTOT  ='PROCTOT'
                  STATIC   ='STATIC'
                  TIMED    ='TIMED'
                  RELEASEP ='RLS RATE*IN PAGES'
                  RELEASETM='RLS TIME*IN SECONDS'
                  SWAPINESS='SWAPINESS'
                  CPUCOUNT ='CPUCOUNT'
               /*HSTMEM*/
                  RWFLAG ='RWFLAG'
                  BOOTFLG='BOOTFLG'
                  BUFFER ='BUFFER'
                  BUFFERCH='BUFFERCH'
                  DESCR is expanded to 32 positions (Apr 23)
               /*UCDSYS*/
                  ANONYMOUS='ANONYMOUS'
                  SHARED   ='SHARED'

====== Changes thru 33.085 were in MXG 33.03 updated Mar 31, 2015=======

Change 33.085  Change 33.078 VGETDDS removal of SASAUTOS was incorrect,
VGETDDS        causing ERROR 22-322 generated by Macro Variable TOSET;
Mar 30, 2015   DDNAMES was corrected to DDOUT.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 33.084  Change 33.018 was dropped between 33.01 and 33.02.
EXTY8036       New dataset TYPE8036 (EXEC WITH SETUID/SETGID) and new
EXTY8056       dataset TYPE8056 (CHECK FILE OWNER) are now created and
IMAC80A        variable TOKMPROCUSERMAX is now spelled correctly so the
VMAC80A        UNINIT TOKPROCUSERMAX message is eliminated.
VMXGINIT
Mar 29, 2015

====== Changes thru 33.083 were in MXG 33.03 dated Mar 27, 2015=========

Change 33.083  Summary datasets PDB.ASUM70PR/PDB.ASUM70LP have INCORRECT
VMXG70PR       values for intervals when ALL LPARs are NOT active for
Mar 27, 2015   the full summary interval you requested, e.g., you set
               INTERVAL=HOUR (in your TAILORED ASUM70PR member or your
               %VMXG70PR invocation) but the first RMF records in each
               SMF file was the 23:50 START, written at 00:00.01, which
               created an ASUM70PR HOURLY observation, (for EACH system,
               as each SYSTEM creates TYPE70PR for each LPAR it "sees")
               with a START of 23:00, but with only 10 minutes DURATM.
               Or, if you activate an LPAR at 10:30, the ASUM70PR obs
               will have only 30 minutes DURATM.  The incorrect DURATM
               impacts the individual LPAR durations, and the PCTCPUBY
               in ASUM70PR (the SYSPLEX value, and NOT the busy of the
               SMF SYSTEM that created the ASUM70PR observation) is
               wrong and can be greater than 100%.

              -These defective observations can be deleted by testing
               that DURATM is less than your requested summary INTERVAL.

              -OR: THE CORRECT VALUES ARE IN THE PDB.ASUMCEC/ASUMCELP
               datasets, and since there is only one observation in the
               PDB.ASUMCEC for each interval (for each CECSER), you do
               not have to select which SYSTEM's record is used in your
               reports (and your reports will be produced even if that
               SYSTEM goes away!).

               And, at this time, the underlying error in VMXG70PR has
               NOT been resolved; it is related to the PER-SYSTEM logic
               which is clearly vulnerable to individual system metrics,
               but the newer and more robust per-CEC logic resolves the
               error, or the defective observations can be deleted.
               (If these are abnormal hours, maybe you still want to
               delete them, even when using the PDB.ASUMCEC data!).
               With 60 PROC/DATA steps in the complex VMXG70PR logic,
               the risk of damage to the good might not justify trying
               to repair
              -No logic was changed; debugging PROC PRINTs were inserted
               but are disabled.

Change 33.082  DCOLLECT dataset DCOLDSET now contains variable DCDCTYPE
VMACDCOL       to identify compression type, using MG014CT (added 33.01)
Mar 26, 2015   with these possible values:
                   0='0:NOT COMPRESSED/UNKNOWN'
                   1='1:GENERIC'
                   2='2:TAILORED'
                   3='3:ZEDC'
               This text was revised Mar 25, 2019, See Change 37.063.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 33.081 -New _READALL macro processes 70s, 72s,and 30s in one pass
SAGANAL        of SMF to significantly reduce elapsed run time.
Mar 27, 2015  -The 4HR Average Zip Eligible MSU is added to REPORT 3.
Apr  8, 2015  -New REPORT 30 with the CAPTURE RATIO shows the IBM 4HOUR
IMACSAG        AVERAGE MSU and the TOTAL MSU CAPTURED in the RMF 72
VMXGINIT       Service Class records.
Apr 13, 2015  -New IMACSAG and &MACSAG exits permit report selection for
               specific dates.

Change 33.080  Documentation note.  The default BUILDPDB builds the ID
TYPEID         dataset using a VIEW and then invokes %ANALID to report.
Mar 24, 2015   The VIEW is NOT deleted, but if you have added code that
               uses the ID dataset (like PROC SORT DATA=ID), the entire
               SMF INPUT FILE WILL BE READ AGAIN, or, if you have used
               FREE=CLOSE, that second read will fail with FILE SMF NOT
               ASSIGNED.  You can prevent the second read by disabling
               the view, using  %LET VWVMACID=;  to disable for ID, but
               that will require more //WORK disk space.

Change 33.079  Protection for truncated SMF Type 22 Subtype 11 LRECL=32
VMAC22         (LENGTH=28) when that subtype must be at least 140 bytes.
Mar 24, 2015
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 33.078  %MACROs that SAS puts in SASAUTOS (%TRIM,%LOWCASE,others)
UTILBLDP       have been completely removed from all MXG members, since
Mar 23, 2015   we still find sites that do not have FILENAME SASAUTOS to
               resolve those functions (that SHOULD, IMO, been delivered
               as real functions and avoid 20 years of SASAUTO errors).
               These were the final members that now use %SYSFUNC().
                 ANALRANK BLDNTPDB READDB2 UTILBLDP UTILDUMP VGETALOC
                 VGETDDS VMXGALOC VMXGCAPT VMXGFIND VMXGPRAL VMXGSRCH
                 ZAUTOCHK VMXGPARS

Change 33.077  WPS Only. MXG TYP120xx SMF 120 datasets can have strange
VMAC120        characters in UCS text because there were two tests for
VMXGINIT       &SYSVER GE 8.2 that are now corrected to &SASVER GE 8 in
Mar 23, 2015   VMAC120 and VMXGINIT (which incorrectly set &UCS2B4).
               For WPS, the &SYSVER returns 3.01 (and is 9.4 for SAS),
               and it is used when the sub-version is needed, but MXG
               intended to set &SASVER to 8 for WPS, and use the first
               digit of &SYSVER for &SASVER for SAS, for both WPS/SAS
               and SAS V8/V9 selections.
               8 for WPS (and is 9 for SAS) so that &SASVER can be used
               to detect WPS and/or SAS V9 features.  And, in VMXGINIT
               the actual value set for &SASVER was 8.2 instead of 8 for
               WPS.  And since I needed to find any other exposures, I
               removed a number of archaic tests for &SASVER 5 and 6 in
               these members:
                 BUIL3001 BUILD001 BUILDPD3 BUILDPDB DOCPDB   FORMATS
                 IMACPDBX JCLUXRE6 MONTHBL3 MONTHBLD MONTHBLS MONTHWEK
                 PRODTEST PRODTESW TYPSIMS  TYPSIMS7 VFMT102  VMAC120
                 VMAC7072 VMACIMS  VMXGINIT WEEKBL3D WEEKBL3T WEEKBLDD
                 WEEKBLDT
   Thanks to Erling Andersen, SMT, DENMARK.

Change 33.076  Support for IMS56FA Chained/Switched INPQUETM correction.
TYPEIMST       INPQUETM for chained transactions (have same ARRVTIME) is
TYPSIMST       revised to use the prior transaction's HELDENDTIME as the
VMACIMS        the "ARRVTIME" for the next transaction.  Variable SWITCH
Mar 24, 2015   identifies if this was the first, or subsequent, switched
               transaction, and HELDENDTIME is kept in IMS56FA. Variable
               RESPNSTM is also recalculated with the new INPQUETM.
               The correction is made in the _SIMS56G dataset sort macro
               so it requires a full sort of the IMS56FA dataset; the
               TYPSIMST member has the JCL and SYSIN example to use to
               correct INPQUETM and create the IMS56FA.IMS56FA dataset.
               The TYPEIMST member creates WORK.IMS56FA, unsorted and
               uncorrected.
               Or, to create ALL of the IMS log datasets and correct
               the INPQUETM, you can use
                 %INCLUDE SOURCLIB(TYPEIMS7);
               which invokes the _SIMS46X sort macro to sort both the
               46x and 56x IMS log records and fix IMS56FA's INPQUETM,
               writing all IMS datasets to //WORK, but you can use
               %LET PIMSxxx=YOURDD; to send individual datasets to your
               chosen DDNAME.
   Thanks to Thomas Peiper, TIETO, FINLAND.

Change 33.075  When VMXGDBAA was run, the KEEPIN= logic in VMXGSUM could
VMXGSUM        fail, resulting in UNINITIALIZED VARIABLEs notes for
VMXGDBAA       QWACESC and other variables.  Exposed when removing the
Mar 22, 2015   AUTOCALL macros from VMXGDBAA, was not actually reported.

Change 33.074  Support for Mainview for MQ version 5.2 BBMQQUES 'E6'
VMACBBMQ       with these new variables added:
Mar 22, 2015     QSAC6NXG ='NEXT*AC6 RECORD*WITH THIS*HASH'
                 QSIBGETC ='CONSUMED*MQGET*BYTES'
                 QSIBGTCF ='GET*BYTES*CONSUMED*RATE'
                 QSIFPUT  ='FAST*PUT*COUNT'
                 QSILMPUT1='LARGEST*MQPUT1*SESSION'
                 QSISMPUT1='SMALLEST*MQPUT1*INTERVAL'
                 QSISTCKB ='INTERVAL*START*DATETIME*STAMP'
                 QSQUDPTH ='UNCOMMITTED*MESSAGES'
                 QSSBGETC ='CONSUMED*MQGET*BYTES'
                 QSSBGTCF ='GET*BYTES*CONSUMED*RATE'
                 QSSBGTCR ='GET*BYTES*CONSUMED*RATE'
                 QSSFPUT  ='FAST*PUT*COUNT'
                 QSSFPUT1 ='FAST*PUT1*COUNT'
                 QSSLMPUT1='LARGEST*MQPUT1*SESSION'
                 QSSSMPUT1='SMALLEST*MQPUT1*SESSION'
                 QSSSTCKB ='SESSION*START*DATETIME*STAMP'
                 QWIFPUT1 ='FAST*PUT1*COUNT'
               and these old variables are no longer input and will be
               missing values in BBMQQUES:
                 QSIFBGTF QSIFBGTR QSIFBP1F QSIFBP1R QSIFBPT1 QSIFBPTF
                 QSIFBPTR QSIFBPUT QSINDSCR QSSFBGTF QSSFBP1F QSSFBPT1
                 QSSFBPTF QSSFBPTR QSSFBPUT
   Thanks to Paul Volpi, UHC, USA.

Change 33.073  New variable FCBYTERATE added to TYP11903 and TYP11907
VMAC119        datasets.
Mar 22, 2015

Change 33.072  SMF 103 Documentation.  For the Apache Server (which must
VMAC103        be used in z/OS 2.2 where the prior Domino Server is not
Mar 22, 2015   supported), the JOB name can be passed into the D record
               with a variable -  export JOBNAMEH="WEBSRV02" - in the
               shell scripts that start the Apache Web Server and using
               this JOBNAMEH variable as ServerName ${JOBNAMEH} in the
               httpd.conf file.
               The SMF 103 record has been written by the same product
               since its inception, but the IBM product names have
               included these:
                "HTTP Web Sphere Server"
                 Lotus Domino GO Webserver R4
                 Internet Connection Secure Server (R3,R2)
                 and now, in 2015, Apache Server.
   Thanks to Joe Faska, DTCC, USA.

Change 33.071  z13 SUPPORT. MXG 33.03 REQUIRED ONLY FOR PROCVIEW CORE.
VMAC7072       For PROCVIEW CPU non-SMT, NO CHANGES WERE MADE TO RMF 70.
Mar 21, 2015
               For SMT PROCVIEW CORE Mode, MXG Change 33.046 in 33.02
               updated the TYPE70 dataset, but this Change 33.071 in MXG
               33.03 is required to update the new SMT metrics correctly
               in the TYPE70PR dataset, to get the CPUID, LCPUADDR, and
               CORE_ID from the four segments that don't have the same
               number of segments: OFFCPUD and SMF70COS have 20 for the
               6 online CPs, 4 offline CPs, and 5 zIIPs with CPU_NUM=2,
               while SMF70BDN/LPARCPUX has only 18 segments (with the
               CORE_NUM needed to look-up the LCPUADDR), and there are
               only 14 Core_ID values.

               This was a complex update to a CRITICAL MXG MEMBER, with
               500+ lines of code inserted lines into the 27,000 lines.
               The SMT Mode data has been validated with RMF records,
               with a wide range of LPAR configurations.  When in SMT
               mode, please examine the new data carefully and contact
               support@mxg.com if you have questions.

               Note: If you read the changed SMT mode RMF 70s with an
               old MXG, RMFINTRV may have NEGATIVE CPUOVHTM values and
               the %PCTCPUBY values may be over 100%.

           Specifically, if z/OS is IPL'd with LOADxx PROCVIEW CORE, on
           a processor that is SMT capable, then whether or not MT is
           Active, and even if MT=1 is specified, then the RMF 70 record
           is restructured with CORE_ID.

           This support was validated with z/OS 2.1 and z13 data.


Change 33.070  New INCLAI, three $LIST_L and $RESTAR TOKENIDs, added by
VMACTPMX       ThruPut Manager AE+ V7R1.0 create five new variables
Mar 20, 2015    INCLA1  JBL54043 JBL54L44 JBL54L45  RESTAR
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 33.069  SAS 9.4 has a dictionary entry for DESTINATIONS but
ANALDB2R       older releases do not. On zOS, report MXGDB2B1 used this
Mar 20, 2015   to see if the active destination for ODS was listing and
               to bypass the graphics code in that report. The PROC SQL
               is now only used when we find SAS 9.4 or greater.
              -Spurious message were produced indicating reports were
               requested when you specified report=NO because the code
               was checking the length and not the value.
              -If the DB2STATB dataset was empty or non-existent the
               macro variable GOTRMF did not exist and raised an
               unresolved MACRO variable error.
   Thanks to Randy Hewitt, HP, USA.

Change 33.068  Change 30.133 typo caused Q8STCCPU to not be kept.
VMACDB2
Mar 20, 2015
   Thanks to Tim King, Blue Cross Blue Shield of South Carolina, USA.

Change 33.067  DB2 Trace ID=102 IFCID=220 misaligned, causing ILLEGAL
VMAC102        ARGUMENT TO MDY function.  The QW0220xx variables are
Mar 17, 2015   now kept.
   Thanks to Randy Hewitt, HP, USA.

Change 33.066  VMXGPPDS failed when used as  documented, unable to find
VMXGPPDS       MYPDS because the last few lines of the macro incorrectly
Mar 17, 2015   tried to execute the macro with the defaults.

Change 33.065  If %VGETLIBS found no LIBNAMEs were allocated, it failed
VGETLIBS       with MACRO variables not found.  Now if there are none
Mar 17, 2015   found, it dies a graceful death and tells you that it
               found no matching LIBNAMES.

Change 33.064  Format $MGSTCRT new values for SMF19RTM/RTE variables:
FORMATS           '07'X='07X:VTV MOVE'
Mar 16, 2015      '08'X='08X:ALTERNATE RECALL'
   Thanks to Mike Jacques, BB&T, USA.

Change 33.063  In parsing a quoted literal such as '15MAR2015'D, to make
VMXGPARS       the text more readable, the D could be separated from the
Mar 26, 2015   Quote, resulting in a 180 Syntax Error.  VMXGPARS now
               recognizes a DT following a quote and/or any non-blank
               character and extends the string.

Change 33.062 -In Change 31.209, VMXGSUM's %TRIM AUTOCALLed function was
VMXGSUM        replaced by the internal %SYSFUNC function, to circumvent
VMXGINIT       errors when sites don't have AUTOCALL/MAUTOSOURCE/etc set
Mar 16, 2015   up correctly, but %TRIM crept back in VMXGSUM and is now
VMXGPARS       again replaced with %SYSFUNC.
              -MXGDEBUG=FULL option executes PROC OPTIONS VALUE, to show
               each option's value and how it was set, PROC PRINTs the
               SASHELP tables VLIBNAM to show all LIBNAMES, and VEXFL to
               show all External FILENAMES - (is there a SASAUTOS??),
               and enables these full source code diagnostic options
                OPTIONS SOURCE SOURCE2 MACROGEN MPRINT SYMBOLGEN;
               to print full source with line numbers on the SAS log.
               Invoke the FULL option in //SYSIN with this syntax:
                 %LET MXGDEBUG=FULL; %VMXGINIT;
              -The %LEFT in %VMXGPARS was replaced.

Change 33.061  GDPS SMF 105 INPUT STATEMENT EXCEEDED when XVMX segment
VMAC105        was not present; the bit test was insufficient to confirm
Mar 16, 2015   the segment was extended so a length test was added.
   Thanks to Paul Volpi, UHC, USA.

Change 33.060A Change text was lost, added May 2016.
ANAL113        Dataset ASUM113 was replaced by ASUM1131 for reports.
Mar 11, 2015

Change 33.060 -DCOLLECT Cluster dataset DCOLCLUS now contains variables
VMACDCOL       DCDDATCL,DCDMGTCL,DCDSTGCL, Data/Management/Storage Class
Mar 11, 2015   that are retained from the immediately preceding type D
Mar 21, 2015   record prior to the type A record, when the "D" record's
               DSNAME matches the "A" records' Cluster Name.
              -In DCOLDSET dataset, multi-volume records now contain
               those three Class variables in all observations; in the
               DCOLLECT records, those fields are only populated in the
               DCDVOLSQ=1 records.  This change revised the _SDCODSN
               Data Set Sort to propagate from the first to subsequent
               volume's observations. You MUST USE TYPSDCOL to invoke
               that _SDCODSN data set sort or classes will be blank in
               the 2nd and subsequent volumes.
              -Mar 21: DCOLDSET dataset label added to PROC SORT.
   Thanks to John Kim, Worker's Compensation Board of Alberta, CANADA.

Change 33.059  Support for Thales Security Resource Manager RG1100.
EXTHALRT      -New variables added to THALSUMD dataset:
IMACTHAL         THAASID ='SSID OF*ORIGIN*APPL-AS'
VMACTHAL         THADBUSY='BUSY*WITH*USER*REQUESTS'
VMXGINIT         THADINTV='INTERVAL*DURATION'
Mar 10, 2015     THADNCNT='REQUESTS*PROCESSED'
Mar 24, 2015     THADOVER='BUSY*WITH*SRM*REQUESTS'
Apr 15, 2015     THADUFLG='DEVICE*CONTINUOUS*USE*OR NOT'
              -New THALRESP Response Time dataset, with variables:
                 THAASID  ='SSID OF*ORIGIN*APPL-AS'
                 THAJBNM  ='JOBNAME*OF ORIGIN*USER APPL'
                 THARSTCK ='USER*MESSAGE*INITIATION*TIME'
                 THARFDBK ='FEEDBACK*CODE*SET BY*SRM'
                 THARPRI  ='MESSAGE*PRIORITY'
                 THAMTYPE ='MESSAGE*TYPE*HSM*CODE'
                 THAERRCD ='ERROR*CODE*SET BY*HSM'
                 THARINTV1='1ST*INTERVAL*ELAPSED*TIME'
                    . . .
                 THARINTV12='12TH*INTERVAL*ELAPSED*TIME'
              -Note: TYPETHAL replaced TYPESRHS.
              -Mar 24: THAHSM formatted $HEX16, THAHSMR $HEX32.
              -Apr 15: THALRESP updated and validated with data.
               Datasets THALEXCE,THALVIOL,THALSUMD,THALRESP have these
               variables decoded from THAHAM/THAHAMR:
                THAHSMCH='HSM*CHANNEL*DEVICE*NAME'
                THAHSMIP='HSM*IP*ADDRESS'
                THAHSMAX='HSM*IP*AUXILLARY*PORT'
                THASMVT ='HSM*VTAM*DEVICE*NAME'
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.

Change 33.058  Support for CICS User Field DNDBKR/DNDBKR in CICSTRAN.
IMACICVK
UTILEXCL
VMAC110
Mar  8, 2015
   Thanks to Michael Creech, Black Knight Financial Services, USA.

Change 33.057  ECHO= option added in Change 32.154 but not documented:
UTILBLDP       If you want to see the code that was created by UTILBLDP,
VMXGPARS       it can be printed on the LOG by specifying either the new
Mar 10, 2015   ECHO=YES (or ECHO=Y) argument, or with MXGEXIMSG=YES.
Mar 20, 2015  -%LEFT replaced in VMXGPARS.

Change 33.056  Using OPTIONS OBS=0 to create zero-observation datasets
SAGANAL        from SMF data, read via the ftp access method, executing
UTILBLDP       on ASCII, failed with these messages:
Mar 11, 2015      NOTE: <<< 451 Transfer aborted: send error.
                  NOTE: >>> QUIT
                  ERROR: Bad request. Use the debug option for more info
               SAS Note http://support.sas.com/kb/14/679.html documents
               that OBS=0 can not be used with ftp access method.
               Tailoring to build RMFINTRV from only 70s and 72s used
                 %INCLUDE SOURCLIB(TYPS7072);
               to create the TYPE70 and TYPE72GO datasets for input to
               create the RMFINTRV dataset with CPU metrics, but using
                 OPTIONS OBS=0;
                 %%INCLUDE SOURCLIB(TYPS71,TYPS73,TYPS74,TYPS75,TYPS78);
                 RUN;
               to create the other datasets required for RMFINTRV, but
               creating them with zero observations so they take no disk
               space, preventing B37 if high volume ID=74 SMF records
               were accidentally in the input SMF file. Each TYPS member
               opens the SMF filename, although no records are read.
               This ancient and inefficient syntax was replaced with
                  %UTILBLDP(OUTFILE=INSTREAM,
                            BUILDPDB=NO,
                            USERADD=7072 71 73 74 75 78,
                            ZEROOBS=71 73 74 75 78);
                  %INCLUDE INSTREAM;
              -But using UTILBLDP under Linux raised errors because some
               macros (%QCMPRES, %LEFT) were not found because SASAUTOS
               is not allocated by default under Linus (CH 33.051) and
               were unresolved.  But Change 31.209 had stated that those
               macros were replaced by SYSFUNC calls to avoid the long
               standing problem trying to use SAS-supplied SASAUTOS
               macros, so UTILBLDP is now free of SASAUTO macros.
   Thanks to David F. Salsieder, American Family Insurance, USA.

Change 33.055  Support for CICS User Field USER/MEBTRAN in CICSTRAN.
IMACICVK
UTILEXCL
VMAC110
Mar  8, 2015
   Thanks to Jeff Fracas, WiPro, USA.

Change 33.054  Reserved Change Number.

Change 33.053 -Support for z13 updates to type 99 subtype 14, STRONGLY
VMAC99         RECOMMENDED by IBM to be enabled for PROCVIEW CORE to
Mar  8, 2015   allow you to see which LPARs end up where.
               Variables were added to both TYPE99EM and TYPE99EP.

Change 33.052  z13 Support updates.
VMAC113       -With PROCVIEW CORE, SMF 113 was INCOMPATIBLY changed to
ASUM113        add COREID etc to support SMT, with changes to MANY of
Mar 14, 2015   the calculated variables that were not in Change 33.023.
Apr 10, 2015  -The SPEED value for the zIIP can incorrectly be zero but
               MXG sets SM1132SP=5 for the z13 to circumvent the known
               occasional incorrect value.
              -With PROCVIEW CPU, non-SMT mode, RNI was incorrect, with
               a negative value, that was also corrected by this change.
              -Apr 10: zEC12 RNI 1st factor changed from 2.2 to 2.3.

Change 33.051  MXG initialization revised so the FILENAME SASAUTOS isn't
VMXGINIT       listed in the list of input source libraries, as Linux by
Mar  3, 2015   default does not have a SASAUTOS filename allocated.

Change 33.050  Graphics code had a not sorted condition caused by the
ANALHSM        order of the variables in the BY list.  Protection added
Mar  3, 2015   for all missing values in a variable, which caused ODS
               graphics to print warning and suppressed changes in the
               tick value formats by using XAXIS YAXIS code.
   Thanks to Lindsay Oxenham, IBM, AUSTRALIA.

Change 33.049  Three new UTILEXCL reports may be printed. REPORT 00 will
UTILEXCL       print all dictionary records read in today from SMF.
Mar  2, 2015   REPORT 00 prints any Transaction Records that do NOT have
               a dictionary record, and REPORT 000 shows each of the
               APPLIDs that did not have a dictionary record.  Both 00
               and 000 reports show the SYSTEM and READTIME of those
               Transaction Records, since THAT is when the dictionary
               record was written, so you know which day's SMF to read
               to find those missing dictionary triplet records.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 33.048 -When a GETDSAB error occurred the Reason Code was
ADOCRMFV       displayed as NNNN in severe error message RMFV007S.
ASMRMFV        The Reason Code is only valid if the Return Code is
Feb 27, 2015   12.  In all other cases the Reason Code for this
               situation will display as blanks.
              -Update documentation for message RMFV007S.
              -REQUIREMENT: In order to implement these features the
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
   Thanks to Wayne Bell, UniGroup, Inc.

====== Changes thru 33.047 were in MXG 33.02 dated Feb 27, 2015=========

Change 33.047 -UTILEXCL updated to skip the CICS/TS 3.2 OMEGAMON CMRDATA
IMACICM0       segment when it is the incorrect length of 200 bytes.
UTILEXCL       Change 28.027 discusses, but only told you to install the
Feb 27, 2015   correction; this change circumvents by telling you to use
               the IMACICM0 (instead of the normal IMACICMR) to skip.
   Thanks to Donald Blaszka, Wipro, USA.
   Thanks to Jeff Fracas, Wipro, USA.

Change 33.046  New variables in TYPE70 for z13 MULTITHREADING:
FORMATS
VMAC23     MXG 33.01 CHANGES noted one z13 site had NEGATIVE CPUOVHTM,
VMAC26J2   but that was ONLY IF z/OS on z13 is in MULTI-THREADING MODE.
VMAC26J3   MXG was unaware of IBM's restructuring the RMF type 70 SMF
VMAC7072   record's calculation of CPU BUSY time for the new MT mode,
VMAC71     but this MAJOR CHANGE restructured TYPE70 processing in MXG
VMAC75     to order by CORE_ID and CPU_NUM rather than CPUID/LCPUADDR.
Feb 26, 2015
           If NOT Multi-Threading, new metrics were COMPATIBLY ADDED.
Mar 21, 2015
           Specifically, if z/OS is IPL'd with LOADxx PROCVIEW CORE, on
           a processor that is SMT capable, then whether or not MT is
           Active, and even if MT=1 is specified, then the RMF 70 record
           is restructured with CORE_ID.  While this change in MXG 33.02
           updated the TYPE70 dataset, MXG 33.03 is REQUIRED now for the
           complete support for the TYPE70PR changes as well.

                 SMF70MCF ='MULTITHREADING*MAXIMUM*CAPACITY*GP'
                 SMF70MCFS='MULTITHREADING*MAXIMUM*CAPACITY*ZIIP'
                 SMF70MCFI='MULTITHREADING*MAXIMUM*CAPACITY*ZAAP'
                 SMF70CF  ='MULTITHREADING*CAPACITY*GP'
                 SMF70CFS ='MULTITHREADING*CAPACITY*ZIIP'
                 SMF70CFI ='MULTITHREADING*CAPACITY*ZAAP'
                 SMF70ATD ='AVERAGE*THREAD*DENSITY*GP'
                 SMF70ATDS='AVERAGE*THREAD*DENSITY*ZIIP'
                 SMF70ATDI='AVERAGE*THREAD*DENSITY*ZAAP'
               New variables in TYPE70PR
                 SMF70MTID='MAXIMUM*THREAD*IDENTIFICATION'
                 SMF70MTTT='MULTI*THREADING*IDLE*TIME'
                 Variables SMF70CAN/SMF70CTN are now correctly missing
                 values for an LPAR with no engines (LCPUADDR=. also).
                 These variables were previously incorrectly populated.
                 The order of these offline LPARS may be different now.
               New variables in TYPE71
                 SMF71MCF='MULTITHREADING*MAXIMUM*CAPACITY'
                 And several PIB4 variables are now INPUT as RB8.
               TYPE75 SMF75AVL now input as floating point.
               New variables in TYPE799 dataset:
                 R799CUQ ='CU*QUEING*TIME'
                 R799CN2 ='DEVICE*FLAG*ESTENSION*2'
                 R799CSC ='SUBCHANNEL*SET*IE'
               New variables in TYPE89 dataset:
                 SMF89CR ='0=CP CREDITS*1=IB CREDITS'
               New variables in TYPE9005 dataset:
                 SMF90ESWT='SWT*VALUE'
                 SMF90ETWT='TWT*VALUE'
               New variables in TYPE23 dataset:
                 SMF23BBC='ZEDC*UNCOMPRESSEDSED*BYTES*TOTAL'
                 SMF23BAC='ZEDC*COMPRESSED*BYTES*TOTAL'
               New variable in TYPE26J2 and TYPE26J3
                 SMF26JCR='JOB*CORRELATOR'
               In multi-threading mode, the TYPE70PR data is changed
               from a one-to-one mapping of CPUID and LCPUADDR to the
               CORE_ID, and a core can have 2 CPUs. The CPUID value from
               the CPU Data Section is used to select the suffix for
               those datasets that have a unique set of variable names
               for each LPAR (TYPE70,ASUM70PR,ASUMCEC).

Change 33.045  The SMF 110 ST 1 record descriptions in the ANALID report
VMACID         incorrectly stored 110.001 in variable IDANDSUB instead
VMACSMF        of values 110.101-110.106, so only '110.001' was printed
Feb 23, 2015   instead of these possible descriptions;
                  110.1.1:CICS DICTIONARY MNSEGCL=1
                  110.1.3:CICS TRANSACTION MNSEGCL=3
                  110.1.4:CICS EXCEPTION MNSEGCL=4
                  110.1.5:CICS RESOURCE MNSEGCL=5
                  110.1.6:CICS IDENTITY MNSEGCL=6
               While this is only a cosmetic error, these are important
               enough that I refreshed 33.01 to add this change.
   Thanks to Andre G Amoretto, IBM Global Services, BRAZIL.


====== Changes thru 33.044 were in MXG 33.01 dated Feb 20, 2015=========

Change 33.044  See Change 33.155.  These data are now in TYPE74ST.
VMAC74         Corrections for TYPE74MO SCM Structure dataset. The test
Feb 19, 2015   for length had incorrect syntax, but fortunately did not
               cause a false positive.  There was a missing */ in the
               INPUT that misaligned data.   Also, it appears, from this
               note 2 on page 366 of z/OS V2R1.0 RMF Report Analysis
               that TYPE74MO can have zero observations because:
               "SCM statistics are only included in the SCM Structure
                Summary for those structures that make use of the SCM
                storage extension and have set a non-zero maximum SCM
                size. If none of the structures is configured to exploit
                SCM, the SCM Structure Summary displays message: No
                storage class memory data available."
   Thanks to Otto Burgess, ATPCO, USA.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.043  DATASET VXUSEACT/VXUSEINT NOT SORTED ERROR because the BY
VMACVMXA       lists for the MERGE were not identical.
Feb 19, 2015
   Thanks to Chris Weston, SAS Institute, USA.

Change 33.042  Using INCLAFTR=BUIL3005 for JES3 failed with PDB.TYPE25 ,
UTILBLDP       not found because UTILBLDP incorrectly blanked _STY25.
Feb 19, 2015
   Thanks to Paul Volpi, UHC, USA.

Change 33.041  SMFSRCH did not read the SMFOUT file of selected records,
FORMATS        due to an undocumented change in VMXGINIT that replaced
SMFSRCH        &SMF with SMF, preventing changing the input DDNAME and
VMXGINIT       causing the full input SMF file to be read by TYPESMF,
Feb 18, 2015   287 times!  TYPESMF is replaced by a tailored UTILBLDP
Feb 23, 2015   invocation that only processes the selected record types,
Feb 24, 2015   and in only one step.  And a PROC FORMAT that could fail
               with overlapped values was replaced in the new design.
               The selected record types are reported, and if you have
               user SMF records selected, you will need to use USERADDS
                %SMFSRCH(USERADDS=xxxx/nnn yyyy/mmm) to tell MXG which
               xxxx product has which nnn SMF record type.
              -Format MGSMFPR maps SMF Record Type to Product Suffix for
               the UTILBLDP USERADD= argument.
              -Feb 23: Harmless APPARENT UNRESOLVED ADDIDS if no records
               were selected corrected.
              -If SMFSRCH failed to find your text in SMF, it generated
               a call to UTILBLDP with BUILDPDB=NO and USERADD= to null
               which caused UTILBLDP to fail with MACRO variables not
               found.  Now if no records are found, it terminates with:
                 MXGNOTE: NO RECORDS WERE FOUND CONTAINING &LOOKFOR;
                 MXGNOTE: SMFSRCH WILL BE TERMINATED;
               and if UTILBLDP has BUILDPDB=NO and USERADD=blank it will
               terminate with:
                 MXGERROR: YOU SPECIFIED BUILDPDB=NO BUT DID NOT;
                 MXGERROR: SPECIFY A USERADD= SO UTILBLDP DOES;
                 MXGERROR: NOT HAVE ANYTHING TO DO AND WILL SET;
                 MXGERROR: THE OUTFILE TO A NULL DATASET;
               and since the OUTFILE is NULL a following include of that
               file will not fail since it is empty.

Change 33.040  Support for SystemWare XPTR 5.2 subtype 140 record which
VMACXPTR       now contains what used to be in their subtype 40 record.
Feb 18, 2015
   Thanks to Phil Grasser, Norfolk Southern, USA.


Change 33.039  Summarization of Mobile Work CSV files to combine hours
MOBWRKSU       that were split between two CSV files.  All files from a
Feb 19, 2015   family are concatenated to the //CSVINPUT DD and the
               summarized CSV data is written to //CSVSUMRY DD.
              -CSVSUMRY was originally DISP=MOD, to collect the input
               from four sources, but DISP=MOD can not be used for a
               PDSE member, so the MOD file is written to an internal
               catalog file, which is then copied to //CSVSUMRY.

Change 33.038  Change 30.082 added protection for SMF type 60 record
VMAC60         with no VVR segment, but the protection was insufficient,
Feb 17, 2015   and an INPUT STATEMENT RECORD EXCEEDED error could still
               occur.  Now, the remaining length is verified.
   Thanks to Tabbitha Flink, FirstData, USA.

Change 33.037  Support for HP MeasureWare for Linux.
ADOCMWLX      -ADOCMWLX has the REPORT command to extract the fields MXG
EXMWLXAP       expects, so it must be used to create MXG's input data.
EXMWLXCO      -CPU Times in the MWLXGLOB dataset are presumed to be the
EXMWLXDS       per-CPU values in the record; they have been multiplied
EXMWLXGL       by the number of CPUs.  Other times are as found.
EXMWLXLA      -ALL STORAGE variables contain BYTES and are formatted
EXMWLXPR       with MGBYTES for total bytes and MGBYTRT for byte rates.
EXMWLXTT       Fields in the record in KB have been converted to bytes.
IHDRMWLX      -IHDRMWLX or &MACMWLH can be used to select which TYPE
IMACMWLX       records are to be read.
TYPEMWLX
TYPSMWLX
VMACMWLX
VMXGINIT
Feb 13, 2015
Feb 20, 2015
   Thanks to Roman Gudz, Penske, USA.

Change 33.036 -RACF SMF 80 record, SMF80TP2=301, Command Segment Data
VMAC80A        segments "CTOKENKY" and "CTOKENTM" are supported.
Feb 12, 2015  -The variable length TOKxxxxx fields do not document their
               max length, and MXG can get INPUT RECORD EXCEEDED errors
               if an input field is longer than the defined length in
               its $VARYINGnn informat. These variables are increased to
               $VARYING64 to hopefully avoid the error condition:
                TOKCOMPANY  TOKCOUNTRY  TOKFNAME    TOKMNAME    TOKLNAME
                TOKMCARRIER TOKMCANSWR1 TOKMCANSWR2 TOKMCANSWR3
                TOKMCBADCNT
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 33.035  RACF SMF 80 record, SMF80TP2=301, Command Segment Data
VMAC80A        segment "AUTOGID" decodes 4 variables but their contents
Feb 11, 2015   is not known at this time:
                 TOKMAUTOGID01 TOKMAUTOGID02 TOKMAUTOGID03
                 TOKMAUTOGID04
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 33.034  The variables SYSABEND and USRABEND were created but not
VMACIMS        decoded in the IMS56FA transaction dataset. Now, COMPCODE
Feb 10, 2015   is decoded into these two useful IMS transaction abend
               code variables in all record that contain it.
   Thanks to Raymond J. Smith, OPTUM, USA.

Change 33.033  WPS 3.1.1 maint level 731 will now write multiple output
WEEKBLD        datasets to sequential format data libraries without the
Feb 10, 2015   need to use DISP=MOD.  Without MOD and 731, each write
               overwrote the prior, leaving only the last dataset.

Change 33.032 -Variables SMF70WTI/SMF70WTS/SMF70WTU (new WTI-s) were ok
VMAC7072       in dataset TYPE70EN, but were always zero in TYPE70PR.
VMXG70PR       TYPE70PR is now corrected, but those values only exist
Feb  8, 2015   in the "THIS PART" TYPE70 records, so you must read ALL
               system's TYPE70s to properly populate these variables.
               They are always missing in the LPARNAME='PHYSICAL's
              -VMXG70PR is updated so the PDB.ASUM70LP and PDB.ASUMCELP
               LPAR Summary datasets contain those variables, but only
               if RMF type 70 records from ALL systems are input.

Change 33.031  Using BLDSMPDB and FORCEDAY to re-run a daily job could
BLDSMPDB       incorrectly calculate the start of week, depending on the
VMXGALOC       case of your typed code.  Now when you specify FORCEDAY
Feb 19, 2015   to rerun SMF data, ZDATE will be set to FORCEDAY+1.
Feb 26, 2015   Error was introduced in MXG 32.11, Change 32.253.
               And all of the tests where casing can impact are now
               now protected with %UPCASE compiler functions, but the
               members remain lower case because of earlier problem in
               casing in Linux systems; it might not still be required,
               but not worth the exposure and time spent for no value.

Change 33.030  Mainview for MQ 5.2 support is corrected; the wrong byte
VMACBBMQ       was used to detect compressed records, causing spurious
Feb  5, 2015   messages that individual records were compressed.
   Thanks to Greg Tuben, BMC Software, Inc., USA.

Change 33.029  The iSeries a/k/a AS400 QAPM "suffix" was replaced by the
TYPEQACS       "QACS" suffix years ago, but those old QAPM members are
Feb  4, 2015   now removed; they were causing false positives in the MXG
               QA tests, and served no purpose.  All of the xxxxQAPM are
               deleted, and these exit members that weren't carried into
               the QACS product were also deleted.
                   dddddd     exit         dddddd     exit
                   token      member       token      member
                  _WQAPASY    EXQAPASY    _WQAPPOO    EXQAPPOO
                  _WQAPBSC    EXQAPBSC    _WQAPRWS    EXQAPRWS
                  _WQAPDDI    EXQAPDDI    _WQAPSTD    EXQAPSTD
                  _WQAPECL    EXQAPECL    _WQAPSTL    EXQAPSTL
                  _WQAPFRL    EXQAPFRL    _WQAPSTY    EXQAPSTY
                  _WQAPIDL    EXQAPIDL    _WQAPX25    EXQAPX25
                  _WQAPJOB    EXQAPJOB
                  _WQAPLAP    EXQAPLAP
               While the SUFFIX QAPM is retired, the names of all of the
               datasets created by TYPEQACS are unchanged and all start
               with QAPMxxxx.

Change 33.028  Support for EDS User SMF Record from NETMENU Program,
COMPALL        creates new dataset:
EXTYNTMU          DDDDDD   DATASET   DESCRIPTION
FORMATS           TYNTMU   NETMENU   SMF NETMENU RECORD DATABASE
IMACNTMU
TYPENTMU
TYPSNTMU
VMACNTMU
VMXGINIT
Feb  3, 2015
   Thanks to Joe Babcock, General Motors, USA.

Change 33.027  Example from SAS Help to delete all GLOBAL'ed USER MACRO
VMXGDELV       Variables, used only in the QA JOB when new code caused
Feb  3, 2015   an unexplained error (the "TURN SPOOL ON" message) in
               Step 34, but there was no error when Step 34 ran first.
               By clearing all Global Macros before Step 34, the actual
               unresolved macro variable error was then unmasked, but
               maybe only accidentally!  To clear and re-initialize
                 %VMXGDELV;%INCLUDE SOURCLIB(VMXGINIT);%VMXGINIT;
               is needed so that the GLOBAL statement in VMXGINIT is
               re-executed.  And because %VMXGDELV cleared the flag
               variable MXGINIT, %VMXGINIT prints the Welcome To MXG
               message, instead of the the re-initialization message.

Change 33.026  Reserved Change Number.

Change 33.025 -Variable QBSTBPIN='BUFFER*POOL*IO*INTENSITY' based on IBM
ANALDB2R       Tivoli calculation is added to DB2STATB dataset and also
VMACDB2        ANALDB2R reports the value.
VMXGDBSS         QBSTBPIN=SUM(QBSTRIO,QBSTSPP,QBSTLPP,QBSTDPP,QBSTIMW,
Feb  3, 2015                  QBSTWIO)/QBSTVPL;
Feb 26, 2015  -ASUMDBSB now reports both average and maximum QBSTBPIN.
              -Debugging test IF SYSTEM='SYSG' removed from DB2B1 Buffer
               Pool Statistics reports
              -Feb 26: Protected QBSTBPIN from divide by zero error when
               QBSTVPL=0 when no buffers were allocated in the pool.
   Thanks to Tim Hare, Hare Systems Support, USA.
   Thanks to Jonathan Bathmaker, Southern California Electric, USA.
   Thanks to Tom Buie, Southern California Electric, USA.

Change 33.024  Test added to detect ANY work in service class SYSOTHER.
UTILRMFI       The UTILRMFI utility is cited in error messages that your
UTILWORK       CPUTM does not match CPU72TM when building RMFINTRV: run
VMXGRMFI       UTILRMFI to examine your VMXGRMFI workload definitions to
Feb  3, 2015   find what work was overlooked.  However, if there is any
               work in the SYSOTHER Service Class (which itself is an
               error in your site's WLM Classification Rules), that may
               cause the mismatch, since that work probably also doesn't
               have a Reporting Class.  Now you are alerted of the WLM
               definition error.  Note that SYSOTHER is also undesired
               because that work is MTTW DISCRETIONARY, so whatever is
               falling thru is NOT going to get much service.

Change 33.023  Support for new z/OS z13 hardware metrics (COMPATIBLE):
FORMATS       -APAR OA43493 RMF Support Cryptographic Express5S cards:
VMAC30         New Crypto Processor types in R7023CT/24CT/25CT variables
VMAC7072       decoded by $MGRMFCY/MGRMFCZ formats in datasets TYPE7002,
VMAC74         TYPE70X2, and TYPE70Y3.
VMAC113        New variables in TYPE70Y2 dataset:
VMACVMXA        R702AMGB='DATA BYTES*FOR*GENERATE*AES MACS'
Jan 29, 2015    R702AMGC='CALLS TO*GENERATE*AES MACS'
ASUM113         R702AMGI='INSTRUCTIONS*TO GENERATE*AES MACS'
Feb 25, 2015    R702AMVB='DATA BYTES*FOR*VERIFIED*AES MACS'
May 21, 2015    R702AMVC='CALLS TO*VERIFY*AES MACS'
                R702AMVI='INSTRUCTIONS*TO VERIFY*AES MACS'
                R702DEGC='CALLS*TO GENERATE*ECC*SIGNATURES'
                R702DEVC='CALLS*TO VERIFY*ECC*SIGNATURES'
                R702DRGC='CALLS*TO*GENERATE*RSA*SIGNATURES'
                R702DRVC='CALLS TO VERIFY*RSA*SIGNATURES'
                R702FPDB='DATA BYTES*DECIPHERED*USING FPE'
                R702FPDC='CALLS TO*DECIPHER*USING FPE'
                R702FPDI='INSTRUCTIONS*TO DECIPHER*USING FPE'
                R702FPEB='DATA BYTES*ENCIPHERED*USING FPE'
                R702FPEC='CALLS TO*ENCIPHER*USING*FPE'
                R702FPEI='INSTRUCTIONS*TO ENCIPHER*USING FPE'
                R702FPTB='DATA BYTES*TRANSLATED*USING FPE'
                R702FPTC='CALLS TO*TRANSLATE*DATA*USING FPE'
                R702FPTI='INSTRUCTIONS*TO TRANSLATE*USING FPE'
              -APAR OA44502 RMF Support Coupling Channel Path Type CS5:
                Format $MG074OM updated and applied to variable R744HOPM
                in dataset TYPE74HO.
              -APAR OA30563, Enhanced SMF 30 and 89 recording; metrics
               listed in the updated APAR were added in Change 28.175.
               The APAR adds new MAXEVENTINTRECS with zero default,
               so the new capacity changed interval 30/89 records will
               not be created with that zero value.
              -APAR OA35175, SMFPRMxx options DSPSIZMAX; the TYPE23
               dataset updates were actually made in Change 29.177.
              -APAR OA45985, RMF support for zHYPERWRITE in 2107 CU.
               Adds new variable HYPERWRT='Y' to TYPE74 if requested.
              -SMF 113 has new z13 counters and revised calculations,
               including RNI and its component variables:
                 RNI=2.6*(0.4*L3P+1.6*L4LP+3.5*L4RP+7.5*MEMP)/100;
               Corrections made March 5.  However, the new counter
               descriptions do not yet exist.
               Note that variables L15P L2LP L2RP are always missing
               values on the z13.
               Without this change, negative RNI values for z13 even in
               non-SMT mode were created.
              -May 21: ZEDC added to the label for those eight metrics.

Change 33.022  A JES3 site TERSE with UNPACK failed with DCB attributes
DOC            //SYSPRINT DD RECFM=FBA,LRECL=133,BLKSIZE=13232, but with
Jan 28, 2015   only the message   AMA504I  RETURN CODE: 12  and no clue.
               Removal of the DCB attributes successfully untersed.
               However, it was NOT the non-multiple of LRECL for BLKSIZE
               that was the error. A prior IDCAMS step had a //SYSPRINT
               DD that JES3 made into a temporary DSNAME, and the same
               DSNAME was then used in the TERSE step, but the different
               BLKSIZE caused the conflict and RETURN CODE.  That's my
               story and I'm stikin' to it until I learn more about why
               JES3 passed a temporary DSNAME for //SYSPRINT.  However,
               there is NO need for DCB attributes on SYSOUT= DDnames,
               so to avoid ANY future exposure, I've removed all DCB
               from those DDs in all MXG examples.
              -All //OUTPUT DDs for PGM=FTP were removed, as //SYSPRINT
               is used for all messages when there is no //OUTPUT DD.
   Thanks to Tom Adams, State Farm Mutual Automobile Insurance, USA.

Change 33.021 -If no Reporting Classes were defined, ASMRMFV skipped all
ADOCRMFV       RCD tables as invalid due to a faulty calculation, with a
ASMRMFV         RMFV035W **WARNING:159 RCD TABLES SKIPPED DUE TO ERRORS
CLRMFV         and ultimately set a Return Code 16.  Should be very rare
JCLRMFV        since most sites DO define Reporting Classes.
JCLCRMFV      -Change 32.055 did not fully resolve the RED table issue:
JCLdRMFV        RMFV035E:1 RED TABLES SKIPPED DUE TO INVALID ID OR FLAG
Jan 26, 2015   the Invalid Resource bit may be set for Processor entries
               in the RED table in a MINTIME interval due to normal
               processor change events, so these are not true RED table
               errors and ASMRMFV was incorrectly issuing an RMFV035W
               warning message and Return Code 16 for this transient and
               insignificant return code.
              -ASMRMFV now will NOT alter the Return Code, issuing a
               distinct RMFV035I information message for this condition
               regardless of the setting of the TABERR= option:
                 RMFV035I -IGNORED-:  nnnnn RED TABLES SKIPPED DUE TO
                 INVALID PROCESSOR RESOURCE FLAG---
              -After Change 32.289 the number of Policy Indexes Used
               in informational message RMFV028I as triggered by the
               INDEXES option could be incorrect.
              -The MXG table was shown in the Detail Report with the
               NOSHOWZERO option in effect even when zero records were
               output.  This table is only output once for the first
               RMF III data set processed.
              -The RMFV006I FILTER message for ASI, DVT, and CFI table
               specific options is now always shown even if none of
               these tables are selected for a minor performance gain,
               as selection logic for what to display was revised.
              -Unnecessary checks for I/O errors on the SYSPRINT file
               are removed.  An ABEND occurs with any I/O error on this
               file so the additional checks were unneeded.
              -Updates for revised messages RMFV006I and RMFV035I are
               made to Section 12 "Messages" in ASMRMFV and ADOCRMFV
               documentation members.
              -REQUIREMENT: In order to implement these features the
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
   Thanks To John Wynn, IBM Global Technology Services, USA.

Change 33.020  AS/400 iSeries fixed-length records change lengths with a
VMACQACS       new version, so you may have to change the LRECL in your
Feb  2, 2015   FILENAME statement on ASCII or in your JCL on z/OS.
               The length change is usually detected with MXG messages
               on the log with "PAD RECORD FOUND AND DELETED".
               Now, you can specify %LET MXGABND=NNNN; in //SYSIN to
               force USER ABEND NNNN if more than 10 PAD records
               are found.  Use 0001 thru 4096 for the NNNN value.
               New messages identify the filename and dsname being read.
   Thanks to Raymond J. Smith, OPTUM, USA.

Change 33.019  Variables TOKQUEST1-TOKQUEST3, TOKCANSWR1-TOKCANSWR3 and
VMAC80A        CBADCNT are added to dataset TYPE80TK.
Jan 21, 2015
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 33.018 -RACF TYPE8025 Record with DTP=30 segment with 'C0'X value
VMAC80A        for the status ('80'x=ACTIVE,'40'x=BACKUP) caused ERROR:
Jan 21, 2015   INVALID RACF ID=80 RACFTYPE=30 SEGMENT SKIPPED, because I
Feb  5, 2015   didn't realize a DSNAME could be both ACTIVE and its own
Feb 23, 2015   BACKUP, so I had created two sets of variable names, with
               RACFDBxx for the ACTIVE segment and RACFDKxx for BACKUP.
               Test for '80'x first, now stores into RACFDBxx variables,
               or '40'x or 'C0'x store into RACFDKxx variable names.
              -For BACKUP-ONLY ('40'x) segments, both UNIT NAME/VOLSER
               are not populated, while both are in the ('C0'X) record.
              -Feb 23: TOKMPROCUSERMAX variable decoded.
               See Change 33.084.
   Thanks to Karl Lasecki, American Chemical Society, USA.

Change 33.017  Documentation only!  Example added that sends all of the
UTILBLDP       DB2ACCTx datasets to a single //DB2ACCT LIBNAME, and uses
Jan 21, 2015   MACKEEPX in UTILBLDP to control dataset destinations and
               sorts and could also be used to limit variables.  The
               DB2KEEP= parameter in BLDSMPDB is used to tailor the
               number of generations retained to control the storage
               needed for these normally-large datasets (ASCII only with
               AUTOALOC=YES).

Change 33.016  Support for z/VM 6.3 on z13 processor (INCOMPATIBLE).
VMACVMXA      -The PRCMFC 5.13 record's new CSVN=4 hardware counters
Jan 20, 2015   caused MXG code to fail with "BROKEN CONTROL RECORD".
               Circumvented by skipping the extra 24 bytes, await
               the actual documentation of those new counters before
               decoding.
               IN PROGRESS.

Change 33.015  DCOLLECT variable DCDCREAT-DATETIME*WHEN*DATASET*CREATED
VMACDCOL       is added to dataset DCOLDSET; the time part wasn't in the
Jan 20, 2015   original record, but was added by APAR OA30006 in 2009.
               DCDCREAT is only populated if both DCDCREDT and DCDTIMEC
               are non-zero.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.014  Support for z/13 processor increase to 85 LPARs was added
VMAC7072       in MXG 32.06, Change 32.162, July, 2014, changing the
Jul 27, 2015   statement to ARRAY S70LPCP {86}  _TEMPORARY_; to  support
Jan 19, 2015   85 "real" LPARs plus the PHYSICAL "LPAR".  Support for
               255 engines was added silently in MXG 31.04 in 2013.

Change 33.013  Support for CTG Version 9.1 (COMPATIBLE).
EX111WS       -Variable added to CTGSE System Environment dataset:
EX111WSX         CTGC31MAX='LIMIT OF*USED*MEMORY*ELOAL'
IMAC111       -Two new segments, WS and WSX create new datasets:
VMAC111           DDDDDD   DATASET   DESCRIPTION
VMXGINIT          111WS    TY111WS   WEB SERVICE ALL
Jan 20, 2015      111WSX   TY111WSX  WEB SERVICE INSTANCE
   Thanks to David Marone, SGS, ITALY.

Change 33.012  Unused Change Number.

Change 33.011 -INPUT STATEMENT EXCEEDED, DFSORT SMF 16, OFFSTAT=640 and
VMAC16         LENSTAT=64, but record is TRUNCATED with LENGTH only 636,
Jan 14, 2015   so there is no STAT segment in the record.
               A PUTLOG ERROR message is written for the first three
               instances, the TYPE116 dataset is output, but variables
               RECIND01-RECIND16 will be missing values.  This text will
               be revised when an APAR exists.  DFSORT Release 2.01.
              -These variables added in DFSORT 2.01, but not listed in
               the manual's changes, nor marked as new with the expected
               vertical bars, are now added to dataset TYPE16:
                 ICEDYINC='INITIAL*INCREMENT'
                 ICEDYMAX='FINAL*EXPMAX*DYNAMIC*VALUE'
                 ICEDYOLD='FINAL*EXPOLD*DYNAMIC*VALUE'
                 ICEDYRES='FINAL*EXPRES*DYNAMIC*VALUE'
                 ICETUNE ='TUNE*VALUE*IN*EFFECT'
   Thanks to Kerry Sommers, John Deere, USA.

Change 33.010  No errors have been reported, but ARRAY WORDS statements
VMAC112        raised conflicts if TYPE112/TYPEEZAM/TYPETMNT are read
VMACEZSM       together; only one ARRAY NAME can be used in a DATA step.
VMACTMNT       These are temporary arrays for parsing with different
Jan 12, 2015   dimensions and variable lengths, so the ARRAY NAMEs are
               made unique to eliminate the exposure.

Change 33.009  IBM Updates to SMF 14/15 for zEDC Compression Indicator
FORMATS        SMF30XF1 adds values and is now decoded by $MG014ED:
VMAC1415         '0'='0:SIZE VALUES INVALID'
Jan 12, 2015     '1'='1:COMPRESSION REJECTED'
                 '2'='2:ZEDC WRITTEN UNCOMPRESSED'
                 '3'='3:ZEDC SOFTWARE DECOMPRESSED'
               and new SMF14CMPTYPE='Compression Type' variable is
               added and decoded by MG014CT format:
                  0='0:NOT COMPRESSED/UNKNOWN'
                  1='1:GENERIC'
                  2='2:TAILORED'
                  3='3:ZEDC'
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.008  ONLYCIDS example creates ONLY the PDB.CICDS Dispatcher
ONLYCIDS       Statistics dataset, that contains interval CPU time for
Jan 12, 2015   each CICS Interval, and can be used for CPU Time Metric
               in IBM Mobile Work Discount
   Thanks to Scottie Long, Navy Federal Credit Union, USA.

Change 33.007  TYPERMF incorrectly requires a //PDB DD because it was
TYPERMF        not updated when the 2005 "SPLIT70 logic" created the
Jan 11, 2015   TYPE70EN dataset, written to PDB by default.  Like the
               two existing %LETS for PTY70 and PTY70PR in TYPERMF,
               a  %LET PTY70EN=WORK; is needed so //PDB is not used.
   Thanks to George Baranoff, Safeway, USA.

Change 33.006 -SAS Error "No MKLEs found" and "ERROR: VM 1319:" is a
DOCUMENT       virtual storage issue, usually too small a REGION= size,
Jan 11, 2015   but also a known SAS Version 9.2 defect, see below.
              -The MXG QA "BUILDPDB" JOB (with a few added SMF types)
               increased from 130MB in 31.31 to 140MB in 32.32.
              -Each new MXG version adds new variables, datasets, and
               code which cause the REGION size to increase a little.
               Unfortunately, the z/OS REGION is a LIMIT not a BENEFIT,
               so you get to periodically increase the REGION= value,
               and/or check with your site's "REGION SIZE POLICE" to
               find their actual limit for REGION=0M, and/or what JOB
               CLASS/RACFUSER will let you allocate the REGION needed.
              -There is NO ACTUAL RESOURCE "consumed" by REGION size.
              -The actual step region size is in the IEF032I message on
               joblog for each step:    EXT: 130,852K    SYS: 12,088K
               EXT is the region size "Above the 16MB Line" and SYS is
               the size of the Private Area on this system. Their sum is
               the region size allocated to this step, or
                   130,852+12,088=142,940K=140MB REGION size.
               -The SAS log shows "And 130852K Above the Line" matching
                the EXT value exactly. SAS also reports a value for the
                "Below the Line", but it is (small) amount used, not the
                actual size of the Private Area, which must be included
                in the REGION limit.
               -One site moving from an ancient MXG version still had
                REGION=6M on their JOB Card from the prior millennium.
                You get the system default of 32MB Above the Line plus
                the Private Area, or about 42MB, but because their daily
                job was split into parallel pieces, it actually had
                worked (accidentally?) until 32.32.
              -SAS needs REGION size for referenced FORMATS, for dataset
               buffers, for arrays, for SAS VIEWs, and for the CICSIFUE
               SMFEXIT=CICS INFILE exit to load.
              -SAS Version 9.2 is Class C support from SAS and it had
               fatal errors in virtual storage on z/OS that were ONLY
               corrected by SAS 9.3 or 9.4.
              -One 9.2 site's tailored BUILDPDB ran in 130MB with 30.01,
               needed 159MB with 32.32, but when the CICSIFUE exit was
               enabled, the job failed and IEF032I reported only 97MB
               had been allocated.  Rerun with 32.32 and SAS 9.4 and
               WITH the exit needed 179 MB, and ran with no error.
              -MXG 33.03 QA BUILDPDB on z/OS 2.1, SAS 9.4(TS1M2) needed:
                142M with View Disabled and no CICS EXIT Enabled.
                147M with the View Enabled (default), and no Exit.
                149M with both the VIEW (ID, for ANALID) and with EXIT.

     Copied from NEWSLTRS:

     SAS USER U1319 ABEND if EXITCICS/CICSIFUE and /VIEW=_WCICTRN used,
     or with BUILDPDB, if back level SAS 9.1.3 SP4 without Hot Fix 37166
     is used.  SAS Error is corrected in SAS 9.2.

     Using a VIEW for CICSTRAN with the CICSIFUE decompression INFILE
     user exit caused a USER ABEND U1319 error, that is now corrected in
     the SAS HotFix for SAS Note 37166.
     This SYSIN input caused the U1319 abend :
        %LET SMFEXIT=CICS;
        %INCLUDE SOURCLIB(VMACSMF,VMAC110,VMXGUOW,IMACKEEP);
        DATA
        _VAR110
          /VIEW=_WCICTRN;
        _SMF
        _CDE110
        _S110
     with these cryptic messages on the SAS log:
        +No MKLEs found
        +ERROR: VM 1319: The PCE address= 1848CB54
                         and MEMORY address=000D98D8
        IEA995I SYMPTOM DUMP OUTPUT  749
        USER COMPLETION CODE=1319
     Removing /VIEW=_WCICTRN, the execution works fine with the Exit.
     Also using TYPS110 worked fine (because it doesn't have a /VIEW).

     But the same error message will occur with BUILDPDB due to the view
     for VMACID.  This error can be circumvented by inserting this
     statement in your //SYSIN
         %LET VWVMACID=;
     which disables that sole VIEW in the BUILDPDB.

     Change 27.260 is a VERY-EXPENSIVE-ON-Z/OS-alternative to EXITCICS.

   Thanks to Jerry Massey, Compuware, USA.
   Thanks to Dave Greene, Compuware, USA.

Change 33.005  Support for APAR OA45767 adds compression statistics for
VMAC30         the zEDC compression engines to the TYPE30_4,_5,_V,_6,
BUILD005       PDB.STEPS and PDB.SMFINTRV datasets, and these variables
BUIL3005       (plus the _INST_ variables added by Change 31.153) are
Jan  9, 2015   now also summed into the PDB.JOBS dataset.
                SMF30_US_COMPRREQ       SMF30_US_COMPRREQ_PROB
                SMF30_US_DEF_COMPROUT   SMF30_US_DEF_UNCOMPRIN
                SMF30_US_EXECTIME       SMF30_US_INF_COMPRIN
                SMF30_US_INF_DECOMPROUT SMF30_US_QUEUETIME
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 33.004 -(Archaic) SAS V9.1.3 JCLTES91 messages with MXG 32.32.
JCLTES91       Running the JCLTES91 with SAS V9.1.3 & MXG 32.32:
VMACIDMJ       -VMACIDMJ contains FORMAT RECDATE DATE11.; which is not
Jan  9, 2015    supported in SAS V9.1.3; if you use VMACIDMJ (unlikely!)
                change to DATE9.
               -JCLTES91 TESTOTHR step needed //IMSMERGE DD DUMMY after
                the existing //IMSLOG DD DUMMY.  Added.
   Thanks to Lee Lewis, SPVM Quebec, CANADA.

Change 33.003  Support for user CICS USERMOB and USEREOT segments.
IMACAAAA       -UTILEXCL was updated for these two user fields.
IMACICVI       -Testing exposed that the MXG "EXCLUDED FIELDS" detection
IMACICVJ        in TYPE110 does NOT work if there are optional segments
PRODTEST        that INCREASE the MCTSSDRL, since MXG can only detect if
UTILEXCL        MCTSSDCN/MCTSSDRL are SMALLER than the default size for
VMAC110         that SMFPSRVR.  UTILEXCL is now updated to not only read
Jan  8, 2015    the Dictionary records, but also any CICSTRAN records to
Jan 15, 2015    produce two new reports of any APPLID/TRIPLETs that are
Jan 19, 2015    found in transactions but don't have Dictionary records.
               -For completeness, there are two additional tests in the
                TYPE110 processing that can detect excluded fields:
                 a. TASKNR is a Packed Decimal, and that will be a
                    missing value if the INPUT is mis-aligned.
                    Unfortunately, TASKNR is near the front of the
                    record, and most Excludes are newer fields further
                    into the record.
                 b. A test for CPUTM GT 10*ELAPSTM, because CPU fields
                    are further into the record.  See Change 29.076 why
                    the factor of 10 is needed (for knee-capped CPs).
   Thanks to Rob Hollingum, HSBC, ENGLAND.

Change 33.002  z/OS 2.1 overlooked variables are added in TYPE74OM.
VMAC74           OMVSCLMN='MIN SHARED*STORAGE MB*ALLOCATED PER CYCLE'
Jan  8, 2015     OMVSCLMX='MAX SHARED*STORAGE MB*ALLOCATED PER CYCLE'
                 OMVSCSLR='ACCUM SHARED*STORAGE*ALLOCATED*INTERVAL'
                 OMVSMQDS='MAX*QUEUED SIGNALS*ALLOWED*PER PROCESS'
                 OMVSMSLR='MAXIMUM*STORAGE MB*AVAIL*SHAREDM'
                 OMVSOLMN='MIN ATTEMPTS*EXCEED MAXIMUM*REGION PER CYCLE'
                 OMVSOLMX='MAX ATTEMPTS*EXCEED MAXIMUM*REGION PER CYCLE'
                 OMVSOQDS='ACCUM ATTEMPT*EXCEED MAX*QUEUED*INTERVAL'
                 OMVSOQMN='MIN ATTEMPT*EXCEED MAX QUEUED PER CYCLE'
                 OMVSOQMX='MAX ATTEMPT*EXCEED MAX QUEUED PER CYCLE'
                 OMVSOSLR='ACCUM ATTEMPTS*EXCEED MAX*INTERVAL'
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 33.001  Typo, variable ESTBUTES corrected to ESTBYTES.
ANALTLMS
Jan  6, 2015
   Thanks to Pierre-Pascal Joulin, SOCGEN, FRANCE.

LASTCHANGE: Version 33.
=========================member=CHANGE32================================
 /* COPYRIGHT (C) 1984-2015 MERRILL CONSULTANTS DALLAS TEXAS USA */

ANNUAL: MXG Version 32.32 is  dated Jan  6, 2015, thru Change 32.309
        MXG Version 32.12 was dated Dec 23, 2014, thru Change 32.304
        MXG Version 32.11 was dated Dec  2, 2014, thru Change 32.283
First   MXG Version 32.11 was dated Dec  1, 2014, thru Change 32.281
        MXG Version 32.10 was dated Oct 16, 2014, thru Change 32.240
First   MXG Version 32.10 was dated Oct 10, 2014, thru Change 32.237
        MXG Version 32.09 was dated Sep  9, 2014, thru Change 32.218
        MXG Version 32.08 was dated Aug 21, 2014, thru Change 32.201
        MXG Version 32.07 was dated Aug  3, 2014, thru Change 32.181
        MXG Version 32.06 was dated Jul 21, 2014, thru Change 32.170
        MXG Version 32.05 was re-dated Jun 18, 2014, thru Change 32.138
First   MXG Version 32.05 was dated Jun 16, 2014, thru Change 32.136
Actual  MXG Version 32.04 was dated Apr 27, 2014, thru Change 32.101
First   MXG Version 32.04 was dated Apr 23, 2014, thru Change 32.099
        MXG Version 32.03 was dated Apr  3, 2014, thru Change 32.078
        MXG Version 32.02 was dated Feb 26, 2014, thru Change 32.042
        MXG Version 32.01 was dated Feb  6, 2014, thru Change 32.025
ANNUAL  MXG Version 31.31 was dated Jan 20, 2014, thru Change 31.296
  MXG Newsletter SIXTY-TWO was dated Sep  1, 2013.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 32.32 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 32.32.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================


I.  MXG Version 32.32 dated Jan  6, 2015, thru Change 32.309.

  Major enhancement added in MXG 32.32, dated Jan  6, 2015:

  TYPETMO2 32.309  Support for ASG TMON/CICS Version 4 INCOMPATIBLE.
  TYPE50   32.307  TYPE50 LENGTH=254, INPUT STATEMENT EXCEEDED.
  BLDSMPDB 32.306  RUNDAY=NO incorrectly executed the PDBAUDIT report.

  Major enhancement added in MXG 32.12, dated Dec 23, 2014:

  Errors corrected:
  VMACSMF  32.300  MXG 32.11-WPS ONLY. CANT READ SMF ON ASCII, MXG ERROR
  TYPEWECR 32.301  WPS ONLY. DATA SET "WORK.WEBSCRAU" NOT FOUND.
  TYPE112  32.295  Long BY list, HOST SORT CAN NOT BE USED, MXG error.
  UTILVREF 32.295  QA UTILVREF now detects long BY lists for HOST SORT.
  TYPENDM  32.284  NDM 'PT' INVALID SUBSTR, A#/C#/D#/S$/U#/UK supported.
  TYPE22   32.288  MXG 32.03-MXG 32.11 Type 22 UNKNOWN SECID=40 error.
  New Support:
  TYPE105  32.291  Support for GDPS SMF 105 2-byte fields APAR PI26702.
  TYPEIMS7 32.290  Larger DLREXTIM time now used for (archaic) IMSCPUTM.
  ASMIMSL6 32.290  Larger DLREXTIM time now used for (archaic) IMSCPUTM.
  VGETJESN 32.296  &MACJESN can delete records by TYPETASK (e.g. OMVS).
  ASUMDB2A 32.293  Warning when "Rollups" are detected, summarized data.
  AUTOEXEC 32.292  Old MXG SORTSIZE=400M removed, default SORTSIZE used.
  BLDSMPDB 32.299  %PDBAUDIT invocation can capture ALL "PDBs".
  PDBAUDIT 32.297  %PDBAUDIT can be bypassed with PRINTAUDIT=NO.

  Major enhancement added in MXG 32.11, dated Dec  2, 2014:

  MOBILWRK 32.279  MOBWRK02,MOBWRK05 enhanced, STARTHR in all merges.
  PDBAUDIT 32.274  Report enhanced, SORTEDBYSIZE, commas in numbers.
  SMFINTRV 32.271  New SMFINTRV member creates PDB.SMFINTRV from SMF.
  IHDRBVIR 32.270  The IHDRBVIR "BVIR Header" exit was overlooked.
  ANALDSCK 32.268  New "DSNAME Check" reads all SMF with a DSNAME.
  ANALID   32.257  ANALID reports 78.2.1 and 78.2.2 VSTORE enabled.
  TYPEVMXA 32.254  Support for z/VM concatenated MONWRITE mult systems.
  TYPEEZSM 32.252  Support for EzSM 4.2.0 creates new datasets.
  ASMRMFV  32.250  Further ASMRMFV parsing/command/filtering updates.
  TYPEBVIR 32.249  Support for BVIR Version 2 short '32'x Record.
  TYPECLAR 32.247  Support for EMC's Clarion Flare Firmware V26-V33.
  UTILEXCL 32.265  Support for 2nd CMODNAME='USER',CMODHEAD='USER'.

  TYPE119  32.278  TYP11902 TTTTLSxx variables misaligned.
  TYPE7072 32.277  R7023MEG/R7023CRT were not multiplied by R7024SF.
  TYPENDM  32.275  Variable NDMRTCPU in NDMRT was incorrectly INPUT.
  TYPERACF 32.273  ASCII only. Variable LIOBTIME in RACF0200 wrong.
  TYPEXAM  32.272  ERROR IN XAMSYS, SEGNAME=CMS, MXG coding error.
  ODS      32.269  Documentation of two common ODS errors on z/OS.
  TYPE7072 32.267  TYPE70X2 variables CRYAC1U/CRAM3U need mult 100.
  WEEKBLxx 32.264  WPS ONLY. Test for &SYSVER GE 6 s/b &SASVER GE.
  Many     32.263  MXG PROC COPY have MEMTYPE=DATA, ITEMSTORE fails.
  BLDSMPDB 32.262  WTD with WEEKKEEP, or WTD with AUTOALOC, failed.
  VMACDB2H 32.261  DB2 variable JOB could be incorrect LENGTH $12.
  VMXGDSNL 32.260  MXG on Linux to process AS400 data, slash issue.
  TYPE102  32.259  IFCID=220: Invalid Argument corrected.
  MONTHxxx 32.253  BLDSMPDB,MONTHBLD, z/OS, out of order daily GDGs.
  TYPE30   32.251  Variables EXCP/IOTM-NODD/TODD/TOTL inconsistent.
  BLDSMPDB 32.248  WPS, z/OS, BLDSMPDB, RECFM=S370VBS not supported.
  TYPE7072 32.246  TYPE72GO's PERFINDX can be missing when it's large.
  MOBWRK73 32.244  MOBWRK73 in 32.10 incorrectly required //PDB DD.
  TYPEVMXA 32.243  z/VM Interval ENDTIME wrong if first 0.1 not CPU 0.
  TYPEVMXA 32.243  Each START MONITOR message is a LOST interval.


  Major enhancement added in MXG 32.10, re-dated Oct 16, 2014:

  TYPE6    32.240  First 32.10 - OS 2.1 TYPE6 PRINTWAY records caused
                   INPUT EXCEEDED error.  This is the re-date reason.
  TYPE120  32.239  WebSphere SMF 120 ST 9 TYP1209E DELTA120TM negative.
  TYPETAND 32.238  Support for all Tandem records in a single file.

  Major enhancement added in MXG 32.10, dated Oct 10, 2014:

  VMACaaaa 32.234  The _IDaaaa=512 detection was removed.
  TYPE6    32.236  Support for z/OS 2.1 ACCOUNTn in TYPE6 records.
  TYPEDB2  32.231  Support for DB2 V11 IFCID 225 ILRM STORAGE Info.
  TYPEBBMQ 32.223  Support for MainView for MQ Version 5.2 (COMPAT).
  TYPE1415 32.230  TYPE 14 SMF14STY=01 with LEN 81 caused skipped segs
  TYPEIMS  32.228  IMS Log 01 MSGTEXT INPUT expanded for MOBILE WORK.
  TYPEIMST 32.222  IMS56FA obs not OUTPUT if NMSGPROC is missing.
  TYPE38   32.233  Netview SMF 38 Subtype 3 INPUT EXCEEDED error.
  UTILBLDP 32.226  SPINCNT/SPINUOW/TIMEDIF not correctly created.
  TYPENDM  32.229  All NDM datasets are now PROC SORTed by TYPSNDM.

  Major enhancement added in MXG 32.09, dated Sep  9, 2014:

  ASMTAPEE 32.212  MXGTMNT Monitors ASM SLOTs + IWMWSYSQ MSU/IMPORTANCE.
                   New subtask wakes, writes interval record, sleeps.
  TYPE50   32.210  Support for SMF 50 z/OS 2.1 INCOMPATIBLE + REDESIGN.
  TYPE103  32.209  Support for SMF 103 HTTP Apache Subtypes 13 and 14.
  VMACNDM  32.208  Support for New NDM-CDI CPU CP/zIIP/QUAL times.
  VMXGODSO 32.217  Support for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
  TYPEDB2  32.214  DB2 V10 var QW0225DMH and V11 var QW0225AR now INPUT.
  TYPEBVIR 32.218  BVIRVERS=04, dataset BVIR301, values were wrong.
  TYPEZOSA 32.215  Zero observations in TYPEZOSA, incorrect MXG test.
  PDBAUDIT 32.206  WARNING: Multiple lengths for MEMLABEL CC=4, removed.
  TYPE119  32.204  SMF 119 St 52 fields misaligned after JESDPERC.
  ANALID   32.203  Protection for 2nd execution of ANALID.
  ONLYJOBS 32.203  ONLY create PDB.JOBS/etc example, 2nd ANALID removed.
  TYPE102  32.202  DB2 102 IFCID 196 "MORE HOLDERS", only 3 now printed.

  Major enhancement added in MXG 32.08, dated Aug 21, 2014:

  IMACUOW  32.185  MXG 32.07 only, 180 ERROR: with default IMACUOW.
                   And only in JCLTESTx if you do NOT use ASUMUOW.
                   (If you actually use ASUMUOW, you would have had a
                   tailored IMACUOW).
  PDBAUDIT 32.183  %PDBAUDIT compares today's and yesterday's PDBs.
                   New audit report of differences and report of all
                   of today's output LIBNAMEs/DATASETs.
  BUILDPDB 32.192  BUILDPDB/PD3/001 now use a VIEW for WORK.ID.
                   Could be a BIG reduction in //WORK space, for free.
  VMACSMF  32.191  Using _INFILE_=SMFINFILE allows VIEW with MXGDECOM.
                   Which is also required for Change 32.192.
  TYPEOMSM 32.184  Support for Omegamon for SMS Version 510 (INCOMPAT)
  ANALSET  32.187  OPENTM added for TYPE64, new RECFOUND variable.
  ANAL116  31.186  Now reports on dataset MQMACCT when it exists.
  VMACaaaa 32.198  Zero OBS if _IDaaaa has two ID values, false 512.

  Major enhancement added in MXG 32.07, dated Aug  3, 2014:

  ERROR: 32.06: ZERO OBS IN ALL USER-ADDED BUILDPDB/UTILBLDP DATASETS:
    If you use UTILBLDP(BUILDPDB=YES,USERADD=...) or EXPDBVAR/CDE/OUT
    members in your USERID.SOURCLIB to add other SMF record types to
    your BUILDPDB/BUILDPD3, AND YOU DO NOT PROCESS MXGTMNT/TYPETMNT
    SMF records (i.e., you do NOT set MACRO _IDTMNT 238 %), then ALL
    of the datasets built AFTER TYPETMNT will have zero observations.
    This error was introduced in Change 32.149, which incorrectly had
    added a DELETE statement that should not be there.
      CIRCUMVENTIONs for this 32.06-Only ERROR:  (INSTALL 32.07+ !!)
       -Remove the DELETE; statement in line 265 of VMACTMNT, OR
       -Add this statement in your //SYSIN at the top:
              %LET MACKEEP= MACRO _IDTMNT 999 % ;
       -Or: with USERADD= in UTILBLDP, add  TMNT/999

  Many     32.180  Correction to Zero OBS in BUILDPDB/UTILBLDP datasets.
  TYPEWECR 32.173  Support for Websphere MQ for z/OS Crypto Audit SMF.
  TYPE115  32.172  Support for Websphere MQ Version 8.1 115 Subtype 231
  TYPE116  32.172  Support for Websphere MQ Version 8.1 116 Subtype 10
  TYPE120  32.171  Support for Websphere Liberty z/CONNECT 120 Subtp 11.
  TYPCTCP  32.178  Support for AES CleverView USER SMF subtypes 30-40.
  TYPETMD2 32.176  TMON/DB2 compressed records not decoded on ASCII.
  ANALID   32.175  View used for READSMF=YES, documentation updated.
  TYPEDB2  32.174  DB2 V11 new QX variables not in DB2STATS.

    MXG Version 32.06 dated Jul 21, 2014, thru Change 32.170.

  Major enhancement added in MXG 32.06, dated Jul 21, 2014:

  MOBILWRK 32.168  Support for MOBILE WORK CSV File to submit to IBM.
  TYPESTC  32.155  Support for Oracle ELS/VTCS 7.2 HSC SMF changes.
  ASMTAPEE 32.160  ML-53 MXGTMNT Monitor protects for IODF Activate OC4.
  TYPE102  32.141  Support for IFCID=376.
  TYPEPOEX 32.150  Revised support for Informatica POWER EXCHANGE SMF.
  VMACaaaa 32.149  USER SMF Record Processing enhanced - tells if 512.
  VMACSMF  32.136  CICS Version SMFPSRVR formatted prints TS5.1 vs 68.
  ASUM70PR 32.166  31.09-3205. Default CECINTRV=HOUR was not in effect.
  TYPENDM  32.168  Truncated CT records INPUT STATEMENT circumvention.
  TYPENDM  32.161  Support for NDM-CDI M2 record, output in NDMMC.
  ANALRANK 32.165  New GROUPBY parameter allows variable selections.
  TYPEDB2  32.169  Some DB2STATS QDSTxxxx variables were wrong.

  VMXGSUM  32.164  FREQ option created lower case variable names.
  GRAFCEC  32.157  New WIDTRH HEIGHT FOOTNOTE parameters for tailoring.
  ASUMCICX 32.156  New RESPAVG variable contains average response time.
  ANALID   32.154  ID parameter with UTILBLDP must be first, for now.
  IMACICVH 32.153  Support for optional CICS User ADP fields.
  TYPE74   32.151  BY lists for some TYPE74xx did not remove duplicates.
  VMACDB2H 32.148  DB2 Headers in any order are now processed correctly.
  READDB2  32.148  IFCIDS=BMC worked on ASCII, failed on z/OS.
  ODS      32.147  ODS doesn't support character variables with $HEX.
  JMP      32.147  JMP doesn't support variables with TRANSCODE ATTRIB.
  TYPE110  32.144  Invalid STID=60 CICS TS/2.3 (YES, 2.3!!!).
  TYPESYNC 32.143  CPUZIPTM for SYNCSORT COPY was a missing value.
  READDB2  32.142  Failed if user set FIRSTOBS or OBS insufficiently.
  TYPE80A  32.140  RACF SMF 80 EXCEEDED for STATE='DISTRICT OF COLUMBIA'
  TYPE113  32.130  *PUTLOG caused error, /* PUTLOG didn't, with BUILDPDB

  Major enhancement added in MXG 32.05, re-dated Jun 18, 2014:

  MOBILWRK 32.125  Preliminary tools to measure Mobile Work for Discount
                   See MVS Technical Note in Newsletter SIXTY-FOUR or
                   the same text in MOBILWRK member.

  TYPEIMST 32.119  Support for IMS56FA for IMS 13.1 (INCOMPATIBLE).
  TYPERMFV 32.130  Support for APAR OA35811, GEIRPOOL/GEIRSTRF.
  TYPE113  32.126  Support for new Subtype 1 HIS SMF TYPE 113 INTERVAL.
  TYPERSDS 32.123  Support for EOS RSD USER SMF ACCOUNTING Version 2.1.
  TYPERSDA 32.123  Support for EOS RSD USER SMF AUDIT Version 2.1.
  TYPE42   32.113  Support for APAR OA44319/OA44322 SMF 42 ST 5/6.
  TYPEIDMS 32.111  Support/corrections for IDMS Version 18.
  VMXGSUM  32.133  Support for "concatenated" PDBs as INPUT.
  TYPEBVIR 32.134  Some POOLs were not output in BVIR322/323/324.
  TYPERMFV 32.108  RMF III Fixes, Enhancements, Documentation upgrade.
  TYPEXAM  32.116  XAM CRITICAL ERROR SEGLEN=84 is a false error.
  TYPE30   32.104  CPUUNITS/SRBUNITS corrected by moving ASRUNITS to SRB
  TYPE119  32.110  Variables FSCIPHER/FCCFIPS140/FCCIPHER4 added.
  TYPEVMXA 32.106A z/VM MONWRITE divide by zero protection HFCOUNT=0.
  TYPEDCOL 32.103  DCOLMIGS variable UMLRECL always zero correction.
  READDB2  32.114  READDB2 with PDBOUT="not //PDB" corrections.
  READDB2  32.131  %READDB2(IFCIDS=BMC) for APPTUNE failed, _S102BMC.
  IMACICVG 32.107  Support for optional CICS segment ESIUSER.
  IMACICMR 32.106  Optional CMRDETL CICS Segment INCOMPATIBLE 384 bytes.
  IMACICSD 32.120  Support for optional CICS user SDA fields.
  DOCVER   32.124  DOCVER member enhanced to list SORTED BY variables.
  VMXGDEL0 32.127  New %VMXGDEL0 utility deletes all zero-obs datasets.
  TYPE7072 32.103  Support for OS/390 RMF data!!! Zero obs after 30.30.

  Major enhancement added in MXG 32.04, dated Apr 27, 2014:

  VGETOBS  32.100  Correction to VGETOBS in First 32.04.
   MXG 32.04 was redated on Monday for VGETOBS change 32.100 to add the
   possibly-needed RUN; statement, and removal of the FEXIST() function
   that did not exist in SAS 9.1 and didn't always work with 9.2.
  TYPE102  32.101  Duplicate DB2 SMF ID=102 Trace records removed.
   This enhancement was ready, so it's a bonus in the redated 32.04.

  Major enhancement added in MXG 32.04, dated Apr 23, 2014:

  VGETOBS  32.091  MXG 32.03 VGETOBS z/OS increased EXCPs, Elapsed time.
    This performance hit on VGETOBS is the primary reason for 32.04; the
    exposure only exists if you have tape device DDs in your MXG job.
    The increase was VERY significant with lots of tape volsers to read.
  AUTOEZOS 32.090  AUTOEZOS/CONFIGEZ - new "EAZY" MXG JCL for z/OS.
    A new alternative JCL to run MXG that is quite simple.
  TYPE120  32.087  Support for SMF 120 Subtype 100 ODM (Oper Decision).
  TYPENMON 32.088  Support for NMON BBBPMOUNT and BBBPNETSTAT records.
  TYPE92   32.094  Support for SMF ID=92 Subtypes 16 and 17.
  NEARTIME 32.099  NEARTIME updates a daily PDB library each SMF dump.
  TYPE30   32.089  CPUASRTM subtracted from CPUTCBTM added to CPUSRBTM.
  TYPETMVS 32.092  Initial support for TMON/MVS Version 4.4 (INCOMPAT)
  TYPE102  32.085  Many QWP1/4/5/9 T102S106 dataset vars overlooked.
  TYPEDB2  32.082  Some NETEZZA/IDAA Q8ST vars incorrectly DIF()'d.
  ANALDB2R 32.080  Default Select "Starting With" can be changed.
  ADOCRMFV 32.093  Major addition to RMF III documentation.
  ADOCx            All ADOC members are updated with current contents.

  Major enhancement added in MXG 32.03, dated Apr  3, 2014:

  TYPE110  32.077  Support CICS/TS 5.2: CICSTRAN COMPATIBLE, STATs NOT.
  _SMF     32.073  New MXGREADSMF=SMF/LOGGER/BOTH option to read SMF.
  ANALBVIR 32.063  Hydra TS7700 IBM reports are replicated.
  GRAFCIPM 32.061  Graphs from SHARE 2014 (SinRam/Enrico) using SGPLOT:
                   CPU used by importance level and service class level,
                   then service class within importance, and a scatter
                   plot of service class level within importance.
  ANALDB2R 32.068  Report from SHARE 2014 (Catterall) DB2 Buffer Pools.
  TYPE112  32.052  Support for Tivoli Enterprise Mon Server SMF 112-35.
  TYPE87   32.043  Support for SMF ID=87, GRS Component Information.
  TYPETMO2 32.070  Support for ASG-TMON CICS v3.4 (NO MXG UPDATE NEEDED)
  TYPEEJES 32.047  Support for (E)JES Version 05.30 SMF record changes.
  TYPEXCOM 32.046  Support for XCOM R32 - 11.5 (INCOMPATIBLE).
  TYPEPCF  32.045  Support for MQ PCF Files.
  TYPEZOSA 32.059  Support for ZEN 2280 new CSM records (INCOMPAT).
  TYPETMO2 32.070  Support for ASG-TMON CICS TS 3.4 (NO UPDATE NEEDED).
  TYPE80A  32.076  INPUT STATEMENT EXCEEDED, TODANAM UID, FTEL/MTEL.
  TYPE79   32.062  Variables R791PHTA/PHTI/FLG3 and R792PHTA/PHTI kept.
  TYPETPMX 32.058  INVALID ARG TPMPI - previous $EBCDIC1 is now PIB1.
  TYPEXAM  32.057  Doc: FTP: Use TYPE E and MODE BLOCK for z/VM to z/ZOS
  VGETOBS  32.056  CANNOT CLONE BUFFSIZE during PROC COPY could be bad.
  ASMRMFV  32.055  New RMF III selection/filter options BASIC, MOST etc.
  TYPE7072 32.054  z/OS 2.1 SMF70CPA created with RATIO=SCALING/ACTUAL.
  TYPE21   32.053  SMF21CRR/CRW compress ratio populated for non-3590s.
  TYPE102  32.074  IFCID 402 dataset T102S402 now outputs all segs.
  TYPEDB2  32.072  IDAA/NETEZZA variables added to DB2ACCT/DB2STATS.
  TYPENDM  32.071  Connect-Direct NDMCPU and other variables added.

  Major enhancement added in MXG 32.02, dated Feb 26, 2014:

  VMACDB2H 32.027  32.01: INVALID DB2 V10 HEADER RECORDS DELETED only if
                   the 2012 DB2 APAR PM62481, is NOT installed.
                   (Only a FEW sites have hit this missing APAR ABEND.)
  TYPEBVIR 32.039  MAJOR restructure BVIR/TS7700/HYDRA datasets created.
                   REALLY MAJOR: 10,000 fewer lines, 3000 fewer vars.
                   The "horizontal" dataset with suffixed variable names
                   are replaced with "vertical" dataset with ONE set of
                   variable names.  Yes, some minor pain expected as the
                   dataset names and some variable's names were changed.
  TYPE74   32.031  TYPE74 ESS Subtype 8 TYPE748x datasets restructured.
                   None of the TYPE748x datasets were really valid.

  TYPE120  32.035  Sort order NODUP support for TYP1209C/E/S/U.
  TYPEXPTR 32.033  Support for XPTR 5.2 creates 23 new datasets.
  TYPEIMST 32.038  IMS56FA dataset could have IMSSTCK incorrect.
  TYPEDB2  32.032  DB2STATS variable QISTWMQM zero, QW0371CL/DA fixed.
  VMXGPRAL 32.029  ERROR 72-322 or COMPBL HAS TOO MANY ARGUMENTS.
  ASMRMFV  32.037  RMF III Enhancements, filters, RED TABLE error fix.
  TYPETMVT 32.040  TMON/VTAM vendor maintenance now populates fields.
  TYPEBETA 32.028  Protection for BETA93 truncated subtype 51 record.

  Major enhancement added in MXG 32.01, dated Feb  6, 2014:

  ASMTAPEE 32.010  IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28
  VGETOBS  32.012  MANY spurious MXGWARN: DATASET PDB.CICxx DOES NOT msg
  ASUMUOWT 32.011  ASUMUOWT (TMON/CICS) USER ABEND 1950 no CICSTRAN DD.

  TYPE111  32.007  MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED ERROR.
  TYPE21   32.006  PDB.TYPE21/ASUMTAPE BYTEWRIT for 3590s may be too low
  TYPE90A  32.005  Support for SMF ID=90 Subtype 35 TYPE9035 dataset.
  FORMATS  32.005  Format $MGSMFID 38, 85, 90, 118 IDs decoded.
  FORMATS  32.005  ALL MXG FORMAT's VALUES ARE NOW COMMA-FREE, for csv.
  TYPEDB2  32.002  DB2 V10 new var QWHCAACE, QWHCEUTX/EUWN now $128.
  TYPENTSM 32.001  TCP/TCPV4/TCPV6 and WEBSRVCA, ASPNETAP new variables.

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

   SAS Versions
     The current version nomenclature is SAS 9.4 TS1M2 (9.4M2). That is
     printed as "SAS 9.4 (TS1M2)" or as "SAS 9.4 (TS04.01M2P07232014)"
     on the SASLOG if the VERSIONLONG option is enabled.
     SAS V9.4 M2 Is RECOMMENDED. SAS 9.4 M2 is at LEVEL A SAS Support
     SAS V9.4 M1 and M0 had no errors and are at LEVEL A SAS Support
     SAS V9.3   SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works.
                But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
                see CHANGE 29.169, IS REQUIRED:
                  The %MACRO compiler error is in processing %LET
                  statements. While only two MXG members failed
                  repeatedly in MXG QA tests on z/OS, there were random
                  %LET errors in ASCII QA tests, so ANY use of %LET
                  statement on ANY platform are vulnerable to this
                  error, as the %MACRO compiler is SAS portable code,
                  used on all platforms.  So this is NOT just an MXG
                  error, but impacts ALL SAS programs.
                SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
                SAS9.3 is LEVEL A support from SAS.
     SAS V9.2   Was recommended, prior to 9.3, and was error-free with
                MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
                use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
                Decompression Infile Exit.  but SAS V9.2 does execute on
                that platform.
                9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
     SAS V9.1.3 must be at Service Pack 4.  Additionally, on z/OS 1.10
                only, 9.1.3 requires SAS Hot Fix for SN-35332.
                9.1.3 is support level C by SAS Institute, Sep 30, 2013.
     SAS V8.2 IS SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS
                with SAS 8.2.
                SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.

      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      or you can continue to use the MXGSAS93 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 32.10 will execute under the previously listed
      SAS Versions on all supported platforms

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.


      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I cannot guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
         If you are absolutely stuck on V8, you need to copy MXG member
         V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
        Version 26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For (Archaic) SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.3 & V9.4, on z/OS, on Windows
      Seven (32-bit and 64-bit) and Eight (64-bit) on 64-bit hardware,
      and on Centos 6.4, but MXG users execute MXG on MANY (ALL??) SAS
      platforms, including AIX, Linux, and other 'nix' variants, on many
      different hardware platforms, and since they all work we don't
      need to list them.  If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

III.  WPS Version requirement information:

      WPS Version 3.01  is required for AUTOEZOS.
      WPS Version 3.01  is required for MOBILWRK, PICTURE fails in 2.5.
      WPS Version 3.01  executed MXG 32.03 BUILDPDB with no errors.
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

    MXG is usually NOT sensitive to z/OS hardware changes.  However, MXG
    Version 30.07+ was REQUIRED for z/EC12 (for SMF 113, for 95 engines)
    and MXG 31.03+ is STRONGLY RECOMMENDED for the z/EC12 processor for
    the new zEC12 RMF data metrics added for that new platform.
    In August 2013, the MXG-L ListServer was abuzz with several postings
    from MXG users and additional references to SHARE papers that all
    reported that many z/EC12s are 30%-40% better than zPCR projected.

    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  - Most Records support Jul 23, 2013        30.05
      z/OS 2.1  - ID=0 ERROR MESSAGE   Jul 23, 2013        31.07
      z/OS 2.1  - ID=85 INCOMPAT       Jul 23, 2013        32.03
      z/OS 2.1  - ID=70 SMF70CPA       Jul 23, 2013        32.03
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011        29.05*
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012        30.01*
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012        30.08*
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013        30.30*
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013        31.03*
      CICS-TS/5.2 COMPATIBLE CICSTRAN  Jun 13, 2014        31.03*
      CICS-TS/5.2 INCOMPAT Statistics  Jun 13, 2014        32.03*
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010        28.07*
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011        28.28*
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011        29.07*
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011        30.07*
      DB2 10.1 DBID/OBID decode        Jan 21, 2013        30.30*
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013        31.04*
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DB2 11.1 IRLM NEW SEGMENT        Jun 21, 2013        32.10
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        27.01*
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004        26.01*
      IMS log 10.1                     Mar 06, 2007        26.01*
      IMS log 11.1                     Apr  1, 2010        28.02*
      IMS log 12.1                     Jan 23, 2012        29.29*
      IMS log 13.1 (NOT 56FA)          May 25, 2013        31.03
      IMS log 13.1 (56FA RECORD)       May 27, 2014        32.05
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       The Monitor for CICS TCE 3.4 (for CICS/TS 5.1)      30.30
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V6R3 SMF 102                                30.037
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               26.02*
       IMF 4.4 (for IMS 9.1)                               31.08*
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                          31.08*
       IMF 5.1 a/k/a Mainview IMS                          31.08
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07

V.    Incompatibilities and Installation of MXG 32.08.


 1. Incompatibilities introduced in MXG 32.32:

  a- Changes in MXG architecture made between 32.32 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.



VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.


Alphabetical list of important changes in MXG 32.32 after MXG 31.31:

  Dataset/
  Member   Change    Description

  ADOCRMFV 32.093  Major addition to RMF III documentation.
  ANAL116  31.186  Now reports on dataset MQMACCT when it exists.
  ANALBVIR 32.063  Hydra TS7700 IBM reports are replicated.
  ANALDB2R 32.019  Extensive validation, ANALDBTR revisions.
  ANALDB2R 32.080  Default Select "Starting With" can be changed.
  ANALDBTR 32.019  STRING logic was protected for repeated execution
  ANALDSCK 32.268  New "DSNAME Check" reads all SMF with a DSNAME.
  ANALID   32.154  ID parameter with UTILBLDP must be first, for now.
  ANALID   32.175  View used for READSMF=YES, documentation updated.
  ANALID   32.203  Protection for 2nd execution of ANALID.
  ANALID   32.257  ANALID reports 78.2.1 and 78.2.2 VSTORE enabled.
  ANALRANK 32.165  New GROUPBY parameter allows variable selections.
  ANALSET  32.187  OPENTM added for TYPE64, new RECFOUND variable.
  ASMIMSL6 32.290  Larger DLREXTIM time now used for (archaic) IMSCPUTM.
  ASMRMFV  32.009  RMF III Enhancements, Fixes, and Notes
  ASMRMFV  32.037  RMF III Enhancements, filters, RED TABLE error fix.
  ASMRMFV  32.055  New RMF III selection/filter options BASIC, MOST etc.
  ASMRMFV  32.250  Further ASMRMFV parsing/command/filtering updates.
  ASMTAPEE 32.010  IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28
                   Those z/OS 1.13 APARs changed AR15 on return from IBM
                   console services.  Assemble ASMTAPEE to create the
                   MXGTMNT monitor now so it doesn't ABEND after those
                   APARs are installed.
  ASMTAPEE 32.160  ML-53 MXGTMNT Monitor protects for IODF Activate OC4.
  ASMTAPEE 32.212  MXGTMNT Monitors ASM SLOTs + IWMWSYSQ MSU/IMPORTANCE.
  ASUM70PR 32.166  31.09-3205. Default CECINTRV=HOUR was not in effect.
  ASUMCICX 32.156  New RESPAVG variable contains average response time.
  ASUMDB2A 32.293  Warning when "Rollups" are detected, summarized data.
  ASUMUOWT 32.011  ASUMUOWT (TMON/CICS) USER ABEND 1950 no CICSTRAN DD.
  AUTOEXEC 32.292  Old MXG SORTSIZE=400M removed, default SORTSIZE used.
  AUTOEZOS 32.090  AUTOEZOS/CONFIGEZ - new "EAZY" MXG JCL for z/OS.
  BLDSMPDB 32.248  WPS, z/OS, BLDSMPDB, RECFM=S370VBS not supported.
  BLDSMPDB 32.262  WTD with WEEKKEEP, or WTD with AUTOALOC, failed.
  BLDSMPDB 32.299  %PDBAUDIT invocation can capture ALL "PDBs".
  BLDSMPDB 32.306  RUNDAY=NO incorrectly executed the PDBAUDIT report.
  BUILDPDB 32.192  BUILDPDB/3/001 now use a VIEW for WORK.ID.
  DOCVER   32.124  DOCVER member enhanced to list SORTED BY variables.
  FORMATS  32.005  ALL MXG FORMAT's VALUES ARE NOW COMMA-FREE, for csv.
  FORMATS  32.005  Format $MGSMFID 38, 85, 90, 118 IDs decoded.
  GRAFCEC  32.157  New WIDTRH HEIGHT FOOTNOTE parameters for tailoring.
  GRAFCIPM 32.061  Graphs from SHARE 2014 presentations (SinRam/Enrico)
  IHDRBVIR 32.270  The IHDRBVIR "BVIR Header" exit was overlooked.
  IMACICMR 32.106  Optional CMRDETL CICS Segment INCOMPATIBLE 384 bytes.
  IMACICSD 32.120  Support for optional CICS user SDA fields.
  IMACICVG 32.107  Support for optional CICS segment ESIUSER.
  IMACICVH 32.153  Support for optional CICS User ADP fields.
  IMACUOW  32.185  MXG 32.07 only, 180 syntax with default IMACUOW.
  JMP      32.147  JMP doesn't support variables with TRANSCODE ATTRIB.
  MOBILWRK 32.125  Preliminary MOBILWRK program to identify Mobile Work.
  MOBILWRK 32.168  Support for MOBILE WORK CSV File to submit to IBM.
  MOBILWRK 32.279  MOBWRK02,MOBWRK05 enhanced, STARTHR in all merges.
  MOBWRK73 32.244  MOBWRK73 in 32.10 incorrectly required //PDB DD.
  MONTHxxx 32.253  BLDSMPDB,MONTHBLD, z/OS, out of order daily GDGs.
  Many     32.263  MXG PROC COPY have MEMTYPE=DATA, ITEMSTORE fails.
  NEARTIME 32.099  NEARTIME updates a daily PDB library each SMF dump.
  ODS      32.147  ODS doesn't support character variables with $HEX.
  ODS      32.269  Documentation of two common ODS errors on z/OS.
  ONLYJOBS 32.203  ONLY create PDB.JOBS/etc example, 2nd ANALID removed.
  PDBAUDIT 32.183  %PDBAUDIT compares today's and yesterday's PDBs.
  PDBAUDIT 32.206  WARNING: Multiple lengths for MEMLABEL CC=4, removed.
  PDBAUDIT 32.274  Report enhanced, SORTEDBYSIZE, commas in numbers.
  PDBAUDIT 32.297  %PDBAUDIT can be bypassed with PRINTAUDIT=NO.
  READDB2  32.018  READDB2 didn't always honor LDB2xxx destination
  READDB2  32.019  READDB2 did not always use LDB2ddd overrides, plus.
  READDB2  32.114  READDB2 with PDBOUT="not //PDB" corrections.
  READDB2  32.131  %READDB2(IFCIDS=BMC) for APPTUNE failed, _S102BMC.
  READDB2  32.142  Failed if user set FIRSTOBS or OBS insufficiently.
  READDB2  32.148  IFCIDS=BMC worked on ASCII, failed on z/OS.
  SMFINTRV 32.271  New SMFINTRV member creates PDB.SMFINTRV from SMF.
  TYPCTCP  32.178  Support for AES CleverView USER SMF subtypes 30-40.
  TYPE102  32.074  IFCID 402 dataset T102S402 now outputs all segs.
  TYPE102  32.085  Many QWP1/4/5/9 T102S106 dataset vars overlooked.
  TYPE102  32.101  Duplicate DB2 SMF ID=102 Trace records removed.
  TYPE102  32.141  Support for IFCID=376.
  TYPE102  32.202  DB2 102 IFCID 196 "MORE HOLDERS", only 3 now printed.
  TYPE102  32.259  IFCID=220: Invalid Argument corrected.
  TYPE103  32.209  Support for SMF 103 HTTP Apache Subtypes 13 and 14.
  TYPE105  32.291  Support for GDPS SMF 105 2-byte fields APAR PI26702.
  TYPE110  32.077  Support CICS/TS 5.2: CICSTRAN COMPAT, STATs NOT.
  TYPE110  32.144  Invalid STID=60 CICS TS/2.3 (YES, 2.3!!!).
  TYPE111  32.007  MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED ERROR.
  TYPE112  32.052  Support for Tivoli Enterprise Mon Server SMF 112-35.
  TYPE113  32.126  Support for new Subtype 1 HIS SMF TYPE 113 INTERVAL.
  TYPE113  32.130  *PUTLOG caused error, /* PUTLOG didn't, with BUILDPDB
  TYPE115  32.172  Support for Websphere MQ Version 8.1 115 Subtype 231
  TYPE116  32.172  Support for Websphere MQ Version 8.1 116 Subtype 10
  TYPE119  32.110  Variables FSCIPHER/FCCFIPS140/FCCIPHER4 added.
  TYPE119  32.204  SMF 119 St 52 fields misaligned after JESDPERC.
  TYPE119  32.278  TYP11902 TTTTLSxx variables misaligned.
  TYPE120  32.035  Sort order NODUP support for TYP1209C/E/S/U.
  TYPE120  32.087  Support for SMF 120 Subtype 100 ODM (Oper Decision).
  TYPE120  32.171  Support for Websphere Liberty z/CONNECT 120 Subty 11.
  TYPE120  32.239  WebSphere SMF 120 ST 9 TYP1209E DELTA120TM negative.
  TYPE1415 32.230  TYPE 14 SMF14STY=01 with LEN 81 caused skipped segs
  TYPE21   32.006  PDB.TYPE21/ASUMTAPE BYTEWRIT for 3590s may be too low
  TYPE21   32.053  SMF21CRR/CRW compress ratio populated for non-3590s.
  TYPE22   32.288  MXG 32.03-MXG 32.11 Type 22 UNKNOWN SECID=40 error.
  TYPE30   32.089  CPUASRTM subtracted from CPUTCBTM added to CPUSRBTM.
  TYPE30   32.104  CPUUNITS/SRBUNITS corrected by moving ASRUNITS to SRB
  TYPE30   32.251  Variables EXCP/IOTM-NODD/TODD/TOTL inconsistent.
  TYPE38   32.233  Netview SMF 38 Subtype 3 INPUT EXCEEDED error.
  TYPE42   32.113  Support for APAR OA44319/OA44322 SMF 42 ST 5/6.
  TYPE50   32.210  Support for SMF 50 z/OS 2.1 INCOMPATIBLE + REDESIGN.
  TYPE50   32.307  TYPE50 LENGTH=254, INPUT STATEMENT EXCEEDED.
  TYPE6    32.240  Corrected z/OS 2.1 ACCOUNTn in TYPE6 records.
  TYPE7072 32.054  z/OS 2.1 SMF70CPA created with RATIO=SCALING/ACTUAL.
  TYPE7072 32.103  Support for OS/390 RMF data!!! Zero obs after 30.30.
  TYPE7072 32.246  TYPE72GO's PERFINDX can be missing when it's large.
  TYPE7072 32.267  TYPE70X2 variables CRYAC1U/CRAM3U need mult 100.
  TYPE7072 32.277  R7023MEG/R7023CRT were not multiplied by R7024SF.
  TYPE74   32.031  TYPE74 ESS Subtype 8 TYPE748x datasets restructured.
  TYPE74   32.151  BY lists for some TYPE74xx did not remove duplicates.
  TYPE79   32.062  Variables R791PHTA/PHTI/FLG3 and R792PHTA/PHTI kept.
  TYPE80A  32.076  INPUT STATEMENT EXCEEDED, TODANAM UID, FTEL/MTEL.
  TYPE80A  32.140  RACF SMF 80 EXCEEDED for STATE='DISTRICT OF COLUMBIA'
  TYPE87   32.043  Support for SMF ID=87, GRS Component Information.
  TYPE90A  32.005  Support for SMF ID=90 Subtype 35 TYPE9035 dataset.
  TYPE92   32.094  Support for SMF ID=92 Subtypes 16 and 17.
  TYPEBBMQ 32.223  Support for MainView for MQ Version 5.2 (COMPAT).
  TYPEBETA 32.028  Protection for BETA93 truncated subtype 51 record.
  TYPEBVIR 32.039  MAJOR restructure of BVIR/TS7700 datasets created.
  TYPEBVIR 32.218  BVIRVERS=04, dataset BVIR301, values were wrong.
  TYPEBVIR 32.249  Support for BVIR Version 2 short '32'x Record.
  TYPECLAR 32.247  Support for EMC's Clarion Flare Firmware V26-V33.
  TYPEDB2  32.002  DB2 V10 new var QWHCAACE, QWHCEUTX/EUWN now $128.
  TYPEDB2  32.032  DB2STATS variable QISTWMQM zero, QW0371CL/DA fixed.
  TYPEDB2  32.072  IDAA/NETEZZA variables added to DB2ACCT/DB2STATS.
  TYPEDB2  32.082  Some NETEZZA/IDAA Q8ST vars incorrectly DIF()'d.
  TYPEDB2  32.169  Some DB2STATS QDSTxxxx variables were wrong.
  TYPEDB2  32.174  DB2 V11 new QX variables not in DB2STATS.
  TYPEDB2  32.214  DB2 V10 var QW0225DMH and V11 var QW0225AR now INPUT.
  TYPEDB2  32.231  Support for DB2 V11 IFCID 225 IRLM STORAGE Info.
  TYPEDB2H 32.027  MXG 32.01 only. INVALID DB2 10.1 HEADER DELETED.
  TYPEDCOL 32.103  DCOLMIGS variable UMLRECL always zero correction.
  TYPEEJES 32.047  Support for (E)JES Version 05.30 SMF record changes.
  TYPEEZSM 32.252  Support for EzSM 4.2.0 creates new datasets.
  TYPEIDMS 32.111  Support/corrections for IDMS Version 18.
  TYPEIMS  32.228  IMS Log 01 MSGTEXT INPUT expanded for MOBILE WORK.
  TYPEIMS7 32.290  Larger DLREXTIM time now used for (archaic) IMSCPUTM.
  TYPEIMST 32.038  IMS56FA dataset could have IMSSTCK incorrect.
  TYPEIMST 32.119  Support for IMS56FA for IMS 13.1 (INCOMPATIBLE).
  TYPEIMST 32.222  IMS56FA obs not OUTPUT if NMSGPROC is missing.
  TYPENDM  32.071  Connect-Direct NDMCPU and other variables added.
  TYPENDM  32.161  Support for NDM-CDI M2 record, output in NDMMC.
  TYPENDM  32.229  All NDM datasets are now PROC SORTed by TYPSNDM.
  TYPENDM  32.275  Variable NDMRTCPU in NDMRT was incorrectly INPUT.
  TYPENDM  32.284  NDM 'PT' INVALID SUBSTR, A#/C#/D#/S$/U#/UK supported.
  TYPENEM  32.168  Truncated CT records INPUT STATEMENT circumvention.
  TYPENMON 32.088  Support for NMON BBBPMOUNT and BBBPNETSTAT records.
  TYPENTSM 32.001  TCP/TCPV4/TCPV6 and WEBSRVCA, ASPNETAP new variables.
  TYPEOMSM 32.184  Support for Omegamon for SMS Version 510 (INCOMPAT)
  TYPEPCF  32.045  Support for MQ PCF Files.
  TYPEPOEX 32.150  Revised support for Informatica POWER EXCHANGE SMF.
  TYPERACF 32.273  ASCII only. Variable LIOBTIME in RACF0200 wrong.
  TYPERMFV 32.108  RMF III Fixes, Enhancements, Documentation upgrade.
  TYPERMFV 32.130  Support for APAR OA35811, GEIRPOOL/GEIRSTRF.
  TYPERMFV 32.130  Support for APAR OA35811, GEIRSTRF replaced GEIRPOOL.
  TYPERSDA 32.123  Support for EOS RSD USER SMF AUDIT Version 2.1.
  TYPERSDS 32.123  Support for EOS RSD USER SMF ACCOUNTING Version 2.1.
  TYPESTC  32.155  Support for Oracle ELS/VTCS 7.2 HSC SMF changes.
  TYPESYNC 32.143  CPUZIPTM for SYNCSORT COPY was a missing value.
  TYPETAND 32.238  Support for all Tandem records in a single file.
  TYPETMD2 32.176  TMON/DB2 compressed records not decoded on ASCII.
  TYPETMO2 32.070  Support for ASG-TMON CICS TS 3.4 (NO UPDATE NEEDED).
  TYPETMO2 32.309  Support for ASG TMON/CICS Version 4 INCOMPATIBLE.
  TYPETMVS 32.092  Initial support for TMON/MVS Version 4.4 (INCOMPAT)
  TYPETMVT 32.040  TMON/VTAM vendor maintenance now populates fields.
  TYPETPMX 32.058  INVALID ARG TPMPI - previous $EBCDIC1 is now PIB1.
  TYPEVMXA 32.106A z/VM MONWRITE divide by zero protection HFCOUNT=0.
  TYPEVMXA 32.243  Each START MONITOR message is a LOST interval.
  TYPEVMXA 32.243  z/VM Interval ENDTIME wrong if first 0.1 not CPU 0.
  TYPEVMXA 32.254  Support for z/VM concatenated MONWRITE mult systems.
  TYPEWECR 32.173  Support for Websphere MQ for z/OS Crypto Audit SMF.
  TYPEXAM  32.057  Doc: FTP: Use TYPE E and MODE BLOCK for z/VM to z/ZOS
  TYPEXAM  32.116  XAM CRITICAL ERROR SEGLEN=84 is a false error.
  TYPEXAM  32.272  ERROR IN XAMSYS, SEGNAME=CMS, MXG coding error.
  TYPEXCOM 32.022  Support for CA XCOM VERSION 1.16: INCOMPATIBLE.
  TYPEXCOM 32.046  Support for XCOM R32 - 11.5 (INCOMPATIBLE).
  TYPEXPTR 32.033  Support for XPTR 5.2 creates 23 new datasets.
  TYPEZOSA 32.059  Support for ZEN 2280 new CSM records (INCOMPAT).
  TYPEZOSA 32.215  Zero observations in TYPEZOSA, incorrect MXG test.
  UTILBLDP 32.226  SPINCNT/SPINUOW/TIMEDIF not correctly created.
  UTILEXCL 32.265  Support for 2nd CMODNAME='USER',CMODHEAD='USER'.
  UTILVREF 32.295  QA UTILVREF now detects long BY lists for HOST SORT.
  VGETJESN 32.296  &MACJESN can delete records by TYPETASK (e.g. OMVS).
  VGETOBS  32.012  MANY spurious MXGWARN: DATASET PDB.CICxx DOES NOT msg
  VGETOBS  32.056  CANNOT CLONE BUFFSIZE during PROC COPY could be bad.
  VGETOBS  32.091  MXG 32.03: VGETOBS on z/OS increased EXCPs, Elapsed.
  VGETOBS  32.100  Correction to VGETOBS in First 32.04.
  VMAC112  32.295  Long BY list, HOST SORT CAN NOT BE USED, MXG error.
  VMACBETA 32.028  Protection for BETA93 truncated SUBTYPE=41 record.
  VMACBVIR 32.134  Some POOLs were not output in BVIR322/323/324.
  VMACDB2H 32.027  32.01 INVALID DB2 V10 HEADER RECORDS DELETED.
  VMACDB2H 32.148  DB2 Headers in any order are now processed correctly.
  VMACDB2H 32.261  DB2 variable JOB could be incorrect LENGTH $12.
  VMACNDM  32.208  Support for New NDM-CDI CPU CP/zIIP/QUAL times.
  VMACSMF  32.073  New MXGREADSMF=SMF/LOGGER/BOTH option to read SMF.
  VMACSMF  32.136  CICS Version SMFPSRVR formatted prints TS5.1 vs 68.
  VMACSMF  32.191  Using _INFILE_=SMFINFILE allows VIEW with MXGDECOM.
  VMACSMF  32.300  WPS ONLY. CANNOT READ SMF ON ASCII, MXG ERROR.
  VMACWECR 32.301  WPS ONLY. DATA SET "WORK.WEBSCRAU" NOT FOUND.
  VMACaaaa 32.234  The _IDaaaa=512 detection was removed.
  VMXGDEL0 32.127  New %VMXGDEL0 utility deletes all zero-obs datasets.
  VMXGDSNL 32.260  MXG on Linux to process AS400 data, slash issue.
  VMXGINIT 32.021  Change 31.285 removed (INSTREAM enhancement didn't).
  VMXGODSO 32.217  Support for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
  VMXGPLCH 32.013  Create $PLOTCHAR to map one character from SYSTEM.
  VMXGPRAL 32.029  ERROR 72-322 or COMPBL HAS TOO MANY ARGUMENTS.
  VMXGPRNT 32.017  Fails with 180 pointing to LABEL, mis-located RUN.
  VMXGSUM  32.026  Macro variables compressed with COMPBL and %STR.
  VMXGSUM  32.133  Support for "concatenated" PDBs as INPUT.
  VMXGSUM  32.164  FREQ option created lower case variable names.
  WEEKBLxx 32.264  WPS ONLY. Test for &SYSVER GE 6 s/b &SASVER GE.


  See member CHANGESS for all changes ever made to MXG Software, or
  the CHANGES frames at http://www.mxg.com

Inverse chronological list of all Changes:

NEXTCHANGE: Version 32.

====== Changes thru 32.309 were in MXG 32.32 dated Jan  6, 2015=========

Change 32.309  Support for ASG TMON/CICS Version 4.0 INCOMPATIBLE due to
EXMONEXT       inserted fields.
EXMONPSB      -New variables in MONITASK 'TA' record dataset.
IMACTMO2         TACNTGLN='CONTAINER*ACCUM*GET/GET64*LENGTH'
VMACTMO2         TACNTHWM='CONTAINER*LENGTH*HWM'
VMXGINIT         TACNTPLN='CONTAINER*ACCUM*PUT/PUT64*LENGTH'
Jan  1, 2015     TACNTRCT='CONTAINER REQUEST COUNT'
Jan  6, 2015     TACNTRTM='CONTAINER REQUEST ACCUMULATED TIME'
                 TACNTWCT='CONTAINER REQUEST WAIT COUNT'
                 TACNTWTM='CONTAINER REQ ACCUMULATED WAIT TIME'
                 TAHWMRUL='RULE RECORD'
                 TAIPCNRL='TOTAL IPIC NETWORK BYTES INBOUND'
                 TAIPCNSL='TOTAL IPIC NETWORK BYTES OUTBOUND'
                 TASTCODE='TRANSACTION START CODE'
              -New dataset MONIEXT from 'TA' EXT SEGMENTs.
                 TAONETWK='ORIGIN*NETWORK ID*FROM*WORK REQUEST'
                 TAOAPPL ='ORIGIN*APPLID*FROM*WORK REQUEST'
                 WKOSTART='ORIGIN*TASK*START TIME'
                 TAOTRNUM='ORIGIN*TASK*TRANSACTION*NUMBER'
                 TAOTRID ='ORIGIN*TASK*TRANSACTION*ID'
                 TAOUSRID='ORIGIN*TASK*USERID'
                 TAOTCPSV='ORIGIN*TCPIPSERV*NAME'
                 TAOPORTN='ORIGIN*TCPIPSERV*PORT NR'
                 TAOCLIPA='ORIGIN*CLIENT/TELNET*IP*ADDRESS'
                 TAOCLIPP='ORIGIN*CLIENT/TELNET*PORT NR'
                 TAOFCTNM='ORIGIN*TRANSACTION*FACILITY*NAME'
                 TAOTRFL1='ORIGIN*TRANSFLAG*FACILITY*IDENT'
                 TAOTRFL2='ORIGIN*TRANSFLAG*IDENTITY*INFO'
                 TAOTRFL3='ORIGIN*TRANSFLAG*RESERVED'
                 TAOTRFL4='ORIGIN*TRANSFLAG*DEFINITION*INFO'
                 TAOTRFL5='ORIGIN*TRANSFLAG*TYPE'
                 TAOTRFL6='ORIGIN*TRANSFLAG*RESERVED'
                 TAOTRFL7='ORIGIN*TRANSFLAG*RESERVED'
                 TAOTRFL8='ORIGIN*TRANSFLAG*RECOVERY*MANAGER'
                 TAOUSRCO='ORIGIN*USER*CORRELATOR'
                 TAOADAT1='ORIGIN*DATA*ADDED*DATA1'
                 TAOADID ='ORIGIN*DATA*ADAPTER*ID'
                 TAOADAT2='ORIGIN*DATA*ADDED*DATA2'
                 TAOADAT3='ORIGIN*DATA*ADDED*DATA3'
                 TAPHNTWK='PREV HOP*DATA CICS*REMOTE TASK'
                 TAPHAPPL='PREV HOP*DATA*APPLID'
                 WKPHSTRT='PREV HOP*DATA*START TIME'
                 TAPHTRNO='PREV HOP*DATA REMOTE*TASK NUM'
                 TAPHTRAN='PREV HOP*DATA REMOTE*TASK TRAN'
                 TAPHCNT ='PREV HOP*DATA NUM OF*CICS REMOTE'
                 TAABPANM='APPLICATION*BASE*PROGRAM*APPLNAME'
                 TAABPPNM='APPLICATION*BASE*PROGRAM*PLATFORM'
                 TAABPONM='APPLICATION*BASE*PROGRAM*OPERATION*NAME'
                 TAABPMAJ='APPLICATION*BASE*PROGRAM*MAJOR*VER NR'
                 TAABPMIN='APPLICATION*BASE*PROGRAM*MINOR*VER NR'
                 TAABPMIC='APPLICATION*BASE*PROGRAM*MICRO*VER NR'
                 TAITKANM='INITIAL TASK*APPL CNTX*APPLICATION*NAME'
                 TAITKPNM='INITIAL TASK*APPL CNTX*PLATFORM*NAME'
                 TAITKONM='INITIAL TASK*APPL CNTX*OPERATION*NAME'
                 TAITKMAJ='INITIAL TASK*APPL CNTX*MAJOR VER NR'
                 TAITKMIN='INITIAL TASK*APPL CNTX*MINOR VER NR'
                 TAITKMIC='INITIAL TASK*APPL CNTX*MICRO VER NR'
                 TACTKANM='CURRENT TASK*APPL CNTX*APPLICATION*NAME'
                 TACTKPNM='CURRENT TASK*APPL CNTX*PLATFORM*NAME'
                 TACTKONM='CURRENT TASK*APPL CNTX*OPERATION*NAME'
                 TACTKMAJ='CURRENT TASK*APPL CNTX*MAJOR VER NR'
                 TACTKMIN='CURRENT TASK*APPL CNTX*MINOR VER NR'
                 TACTKMIC='CURRENT TASK*APPL CNTX*MICRO VER NR'
              -New dataset MONIPSB from 'TA' PSB SEGMENTs.
                 TADDBCCT='TOTAL*DL/I*DATA BASE*CALLS'
                 TADDLETC='DATA BASE*DLET CALLS*ISSUED'
                 TADEBCT ='DEDB*CALLS'
                 TADEDBRC='DEDB*READ*OPERATIONS'
                 TADEDQCT='EXCLUSIVE*DEQUEUES'
                 TADENQCT='EXCLUSIVE*ENQUEUES'
                 TADGHNCT='DATA BASE*GHN CALLS*ISSUED'
                 TADGHNPC='DATA BASE*GHNP CALLS*ISSUED'
                 TADGHUCT='DATA BASE*GHU CALLS*ISSUED'
                 TADGNPCT='DATA BASE*GNP CALLS*ISSUED'
                 TADISRTC='DATA BASE*ISRT CALLS*ISSUED'
                 TADLDBIO='DATABASE*I/O'
                 TADLGNCT='DATA BASE*GN CALLS*ISSUED'
                 TADLGUCT='DATA BASE*GU CALLS*ISSUED'
                 TADLIPSB='PSB*NAME'
                 TADLUSSN='USSN*NUMBER'
                 TADOBUCT='OVERFLOW*BUFFERS*USED'
                 TADREPLC='DATA BASE*REPL CALLS*ISSUED'
                 TADTDQCT='TEST*DEQUEUES'
                 TADTNQCT='TEST*ENQUEUES'
                 TADUDQCT='UPDATE*DEQUEUES'
                 TADUNQCT='UPDATE*ENQUEUES'
                 TADUOWCC='UOW*CONTENTIONS'
                 TADWEDBC='WAITS FOR*DEDB*BUFFER'
                 TADWENQC='WAITS ON*EXCLUSIVE*ENQUEU'
                 TADWTNQC='WAITS ON*TEST*ENQUEUES'
                 TADWUNQC='WAITS ON*UPDATE*AND ENQUE'
                 TAPSBICT='TAPSB*SEGMENT*COUNT'
                 WKDLDBTM='ELAPSED*TIME FOR*DATABASE I/O'
                 WKDLICTM='THREAD*TCB*CPUTIME'
                 WKDLINWT='ELAPSED*WAIT TIME*INTENT*CONFLICT'
                 WKDLLKTM='ELAPSED*TIME FOR*PI LOCKING'
                 WKDLPLWT='ELAPSED*WAIT TIME*POOL*SPACE'
                 WKDSCETM='SCHEDULE*COMPLETED'
                 WKDSCSTM='SCHEDULE*STARTED'
                 WKSCHDTM='ELAPSED*TIME FOR*SCHEDULE PROCESS'
              -New variables in MONITR 'TR' record dataset.
                 TRASACTV='CURRENT*ADDRESS*SPACE*ADDRESS'
                 TRASHWM ='ADDRESS*SPACE*HWM'
                 TRASPMHW='HWM*AUX*SLOTS*PMO'
                 TRASPMO ='AUX SLOTS*TO BACK*64 BIT PMO'
                 TRBAPMO ='BYTES*ALLOCATED TO*PRIVATE MEMORY'
                 TRBHPMO ='BYTES*HIDDEN IN*PRIVATE MEMORY'
                 TRBPMOHW='HWM BYTES*USABLE IN*PRIVATE MEM'
                 TRCDSAL ='CURRENT*DSA*LIMIT'
                 TRCDSAT ='CURRENT*DSA*TOTAL'
                 TRCEDSAL='CURRENT*EDSA*LIMIT'
                 TRCEDSAT='CURRENT*EDSA*TOTAL'
                 TRCMCSU ='CUMULATIVE*COMMON*SUBSPACE*USER'
                 TRCMSUHW='HWM*COMMON*SUBSPACE*USERS'
                 TRCMUSU ='CUMULATIVE*UNIQUE*SUBSPACE*USER'
                 TRCRCSU ='CURRENT*COMMON*SUBSPACE*USERS'
                 TRCRUSU ='CURRENT*UNIQUE*SUBSPACE*USERS'
                 TRDSAHWM='HWM*DSA*TOTAL'
                 TREDSAHW='HWM*EDSA*TOTAL'
                 TRFGFAIL='NO FROM*GUARD*FAILURES'
                 TRFGFSZ ='FROMGUARD*FAILURE*SIZE'
                 TRGDSAAC='CURRENT*GDSA*ACTIVE'
                 TRGDSAAL='CURRENT*GDSA*ALLOCATED'
                 TRGDSAHA='HWM*GDSA*ACTIVE'
                 TRGDSAHW='HWM*GDSA*ALLOCATED'
                 TRGETSSZ='GETSTOR*REQUEST*SIZE'
                 TRMEMLMT='MEMLIMIT*SIZE'
                 TRMLIMTS='MEMLIMIT*SOURCE'
                 TRNOLMO ='LARGE*MEMORY*OBJECTS'
                 TRNOSHMO='SHARED*MEMORY*OBJECTS'
                 TRNUMPMO='PRIVATE*MEMORY*OBJECTS'
                 TRPGPOOL='PAGEPOOLS'
                 TRRFPMHW='HWM*REAL*FRAMES*PMO'
                 TRRFPMO ='REAL*FRAMES*64-B*PMO'
                 TRRNTPGM='STATE*OF*RENTPGM'
                 TRSBFLMO='SHARED*BYTES*FROM*LARGE MEMORY'
                 TRSBLMHW='HWM*SHARED BYTES*IN LARGE MEMOR'
                 TRSTGPRO='STATE OF*STORAGE*PROTECT'
                 TRTRNISO='STATE OF*TRANISO'
                 TRUSUHWM='HWM*UNIQUE*SUBSPACE*USERS'
               Jan 6: DEBUG 8 _N_= messages eliminated.
              -Divide by 4096 for all durations was added.

Change 32.308  These new-in-XCOM-11.6 variables are now INPUT and some
FORMATS        are decoded by new $MGXCMxx formats:
VMACXCOM         XCORELEASE XCONXFER_AK XCOPDSMN_AK1 XCODATE_AK1
Dec 30, 2014     XCOTIME_AK1 XCONAME_AK XCOPDSMN_AK2 XCODATE_AK2
                 XCOTIME_AK2 XCOLUSER_AK XCOPDSMN_AK3 XCODATE_AK3
                 XCOTIME_AK3 XCOID_AK XCOPDSMN_AK4 XCODATE_AK4 XCOTIME_A
                 XCOTNAME_AK XCOPDSMN_AK5 XCODATE_AK5 XCOTIME_AK5 XCOPDS
                 XCOTOTCPU XCOTCBCPU XCOSRBCPU XCOZIIPZCPU XCOZIIPCCPU
                 XCOZIIPELIG XCONRECS2 XCONSEND2 XCONRECV2 XCONPUT2
                 XCONGET2 XCOALPRI2 XCOALSEC2 XCOALDIR2 XCOALRUNIT
                 XCOEATTR XCOLCIPH_LIST XCOCIPHER XCOPROTOCOL XCOLCHAR
                 XCORCHAR XCOLCCSID XCORCCSID XCOSCCSID XCOTCCSID XCOLTN
                 XCORTNQ XCOMIERR XCOMCERR XCOLDELIM_ENCODE
                 XCORDELIM_ENCODE XCOMIREPL XCOMCREPL XCOLDELIMITERS
                 XCORDELIMITERS XCOMIREPL_CNT XCOMCREPL_CNT XCOXMITF

Change 32.307  TYPE50 with VERSN50=2 ATTCHTYP=4 and LENGTH=254 caused an
VMAC50         INPUT STATEMENT EXCEEDED error because MXG expected 262
Dec 29, 2014   bytes.  Now the 8-byte TY50RDQN Read-Queue-Name is INPUT
               only when there are 8-bytes left.  I presume that field
               was added by an APAR.
   Thanks to Steven Womer, OCLC, USA.

Change 32.306  If BLDSMPDB was used with RUNDAY=NO, the PDBAUDIT report
BLDSMPDB       was incorrectly invoked, causing DDNAME NOT FOUND error.
Dec 29, 2014   Now, PDBAUDIT is not run when RUNDAY=NO is specified.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 32.305  DOCUMENTATION.
FORMATS       -Format $MGPROD maps every member in MXG to a product.
Dec 27, 2014   This is work in progress for Spring, 2015.

====== Changes thru 32.304 were in MXG 32.12 dated Dec 23, 2014=========

Change 32.304  Support for RMF APAR OA45421 adds new function to the SMF
VMAC74         74 subtype 4 record, new variables in TYPE74ST dataset:
Dec 19, 2014     R744SISC='INDEX TO*SCM*DATA*SECTION'
                 R744SNSC='STORAGE*CLASS*MEMORY*DATA*SECTIONS'
                 R744SSAC='SCM AR*CONDITION*REQUIRED*RESTART'
                 R744SOSA='SCM AR*CONDITION*SUCCESSFUL*OP'

Change 32.303  Support for APAR OA44798, which adds two variables to the
VMAC22         TYPE22 Subtype 10 record, in dataset TYPE22_A:
Dec 19, 2014     SMF22SMT='MULTI-TARGET*PPRC*STATUS'
                 SMF22PMT='PREVIOUIS*MULTI-TARGET*PPRC*STATUS'

Change 32.302  MXG 32.06-32.11.  The QAWPS program %INCLUDE of BUIL3005
QAWPS          text was incorrectly changed to BUIL3206 in 32.06 and
Dec 19, 2014   then was BUILVVNN for each version instead of BUIL3005.
   Thanks to Declan Vibert, World Programming, ENGLAND.

Change 32.301  MXG 32.11, WPS ONLY. A letter F left in macro _VARWECR
VMACWECR       caused ERROR: DATA SET "WORK.WEBSCRAU" NOT FOUND".
Dec 22, 2014   SAS did not fail; it added the F to the dataset LABEL.
   Thanks to Declan Vibert, World Programming, ENGLAND.

Change 32.300  MXG 32.11, WPS on ASCII ONLY, INVALID SMF RECFM. A test
VMACSMF        left from Change 32.258 ("OR %SYSPROD(WPS EQ 1") caused
Dec 19, 2014   ERROR: UNRECOGNIZED RECORD FORMAT VBS on ASCII (because
               WPS requires RECFM=S370VBS on ASCII). Test is removed.
   Thanks to Declan Vibert, World Programming, ENGLAND.

Change 32.299  The default invocation of PDBAUDIT (contents of today's
BLDSMPDB       "PDB's", comparison with yesterdays) is at the end of the
Dec 18, 2014   default BUILDPDB (PDB.SPUNJOBS), but that is prior to any
               ASUMxxxx or other members that you added, so those other
               PDB datasets would not be reported.
              -This change adds the PRINTAUDIT parameter to BLDSMPDB
                 PRINTAUDIT=&MXGPRINTAUDIT
               to automatically defer the %PDBAUDIT invocation until
               after all of the INCLAFTR programs have executed.
              -If you use BUILDPDB and your own includes, you can use
                 %LET MXGPRINTAUDIT=NO;  /* temp replace default */
                 %INCLUDE SOURCLIB(BUILDPDB);
                 %INCLUDE - all of your stuff - ;
                 %PDBAUDIT(PRINTAUDIT=YES);

Change 32.298  Multiple UTILBLDP executions in a single job could get
UTILBLDP       errors with missing parens and other nastiness if any
Dec 18, 2014   of the EXPDB*** parameters were used.  EPDBINC EPDBCDE
               EPDBVAR EPDBOUT are now all nulled at the end.

Change 32.297  New argument LIBNAMES to select which LIBNAMEs are used,
PDBAUDIT       and new options added to PRINTAUDIT= argument:
Dec 18, 2014     LIBNAME=_ALL_     Default, search all open LIBNAMES:
                    A LIBNAME is open if:
                    -zOS  it has been touched by a DATA or PROC step
                          or there was a LIBNAME statement used
                    -ASCII there MUST have been a LIBNAME statement
                 PRINTAUDIT=
                    YES      - default - datasets and reports generated
                    NO       - PDBBAUDIT becomes a null statement
                    DATAONLY - only builds datasets and does not print
                               any reports
                    PRINTONLYCHANGE - builds datasets and prints only
                                        the report of differences
                    PRINTONLYCONTENTS - prints only the CONTENTS report

Change 32.296  New macro variable &MACJESN is added in VGETJESN so you
VGETJESN       can delete records by their TYPETASK values. For example,
VMXGINIT       the large number of SMF 30s written for OMVS tasks can be
Dec 18, 2014   can be deleted from your BUILDPDB datasets, using
                 //SYSIN DD *
                  %LET MACJESN=
                    %QUOTE( IF TYPETASK EQ 'OMVS' THEN DELETE; ) ;
                  %INCLUDE SOURCLIB(BUILDPDB);
               Note that using MACJESN "instream" in your //SYSIN only
               impacts this job, so you could separately run TYPE30
               program and see all those OMVS task records.
   Thanks to Richard Stuchell, Visa, USA.

Change 32.295  Variables XMLSYSTEM/TEMSSEQ in T112TEMS dataset created
UTILEXCL       by SUBSTR(XMLRECORD) with INPUT XMLRECORD $VARYING32000,
VMAC112        so SAS defaults their length to 32000, when there is no
Dec 17, 2014   LENGTH statement.  That is a problem ONLY because both
               are in the BY list for PROC SORT, which then caused
                 ERROR:   HOST SORT CAN NOT BE USED (SORTPGM=HOST/SORT)
                 WARNING: HOST SORT CAN NOT BE USED (SORTPGM=BEST)
               because DFSORT/SYNCSORT don't allow a BY list over 32760
               bytes long. Both are now shortened in a LENGTH statement.
              -An ERROR occurs with the site option SORTPGM=HOST/SORT.
               Instead, if SORTPGM=BEST is used, SAS issues the WARNING
               and proceeds to use its internal sort.  Knowing this now,
               I recommend SORTPGM=BEST in your site's CONFIG.
              -The UTILEXCL program has a long BY list and has noted in
               comments that you must use OPTIONS SORTPGM=SAS.
              -But how did this slip thru my QA? Well, it turns out that
               SAS does NOT validate the BY list length if the dataset
               has zero observations; I don't always have obs for every
               MXG dataset. I think that lack of validation is a defect,
               but now that I'm aware SAS may not find these errors for
               me, I've revised the UTILVREF QA program to now calculate
               the length of the BY list for every dataset and report
               any new exposures so they can be corrected/documented.
              -Note: There are other HOST SORT CAN NOT BE USED causes.
   Thanks to Gaetan Martel, Intact Corportation Financiere, CANADA.

Change 32.294  This analysis example to compare two WEEK's TYPE72GO data
ANALCPU        for each Service Class, matching intervals from midnight
Dec 17, 2014   had &PDBMXG..TYPE72GO instead of WEEK.TYPE72GO and so it
               failed with LIBREF PDB IS NOT ASSIGNED.
   Thanks to Jerry Schmidt, Northeast Utilities, USA.

Change 32.293  Warning added to ASUMDB2A when "Rollups" are detected.
ASUMDB2A       Created when ACCUMACC is specified, rollups summarize
Dec 17, 2014   DB2 events, leaving no "detail" event data in DB2ACCT, so
               you need to be aware Rollups impact ANALDB2R reports and
               makes any summarization of the already summarized data of
               questionable utility.  The new log messages print:
                 MXGWARN: DB2 ROLLUPS DETECTED. SUMMARIZED VALUES CANNOT
                 MXGWARN: BE USED FOR DETAIL ANALYSIS.  TOTAL AND MAX
                 MXGWARN: VALUES WILL BE CORRECT BUT AVERAGE VALUES WILL
                 MXGWARN: BE INCORRECT.  USE WITH CAUTION.
               Note that %ANALID reports tabulate which DB2 Subsystems
               have enabled ACCUMACC; %ANALID reports are automatically
               created by BUILDPDB to tabulate your input SMF data, or
               it can be directly executed to read/report on your SMF.
               using %ANALID(READSMF=YES,PRINT=YES,PDBOUT=WORK);

Change 32.292 -ASCII only. The MXG default SORTSIZE=400M is removed so
AUTOEXEC       the default SORTSIZE is chosen.  No problem was reported,
AUTOEXEU       but this archaic value could negatively impact sorts.
AUTOEXEW      -Optional ODS and DM commands are now enclosed in comment
Dec 16, 2014   blocks, rather than enabling by default.

Change 32.291  Support for GDPS SMF 105 Record APAR PI26702 (replaced
VMAC105        PI16853) INPUTS eight new two-byte fields into existing
Dec 16, 2014   variables SM105LTV/LOV/LPV/LSV/LUV/LCV/LJV/SN195LFV that
               were previously only one-byte fields.  When the APAR is
               installed, it's flag bit detects its presence and inputs
               the new fields transparently.  One byte was too small if
               a client had an LSS with a full 256 devices defined.
   Thanks to Dave Clitherow, IBM GDPS Development, UK.

Change 32.290  "Archaic" IMS log processing programs, TYPEIMS7 to create
TYPEIMS7       IMS07 IMS07D IMA0A7 IMS0708 IMSUMRY datasets or JCLIMSL6
VMACIMS        and ASMIMSL6 to create IMSTRAN.IMSTRAN, both now use the
VMACIMSA       newer and larger (by about 5%) DLREXTIM for the IMSCPUTM
Dec 12, 2014   value instead of the original CP CPU time field, DLRTIME.
               DLREXTIM was added in IMS 10.1 and recommended by IBM IMS
               support.  DLRTIME is also now kept in those datasets.
               NOTE: THE RECOMMENDED, NON-ARCHAIC MXG IMS LOG PROCESSING
               in JCLIMSTT that creates the IMS56FA IMS Transaction Data
               Set was not changed: IMSCPUTM correctly used TPEXTIME.
              -IMSCPUTM/DLRTIME/DLREXTIM contain ONLY the CP CPU time
               and DLRAZAAP/TPEZAAP contain ONLY zIIP/zAAP CPU time.
   Thanks to David Christianson, State of Wisconsin, USA.

Change 32.289 -RMF III processing performance enhancements, message
ADOCRMFV       improvements, fixes, and documentation upgrades.
ASMRMFV       -Improved ASMRMFV handling of all Return Codes, Reason
CLRMFV         Codes, and Info Codes into messages eliminating some
JCLRMFV        instructions.
JCLCRMFV      -Severe error messages RMFV003S and RMFV007S will now
JCLDRMFV       provide the failing subroutine name for better diagnosis.
Dec 20, 2014   In prior ASMRMFV versions only the general name of the
               failing service (OPEN, CLOSE, etc.) was shown.
              -Messages RMFV024I, RMFV025I, RMFV028I, RMFV029*,
               RMFV031I, RMFV037I, and RMFV999I are modified for better
               alignments and legibility.
              -Message RMFV028I for Indexes is now a multi-line message.
              -Messages RMFV012I with Sample Begin/End Date/Time stamps
               always be issued even if NODETAIL is in effect.
              -When the NODUPDSN option is in effect message RMFV101I
               will include the number of DSNAME COMPARES in both Detail
               and Summary Reports as an indicator of the overhead
               incurred detecting duplicate data set names.
              -Message RMFV105I will now show the table name for the RMF
               III Data Set Header as DSI instead of DSH.  This was the
               only report table id not conforming to the actual RMF III
               internal id which is ERBDSIG3.
              -Using the RMF III internal table identifications
               consistently allows for more efficient table validation.
               ASMRMFV documentation and source code will still refer to
               this table as the DSH or Data Set Header.
              -When the POLICY option was specified with the SIZE option
               no Service Policy information was produced.  The SIZE
               option provides a quick inventory of the space usage,
               index usage, and attributes of all allocated RMF III data
               sets with no RMFBSAM output.
              -When the SIZE option is used now any RMF III data set
               filters such as NODUPDSN, SYSPLEX=, SYSTEM=, Date/Time,
               and DOW= (and their aliases) will be honored to provide
               Index and Space usage for only selected data sets.  In
               prior ASMRMFV versions all data set filters were ignored
               when SIZE was specified.
              -The SIZE option will now bypass opens and closes for
               unneeded non-VSAM data sets RMFBSAM, RMFFILT, and RMFSKIP
               for better performance.
              -Summary messages RMFV100I, RMFV012I, and RMFV014I will
               now also be issued when SIZE is in effect.
              -SZ is no longer an alias for the SIZE option, it is now
               an alias for SHOWZERO.  Please use SI as a SIZE alias
               instead.
              -New parameters SHOWZERO (alias SZ) and NOSHOWZERO (alias
               NOSZ) control display of RMF III table statistics in
               message RMFV105I when there are zero occurrences of a
               particular table.  The default is SHOWZERO providing the
               same behavior as prior ASMRMFV versions.
              -These parameters replace the ZEROPRT/NOZEROPRT options
               and respective aliases since the purpose was unclear from
               the names.  However, the old parameters are still
               accepted without error.
              -SHOWZERO/NOSHOWZERO parameter documentation is added to
               Section 6 "Report Control Parameters" in ASMRMFV and
               ADOCRMFV members.  The SIZE option is also updated.
              -Updates for revised messages are made to Section 12
               "Messages" in ASMRMFV and ADOCRMFV members.
              -Section 25 "Summary" is updated to add new parameters.
              -REQUIREMENT: In order to implement these features the
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.

Change 32.288  SMF Type 22 log message UNKNOWN SECID=40 printed because
VMAC22         the CPU segment is only 6 bytes, MXG read 7.  Obviously,
Dec  6, 2014   this is NOT a frequently used SMF record!  Error was
               introduced by Change 32.064 in MXG 32.03.
   Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.

Change 32.287  VMXGGETM was checking the length of NRECORDS when it
VMXGGETM       should have been checking for a value of MAX, when the
Dec  6, 2014   NRECORD=MAX option was chose, causing log message
               NOTE: Variable MAX is uninitialized.

Change 32.286  A second execution of %VMXGSRCH might do nothing; both
VMXGSRCH       generated WARNING: MULTIPLE LENGTHS FOR BY VAR MEMNAME
Dec  3, 2014   but only the first execution executed your search.
   Thanks to Rodger Foreman, Trans Union, USA

Change 32.285  A RNAME (Minor Queue Name) can contain hex characters
VMACRMFV       so new variable ENTMINNAHEX with $HEX72 format provides
Dec  3, 2014   the hex values when ENTMINNA contains non-printables.
               These additional variables will also be updated and this
               change text will be revised when completed.
               Dataset Variable
               CMFVEN  ENRERNM
               CMFRV   RVRERNM
               TYPEMIM MIMCMRNM
               TYPEPDL RTYPEU
               TMVSNQ  NQMINOR
               TYPE87  SMF87QSCAN_RNAME
               TYPE796 TYPE796MIN
               TYPE797 TYPE797MIN
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 32.284 -INVALID THIRD ARGUMENT TO FUNCTION SUBSTR in NDM 'PT' SMF
VMACNDM        record when LOCNULL=1 is corrected by removal of SUBSTR.
Dec  3, 2014  -Additional NDMRTYPE values of A# C# D# S$ U# UK are now
               also output in dataset NDMAE.
              -Protection for ancient short records added so that now
               every single NDM record I've ever received is tested.
   Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
   Thanks to Michael Oujesky, DTCC, USA.

====== Changes thru 32.283 were in MXG 32.11 dated Dec  2, 2014=========

Change 32.283  Debugging PUTLOG removed, printed multi-million lines,
VMACRMFV       causing a refresh and re-date of 32.11.
Dec  2, 2014
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 32.282  ASCII only. If the dataset for which you are searching
VGETOBS        was a VIEW, it was found, but the DSNAME returned was a
Dec  2, 2014   period and the member type was blank.  The period should
               have been in the VGETOBS variable and the member type
               should have been set to VIEW.  The VGETDSN variable was
               also incorrectly set to period on z/OS, all fixed now.
   Thanks to Karl Olafsson, Advania, ICELAND.
   Thanks to Hreinn C. Hreinsson, Advania, ICELAND.

====== Changes thru 32.281 were in MXG 32.11 dated Dec  1, 2014=========

Change 32.281  MXG 32.02-32.10. BUILDPDB fails if //PDB is on tape after
VMAC74         Change 32.031 added code to VMAC74 that caused SAS to try
Nov 28, 2014   to open PDB.TYPE748A and PDB.TYPE748R simultaneously, and
               that can't be done when //PDB is a sequential library.
               Code revised to create a temporary copy first.  BUT:
               WE RECOMMEND YOU NEVER USE //PDB ON TAPE for the BUILDPDB
               job, not only because you can't have two datasets open,
               but because BUILDPDB first writes many datasets to the
               PDB, but then has to read them back in (e.g.,RMFINTRV has
               to read ALL of the TYPE7xxx RMF datasets to create that
               summary PDB.RMFINTRV dataset), and since there is no
               dictionary on sequential libraries, SAS has to read every
               record to find the first dataset, then rewind back to the
               start, read to find the second dataset, etc., causing
               massive increase in elapsed time.  And consider what
               happens when it's a five volume tape dataset that has to
               have each volume mounted, read, dismounted, etc., etc.
               Instead, make your //PDB DD a temporary DASD file for
               the building of the PDB data library, but then add
               a //REALPDB DD UNIT=TAPE,DSN=YOUR.REAL.PDB,. . . and a
                 PROC COPY IN=PDB OUT=REALPDB MEMTYPE=DATA;
               to archive the PDB to tape efficiently.
              -TYPS74 fails the same way/same reason if PDB is on TAPE.
   Thanks to Jerry Schmidt, Northeast Utilities, USA.

Change 32.280  UNUSED Change Number.
Nov 22, 2014

Change 32.279  Mobile Workload support was enhanced by adding variables
MOBWRK02       SMF89IST SMF89EST SMF89ST SMF89UST in MOBWRK02, needed to
MOBWRK05       determine which of the SMF89 starting timestamps should
Nov 26, 2014   be used to set the STARTHR, and MOBWRK05 was updated to
               use the STARTHR in all the merges, which is needed for
               hours when an LPAR was moved to a different CEC.
   Thanks to Graham Harris, RBS, ENGLAND.

Change 32.278  TYP11902 dataset variables TTTTLSSP/NC/ST/FP/UI wrong
VMAC119        when IBM inserted 16 bytes after TTDUAKRC and before the
Nov 26, 2014   relocatable OFF11903 segment, but MXG overlooked using
               OFF11903 in the INPUT (probably because prior iterations
               of this SMF 119 type record happened to have OFF11903 at
               the COL after TTDUAKRC.)  Both the OFF11903 and OFF11904
               segments are now corrected and protected for inserts.
              -New variable added to TYP11902 dataset, discovered in the
               z/OS 2.1 IP Programmers guide, 2014 edition, which does
               not show those 16 bytes after TTDUAKRC.
                 TTTTLSNC4='ATTLS*NEGOTIAGED*4-BYTE*CIPHER'
   Thanks to Michael Creech, Black Knight Financial Services, USA.

Change 32.277  Crypto variable execution times R7023MET and R7023CRT are
VMAC7072       now correctly multiplied by the R7024SF Scaling Factor;
Nov 25, 2014   that needed multiply was overlooked when they were added.
   Thanks to Michael Creech, Black Knight Financial Services, USA.

Change 32.276  Variables XCODSN2='REMOTE*DSN*WITH*G000V00' is now KEPT
VMACXCOM       in TYPEXCOM; the adjacent XCODSN1 was also overlooked and
Nov 21, 2014   is now kept, but that Local DSNAME value was also in the
Dec 16, 2014   variables LCLDSN, XCOLDSN1, and in the FILE= argument in
Dec 22, 2014   the LASTMSG variable.
              -Dec 16: This support extended back to version 11.5.
              -Dec 22: Lines longer than 72 characters reduced.
   Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.

Change 32.275  Variable NDMRTCPU in NDMRT dataset was incorrectly INPUT.
VMACNDM        The +2 after NDMGPE1D no longer exists.
Nov 20, 2014
   Thanks to Michael Oujesky, DTCC, USA.

Change 32.274 -The PDBAUDIT report of sizes of datasets in your PDB's is
PDBAUDIT       enhanced with SORTEDBY option so that you can choose
Nov 27, 2014   the printed report order as deeded.  The default order is
                 SORTBY=LIBNAME DESCENDING FILESIZE MEMNAME
               but you can alter the order any way you wish as:
                 SORTBY=DESCENDING FILESIZE MEMNAME
              -Numeric values are now formatted with commas and a new
               column is added with FILESIZE in MGBYTES, and labels
               rather than variable names are printed.

Change 32.273  ASCII execution only.  Variable LIOBTIME in RACF0200
VMACRACF       dataset was incorrect for times from midnight to 1 am.
Nov 20, 2014   The EBCDIC logic was copied to the ASCII code area.
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA

Change 32.272  ERROR FOUND IN XAMSYS FILE. RECORD WAS NOT OUTPUT.
VMACXAM        _N_=1 COL=8987 SEGNAME=CMS SEGSTART=8979 SEGLEN=16448
Nov 18, 2014   A second INPUT +SKIP in the STOSHR record misaligned.
   Thanks to Randall Springs, BB&T, USA.

Change 32.271  The "true" PDB.SMFINTRV dataset built by BUILDPDB, with
SMFINTRV       consolidated MULTIDD='Y' observations, ACCOUNTn's added,
VMAC30         and with the true count of tape devices allocated for
Nov 19, 2014   each interval, can now be built directly from SMF data,
               or from these datasets in //WORK and/or //PDB:
                TYPE30TD TYPE30_1 TYPE30_5 and TYPE30_V=SMFINTRV.

               Use %INCLUDE SOURCLIB(TYPE30,SMFINTRV); to build ONLY the
               PDB.SMFINTRV dataset from SMF; use TYPS30 to also create
               all TYPE30xx datasets.  This %UTILBLDP example shows how
               other SMF records can be added to the processing in one
               pass of the SMF file, with USERADD= adding SMF type 42,
               and INCLAFTR=SMFINTRV adding creation of PDB.SMFINTRV:

                   %UTILBLDP(BUILDPDB=NO,
                             USERADD=30 42,
                             INCLAFTR=SMFINTRV,
                             OUTFILE=INSTREAM);
                   %INCLUDE INSTREAM;

               (The _STY30UV Data Set Sort macro in TYPS30 to sort the
               WORK.TYPE30_V dataset to the PDB does not name the sort
               output to PDB.TYPE30_V, but instead, it simply sorts the
               unconsolidated TYPE30_V dataset, naming it PDB.SMFINTRV.
               Fortunately, by design, the %VMXGWORL invocation looks
               first for the _WTY30UV token, which is WORK.TYPE30_V, but
               if that does not exist, then then the _LTY30UV token,
               which is PDB.SMFINTRV is used, so SMFINTRV can be used
               with either TYPE30 or TYPS30 programs transparently.)

               To identify the source of your PDB.SMFINTRV dataset,
               the PROC CONTENTS DATA=PDB.SMFINTRV; will show
                    Built By            Data Set Label text
                  TYPS30(_STY30UV)    TY30UV: TYPE 30 INTERVAL EVENT
                  SMFINTRV            DB30UV: SMFINTRV FROM SMFINTRV
                  BUILDPDB/3          DB30UV: BUILDPDB - SMFINTRV


              -"Missing value" messages during _STY30U6 execution were
                observed and eliminated with VMAC30 "cosmetic" changes.
   Thanks to Cesar V. Cocco, Verisk, USA.

Change 32.270  The IHDRBVIR "BVIR Header" exit member was overlooked but
IHDRBVIR       it now exists, and is taken after these header variables
VMACBVIR          BVIRHIST BVIRLEN  BVIRTYPE BVIRVERS CLUSTER  DLIBSEHX
VMXGINIT          DLIBSEQN DURATM   ENDTIME  GLIBSEHX GLIBSEQN GMTOFFBV
Nov 19, 2014      MACHMODL MACHSERL MACHTYPE NODEID   SMFTIME  STARTIME
                  TMZOFF   VECDLEVL VECDLEVL
               have been input and can be used to select which BVIR data
               records are processed.  As with all IHDRxxxx exits, when
               EDITed with your criteria, that will apply to ALL jobs
               that process the BVIR data, but each IHDRxxxx member also
               also defines a unique macro variable, here MACBVIRH, that
               can be used in the //SYSIN text to tailor a specific job.
               See comments in the IHDRBVIR and IMACFILE exit examples.
   Thanks to Ravi Kumar, Bank of America, USA.

Change 32.269  Documentation of two common ODS errors on z/OS:
ADOCODSO      -NOTE: IMAGE NAME PREFIX WILL BE TRUNCATED TO 5
Nov 19, 2014         CHARACTERS TO COMPLY WITH Z/OS FILENAME RULES.
               ERROR: CANNOT WRITE IMAGE TO UXMCBH.CPUS0.GIF. PLEASE
                      ENSURE THAT PROPER DISK PERMISSIONS ARE SET.
                 No output destination was defined so ODS is trying to
                 create datasets with userid.SGPLO.PNG and will almost
                 always fail, or ODS LISTING CLOSE; was not used.

              -ERROR: THE JAVA PROXY IS NOT RESPONDING.
               ERROR: THE JAVA PROXY'S JNI CALL TO START THE VM FAILED.
               ERROR: UNABLE TO LOAD THE JAVA VIRTUAL MACHINE.
                      PLEASE SEE THE INSTALLATION INSTRUCTIONS OR
                      SYSTEM ADMINISTRATOR.
                 Region size too small

Change 32.268  The new ANALDSCK ("DSNAME Check") reads all SMF records
ANALDSCK       (SMF 6 14,15,17,18,42.6,60,61,65,66,62,64) that contain
Nov 19, 2014   a DSNAME or ENTRNAME and selects the observations that
               contain the full DSNAME, or the High-Level-Index, or any
               text you choose, since the INDEX(DSNAME,'text') function
               is used for the selection criteria. %VMXGPRAL is invoked
               in this example to print all of the found observations.
   Thanks to Jack Newburn, Los Angeles County Education, USA.

Change 32.267  Variables CRYAC1U and CRAM3U (1024/4096 utilizations) in
VMAC7072       the TYPE70X2 (PCI CRYPTO ACCELERATOR PCICA) need to be
Nov 19, 2014   multiplied by 100, like the other percentages.
   Thanks to Michael Creech, Black Knight Financial Services, Inc., USA

Change 32.266  For CICS, DB2 variable QWHCCV is an alternate source for
VMXGUOW        the CICS transaction name, so it is now added to the list
Nov 19, 2014   of transaction names in PDB.ASUMUOW dataset.

Change 32.265  Support for a second CMODNAME='USER' CMODHEAD='USER' CICS
IMACICDV       optional segments for dataset CICSTRAN. The first segment
IMACICVS       will be tailored in the IMACICUS member and the second
UTILEXCL       segment' CMODNAME/HEAD values are set to CMODNAME='USER2'
Nov 18, 2014   and the new IMACICVS member is listed to be tailored for
               the second segment.
   Thanks to Tom MacCabe, Dominion Resource Services, USA.

Change 32.264  WPS ONLY. The ancient test for &SYSVER GE 6 (to ensure
WEEKBLDD       the "new in V6" CLEAR function was available, to then
WEEKBLDT       CLEAR the LIBNAME) failed under WPS, with a spurious
WEEKBL3D       error message about BLKSIZE mismatch with LRECL=133!
WEEKBL3T       The test needs to use &SASVER which is 8 or greater for
Nov 18, 2014   both SAS and WPS; SYSVER returns the current SAS version
               which is also 8 or greater, but WPS returns a 3.
   Thanks to Simone Niemczura, Sungard, USA.

Change 32.263  SAS fails to PROC COPY a DATA library with an ITEMSTORE,
DOC            to a tape or sequential format library on disk, with:
         ERROR: An item store cannot be created in a sequential library.
         ERROR: File PDBINTRV.REGSTRY.ITEMSTOR has not been saved
Nov 14, 2014    because copy could not be completed.
               All PROC COPY statements now include the MEMTYPE=DATA
               option to prevent the error; most COPY's did have either
               MT=DATA or MEMTYPE specified.
   Thanks to Cesar V Cocco, Verisk, USA.

Change 32.262 -If you are running BLDSMPDB with Week-To-Date WTD, the
BLDSMPDB       WEEKKEEP logic in BLDSMPDB failed if you used a wild card
VMXGALOC       syntax (ASUM: for example).
Nov 12, 2014  -If you used WTD logic with AUTOALOC on ASCII and used
Dec 15, 2014   FORCEDAY to do a rerun the data went into the WEEK-1
               dataset rather than the correct week. Dec 12: Typo fixed.

Change 32.261  If a tailored program compiled _CDE102 first, variable
VMACDB2H       JOB could be length $12, because there was no LENGTH
Nov 11, 2014   statement, causing JOB=(SUBSTR(QWHCCV,1,8) to set the
               length from the length of QWHCCV. A LENGTH statement is
               added in VMACDB2H to protect the expected length $8.
   Thanks to Paul Volpi, UHC, USA.

Change 32.260  Executing MXG on Linux to process AS400 data, a forward
VMXGDSNL       slash in the path name was fine on windows but was taken
Nov 12, 2014   to be a divide symbol under linux, causing a numeric
               operator to be looked for and not found.  The use of the
               %QUOTE() was required to resolve the intended meaning of
               the slash, but the code used ONLY for TYPEQACS processing
               has been rewritten to be sensitive to the execution
               platform.
               FOR ZOS IT WILL USE THE PENULTIMATE NODE OF THE DSNAME
   Thanks to H. Sterling James, DST Systems Inc.

Change 32.259  DB2 IFCID=220: "NOTE: Invalid Argument to function INPUT"
VMAC102        prints a hex dump of the first two instances. MXG's INPUT
Nov 10, 2014   statement had not been validated with IFCID=220s and its
               misalignment had not been previously observed.
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 32.258  Variable SHIFT (the shift of INTBTIME) is now added to
ASUMSMFI       the PDB.ASUMSMFI dataset which summarizes PDB.SMFINTRV.
Nov 10, 2014
   Thanks to Frank Lund, EVRY, NORWAY.

Change 32.257  RMF Type 78 Subtype 2 record always contain the Virtual
FORMATS        Storage Section, and can optionally contain Private Area
VMACID         and Subpool Statistics (enabled by listing JOB names to
VMACSMF        be monitored in the VSTORE options in your ERBRMFxx).
VMAC78         The %ANALID report now recognizes and reports the records
NOV  7, 2014      78.2.1:VIRTUAL STORAGE ACTIVITY
                  78.2.2:VIRT+PRIVATE AREA/SUBPOOL
               so you can tell if there were any of those JOBS that were
               initiated during this interval.
   Thanks to Ray Dunn, CIGNA, USA.
   Thanks to Keith C. Shaffer, CIGNA, USA.

Change 32.256  These duration variables in dataset TYPEMVAO
VMACMVAO         ACTIVETM CPUTOTAL CPUMAX   ELAPSTOT ELAPSMAX TAKETIME
Nov  7, 2014     SUCCTIME SUCRETTM FAILTIME FAIRETTM
               were all incorrectly multiplied by 60; I think the first
               data in 2010 was in minutes, but now is in seconds, so
               that multiply is now removed.
   Thanks to Christa Neven, KBC Group, BELGIUM.

Change 32.255  The HIGHCONTRAST style that was used as the parent for
MXGSTYL1       MXGSTYLE1 was changed (unexpectedly, unclear when) to
Nov  6, 2014   have a black background and all of the colors were also
               modified. Changing the parent to PRINTER resolved the
               problem.
   Thanks to Richard Way, Office Depot, USA.

Change 32.254  z/VM Variable INTERVAL and HFRATE can be wrong if there
FORMATS        is no SAMPLE PROFILE (1.09) MONWRITE record written at
VMACVMXA       startup.  They are missing values if there is only one
Nov  4, 2014   system's MONWRITE data being read, but if MONWRITE data
               from multiple systems is concatenated, the variables will
               be non-missing and wrong values, as they were retained
               from the prior systems 1.09 record.  Now, both variables
               are set to a missing value in the 1.04 (Monitor Start) to
               clear the retained values.  Fortunately, neither variable
               is used in any MXG processing.
              -Cosmetic, in FORMATS, the RECTYPE format MGVXATY had not
               been updated for recently added MONWRITE records.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.253  zOS only and only if daily datasets are GDGs, MONTHBLD:
BLDSMPDB       It is possible that unless the GDGs are in precisely the
MONTHASC       right order (today is 0, yesterday -1, etc,) that the
MONTHBL3       MONTHBLD logic could cause you to have duplicate and/or
MONTHBLD       missing data in your MONTHLY datasets. All of these
MONTHDSK       members now look for daily data that is in the current
VSETMNTH       week - that is the last week that started before
Nov  1, 2014   month-end and if the ZDATE is in that week will continue
Nov  6, 2014   to process that record.  On zOS, all 7 days are always
               set by VSETMNTH to ensure we get all of the data from the
               current week into the process.

Change 32.252  Support for EzSM 4.2.0 creates two new datasets, one each
EXEZSMT2       from splitting subtype 2 and 3, and subtypes 1, 2, 3, 7
EXEZSMV3       are all now decoded and variables created.  Only header
IMACEZSM       variables are output for subtypes 4, 5, and 6, pending
VMACEZSM       test data for those subtypes.
VMXGINIT         dddddd    dataset   description
Oct 31, 2014     EZSM02    EZSM02    EZSM02: USER START OR END OR END
                 EZSMT2    EZSM02T   EZSMT2: TRANSACTION START OR END
                 EZSM03    EZSM03    EZSM03: MVS CONSOLE COMMAND
                 EZSMV3    EZSMV3    EZSMV3: MVS VARY COMMAND
   Thanks to Perry Lim, Union Bank, USA.

Change 32.251  TYPE30 variables EXCPNODD/TODD/TOTL,IOTMNODD/TODD/TOTL
VMAC30         were inconsistent when NUMDD=0.  MXG set EXCPNODD=0 if
Oct 30, 2014   it was missing, to prevent MISSING VALUE messages, but
               when NUMDD=0, there ARE no DD segments, so leaving
               EXCPNODD=. when NUMDD=0 makes better sense.  And while
               NUMDD=0 did set IOTMTODD=., that caused the calculated
               IOTMTOTL to be missing when IOTMTOTL=IOTMTOTL-IOTMTODD
               was executed.  All are now correct and consistent; when
               NUMDD=0 the two NODDs will be missing and TOTL correct
               in both TYPE30_V and PDB.SMFINTRV datasets. While MULTIDD
               observations (30's with ONLY DD segments) don't have a
               Unit Record segment (so IOTMTOTL in TYPE30_V will be a
               missing value), the BUILDPDB/ONLYINTV consolidation of
               all of those MULTIDD='Y' observations from TYPE30_V into
               the PDB.SMFINTRV observation sums those variables.
   Thanks to David Campbell, SunTrust, USA.

Change 32.250 -RMF III Data Set selection enhancements, fixes, and
ADOCRMFV       documentation upgrades.
ASMRMFV       -New parameter SYSPLEX= (alias PLEX=) provides for the
CLRMFV         selection of RMF Monitor III data sets based on the
JCLRMFV        originating Sysplex Name and is explained more below.
JCLCRMFV      -New parameter SYSTEM= (aliases SYSID=, SID=) provides for
JCLDRMFV       the selection of RMF Monitor III data sets based on the
Nov 29, 2014   originating System Id and is explained more below.
              -New parameters SHOWMATCH (alias SM) and NOSHOWMATCH
               (alias NOSM) control display results of SYSPLEX= and
               SYSTEM= value matching.  The default is NOSHOWMATCH.
              -New parameters NODUPDSN (alias NODUP) and DUPDSN (alias
               DUP) control detection of duplicate RMF Monitor III data
               set names as input.
              -The default for NODUPDSN/DUPDSN is DUPDSN that provides
               the previous ASMRMFV behavior of no duplicate detection.
              -New parameter DUPERR=ABEND/WARN/IGNORE controls what
               happens when NODUPDSN is in effect and an RMF III data
               set name duplicate is detected.  The default is
               DUPERR=WARN.  DUPERR is ignored with DUPDSN in effect.
              -SYSPLEX= and SYSTEM= do NOT allocate any RMF Monitor III
               data sets, but just filter those already allocated
               whether by JCL or INDSNAME= patterns.
              -The SYSPLEX= and SYSTEM= parameters may be useful for
               large sites with many Sysplexes and/or System Ids that
               have an established comprehensive set of RMF III data
               sets used for MXG PDB builds.  But a complete set may not
               be needed for all uses such as for certain ad hoc
               studies.
              -Use of SYSPLEX= and/or SYSTEM= avoids having to set up
               special groups of RMF III data sets in JCL or as
               INDSNAME= patterns just for special needs.  The standard
               configuration set of RMF III data sets can always be
               used, but filtered as needed with SYSPLEX= and/or
               SYSTEM=.
              -Note that SYSPLEX= and SYSTEM= when specified do add some
               overhead because every data set has to be opened to
               examine the originating Sysplex Name and System Id
               whether it will be filtered or not.
              -However, that drawback is possibly offset with the
               avoidance of inconvenience and errors associated with
               tailoring of JCL or INDSNAME= patterns for special PDB
               builds.
              -Defaults are SYSPLEX=ALL and SYSTEM=ALL meaning that no
               RMF Monitor III data set filtering occurs based on
               Sysplex or Sysid origin as in prior ASMRMFV versions.
              -SYSPLEX= and SYSTEM= support any of the following formats
               for values:
                 SYSPLEX=Range1                 SYSTEM=Range1
                 SYSPLEX=Range1:Range2          SYSTEM=Range1:Range2
                 SYSPLEX=Pattern1               SYSTEM=Pattern1
                 SYSPLEX=Pattern1:Pattern2      SYSTEM=Pattern1:Pattern2
                 SYSPLEX=Pattern1:Range1        SYSTEM=Pattern1:Range1
                 SYSPLEX=Range1:Pattern1        SYSTEM=Range1:Pattern1
              -A Range is one or more alphanumeric (A-Z,0-9) or national
               (@,#,$) characters allowed in a Sysplex Name or System
               Id.
              -Range1:Range2 specifies a low/high Range Pair of values
               where the source Sysplex or Sysid string must be equal or
               greater than Range1 and also equal to or less than Range2
               for the data set to be selected.
              -Patterns provide generic matching with the Sysplex and
               System fields in the Data Set Header (DSH) table for
               flexibility.
              -A Pattern can include any of the characters in a Range
               and MUST also include at least 1 special pattern
               character to be recognized as a Pattern.  Otherwise it is
               handled as a Range.
              -Supported pattern characters are:
                 Pattern Character   Matches In Source String
                 -----------------   ------------------------------
                 '*' (Asterisk)      0 or more    characters
                 '%' (Percent sign)  1 Non-blank  character
                 '+' (Plus sign)     1 Numeric    character (0-9)
                 '_' (Underscore)    1 Alphabetic character (A-Z)
                 '.' (Period)        1 National   character (@,#,$)
              -The colon ':' character is a required delimiter when two
               values are provided for SYSPLEX= or SYSTEM=.
              -Either or both SYSPLEX= and SYSTEM= parameters may be
               coded and each repeated as needed (subject to internal
               table size limits).
              -New severe error message RMFV034S is displayed when a
               Range or Pattern filter table is exhausted.  The limit
               for SYSPLEX= Ranges or Patterns is 16 each.  The limit
               for SYSTEM= Ranges or Patterns is 64 each.  If higher
               limits are needed please contact MXG Technical Support.
              -When both SYSPLEX= and SYSTEM= are specified the match
               results are logically ANDed so that matches must occur
               for BOTH Sysplex Name and System Id for the data set to
               be selected.
              -For more details and examples on Range and Pattern usage
               with SYSPLEX= and SYSTEM= for RMF Monitor III data set
               selection see the ASMRMFV, ADOCRMFV, JCLRMFV, JCLCRMFV,
               and JCLDRMFV Sourclib members.
              -New information message RMFV034I is displayed when
               SHOWMATCH is in effect.  If a match occurs for SYSPLEX=
               and/or SYSTEM= the original source string as well as the
               Range Pair or Pattern that matched are displayed.
              -When no matches occur for all Ranges and/or all Patterns
               this condition is also shown.
              -SHOWMATCH can be useful for testing the new SYSPLEX= and
               SYSTEM= parameters.  SHOWMATCH has very low overhead and
               can be used freely without concern for a performance
               impact.
              -Add new variable severity message RMFV036* (*=I,W,E) when
               a duplicate data set is found and NODUPDSN is in effect.
              -NODUPDSN adds some CPU overhead because the current RMF
               III data set name being opened is compared with all the
               previous data set names already processed.
              -Although duplicate data set name detection is a simple
               compare with a basic counter loop, the number of
               comparisons rises rapidly with the number of RMF III DD
               allocations:
                                     Maximum
                  Number RMF III     Duplicate
                  Data Sets Input    Comparisons
                  ---------------    -----------
                          2                    1
                          3                    3
                          4                    6
                          5                   10
                         10                   45
                         50                1,225
                        100                4,950
                        500              124,750
                      1,000              499,500
                      1,500            1,124,250
                      1,635            1,335,795   Default 32K TIOT size
                      2,000            1,999,000
                      2,500            3,123,750
                      3,000            4,498,500
                      3,273            5,354,628   Maximum 64K TIOT size
              -Users who are confident they do not have any duplicate
               RMF III data sets being input to ASMRMFV do not need to
               code the NODUPDSN option.
              -However, new ASMRMFV users may want to use NODUPDSN at
               least once to insure their ASMRMFV run does not contain
               duplicate data sets.
              -Duplicates are also more likely using the Dynamic Method
               with the INDSNAME= parameter due to possible overlapping
               of data set name patterns.
              -With the addition of the NODUPDSN, SYSPLEX=, and SYSTEM=
               parameters RMF III data set filters are applied in the
               following order (if coded):
                 1) NODUPDSN  Prevent duplicate dsname input
                 2) SYSPLEX=  Select Sysplex dsname origin(s)
                 3) SYSTEM=   Select LPAR dsname origin(s)
                 4) Date/Time FROMDATE=,TODATE=,FROMTIME=,TOTIME=,WINDOW
                 5) DOW=      Day of the Week
              -Filter messages RMFV006I have been reordered in the log
               to correspond with the general order that filters are
               applied during an ASMRMFV run.
              -A new summary RMFV014I message is added with RMF III data
               set filter (bypass) counts for Total, Duplicates, Sysplex
               Name, System Id, Date/Time, and Day of the Week filters.
              -Options message RMFV036I showing RMF III table selections
               is now an RMFV006I filter message and is now part of that
               multi-line message group.  These are properly filters not
               just options.
              -Several filters in an RMFV037I option message are moved
               to an RMFV006I message as these are also properly filters
               not just options.
              -Add new Abend Reason code 84 when DUPERR=ABEND and a
               duplicate data set name is found with NODUPDSN in effect.
              -Message RMFV050S for the internal Dsname Table full
               condition is now message RMFV079S.
              -DDNAMEs dynamically allocated by the TSO Clist CLRMFV
               will now have a RMFC DDNAME prefix that is also supported
               by ASMRMFV instead of an RMFV DDNAME prefix as before.
              -Thus the DDNAME prefix in messages now indicates:
                  Prefix  Allocation Method
                  ------  -------------------------------
                  RMFC    CLRMFV Clist Dynamic Allocation
                  RMFD    INDSNAME= Dynamic Allocation
                  RMFV    Static JCL DD statement
              -Split message RMFV049* into RMFV049* for CSI Catalog
               errors only and RMFV050* for CSI Dsname entry errors
               only.  Before both errors used the same message skeleton.
              -All variable severity messages with ids RMFVnnn* (*=
               I,W,E,S) are now initialized only once during ASMRMFV
               startup according to the settings of the various
               *ERR=ABEND/WARN/IGNORE options.
              -This improves performance because in prior ASMRMFV
               versions some messages were reused and were reset
               according to severity multiple times during execution.
              -There is a new variable severity message RMFV056*
               (*=I,W,E) issued just for pattern errors.  Before these
               were part of RMFV004* messages.
              -CSI severe error message RMFV043S was not being built
               with variable error text correctly when the condition
               occurred.
              -Issue Index messages RMFV028I and RMFV029* only if the
               RMF Monitor III Data Set is selected to reduce overhead.
              -Issue Space messages RMFV030I and RMFV031I only if the
               RMF Monitor III Data Set is selected to reduce overhead.
              -When ASMRMFV execution methods were mixed in a single run
               (this is supported) the summary message RMFV101I was not
               reporting statistics by DDNAME prefix correctly.
              -For example, using a static JCL DD statement for an RMF
               data set while also using the CLRMFV Clist or using the
               INDSNAME= parameter would be a mixing of methods.  Now
               multiple RMFV101I messages will be issued for RMFC*,
               RMFD*, and RMFV* DDNAME prefixes as required.
              -Last Open message RMFV017I is now an RMFV008I message and
               is now part of that multi-line display group produced as
               each RMF III data set is opened.
              -Origin message RMFV009I is split into two parts so that
               the Sysplex and System Id information appears near the
               point in the ASMRMFV log where SYSPLEX= and SYSTEM=
               matching occur.
              -The second part of the original RMFV009I message is now
               message RMFV017I showing RMF and Z/OS versions and the
               timestamp value when these were first in effect.
              -The MAXFINDS= parameter limit is lowered to a more
               reasonable 99,999 maximum down from a 99,999,999,999
               value.
              -Error messages that display an invalid character both in
               EBCDIC and in hex are now improved for better visibility.
              -Explicit coding of DOW=ALL, SYSPLEX=ALL, or SYSTEM=ALL is
               documented to explain that this resets the corresponding
               internal table(s) to empty.  Any prior specifications for
               the corresponding table(s) in the current ASMRMFV run are
               lost.  Any subsequent specifications will be added to the
               respective table(s) during the run.
              -Definitions for the terms "Keyword", "Range", and
               "Pattern" are added to Section 2 "Terminology" in ASMRMFV
               and ADOCRMFV member documentation.
              -NODUPDSN/DUPDSN, SYSPLEX= and, SYSTEM= parameter
               documentation is added to Section 5 "Input Data Selection
               Parameters" in ASMRMFV and ADOCRMFV members.
              -SHOWMATCH/NOSHOWMATCH parameter documentation is added to
               Section 6 "Report Control Parameters" in ASMRMFV and
               ADOCRMFV members.
              -DUPERR=ABEND/IGNORE/WARN parameter documentation is added
               to Section 8 "Error Handling Parameters" in ASMRMFV and
               ADOCRMFV members.
              -Updates for new and revised messages are made to Section
               12 "Messages" in ASMRMFV and ADOCRMFV members.
              -A new Filter Scope Table is added to Section 13 "Filtered
               Records" in ASMRMFV and ADOCRMFV members.  This shows the
               data filters available in ASMRMFV, to which RMF III
               tables they are applied, the order of application, and
               the level of data affected.
              -Section 25 "Summary" is updated to add new parameters and
               improve text alignments in ASMRMFV and ADOCRMFV member
               documentation.
              -Three new examples showing use of SYSPLEX= and SYSTEM=
               parameters are added to the sample documentation members
               JCLRMFV, JCLCRMFV, and JCLDRMFV.
              -At the ASMRMFV 32.225 level only FROMDATE=TODAY or
               TODATE=TODAY settings and all related variants and
               equivalents were creating an invalid date of 01JAN1900
               for date selection because the current date was not being
               loaded in SETDATE processing for these settings.
              -REQUIREMENT: In order to implement these features the
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
   Thanks to Rodger Foreman, Trans Union, USA

Change 32.249  Support for BVIR Version 2 short 32X History Records that
VMACBVIR       had only 31 Pool Segments, when all 32 pool segments are
Oct 30, 2014   normally always present.  These records had BVIRLEN=8256,
               but 8545 bytes (32*256+353) are needed for 32 pools.
               The existing BVIRLEN GE 8512 test was reduced to 3256 as
               record does contain the LIBxxxxx descriptor variables.
              -The first three instances of these short records will
               print a log message.
              -A debugging PUT with _N_= GCNRCLUS= LENLEFT= was removed.
   Thanks to Olivier Bigeon, SOC GEN, FRANCE.
   Thanks to Pierre-Pascal Joulin, SOC GEN, FRANCE.
   Thanks to Samsla Assanaly, SOC GEN, FRANCE.

Change 32.248  Under WPS, BLDSMPDB failed on z/OS because it generated
BLDSMPDB       RECFM=S370VBS instead of RECFM=VBS because it incorrectly
Oct 28, 2014   changed OPSYS to 'os' with a %LET OPSYS=%LOWCASE(OPSYS).
               The same code was generated under SAS, but there was no
               error because SAS has supported both S370VBS and VBS
               since SAS Version 8, although that was never documented.
               The low case value was not visible in SYMBOLGEN messages,
               because OPTIONS CAPSOUT is specified in MXG CONFIGxx.
   Thanks to Scottie Mills, TI, USA.

Change 32.247  Support for EMC's Clarion Arrays data for Flare Firmware
VMACCLAR       Version 26 thru 33. Most of the changes are new counters.
Oct 24, 2014   The "clarsan" object is really a special case of clarsnap
               so clarsan was repurposed as clarpool.
               Instrumentation was added to help build keep lists for
               the various object's new counters.
   Thanks to James Quigley, CONED, USA.

Change 32.246  TYPE72GO's PERFINDX can be a missing value when it should
VMAC7072       be large, for Service Classes with Percentage Goal and
Oct 24, 2014   a small number of transactions with a high goal objective
               that was NOT met (so PERFINDX must be greater than one).
               A Service Class with 19 transactions had 18 complete in
               the first response bucket (.5) but one longer transaction
               was not counted in the thirteenth response bucket (4).
               So, while 94% of the transactions met their goal, the 97%
               objective goal objective was NOT MET (.97*19=18.43 trans)
               and due to an MXG logic error, PERFINDX was not set.
               Now, when TRANS GT 0, PERFINDX is set to RTSMAP(13),
               which for this case was 4.0.  Note that PERFINDX will
               always be a missing value when TRANS=0, or for R723CRGF=
               'S' (SYSTEM) or 'D' (DISCRETIONARY) goals.
   Thanks to Tom Kelman, Xerox, USA.

Change 32.245  Reserved Change Number.

Change 32.244  The MOBILE program MOBWRK73 (to read existing TYPE70s)
MOBWRK73       incorrectly required //TYPE70 DD statement. Eliminated,
Oct 21, 2014   but //TYPE70 DD UNIT=SYSDA,SPACE=(CYL,(50)) circumvents.
   Thanks to Scottie Long, Navy Federal Credit Union, USA.

Change 32.243  If you use INITIT=Mx where X was the day of the month on
VMXG2DTE       which you wanted to INIT the output, the first day's data
Oct 21, 2014   would have been missing.  For example, if you specified
               INITIT=M2 so that all the observations based on ZDATE
               would be in each month's dataset, the data for the first
               of each month would be missing because of an incorrect
               calculation: when Wx is being used, 1 is added to the
               date since the days of the week start with 0, but using
               Mx, that +1 caused the data to be missing.
   Thanks to Tom MacCabe, Dominion Resource Services, USA.

Change 32.242  z/VM Interval ENDTIME is set from first 0.1 (CPU) record,
VMACVMXA       selecting CPUADDR='0000'x.  But the first 0.1 record is
Oct 20, 2014   not always CPUADDR zero!  CPUADDR=0001/0002/0003/0000x
Oct 28, 2014   data records had the MRHDRTOD in the fourth record SEVEN
               MICROSECONDS later than the time in the first three. This
               caused those first three observations to be output with
               the (incorrect) prior ENDTIME value, which then caused
               spurious observations with many missing values in dataset
               VMXAINTV.  Because the z/VM MONWRITE data file is weird,
               consisting of 4K block containing variable records that
               span blocks, and because four 0.1 records fill a block,
               finding that first record requires comparing the stored
               FOUNDINTBLOCK block number (_N_) with the _N_ of this new
               0.1 and only updating ENDTIME if this block is more than
               100 blocks later (256 CPUs would need 32 blocks).
              -Lost Interval Data in VMXAINTV dataset will ALWAYS occur
               for the first interval (START MONITOR message on the log)
               because the data values are accumulated but there is no
               prior record for the DIF() function; so if you have many
               START MONITOR messages, each one is a lost interval.
               MONWRITE really needs to run for 23.99 hours, STOP and
               then START (and look at the REXX code in Change 29.101
               that will synchronize your MONWRITE data to the hour.)
               and thus lose only that one midnight interval.
   Thanks to Kim Morrell, Royal Canadian Mounted Police, CANADA

Change 32.241  Back-Level EXITCICS V1 caused ERROR: DB2 INPUT STATEMENT
VMACDB2H       EXCEEDED error (LENLEFT=4,QWHSTYP=8) and QWHUCPU/QWHUCNT
Oct 20, 2014   fields contain text: QWHUCPU='000000'X!!'BCDIC', and the
               incorrect decompression in V1 also caused INVALID DISTRIB
               HEADER messages (but DB2 APAR PM32425 was installed).
               All errors were eliminated using the current EXITCICS V3.
               However, protection is added for the EXCEEDED error.
               On z/OS, EXITCICS decompresses the record before the SAS
               INPUT statement, so a hex dump of the input record will
               be the uncompressed record, but on ASCII, where MXGDECOM
               must be used, after the record has been INPUT, a hex dump
               will be of the compressed records.  See comments in both
               VMAC110 and VMACDB2 to get an uncompressed hex dump.
   Thanks to Paul Maradin, HP, USA.

====== Changes thru 32.240 were in MXG 32.10 dated Oct 16, 2014=========

Change 32.240  First 32.10.  INPUT EXCEEDED z/OS 2.1 SMF 6 Printway with
VMAC6          URI but no Accounting fields was not expected, but now is
Oct 16, 2014   protected.
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.

Change 32.239  WebSphere SMF 120 Dataset TYP1209E had observations with
VMAC120        a negative DELTA120TM that should not have been output.
Oct 15, 2014   They are first instances of a by group, so no deaccum is
               possible, but the test "IF DELTA120TM GT ." was true for
               a negative.  "IF DELTA120TM GT 0" is the required test.
   Thanks to Wayne Bell, UniGroup, USA.

Change 32.238  Support "ALL" Tandem Measure records in a single file.
IHDRTAND       This new support reads the //TANDALL DD, which can be
TYPETAND       the ALL record file using this JCL:
TYPETANX            // EXEC MXGSAS
TYPSTAND            //PDB     DD DSN=YOUR.OUTPUT.TANDEM.PDB,DISP=. . . .
TYPSTANX            //TANDALL DD DSN=YOUR.TANDEM.ALL.INPUT,DISP=SHR
VMACTAND            //SYSIN   DD *
VMACTANX             %INCLUDE SOURCLIB(TYPSTAND);
VMXGINIT       or can be the individual "TYPE" files, concatenated:
Oct 12, 2014        //TANDALL DD DSN=YOUR.TANDEM.CPU.FILE,DISP=SHR
Oct 16, 2014        //        DD DSN=YOUR.TANDEM.DISC.FILE,DISP=SHR
                    //        DD DSN=YOUR.TANDEM.PROC.FILE,DISP=SHR
                    //SYSIN   DD *
                     %INCLUDE SOURCLIB(TYPSTAND);
               The CPU, DISC and PROC types (LOADID) have been tested.
              -The "TAND" Header Exit IHDRTAND invokes &MACTANH which
               can be used to select which record types are output:
                 %LET MACTANH= %QUOTE( IF LOADID='CPU'; );
                 %INCLUDE SOURCLIB(TYPSTAND);
               (If the original multiple-file-name program is still
               needed, use TYPETANX or TYPSTANX.)
   Thanks to Paul Bennett, Euroclear, BELGIUM

====== Changes thru 32.237 were in MXG 32.10 dated Oct 10, 2014=========

Change 32.237  New variables added to ASUMDBSS for DBAT analysis:
VMXGDBSS         ID= qdstnads qdstnard qdstqcit
Oct 10, 2014     MIN=qdstnqmn
                 MAX=qdstnccw qdstnqmx qdstnqav qdstmard
                 SUM=qdstnqsc
   Thanks to Wayne Bell, UniGroup, USA.

Change 32.236 -InfoPrint/Printway SMF 6 SUBSYS='TCPE' Extended Mode File
IMAC6ESS       Transfer INDC=7 variables PAGECNT/NRLINES/OUTDEVCE are
VMAC6          zero/zero/blank as noted in the SMF Manual.
Oct  9, 2014  -Variable SMF6URI (VMAC6) was increased from $64 to $128.
Oct 16, 2014  -Variable ESSFSSDT (IMAC6ESS) increased from $67 to $128.
              -New in z/OS 2.1, the JOB Accounting fields in SMF6ACCT
               are now decoded and NRACCTFL, ACCOUNTn, and LENACCTn
               variables are created in TYPE6 dataset. Both BUILD005 and
               BUIL3005 are also updated to use those values to populate
               the existing account variables in PDB.PRINT when no 30-1,
               30-5, and no type 26 records were found.
               SEE CHANGE 32.240, in MXG 32.10 re-dated Oct 16, 2014.
   Thanks to Teuvo Virsu, TIETO, FINLAND.

Change 32.235  Variable QWOBJNAM is now kept in MQMACCTQ dataset.
VMAC116
Oct  7, 2014

Change 32.234  The _IDaaaa=512 detection did not work correctly; all of
VMACXXXX       Changes 32.224, 32.221, 32.198, 32.180 and 32.149 that
Oct  7, 2014   attempted to detect the un-changed default are removed.
               Processing a USER SMF with the default MACRO _IDaaaa will
               create zero obs in those datasets, as was always the case
               previously.  This attempt to alert the user why they had
               zero obs could cause ALL of the USER SMF datasets to have
               zero observations, so it has been removed.
                 The primary culprit was my choice to include the TMNT
                 USER SMF record in the default BUILDPDB/UTILBLDP, even
                 when you had not asked for it.  And the circumvention
                 if you get the _IDTMNT unchanged log message, is to
                 request the VMACTMNT from MXG 32.10 to circumvent,
                 or to install MXG 32.10.

Change 32.233  Netview INPUT STATEMENT EXCEEDED for SUBTYPE=3 because I
VMAC38         thought S38DSOSN, active spans, described the length of
Oct  7, 2014   S38DSOSP, but it does not; code was revised.
   Thanks to Coen Wessels, IBM, Switzerland.
   Thanks to Pierre Beda, IBM, Switzerland.

Change 32.232  Variables SMF92MSZ and SMF92USZ are MGBYTES formatted.
VMAC92
Oct  2, 2014

Change 32.231  Support for DB2 V11 IFCID 225 IRLM STORAGE INFORMATION in
VMACDB2        new section 6 adds these variables to DB2STATS dataset:
Sep 30, 2014        QW0225I_ABCSA    /*CURRENT*USED 64-BIT*COMMON*/
                    QW0225I_ABCSH    /*HWM*FOR 64-BIT COMMON*/
                    QW0225I_BBPVT    /*CURRENT*USED 31-BIT*IRLM*PRIVATE*
                    QW0225I_BBPVH    /*HWM FOR*31-BIT IRLM*PRIVATE*/
                    QW0225I_ABPVT    /*CURRENT*USED 64-BIT*IRLM*PRIVATE*
                    QW0225I_ABPVH    /*HWM FOR*64-BIT IRLM*PRIVATE*/
                    QW0225I_BBECSA   /*CURRENT*USED*ECSA IRLM*POOLS*/
                    QW0225I_BBECSAH  /*ECSA*HWM*IRLM*POOLS*/
                    QW0225I_BPMAX    /*THRESHOLD*31-BIT*IRLM*NORMAL*/
                    QW0225I_APMAX    /*THRESHOLD*64-BIT*IRLM*NORMAL*/
               and QW0225DMH is now correctly INPUT for DB2 V11 when it
               exists.
   Thanks to Ralph C. Baechle, Deere & Company, USA.
   Thanks to Kerry Sommers, Deere & Company, USA.

Change 32.230  Undocumented 81-byte SMF14STY=01 segment caused remaining
VMAC1415       segments to be skipped. SMF Manual only documents 80.
Sep 29, 2014   Extra byte now input into SMF14UNK while IBM queried, and
               all SMF14STY segments are now protected using SMF30ESL to
               skip future new bytes, documented or undocumented.
   Thanks to Carl D. Ellis, Wells Fargo, USA.

Change 32.229 -Only these NDM _SNDMxxx are PROC SORTs with NODUP to PDB:
VMACNDM        CS/CF/EI/FA/JX/DS/MF/PE/PK/QE/RE/RO/S2/SC/SD/SH/SY/TR/TX
Sep 29, 2014   and CT.  All other _SNDMxxx had a DATA step that copied
Oct  5, 2014   to //PDB, but that doesn't propagate the Dataset Label,
Oct  7, 2014   nor remove duplicates. (I use a DATA step instead of SORT
Oct  9, 2014   in an _Sdddddd sort macro when I don't have any data, so
               I can't validate the BY list for the NODUP removal.  When
               a customer provides data, I validate the BY list and use
               the PROC SORT NODUP in place of the DATA step.)  But, the
               BY list CAN be built from MXG code, so this was done and
               all NDM _Sdddddd sort macros now use PROC SORT.
              -The table in comments in VMACNDM was updated to identify
               the datasets that have been populated with observations.
              -These datasets _SNDMxxx were updated, but they all still
               have zero observations, so their new BY list has not been
               data-validated for NODUP:
                 CS CX GF HW HW2 CS EI JX LS MF PE PX RE RO S2 SC SH
                 ST TP TR TX
                 (If you have obs in these datasets, you can use the
                 UTILNODU program to confirm my BY list is sufficient,
                 or send your SMF data to support for examination.)
              -Variables added to the NDMCT dataset:
                NDMZFBA1='ZFBA*DEVICE*RANGE*ONE'
                NDMZFBA2='ZFBA*DEVICE*RANGE*TWO'
                NDMZFBA1='SEND*ZLIB*VERSION'
                NDMZFBA2='RECV*ZLIB*VERSION'
              -Dataset NDMPT variables NDMSUBJOB/NDMSUBJID were always
               blank because the MXG logic for the Extension segment
               was not correct.  But there are new PT fields that are
               NOT documented in the DSECT, in particular, PTDSNAME and
               several character and numeric fields now INPUT in new
               PTUNCHx and PTUNNRy character and numeric variables until
               updated documentation is available.
   Thanks to Randy Hewitt, HP, CANADA.

Change 32.228  Only 240 characters of IMS Log Input Message, MSGTEXT,
VMACIMS        were kept, but that text can be much longer and may be
Sep 27, 2014   needed to identify your IMS Mobile Workload transactions.
               So INPUT MSGTEXT $VARYING32000 MSGLEN @; is now used, but
               with LENGTH MSGTEXT $240 added to keep the same length.
               So if YOU do need to access data in MSGTEXT, you would
               tailor the EXIMS01/EXIMS01M dataset exit members to test
               the text and could use existing SMSGTEXT variable ($40)
               for your flag, perhaps with logic like this:
                IF INDEX(MSGTEXT,'MOBILE') GT 0 THEN SMSGTEXT='MOB';
               before the OUTPUT statement in those EXdddddd members.
               Or, you could create your own variable in those exits:
                    LABEL MYTEXT='ALL*32000*BYTES OF*MSGTEXT';
                    MYTEXT=SUBSTR(MSGTEXT,1,32000);
               and then use
                   %LET MACKEEP= MACRO _KIMS01  MYTEXT %
                                 MACRO _KIMS01M MYTEXT % ;
               to add variable MYTEXT to each of those datasets.
               Variable MSGSZIN is the actual MSGLEN of MSGTEXT.

Change 32.227  The ENDTIME in the last obs in NMONINTV can had a value
VMACNMON       12 hours later than actual, when there were BBBP records
Sep 26, 2014   after the last ZZZZ, because MXG code incorrectly updated
               ENDTIME when it should have updated variable BBBPEND049.
   Thanks to Xiaobo Zhang, FIServ, USA.

Change 32.226  SPINCNT SPINUOW and TIMEDIF were not correctly created
UTILBLDP       when BUILDPDB=YES was used; if they existed in your MXG
Sep 19, 2014   USERID.SOURCLIB, then they were correctly included, but
               if they were only specified in your UTILBLDP text, the
               default members in the SOURCLIB were used.
   Thanks to Doug Medland, IBM Global Services, USA.

Change 32.225 -RMF III Date/Time selection enhancements, fixes,
ADOCRMFV       and documentation upgrades.
ASMRMFV       -New parameter WINDOW (alias WIN) allows selection of
JCLRMFV        non-contiguous data by time range for multiple days
JCLCRMFV       and is explained below.
JCLDRMFV      -New parameter NOWINDOW (alias NOWIN) provides the
Sep 18, 2014   behavior of prior ASMRMFV versions in most cases and is
Sep 22, 2014   the default.
Nov 25, 2014  -New parameter DOW= allows RMF III data selection by day
               of the week and is also explained below.
              -The FROMTIME= value may now exceed TOTIME= value even for
               a single day selection.  This condition was previously
               flagged as an error, but will now be handled as an
               implicit WINDOW request.
              -WINDOW/NOWINDOW processing and interaction with the
               FROMDATE=, TODATE=, FROMTIME=, and TOTIME= parameters is
               best explained with the following examples.

               NOTE: ASMRMFV has always added 59.999999 seconds to all
               TOTIMEs so that RMF Monitor III Sample Sets that begin in
               any part of a final minute of a time range are selected.
               For example, TOTIME=1559 becomes 15:59:59.999999 for data
               selection purposes.

               Case 1: FROMTIME= LE TOTIME= for a SINGLE day
                       and WINDOW or NOWINDOW (default) in effect

               FROMDATE=01OCT2014 TODATE=01OCT2014
               FROMTIME=0800      TOTIME=1559

               |     01 OCT 2014      |
               |        Select        |
               +-------<======>-------+
               0       0      1       0
               0       8      5       0
               :       :      :       :
               0       0      5       0
               0       0      9       0

               Case 2: FROMTIME= GT TOTIME= for a SINGLE day
                       and WINDOW or NOWINDOW (default) in effect
                       This is a NEW behavior previously an error.

               FROMDATE=01OCT2014 TODATE=01OCT2014
               FROMTIME=1600      TOTIME=0759

               |     01 OCT 2014      |
               |Select          Select|
               <======>--------<======>
               0      0        1      2
               0      7        6      3
               :      :        :      :
               0      5        0      5
               0      9        0      9

               Case 3: FROMTIME= LE TOTIME= for MULTIPLE days and
                       NOWINDOW (default) in effect

               FROMDATE=01OCT2014 TODATE=03OCT2014  NOWINDOW
               FROMTIME=0800      TOTIME=1559

               |   01 OCT 2014   |   02 OCT 2014   |   03 OCT 2014   |
               |        Select   |      Select     |   Select        |
               +-----<===========|=================|===========>-----+
               0     0     1     0     0     1     0     0     1     0
               0     8     5     0     8     5     0     8     5     0
               :     :     :     :     :     :     :     :     :     :
               0     0     5     0     0     5     0     0     5     0
               0     0     9     0     0     9     0     0     9     0

               Case 4: FROMTIME= LE TOTIME= for MULTIPLE days and
                       WINDOW in effect.   This is a NEW behavior.

               FROMDATE=01OCT2014 TODATE=03OCT2014   WINDOW
               FROMTIME=0800      TOTIME=1559

               |   01 OCT 2014   |   02 OCT 2014   |   03 OCT 2014   |
               |      Select     |      Select     |      Select     |
               +-----<=====>-----|-----<=====>-----|-----<=====>-----|
               0     0     1     0     0     1     0     0     1     0
               0     8     5     0     8     5     0     8     5     0
               :     :     :     :     :     :     :     :     :     :
               0     0     5     0     0     5     0     0     5     0
               0     0     9     0     0     9     0     0     9     0

               Case 5: FROMTIME= GT TOTIME= for MULTIPLE days and
                       NOWINDOW (default) in effect

               FROMDATE=01OCT2014 TODATE=03OCT2014  NOWINDOW
               FROMTIME=1600      TOTIME=0759

               |   01 OCT 2014   |   02 OCT 2014   |   03 OCT 2014   |
               |           Select|      Select     |   Select        |
               +-----+----<======|=================|=====>-----+-----+
               0     0    1      0     0     1     0     0     1     0
               0     8    6      0     8     6     0     7     6     0
               :     :    :      :     :     :     :     :     :     :
               0     0    0      0     0     0     0     5     0     0
               0     0    0      0     0     0     0     9     0     0


               Case 6: FROMTIME= GT TOTIME= for MULTIPLE days and
                       WINDOW in effect.  This is a NEW behavior.

               FROMDATE=01OCT2014 TODATE=03OCT2014  WINDOW
               FROMTIME=1600      TOTIME=0759

               |   01 OCT 2014   |   02 OCT 2014   |   03 OCT 2014   |
               |Select         Select           Select         Select|
               <=====>-----<=====|=====>-----<=====|=====>-----<=====>
               0     0     1     0     0     1     0     0     1     2
               0     7     6     0     7     6     0     7     6     3
               :     :     :     :     :     :     :     :     :     :
               0     5     0     0     5     0     0     5     0     5
               0     9     0     0     9     0     0     9     0     9

              -See the documentation in ASMRMFV or ADOCRMFV members for
               more details on WINDOW/NOWINDOW.
              -Five more examples have been added to each of the
               JCLRMFV, JCLCRMFV, and JCLDRMFV sample JCL members
               showing use of the new WINDOW parameter.
              -Filter messages RMFV006I can now appear as multiple pairs
               showing begin and end time stamps with one set for each
               day when WINDOW is in effect. Prior to this change only
               one pair was possible per RMF III data set processed.
              -However, if the number of days between FROMDATE= and
               TODATE= exceeds 15 only one RMFV006I pair will be shown
               to avoid CPU overhead and excessive log message volume.
               Actual filtering will still occur as requested.
              -Filter message RMFV006I will now show the number of days
               as DAYS= between the FROMDATE= and TODATE= values and
               also the setting of the WINDOW/NOWINDOW option.
              -ASMRMFV now uses 64-bit Grande z/Architecture
               instructions in all 64 bit binary TOD date and time
               calculations for better performance.  Prior versions used
               an older method with two 32 bit registers and
               carry/borrow logic that was cumbersome with longer
               instruction paths.
              -Filter message RMFV006* (* = I or E) is now
               multi-severity.  When the FROMDATE= value exceeds the
               TODATE= value then message RMFV006E will be issued.  A
               U0998 abend will then occur as in prior versions.
              -The FINDGREG subroutine that determines the day of the
               week (dow) for TOD values will retain the results of the
               prior dow calculation and as a performance improvement
               not repeat it if the date has not changed between
               consecutive calls.
              -Relative date selection will now allow up to
               FROMDATE=*-999 or TODATE=*-999 for date backup values.
               Previously 99 was the limit.  However, the need for this
               larger limit should be extremely rare as 999 days is
               about 2.7 years.
              -New option SHOWSAMP (alias SS) will display the begin and
               end timestamps for each RMF Monitor III Sample Set
               selected.  SHOWSAMP is intended for diagnostic use and
               possible user testing with the new WINDOW or DOW=
               parameters to verify date and time selection is as
               desired.

               NOTE: SHOWSAMP is not appropriate for routine production
               use due to TOD conversion overhead for each Sample Set
               and ASMRMFV log output volume.

              -When SHOWSAMP is in effect a pair of new messages
               RMFV039I are issued showing Sample Set begin and end
               timestamps and the Sample Set number (1-1110).
              -New option NOSHOWSAMP (alias NOSS) is the default and
               provides the same ASMRMFV behavior as before with no
               RMFV039I messages issued.  Normally there should be no
               need to code this option.
              -Options display message RMFV037I will show the setting of
               SHOWSAMP/NOSHOWSAMP.
              -Documentation in ASMRMFV and ADOCRMFV members has been
               updated to include details on WINDOW/NOWINDOW,
               SHOWSAMP/NOSHOWSAMP parameters as well as for messages
               RMFV006*, RMFV037I, and RMFV039I.
              -A new DOW= parameter allows optional RMF III data
               selection based on the day of the week. DOW= will be
               mainly useful for ad hoc studies where only activity on a
               certain set of days is of interest.
              -DOW= is coded as DOW=value where value uses one of these
               formats:
               dow      dow:dow      WEEKDAYS     WEEKENDS    ALL

               dow is a 3 character day of the week:
               SUN   MON   TUE   WED   THU   FRI   SAT

               : is a range operator indicating selection of a group of
               consecutive days including the first and last dow in the
               range and all days in between.

               The range will automatically wrap as needed to the start
               of a week on Sunday so that DOW=FRI:MON is perfectly
               valid selecting FRI, SAT, SUN, and MON.

               Coding DOW=WEEKDAYS (or a value alias) is equivalent to
               coding DOW=MON:FRI .  Value Alias(es) for WEEKDAYS are:
               WD, WEEKD, WEEKDA, WEEKDAY

               Coding DOW=WEEKENDS (or a value alias) is equivalent to
               coding DOW=SAT:SUN .  Value Alias(es) for WEEKENDS are:
               WE, WEEKE, WEEKEN, WEEKEND

               Coding DOW=ALL is equivalent to coding DOW=SUN:SAT and no
               filtering occurs.  DOW=ALL is the default and so should
               not needed to be coded.

              -NOTE:  DOW= filtering slightly increases CPU overhead as
               conversion of the 64 bit binary TOD microseconds value to
               a day of the week occurs for both the RMF III Data Set
               Header (DSH) and Sample Set Header (SSH) tables.

              -However, dow determination is not repeated for
               consecutive table TOD values for the same date.
              -DOW filtering is applied AFTER all FROMDATE=, TODATE=,
               FROMTIME=, TOTIME=, and WINDOW data/time filters are
               applied.
              -DOW= may be combined with one or more of the
               these existing date/time selection parameters or may be
               used exclusively by itself.
              -DOW= usage examples:
               Parameter               Selects RMF III Sample Sets for
               ---------               -------------------------------
               DOW=MON:FRI             MON, TUE, WED, THU, FRI
               DOW=WD                  MON, TUE, WED, THU, FRI
               DOW=SAT:SUN             SAT, SUN
               DOW=WE                  SAT, SUN
               DOW=ALL                 SUN, MON, TUE, WED, THU, FRI, SAT
               DOW=SUN:SAT             SUN, MON, TUE, WED, THU, FRI, SAT
               DOW=FRI:MON             FRI, SAT, SUN, MON (dow wraps)
               DOW=WED                 WED only
               DOW=MON DOW=WED DOW=FRI MON, WED, FRI only
               DOW=MON:TUE DOW=THU:FRI MON, TUE, THU, FRI only
              -Filter display message RMFV006I will show the setting of
               the DOW= filter.
              -Six more examples have been added to each of the
               JCLRMFV, JCLCRMFV, and JCLDRMFV sample JCL members
               showing use of the new DOW= parameter.
              -Documentation in ASMRMFV and ADOCRMFV members has been
               added to discuss the DOW= parameter in detail.
              -Null (blank) values for keyword=value type ASMRMFV
               parameters are now allowed.  The parameter is ignored.
               For example, FROMDATE= is accepted with no change in the
               FROMDATE occurring.  Previously zero length keyword
               values were flagged as an error.
              -This feature allows users to provide these keywords in
               templates for a possible future addition of an actual
               value.  Also existing keywords can now be nullified by
               just setting the value to blanks rather than removing
               the entire keyword.
              -Multi-severity messages RMFV051* through RMFV055* (* = I,
               W, or E) have been updated for consistency and alignment
               with message RMFV008I for the DSN value.
              -A new subroutine WRITESEP will now handle the generation
               of separator lines used to delineate sections of the
               ASMRMFV log for visibility.  Prior to this every message
               id was checked in the WRITEPRT subroutine for separator
               eligibility before the message was issued.  Now WRITESEP
               will be called only as needed for specific messages.
              -A separator line will now be written prior to the final
               RMFV999I message for better visibility of important
               ASMRMFV final results.
              -Entries in Section 2 "Terminology" in ASMRMFV
               documentation have been alphabetized and a few new
               entries added.
              -All examples in the JCLRMFV, JCLCRMFV, and JCLDRMFV
               sample JCL members that use date/time parameters now
               include a small diagram that visually shows what time
               frames are selected.
              -The RMFV014I RMF III data set bypass message has been
               reformatted for better clarity and will now indicate
               whether the data set is excluded due to date/time or DOW=
               filters.
              -A new RMFV014W warning message is issued at the end of
               processing if ALL RMF III data sets have been bypassed
               due to date/time and/or DOW= filtering.
              -An invalid value for the DEVTYPE= or any *ERR= parameter
               could allow ASMRMFV processing to continue instead of
               abending as intended because the parameter error counter
               was not being updated for these keywords.
              -When multiple RMFV004E messages were issued due to
               parameter errors it was possible some of the descriptive
               problem text could be garbled.
              -Julian years before 2000 in FROMDATE= or TODATE= were
               not flagged as errors when they should have been.
              -Message RMFV008I Descriptor Code overlaid when issued
               as a WTO by the WTO option.
              -Messages RMFV017I and RMFV038I should not be issued as
               WTOs when the WTO option is in effect.
              -DOW table entries were not blanked if DOW=ALL coded.
              -NOTE: When the WTO option is coded it should be the
               FIRST parameter in the JCL PARM= field or in SYSIN (if
               no JCL PARM= field).  Otherwise any errors for other
               parameters will not be shown in JESMSGLG and JESYSMSG
               until the WTO option is encountered.
              -Documentation in ASMRMFV and ADOCRMFV members has been
               updated as appropriate for the above changes.
              -REQUIREMENT: In order to implement these features the
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
              -Nov 25: Discovered the TODAY selection did not work
               correctly, made the correction, and redated ASMRMFV.
               This error was ONLY in the original 32.225 dated 9/22.

Change 32.224  The _IDaaaa=512 protection added in Change 32.198/180/149
VMACXXXX       costs 10 CPU secs per 20,000,000 records, caused by the
Sep 16, 2014   statement ELSE IF LENGTH(COMPRESS(_IDaaaa)) that tests
Sep 29, 2014   the value of the old-style macro _IDaaaa for 512 and also
               supports the "512 OR ID=513" multi-IDs syntax.  That
               statement causes a NUMERIC to CHARACTER conversion, for
               each record, EVEN for the EXPECTED case where _IDaaaa has
               been defined (when the ELSE clause is NOT even executed).
               Since the "512" test only benefits "newbies" who didn't
               find the doc to define their _IDaaaa macro, it certainly
               should NOT cost "oldbies" who knew what to do.  That 512
               default value is only defined internally in MXG VMACaaaa
               members, so by changing the MXG default ID value for all
               USER SMF records from 512 to a MISSING VALUE, i.e., using
               MACRO _IDaaaa . % as the internal default definition, the
               test now uses the MISSING(_IDaaaa) function to detect and
               tell this new user why all the datasets have zero obs,
               and how to correct.  And since no conversion is involved,
               old users see no increase: the MISSING function cost 0.08
               CPU secs per 20,000,000 records.
               SEE CHANGE 32.234.
   Thanks to MP Welch, Bank of America, USA.

Change 32.223  Update for MainView for MQ Version 5.2.
VMACBBMQ       Changes are COMPATIBLE, MANY new variables.
Sep 16, 2014  -New variables added to BBMQQMGR (RTIN='E1'x) dataset:
Dec 11, 2014   PARM1       PARM2      QMCERTLBL   QMCHLAUTH QMCONNAUTH
Dec 18, 2014   QMCRTVALPOL QMDEFCLXQ  QMGRPUR     QMICBC    QMICBR
Jan  2, 2014   QMICTLC     QMICTLR    QMIPUBSC    QMIPUBSR  QMISTUSC
               QMISTUSR    QMISUBC    QMISUBR     QMISUBRC  QMISUBRR
               QMMAXUMSG   QMPSCLUS   QMQSGCRTLBL QMRCBC    QMRCBR
               QMRCTLC     QMRCTLR    QMREVDNS    QMRPUBSC  QMRPUBSR
               QMRSTUSC    QMRSTUSR   QMRSUBC     QMRSUBR   QMRSUBRC
               QMRSUBRR    QMSCBC     QMSCBR      QMSCTLC   QMSCTLR
               QMSPLCAP    QMSPUBSC   QMSPUBSR    QMSSTUSC  QMSSTUSR
               QMSSUBC     QMSSUBR    QMSSUBRC    QMSSUBRR  QMSTRDATE
               QMSTRTIME   QMSUITEB
              -New variables added to BBMQBUFF (RTIN='E2'x) dataset:
               SBPLOC SBPPGCLS
              -New variables added to BBMQPAGE (RTIN='E3'x) dataset:
               SPSEXPNDT SPSPADC1 SPSBPID SPSPSIDX SPSRBAV8 SPSRBA2V8
              -New variables added to BBMQLMGR (RTIN='E4'x) dataset:
               LMDATASETNM1 LMDATASETNM2 LMFULLLOGS LMICMPB LMICMPBR
               LMICMPF LMICMPFR LMICMPR LMICMPRR LMIDCMP LMIDCMPR
               LMIDECF LMIDECFR LMIDECR LMIDECRR LMIDUCMP LMIDUCMPR
               LMIUCMP LMIUCMPR LMLGSUSPND LMLOGCOPYNM1 LMLOGCOPYNM2
               LMMRCRBA LMOFLOSTA LMQMSRBA LMRCMPB LMRCMPBR LMRCMPF
               LMRCMPFR LMRCMPR LMRCMPRR LMRDCMP LMRDCMPR LMRDECF
               LMRDECFR LMRDECR LMRDECRR LMRDUCMP LMRDUCMPR LMRUCMP
               LMRUCMPR LMSCMPB LMSCMPBR LMSCMPF LMSCMPFR LMSCMPR
               LMSCMPRR LMSDCMP LMSDCMPR LMSDECF LMSDECFR LMSDECR
               LMSDECRR LMSDUCMP LMSDUCMPR LMSUCMP LMSUCMPR
               LMTOTALLOGS
              -New variables added to BBMQCHAN (RTIN='E5'x) dataset:
               CHLRVER  CHLCRTLBL
              -New variables added to BBMQQUES (RTIN='E6'x) dataset:
               QSBACKD  QSBACKT  QSCBD    QSCBT    QSCMITD  QSCMITT
               QSCTLD   QSCTLT   QSFBACKD QSFBACKT QSFCBD   QSFCBT
               QSFCMITD QSFCMITT QSFCTLD  QSFCTLT  QSFINQD  QSFINQT
               QSFPUT1D QSFPUT1T QSFSETD  QSFSETT  QSFSTATD QSFSTATT
               QSFSUBD  QSFSUBT  QSIBOCPU QSIBOELA QSICCPU  QSICELA
               QSICMCPU QSICMELA QSIGCPU  QSIGELA  QSIICPU  QSIIELA
               QSIMAXOI QSIMAXOO QSIMAXOT QSINQD   QSINQT   QSIOCPU
               QSIOELA  QSIP1CPU QSIP1ELA QSIPCPU  QSIPELA  QSISBACK
               QSISBCKR QSISBCPU QSISBELA QSISCB   QSISCMIT QSISCMTR
               QSISCPU  QSISCTL  QSISELA  QSISINQ  QSISSET  QSISSTAT
               QSISSUB  QSITFGET QSIUBACK QSIUBCKR QSIUCB   QSIUCMIT
               QSIUCMTR QSIUCTL  QSIUINQ  QSIUSET  QSIUSTAT QSIUSUB
               QSPUT1D  QSPUT1T  QSRBOCPU QSRBOELA QSRCCPU  QSRCELA
               QSRCMCPU QSRCMELA QSRGCPU  QSRGELA  QSRICPU  QSRIELA
               QSROCPU  QSROELA  QSRP1CPU QSRP1ELA QSRPCPU  QSRPELA
               QSRSBACK QSRSBCPU QSRSBELA QSRSCB   QSRSCMIT QSRSCPU
               QSRSCTL  QSRSELA  QSRSINQ  QSRSSET  QSRSSTAT QSRSSUB
               QSRSTCKG QSRSTCKP QSRTFGET QSRUBACK QSRUCB   QSRUCMIT
               QSRUCTL  QSRUINQ  QSRUSET  QSRUSTAT QSRUSUB  QSSBOCPU
               QSSBOELA QSSCCPU  QSSCELA  QSSCMCPU QSSCMELA QSSETD
               QSSETT   QSSGCPU  QSSGELA  QSSICPU  QSSIELA  QSSMAXOI
               QSSMAXOO QSSMAXOT QSSOCPU  QSSOELA  QSSP1CPU QSSP1ELA
               QSSPCPU  QSSPELA  QSSSBACK QSSSBCKR QSSSBCPU QSSSBELA
               QSSSCB   QSSSCMIT QSSSCMTR QSSSCPU  QSSSCTL  QSSSELA
               QSSSINQ  QSSSSET  QSSSSTAT QSSSSUB  QSSTATD  QSSTATT
               QSSTFGET QSSUBACK QSSUBCKR QSSUBD   QSSUBT   QSSUCB
               QSSUCMIT QSSUCMTR QSSUCTL  QSSUINQ  QSSUSET  QSSUSTAT
               QSSUSUB
              -New variables added to BBMQCFAC (RTIN='E8'x) dataset:
               CFBERBA2 CFBSRBA2 CFCONLOS CFDSBLK CFDSBUFS CFDSEXPN
               CFDSGRP CFLOGS CFOFFLDU CFOFL1S CFOFL1T CFOFL2S CFOFL2T
               CFOFL3S CFOFL3T CFOFLD CFPARM CFQSYN CFRECAUT
              -New variables added to BBMQAPPL (RTIN='E9'x) dataset:
               APSSTCKB
              -Occasional compressed records were found in uncompressed
               data files, so the previous STOP on compressed record is
               replaced by a RETURN so the non-compressed records after
               a compressed record will be processed.
              -All records have VERSREL=6.1, but their VERSION IS 5.2.
              -Dec 10 Revisions: Records E1x/E5x/E6x don't have all of
               the fields in the DSECT, causing INPUT STATEMENT EXCEED;
               logic was inserted to read only what's there, but record
               E4x's eyecatcher is @89 while all other record's is found
               @85, and E4x record has ENTL=1192 but data visibly shows
               the repeated segment length is only 1136.  Hardcoded
               circumvention for these two inconsistencies.
               Interspersed Compressed records in an uncompressed file
               are still skipped, but new message prints the first 25
               so you can see the pattern of these records.
              -BMC found that PTF BPL2290 caused problems with history
               record decompression; BPL 2430 fixes for MVMQ 5.1 and
               BPL2429 fixes for MVMQ 5.2
              -Jan 2, 2015: After Installing BMC Mainview PTF's BPL2427
               and BPL2430, 753 (out of 1003) 'E6' records were missing
               the last four bytes of the last segment, with 2596 vice
               2600 bytes visible in that last segment.  These short
               records are now detected and reported but that last
               segment will be lost until a subsequent PTF corrects.
   Thanks to James S. Swinarski, Credit Suisse, USA.

Change 32.222  IMS56FA log record is not output if NMSGPROC is missing,
TYPEIMST       but that MXG decision is now rescinded, and all IMS 56FA
Sep 15,2014    records are output, having found pairs of records for
               some transactions, with the second record having a small
               amount of CPU time (1st 1265 microsec, 2nd 238 microsec)
               and elapsed/service time, but CALLMSGU=0 so NMSGPROC=.
               All of these second records have TCPCFLGS='01'x which is
               a "TERM THREAD SYNCPOINT" reason for the record, so I
               presume the second record is the CPU time associated with
               the SYNCPOINT and is output so that time is not lost.
               Now, you must use NMSGPROC to count transactions, as the
               second syncpoint records are not a new transaction.
               Note: the test for NMSGPROC GT 0 is in the MACRO _EIMS56G
               overridden in comments in TYPEIMST, so you will need to
               delete that macro in the SYSIN in your TYPE56FA job.

Change 32.221  Erroneous "_IDSYNC not set" message for SYNCSORT User SMF
VMACSYNC       record processing when MACRO _SYNCID nnn % was specified.
Sep 14, 2014   That new message only tested _IDSYNC, but the original
               _ID macro for SYNCSORT was _SYNCID, which is still valid.
               Some early USER SMF _IDaaaa macros syntax was _aaaaID
               but the "standard" is now _IDaaaa so those with the old
               _aaaaID were enhanced to support either _ID macro name,
               but the new "_ID=512" protection didn't support both of
               the SYNCSort macro names.  Now supports either syntax.
               SEE CHANGE 32.234.
   Thanks to Betty Wong, Bank of America, USA.

Change 32.220 -Documentation revised for TRENDing.  MONTHLY was never a
BLDSMPDB       valid interval value and has been removed from comments.
VMXGALOC      -You can now suppress the creation of the DB2 and CICS
Sep 10, 2014   directories by specifying DB2KEEP=0 and/or CICSKEEP=0.
Sep 25, 2014  -New parameters BASECICS and BASEDB2 will allow you to
               route DB2 and/or CICS datasets to a different drive.

Change 32.219  TMON/CICS variables TAUSRWCT and TAUSRWTM were reversed.
VMACTMO2
Sep  9, 2014
   Thanks to Michael Oujesky, DTCC, USA.

====== Changes thru 32.218 were in MXG 32.09 dated Sep  9, 2014=========

Change 32.218 -BVIRVERS=04, dataset BVIR301 values were wrong due to two
VMACBVIR       fields not INPUT for that Hydra version.
Sep  9, 2014  -DO Loop variable _I_ is replaced by kept variables
Sep 25, 2014     CACHEPARTNR created in BVIR301
                 TDUCONTNR   created in BVIR321
                 CSPNR       created in BVIR322
               to identify the segment number
              -DVAVDTMB/WRMB/RDMB now multiplied by 1048576 vs 1058576.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.217  Support added for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
VMXGODSO       Some thoughts on ODS:  Initially, VMXGODSO was thought
Sep  7, 2014   to be a tool to make use of ODS features easy, but you
               may do better learning the ODS command set.  VMXGODSO
               does work, but it does not touch all of the ODS issues
               and features, and many ODS statements are not supported.
               But it can be used for simple cases, like wrapping around
               a PROC to send its output to a CSV or EXCEL file, or if
               you want to send many reports to a single output, a PDF
               for example.
                  So you could use VMXGODSO, externally, to run GRAFWRKX
                  and GRAFCEC and send both ODS plots to a single PDF:
                    %VMXGODSO(ODSTYPE=PDF,FILE=c:\mxg\daily.pdf);
                      %GRAFWRKX:
                      %GRAFCEC;
                      RUN;
                    %VMXGODSC;
                    RUN;
                    and not use the parameters for ODS built into those
                    GRAFXXXX macros.

Change 32.216  Cosmetic.  Some unneeded MXGNOTES are suppressed, unless
VMXGOPTR       %LET MXGEXIMSG=YES; enables them for diagnostics.
Sep  7, 2014

Change 32.215  Zero observations in TYPEZOSA dataset because the test
VMACZOSA       for ZOSATYPE=32 should have been ZOSATYPE=50.
Sep  6, 2014   The test for invalid ZOSAXDLN is again bypassed.
   Thanks to Jerome Vitner, EXPERIAN, ENGLAND.

Change 32.214  DB2 V10 variable QW0225DMH is now INPUT and QW0225AR is
VMACDB2        now INPUT for DB2 V11.  See Change 32.231.
Sep  3, 2014
   Thanks to Kerry Sommers, Deere & Company, USA.

Change 32.213 -WARNING: MULTIPLE LENGTHS FOR VARIABLE X1 in ANALDB2R
ANALDB2R       is not new; the X1 that shouldn't have been there isn't.
Sep  1, 2014

Change 32.212  MXGTMNT ML-54 monitor expands: a new subtask that COPIES
ASMTAPEE       System-level information each SMF interval, writing new
EXTMNAS1       subtypes of the existing TMNT SMF record, synchronized.
EXTMNAS2       The subtask does not "monitor" the system, but sleeps
EXTMNSYQ       until awoken at each interval end, reads EXISTING data
IMACTMNT       fields and writes them to SMF, and goes back to sleep.
VMACTMNT       This FIRST use of the ML-54 "SYSTEM" subtask captures two
VMXGINIT       sets of data:
Sep  9, 2014    - ASM Page Data Set SLOT usage, with total, and by ASID
                - MSU used by each IMPORTANCE level, IWMWSYSQ data.
               Two new subtypes create these three new datasets:

            DDDDDD   MXG       MXG
            DATASET  DATASET   DATASET
            SUFFIX   NAME      LABEL                             SUBTYPE

            TMNAS1   TYPEASMT  MXG SYSTEM ASM PAGE DATA SET SLOTS TOT 10
                          High Virtual counts: Frames in Use, Shared AUX
                          for Non-VIO, for AUX, and for AUX for SCM,
                          Common Aux, Common AUX SCM, Common in USE.
                          Shared Non-VIO, Shared AUX, SHARED AUX SCM,
                          Frames in use, Shared Non-VIO/High Virt Shared
                          High Virt AUX SCM, Shared Non-VIO/High Virtual
                          Aux, HV AUX SDM
            TMNAS2   TYPEASMA  MXG SYSTEM ASM PAGE DATA SET SLOT ASID 10
                               Frames in Use, VIO/non-VIO slots, High
                               Virtual AUX Slots for each ASID.
            TMNSYQ   TYPESYSQ  MXG SYSTEM WLM PERF/CAPACITY IWMWSYSQ  11
                                MSU consumed last 60, 180, 600 seconds
                                by each Importance Level and Unused MSU,
                                Free CSA & free ECSA, and SU_SEC value.
              -ASM subtask is a per-system monitor and must be enabled
               on ALL systems, creating records on all systems.
              -SYSQ subtask is a sysplex-wide monitor, so it should only
               be enabled on one SYSTEM in each SYSPLEX; duplicate data
               would be created if enabled on multiple systems within a
               SYSPLEX.  However, the number of SYSQ SMF records is very
               small, one per system per SMF interval, so you may want
               to enable SYSQ to write records on each system, so that
               you have the identical ASMTAPEE/MXGTMNT on each SYSTEM,
               and remove the duplicate SYSQ using EXTYSYSQ exit member
               when you read the SYSQ SMF records.
              -The ASM and SYSQ subtasks are enabled by default in ML-54
               ASMTAPEE, by adding them to OPTIONS2, but they can be
               disabled by removing them from OPTIONS2, or thru PARMs
               on the // EXEC PGM=MXGTMNT statement, or thru MODIFY
               commands issued from the console.
               Full documentation is in the comments in ASMTAPEE.

Change 32.211  Cosmetic.  Variable PAGETYPE='SCM' is set when SCMPGTYP
VMAC75         is true, replacing a blank value in PAGETYPE.
Aug 28, 2014
   Thanks to Douglas C. Walter, CitiCorp, USA.

Change 32.210 -Support for SMF 50 INCOMPATIBLE change in z/OS 2.1 that
EXTY501        inserted four bytes that corrupted all values after that
EXTY50R        insertion in the TYPE50 dataset.
EXTY50W       -Redesign of TYPE 50 support to create separate datasets
EXTY50I        with only the relevant variables for that event, now that
EXTY50O        I realize it is no longer a single purpose VTAM record!
EXTY503        These seven new datasets are created:
EXTY504           DDDDDD    DATASET   Description
IMAC50            TY501     TYPE501   01 CHANNEL TO CHANNEL
                                        Table 52 Subtype 1
VMAC50            TY50R     TYPE502R  02-02 READ MPCNAME
                                        Table 53 Subtype 2
VMXGINIT          TY50W     TYPE502W  02-02 WRITE MPCNAME
                                        Table 53 Subtype 2
AUG 28, 2014      TY50I     TYPE504R  02-04 READ MPCNAME
                                        Table 54 Subtype 2
                  TY50O     TYPE504W  02-04 WRITE MPCNAME
                                        Table 54 Subtype 2
                  TY503     TYPE503   03 TCP CONNECTION
                                        Table 55 Subtype 3
                  TY504     TYPE504   04 SNA CONTROLLER
                                        Table 51 Subtype 4
              -Dataset TYPE50 will continue to be created for backwards
               compatibility, but it is very messy with all possible
               variables in every observation, so there are always lots
               of variables with missing value; using these new datasets
               will provide much simpler analysis.
   Thanks to Jim Sherpey, Bank of America, USA.

Change 32.209 -Support for SMF 103 HTTP Apache Server 8.5.5.0 Subtype 13
EXTY103D       and 14 create new datasets:
EXTY103D         DDDDDD  DATASET  Description
IMAC103          TY130D  TYPE130D HTTP PROCESS Thread Statistics
VMAC103          TY130E  TYPE130E HTTP LOGGING REQUEST/RESPONSE
VMXGINIT       The T103ELAP elapsed time units are not documented.
Aug 27, 2014  -APAR PI24782 reports subtype 14s are only written when
               SMFLogDebug ON has been specified.
   Thanks to Dave Moreau, Royal Bank of Canada, CANADA.

Change 32.208  New NDM-CDI CPU TIME variables added to NDMRT dataset:
VMACNDM          NDMRTSID='SUBMITTER*JCTJOBID'
Aug 27, 2014     NDMRTSUB='SUBMITTER*JOB*NAME'
                 NDMRTCP0='RUN-TASK*CPU TIME*ON CP'
                 NDMRTCP1='RUN-TASK*CPU TIME*ON ZIIP'
                 NDMRTCP2='ZIIP*QUALIFIED*PART OF*NDMRTCP0'
               Dataset NDMDT variables were removed that shouldn't have
               been kept in that dataset, listed in comments in KEEP.
   Thanks to Michael Oujesky, DTCC, USA.

Change 32.207  "WARNING: Value of QWHCXTYP WILL BE TRUNCATED" in ANAL116
FORMATS        in PROC CHART is harmless and does NOT set a return code.
Aug 26, 2014   Format MG116TY for QWHCXTYP had one 18-character value,
               but this PROC CHART decided it needed some of that space
               for other things.  But that format value was reduced to
               16 characters so this error should not reoccur.

Change 32.206  PDBAUDIT code can set Return Code 4 due to this message:
PDBAUDIT        "WARNING: Multiple lengths specified for the variable
Aug 26, 2014              MEMLABEL by input data set(s).  This can cause
                          truncation of data."
               but the message makes no sense; it is in a single data
               step:  DATA PDBAUDIT; LENGTH MEMLABEL $64; SET CONTENTS;
               where CONTENTS was created from DICTIONARY.TABLES.
               Removing that LENGTH statement from this step and adding
               it in a subsequent new step to reset the MEMLABEL length
               eliminates the warning and creates expected lengths.
   Thanks to Robert B. Richards, OPM, USA.

Change 32.205  Preliminary update, revised by CHANGE 32.212.
VMAC50         SMF 50 VERSN50 04 new variables kept in TYPE50:
Aug 25, 2014     INBDNLPS='INBOUND*NLPS*INLP'
                 OUBDNLPS='OUTBOUND*NLPS*ONLP'
                 BYINNLPS='BYTES READ*FROM*INBOUND*NLPS*BFNLP'
               SMF 50 VERSN50 02 new variables kept in TYPE50:
                 TY50SBCO='OSA-EXPRESS*SBAL*COUNT*OVERFLOW*READ Q'
                 TY50SBCT='OSA-EXPRESS*SBAL*COUNT*READ Q'
                 TY50EICO='OSA-EXPRESS*EARLY*INTER*OFLOW*COUNT READ Q'
                 TY50EICT='OSA-EXPRESS*EARLY*INTERRUPT*COUNT READ Q'
                 TY50E2CO='OSA-EXPRESS*EARLY*II INT OFLO*COUNT READ Q'
                 TY50E2CT='OSA-EXPRESS*EARLY*II INTERRUP*COUNT READ Q'
                 TY50PKCO='OSA-EXPRESS*PACKET*COUNT*OVERFLOW READ Q'
                 TY50PKCT='OSA-EXPRESS*PACKET*COUNT*READ Q'
                 TY50ACCO='OSA-EXPRESS*ACCEL*PKTCNT*OVERFLO*READ Q'
                 TY50ACCT='OSA-EXPRESS*ACCEL*PACKETCOUNT*READ Q'
                 TY50ACBO='OSA-EXPRESS*ACCEL*BYTE*OVERFLOW*READ Q'
                 TY50ACBT='OSA-EXPRESS*ACCEL*BYTE READ Q'
                 TY50NVCO='OSA-EXPRESS*INVALID*FRAME*OFLOW*READ Q'
                 TY50NVCT='OSA-EXPRESS*INVALID*FRAME*READ Q'
                 TY50RDQN='OSA-EXPRESS*READ*QUEUE*NAME'
              -The record LENGTH is stored into LENTYP50 to identify
               the old 262 byte or new 274 byte record.

Change 32.204  SMF 119 St 52 dataset TYP11952 variable JESDPERC field
VMAC119        length in the IP Programmers Guide and Reference was 8
Aug 24, 2014   which MXG used, but the offset of the next field was only
               4 bytes, and SYS1.MACLIB(EZASMF77) had length 4, which
               was confirmed by IBM Support, so these fields are now
               correctly all input as length 4:
       SMF119ML_HC_JESDPERC &PIB.4. /*PCT JES DEST TASKS BUSY*/
       SMF119ML_HC_JESWUSED &PIB.4. /*JES WRITER TASKS BUSY*/
       SMF119ML_HC_JESWPERC &PIB.4. /*PCT JES WRITER TASKS BUSY*/
       SMF119ML_HC_MDIRPFREE &PIB.4./*PCT FS SPACE FREE SYSWIDE EXTRTY*/
       SMF119ML_HC_MDIRPUSED &PIB.4./*PCT FS SPACE USED SYSWIDE*/
   Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.

Change 32.203  32.08 Only: two errors related to %ANALID / BUILDPDB:
ANALID            ERROR: DATASET NOPRINT NOT FOUND
ONLYJOBS          ERROR: THE REQUESTED TYPE OF VIEW (INPUT OR OUTPUT)
Aug 26, 2014   were corrected by this change in MXG 32.09, or they can
               be circumvented with 32.08 by inserting in your //SYSIN:
                  %LET VMVMACID=;
              -UTILBLDP with USERADD=ID that also had %ANALID statement
               got ERROR: DATASET NOPRINT NOT FOUND because a second
               execution of ANALID was not expected. The ONLYJOBS
               invokes UTILBLDP, but it already had a %ANALID statement,
               but Change 32.192 to UTILBLDP inserted a %ANALID
               execution when USERADD=ID was specified, causing the
               second execution.  The %ANALID; statement is removed from
               ONLYJOBS, and ANALID now bypasses the second or more
               executions in the same data step/session by default to
               avoid the error with an accidental second execution, by
               setting a value of YES for the new macro variable
               DONEANALID.
              -It's unlikely you will need ANALID twice in the same
               job-step, but if you do, you can bypass the MXG bypass
               with  %LET DONEANALID=; to set a blank value, before each
               of your %ANALID executions.
              -If you have a locally-tailored BUILDPDB SYSIN code that
               invokes _RPDBID, and 32.08, its removal would avoid the
               need for the circumvention to suppress the VIEW.
   Thanks to Paul Maradin, HP, USA.
   Thanks to MP Welch, Bank of America, USA.

Change 32.202  DB2 Trace SMF 102 IFCID 196 "MORE THAN 9 HOLDER/WAITER"
VMAC102        MXG WARNING log messages will only be printed for the
Aug 23, 2014   first three instances.

====== Changes thru 32.201 were in MXG 32.08 dated Aug 21, 2014=========

Change 32.201 -New parameter VARSINCL= lets you add non-ranked variables
ANALRANK       to the report that is created.  So (for example) if you
Aug 21, 2014   were ranking, JOBS based on CPUTM you could also see the
Sep  4, 2014   total EXCP and IOTM counts by specifying:
                 VARSINCL=EXCPTOTL IOTMTOTL
               In addition, if there is only a single variable being
               ranked, the report is in RANK order rather and alpha.
              -New parameters:
               VARSINCL= a list of variables to include in the report
                that are not being ranked
               PAGEBY=Y/N YES/NO if YES or Y then the report is broken
               into pages using the GROUPBY variable.
   Thanks to Tom MacCabe, Dominion Resource Services, USA.

====== Changes thru 32.200 were in MXG 32.08 dated Aug 19, 2014=========

Change 32.200  Example reports for (archaic) SMF 118/TCP and SMF 119 are
ANAL119        corrected; the average bytes were a rolling average and
ANAlTCP        did not match the values in the detail records.
Aug 19, 2014
   Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.

Change 32.199  The WLM dialog changed how it puts data in its table,
REXXWLM        with a missing trailing quote on new Application
Aug 19, 2014   Environments in the generated code for some AESP values.
               The padding on new AEs on the parms was changed from null
               to blanks; the Rexx code was revised.
   Thanks to Michael Oujesky, DTCC, USA.

Change 32.198  MXG 32.06-32.07. Protection for _IDxxxx EQ 512 failed
Many VMACaaaa  if your _IDxxxx had multiple SMF record types, e.g.:
Aug 19, 2014       MACRO _IDNDM 132 OR ID=133 %
Aug 30, 2014   Zero observations were created for that product AND the
               message was printed that the _IDxxxx macro wasn't set.
               The 512-detection code was revised to support the two-id
               syntax by testing both the length and the value, with
                 IF LENGTH(_IDNDM) EQ 3 AND _IDNDM EQ 512 THEN DO;
               and this worked for the two-id syntax.  However, only
               accidentally.  The LENGTH(_IDNDM) was 12 which is what
               prevented the false positive 512 message.  And, even
               with MACRO _IDNDM 123 %, the LENGTH(_IDNDM) is still 12!
               To circumvent this defect, the logic was revised again:
                 IF LENGTH(COMPRESS(_IDNDM)) EQ 3 AND _IDNDM EQ 512 ...
               which uncovered yet another defect; the length of the
               compressed two-id text is ONE, but the length of the
               compressed one-id text is THREE, so the LENGTH of the
               COMPRESSED macro text is used to only detect 512 with
               three characters.  Any other text in _IDxxxx will not
               have length 3 so those records will be processed.
               These XXXX product's VMACs were updated:
                 ACF2 BE91 BE97 BETA BVIR CTCP EDGS EJES ENDV FTP
                 HSM  HURN IDMS M204 MIM  NDM  NETM NTCP PROS RSDA
                 RSDF SHDW STC  SYNC TMNT TPMX X37  ZCOS
               (There are MANY other user SMF records that have NOT yet
               had the protection code added; deferred until an actual
               need/request is received.)
              -Notes: "Numeric values have been converted to character
               string" will be printed, underscoring the "132" value in
               the _IDxxxx macro; they are unavoidable but are compile
               time conversion with no cost.
               SEE CHANGE 32.234.
   Thanks to Richard Wendland, U.S. Bank, USA.

Change 32.197  ANALZIPC (Analysis of CPU times for Ziip Engines) failed
ANALZIPC       with ERROR: PDB.TYPE70PR NOT FOUND when _SMFZIPC was used
Aug 18, 2014   to read SMF.  _SMFZIPC still used _STY70PR, which was
               replaced by _STY70 (Change 23.321, SPLIT 70 processing).
               Clearly, ANALZIPC users have NOT read SMF data but have
               instead used the PDB.SMFINTRV and PDB.TYPE70PR datasets
               from their already-created PDB data library!
   Thanks to Ian Porter, Nissan-NEDC CO, ENGLAND.

Change 32.196  Preliminary summarization of PDB.DB2STATS from its fixed
ASUMDB2S       one-minute interval to a larger interval of your choice,
Aug 18, 2014   defaults to 15 minute in this iteration, but this member
               may be changed into a %macro to externalize options.
   Thanks to Glenn Bowman, Wakefern, USA.

Change 32.195  New program to extract the workloads from your TRNDRMFI
GRAFWRKT       dataset and linear regresses by SHIFT WORKLOAD SYSTEM,
Aug 17, 2014   then summarizes by SHIFT and WORKLOAD and uses SGPLOT
               to display which workloads are growing over time.

Change 32.194  Support for NDM-CDI 5.2 HW2 subtype creates new dataset.
EXNDMHW2          DDDDDD   DATASET   DESCRIPTION
IMACNDM           NDMHW2   NDMHW2    hw2 highwater mark record
VMACNDM        This record is not a standard NDM-CDI record as it has
VMXGINIT       'CDHW' where the record length and record type normally
Aug 17, 2014   are located.
   Thanks to Rich Wendland, U.S. Bank, USA.

Change 32.193 -These ASIxxxxx variables are now divided by ASISMPCT:
VMACRMFV         ASILMEMO ASMLPGSZ ASILVNMO ASIHVCOM ASILVSHR
Aug 15, 2014     ASILVABY ASIHVCBY ASILVSBY ASIHVVBY ASILVMEM
                 ASI1MBFF ASI1MBPF
              -Cosmetic.  Debugging PUTLOG statement in line 5565
                PUTLOG _N_= SSHRMFVN= SSHSMPNR= GEIRSTRF= GEIRPOOL=;
               is now removed.
   Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.

Change 32.192  BUILDPDB/BUILDPD3/BUILD001 now use a VIEW for WORK.ID,
ANALID         which eliminates completely the (potentially large) disk
BUILD606       space previously required to produce the SMF AUDIT REPORT
BUIL3606       (created by %ANALID, added to PDB in MXG Version 30.02.).
VMXGINIT      -You can suppress the %ANALID invocation and the creation
UTILBLDP       of the PDB.SMFRECNT dataset with %LET MXGSMFAUDIT=NO in
Aug 15, 2014   your SYSIN.  (Previously, MACRO _RPDBID % bypassed the
               report, but that is no longer used; if it exists in
               your SYSIN it will just be ignored.)
               (Only SAS supports Data Step Views.)
              -UTILBLDP constraint that ID had to be first with USERADD=
               (Change 32.154) is removed.
              -Views are not executed when OPTIONS OBS=0 is in effect,
               which is sometimes used in QA syntax tests, but since no
               data will be read with OBS=0, &VWVMACID is nulled when
               OBS=0 value is detected.

Change 32.191  Adding a View to BUILDPDB processing for the ID dataset
ANALDUPE       exposed a SAS error (since 9.1) that corrupts the value
ANALDUPE       of the internal _INFILE_ variable when a View is used.
ASCISMFC       The error was detected when the MXG decompression logic
VMAC102        (MXGDECOM/DB2DECOM, for CICS/DB2) incorrectly expanded
VMAC110        the _INFILE_ internal variable.  SAS confirmed the error,
VMAC112        recommending that the _INFILE_= argument instead of the
VMACDB2        _INFILE_ internal variable be used to circumvent, which
VMACSMF        was verified in MXG QA tests.  However, then the WPS QA
Aug 16, 2014   test failed because WPS doesn't support the _INFILE_=
               argument, but their _INFILE_ variable is valid with or
               without a View, so this change splits the logic to use
               the _INFILE_=SMFINFILE argument for SAS but for WPS uses
               the SMFINFILE=_INFILE_ statement, so SMFINFILE can then
               be used in MXGDECOM/DB2DECOM macros in all of the listed
               members that invoke the internal SAS code algorithms.
              -MXGDECOM/DB2DECOM are always used on ASCII, and are used
               on z/OS ONLY if the (recommended) EXITCICS/CICSIFUE exit
               is not installed.
              -Change 32.192 implemented the use of the VIEW for ID.

Change 32.190  BVIR variable VECDLEVL='VIRTUALIZATION*ENGINE*CODE LEVEL'
VMACBVIR       is now converted to node notation, so the hex value
Aug 13, 2014   '0008 001F 0000 0059'X will now contain and print as
                8.31.0.89 in character/decimal node notation.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 32.189  Cosmetic.  Labels were corrected from CORRECTION to:
VMACDB2          FSPSCCPL - CONTROL*CONNECTION*PROTECTION*LEVEL
Aug 13, 2014     FSPSDCPL - DATA*CONNECTION*PROTECTION*LEVEL
   Thanks to MaryBeth Delphia, Texas Comptroller of Public Accounts, USA

Change 32.188  DB2STATS variable QISEKLRU is not accumulated but was not
VMACDB2        detected as such in Change 30.113 because my test data
Aug 11, 2014   values were all zero.  It is no longer deaccumulated.
   Thanks to Rachel Holt, Fidelity Systems, USA.
   Thanks to Lori Masulis, Fidelity Systems, USA.

Change 32.187 -Missing value message for IOTMNOCA when SMF30AIC=. (which
ANALDSET       occurs in MULTIDD='Y' obs), in VMAC30, is now avoided.
VMAC30        -ANALDSET enhanced with OPENTM calculated for TYPE64 since
Aug 11, 2014   OPENTIME was added after this was originally written.
               Variables are now ordered for default PROC PRINT, grouped
               with common first, then 1415, 64, and steps variables.
               New RECFOUND variable identifies which records were found
               for each observation. JESNR kept in both output datasets.
   Thanks to Douglas C. Walter, Citigroup, USA.

Change 32.186  The ANAL116 example reports did not report on MQMACCT;
ANAL116        the new report was contributed by Scott and its absence
Aug  8, 2014   was noted by David.
   Thanks to Scott Barry, SBBWorks Inc., USA.
   Thanks to David Carr, Blue Cross Blue Shield of Kansas, USA.

Change 32.185  MXG 32.07 only.  180 Syntax error when ASUMUOW is tested
IMACUOW         IF (TRANNAME=:'CSM' OR TRANNAME=:'  ' OR TRANNAME=:'CPM'
Aug  7, 2014    180
               is due to IMACUOW line 226: /* CASE ONE LOGIC BEGIN */ ,
               added by Change 32.178 for the new CASE FIVE example,
               which was a comment within a comment and must be deleted.
               But MY real error was that I failed to QA test the new
               IMACUOW. The default IMACUOW doesn't create observations,
               so I have a tailored copy in my QA.PRODTEST library, but
               as only a new commented block was added (I thought!), I
               didn't update the new member into QA.prodtest. Mea Culpa.
               Worse, the QA report that compares QA.PRODTEST members
               flagged IMACUOW as changed, but I also failed to take
               heed of that notification. Mea Mea Culpa.
   Thanks to Jack Basile, PCH, USA.

Change 32.184  Support for Omegamon for SMS Version 510 USER SMF RECORD
EXOMSMTD       (INCOMPATIBLE, INPUT EXCEEDED because the offset to the
EXOMSMTG       next JOB segment is 112 bytes, but only 96 bytes are
FORMATS        documented in each segment, requiring MXG protection.)
IMACOMSM      -Two variables added to OMSMSJOB dataset:
VMACOMSM          OMFS2DAO='DEVICE*ACTIVE*ONLY*TIME'
VMXGINIT          OMFS2IOQ='IOQ*TIME'
Aug  6, 2014  -BY List macros for OMSMSDEV and OMSMSJOB datasets to
               remove duplicates.
              -New datasets created from subtype 4 records:
                 DDDDDD   DATASET   DESCRIPTION
                 OMSMTG   OMSMSTPG  TAPE GROUP
                 OMSMTD   OMSMSTPD  TAPE DEVICE
              -Invalid Subtype 4 records are created with offset greater
               that the record length; the first three instances are
               printed on the log for pursuit with the vendor.
              -Several fields with -1 value are now properly decoded.
              -Some TAPE datasets have lots of blank character variables
               that should be populated.
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 32.183  New %PDBAUDIT audits all DATASETS in all LIBNAMES created
BUILDPDB       by today's "BUILDPDB" in the "AUDIT" report, and compares
BUILDPD3       today's "PDBs" with yesterday's "PDBs", reporting any
PDBAUDIT       changes in observation length, number of variables, or
VMXGINIT       any datasets with zero obs in one PDB and non-zero obs
Aug  4, 2014   in the other PDB, in the "COMPARE" report.
Aug 15, 2014  -%PDBAUDIT is automatically called in BUILDPDB/BUILDPD3.
              -You can use %LET MXGPDBAUDIT=BYPASS; in your SYSIN to
               bypass that default execution of %PDBAUDIT.
              -%PDBAUDIT creates the PDB.PDBAUDIT dataset with today's
               statistics and copies that dataset into SPIN.SPINPDBAUDIT
               which will be used for tomorrow's compare, and then backs
               ups the dataset into PDB.SPINPDBAUDIT.
              -If your "Build PDB" creates additional datasets after the
               %INCLUDE SOURCLIB(BUILDPDB), for example, when ASUMs are
               %INCLUDEd, you would bypass the default execution by
               adding %LET MXGPDBAUDIT=BYPASS; in your //SYSIN and then
               by adding the statement %PDBAUDIT; at the end of your
               "BUILD PDB" step.
              -All of the LIBNAMEs that have been opened/referenced in
               this SAS step when %PDBAUDIT is invoked will be reported
               and written to today's PDB.PDBAUDIT dataset.
              -You can suppress the report printing but still build
               the PDB.PDBAUDIT and SPIN.PDBAUDIT datasets by using
               %LET MXGPRINTAUDIT=NO;
              -Macro variables &PDBMXG, &SPININ and &SPINOUT are used
               to set the output and SPIN input/output, with the normal
               defaults of PDB/SPIN/SPIN, but can be changed if needed.
              -It is possible to run %PDBAUDIT in a separate step, but
               then you must use a LIBNAME statement for each library
               you want to be audited, so the LIBNAME is referenced.
               Having just a //DDNAME DD does NOT reference the LIBNAME.
               You must have "PDB" and "SPIN" LIBNAMEs with DISP=OLD for
               the complete COMPARE and AUDIT reports, but those could
               separate dsnames just for audit:
                 // EXEC MXGSAS
                 //PDBAUDIT DD DSN=YOUR.PDBAUDIT.PDB,DISP=OLD
                 //SPNAUDIT DD DSN=YOUR.PDBAUDIT.SPIN,DISP=OLD
                 //PDB      DD DSN=YOUR.REAL.PDB,DISP=SHR
                 //SPIN     DD DSN=YOUR.REAL.SPIN,DISP=SHR
                 //CICSTRAN DD DSN=YOUR.CICSTRAN.DISK.PDB,DISP=SHR
                 //IMSTRAN  DD DSN=YOUR.IMSTRAN.DISK.PDB,DISP=SHR
                 //SYSIN DD *
                   LIBNAME PDBAUDIT 'YOUR.PDBAUDIT.PDB';
                   LIBNAME SPNAUDIT 'YOUR.PDBAUDIT.SPIN';
                   LIBNAME PDB      'YOUR.REAL.PDB';
                   LIBNAME SPIN     'YOUR.REAL.SPIN';
                   LIBNAME CICSTRAN 'YOUR.CICSTRAN.PDB';
                   LIBNAME IMSTRAN  'YOUR.IMSTRAN.PDB';
                   %LET PDBMXG=PDBAUDIT;
                   %LET SPININ=SPNAUDIT;
                   %LET SPINOUT=SPNAUDIT;
                   %PDBAUDIT;
                   RUN;
              -The default MXGEXCLUDESEQ=YES prevents expensive reading
               of LIBNAMES that are Sequential Format SAS Data Libraries
               to save resources, since DICTIONARY.TABLES cause the full
               dataset to be read (even then, SAS does not report the
               number of observations!).  The cost can be significant:
               processing a day's PDB with a 6,000,000 obs SEQ DB2ACCT:
                 EXCLUDESEQ     NO (reads)       YES (doesn't read)
                 CPU            4.8 seconds         1.2 seconds
                 Elapsed        5.5 minutes         58  seconds
                 EXCP Count     255,000            3,313
               If you still want to read sequential libraries, you can
               use  %LET MXGEXCLUDESEQ=NO;
              -ITRM sites can produce the report simply by adding
                %PDBAUDIT;  at the bottom of the SAS SYSIN stream.
              -These five variables that are not created by WPS
                 FILESIZE NPAGE NUM_CHARACTER NUM_NUMERIC PCOMPRESS
               will be missing values in reports and PDBAUDIT datasets.

Change 32.182  MXG QA test step TESSIBM2 MULTIPLE LENGTHS FOR STARTIME
ASUM113        caused Return Code 4, but had no other impact. A length
Aug  4, 2014   statement was added when TYPE70PR does not exist.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

====== Changes thru 32.181 were in MXG 32.07 dated Aug  3, 2014=========

Change 32.181 -New MOBWRKX3 member for Mobile Workload Processing uses
MOBWRK01       the CICDS Dispatcher Interval CPUTCBTM with selection by
MOBWRKX3       APPLID in MOBWRK01 instead of using CICSTRAN.
MOBWRK06      -Documentation in MOBWRK06 and MOBILWRK was updated.
MOBILWRK
Aug  3, 2014
   Thanks to Michael Marcus, UPS, USA.

Change 32.180  MXG 32.06 ONLY. Zero OBS in user-added SMF type datasets.
VMACTMNT plus  The delete statement discussed below was removed from
Aug  2, 2014   the new code added by Change 32.149 in these members:
                 ACF2 BE91 BE97 BETA BVIR EDGS EJES ENDV FTP  HSM
                 HURN IDMS M204 MIM  NDM  NETM NTCP PROS RSDA RSDF
                 SHDW STC  SYNC TMNT TPMX X37  ZCOS

  ERROR: 32.06: ZERO OBS IN ALL USER-ADDED BUILDPDB/UTILBLDP DATASETS:
    If you use UTILBLDP(BUILDPDB=YES,USERADD=...) or EXPDBVAR/CDE/OUT
    members in your USERID.SOURCLIB to add other SMF record types to
    your BUILDPDB/BUILDPD3, AND YOU DO NOT PROCESS MXGTMNT/TYPETMNT
    SMF records (i.e., you do NOT set MACRO _IDTMNT 238 %), then ALL
    of the datasets built AFTER TYPETMNT will have zero observations.
    This error was introduced in Change 32.149, which incorrectly had
    added a DELETE statement that should not be there.
      CIRCUMVENTIONs for this 32.06-Only ERROR:  (INSTALL 32.07!!)
       -Remove the DELETE; statement in line 265 of VMACTMNT, OR
       -Add this statement in your //SYSIN at the top:
              %LET MACKEEP= MACRO _IDTMNT 999 % ;
       -Or: with USERADD= in UTILBLDP, add  TMNT/999
               Change 32.149 added protection for each User SMF record
               to detect when the IF ID= _IDxxxx THEN DO code block had
               the default _IDxxxx value of 512, which would cause those
               datasets to have zero observations, printing an MXGNOTE
               to alert you to the needed correction to create obs.
               But these code block for IF _IDxxxx=512 (STUPIDLY) had a
               DELETE statement, and because the TYPETMNT processing of
               that user record is inside the "standard" BUILDPDB, if
               you had not set MACRO _IDTMNT 238 % to tell MXG to read
               that type in the TMNT code block, then any record type
               that was not processed in the preceding IBM type blocks
               was deleted, and never examined by the subsequent code
               blocks you had added with USERADD= or EXPDBetc.
               SEE CHANGE 32.234.
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 32.179  Cosmetic, confusing.  These variables now have VIRT in
VMAC71         their label, for VIRTUAL, instead of VERT, which could
Jul 31, 2014   make you think of VERTICAL Polarized Processors:
                  SMF71SRA='AVG*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
                  SMF71SRM='MIN*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
                  SMF71SRX='MAX*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
   Thanks to Graham Harris, Royal Bank of Scotland, UK.

Change 32.178  Support for AES CleverView USER SMF subtypes 30-40, which
EXCTCP30       are added to the existing CleverTCP User SMF record code:
EXCTCP31         DDDDDD     MXG       MXG
EXCTCP32         DATASET    DATASET   DATASET
EXCTCP33         SUFFIX     NAME      LABEL
EXCTCP34
EXCTCP35         CTCP30     CTCP30    CTCP CRITICAL RESOURCE
EXCTCP36         CTCP31     CTCP31    CTCP PORT MONITOR
EXCTCP37         CTCP32     CTCP32    CTCP LINK VIEW
EXCTCP38         CTCP33     CTCP33    CTCP PROCESS VIEW
EXCTCP39         CTCP34     CTCP34    CTCP ICMP STATISTICS
EXCTCP40         CTCP35     CTCP35    CTCP IP STATISTICS
FORMATS          CTCP36     CTCP36    CTCP TCP STATISTICS
IMACCTCP         CTCP37     CTCP37    CTCP UDP STATISTICS
VMACCTCP         CTCP38     CTCP38    CTCP OSA CHANNEL
VMXGINIT         CTCP39     CTCP39    CTCP OSA ETHERNET
Jul 31, 2014     CTCP40     CTCP40    CTCP OSA LPAR

Change 32.178A Added as a new example, Case 5, for UOW definitions.
IMACUOW        When there are no CSMI transactions, there is no EXECAPPL
Jul 27, 2014   that IMACUOW expected, so it is located by using byte 3
               of the PATH(x) variable: If it is T or R, and not DB2,
               then that CICSTRAN instance is used for EXECAPPL, and for
               TRANNAME.
   Thanks to Tom MacCabe, Dominion Resource Services, USA.

Change 32.177  Cosmetic.  A NULLFILE/DD DUMMY caused a message that
VMXGDSNL       VMXGDSNL could not resolve the lower level; the message
Jul 27, 2014   now simply says a NULLFILE DUMMY was found.

Change 32.176  Member VMACTMD2 did not process nor detect compressed
VMACTMD2       records when executed on ASCII, or on z/OS without the
Jul 25, 2014   EXITMON6 z/OS-only INFILE exit.  Now, the internal SAS
               algorithm is invoked, but that is VERY CPU intensive and
               should NOT be used on z/OS.
              -Change 31.133 added the second iteration support for V5
               but it did not note that the 'DB' Thread Detail dataset
               and dddddd token names were changed from TMDBDB2/TMDDB2
               to TMD2DB/TMD2DB.
   Thanks to Ernest E. Amador, UC Davis, USA.
   Thanks to Mark A. Turner, UC Davis, USA.

Change 32.175  Enhancement and documentation for the ANALID reports:
ANALID        -A Data Step VIEW is used for the (potentially large) ID
FORMATS        dataset when %ANALID with READSMF=YES specified, or when
TYPEID         %INCLUDE SOURCLIB(TYPEID); is used, or when  BUILD001 or
TYPEID         or BUILDPDB or BUILDPD3 is executed, saving LOTS of disk
TYPSID         space. (Only SAS supports Data Step Views.)
VMACID        -The DB2 Subsystem is now ALWAYS captured for 100-102s.
VMACSMF        Originally, the DB2 Subsystem field was read from the
VMXGINIT       (compressed) Product Section, but all DB2 records have
Jul 29, 2014   Subsystem in the uncompressed header, which is now used.
BUILDPDB      -The COMPRESS and ACCUMAC flags now print 'C' and 'A'.
BUILDPD3      -On z/OS, when SMFEXIT=CICS is used (for compressed DB2 or
BUILD001       CICS SMF records), records have been uncompressed by that
               INFILE exit, before the INPUT, so the COMPRESS=Y flag
               can't be set, but the DB2 IFCID value is INPUT from the
               product section, so reports show type 102 IFCIDs.
              -
              -Instead, when the internal decompression code is used
               (i.e., either on z/OS without SMFEXIT=CICS, or on ASCII),
               the DB2 IFCID is not available, because IBM does not
               populate the 102 subtype field in the SMF header, and the
               decompress occurs after SMF header processing; while the
               COMPRESS=Y flag is set, all 102s will be reported as type
               "102.000: UNKNOWN IFCID COMPRESSED".
               REVISED JUL 5, 2015: SEE CHANGE 33.159, MXGDECOMP=DB2
               will now decompress in the SMF header processing.
              -Note that if you use IMACFILE/MACFILE (or it is used FOR
               you, like with READDB2) to select which SMF records are
               to be processed, those skipped records will NOT be
               counted in the ANALID reports.
              -BMC APPTUNE 102 records printed as 134.772-134.780 but
               this change revises to print 102.8004-102.800B.
   Thanks to Wayne Montefiore, CSC, AUSTRALIA.
   Thanks to MP Welch, Bank of America, USA.

Change 32.174  DB2 V11 added new QX variables, but MXG only added them
VMACDB2        to DB2ACCT.  These variables are now added to DB2STATS:
Jul 25, 2014    QXALTMP QXCREMP QXCRTSV QXDEGAT QXDRPMP QXDRPSV QXHJINCS
                QXHJINCT QXMAXESTIDG QXMAXPLANDG QXN1093A QXN1093B
                QXPAROPT QXPFMAXUG QXPFMAXUM QXPFSENUM QXPFSENUMG
                QXPFSLNUM QXRSMIAP QXSISTOR QXSIWF QXSTARRAY_EXPANSIONS
                QXSTODGNGRP QXSTOREDGRP QXWFRIDS QXWFRIDT
   Thanks to Steve R. Wood, DST Systems, USA.
   Thanks to Ramu Nalluri, DST Systems, USA.

Change 32.173  Support for Websphere MQ for z/OS Crypto Audit User SMF
EXWECRAU       record (default 180) creates new dataset:
IMACWECR         DDDDDD    DATASET    DESCRIPTION
VMACWECR         WECRAU    WEBSCRAU   WEBSPHERE MQ CRYPTO AUDIT
VMXGINIT       This code has NEVER been tested with actual SMF records;
Jul 25, 2014   please send records if they exist at your site.

Change 32.172  Support for Websphere MQ Version 8.0 CHANNEL/CHANNEL INIT
EXTY115E       new subtypes of the 115 (subtype 231) and 116 (subty 10).
EXTY116A       create these new datasets:
FORMATS          DDDDDD    DATASET    DESCRIPTION
IMAC115          TY115E    MQCHIN     MQM CHAN/CHANINIT STATISTICS
IMAC116          TY116A    MQCHININ   MQM CHAN/CHANNEL INIT ACCOUNTING
VMAC115        These new subtype have NOT been tested with data. Please
VMAC116        send SMF data if you have these new SMF subtypes.
VMXGINIT       Jun 24, 2015: See Change 33.151, MXG 33.07, which updated
Jul 24, 2014   VMAC115 and VMAC116 and tested with data.

Change 32.171  Support for Websphere Liberty z/CONNECT SMF 120 subtype
EXT12011       11 creates new dataset TYP12011.
IMAC120          DDDDDD    DATASET    DESCRIPTION
VMAC120          T12011    TYP10211   WEBSPHERE 11 LIBERTY z/CONNECT
VMXGINIT
Jul 22, 2014

====== Changes thru 32.170 were in MXG 32.06 dated Jul 21, 2014=========

Change 32.170  Support for CA SYSVIEW 14.0 IMS Records updates (COMPAT).
VMACSVIE      -New variables added to SV34TRAN dataset:
Jul 19, 2014   IMTR_TRN_FPFLAG   IMTR_TRN_FPFLAG2   IMTR_TRN_ENQPCB
               IMTR_TRN_CPUTIME  IMTR_TRN_TPTDBIO   IMTR_TRN_TPTDBPL
               IMTR_TRN_SYNCFAIL IMTR_TRN_FLIMRTCD  IMTR_TRN_FLIMBQCT
               IMTR_TRN_FLIMIQTM IMTR_CLK_CNT_ENQ   IMTR_CLK_MXG_END
               IMTR_CLK_CNT_GU   IMTR_CLK_UOW_START IMTR_CLK_UOW_END
               IMTR_CLK_FLIMIQTM IMTR_CLK_FLOMPRTM  IMTR_CLK_SYNCPRTM
               IMTR_CLK_FLDQOTIM IMTR_CLK_SYNCDATE  IMTR_CLK_SYNCTIME
               IMTR_CLK_SAVE     IMTR_CLK_IFP5901L  IMTR_CLK_IFPMSGWAIT
               However, no V14 records have yet been available, and
               there may be other changes in the TIMER records that are
               under investigation.  This text will be revised.

Change 32.169 -DB2STATS variables QDSTNQMN,QDSTNQMX,QDSTNQAV,QDSTNCCW
VMACDB2        were wrong with DB2 V10. Added by DB2 V11, the input test
Jul 19, 2014   was for QDSTLEN GE 96 instead of GE 114, so they were
               input when they should have been missing values.
              -DB2STATS variables QDSTMARD and QDSTNARD were wrongly
               deaccumulated, causing very large, or zero, values.
   Thanks to Wayne Bell, UNIGROUP, USA.

Change 32.168  NDM CT truncated record caused INPUT STATEMENT EXCEEDED.
VMACNDM        The invalid record has NDMRECLN=1014, which should then
Jul 18, 2014   have LENGTH=1028, but the record LENGTH is only 1020.
Jul 23, 2014   The NDMLENPA length of NDMPACCT field in bytes 1017-1018
               contains 10, but there are only 2 bytes left in the SMF
               record.  Tests added to detect the truncated record and
               to print a message on the log for each defective record,
               and to only input as many bytes as exist.
              -IBM APAR PM77776/PTF UK83894 for Direct Connect V 5.x
               corrects the truncated record.
   Thanks to Norbert Wagner, Deutsche-Boerse, GERMANY.

Change 32.167  ANALDUPE algorithm to remove duplicate records in z/OS
ANALDUPE       file had typos in S02OF02.  The DSN syntax should  be
Jul 18, 2014     //FMTDAT DSN=&&KEEPFMT,DISP=(OLD,PASS)
               and the correct syntax is OPTIONS FMTSEARCH=(FMTDAT);
   Thanks to Richard Schwartz, IBM Global Services, USA.

Change 32.166  MXG 31.09-32.05. The default CECINTRV=HOUR in ASUM70PR
ASUM70PR       was incorrectly/unintentionally changed to QTRHOUR back
SAGANAL        in MXG 31.09, but the HOUR default is now (AGAIN!) set.
Jul 18, 2014      %VMXG70PR (PDB=PDB,INTERVAL=QTRHOUR,CECINTRV=HOUR);
Jul 23, 2014   The INTERVAL parameter controls the summarization of the
               two per-SYSTEM datasets, ASUM70PR and ASUM70LP, and the
               INTERVAL=QTRHOUR works for data at 5, 10, or 15 min for
               each individual SYSTEM.
               The CECINTRV parameter controls the summarization of the
               two per-CEC datasets, ASUMCEC and ASUMCELP, and the HOUR
               default is used because it is safer: only if ALL systems
               in the CEC have 15 minute interval data can QTRHOUR be
               used for CECINTRV, and so using HOUR protects sites with
               multiple/different intervals, and my intention was to
               always create these CEC-level datasets hourly.
               And, most sites have copied ASUM70PR into their tailoring
               library, to set their own values for INTERVAL/CECINTRV,
               so this incorrect change in default was not observed.
              -However, SAGANAL did require the CECINTRV=HOUR and that
               was not previously noted in its comments, hence this
               discovery.  Now, instead of INCLUDEing ASUM70PR, the
               _READ70 macro uses %VMXG70PR with CECINTRV=HOUR.
              -Jul 23: ERROR PDB.TYPE70PR not found was corrected.
   Thanks to Ian Porter, Nissan, ENGLAND.

Change 32.165  New parameter GROUPBY added to let you find the rankings
ANALRANK       by some variable. So for example, you wanted to find the
Jul 17, 2014   top 20 JOBS by SYSTEM for CPUTM and EXCPTOTL, you would
               code:
                 %ANALRANK(DATASET=PDB.JOBS,GROUPBY=SYSTEM,IDBY=JOB,
                   VARS=CPUTM EXCPTOTL,HOWMANY=20);
               Along the way logic was cleaned up and simplified
   Thanks to Tom MacCabe, Dominion Resource Services, USA.

Change 32.164  FREQ created variables with lower case names.  Later code
VMXGSUM        that went looking for the variable could fail if it
Jul 17, 2014   looked for an upper case name.  FREQ is now upcased as
               are all the other variable names.

Change 32.163  Unused Change Number.

Change 32.162  See Change 33.014.  Required for z13.

Change 32.161  Support for NDM-CDI M2 record, which is output in NDMMC
VMACNDM        dataset.  These M2-only variables are added to NDMMC:
Jul 17, 2014     NDMCFFLB NDMCRTYP NDMCSRVR NDMCTSLB NDMCTTYP NDMMCDSN
                 NDMMCSEQ NDMNBLKS NDMNBYTS NDMNRECS
   Thanks to Michael Oujesky, DTCC, USA.

Change 32.160  ML-53 of MXG Tape Mount/Allocation/SYSLOG Monitor adds a
ASMTAPEE       check for an I/O configuration change during the device
Jul 17, 2014   scan loop, which should reduce the chances of logrec
               entries, which occurred at one site when a new IODF was
               activated during MXGTMNT's device scan.  Other than the
               2,000 logrec entries for recovered 0C4 ABENDS for the
               load module MXGTMNT, and the loss of data for that one
               interval, MXGTMNT did not fail, and the MXGTMNT job log
               did report the event was detected:
                TMNT060I I/O configuration change detected,
                         MXGTMNT suspended pending restart
                TMNT061I I/O configuration restart complete,
                         MXGTMNT processing resumed
   Thanks to Ed Brociek, FMR, USA.

Change 32.159 -A possible error in ANALCAPD caused it to ignore the PDB=
ANALCAPD       parameter, so &PDBMXG was always used.  Since &PDBMXG
Jul 17, 2014   defaults to PDB, an error was unlikely, but the exposure
               is removed, and a changed PDB= argument will now be used.
              -Added SGPLOT invocation if you are on SAS 9.3 or higher.
               Otherwise, if you have SAS/GRAPH, it is used.
               Otherwise, the ancient PROC PLOT is used, and comments
               were added to document the meaning of the characters
               printed when PROC PLOT is used.
   Thanks to Andrew Woods, Interactive Data, ENGLAND.

Change 32.158  Updates for Mobile Work including CSV-generating program.
MOBMWRT       -%MOBMWRT creates the CSV file for submission to IBM.
MOBWRK05      -Changes to MOBWRKnn members now consistently have unique
MOBWRK06       &MOBxxx LIBNAMEs, and both SMF and PDB processing has
MOBILWRK       been revised and tested.
VMXGINIT      -MOBWRK05 and MOBWRK06 process all five products data if
Jul 18, 2014   they exist, so they can be used for one or all products.

Change 32.157  New parameters WIDTH HEIGHT FOOTNOTE added to let you
GRAFCEC        tailor the appearance of graphs.  Most of these look
GRAFWRKX       better as landscape so the defaults are WIDTH=10in and
Jul 13, 2014   HEIGHT=8in.  The 'in' is required.  The footnote
               parameter will let you add a footnote to the graphs
               produced that you could use to add the job name that
               created the graph.  For example - to add a left justified
               footnote with a height of .5 and in red you would
               specify:
                 FOOTNOTE=JUSTIFY=L COLOR=RED 'Job name'
   Thanks to Tom MacCabe, Dominion Resource Services, USA.

Change 32.156  Variable IRESPTM in the CICS dataset is the SUM of the
ASUMCICX       response time in all transactions in the BY group. It
TRNDCICX       probably should have always been the average value but it
Jul 11, 2014   is left as the sum and a new variable RESPAVG is created
               which is the average value.

Change 32.155  Support for Oracle ELS/VTCS 7.2 HSC changes to user SMF
EXSTCV31       records.
IMACSTC       -New dataset STCVSM31 created from subtype 31
VMACSTC       -New variables added to datasets created from Subtypes
VMXGINIT       STCnnTPX added to 13,14,15,16,17,18,19,20,25,26,27,28
Jul  8, 2014                     29,30
Jul 16, 2014   STCnnTYP added to 16,17,18,19
               Subtype 16: STC16LOC STC16MVC
               Subtype 17: STC17LOC
               Subtype 18: STC18LOC STC18VPT STC18TND STC18ND
               Subtype 19: STC19LOC STC19VPT STC189ND STC19ND
               subtype 26: STC26VPT
              -All but subtypes 27,and 31 have been data tested.
              -These (archaic) variables are always missing values:
                 STC13FLG STC13HID STC13SEQ STC13VTI
                 STC14FLG STC14HID STC14SEQ STC14VTI
                 STC18FLG STC18HID STC18SEQ STC18VTI
                 STC19FLG STC19HID STC19SEQ STC19VTI
              -One question is open: STC14DSN contains a TODSTAMP and
               not a 44-character DSNAME.
   Thanks to Richard Stuchell, VISA, USA.
   Thanks to Bruce MacKay, Oracle, USA.
   Thanks to Merle Sadler, Oracle, USA.

Change 32.154 -This part of the original change:
ANALID         "If you want to produce the ANALID report using UTILBLDP,
UTILBLDP       with BUILDPDB=NO specified, then the ID token must be the
Jul  8, 2014   FIRST token in the USERADD= parameter:"
Aug 15, 2014   is no longer true; Change 32.192 removed that restriction
               and ID can be anywhere in the USERADD= list.
              -While only the SELECTED SMF record's datasets will be
               created, ALL SMF records in the INFILE will be reported
               by ANALID, UNLESS you also used MACFILE/IMACFILE to
               delete SMF records; those deleted records will NOT be
               counted/reported by ANALID.
              -If you want to see the code that was created by UTILBLDP,
               it can be printed on the LOG by specifying either the new
               ECHO=YES (or ECHO=Y) argument, or with MXGEXIMSG=YES.
              -Cosmetic change in ANALID to print 0 for small percentage
               values to eliminate "Note: At least one W.D format was
               too small for the number to be printed...."
   Thanks to MP Welch, Bank of America, USA.

Change 32.153  Support for Optional CICS User ADP fields in IMACICVH.
EXUTILEX       The EXUTILEX member is listed here ONLY to note that it
IMACICVH       is not the correct way to add USER CICS fields to MXG.
VMAC110        Instead, send your CICS Dictionary SMF records to support
UTILEXCL       and MXG will be enhanced to support your optional data,
Jul  5, 2014   with a new IMACICxx member just for you!
   Thanks to Patricia Hansen, ADP, USA.

Change 32.152  Datetimes in TYPECTLT - CONTROL/T are GMT and there is no
VMACCTLT       way to know what was the GMT Offset when those data were
Jul  5, 2014   created.

Change 32.151  BY lists for TYPE74PA/TYPE74ST/TYPE74DU/TYPE74HO/TYPE74TD
VMAC74         and TYPE747C were insufficient to remove duplicates.
Jul  5, 2014   All of those _BTY74xx macros are extended for removal.
              -Variable R742PLIN='LIST*NUMBER*WITHIN*STRUCTURE' is now
               INPUT; it was added to _BTY74PA. However, there are
               duplicate observations in TYPE74PA.
              -Variable R744FNAM was added to _BTY74ST for NODUP sort.
              -Variable R744FNAM was added to _BTY74DU for NODUP sort.
              -Variable R744HPCP was added to _BTY74HO for NODUP sort.
               There are duplicate observations created in TYPE74HO.
              -Dataset TYPE74ID will always have many more duplicates
               removed than output observations, by design.
              -If you use TYPE74PA or TYPE74HO, or TYPE74TD, and want
               to open a PMR with IBM Support to examine why there are
               duplicates, please send your data to support@mxg.com to
               verify and to document for your PMR submission.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.150  Revised support for Informatica's POWER EXCHANGE SMF
VMACPOEX       records, updated after the original preliminary support
Jul  3, 2014   in Change 29.134. These issues will be reported and this
               text updated when resolved:
               CHANGES REQUIRED:
               1. In POEXDB2, POEXROWS are accumulated, but POEXSTMT=1
                  POEXSQLC=0 POEXUPDT=0 POEXDELT=0 POEXINSR=0 in all
                  fifteen DB2 segments so it is unclear if they too are
                  accumulated.  BUT: ANY ACCUMULATED FIELDS means that
                  data is lost; the first instance for EVERY JOB must be
                  deleted since it is impossible to know which is the
                  FIRST interval record.  Interval records MUST contain
                  interval values.
               2. POEXUNDO (28-byte field before POEXCPUG CPU Time in
                  General Section: Undocumented field contains IP
                  address for IPV4 addresses:
                   (161.236.233.152)
                  but IPV6 addresses are truncated at 15 bytes
                   (::ffff:165.37.5)
               3. CRITICAL:  Subtype 3 Interval records POEXENDT is
                  always unpopulated (missing value) so the actual
                  interval duration can never be known.
               4. CRITICAL:  Subtype 3 Interval records POEXSTRT is
                  always the START TIME OF THE JOB and is NOT the START
                  TIME OF THE INTERVAL.  SO: the interval duration can
                  NOT be known except in the first interval.
               5. POEXSECN - Count of sections is ALWAYS ONE in all
                  records, even though there ARE multiple sections in
                  many records.
               OTHER ISSUES:
               6. Issues with UNDOCUMENTED DSN1 & DSN2 in File Segments:
                  a. Length 46 rather than 44 in DSN2, both set to 64 to
                  be safe for open system path names.
                  b. Contains single quotes around DSN in SOME
                     POEXACME=NRDB2 records:
                     'EDWT.ISG.COMBINED.MO.PRTY.INF' )
                  c. Contains DSN2=BLANK, DSN1=CONNECTION
                  d. Contains DSN2=BLANK, DSN1=TS01295.SHR.S9S.D140626
                  e. Contains double quotes at start and interval in
                     some records, i.e., "ZA1P".za1racf1_RACF_RECORD
               7. Variables ADDL CIPC NODE REAS RTRN SESS SSI are always
                  blank.
               8. Bytes Send and Received Count in CLIENT segment is
                  ALWAYS 256 bytes.
               9. POEXCLIE (Client):
                  A JOB is identified by SYSTEM POEXJOB POEXTPID, but
                  POEXSTRT is CONSTANT for each interval.  In each
                  INTERVAL record, POEXCPUG (General) is Accumulated,
                  while POEXCPUC (Client) is the interval CPU Time.
                  But in each END record, POEXCPUG and POEXCPUC are
                  EQUAL and are the TOTAL for that JOB.  And POEXCPUG
                  (General) is ACCUMULATED while the POEXCPUC (Client)
                  is the DELTA
                  UNLESS: In POEXCLIE jobs where there is a DB2 Section:
                   a. The POEXTPID is always zero, so it is NOT possible
                      to group interval/end records for each job.
                   b. The CPUG and CPUC are accumulated and interval as
                      for POEXCLIE jobs that have FILE sections, but the
                      CPUD from the DB2 section is ALSO ACCUMULATED in
                      the interval records, and is the TOTAL in END
                      record.
              10. There are four CPU metrics in four segments: CPUG -
                  General, CPUD - DB2, CPUL - Listener and CPUC -
                  Client, but no documentation of what is or is not
                  included in those fields.
                  Observing values, it appears:
                   POEXLIST - LISTENER - POEXCPUG (General) equal to
                                         POEXCPUL (Listener)
                   POEXCLIE - CLIENT   - See Preceding Item 19.
              11. In the FILE segment, field POEXAMTY is not documented.
                  The values of 01, 0Ax and 19x in POEXAMTY have
                  POEXACME, Access Method, with  , DB2, SEQ, and NRDB2,
                  respectively.
              12. POEXSTRC - Character datetime value does not contain
                             fractions of a second, while POEXSTRT
                             TODSTAMP does have full resolution.
              13. POEXENDC - Character datetime value does not contain
                             fractions of a second, while POEXENDT
                             TODSTAMP does have full resolution.
              14. Client Segment TODSTAMPS ENDX STRX are always missing
                  values, but start/end from General Section are valid
                  and kept.
              15. No GMT OFFSET value in any record, but the character
                  start time in POEXSTRC is on local while POEXSTRT is
                  on GMT so the offset value GMTOFFPOEX is calculated
                  and used to convert GMT datetimes to local.
              16. Records with lots of nulls (SMF record 43, LENGTH=4928
                  (RDW=4932), but data ends in byte 847, 4181 bytes of
                  nulls).
   Thanks to Eileen F. Van Etten, Bank of America, USA.
   Thanks to Christopher D. Carnes, Bank of America, USA.

Change 32.149  SMF record TYPE can be 0-127 for IBM records or 128-255
VMACXXXX       for USER SMF records.  Because the TYPE number of a USER
Jun 26, 2014   record is set by the site's product installer, you must
Sep 28, 2014   tell MXG the record number that was chosen for USER SMF
               processing for SMF TYPES 128-255.  MXG sets the default
               TYPE number to a missing value, a period, in MXG 32.10.
               Previously, a value of 512 was the MACRO _IDxxxx default.

               The recommended way to specify a User SMF type is to put
               the defining MACRO in the IMACKEEP member in your USERID
               Tailoring Library/Directory:
                     MACRO _IDxxxx  nnn  %
               where the xxxx is the VMACxxxx suffix for the product,
               (documented in member IMACAAAA), and nnn is the site's
               chosen record number.  This way, any processing of xxxx
               will use that definition for that product's SMF record.

               If you are using %UTILBLDP to create your SYSIN program,
               the RECOMMENDED tool to process multiple SMF records, and
               especially to add other SMF records, either IBM or USER,
               with or without executing BUILDPDB, you supply the SMF
               Record TYPE number in the syntax:
                 %UTILBLDP(USERADD=xxxx/nnn yyyy/mmm . . . .);

               Alternatively, you can supply the _IDxxxx value in the
               input in the job that processes the USER SMF record:
                 //SYSIN DD *
                  %LET MACKEEP=  MACRO _IDxxxx nnn  %  ;
                  %INCLUDE SOURCLIB(TYPSxxxx);

               Change text revised.
               SEE CHANGE 32.234.
   Thanks to MP Welch, Bank of America, USA.

Change 32.148  Support BMC DB2 Data Sharing Header, QWHSTYP=32 segment,
READDB2        which is inserted between the QWHSTYP=1 & 2 segments in
VMACDB2H       BMC records, but is after the other segments in IBM data.
Jun 20, 2014   MXG logic had assumed the segments were in order, the BMC
Jul  9, 2014   insertion of their 32 segment caused the QWAC fields to
               to be blank/missing, as the insert prevented segment 2
               being input. Logic is now independent of the order.
              -Using %READDB2(IFCIDS=BMC); worked fine on ASCII but did
               not work on z/OS, because the test "IF &IFC GT 3" is true
               on ASCII when &IFC is BMC, but the collating sequence on
               z/OS causes BMC to be LESS than 3, so BMC subtypes were
               not read. The test now explicitly tests for 'BMC'.
              -Observed:  TITLE CREATED BY _T102BMC; created an error;
               the title must be in quotes to prevent macro _T102BMC
               from being resolved as code!
   Thanks to Janet Smith, BMC, USA.
   Thanks to Tony Curry, BMC, USA.

Change 32.147 -ODS doesn't support character variables with $HEX format:
DOC             SAS development investigated this issue with their XML
Jun 26, 2014    parser and the problem is caused because the values have
                to be converted to XML, and Unicode values in
                user-defined formats are not supported by the ODS
                Graphics procedures.
               Furthermore, ODS does not use the FORMATTED value of a
               variable that contains hex values:
                %INCLUDE SOURCLIB(TEST73);
                 PROC SGPLOT DATA=TYPE73;;
                 SCATTER X=STARTIME Y=PCHANBY/GROUP=SMF73CPD;
                 FORMAT SMF73CPD $HEXCHAR.;
                 RUN;
               So it is necessary to create a new variable with the
               format and use it:
                 DATA PLOT/VIEW=PLOT;
                 SET PDB.TYPE73;
                 CHANTYPE=PUT(SMF73CPD,$MG073CD.);
                 PROC SGPLOT DATA=PLOT;
                 SCATTER X=STARTIME Y=PCHANBY/GROUP=CHANTYPE;
              -JMP doesn't support variables with ATTRIB TRANSCODE=NO.
               The TRANSCODE= attribute can be changed with a DATA step
               DATA NEW; ATTRIB variable TRANSCODE=YES; SET OLD;
               Or with a PROC DATASETS
                 proc datasets lib=work memtype=data;
                   modify type73;
                    attrib _all_ TRANSCODE=YES;
                 run;
                 fails with errors:
                           attrib _ALL_ TRANSCODE=YES;
                                                 -
                                                 22
                                                 76
                 ERROR 22-322: Syntax error, expecting one of the
                 following:
                  a name, -, :, FORMAT, INFORMAT, LABEL, LENGTH, _ALL_,
                    _CHARACTER_, _CHAR_, _NUMERIC_.
                 ERROR 76-322: Syntax error, statement will be ignored.
   Thanks to MP Welch, Bank of America, USA.

Change 32.146  Cosmetic, line "@; PUTLOG _N_= COL= DCVSGLNG=...; INPUT"
VMACDCOL       left from testing Change 32.103 is now deleted.
Jun 23, 2014
   Thanks to Clayton Buck, UNIGROUP, USA.

Change 32.145  Cosmetic. MXGNOTEs that VMXGSUM is bypassing a step or a
VMXGSUM        sort that is not needed, are suppressed, unless you have
Jun 23, 2014   set %LET MXGEXIMSG=YES to print those suppressed notes.

Change 32.144  MXG 32.03-32.05 INVALID STID=60 CICS/TS 2.3 Statistics
VMAC110        error was not protected by Change 32.077, which had only
Jun 23, 2013   protected CICS/TS 3.2-5.1.  The IBM error being protected
               is that DSGLLEN=128, the correct length of the header, is
               not the 136 byte length of each TCB segment.  Previously,
               all 136 bytes were always INPUT without a length test.
               But CICS/TS 5.2 increased the length to 160, so 32.077
               reset DSGLLEN to 136, but with data only back to 3.2 for
               validation, the test was (65 LE SMFPSRVR LE 67).  Now
               (63 LE SMFPSRVR LE 67) is used to protect both CICS/TS
               2.3 and 3.1 by resetting DSGLLEN to 136.
   Thanks to Craig North, FHG, ENGLAND.

Change 32.143  The CPUZIPTM for SYNCSORT was a missing value for COPY or
VMACSYNC       SORTs that did not use Sort Works DDs.  MXG code was
Jun 22, 2013   revised, after discovering that the DS H'0' field in the
               DSECT after then SMFWKEXL DS H'0' field does NOT exist
               when NRSORTWK=0.
   Thanks to Richard Krueger, Sentry Insurance, USA.

Change 32.142  READDB2 failed if FIRSTOBS NE 1 or OBS NE "enough" for
READDB2        the internal DATA steps needed to build the code, if you
Jun 22, 2014   asked for individual IFCIDS. Now, the original values for
               FIRSTOBS/OBS are stored, the text for the code and sorts
               are generated, and then they are restored to control the
               SMF records read.  Note, however, that you will then need
               to reset FIRSTOBS=1 and OBS=MAX after READDB2 to process
               the output datasets.  For example, to read a single SMF
               record for a single IFCID:
                  OPTIONS FIRSTOBS=123456 OBS=123456;
                  %READDB2(IFCIDS=376);
                  RUN;
                  OPTIONS FIRSTOBS=1 OBS=MAX;
                  PROC PRINT . . .

Change 32.141  Support for IFCID=376, but the DB2 V11 DSECT shows that
VMAC102        the last field is QW0376PN, which ends in byte 165 of the
Jun 21, 2014   record which has LENGTH=662, so a PMR is to be opened
               with IBM DB2 support to determine if those extra bytes
               are real or trash.  In addition, the QW0376TS value, a
               timestamp, contains '19871FAF182106A5'x, which I do not
               recognize as a valid datetimestamp.
   Thanks to Paul Walters, Navy Federal Credit Union, USA.

Change 32.140 -RACF SMF 80 INPUT EXCEEDED error because STATE field for
VMAC80A        DISTRICT OF COLUMBIA DC exceeded the $VARYING16 LENVAR,
Jun 21, 2014   and SAS only INPUTs 16 bytes even when LENVAR is 24.
               Informat changed to $VARYING32.
              -Variable TOKMCARRIER now decoded into TYPE80TK dataset.
   Thanks to David W. Chambers, Norfolk Southern, USA.

Change 32.139 -MXG 32.05 only, ONLY if BUILD606/BUILD3606 logic (or user
VMAC113        program with ELSE _CDE113). MXG 32.05 had this commented
Jun 20, 2014   debug statement   *PUTLOG // _N_= ID= SUBTYPE= //; after
               the MACRO _CDE113 statement, which caused a 180 syntax
               error when preceded by the ELSE statement.
                 BUT: had I used  /* PUTLOG . . . */ syntax, there was
                      NO ERROR!
               The commented debug statement is now removed.
              -If the EXPDBCDE member was used to add SMF 113 to your
               BUILDPDB or if you used UTILBLDP, there was no error.
              -But this goes all the way back to Change 15.354, (1998)
               which was supposed to ensure that all SMF processing
               members had syntax of IF ID= . . .  immediately following
               their MACRO _CDExxxx statement, so they could be used in
               BUILD606/BUILD3606. I now find these other members also
               didn't comply with 15.345; they all had a semicolon ahead
               of their IF statement, which is now removed:
               VMAC110  VMAC111  VMACBVIR VMACCDC  VMACCMHM VMACCTCD
               VMACGUTS VMACID   VMACIPAC VMACMVTP VMACSHDE VMACZCOS
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

====== Changes thru 32.138 were in MXG 32.05 re-dated Jun 18, 2014======

Change 32.138  First MXG 32.05.  VMACRMFV had a syntax error due to last
VMACRMFV       minute untested update I rushed in at the last minute.
Jun 18, 2014   Update was an attempt to match Delay Percents in MXG to
               IBM RMF III reports, but research is still in progress.
               Four lines with WHEN ( ) AND syntax were incorrect but
               are now removed.
   Thanks to Robert B. Richards, OPM, USA.
   Thanks to Matthew Brooks, OPM, USA.

Change 32.137 -All JCLTESxx members now all test with TESSxxxx members,
JCLTES91       which invoke all of the PROC SORTs so that the existence
JCLTES92       of BY variables is validated in testing.  Previously, the
JCLTEST9       TESTxxxx members were used, which did not test SORTs.
JCLTESS9      -Members JCLTESS9, JCLTEST9, and JCLTES92 are identical;
TESTOTHR       the multiple names are kept because of prior references.
Jun 18, 2014  -TESTOTHR had a mislocated %END; statement that is fixed,
               but any of your code that %INCLUDES SOURCLIB(TESTxxxx)
               should be changed to use TESSxxxx instead per preceding,
               but the TESTxxxx members will remain in MXG forever.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

====== Changes thru 32.136 were in MXG 32.05 dated Jun 16, 2014=========

Change 32.136  VMACSMF:   CICS version variable SMFPSRVR is formatted
VMACSMF        with existing MGVERCIC so the version (e.g. TS5.1) is
UTILEXCL       printed instead of its internal value (e.g. 68).
Jun 16, 2014   Since SMFPSRVR is not formatted in the other members,
Jun 19, 2014   the VMACSMF format will apply to all datasets read from
               infile SMF with a CICS Version value in SMFPSRVR.
              -UTILEXCL:  Options NOCENTER improves report formatting.
              -IMACICEZ:  Comments revised: this member always inputs
               five fields so it is removed from REPORT THREE-A as only
               its comment block needs to be removed.
              -IMACICE1 and IMACICE2: Comments revised to direct you to
               use REPORT THREE-A to EDIT to find your number of fields.

Change 32.135  Labels for NDM datasets from a single subtype are now
VMACNDM        explanatory. Multi-subtype datasets are still labeled
Jun 14, 2014   with the list of subtypes, but comments were updated to
               list all of the subtypes that are documented.
   Thanks to MP Welch, Bank of America, USA.

Change 32.134  Datasets BVIR322/BVIR323/BVIR324 for some POOLs were NOT
VMACBVIR       output.  The test for ATLGVOLS=0 that terminated the scan
Jun 14, 2014   on the first instance was invalid as there are many pools
               AFTER that test.  Now, all 32 possible pools are scanned
               and only those with ATLGVOLS GT 0 are output, so all of
               the active POOLs are output.
   Thanks to Doug Medland, IBM Global Services, USA.

Change 32.133 -VMXGSUM is enhanced to support "concatenation" of "PDBs".
VMXGSUM        Existing VGETDDS logic is implemented in VMXGSUM. The new
Jun 14, 2014   syntax %VMXGSUM(INDATA=CICSTRAN,USEVGETDDS=CICTRN:); will
               input all DDNAMES/LIBNAMES from CICTRN1 up to CICTRN99.
               INDATA must be set to a SINGLE dataset without a LIBNAME
               reference, but it may include a (KEEP=VARA VARB ...)
               modifier.  The DATA step is passed as a view to the SORT.
              -To fully support concatenated PDBs on tape, OPEN=DEFER is
               forced when USEVGETDDS is specified.

Change 32.132  CALLEDBY= parameter added for internal use by MXG.
VGETDDS        NOTES telling you what was allocated are suppressed
Jun 14, 2014   unless MXGEXIMSG=YES.

Change 32.131 -%READDB2(IFCIDS=BMC) created the 11 BMC APPTUNE datasets
READDB2        but then failed because _S102BMC macro does not exist.
Jun 13, 2014   Using IFCIDS=ALL does circumvent this error, but now the
               individual _Sdddddd macros for the 11 BMC datasets are
               invoked when IFCIDS=BMC is specified.
              -Redundant code block for BMC removed in READDB2.
   Thanks to Tony Cury, BMC, USA.

Change 32.130  Support for doc APAR OA35811 (replaced, FIN) by OA54385,
VMACRMFV       for RMF III GEIG3 corrects the length of GEIRSTRF in z/OS
Jun  8, 2014   2.1 to 8 bytes, but actual data records show GEIRSTRF was
               also 8 bytes in 1.13.  But the code changes caused by the
               doc APAR is that GEIRPOOL, the Average Online Real
               Storage, is no longer used in z/OS 2.1 and GEIRSTRF is
               the replacement.  So this MXG change stores GEIRSTRF back
               into GEIRPOOL in z/OS 2.1 so your existing reports using
               GEIRPOOL will be correct without change.

               But there appears to be an undocumented change in 2.1, as
               I THINK (TO BE VALIDATED) that the order of subsequent
               GEILF4K and GEILP4K in 1.13 were reversed in 2.1.  When
               input as originally documented, these are the values:
                            GEILF4K    GEILP4K
                            (Fixed)   (Pageable)
                      1.13    60       316,680
                      2.1   108,180       0
               which seems to be wrong for 2.1.
   Thanks to Victoria Lepak, Aetna, USA.
   Thanks to Steven Yucha, Aetna, USA.
   Thanks to Miguel Mercado, Aetna, USA.
   Thanks to Micheline Bissell, Aetna, USA.

Change 32.129  Protection for zero length data that printed this message
VMAC80A         SMF 80 SEGMENT 301 HAS UNDECODED TOKDANAM=
Jun  6, 2014
   Thanks to David Kaplan, DTCC, USA.

Change 32.128  Variable QBGLNW='PAGE-IN*WRITE*AROUND' now INPUT and kept
VMACDB2        in dataset DB2GBPST.  Field was added in DB2 V11.
Jun  6, 2014
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.127  New %VMXGDEL0 utility can delete all datasets with zero
VMXGDEL0       observations, with or without a report of members and
Jun 11, 2014   their count of obs, or only a report can be generated.
               While zero-obs datasets take essentially no disk space,
               some SAS procedures open all datasets in a data library,
               creating unnecessarily long menu lists.  But, use this
               tool with care, since if you delete zero observation
               datasets from a "daily PDB" library, you could easily
               cause other jobs (that still reference old datasets that
               are no longer populated) to fail when you delete members.
               This was handy to use after %READDB2(IFCIDS=ALL) so only
               the populated T102Snnn datasets remained
   Thanks to MP Welch, Bank of America, USA.

Change 32.126  Support for new Subtype 1 of HIS SMF ID=113 creates new
VMAC113          DDDDDD   DATASET   DESCRIPTION
ASUM113          TY1131   TYPE1131  HIS HARDWARE MONITOR DETAIL
Jun  2, 2014   IBM will not enhance the original Subtype 2 (accumulated
               values), and the Subtype 1 contains interval delta values
               so the first observation(s) are not lost in TYPE1131. The
               ASUM113 program creates both ASUM113 (ST=2) and ASUM1131
               (ST=1), but ASUM1131 should be used if it is populated,
               as it will have more observations than ASUM113.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 32.125  New MGIBMxx formats created to support MOBILE WORK.
FORMATS        Preliminary MOBILWRK program to identify Mobile Work.
MOBILWRK       See the MOBILWRK member in MXG 32.05 for documentation.
MOBWRK00
MOBWRK01
MOBWRK02
MOBWRK03
MOBWRK04
MOBWRK05
MOBWRK73
MOBWRKS3
MOBWRK83
MOBWRKC3
MOBWRKD3
MOBWRKI3
MOBWRKM3
MOBWRKW3
TESTMOBQ
TESTMOBP
JUN 16, 2014
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 32.124  The DOCVER member, which documents all variables in all
UTILVREF       MXG datasets, is enhanced by the addition of the BYLIST
May 31, 2014   for all datasets that are sorted.  Most "important" MXG
               datasets are sorted when the TYPSxxxx member is used to
               SORT from WORK to PDB, but some datasets still have only
               a DATA step to COPY from WORK to PDB.  Contact support if
               you use a dataset that is not sorted and be prepared to
               send data, since actual data records are required to find
               the BY list that removes duplicated.
   Thanks to MP Welch, Bank of America, USA.

Change 32.123  Support for RSD USER SMF ACCOUNTING record Version 2.1
EXRSDSDS       creates four new datasets:
EXRSDSES         dddddd   dataset   description
EXRSDSEP         RSDSDS   RSDSDSET  RSD SMF ACCOUNTING DATASET
EXRSDSNL         RSDSES   RSDSAESR  RSD SMF SLR ACCOUNTING
FORMATS          RSDSEP   RSDSAEPR  RSD SMF EPR ACCOUNTING
IMACRSDS         RSDSNL   RSDSANLR  RSD SMF NLR ACCOUNTING
VMACRSDA       Support for RSD USER SMF AUDIT record Version 2.1 is a
VMACRSDS       complete rewrite with replaced variable names in the
VMXGINIT       RSDAUDIT dataset.
Jun  8, 2014   Aug 11:  Action Codes 36 and 84 are now recognized and
Aug 11, 2014   processed.  FORMATS were updated for action codes.
Dec 10, 2014   Dec 10:  Test for UNKNOWN AUDIT ACTION is removed, so now
Dec 22, 2014   all action codes are output.  New AUDACT records all have
               the same physical structure, the full record has been
               read, and AUDOBJI is populated so you can split/store it
               if needed, as done now for some AUDOBJT values.
               Dec 22: Lines over 72 shortened.
   Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
   Thanks to Raul Juan Rincon, Bustia, SPAIN.

Change 32.122  VMXGPARS did not correctly parse quoted strings if there
VMXGPARS       was a blank embedded in the quoted string, which caused
May 29, 2014   UTILBLDP to generate invalid syntax errors.

Change 32.121  UTILBLDP new option SORTOUT=NEVER prevents output SORT of
UTILBLDP       all datasets, intended for MXG internal use.  SORTOUT=NO
May 29, 2014   suppressed SORTs of most data, but still sorted these:
                 7072 DB2 HSM NTCP ROSC TMDB TPX 103 28
               because they contain accumulated values that require the
               sort to deaccumulate.  NEVER prevents even those sorts,
               but leaves invalid values for those datasets, so use of
               SORTOUT=NEVER prints a warning message when used.

Change 32.120  Support for optional CICS user SDA fields.
IMACICSD
UTILEXCL
VMAC110
May 27, 2014
   Thanks to Trevor Holland, ANZ, AUSTRALIA.

Change 32.119  Support for IMS56FA records from IMS 13.1 (INCOMPATIBLE,
VMACIMS        due to inserted fields).
May 27, 2014
   Thanks to Rudolf Sauer, T-Systems, GERMANY.*

Change 32.118  ANALID= parameter added to READDB2 to create SMF Audit
READDB2        report when set to YES.  Only the SMF records that are
May 25, 2014   required for the READDB2 request are reported.

Change 32.117  Incorrect ID Test for ID=140 corrected to ID=104.
VMAC104
May 23, 2014
   Thanks to Robert A. Obee, IMS Health, USA.

Change 32.116  XAM CRITICAL ERROR with SEGLEN=84 was a false error; that
VMACXAM        is a valid length for the SYTSYP segment in zVPS 5.4 so
May 21, 2014   the MXG "protection" for invalid FTP transfer added in
               Change 32.057, which tested only for the known mangled
               100 value now accepts 84 as valid, suppressing the error.
   Thanks to Robert K. Hare, Comerica Bank, USA.

Change 32.115  VMXGSRCH failed if there were no datasets in the LIBNAME
VMXGSRCH       pointed to by the LIBNAME= parameter.
May 17, 2014

Change 32.114  READDB2 with PDBOUT="non-PDB" still wrote to PDB.DB2ACCT
READDB2        and if there was no //PDB in JCL or no LIBNAME PDB, the
May 17, 2014   job abended.  Additionally, if STATISTICS was specified
               (instead of the RECOMMENDED STATS argument), errors in
               PROC SORTs for STAT0/1/2/4/225 would also fail.  Missed
               because a LIBNAME PDB always existed in the QA tests.
               Unrelated, with recommended STATS specified, datasets
               DB2STAT0 1 2 4 DB2ST225 and T102S225 were left in WORK,
               but they are now deleted.
   Thanks to Frank Bereznay, IBM Global Services, USA.

Change 32.113  Support for APAR OA44319/OA44322 for SMF ID=42 ST 5 and 6
VMAC42         statistics to TYPE42SR, TYPE42VT, and TYPE42DS datasets.
May 17, 2014    TYPE42SR  TYPE42VT  TYPE42DS    Description
                S42SCA1U  S42VDA1U  S42DSA1U  AVG*DEVICE*ACTIV ONLY*TIME
                S42SCB1U  S42VDB1U  S42DSB1U  AVG*DEVICE*BUSY*TIME
                S42SCC1U  S42VDC1U  S42DSC1U  AVG*I/O*CONNECT*TIME
                S42SCD1U  S42VDD1U  S42DSD1U  AVG*I/O*DISCONNECT*TIME
                S42SCHRD  S42VDHRD  S42DSHRD  ZHPF*READ*COUNT
                S42SCHWR  S42VDHWR  S42DSHWR  ZHPF*WRITE*COUNT
                S42SCM1U  S42VDM1U  S42DSM1U  AVG*COMMAND*RESPONSE*TIME
                S42SCP1U  S42VDP1U  S42DSP1U  AVG*I/O*PENDING*TIME
                S42SCQ1U  S42VDQ1U  S42DSQ1U  AVG*CONTROLUNIT*QUEUE TIME
                S42SCR1U  S42VDR1U  S42DSR1U  RESPONSE*TIME
                S42SCT1U  S42VDT1U  S42DST1U  AVG*TOTAL*READ*DISCONNECT

Change 32.112  Documentation.  TYPE113 variable SM1132SP is labelled as
VMAC113        the processor speed in cycles per microsec, so it has a
May 15, 2014   value of 5504, while MXG-created variable EFFGHX is the
               processor speed in GHZ, a value of 5.504.  While SM1132SP
               could be changed, it is pervasively used in many of the
               calculated ratios, and changing its value now would not
               only require those calculations to be changed, they would
               then not match the equations in John Burg's many papers.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 32.111  Support/corrections/enhancements for IDMS Version 18.
VMACIDMJ       -PMRHTYPE=4 PMHSEQN=2 record +4 needed for doubleword
VMACIDMS        alignment; variable INSTTTI created and kept in the
TYPEIDMJ        IDMSINS dataset.
May 12, 2014   -Variable DBKOWNER no longer kept in IDMSTAS dataset;
                it exists only in IDMSDBK dataset.
               -Variable TASTITI is incorrectly spelled, but so as to
                prevent current programs from failing, the correctly
                spelled variable TASTTTI is equated and kept in the
                IDMSTAS dataset.
               -Members TYPEIDMJ and VMACIDMJ, which reads the INFILE
                //DCLOG rather than SMF format data, were revised so
                that they now use the VMACIDMS member, eliminating need
                for dual maintenance.

   Thanks to Mark S. Miller, APL, USA.*

Change 32.110  Variables FSCIPHER FCCFIPS140 FCCIPHER4 are added to both
FORMATS        TYP11903 and TYPE11970 datasets. Variable FCCFIPS140 and
VMAC119        existing SMF119ML_CN_TTLSFP TTTTLSFP variables are
May 12, 2014   decoded with $MG119FP format.
   Thanks to Jerome Vitner, Experian, ENGLAND.

Change 32.109  Variable STATCTM1, when non-zero, was incorrect; the TU4.
IMACICDB       INFORMAT was replaced by &PIB.8.6/4096 to properly input
May 11, 2014   the duration value.
   Thanks to Raymond Dunn, CIGNA, USA.

Change 32.108 -RMF III Fixes, Enhancements, Documentation upgrades.
ADOCRMFV      -Fix for possible S0C4 Abend when processing an ASI table
ASMRMFV        in the first MINTIME interval after a Service Policy
Jun 12, 2014   activation.
              -Possible incorrect data for Service Class, Report Class,
               Workload, or Resource Group extensions in the ASI output
               record for the MINTIME interval immediately after a
               Service Policy activation.
              -Investigation found that RMF III copies all ASI entries
               from the prior MINTIME interval to the new MINTIME
               interval after a Service Policy activation.
              -If the number of Service Classes, Report Classes,
               Workloads, or Resource Groups in the Service Policy has
               changed after Service Policy activation, the indexes for
               some of those copied ASI entries will not match the
               corresponding sections in the active Service Policy.
               This causes the Abend or incorrect extension data
               conditions.
              -ASMRMFV will now use the prior Service Policy to resolve
               indexes in the copied ASI entries for this particular
               MINTIME interval.  Once all of the ASI copied entries are
               processed, normal use of the active Service Policy will
               resume for the remaining entries and for all other
               MINTIME intervals.
              -New message RMFV078I will indicate when the new ASI index
               FIND logic is in use after a Service Policy activation
               and for how many copied entries it was used.
              -Four new FIND error handling parameters are added:
               SCERR=, RCERR=, WLERR=, and RGERR=.  These are
               respectively for Service Class, Report Class, Workload,
               and Resource Group indexes.
              -An ASMRMFV FIND error occurs when the index value for one
               of the above 4 data categories exceeds the number of
               actual entries for that category in the active Service
               Policy.
              -Possible setting values for SCERR=, RCERR=, WLERR, and
               RGERR= are IGNORE, WARN, and ABEND.  Each may be
               shortened to as few letters as desired down to a single
               character I, W, or A respectively.

               When a setting is IGNORE:

                             SCERR=     RCERR=     WLERR=     RGERR=
                             ------     ------     ------     ------
               Message(s)    None       None       None       None
               Return Code   Unchanged  Unchanged  Unchanged  Unchanged

               When a setting is WARN (default):

                             SCERR=     RCERR=     WLERR=     RGERR=
                             ------     ------     ------     ------
               Message(s)    RMFV070W   RMFV071W   RMFV072W   RMFV073W
               Return Code   0004       0004       0004       0004

               When a setting is ABEND (for diagnostic use):

                             SCERR=     RCERR=     WLERR=     RGERR=
                             ------     ------     ------     ------
               Message(s)    RMFV070E   RMFV071E   RMFV072E   RMFV073E
               Abend Code    U0998      U0998      U0998      U0998
               Reason Code   70         71         72         73

              -An extra RMFV037I message displays the values assigned to
               these FIND error settings at ASMRMFV startup as I, W, or
               A.
              -When an SCERR=, RCERR=, WLERR=, or RGERR= setting is WARN
               and a FIND error occurs ASMRMFV updates the usual 32 byte
               Description field for the Service Policy category in ASI,
               ENC, RCD output records as follows:

               Category          Description Field Contents
               --------------    ---------------------------
               Service Class     SC: I=nnnnnnn E=eeeee L=lll
               Report  Class     RC: I=nnnnnnn E=eeeee L=lll
               Workload          WL: I=nnnnnnn E=eeeee L=lll
               Resource Group    RG: I=nnnnnnn E=eeeee L=lll

               where:
               nnnnnnn is the invalid index value up to 7 decimal digits
               eeeee   is the actual number of entries in the Service
                       Policy for this category up to 5 decimal digits
               lll     is the length of one entry in the Service Policy
                       for this category up to 3 decimal digits

               These Descriptions eventually become part of the MXG PDB.
               When a Service Class, Report Class, Workload, or Resource
               Group name variable in an MXG PDB is blank the
               Description field in this case helps to explain why.

              -When a setting is WARN AND an index value is ZERO the
               respective Description field is also updated.

               In this case NO messages are issued.  An index may
               validly be zero.

               As examples, in a given Service Policy not all Service
               Classes belong to a Resource Group nor do they
               necessarily have a Report Class.  The index for the
               Resource Group and/or Report Class in these cases would
               be validly zero.
              -When a SCERR=, RCERR=, WLERR=, or RGERR= setting is
               IGNORE and the respective index value is either invalid
               or zero, the corresponding Description field is instead
               left as blanks.

               This was the behavior of prior ASMRMFV versions for zero
               index values.  Users who prefer to have the Description
               field remain blank in the PDB in these cases should use
               the IGNORE setting for all 4 error parameters (or set
               MAXFINDS=0 as noted below).
              -NOTE: The respective 8 byte Service Class, Report Class,
               Workload, or Resource Group name variable itself in the
               PDB remains as blanks for invalid or zero indexes
               regardless of IGNORE or WARN settings.
              -A new parameter MAXFINDS= (aliases MAXFIND=, MAXFI=,
               MAXF=) specifies the number of FIND warning messages
               RMFV070W, RMFV071W, RMFV072W, and RMFV073W to be shown
               for each RMF III data set processed when the WARN setting
               is in effect.  The default is MAXFINDS=10.
              -With the MAXFINDS= default up to 10 each of RMFV070W,
               RMFV071W, RMFV072W, and RMFV073W warning messages could
               be shown for each RMF III data set processed.  The
               counter is reset for each new RMF III data set.
              -An extra RMFV037I message displays the numeric value
               assigned to MAXFINDS= at ASMRMFV startup.
              -MAXFINDS=0 EXCLUDES all FIND warning messages and has the
               same effect as coding SCERR=IGNORE, RCERR=IGNORE,
               WLERR=IGNORE, and RGERR=IGNORE.
              -MAXFINDS=MAX allows virtually unlimited FIND warning
               messages to be shown per RMF III data set.
              -Documentation Section 2 "Terminology" has been expanded.
              -Documentation Section 6 "Report Control Parameters" is
               updated for the new MAXFINDS= parameter.
              -Documentation Section 8 "Error Handling Parameters" is
               updated for the new SCERR=, RCERR=, WLERR=, and RGERR=
               parameters.
              -Documentation Section 9 "JCL and SYSIN Parameter Usage"
               has been updated.
              -Documentation Section 12 is now called "Messages" and now
               includes ALL possible messages that can be produced by
               ASMRMFV.  For each message there is a discussion of
               purpose, whether the message is Multi-Line and/or
               Multi-Severity, possible action(s) to be taken, and an
               explanation of all variable fields in the message.
              -Documentation Section 17 "Abend Reason Codes" is updated.
              -Documentation Section 21 is now called "Extended
               ASI/ENC/RCD/UWD Record Support" and has been updated.
              -Documentation Section 24 "Sysplex Master Gatherer" is
               updated for the new MASTER RMF III option in z/OS 2.1.
              -Message RMFV032E was missing trailing +++ characters.
              -Message RMFV034I is now message RMFV017I and message
               RMFV034I is no longer in use.
              -Error message RMFV043E is now a severe error message
               RMFV043S.
              -Message RMFV052* (* = I,W,A) had an invalid value for
               CISIZE.
              -Message RMFV106W was missing trailing * character.
              -Two new diagnostic only messages for the ASI table
               RMFV076I and RMFV077I have been added but do not
               normally appear without a special procedure.
              -Data ORIGIN message RMFV009I now includes the RMF Version
               Number, z/OS Version and Release Number, and the MINTIME
               sample time stamp to better identify the source of data
               being processed for each RMF III data set.
              -In the event multiple RMF versions have created data in
               an RMF III data set message RMFV009I will be repeated as
               needed for each new version detected.
              -REQUIREMENT: In order to implement these features the
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
    Thanks to Warren Cravey, Fidelity Institutional, USA.

Change 32.107  Support for optional CICS segment ESIUSER.
IMACICVG
UTILEXCL
May  8, 2014
   Thanks to Alfred Holz, Express-Scripts, USA.

Change 32.106  Optional CMRDETL CICS segment is now 384 bytes long with
IMACICMX       unpopulated/useless 128 bytes added to each CICS 110-1,
UTILEXCL       so UTILEXCL is updated to detect the new length and tell
May  4, 2014   you to tailor the new IMACICMX member.  The previous 256
               length is still detected and IMACICMR identified for you
               to tailor.  IF BOTH IMACICMR and IMACICMX are identified
               in your data, please send the UTILEXCL output using the
               first example to support@mxg.com and we will return a
               tailored member that will support both lengths.

Change 32.106A Protection for divide by zero in VXPRCPRP when HFCOUNT is
VMACVMXA       zero, VMDUSER is removed from VXPRCMFC BY list as it is
May  4, 2014   not always populated.

Change 32.105  Variable NDMNODET is now labeled DIRECTION*OF*DATA and is
VMACNDM        formatted with $MGNDMNT.
May  1, 2014

Change 32.104  Change 32.089 subtracted CPUASRTM from CPUTCBTM and added
VMAC30         CPUASRTM to CPUSRBTM. Now, the CPUUNITS and SRBUNITS are
May  8, 2014   also corrected by moving ASRUNITS from CPU to SRB, since
               CPUASRTM is SRB, and not TCB, time.
   Thanks to Julian Smailes, Experian, ENGLAND.

Change 32.103  DCOLMIGS dataset variable UMLRECL was always zero because
VMACDCOL       the DSECT in Access Method Services has the wrong offset
May  1, 2014   for the 10 reserved bytes, which misled me to incorrectly
               input UMLRECL.
   Thanks to Steve Gormley, UNUM, ENGLAND.

Change 32.102  Support for OS/390 RMF data.  MXG changes after MXG 30.30
VMAC7072       caused zero observations in PDB.TYPE70 for records from
Apr 28, 2014   OS/390. Now, IF VERSNRMF LE 607 THEN OS390='Y' is set and
               used to force output when TYPE70EN has no observations.
   Thanks to Jeff Fracas, WIPRO, USA.

====== Changes thru 32.101 were in MXG 32.04 dated Apr 27, 2014=========

Change 32.101 -Duplicate DB2 SMF ID=102 Trace records are removed in the
ADOC102        revised _S102nnn dataset sort macros that now correctly
VMAC102         PROC SORT NODUP DATA=_Wdddddd OUT=_Ldddddd, WORK to PDB.
Apr 26, 2014   (Previously, a DATA _Ldddddd; SET _Wdddddd; was used in
               the "sort" macro to copy from WORK to PDB data library).
              -The BY list _V102SRT _B102nnn, where V102SRT is this list
               of common variables used for all T102Snnn sorts
                SYSTEM   QWHSSSID QWHCPLAN QWHCAID  QWHSLOCN QWHCCV
                QWHCCN   QWHSSTCK QWHSWSEQ
               and _B102nnn is the IFCID-specific variables that are
               also needed for NODUP to work.
              -But: NODUP can ONLY be verified with actual data records:
                These IFCIDs had 50% removal with _ALL_ BY List:
                  004 005 006 007 022 027 053 058 059 060 061 062
                  063 064 064 066 072 703 074 075 080 081 082 086
                  090 091 095 096 107 108 109 112 142 173 177 191
                  199 208 225 247 250 254 261 262 263 267 268 340
                  342 343 350 359 361 362 366 370 371 377
                This 1 IFCID needed it's _B102199 BY List Populated:
                  199
                These 24 IFCIDs did not remove 50% with _ALL_:
                  023 024 025 055 083 087 106 140 141 143 144 145
                  169 172 192 196 219 220 258 313 319 337 402 SSS
                All other IFCIDs had zero observations so it is not
                known if the default _V102SRT BY list is sufficient, but
                you can easily verify, by reading the same SMF input
                twice with %READB2(IFCID=nnn,PDBOUT=PDB) and observing
                if the PROC SORT duplicate observation count is equal to
                to the output observations, i.e., 50% of the input.
              -Obscure: Previously, variable T102RECN was accidentally
               output with the physical record number in the SMF input
               file, when it should have been a missing value, as it was
               intended for internal debugging or support diagnostics.
               But that non-missing value prevents NODUP removal of any
               duplicate records, since duplicates would have different
               values in T102RECN.  It can't be dropped without possibly
               causing someone's "perfectly good programs" to fail, so
               it is now set to a missing value, as intended.
                 If you needed to know which SMF record created an obs,
                 you can populate T102RECN by inserting this statement
                   %LET MXGDEBUG=T102RECN;
                 in your //SYSIN input.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 32.100  VGETOBS First 32.04: A RUN; statement is REQUIRED, and,
VGETOBS        only under SAS V9.2, the newly-used-in-32.04 FEXIST()
Apr 27, 2014   function didn't recognize a valid //PDB DISP=NEW DDNAME
               that had already been written to; the BUILDPDB failed
               with CRITICAL ERROR PDB DDNAME NOT FOUND when VMXGCICI
               made the first VGETOBS call to create PDB.CICINTRV.
              -The RUN; statement is required to be inserted inside the
               %MACRO VGETOBS definition to force resolution of input
               %macro variables before their reference, discovered when
               %ANALZPCR failed to create any output.
              -The FEXIST(DDNAME) function replaced a PROC SQL in 32.04
               (to determine if the DDNAME existed when DDNAME.DATASET
               didn't exist) because it looked simpler and faster with
               a large VTABLE, but the measured difference was small and
               large VTABLEs are very uncommon, so the initial test for
               DDNAME existence is changed to %SYSFUNC(LIBREF(&DDNAME)),
               with code reordered to expect existence, the normal case.
               The fall thru to find if the DDNAME exists but has not
               been opened/assigned, reverts to use the PROC SQL on
               DICTIONARY.EXTFILES to avoid 9.2 FEXIST problem.
              -Why is VGETOBS so pervasively used in MXG?  First, to
               verify that the DDNAME.DATASET of interest exists. Often
               in MXG internal code, like VMXGWORL, so MXG can find and
               copy/delete the WORK/PDB copy transparently, and often in
               ANALxxxx report members that require your names as input,
               VGETOBS is used to verify your request does exist. By
               finding the non-existence before the reference, the user
               can be alerted with explanatory MXGNOTES. Otherwise, not
               only does the job eventually fail, but the failure error
               messages can be quite confusing (BY VARIABLE NOT FOUND)
               as they are not the actual cause of the failure. Second,
               MXG can significantly reduce tape mounts and EXCPs using
               VGETOBS to detect that tape or sequential format library
               is in use; since SEQ doesn't have a directory of datasets
               on tape, MXG can bypass the read of each tape volser to
               find that this DATASET exists.  And third, many of the
               ANALxxxx/ASUMxxxx members use VGETOBS to bypass execution
               of DATA and PROC steps where there is no data to report
               or summarize.
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Robert B. Richards, OPM, USA.

====== Changes thru 32.099 were in MXG 32.04 dated Apr 23, 2014=========

Change 32.099  NEARTIME updates a daily PDB library with every SMF dump,
NEARTIME       to provide nearly current time reports throughout a day.
Apr 21, 2014   You can build a complete PDB each time, or only process a
               few records that you may want to have available during
               each day. It can create all of the PDB datasets in the
               LIBNAME of NEARTIME, and after all datasets are created
               and sorted, it can either APPEND or COPY those datasets
               from the NEARTIME data library to the PDB data library.
               It keeps track of its last run in SPIN.LASTRUN and for
               the first run on a new day, it PROC COPYs to initialize,
               or PROC APPENDs all datasets found in NEARTIME to PDB.
               If you choose to run a full BUILDPDB, the standard
               invocations of RMFINTRV CICINTRV ASUM70PR and ASUM113
               are suppressed until after the copy process is complete,
               so that the summarizations include all the data to that
               point in time and they are redriven with every execution.
               The JOBS/STEPS/PRINT datasets are built by the normal
               BUILDPDB process, where SPINCNT is incremented for each
               execution, so you may need to increase the SPINCNT value
               in your IMACSPIN tailoring to account for the increased
               number of executions per day.  You could even add an MXG
               step to your SMFDUMP routine to cause the daily PDB to
               be as current as the last SMF dump.  This has been tested
               by two sites, so please use with caution and report any
               problems, and any enhancement suggestions.

Change 32.098  Variable PCTMVSBY is added to PDB.ASUM70LP dataset.
VMXG70PR
Apr 21, 2014

Change 32.097  The pairing-macros sorts for the TRANSIT report wrote to
ANALDBTR       T102Snnn dataset names that overlaid the originals and
Apr 21, 2014   caused SORTED BY errors.  Now, P102Snnn names are used.

Change 32.096  Change 32.091 corrected VGETOBS performance, but that new
ANALID         design removed a PROC SQL that had (accidentally) caused
VGETOBS        instantiation of a macro variables, exposing an error in
Apr 20, 2014   ANALID where a RUN statement should have been used.  The
               missing RUN; statement is added in ANALID, but a second
               RUN; statement is added at the top of VGETOBS in case any
               other members needed that accidental protection.

Change 32.095  UNINITIALIZED variable DB2PARTY message eliminated.
TRNDDB2A
Apr 20, 2014

Change 32.094  Support for SMF ID=92 Subtypes 16 and 17 create:
EXTY9216          dddddd   dataset   description
EXTY9217          TY9216  TYPE9216   SOCKET/CHARSPEC FILE CLOSE
IMAC92            TY9217  TYPE9217   FILE ACCESSES WHILE OPEN
VMAC92         But, the subtype 16 is NOT documented in the z/OS 2.1 SMF
VMXGINIT       SMF Manual nor in SYS1.MACLIB ember BPXYSMFR, so none of
Apr 20, 2014   the subtype 16 specific variables are created, pending
               response from IBM with the documentation.
              -Reading a subtype 17 record with earlier VMAC92 will
               print a harmless INVALID READTIME message.

Change 32.093 -RMF III Documentation Upgrade
ADOCRMFV      -There are now 25 sections in the ASMRMFV source
ASMRMFV        prologue documentation and in the corresponding
Apr 20, 2014   ADOCRMFV member as follows:

               Section     Contents
               -------     --------

                  0        Contents
                  1        Installation
                  2        Terminology
                  3        Execution JCL
                  4        RMF III Table Input Selection Parameters
                  5        Input Data Selection Parameters
                  6        Report Control Parameters
                  7        Output Data Control Parameters
                  8        Error Handling Parameters
                  9        JCL and SYSIN Parameter Usage
                 10        Parameter Syntax Rules
                 11        Parameter Coding Examples
                 12        Common Report Messages
                 13        Filtered Records
                 14        Skipped Records
                 15        Program Limitations
                 16        Return Codes
                 17        Abend Reason Codes
                 18        REGION Size and Memory Usage
                 19        Output LRECL
                 20        FREE=CLOSE
                 21        Extended ASI/ENC/UWD Record Support
                 22        RMF III Data Set Index Usage and Sizing
                 23        RMF III MONITOR III Options and Effect on
                           Data
                 24        RMF III MONITOR III Sysplex Master
                           Gatherer & CFDETAIL
                 25        Summary
              -Section 1. New. "Installation" has been added.
              -Section 2 "Terminology" has been expanded.
              -Section 12 "Common Report Messages" is greatly expanded
               to include most information-only messages in the ASMRMFV
               log.
              -Section 17. New. "Abend Reason Codes" added.  Each Abend
               Reason Code that can be issued is now unique with no
               repeat usage.
              -REQUIREMENT: In order to implement the unique Abend
               Reason Code feature the ASMRMFV utility program from this
               MXG change must be installed.  See MXG SOURCLIB member
               JCLASM3 for sample JCL for the assembly and link-edit
               install steps.

Change 32.092  Initial support for TMON/MVS Version 4.4 (INCOMPATIBLE).
VMACTMVS       This change updated the TMVSSYS dataset.  Contact support
Apr 17, 2014   at MXG to request the next dataset(s) you need updated.

Change 32.091  MXG 32.03: VGETOBS on z/OS could elongate elapsed time
VGETOBS        and increase EXCP counts; both effects are now corrected:
Apr 17, 2014  -If there are tape DDs in the step, a loop inside the
Jul 11, 2014   macro did not use the correct index in VGETTAPES string
               (contains all detected TAPE data library DDNAMES).  Only
               the first was found so other tape DDs could be read to
               look for the needed dataset, causing an increase in EXCPs
               and elapsed times. VGETOBS now uses the %SYSFUNC for the
               EXIST function that checks for the existence of a SAS
               dataset, and for the FEIXST function that validates the
               EXTFILE name, and uses OPEN/CLOSE to get the number of
               OBS in the dataset, instead of using the (expensive)
               dictionary tables, unless DATASET=_ALL_ was specified to
               build the MXGTABLES dataset.
              -On zOS, VGETOBS can optionally build a dataset to keep
               track of all tables it finds. Then, when done, it deletes
               that table, but that destroyed the SYSLAST/_LAST_ value,
               so a subsequent PROC step without a DATA= argument failed
               with a dataset not found error.  Now, VGETOBS preserves
               SYSLAST in VGETLAST and resets SYSLAST to VGETLAST.
              -Jul 11: THIS ERROR CAN ALSO SIGNIFICANTLY INCREASE THE
               CPU TIME of any job with LOTS of VGETOBS executions.
               In one case, 29.06 took 20 seconds, while 32.01 took 192.
   Thanks to Betty Wong, Bank of America, USA.

Change 32.090  AUTOEZOS/CONFIGEZ provide new "EAZY" methods to execute
AUTOEZOS       MXG on z/OS with SAS 9.2 and above, using your site's SAS
CONFIGEZ       JCL procedure and your site's default SAS options.
JCLEZCFG       Jul 19: WPS 3.1.1 is required for AUTOEZOS.
JCLEZSAS      -The JCLEZSAS example %INCLUDEs the new AUTOEZOS member,
Apr 17, 2014   which uses the SAS APPEND= option to set the //LIBRARY
Jul 19, 2014   DDNAME for the MXG Formats, uses the SAS INSERT= option
               to add SOURCLIB to SASAUTOS, and then invokes %VMXGINIT
               to set the other options required for MXG execution.
               This is the simplest way to set up the MXG environment,
               but it does require that your site's SAS options do not
               conflict with those needed by MXG's environment.
               (It is unlikely you would need to tailor AUTOEZOS.)
              -The JCLEZCFG example would be used if your default SAS
               options conflict with those required by MXG, where simple
               JCLEZSAS cannot be used.  JCLEZCFG adds a CONFIG= option
               // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIGEZ)' as CONFIGEZ
               sets ALL MXG-required options; the JCLEZCFG example also
               then %INCLUDES AUTOEZOS, as above, to set the LIBRARY and
               SOURCLIB DDNAMEs and to invoke %VMXGINIT.  Since all MXG
               required options are in CONFIGEZ member, it is unlikely
               that you would need to tailor it, although those SAS
               options that must be set at SAS Initialization can only
               be set in that CONFIGEZ member.
   Thanks to MP Welch, Bank of America, USA.

Change 32.089  IBM TYPE30 field SMF30CPT (CPUTCBTM) has always included
VMAC30         CPUASRTM (SMF30ASR), but ASR is time under an SRB, so ASR
Apr 17, 2014   is now subtracted from CPUTCBTM and added to CPUSRBTM so
Aug  7, 2014   those variables match reality; this has no impact on the
               total CPUTM variable (which IMO should be used, always).
               MXG also had subtracted CPUASRTM from CPUTCBTM to create
               TASKGCPTM, but that subtraction is redundant and removed.
                - I am asking IBM SMF if the new ASR Instruction Counts
                  are also included in the CPT Instruction Counts.
                Apr 23: IBM RMF support replied that the WLMGL Report in
                the RMF Report Analysis Book shows under SERVICE, that
                CPU service includes the task and preemptible-class SRB
                processor service, and the SRB units contain only the
                non-preemtible SRB service units.  Unfortunately, in the
                RMF 72 records, there is no "ASR" field with either the
                service or CPU time of the preemptible-class SRB metric.
                Aug  7: This reduction in CPUTCBTM increased the value
                of variable AVGWKSET in TYPE30 datasets, calculated as
                  AVGWKSET=4*PAGESECS/CPUTCBTM;
                starting with MXG 32.04.
   Thanks to Julian Smailes, Experian, ENGLAND.
   Thanks to Brent Turner, Citigroup, USA.

Change 32.088  Support for NMON BBBPMOUNT and BBBPNETSTAT records create
EXNMONMT       new datasets:
EXNMONNS           DDDDDD   DATASET           DESCRIPTION
IMACNMON           NMONMT  NMONBBBPMOUNT     NMON BBBP MOUNT
VMACNMON           NMONNS  NMONBBBPNETSTAT   NMON BBBP NETSTA
VMXGINIT       The mount record contains only the month and day without
Apr 17, 2014   a year; if the current month is larger than the mount
               month, the mount date uses last year's year value.
              -An INVALID ARGUMENT to FUNCTION INPUT when BBBPEND051 had
               a one-digit hour value was corrected.
              -Jul 17: Cosmetic.  _WNMONFR, _WNMONFW and _WNMONFO in the
               MACRO _NNMON were removed; they never existed.
   Thanks to Len Marchant, Coke-Cola, USA.

Change 32.087  Support for SMF 120 Subtype 100 ODM (Operational Decision
VMAC120        Manager record creates new dataset:
VMXGINIT         dddddd   dataset   Description
IMAC120          T1201C  TY120100   ODM OPERATIONAL DECISION MANAGER
EXT1201C       Jun 3 update, in MXG 32.05:
Apr 18, 2014  -Only Subtype 100 with non-zero EXN are output; st-100's
Jun  3, 2014   are written every interval (30 minute default), one for
               each CICS APPLID in test data, but most have no segment;
               some records do have multiple EXN segments so each one is
               now output in dataset TY120100.
              -IBM offset EXO is strange, required +5 to locate the data
               segment. (-3 is normal, rarely +1, but never +5 before!),
               but it is now used to correctly align each input.
              -IBM length EXL is also "wrong", as it is the TOTAL length
               rather than the expected length of one segment, so it is
               now divided by EXN to get the per-segment length for each
               segment's input.
              -GMT Offset is now kept in existing SM1209CD variable.
              -SM120STM/SM120ETM are now correctly labeled.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Scott Barry, SBBWorks Inc., USA.

Change 32.086  Execution with SAS 9.3 TS1M0 now raises an MXGWARN note:
VMXGINIT        MXGWARN: SAS 9.3 TS1M0 DETECTED.  SAS HOT FIX (SN43828)
Apr 14, 2014    MXGWARN: REQUIRED TO PREVENT LET-STATEMENT ERRORS.
                MXGWARN: BETTER STILL:: 9.3 TS1M1 CONTAINS THE FIX.
               (This need was documented in CHANGE 29.159 in 2011.)

Change 32.085  These QWP1/4/5/9 variables were overlooked, but are now
VMAC102        INPUT and kept in T102S106 dataset:
Apr 15, 2014     QWP1DATH QWP1DPSS     QWP1DSGN   QWP1DSSZ  QWP1DXAC
                 QWP1LBIL QWP1LOGM     QWP1LOGR   QWP1ZPNM
                 QWP4AECR QWP4APCO_VAR QWP4ATRC   QWP4CDDC  QWP4CDMC
                 QWP4CDSC QWP4CDTSL    QWP4CXDC   QWP4CXMC  QWP4CXSC
                 QWP4DEGD QWP4DLRU     QWP4FCPY   QWP4HASH  QWP4IAST
                 QWP4IMWF QWP4IXCU     QWP4KLRU   QWP4MIMTS QWP4MIS7
                 QWP4MIS8 QWP4MIS9     QWP4MISA   QWP4MISB  QWP4MS4F
                 QWP4MUSE QWP4N0193A   QWP4N0193B QWP4PELM  QWP4PFLG
                 QWP4PFUP QWP4PLMR     QWP4PLSF   QWP4PMSC  QWP4QRWD
                 QWP4RACK QWP4RDVPR    QWP4RMDB   QWP4RSLV  QWP4S1IL
                 QWP4SFBS QWP4SLRU     QWP4WFSAT  QWP4WFSST QWP4SEPSD
                 QWP4SECA1_E QWP4SECA1_TYPE QWP4SECADM1
                 QWP4SECA2_E QWP4SECA2_TYPE QWP4SECADM2
                 QWP5BPM   QWP5APM
                 QWP9TCPVX QWP9MCONQN  QWP9MCONQW QWP9DDFC  QWP9TCPA
   Thanks to Wolfgang von Schumann, Finanz Informatik Tech, GERMANY.
   Thanks to Norbert Philips, Finanz Informatik Technologie, GERMANY

Change 32.084  Typo.  If you modified macro _GRAPALNM, an MXGNOTE was
ASUMTALO       printed that it had been added to the BY LIES instead of
Apr  9, 2014   BY LIST.
   Thanks to Jorge Fong, NYC Information Technology, USA.

Change 32.083  ANALID did not follow MXG conventions with an &Pxxxxxx or
ANALID         a _L/_Wdddddd tokens.  Revised to use the &PDBMXG macro
Apr  5, 2014   variable so that if the output destination was overridden
               by VMXGINIT SMFRECNT will end up in the right place.

Change 32.082  These NETEZZA/IDAA PDB.DB2STATS Q8STxxxx variables should
VMACDB2        not have been deaccumulated:
Apr  5, 2014    Q8STACTV_64 Q8STCCPU_64 Q8STCORS Q8STCPMU Q8STCQL
                Q8STDSA     Q8STDSKA    Q8STDSKB Q8STDSKU Q8STMAXA_64
                Q8STMAXQ    Q8STMNQS    Q8STNMDS Q8STNQCS Q8STTATE
                Q8STWCPU_64 Q8STWNOD_64
               IBM doesn't always identify which fields are accumulated,
               so the DIF() code is put in place, and then data is read
               to detect negative values (proof of not accumulated so
               those variables are removed) but I failed to run the test
               for negative values in Change 32.072.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.081  A minor exposure in UTILBLDP.  If IMACKEEP= was not used
UTILBLDP       (blank) AND BUILDPDB was YES then the substitution macros
Apr  4, 2014   for SPINCNT SPINUOW and TIMEDIF were defined twice which
               could result in MACRO 0 0 % which is not a valid syntax
               and produced an error message but did not stop execution.
               Now only generated if BUILDPDB EQ YES.  MACKEEP and
               MACFILE are now nulled out after execution.

Change 32.080  ANALDB2R selection parameters use the =: colon modifier
ANALDB2R       to select "Starting With".  If you used DB2=DSN to select
Apr  3, 2013   only the DSN subsystem, but have subsystems DSN DSNT and
Apr 15, 2014   DSNP, all three will be selected.
               New parameters INCODEACCT and INCODESTAT let you define
               your own selection criteria.
                 INCODEACCT= applies to the accounting reports and many
                             trace reports, while
                 INCODESTAT= applies to the stats reports.  For the
               For the above single-subsystem selection, you would use:
                 INCODEACCT=IF QWHSSSID='DSN';
              -MXGACC03 could fail on zOS with dataset not found error
               because SYSLAST was overwritten by VGETOBS but the last
               dataset created by VGETOBS no longer existed, because the
               TABULATE did not contain a DATA= argument.

Change 32.079  The _V and _K tokens for TYPE9035 were incorrectly set to
VMAC90A        9036 instead of 9035.
Apr  3, 2014
   Thanks to Chris Weston, SAS ITRM, USA.

====== Changes thru 32.078 were in MXG 32.03 dated Apr  3, 2014=========

Change 32.078  Support for OAM SMF 85 record for z/OS 2.1 (INCOMPAT).
VMAC85         The record VERSION test required an explicit '2010' value
Apr  3, 2014   to prevent INPUT STATEMENT EXCEEDED RECORD error.
   Thanks to Joachim Sarkoschitz, DATEV, GERMANY.

Change 32.077  Support CICS/TS 5.2 OPEN BETA: CICSTRAN COMPAT, Stat NOT:
VMAC110       -5.2 CICSTRAN has been SUPPORTED since MXG 31.03 (3/2013),
Mar 31, 2014   as NO NEW FIELDS WERE ADDED TO CICSTRAN IN CICS/TS 5.2,
Apr  1, 2014   at least not in the OPEN BETA (so GA could be changed!).
                 (MXG 31.03 or later is required for CICS/TS 5.1.)
              -5.2 STID=62 CICDS Dispatcher CPU Statistics (per-TCB CPU)
               records read with MXG 32.02 or earlier are wrong/missing
               values, due to fields inserted in STID=62 segments.  MXG
               does detect and report that STID=62 was CHANGED, but only
               in obscure ***MXG WARNING.TYPE110 messages that don't
               tell you the output was trashed.  MXG did continue to
               read the rest of your SMF data after those warnings.
               WITH THIS CHANGE: CPU times are correct.
              -STID=62 CICDS dataset has these variables read from the
               header and kept
                 DSGLXSCN='LAST EXCESS*TCB SCAN'
                 DSGLXSND='LAST EXCESS*TCB SCAN*NO TCB*DETECTED'
               and 18 sets of these three variables are added, one per
               TCB, with "DSG" replaced by each TCB's prefix:
                 DSGTMCDQ='QR TCB*CURR TASKS*DISPATCH*QUEUE'
                 DSGTMCDQ='QR TCB*PEAK TASKS*DISPATCH*QUEUE'
                 DSGTMCDQ='QR AVG*PEAK TASKS*DISPATCH*QUEUE'
              -STID=62 CICSPOOL Pool dataset has these five new varS;
                 DSGLTCB='OPEN POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
                 DS2LTCB='JVM POOL *DATETIME*WHEN*POOL LIMIT*REACHED*/
                 DS3LTCB='XPT POOL *DATETIME*WHEN*POOL LIMIT*REACHED*/
                 DS4LTCB='SSLD POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
                 DS5LTCB='THRD POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
              -5.2 also changed STID 10, 81 and 105, but COMPATIBLY with
               new data appended rather than inserted, so prior versions
               MXGWARNed there was new data and skipped with no impact.
              -5.2 new STIDs 36 and 147 were also safely skipped.
              -STID=10, CICXMG dataset, XMG DSECT, new variables:
                 XMGATMXT='80X*IF*CURRENTLY*AT MXT'
                 XMGGAMXT='GMTTIME*WHEN*MXT*REACHED'
                 XMGGSMXT='GMT*WHEN*MXT*SET'
                 XMGGTAT ='GMT*WHEN*LAST*ATTACHED'
                 XMGLAMXT='DATETIME*WHEN*MXT*REACHED'
                 XMGLSMXT='DATETIME*WHEN*MXT WAS*SET'
                 XMGLTAT ='DATETIME*WHEN*LAST*ATTACHED'
              -STID=81, CICM dataset, MNG DSECT, new variables:
                 MNGAUTRT='AVG*USER*RESPONSE*TIME'
                 MNGCAUTA='CURR TASKS*AT LAST*ATTACH'
                 MNGLUCTL='DATETIME*WHEN*LAST*ATTACH'
                 MNGLUCTL='DATETIME*WHEN*LAST*TRANS*ENDED'
                 MNGLUTRT='DATETIME*WHEN*PEAK*RESPONSE'
                 MNGMXUTA='MXT VALUE*AT LAST*ATTACH'
                 MNGPUTRT='PEAK*USER*RESPONSE*TIME'
                 MNGSTNUM='SYSTEM*TRANSACTIONS*ENDED'
                 MNGUTNUM='USER*TRANSACTIONS*ENDED'
              -STID=105, CICPIR dataset, PIR DSECT, new variables:
                 PIRMSGFO='MSGFORMAT'
              -New STIDs 36 and 147 are listed as STILDP and STIPGE and
               listed as PRIVATE LODER and PRIVATE PROGRAMDEF, but the
               OPEN BETA DATA AREAS does not have LDP nor PGE, yet.

Change 32.076 -INPUT STATEMENTs EXCEEDED, one due to invalid TOKDANAM
VMAC80A        'UID' segment with 6 bytes of data but TOK80LN2 only 3;
Mar 31, 2014   this is detected, an MXG error message printed of the
               first two instances, and two due to the increased lengths
               of TOKQUEST2 and TOKANS2 fields (where MXG has to pick a
               max length, but I guessed wrong).
              -Variable RACF31DS, RVARY DSN added to TYPE8025 dataset.
              -TOKDANAM values 'FTEL' 'MTEL' 'EMAIL' are decoded into
               new TOKFTEK/TOKMTEL/TOKEMAIL variables and 'ADDRESS1' and
               'ADDRESS2' values are output in existing TOKAD1/TOKAD2
               variables in TYPE80TK dataset.
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 32.075  Retrieves current ODS destination into a global variable
VGETDEST       VGETDEST.  If no ODS destination has been set it will get
Mar 31, 2014   the ODSDEST option value (normally AUTO), which on zOS is
               LISTING and on ASCII is HTML.  Used internally in MXG in
               new SGPLOT reports.

Change 32.074 -DB2 IFCID 402 dataset T102S402 now outputs all segments;
VMAC102        previously only the first segment was output.  But obs
Mar 27, 2014   are only output after deaccumulation if QW0402ACTIVE,
Mar 31, 2014     QW0402ACTIVE=SUM(QW0402TE,QW0402TQ,QW0402TF,QW0402TW,
                                  QW0402CE,QW0402CW,QW0402OE,QW0402OW);
               shows there was activity during this 1-minute interval.
              -The BY list _B102402 now includes QW0402PI, Profile ID,
               which is the unique token in each segment.
   Thanks to Paul Walters, Navy Federal Credit Union, USA.

Change 32.073  The _SMF processing macro is enhanced to read either the
VMACSMF        //SMF DD to read dumped SMF VBS data, or the //LOGGER DD
VMXGINIT       to directly read current SMF logstream data, or to
Mar 27, 2014   first read //SMF DD (which can be a concatenation of SMF
               VBS data, and then read the //LOGGER DD.  The default of
               SMF is unchanged, to read the //SMF DD, but you can use
                 %LET MXGREADSMF=LOGGER;
               to ONLY read the LOGGER file, or you can use
                 %LET MXGREADSMF=BOTH;
               to read both.
              -For LOGGER read, OFFSMF=0 is now set in VMACSMF, so the
               macro variable READLSMF (Change 31.235) was removed from
               VMACSMF as no longer used by this change, which also
               removed READLSMF from VMXGINIT (in MXG 32.03).
               Apr 22: I had to send this 32.03 VMXGINIT to a site with
               the INSTREAM error; using the new VMXGINIT with the old
               VMACSMF did NOT work, and generated spurious errors of
               INVALID SMFTIME; removing READLSMF from VMXGINIT caused
               UNRESOLVED MACRO READLSMF condition, which caused MXG's
               test for &READLSMF EQ 0 to fail, so VMACSMF fell thru and
               attempted to read the VBS //SMF file with the (correct
               for Logger) attributes of RECFM=VB,LRECL=32756, which
               broke logical records and caused INVALID SMFTIME errors.
               This won't likely occur again, but I put READLSMF back in
               VMXGINIT's %GLOBAL statement.
              -Variable READSMF contains 'SMF' or 'LOGGER' to identify
               the source of each record during processing, variables
               NDUMPREC and NLOGREC count the records read from //SMF
               and //LOGGER respectively.  You could hex-dump the first
               record from each infile with
                 %LET MACFILE= %QUOTE(
                   IF NDUMPREC=1 THEN LIST;
                   IF NLOGREC=1  THEN LIST; );
   Thanks to Jim S. Horne, LOWE's Companies, USA.

Change 32.072 -DB2ACCT variables QWACAACC and QWACAACW (IDAA statistics)
VMACDB2        are now INPUT and kept.
Mar 28, 2014  -These DB2STATS IDAA/NETEZZA variables added in DB2 V11
               are now INPUT and kept:
                  Q8STACTV_64 Q8STCQL     Q8STCRL     Q8STCSS
                  Q8STDSA     Q8STMAXA_64 Q8STMAXQ_64 Q8STMNQS Q8STNDS
                  Q8STNBA     Q8STNBS     Q8STNDA     Q8STNIA  Q8STNIS
                  Q8STNLRA    Q8STNLRS    Q8STNLTA    Q8STNLTS Q8STNQCS
                  Q8STNQFA    Q8STNQSA    Q8STNUA     Q8STNUS  Q8STTART
                  Q8STTATC    Q8STTCCA    Q8STTCCS    Q8STTCMA Q8STTCMS
                  Q8STTCQA    Q8STTCQS    Q8STTLSC    Q8STWCPU_64
                  Q8STWNOD_64
               PROBLEMS:
               -The data needs validation; many values are zero making
                determination difficult; most values do look reasonable,
                but there are 8 extra bytes not in the DSECT that are
                skipped at the top of the segment, which might be the
                wrong place, but there is consistency with the "ALL DB2"
                variables with "S" suffix that all have values of -1
                (INPUT as IB8) while their "THIS DB2" variables with "A"
                suffix are populated.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.071  Connect-Direct NDMCPU='CPU TIME*OF STEP' is now added to
VMACNDM        the NDMPT dataset, along with these new variables:
Mar 26, 2014      NDMECP0  ='CPU TIME*ON CP'
                  NDMECP1  ='CPU TIME*ON ZIIP'
                  NDMECP2  ='ZIIP*QUALIFIED*PART OF*NDMECP0'
                  NDMHQSTA ='QUEUE*STATUS*IF*PTQHOLD'
                  NDMSUBJID='SUBMITTING*JCTJOBID'
                  NDMSUBJOB='SUBMITTING*JOB'
               And these variables are added to NDMCT dataset:
                  NDMECP0S='SEND*CPU TIME*ON CP'
                  NDMECP1S='SEND*CPU TIME*ON ZIIP'
                  NDMECP2S='SEND*ZIIP*QUALIFIED*PART OF*NDMECP0S'
                  NDMECP0R='RECV*CPU time*on CP'
                  NDMECP1R='RECV*CPU time*on ZIIP'
                  NDMECP2R='RECV*ZIIP*QUALIFIED*PART OF*NDMECP0R'
   Thanks to Michael Oujesky, DTCC, USA.

Change 32.070  Support for ASG-TMON CICS TS V3.4 (NO MXG UPDATE NEEDED).
TYPETMO2       TMON CICS v3.4 is the toleration support for CICS/TS 5.2,
Mar 24, 2014   which is now in Open Beta, but there were NO changes to
               their data records so there is no associated update.

Change 32.069  When trying to reduce the line size of the code being
VMXGPARS       generated by UTILBLDP to 65 bytes to fit on neat and
Mar 24, 2014   pretty lines in INSTREAM, VMXGPARS parsing went backwards
               from BYTE 65 to 50 looking for a blank but if it did not
               find one it arbitrarily stopped, which could be in the
               middle of a quoted string causing broken syntax and many
               strange errors.  Now, the search continues until a blank
               is found.  This error was NOT reported.  It was exposed
               when testing UTILBLDP with new syntax in MACFILEX=.

Change 32.068  New DB2 Buffer Pool analysis report, based on SHARE
ANALDB2R       Anaheim Session 14610, Robert F. Catterall, IBM, "Key
Mar 23, 2014   Metrics for DB2 for z/OS Subsystem and Application
               Performance Monitoring", using the DB2STATB dataset.
               Based on the total read I/O rate, it can suggest if the
               Buffer Pool is too small, or if perhaps it is too large.
               With SAS 9.3+, charts are produced, followed by a report
               identifying BPs these problem criteria:
                 Avg read IO rate GE 1000/sec
                 Max read IO rate GE 5000/sec
                 Total BP size exceeds 50% of available CSTORE
                 Max used buffers LT 25% of BP
               If no BPs fit the exception criteria a message is
               produced telling you that.
               This is report MXGDB2B1 in ANALDB2R.

Change 32.067  Cosmetic.  Missing values for OPENTM occur when OPENTIME
VMAC64         variable is not populated; TYPE64 observations with
Mar 21, 2014   SITUATN='NO SPACE AVAILABLE' or 'CATALOG UPDATE' do not
               populate OPENTIME; OPENTM calculation is now protected.
               Some of these obs have large negative value in UNUSEDCI.

Change 32.066  Support for selection by DSNAME for all MXG datasets that
IMACDSCK       contain a "DSNAME" value with the new &MACDSCK facility.
Mar 21, 2014   See the documentation examples in IMACDSCK, but this will
               find all observations in SMF record with DSNAME that
               starts with SYS1."
                 %LET MACDSCK=
                   %QUOTE (
                           LENGTH DSNAME ENTRNAME $44;
                           IF INDEX(DSNAME,'SYS1.') OR
                           INDEX(ENTRNAME,'SYS1.') THEN
                          );
                 %UTILBLDP(BUILDPDB=NO,OUTFILE=INSTREAM,
                           USERADD=1415 1718 42 60 6156 62 6
                 %INCLUDE INSTREAM;
                 RUN;
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 32.065  Support for APAR OA44798 enhancement to SMF ID=22 record,
VMAC22         added the new Subtype 12 Storage Element Extension, adds
Mar 21, 2014   two variables to the existing TYPE22_3 dataset:
                  SMF22XGL='BLOCK*NUMBER OF*FIRST*FRAME'
                  SMF22XPG='ONLINE*FRAMES'

Change 32.064  Line 77 had an unwanted close-paren and semicolon that
ANALID         prevented ODS output and are now removed.
Mar 20, 2014
   Thanks to Sabrina Mandelatz, Provincial, GERMANY.

Change 32.063  Hydra TS7700 IBM reports are replicated in ANALBVIR.
ANALBVIR       These reports are completed:
JCLBVIR           REPORT     DESCRIPTION
Mar 18, 2014      H20VIRT    VNODE VIRTUAL DEVICE HISTORICAL RECORDS
Apr  6, 2014      H21ADP00   VNODE VIRTUAL DEVICE HISTORICAL RECORDS
                  H21ADPXX   VNODE VIRTUAL DEVICE HISTORICAL COMBINDED
                  H21ADPSU   VNODE ADAPTOR HISTORICAL ACTIVITY COMBINDED
                  H21ADPTP   VNODE ADAPTOR THROUGHPUT DISTRIBUTION
                  H30TVC1    HNODE HSM HISTORICAL CACHE PARTITION
                  H30TVC2    HNODE HSM HISTORICAL CACHE PARTITION (1)
                  H32TDU12   HNODE LIBRARY HISTORICAL DRIVE ACTIVITY
                  H32CSP     HNODE LIBRARY HIST SCRTCH POOL ACTIVITY
                  H32GUP&NUM HNODE LIBRARY HIST GUP/POOLING ACTIVITY
   Thanks to Joe Babcock, JPMorgan Chase, USA.

Change 32.062  Variables R791PHTA/PHTI/FLG3/FLG3A/R791FLG3S & similarly
VMAC79         variables R792PHTA/PHTI/FLG3/FLG3A/R792FLG3S are kept in
Mar 17, 2014   datasets TYPE791 and TYPE792 respectively.  Added in z/OS
               2.1, but the 2.1 SMF manual had no vertical bars to mark
               the new fields. (IBM acknowledges the error and will fix
               for the 2.2 SMF manual.)

Change 32.061  Graphs from two SHARE 2014 Anaheim presentations, Session
GRAFCIMP       15214, "WLM Update for z/OS 2.1 and 1.13" by IBM's Horst
Mar 16, 2014   Sinram, and Session 14745, "WLM - Performing a Quick WLM
               Performance Checkup", by Peter Enrico are replicated with
               with graphs of CPU resource by importance level and
               service class level, and then at the service class level
               within importance, plus a scatter graph of performance
               index at the importance level with additional scatter
               graphs at the service class level within importance.  As
               a side benefit you can also see how many service class
               periods are active at each importance level.  The graphs
               are produced by PROC SGPLOT; SAS/GRAPH is NOT used.
               Example report output can be at viewed at:
                  Http://www.mxg.com/download/Change 32.061

Change 32.060  %INCLUDE of VMXGUOW was needed in these examples to get
JCLUOW         _SUOW and _BSUOW values, but that could cause errors due
JCLUOWP        to a conflict executing VMXGUOWC. This change inserts the
JCLUOWV        _SUOWxxx and _BSUUOW macro definitions in these members
Mar 16, 2014   to eliminate the %INCLUDE and associated exposure.

Change 32.059  Support for ZEN 2280 product's new CSM records (INCOMPAT,
EXZOSAJB       because existing subtype 32 header had inserts).
EXZOSAPO       Three new datasets are created:
EXZOSASU         dddddd    Dataset   Description
IMACZOSA         ZOSASU    ZOSASUMM  CSM Summary
VMACZOSA         ZOSAPO    ZOSAPOOL  CSM Per Pool
VMXGINIT         ZOSAJB    ZOSAJOB   CSM per JOB
Mar 14, 2014  -Outstanding issues with first iteration:
                SYSTEM variable is blank.
                Intervals drift 2 seconds per hour, and are not SYNC
                with SMF.
                JOB dataset does not have READTIME nor JESNR.

Change 32.058  Thruput Manager INVALID ARGUMENT- TPMPI=INPUT(TPMPICH,1.)
VMACTPMX       because the previously expected $EBCDIC1 numeric value of
Mar 13, 2014   importance is now a binary ('03'x) requiring a new test
               and conditional input of TPMPI, in dataset TPM16J.
   Thanks to Scott Barry, SBBWorks, Inc., USA.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 32.057  z/VM data files for Velocity zXPS, MONWRITE, etc, MUST be
VMACXAM        FTP'd with TYPE E specified, which is NOT the default.
Mar 13, 2014   Worse, when the default IS used its value is NOT shown
               on the ftp log.  The ftp default is TYPE A, ASCII text,
               and I was unaware that when TYPE A FTP transfer goes from
               one EBCDIC system to another EBCDIC system (e.g. z/VM to
               z/OS), it changes from EBCDIC to ASCII and back to
               EBCDIC, which leaves the UPPERCASE TEXT unchanged, but
               the binary data is mangled.  One specific mangle: '64'x
               original value becomes '3F'x, so the 100 byte length of
               SYTSYP became 63 which caused MXG ERROR messages.  This
               change tests for a length of not-100 and issues a USER
               ABEND 666 to report the wrong FTP TYPE was used.
               Using MODE BLOCK is also recommended for these ftp's.
   Thanks to Wang Zahn, AIG, USA.
   Thanks to Rob van der Heij, Velocity Software, EUROPE.

Change 32.056  CANNOT CLONE BUFFSIZE warnings during PROC COPY might be
VGETOBS        bad for execution EXCPs and run time, and this could have
Mar 13, 2014   been caused by VGETOBS, under unusual circumstances, when
               it made a bad decision and issued a LIBNAME statement for
               a sequential-format-on-disk instead of normal disk. This
               could happen on z/OS only, only if the dataset had never
               been opened for output, and VGETOBS was issued against
               the DDNAME, AND, there are tape datasets allocated to the
               job, and this can only happen on the very first invoke of
               VGETOBS when it reads all LIBNAMEs to identify those on
               tape/sequential format.  Now, VGETOBS recognizes that the
               DDNAME is not SAS or at least has not been opened and it
               does NOT issue a LIBNAME statement.
               Note: A SAS data library in sequential format on disk
                     does not have a directory, so SAS must read all
                     records from the start to find a dataset.
   Thanks to Paul Volpi, UHC, USA.

Change 32.055 -RMF III Enhancements, Fixes, and Notes
ADOCRMFV      -A new generic RMF Monitor III table selection parameter
ASMRMFV        BASIC is supported.  This is a convenient shorthand
Mar 12, 2014   method to select RMF III tables of most common general
Mar 14, 2014   interest and usage.  There is no alias for BASIC.
Mar 30, 2014     BASIC selects these RMF III tables:
                 ASI CAT CPC CPU DVT ENC GEI OPD RCD
              -A new generic RMF Monitor III table selection parameter
               MOST is supported.  This is a convenient shorthand method
               to select all possible tables of any practical value.
               There is no alias for MOST.
               MOST includes all the tables selected by BASIC and in
               addition selects these RMF III tables:
                 CFI CPD CSR ENT SPG SVP.
              -NOTE: All other RMF III tables may still be selected or
               filtered even when BASIC or MOST is specified to achieve
               other useful table selection combinations.
               For example, these PARM values in JCL (or alternatively
               in the SYSIN DD file) are all valid:
               PARM='BASIC,CPD,CSR'      Add CPD and CSR to BASIC set
               PARM='BASIC,NODVT'        Exclude DVT from BASIC set
               PARM='MOST,NOSPG'         Exclude SPG from MOST set
              -Recent information obtained indicates that the Invalid
               Resource bit may be set for Processor entries in the RED
               table in a MINTIME interval due to normal processor
               change events.  So these are not true RED table errors.
               Operation is changed for RED Processor entries only so
               that when the RED table is selected and the Invalid
               Resource bit is on, then the entry is still skipped, but
               no error messages are now issued, and the Return Code is
               left unchanged.  Prior to this change error messages were
               generated and Return Code 0016 would be set.  Error
               handling for other types of RED entries is unchanged.
              -The behavior for the 'ALL' table selection parameter was
               changed in Change 32.037 so that it overrode any NOxxx
               table filter options regardless of input order.  However,
               this was inconsistent with the operation when 'ALL' was
               default because only NOxxx filters were coded.  Those in
               effect did override 'ALL', but this change restores the
               earlier behavior so that any NOxxx filter parameters will
               be honored even when 'ALL' is coded.  No further behavior
               changes are planned for this condition.
              -Change 32.037 also altered the behavior when both NOxxx
               table filter and table xxx selection parameters were used
               for the same table.   The xxx table selection parameter
               always overrode the NOxxx table filter parameter
               regardless of input order.  This change reverses that
               behavior so the NOxxx filter parameter always overrides
               the xxx selection parameter for the same table.  No
               further behavior changes are planned for this condition.
              -NOTE: Please do not select AND filter on the same RMF
               Monitor III table in the same ASMRMFV run to avoid
               unintended results.
              -Documentation in the ASMRMFV source prologue and in the
               ADOCRMFV member has been updated appropriately.
              -When validating a large RMF III CFI table and a section
               offset exceeded X'FFFF', the calculation for the output
               CFI record length was incorrect. The entire CFI table was
               then skipped because the result record length was over
               32K.  Message RMFV035S was issued followed by Return Code
               0016.  The register used in the length calculation is now
               cleared prior to inserting each half word section length
               for validation so that the CFI table is not skipped.
              -Updated documentation content, and mixed casing as well!
              -REQUIREMENT: In order to implement this fix the current
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
    Thanks to Warren Cravey, Fidelity Institutional, USA.

Change 32.054  Variables SMF70CPA_SCALING,SMF70CPA_ACTUAL were input two
VMAC7072       bytes to the right, producing very large numeric values,
Mar 10, 2014   but the SCALING/ACTUAL ratio, now SMF70CPA_RATIO was the
               same!  The new z/OS 2.1 RATIO is used instead of raw-CPA
               to calculate the SMF70CPA Service Unit Per Second value:
                 New:   SMF70CPA=16000000*SMF70CPA_RATIO
                 Old:   SMF70CPA=16000000/SMF70CPA-in-Record
               So the new ratio is the inverse of the RMCTADJC, almost:
                Raw CPA=423    1/423=.002364066 ==> SMF70CPA= 37825.059
                SMF70CPA_RATIO      =.002364590.              37833.440
               The raw-CPA is an integer, which limits the granularity
               of SMF70CPA value.  Integer 424 sets  SMF70CPA=37914.692
               so the exact 37833 value cannot be set with raw-CPA. Now,
               since RATIO is a fraction, any numeric value can be set
               for SMF70CPA in future engines.  The numeric difference
               is small, but with this change, for z/OS 2.1, SMF70CPA
               is now calculated using the SMF70CPA_RATIO value.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 32.053  Compression ratios SMF21CRR/SMF21CRW are now calculated
VMAC21         for non-3590 devices, using these existing variables:
VMAC21           SMF21CRR=BYTEREAD/SMF21MDR;
VMAC21           SMF21CRW=BYTEWRIT/SMF21MDW;
VMAC21         For 3590s, note that:
Mar 10, 2014   -Bit SMF21NCT is on ONLY for 3590s and inputs the channel
                and device bytes read/written SMF21BRN/BWN/DBR/SMF21DBR
                variables, now used for the compression ratio.
               -Bit SMF21MFV is NOT on for 3590s, so the previous counts
                of bytes read/written/compressed will always be missing
                for 3590s in variables SMF21MCR/MDR/CRR/MCW/MDW/DRW.
   Thanks to Jorge Fong, NYC Information Technology, USA.

Change 32.052  Support for SMF 112-35 Tivoli Enterprise Monitor Server
EX112TEM       record creates new dataset
IMAC112           dddddd   dataset   description
VMAC112            112TEM  T112TEMS  Tivoli Enterprise Monitor Server
VMXGINIT       There are also subtypes 32 thru 37 that may be supported
Mar 10, 2014   in a later update to this change.
   Thanks to Michael Oujesky, DTCC, USA.

Change 32.051  Test added to SUOWMQ macro to check for MQMADD value of
VMXGUOW        NO to bypass reading the CICUOW dataset. This will let
VMXGINIT       you set _UOWCIC to _NULL_ and save a lot of WORK space by
Mar  9, 2014   eliminating the creation of a dataset that is ONLY used
               if you also have MQ data and have specified MQMADD=YES.

Change 32.050  RMF III datasets ZRBRCDS (Service Class) and ZRBRCDR
VMACRMFV       (Report Class) did not contain the five CPUxxxTM values
Mar  8, 2014   (TCB/SRB/RCT/HPT/IIP), suggesting these RMF III datasets
               were seldom used, because the same data exists in RMF I
               TYPE72GO dataset.  They are now created so that I could
               compare the CPU times captured by RMF I, RMF III and SMF.
               See MXG Technical Newsletter 64 MVS Technical Note 1.

Change 32.049  Added a WHERE= parameter for the PRINT, MEANS, FREQ, and
VMXGPRAL       COMPARE procedure executions so you can insert the SAS
VMXGPRA1       code in a WHERE clause to select what will be analyzed or
VMXGPRNT       printed.
Mar  5, 2014

Change 32.048  Protection for invalid SMF 6 record (JCTJOBID vice JOB)
VMAC6          that printed INVALID PRINTIME messages, while the source
Mar  4, 2014   of the invalid records is investigated.

Change 32.047  Support for (E)JES Version 05.40 SMF Record, restructured
VMACEJES       to match the standard SMF record structure with triplets
Mar  4, 2014   (Offset/Length/Number) for the three segments of data.
Apr 17, 2014   New variables ESMFCNSR ESMFCNCO ESMF5NSF ESMF5NCF added.
MXGEJES        Member MXGEJES is a standalone MXG code execution that is
Jun 16, 2014   provided to Phoenix International (to encourage their
               users to consider MXG Software).
   Thanks to Ed Jaffe, Phoenix Software International, Inc., USA.

Change 32.046  Support for XCOM 11.5 AND 11.6 (INCOMPATABLE). Records
FORMATS        were restructured and MXG code revised to match.  Formats
VMACXCOM       $MGXCMST and $MGXCMFO now decode STATFLGX and FILEOPT.
Mar  3, 2014   A new segment contains the SMS DATA/MGMT/STORE classes.
Mar 25, 2014   Mar 25: Code corrected, revised for new variables.
   Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.

Change 32.045  Support for MQ PCF Files creates new dataset:
EXPCFMD
IMACPCF         dddddd   dataset   description
TYPEPCF         PCFMD    PCFMD     PCF MD Record
TYPSPCF
VMACPCF
VMXGINIT
Feb 28, 2014
   Thanks to Peter Farrell, Commerce Bank, USA.

Change 32.044  Unused Change Number.

Change 32.043  Support for SMF Record ID=87, GRS Component information
EXTY87         creates new dataset:
IMAC87          dddddd   dataset   description
TYPE87          TY87     TYPE87    GRS Component
TYPS87
VMAC87
VMXGINIT
Feb 27, 2014
   Thanks to Graham Harris, Royal Bank of Scotland, ENGLAND.

====== Changes thru 32.042 were in MXG 32.02 dated Feb 26, 2014=========

Change 32.042  New summary report created if requested. New parameter
ANALID         PRINTWHAT= added with default of BOTH.  Other possible
Jan 24, 2014   values are DETAIL for the detail report or SUMMARY to get
               only the SUMMARY report. For the summary report the data
               is summarized to the SMFIDSUB level.

Change 32.041  The OUTPUT MCD; statement was missing; it is now inserted
VMXGHSM        in line 1797.
Feb 26, 2014
   Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.

Change 32.040  TMON/VTAM vendor maintenance now populates fields so they
VMACTMVT       can be properly decoded/documented. Variables SXORTTD and
Feb 25, 2014   SXORTT are now decoded and formatted as TIME13.3, and the
Feb 27, 2014   SXHRT1D/2D/3D/4D/5D are now labeled INTERVAL vs TIME.
   Thanks to Paul Volpi, UHC, USA.

Change 32.039  A MAJOR restructure of BVIR/TS7700/HYDRA support and new
ANALBVIR       IBM-reports in ANALBVIR/JCLBVIR will likely require you
EXBVR011       to revise your reporting, but you will no longer have the
EXBVR101       thousands of previous variable names, as the restructure
EXBVR111       creates the "subtype" dataset (EG: BVIR30) with only the
EXBVR301       header variables for that subtype, and repeated segments
EXBVR321       are output in a new dataset (EG: BVIR301), with only ONE
EXBVR322       set of variable names. A few variables names were changed
EXBVR324       and the new reports have been validated against IBM's.
EXBVR331      -In an emergency for an old report, member ZMACBVIR is the
IMACBVIR       prior BVIR support structure that can still be used for
JCLBVIR        now, but it will NOT be updated nor supported for future
VMACBVIR       changes to the BVIR data records. REMOVED JAN 2015.
VMXGINIT      -This was a MAJOR update, contributed by Joe; the other
               cites are for the Early Adopters who helped in testing.
Feb 25, 2014  -These are now the datasets created from BVIR data:
Feb 28, 2014
Mar  2, 2014        DDDDDD     MXG         MXG
Mar  8, 2014        DATASET    DATASET     DATASET
Mar 11, 2014        SUFFIX     NAME        LABEL DESCRIPTION
Mar 14, 2014        BVIR01     BVIR01    VNODE VIRTUAL DEVICE PIT
Mar 17, 2014        BVR011     BVIR011   HNODE GRID (PIT) CLUSTER
Mar 25, 2014        BVIR02     BVIR02    VNODE ADAPTER POINT IN TIME
                    BVIR10     BVIR10    HNODE HSM POINT IN TIME

                    DDDDDD     MXG         MXG
                    DATASET    DATASET     DATASET
                    SUFFIX     NAME        LABEL DESCRIPTION
                    BVIR01     BVIR01    VNODE VIRTUAL DEVICE PIT
                    BVR011     BVIR011   HNODE GRID (PIT) CLUSTER
                    BVIR02     BVIR02    VNODE ADAPTER POINT IN TIME
                    BVR101     BVIR101   HNODE HSM PIT PHYSICAL DEVICE
                    BVIR11     BVIR11    HNODE GRID POINT IN TIME
                    BVR111     BVIR111   HNODE GRID (PIT) CLUSTER
                    BVIR20     BVIR20    VNODE VIRTUAL DEVICE HISTORY
                    BVIR21     BVIR21    VNODE ADAPTER HISTORY
                    BVIR30     BVIR30    HNODE HSM HISTORY
                    BVR301     BVIR301   HNODE CACHE CONTAINER/PARTITION
                    BVIR31     BVIR31    HNODE RESERVED
                    BVIR32     BVIR32    HNODE LIBRARY HISTORY
                    BVR321     BVIR321   HNODE LIBRARY DEVICE TYPE
                    BVR322     BVIR322   HNODE LIBRARY POOLING CSP MEDIA
                    BVR323     BVIR323   HNODE LIBRARY POOLING GUP
                    BVR324     BVIR324   HNODE LIBRARY POOLING GP MEDIA
                    BVIR33     BVIR33    HNODE GRID HISTORY
                    BVR331     BVIR331   HNODE GRID CLUSTER
               Updates made after MXG 32.02:
               Feb 26:
               -The variable DEVCLASS was renamed DEVCLSID due to
                conflict with existing 30 and 74 name DEVCLASS, and the
                variable DVCLASID was renamed to DEVCLSID as only one
                name is needed.  Format $MGB32DC was merged into and
                replaced by $MGB10DC.
               -Some formats for BVIR bit map ranges were corrected.
               -SCRVOLCT added to _BBVR324 BY list.
               -ADOCBVIR updated with why NODUP won't 50% remove.
               -Feb 28:
                Dateparts in BVIR21 and BVIR31 were two years
                wrong - I had moved their calculation to the header,
                but had left the recalcs in those two subtypes.
               -Mar  2:
                The loop counter to read the GUP Container Segments only
                read the first four of the thirty-one segments, so obs
                were not created in BVIR323 and BVIR324.
               -But dataset BVIR323 was output twice incorrectly!
               -Lengths of FORMATTED character variables are now set.
               -Mar  8:
                Variable POOL was added back into BVIR323 and to its BY
                list.  I revised Joe's code and used _I_ for loop where
                the loop variable is not kept, but I messed up this one.
               -Mar 11:
                Corrections to examine all 32 entries in the POOL loop.
                Two new fields, POOL to the GUP and POOL and MEDIA to
                BVIR323 and BVIR324 datasets respectively.
                A lost pad to the container to bring it to 16 bytes.
                With this change, all prior problems are resolved!!!
               -Mar 14:
                Type 30 code needed to skip some bytes for BVIRVERS=3.
               -Mar 17:
                Type 20 records BVIRVERS=5 with only 192 bytes caused
                INPUT EXCEEDED.  Rest revised to verify data exists
                for V5 and remainder of skip bytes were removed as there
                is only one 20 record.
               -Mar 25: There are lots of "null" segments ('00'X for the
                ID and/or sum of metrics zero) in BVIR records that not
                only wasted space but also were the NODUP culprits.  Now
                only segments with activity or valid IDs are output,
                massively reducing the number of observations. Selection
                code added to EXBVR321-322-324-331 exit members, except
                that the test for POOLACTV GT 0 is internal to VMACBVIR
                because it is also used to terminate the pool loop.
                -POOLACTV is tested for these datasets, plus
                   BVIR321 when DEVCLSID GT '00'X
                   BVIR322 when MEDATYPE GT '00'X
                   BVIR324 when PYMDID   GT '00'X
                   BVIR323 when POOLACTV (SUM of Metrics) GT 0
                -BVIR331 output when BVIR331ACTV GT 0 (Sum of Metrics)
                -Resulting dataset observation counts:
                   BVIR20,30,31,32,33,301,321   8826 obs
                   BVIR322                     44130 obs
                   BVIR323,324                 26478 obs
                   BVIR331                      7614 obs
   Thanks to Joe Babcock, JPMorganChase, USA.
   Thanks to Scott Barry, SBBWorks, Inc, USA.
   Thanks to Dan Case, Mayo, USA.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.038  The IMS56FA dataset can have IMSSTCK incorrect when there
VMACIMS        was no GMTOFFTM in a prior record; the LINK IMSSTCK in
Feb 24, 2014   56FA logic was prior to the input of the first 12-byte
Mar 17, 2014   character timestamp, from which DEC and then GMTOFFTM can
Mar 23, 2014   be decoded.  The LINK for 56FA was located to after that
               first DEC value is known; once GMTOFFTM has been created,
               its value will be retained.
               Mar 17:  IMSSTCK links for log records 01x,03x,06x were
               mis-located prior to the creation of GMTOFFTM; only if
               those records were prior to other GMT-Offset-containing
               records, the GMTOFFTM was missing and IMSSTCK was then
               not corrected to local time zone.
               Mar 23:  END; relocated from IMSSTCK: to before LCODE=55.
   Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.

Change 32.037 -RMF III Enhancements, Fixes, and Notes
ADOCRMFV      -A second RMFV008I message is added for non-VSAM data sets
ASMRMFV        such as the RMFBSAM and SYSIN DD files that will show DCB
CLRMFV         attributes DSORG, RECFM, LRECL, BLKSIZE, BUFNO, and
DOCLRMFV       BUFSP.
JCLRMFV       -A second RMFV008I message is added for RMF Monitor III
JCLCRMFV       VSAM data sets that will show ACB attributes DSORG,
JCLDRMFV       LRECL, CISIZE, BUFNO, BUFSP, and Record Count.
Feb 23, 2014  -NOTE: The number of VSAM records read for any one
Feb 24, 2014   particular RMF Monitor III data set will usually exceed
Feb 26, 2014   the number of records in the file.  This is because a
               physical record may contain data from more than one
               MINTIME interval and data is processed one MINTIME
               interval at a time.
              -NOTE: The BUFNO and BUFSP values for all RMF Monitor III
               data sets will be the same because they share a common
               VSAM LSR buffer pool.
              -Data set and DCB information will now also be shown for
               the non-VSAM SYSPRINT DD file.
              -BUFNO=20 was always assigned for the SYSIN DD file.
               However, when the SYSIN DD file is blocked this wastes
               memory because usually this file has few records.  When a
               blocked SYSIN file is detected a value of BUFNO=2 will be
               assigned.
              -When NOxxx table filtering options were mixed with xxx
               table selection options, ASMRMFV incorrectly turned on
               selection for all tables when the first xxx table option
               was encountered.
              -The NONE option to suppress all output is now obsolete.
               This option was inflexible; it did not allow RMF Monitor
               III table selection and/or filtering.  Results were also
               incomplete as no output statistics were shown.  So it
               was not very useful nor was its usage easily understood.

               If NONE (or any of its aliases) is coded it is ignored
               with no action taken and no error messages issued.
              -The alternative to the defunct NONE option to preview
               what might be output by ASMRMFV with user specified
               selections and/or filters in effect is to simply code
               in JCL:

               //RMFBSAM DD DUMMY
                       or
               //RMFBSAM DD DSN=NULLFILE

               Either tells the access method to suppress the RMFBSAM
               output.  In either case RMFBSAM will be empty and cannot
               be used for a PDB build.
              -The CLRMFV Clist used in the TSO Clist Method for
               running ASMRMFV has been upgraded to accept NULLFILE
               as a value for the OUTHLQ Clist parameter.

               When OUTHLQ('NULLFILE') is coded the RMFBSAM file will be
               allocated as DSN=NULLFILE thus also providing an
               alternative to the obsolete ASMRMFV NONE option.
               OUTHLQ('DUMMY') can also be used.

               In this case the SPACE Clist parameter is forced
               to zero and the OUTMLQ and OUTLLQ Clist parameter
               settings are irrelevant.
              -With RMFBSAM output suppression the result is useful
               to determine how many bytes of output will be generated
               with the selection and/or filter options used.  Also
               decisions can be made as to which tables should be
               selected for a future PDB build based on data volume.

               Then the actual RMFBSAM file can be realistically sized
               later for allocation.  Be sure to review ASMRMFV messages
               RMFV105I to study the output data statistics including
               bytes output.
              -JCLRMFV, JCLDRMFV, and JCLCRMFV example members are
               each updated to include an example with RMFBSAM output
               suppression.
              -The DOCLRMFV documentation for CLRMFV Clist usage has
               been updated with current information.
              -Documentation in the ASMRMFV source prologue and in
               the ADOCRMFV member has been updated to note that
               the NONE parameter is obsolete and to explain the
               alternative use of DSN=NULLFILE for RMFBSAM.
              -Removed residual extraneous characters in the first
               RMFV002I message when no PARM= field existed in JCL.
              -NOTE: The ASMRMFV SIZE parameter is still supported and
               also produces no RMFBSAM output regardless of JCL for
               that file.  When SIZE is coded all selection and/or
               filtering parameters are ignored.  SIZE shows a
               snapshot of RMF Monitor III VSAM file allocations as
               well as space and index usage.
              -NOTE: If the ALL table select ASMRMFV option is coded it
               overrides any other table select or table filter options
               that may be present regardless of input order.

               This is a new behavior with this change.  Prior to this
               change NOxxx table filter options would override the
               coded 'ALL' value.  This is no longer the case.

               Please do not code 'ALL' when using NOxxx table filter
               options to avoid unintended results.
              -NOTE: If an xxx table select and an NOxxx table filter
               are coded for the same RMF III table the table select
               option for this table now always overrides the filter
               option regardless of input order.

               This is a new behavior with this change.  Prior to this
               change the last option encountered for the same table
               would be effective.  This is no longer the case.

               Please do not select and filter on the same RMF Monitor
               III table in the same ASMRMFV run to avoid unintended
               results.
              -REQUIREMENT: In order to implement this fix the current
               ASMRMFV utility program from this MXG change must be
               installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
   Thanks to H. Sterling James, DST Systems Inc.

Change 32.036  MXG developer utility used when creating a new dataset to
UTILNODU       determine the sufficient list of variables needed in the
Feb 21, 2014   new _Bdddddd By List macro that will remove duplicate
               observations with the PROC SORT NODUP option (invoked in
               BUILDPDB, or the TYPSxxxx "sorting" types, or by the use
               of the _Sdddddd dataset sort macro.)
               The initial "logical" _Bdddddd is created based on what
               seems to be useful order (e.g. READTIME JOB JESNR for a
               job related dataset). Then, the input data file is read
               twice, the dataset is created and sorted by _Bdddddd, and
               then the count of observations deleted as duplicate in
               the PROC SORT log messages must be exactly one-half of
               the observations read by the sort.  If that is not true,
               an ad hoc approach was used to find the additional vars
               needed. This utility sorts the dataset twice, once with
               the original _Bdddddd and a second time with BY _ALL_,
               and the unmatched observations, those NOT deleted, are
               printed for easy identification of needed variables.
               Unlikely an MXG user will ever need this, but someday
               someone will be happy to find it if that is their task.

Change 32.035  Websphere ID=120 Subtype=9 datasets TYP1209C, TYP1209E
VMAC120        TYP1209S and TYP1209U had incorrect BY variable that
Feb 18, 2014   did not remove duplicates and caused DELTA120TM to be
               always missing.  Variables SM1209CR SM1209CS and SM1209CM
               are added to those datasets, and the new sort order are:
                MACRO _BT1209C
                  SYSTEM   SMFTIME SM1209CR SM1209CS SM1209CY
                  SM1209EM SM1209CM  %
                MACRO _BT1209E
                  SYSTEM SM1209CR SM1209CS SM1209CH SM1209CM %
                MACRO _BT1209S
                  SYSTEM   SMFTIME SM1209CR SM1209CS SM1209CY
                  SM1209EQ SM1209CM  %
                MACRO _BT1209U
                  SYSTEM   SMFTIME SM1209CR SM1209CS SM1209EY
                  SM1209FA SM1209CM  %
   Thanks to Wayne Bell, UNIGROUP, USA.

Change 32.034  These examples could have failed with SYSTEM 413-18 ABEND
JCLUOWP        because the CICSTRAN DD was being opened for read by
JCLUOWV        VMXGUOWC before the CICSTRAN had been written.  Relocated
Feb 17, 2014   the %INCLUDE of VMXGUOW to correct.

Change 32.033  Support for XPTR 5.2 creates these 23 new datasets:
EXXPTR23        dddddd    dataset   description
EXXPTR24        XPTR23    XPTR23    X/TND USER DISCONNECT
EXXPTR25        XPTR24    XPTR24    X/NET COMMAND PROCESSED
EXXPTR26        XPTR25    XPTR25    API TRANSACTION
EXXPTR33        XPTR26    XPTR26    API SUMMARY
EXXPTR34        XPTR33    XPTR33    MIGRATION DETAIL
EXXPTR52        XPTR34    XPTR34    STORAGE POLICY TARGETS
EXXPT104        XPTR52    XPTR52    USER REQUEST TRACKING
EXXPT106        XPT104    XPTR104   JOB ACCUMULATION
EXXPT107        XPT106    XPTR106   JOB ACCUMULATION WITH RENAME
EXXPT109        XPT107    XPTR107   ARCHIVE CREATED
EXXPT112        XPT109    XPTR109   REPORT ACCUMULATION
EXXPT113        XPT112    XPTR112   REPORT BROWSE
EXXPT118        XPT113    XPTR113   USER COMMAND
EXXPT120        XPT118    XPTR118   X/PTR DETAIL OUTPUT RECORD
EXXPT124        XPT120    XPTR120   NEW REPORT
EXXPT130        XPT124    XPTR124   XNET COMMAND PROCESSED
EXXPT131        XPT130    XPTR130   ARCHIVAL RETRIEVAL COMPLETED
EXXPT132        XPT131    XPTR131   ARCHICE DETAIL
EXXPT133        XPT132    XPTR132   TEST FILE SPACE RELEASE
EXXPT140        XPT133    XPTR133   MIGRATION DETAIL
EXXPT152        XPT140    XPTR140   VSAM BUFFER STATISTICS
EXXPT153        XPT152    XPTR152   USER REQUEST TRACKING
IMACXPTR        XPT153    XPTR153   REPORT VERSION DELETE
VMACXPTR       -Some minor issues: there are duplicate records
VMXGINIT        written for subtype 41 and 50, and the date of the
Feb 21, 2014    SUBMTIME in subtype 130 is 2005.
               -BY lists for earlier datasets have been updated and
                all datasets with data have been "NODUP" validated.
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 32.032 -DB2STATS variable QISTWMQM was always zero because it was
VMACDB2        incorrectly deaccumulated when it's a static ZPARM value.
VMAC102       -T102S371 variables QW0371CL and QW0371DA were 1000000 too
Feb 18, 2014   large, as the input was &PIB.8. instead of &PIB.8.6.
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 32.031  RMF TYPE748 ESS Subtype 8 datasets completely revised.
EXTY748I      -The existing TYPE748 dataset had an observation for every
EXTY748L       LINK, instead of just one observation per CUSERIAL. R748L
EXTY748P       variables are moved to the new TYPE748L Link dataset.
IMAC74         IBM print 12 digits for CUSERIAL on RMF reports, but that
VMAC74         field is only 10 characters in the subtype 8 record, so
VMXGINIT       match on CUSERIAL failed. Extra 00 characters added.
Feb 14, 2014  -The new TYPE748L Link dataset is created with one obs per
Feb 17, 2014   CUSERIAL and R748LAID Link Adapter ID.
              -The TYPE748R RANK dataset and TYPE74A RANK ARRAY dataset
               are now merged by CUSERIAL R748RRID (Rank Raid ID) to
               create the new PDB.TYPE748I "ID" dataset with R748rXID
               (Extent Pool) for the detail ESS RANK STATISTICS report.
               Unfortunately, the Raid Rank Level can NOT be mapped back
               to the logical VOLSER of the I/O.
              -In addition, _STY748I also sums the TYPE748I dataset by
               CUSERIAL R748XPID to create the Extent Pool Sums in the
               new PDB.TYPE748P "EXTENT POOL" dataset.
              -Dataset TYPE748X is unchanged.
   Thanks to Patricia J. Jones, DST Systems, USA.

Change 32.030  -ASMRMFV execution could fail with RMFV035S >>>>SEVERE
ASMRMFV         1 RED TABLES SKIPPED DUE TO INVALID ID OR FLAG error
Feb 13, 2014    and the program could loop due to an outdated branch in
                the DETAIL subroutine when one or more RMF III table
                errors were found.  The errors detection was valid but
                the recover and notification looped.
               -REQUIREMENT: In order to implement this fix the
                current ASMRMFV utility program from this MXG change
                must be installed.  See MXG SOURCLIB member JCLASM3 for
                sample JCL for the assembly and link-edit install steps.
       Thanks to Andre Gustavo Moretto, IBM Global Services, BRAZIL.

Change 32.029 -VMXGPRAL print utility ERROR 72-322: Expecting a ). after
VMXGPRAL        a DATA _NULL_ step highlighting this statement:
Feb 12, 2014    SYMPUT("OBS&I",PUT(NOBS,12.); that's missing the paren.
              -COMPBL HAS TOO MANY ARGUMENTS if the DATASET LABEL that
               is now printed with the DATASET name has a comma.  The
               commas are removed in VMXGPRAL to circumvent, but See
               Change 32.005 - commas to be removed with DATASET LABELs
               added to that planned list.
   Thanks to Paul Volpi, UHC, USA.

Change 32.028  Protection for BETA93 truncated SUBTYPE=51 record that
VMACBETA       caused INPUT STATEMENT EXCEEDED because LOCFIELD+BETAFLEN
Feb 10, 2014   (offset plus length) exceeded the record length.  In this
               specific record, there were two valid segments that were
               output but the third segment was truncated so only the
               first two segments were output.
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 32.027  MXG 32.01.  INVALID DB2 10.1 HEADER RECORDS, DELETED,
VMACDB2H       if the DB2 APAR PM62481, a 2012 APAR that added the
Feb 11, 2014   QWHSAACE field to the QWHSTYP=2 Header Segment, is NOT
               installed, because when Change 32.002 INPUT that field,
               it was not from the APAR, but last month when I saw that
               it was in DSNDQWAC for DB2 V10 and had been overlooked,
               and I assumed it was always present by testing for the
               QWHSRELN GE 10.2, and ran the MXG DB2 QA with 15 site's
               data and no errors.  Today, two sites, Australian and
               USA, reported the error message and sent data with
               QWHSLEN=156, instead of the 164 byte expected with the
               field present.
              -May 2014:  This MXG 30.01 ERROR MESSAGE (yes 30.01!!):
                  **VMACDB2.ERROR. INVALID IBM TYPE 101 RECORD DETECTED.
                  YOU MUST INSTALL IBM APARS PN56441 AND PN63234....
                  was also corrected with this updated VMACDB2H.
                  (Those APARs were from 1994!).
              -MXG input logic was revised to use actual segment lengths
               and not the version number to detect the existence, which
               then required the creation of QWHCEXTRA with the count of
               bytes added for the "truncated" name fields, so it could
               be subtracted from QWHSLEN to get the actual length of
               the base segment to know for certain if QWHSAACE exists.
               With this much time and effort to diagnose and resolve,
               at least the new QWHCAACE field may be worth it:
               QWHCAACE is zero if the IFCID is written outside of an
               accounting interval.  Otherwise it will contain a value
               that can be correlated to QWHSACE in the IFCID3/DB2ACCT
               accounting record.  For DDF/RRSAF rollup accounting
               records, QWHCAACE should be correlated to QWARACE as the
               record will represent multiple transactions.  For
               parallel tasks, QWHCAACE will point to the ACE of the
               parent task.
   Thanks to Andrew Petersen, CSC, AUSTRALIA.

Change 32.026  TRNDRMFI could fail if all possible 114 workloads were
VGETWKLD       defined in your RMFINTRV dataset, because the limit of
VMXGRMFI       64K bytes of text for a macro variable was exceeded.
VMXGSUM        Each of these potentially-large macro variables are now
Feb  7, 2014   created by writing text to FILE INSTREAM as old-style
Feb 10, 2014   macros so the macro variable only contains the old-style
Feb 18, 2014   name; see Change 31.288.  Additional macro logic also
               reduced size of some other macro variables, and to also
               circumvent the 262-byte limit between quotes.
              -VMXGSUM was also revised to minimize the size of macro
               variables it creates, by calling SYSFUNC to invoke COMPBL
               to remove duplicate blanks, but because the argument can
               be blank, causing a TOO FEW ARGUMENTS FOR COMPBL error,
                %LET ALLVARS=%SYSFUNC(COMPBL(%STR(&ALLVARS &MIN)));
               was needed to avoid that (harmless) error message.
              -VGETWKLD: the lists in WORKLOAD, NEWLABL, STRING are now
               TRIMed before APPEND to reduce text length, and protect
               for blank labels added.

====== Changes thru 32.025 were in MXG 32.01 dated Feb  6, 2014=========

Change 32.025  CPUCRPTM, CPU TCB+SRB during CHRONIC CONTENTION was wrong
VMAC30         as the second multiply by 1024 was incorrect. Fortunately
Feb  6, 2014   this is a standalone CPU metric added in Version 26 that
               has obviously not been examined previously!
   Thanks to Leonard Jejer, MorganStanley, USA.

Change 32.024  RMFINTRV created with a large number of workloads could
VGETWKLD       cause TRNDRMFI to fail because the wrong dataset was
Feb  6, 2014   SORTED.  PROC SORT DATA=WORKLOADS corrected this error.
   Thanks to Wayne Bell, UNIGROUP, USA.

Change 32.023  Support for IMS LOG Record 06 creates IMS06 dataset, to
ASMIMSL6       track IMS startup/shutdown/other conditions.
EXIMS06
FORMATS
IMACIMS
VMACIMS
VMACIMSA
VMXGINIT
Feb  5, 2014
   Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.

Change 32.022  Support for CA XCOM Version 11.6 INCOMPATIBLY changed the
VMACXCOM       SMF record.  This updated VMACXCOM supports both 11.6 and
Feb  5, 2014   11.1, transparently.
   Thanks to Claudio Zanon, Phoenix, ITALY.

Change 32.021  Change 31.285 was removed.  The FILENAME INSTREAM added
VMXGINIT       in VMXGINIT, to eliminate the need for //INSTREAM, fails
Feb  4, 2014   if you used it, for example, to write date macros in one
               job and then use %INCLUDE INSTREAM in all your report
               jobs to instantiate that code, a quite reasonable thing
               to do. Unfortunately, the FILENAME INSTREAM CATALOG fails
               on the %INCLUDE because it was never opened for output so
               it doesn't exist, and using FILENAME INSTREAM TEMP also
               fails, but without error: the TEMP is included instead of
               the //INSTREAM DD that you wanted to %INCLUDE.
               Thus an INSTREAM DD/FILENAME is still be required by MXG.
               Another symptom of the need for the new VMXGINIT are
               these log messages:
                 ERROR: CATALOG WORK.MXGTEMP DOES NOT EXIST.
                 ERROR: CANNOT OPEN %INCLUDE FILE INSTREAM.
   Thanks to Arylon Brooks, Verizon Wireless, USA.
   Thanks to Nick Bubica, Verizon Wireless, USA.
   Thanks to Stephen K. Simon, Verizon Wireless, USA.

Change 32.020  MIPFACTR set to a null string and logic was inserted to
GRAFWRKX       base the MSU to MIPS factor on the CPCFNAME variable so
Feb  1, 2014   that GRAFWRKX will automatically reflect the MIPS on the
               current machine.  The MSU chart reflects MSU consumed
               during the period and the MIP chart reflects the MIPS
               of capacity consumed during the period. MIPFACTOR can
               be overridden with a value of your choice.  The values
               used by default are:
                     2097 - 6.5    2098 - 6.5   2817 - 8
                     2818 - 8      2827 - 8     2828 - 8

Change 32.019 -READDB2 did not always use LDB2ddd override, and &PDBOUT
ANALDB2R       option logic was restructured with better documented
ANALDBTR       possible values: UNIQUE, YES, PDB/XXXX, NULL/WORK.
ANALTURN       Now, WANTONLY will be honored when specified for ACCTs.
READDB2       -Fixing READDB2 uncovered an error in ANALDB2R where the
Feb  4, 2013   datasets were created in PDB, but report expected data
               in WORK.
              -ANALDBTR.  Restructured and revised and corrected, mostly
               preventing spurious "THE STRING" messages that only were
               printed when there were multiple ANALDBTR invocations
               (e.g., when ALL POSSIBLE reports are executed).
              -ANALDB2R.  Similar restructure and cleanup with heavy
               testing with ALL reports and with DATA for all reports.
              -ANALDB2R. Reports IOS SQL LOK TRN may not be correct with
               PDB=SMF,PDBOUT=WORK (or no PDBOUT=) but they are fine if
               PDB=SMF,PDBOUT=PDB (or any XXX DDNAME).  I may choose to
               leave it this way for these extremely detailed and seldom
               used reports, since the repair would be VERY tedious and
               there's no cost to using PDBOUT= PDB with PDB temporary.
              -ANALDB2R.  Requirement for PDBOUT=PDB to be specified for
               PMTRC01 Trace Report was never documented but now is no
               longer required with revision of the READDB2 logic to set
               the output destination for the T102Snnn based on PDBOUT.
              -UNRELATED, BUT: CAUTION FOR THE USE OF DATASET VIEWS:
               Discovered in QA test when ANALTURN created WORK.STATS
               that was left in WORK, and then 30 steps later, ANALDB2R
               failed when it tried to create WORK.STATS/VIEW: you CAN
               NOT create a dataset view named X if there already is a
               dataset named X.  This has NOT been an actual problem at
               customer sites, but MXG View names are not documented and
               you could create an accidental conflict in your programs
               that only shows up when you subsequently execute MXG code
               that happens to use that dataset name.  Fortunately the
               error message text makes it clear what dataset name YOU
               have to change in YOUR code.
               ANALTURN now deletes WORK.STATS.

Change 32.018  Unused Change Number.

Change 32.017  A mislocated RUN; statement cause VMXGPRNT and VMXGPRAL
VMXGPRNT       to fail with a  180  syntax error pointing to LABEL.
Jan 29, 2014
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.

Change 32.016  DB2 Netezza variable Q8STNAME, Accelerator Server ID, was
VMACDB2        not kept in PDB.DB2STATS dataset; its offset was read in
Jan 29, 2014   but then the field was never input.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 32.015  Cosmetic.  Variable ACTHNODE was set to blank or 'Y' but
VMACBVIR       it incorrectly was formatted $HEX2. so the 'Y' printed as
Jan 29, 2014   'E8'X.  Now the Y will be printed as a Y.
   Thanks to Keith McWhorter, IBM Global Technology Services, USA.

Change 32.014  Variable CPUUOWTM incorrectly (now) included DB2TCBTM, as
VMXGUOW        that WAS correct back when VMXGUOW was written, but that
Jan 29, 2014   changed in CICS/TS 3.2 with the OTE Environment when the
               DB2TCBTM was added into the TASCPUTM in CICSTRAN, so the
               equation is now CPUUOWTM=SUM(CPUTM,CPUMQMTM);
   Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.

Change 32.013  Create $PLOTCHAR to map one character from SYSTEM name to
VMXGPLCH       be used as the "Z-AXIS", the third position variable, in
Jan 28, 2014   PLOT statements so each point is identified to SYSTEM.

                %VMXGPLCH(DATASET=PDB.YOURS,VARIABLE=SYSTEM,POSITION=4);
                RUN;
                PROC PLOT DATA=PDB.YOURS;
                PLOT X*Y=SYSTEM;
                FORMAT SYSTEM $PLOTCHAR.;  <== add in your report code
                RUN;

                An example in comments shows how to store the formatted
                value back into SYSTEM, so that your existing reports do
                not need to have that FORMAT statement inserted.
   Thanks to Sam Bass, McLane Co., USA.

Change 32.012  Many new spurious MXGWARN: DATASET xxx.yyy DOES NOT EXIST
VGETOBS        messages (BUILDPDB for ALL of the PDB.CICxx statistics
Jan 28, 2014   datasets read to create CICINTRV, i.e. where VMXGWORL
               calls VGETOBS first for PDB and then for WORK to find the
               "_L" or "_W" location) are printed after Change 31.180,
               because VGETOBS did not test for NOEXIMSG=YES in line 282
               causing the unwanted warning to be printed.  Now correct.
   Thanks to Carol Arnold, Brown Brothers Harriman & Co, USA.

Change 32.011  MXG 31.31-31.06. USER ABEND 1950  CICSTRAN DOES NOT EXIST
ASUMUOWT       because the ASUMUOWT (UOW TMON MONITASK vs CICSTRAN) did
Jan 28, 2014   not null the default _LCICTRN DDNAME value of CICSTRAN
               before it called VMXGUOW.  Previously, when VMXGUOW then
               called VGETOBS to test for the existence of the CICSTRAN
               libname, there was only a warning message, and as it was
               never actually referenced, PDB.ASUMUOWT was created fine.
               In Change 31.180, VGETOBS was changed to USER ABEND 1950
               so that you cannot overlook it, when you ask MXG to use
               a non-existent LIBNAME.
               The correction in ASUMUOWT: add  MACRO _LCICTRN _NULL_ ;
               in the existing %LET MACKEEP= redefinitions, but you can
               circumvent for ASUMUOWT just by adding a temp //CICSTRAN.
               This was missed in my QA because all ASUMUOWT tests just
               happened to also have a CICSTRAN LIBNAME allocated.
   Thanks to Frank Lund, EVRY AS, NORWAY.

Change 32.010  IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28.
ASMTAPEE       This is ML-52 level MXG Tape Mount Monitor.  With those
Jan 28, 2014   APARs, on a z/OS 1.13 system, after return from MCSOPMSG,
               Master Console Service, register AR15 returns non-zero,
               not previously observed, nor expected, nor protected, but
               because MXGTMNT is in AR mode, it fails with ABEND 0E0.
               MXGTMNT Starts and Shutdown with these messages:
                 IEA630I OPERATOR MXGC0004 NOW ACTIVE, SYSTEM=SYSX,
                         LU=MXGTMNT
                 MXGC009E Unrecoverable error in Allocation Recovery
                          Monitor, function is terminated.
                 MXGC008E Recoverable abend limit reached, monitor
                          extension subtask is terminated.
                 IEA630I OPERATOR MXGC0004 NOW INACTIVE,SYSTEM=SYSX,
               Register AR15 is now cleared in ML-52, now that we know
               we need to!
   Thanks to Warren Cravey, Fidelity Institutional, USA.
   Thanks to Chuck Laurent, Fidelity Institutional, USA.

Change 32.009 -RMF III Enhancements, Fixes, and Notes
ASMRMFV       -FROMDATE=/TODATE= and FROMTIME=/TOTIME= date and time
ADOCRMFV       selection parameters now have better error detection
Feb  2,2014    and diagnostics.  Error messages include more detail
               about what the specific error was.
              -FROMDATE=/TODATE= now support Gregorian style dates in
               the format of FROMDATE= or TODATE= ddmmmyyyy where dd is
               the day of the month, mmm is a 3 character month name,
               and yyyy is a 4 digit year.
              -Also supported are the following Gregorian style date
               formats for usability and flexibility: ddmmmyyy, ddmmmyy,
               ddmmmy, ddmmm, and mmm
              -For yyy, yy, and y years 2000 is added to create the
               year.  When no year is present the current year is used.
               When no day of the month is present the first day of the
               month is used.  mmm must always be present and cannot
               further be shortened.
              -Also supported are the following Gregorian style date
               formats so that a leading dd day of month zero is not
               required for days 1-9 of a month: dmmmyyyy, dmmmyyy,
               dmmmyy, dmmmy, and dmmm.
              -NOTE: Gregorian style dates are validated so that the dd
               value does not exceed the number of possible days in the
               month.  29FEB is only allowed for leap years.
              -NOTE: Similar to Julian style dates, YYYY366 is also
               only allowed for leap years.
              -NOTE: ASMRMFV supports dates from 2000.001 January 1,
               2000 through and including 2042.259 September 16, 2042.
               Dates outside this range will be flagged as errors.
              -NOTE: On 2042.260 September 17, 2042 the 8 byte TOD clock
               will wrap just after 22:53:47.370495 as all bits will be
               X'FF'.  If RMF Monitor III still exists at that time, IBM
               will need to use the Extended TOD clock or some other
               mechanism for time stamps in this data.
              -Generic values for FROMDATE= and TODATE= such as
               YESTERDAY and TODAY may now be shortened to as few
               characters as desired even down to the single characters
               Y and T.  Before the full length had to always be used
               which was cumbersome.
              -Processing routines for FROMDATE= and TODATE= are
               combined into a single routine for better efficiency as
               are the routines from FROMTIME= and TOTIME=.
              -A second RMFV041I message is now displayed for each found
               VSAM data set when using the Dynamic Method.  It includes
               the VSAM data set type, volume serial, average and
               maximum LRECL, Control Interval size, and Creation Date.
               This is intended to allow better identification that the
               correct RMF Monitor III VSAM data sets have been pattern
               selected by this method.
              -When message RMFV002I is displayed showing the JCL PARM=
               field contents, the length of the PARM field is now
               displayed.  There is a z/OS limit of 100 characters for
               the PARM= field.  If you are nearing this limit consider
               using the SYSIN DD file instead of or in addition to the
               PARM= field.
              -When execution environment messages RMFV001I are
               displayed, there is now an additional message showing the
               last IPL date, time, and IPL volume serial.
              -Parameter end processing was not validating that the
               FROMDATE= value did not exceed the TODATE= value when
               other errors had previously been detected.
              -Parameter end processing was not validating that the
               FROMTIME= value did not exceed the TOTIME= value when the
               same day had been selected and other errors had
               previously been detected.
              -Documentation in the ASMRMFV source prologue and in the
               ADOCRMFV member has been updated to discuss the new
               Gregorian style formats for FROMDATE= and TODATE=.  More
               examples are added also.
              -REQUIREMENT: In order to receive these improvements the
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps

Change 32.008  Cosmetic.  The text in the file created by UTILBLDP that
UTILBLDP       identifies the last change still had Change 30.115 after
Jan 27, 2014   Change 31.276.  A new QA test compares the text with the
               LAST UPDATED information in line 2 to detect mismatch.
   Thanks to Clayton Buck, UNIGROUP, USA.

Change 32.007  MXG 31.31.  SMF ID=111 INPUT STATEMENT EXCEEDED LENGTH,
VMAC111        because line 659 should be SKIP=SKIP-16; instead of -8.
Jan 27, 2014
   Thanks to Flemming Bramsen, SEMLER, DENMARK.

Change 32.006 -PDB.TAPES/PDB.ASUMTAPE variable BYTEWRIT for 3590 tapes
VMAC21         could still be too small, after Change 31.244, when more
Jan 26, 2014   than 64GB uncompressed bytes were written, i.e., when the
               count of 4K blocks written exceeds the 3-byte 'FFFFFF'x
               maximum in SMF21BW.  When SMF21BW overflowed, MXG used
               the compressed count in SMF21DBW when the uncompressed
               count in SMF21DBW should have been stored instead.
               The error can only impact DEVICE='3590'.  So far, only
               SMF21BW has exceeded 64GB, but the error would also be in
               BYTEREAD if SMF21BR had overflowed.
              -Variables SMF21BWN & SMF21BRN are now kept in PDB.TAPES.
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.

Change 32.005 -Support for ID=90 Subtype=35 SETLOAD XX IEASYM Command
FORMATS        record, overlooked because it is not listed in subtypes
VMAC90A        on page 734, and the documentation text was located after
EXTY9035       Subtype 33 instead of after Subtype 34 (and before 36).
VMXGINIT      -Discovered when updating the ANALID $MGSMFID format to
Jan 25, 2013   describe SMF record IDs 38, 85, 90, and 118 for ANALID.
              -All MXG FORMAT'S VALUES ARE NOW COMMA-FREE, for ease in
               exporting SAS datasets with formatted variables to EXCEL,
               since commas can't exist in CSV Comma Delimited files,
               and blanks read just as well where there were commas.
              -While far less likely to be exported, over time, I will
               also replace all commas in the LABELs of MXG variables.

Change 32.004  Cosmetic.  "Destructive" added to these variable's label:
VMAC116         WQGETA  ='MQGET*DESTRUCTIVE*(ANY)
Jan 23, 2014    WQGETS  ='MQGET*DESTRUCTIVE*(SPECIFIC)'
   Thanks to Pietro Rosella, Canadian National, CANADA

Change 32.003  OUTDATA= parameter added should you wish to preserve the
ANALCOMP       output dataset created by ANALCOMP.
Jan 22, 2014

Change 32.002 -Support DB2 QWHC Header variable QWHCAACE Initiator ACE,
VMACDB2H       added in DB2 V10 is now INPUT but only right four bytes
Jan 22, 2014   are input, as all other ACE fields are 4-bytes and data
               shows those are the populated bytes. Kept in all DB2 data
               sets that currently have QWHSACE from the QWHS header.
               Logic to detect that QWHCAACE is present require revision
               because records with only QWHCAACE are created, although
               the DB2 QWHC DSEC documents that both QWHCAACE and the
               two 2-byte offsets for EUTX/EUWN were added.
              -DB2 V10 increased QWHCEUTX Users Transaction Name length
               from $32 to $128 and QWHCEUWN Users Workstation length
               from $18 to $128, in two relocated "Truncated" segments.

Change 32.001 -NTSMF objects TCPV4 and TCPV6 were INCORRECTLY output in
VMACNTSM       dataset TCP versus the correct TCPV4 and TCPV6 datasets,
Jan 21, 2014   causing apparent duplicate observations in TCP dataset,
Jan 25, 2014   because the OBJECT=:'TCP' test should have been changed
               to be OBJECT=:'TCP ' when the new TCPV4 and TCPV5 objects
               were supported (or the test for those longer object names
               should have preceded the shorter name.)
              -WEB SERVICE CACHE object, dataset WEBSRVCA new variables:
                 WBSCOUMU WBSCOUCF WBSCOUCH WBSCOUCI WBSCOUFI WBSCOUTF
                 WBSCOUTH WBSCOUTM
              -ASP.NET APPLICATIONS object, dataset ASPNETAP, new vars:
                 ASPARQBI ASPARQBO ASPARQEX ASPARQFA ASPARQSU ASPARQTO
   Thanks to Carl Levy, Boeing, USA.
   Thanks to Kenneth R. Jallen, Boeing, USA.

LASTCHANGE: Version 32.
=========================member=CHANGE31================================
 /* COPYRIGHT (C) 1984-2014 MERRILL CONSULTANTS DALLAS TEXAS USA */

ANNUAL  MXG Version 31.31 is  dated Jan 20, 2014, thru Change 31.296
        MXG Version 31.09 was dated Dec 30, 2013, thru Change 31.278
        MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.244.
First   MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.240.
        MXG Version 31.07 was dated Sep 20, 2013, thru Change 31.204.
        MXG Version 31.06 was dated Sep  3, 2013, thru Change 31.187.
First   MXG Version 31.06 was dated Sep  1, 2013, thru Change 31.184.
  MXG Newsletter SIXTY-TWO was dated Sep  1, 2013.
        MXG Version 31.05 was dated Jul 29, 2013, thru Change 31.156.
        MXG Version 31.04 was dated Jun 26, 2013, thru Change 31.125.
        MXG Version 31.03 was dated Jun 17, 2013, thru Change 31.114.
        MXG Version 31.02 was dated May  5, 2013, thru Change 31.088.
First   MXG Version 31.02 was dated Apr 29, 2013, thru Change 31.079.
        MXG Version 31.01 was dated Mar 13, 2013, thru Change 31.044.
  MXG Newsletter SIXTY-ONE was dated Jan 21, 2013.
Annual  MXG Version 31.31 is dated Jan 20, 2014, thru Change 30.296.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 31.31 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 31.31.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

========================================================================


I.  MXG Version 31.31 dated Jan 20, 2014, thru Change 31.296.

  Major enhancement added in MXG 31.31, dated Jan 20, 2014:

  TYPE111  31.283  Support for CICS Transaction Gateway V9R0 (COMPAT)
  UTILEXCL 31.295  Negative values in variable TASELGTM with IMACEXCL.
  VMAC73   31.291  SMF73SPD Channel Speed now always in MBits/sec.
  TYPE30   31.280  IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL).
  ASMRMFV  31.296  RMF III Enhancements including new TABERR parameter.
  ASMRMFV  31.287  MXG 31.02-31.09. ASMRMFV could skip RCD tables.
  MXGLABEL 31.288  New %MXGLABEL creates LABEL with NAME and LABEL.
  VMXGINIT 31.285  JCL //INSTREAM DD is no longer required for z/OS MXG.
  ANALDB2R 31.286  Selection by PLAN moved into READDB2, saves time.
  TYPEDB2  31.282  DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.
  JCLUOTT2 31.293  Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
  GRAFWRKX 31.294  New NEWMODEL parameter view workloads on new CPU.
  FORMATS  31.291  MG073FR decodes SMF73CPP frame size 16/24/50/64KB.
  IHDRTMO2 31.290  TMON/CICS TA header exit IHDRTMO2 now after offsets.

  Major enhancement added in MXG 31.09, dated Dec 30, 2013:

  FORMATS  31.251  WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED.
  TYPEBVIR 31.254  BVIR30 dataset was incorrect with VERSION 3 records.
  TYPEDB2  31.245  Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
  TYPE102  31.258  Support for IFCID 359, "DB2 Statement ID" decoded.
  TYPE102  31.261  Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
  TYPE102  31.278  Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
  UTILBLDP 31.276  Ad hoc read SMF UTILBLDP is enhanced WANTSMF= list.
  TYPERMFV 31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  ASMRMFV  31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  TYPENMON 31.264  Support for Red Hat Linux Data Group,NFSCLIV4 metrics
  TYPEDB2  31.272  Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
  TYPE30   31.277  TYPE30MU dataset now has zero obs by default: useless
  VGETOBS  31.250  A better way to identify TAPE data libraries.
  READDB2  31.269  "Too few" IFCIDs listed caused no sort to PDBOUT.
  TYPE110  31.253  SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
  TYPEDB2  31.259  Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8
  TYPETPMX 31.263  ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
  TYPE7072 31.274  System with only CPs + ICFs, LPAR SHARE weight wrong.
  TYPE7072 31.266  MSU Units (Hardware vs Software) in TYPE70/TYPE72GO.
  GRAFCEC  31.246  NOT SORTED error with multiple CEC's data.
  ANALDB2R 31.262  Some AVG Buff stats wrong, possible dataset not found
  ANALHSM  31.260  Variable HSMPLEX added to all HSM reports.
  TYPE80A  31.257  TOKDANAM='UTYPE' ERROR if last, new TOK variables.
  ANALGRID 31.248  DATES= any one of the "one word" tokens didn't work.
  VGETOBS  31.247  ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
  VMXGRMFI 31.268  Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
  TYPEDB2  31.275  MXGWARN: T102S225 DOES NOT EXIST.
  Many     31.270  Messages with 'ERROR:' starting in byte one shifted.

  Major enhancement added in MXG 31.08, dated Nov 12, 2013:

  TYPEDB2  31.240  Support for DB2 V11.1. (MXG 30.30+ TOLERATES with no
                   EXECUTION error, but the QLST variables in DB2STATS
                   require MXG 31.04 for both DB2 V10.1 and V11.1.)
  ASMRMFV  31.230  RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
  ASMRMFV  31.230  RMF III Support for DSNTYPE=LARGE.
  MANY     31.221  ODS Support for TYPE=PDF, MANY ANALxxxx updated
  TYPECIMS 31.233  Correction for IMF 4.2 thru 5.1 (WRONG VALUES)
  TYPECIMS 31.206  Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).
  TYPEPDM  31.226  Support for Alebra Parallel Data Mover SMF record.
  TYPEJESC 31.225  Support for Emtex JESCONNECT SMF Record.
  EXCICJRN 31.217  Support for CICS "multi journal records".
  TYPETLMS 31.215  Support for new TLMS variables, compression percent
  TYPE7002 31.220  Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
  VGETOBS  31.212  Final (?) revisions to VGETOBS to bypass tape mounts.
  TYPE110  31.214  CICSJS variables SJSMAJCP/SJSMINCP are not CPU time.
  TYPE113  31.208  ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor.
  TYPE6    31.207  31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
  TYPE119  31.218  INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.
  TYPE42   31.216  INVALID DATA FOR S42CSYNC.
  ANALATEN 31.205  Analysis of Latent Demand report.
  VMXGSRCH 31.219  Search which character variables contain text string.
  WPS      31.224  Current status of WPS circumventions and differences.

  Major enhancement added in MXG 31.07, dated Sep 20, 2013:

  TYPE0    31.193  z/OS 2.1 ID=0 "IPL" RECORD now 68 bytes, MXG DELETES.
                   (ONLY A PROBLEM IF YOU THINK ID=0 IS AN IPL WHICH IT
                   often is not - always use the PDB.IPLS BUILDPDB DATA
                   to report IPL events. See change text.)

      The DB2 MXG 31.06 "VGETOBS" enhancements still had some glitches:
  ANALDB2R 31.204  ANALDB2R (31.06) with PDB=PDB and PDB on tape fails.
  READDB2  31.191  READDB2 PDBOUT=, or PDBOUT=XXX may not work right.
  VGETOBS  31.200  Revisions in concert with VMXGWORL for READDB2.
  VMXGWORL 31.200  Revisions in concert with VGETOBS  for READDB2.
             Those VGETOBS changes solved two very different problems:
                1. WPS failed when there was no LIBNAME when there was a
                   WHERE clause on PROC SQL read of DICTIONARY.TABLES.
                   Solved by looking at DICTIONARY.FILENAMES without a
                   WHERE first to see if the DD even exists.
                2. SAS mounting and rereading every tape with every
                   execution of VGETOBS reading DICTIONARY.TABLES, even
                   when there was NO where clause.
                   Solved by keeping track of tape DDs and excluding
                   them from DICTIONARY.TABLES searches with a WHERE
                   CLAUSE NE.
              -Solving problem 2 cut tape mounts in daily CICS/DB2 job
               at one site from over 90 to less than 20.

  TYPEDB2  31.196  Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
  TYPE115  31.188  Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S.
  FORMATS  31.189  Support for CEX41 Crypto Coprocessor type corrected.
  JCLVSB2U 31.198  JCL example to change RECFM=VBS to RECFM=U w/o copy.
  TYPEVMXA 31.194  MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112.
  TYPETMMQ 31.190  Many new variables added to TMMQQU MQ QUEUE dataset.
  TYPE117  31.199  S17NNDM added to the BY list _B117NOD for NODUP.
  TYPEIDMS 31.197  After MXG 30.30, only IDMS 17, zero obs in IDMSINS.

  Major enhancement added in MXG 31.06, dated Sep  3, 2013:

  TYPERMFV 31.181  RMF III Support for z/OS 2.1 plus Enhancements.
  TYPE115  31.179  Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.
  TYPE102  31.166  Support for IFCID=380 STORED PROCEDURE DETAILS
  TYPEBVIR 31.168  Support of Hydra/BVIR Version 3 new data fields.
  TYPEXAM  31.160  Support for Velocity Software new segments new data.
  All SMF  31.182  New INPUT SMF FILE DID NOT END WITH ID=3 message.
  TYPE113  31.169  SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.
  TYPE113  31.169  SMF 113 vars SM1132MT and SM1132MM were blank.
  TYPE113  31.172  Macro to re-label SMF 113 counters for old machine
  TYPE120  31.170  Variable SM1209BK (Short Server) added TYP1209C/S/U.
  TYPESHDE 31.177  SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong.
  TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.
  READDB2  31.167  DB2 V8 ONLY. V8-only IFCID=225 were not read.
  READDB2  31.165  PDB.DB2STAT1 not created with READDB2 STATISTICS.
  TYPEBETA 31.162  Variable JOB and BETAJOBN are now consistent.
  TYPE7072 31.174  WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial
  TYPENMON 31.164  Protection for invalid NMON DISKxxxx records.
  VMXGSRCH 31.171  UNABLE TO CREATE WORK.TABLES.DATA circumvented.

  VGETOBS  31.180  Circumvent WPS 3 ABEND with unopened LIBNAME on tape.
  READDB2  31.163  WPS 3 ONLY. WPS 3 Compiler macro resolution error.


  Major enhancement added in MXG 31.05, dated Jul 23, 2013:

  MANY     31.153  Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH DATA
  TYPEVMXA 31.151  Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.
  TYPETMD2 31.133  Support for TMON for DB2 Version 5 second iteration.
  ASMRMFV  31.150  MAJOR RMF III enhancement - dynamic VSAM allocation.
  TYPE70PR 31.140  SMF70GNM, Group Name, blank in MXG 31.03-31.04.
  TYPE70   31.130  SHARE Weights for zIIP/zAAPs corrected.
  TYPE78CU 31.127  Vars R783DCTM/DDTM (CU Connect/Disconnect) added.
  ASUMTAPE 31.149  _GRPMNNM/_GRPMNCD failed after Change 30.203.
  TYPERACF 31.146  INPUT STATEMENT ERROR RACF UNLOAD, invalid data too.
  TYPE120  31.143  TYP1209E variables SM1209DA-DF are accumulated.
  UTILEXCL 31.147  Support for CANPROD4, CANPROD5 and CANPROD6 fields
  VMAC80A  31.139  Support for RACF TOKDANAM='UNAME'.
  RMFINTRV 31.138  Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.
  TYPECIMS 31.137  IMF TRXZxxxx variables incorrectly input.
  TYPEWWW  31.137  IIS Log with ' ... ' COOKIE value caused MXG loop.
  READDB2  31.128  LDB2*** parameters were not honored.
  EXUTILEX 31.131  EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor.

  Major enhancement added in MXG 31.04, dated Jun 26, 2013:

  TYPENMON 31.119  Variables IPCSTIME and TIMEZONE added to NMONBBBP.
  TYPEEDGR 31.118  Support for EDGRXEXT variables added in z/OS 1.13
  TYPEDB2  31.117  DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
  TYPETPMX 31.116  TYPETPMX variable JOBNUM truncated if 6 digits long
  READDB2  31.115  READDB2 with COMPRESSED/Internal, NO OBS created.

  Major enhancement added in MXG 31.03, dated Jun 17, 2013:

  SAS Version 9.4 is COMPLETLY COMPATIBLE with MXG QA tests; no changes
  to MXG are required, no errors nor new warnings were observed.
  See SAS Technical Note in Newsletter SIXTY-TWO for comparison metrics.

  TYPEDB2  31.117  ALL QLSTxxxx VALUES IN DB2 V10 ARE WRONG.
  TYPEIMS  31.102  Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted.
  TYPEIMSA 31.102  Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted.
  TYPE110  31.110  CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.
  ASMTAPEE 31.105  ML-51 corrects MXGC010E error when STKX=NO used.
  TYPEDB2  31.093  New "INVALID" DB2 ID=100 ST=5 Startup now Supported.
                   (and more accurately, "UNDOCUMENTED/UNEXPECTED").
                   Prior MXG 31.02's could ABEND without this change.
                   MXG 31.01 and earlier will NOT fail, but will print
                   1,440 "CALL HOME" messages per subsystem per day.
  EXPDBACC 31.094  BUILDPDB enhancement: create your own acct variables.
  IMACICUS 31.090  MXG 31.02.  LENUSRCH=32 should be LENUSRCH=0 default.
  ANALID   31.086  SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.
  ASMRMFV  31.111  Further internal enhancements to RMF III support.

  Major enhancement added in re-dated MXG 31.02, dated May  5, 2013:

  TYPEDB2  31.088  Protection for INVALID ID=100 SUBTYPE=5 DB2 record.
  TYPEDB2  31.081  Support for DB2 V10 ID=100 ST=5 IFCID=369 CPU by CONN
                   New DB2 Statistics record with CPU and Wait Times and
                   all QBACxxxx variables by Connection Type.

  Major enhancements/corrections added in MXG 31.02, dated Apr 29, 2013:

  TYPEXDFG 31.049  Support for WAS XD (WebSphere Extended Deployment).
  ASMIDMP  31.068  Pace-contributed IDMS exit code for Change 31.018.
  JCLSQLID 31.067  Point-in-time mapping DBID/OBID hex to their names.
  ANALDB2R 31.067  Point-in-time mapping DBID/OBID hex to their names.
  ANALDB2R 31.061  New MXGACC03 report counts concurrent DBATs.
  ASMRMFV  31.062  RMF III Enhancements - blocking CPU and CPCDB.
  TYPERMRV 31.062  RMF III Enhancements - blocking CPU and CPCDB.
  TYPERMFV 31.074  RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong.
  TYPE74   31.072  Format MG0748L new value for 16 GB/s Link Type
  IMACICUX 31.051  Support for user field CHARGE creates USCHARGE Var.
  UTILEXCL 31.051  ***UNKNOWN FIELD*** protection still didn't protect.
  IMACCADI 31.060  CA-Dispatch CADIxxxx values corrected.
  TYPENMON 31.058  NMON records SEA, SEAPACKET, DONATE are supported.
  TYPEDB2  31.056  Variable THREADS now correctly set for ROLLUPs.
  TYPEPRPR 31.054  Corrections to '1031' and '1061' records.
  TYPEWWW  31.052  IIS Weblog URIQUERY with &=1 and no name supported.
  TYPE110  31.048  MXG 31.01 only, STID=29, CICSMDSA dataset wrong.
  IMAC6ESS 31.047  ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.
  TYPE90A  31.045  ID=90.6,7 EVENTIME is IPLTIME of the system.

  Major enhancements/corrections added in MXG 31.01, dated Mar 13, 2013:

  TYPEVFTP 31.023  Support for Software Diversified Services VFTP SMF.
  TYPEVIP  31.022  Support for Software Diversified Services VIP SMF.
  TYPESHDW 31.022  Support for Shadow user SMF subtype 21 record.
  TYPEBVIR 31.016  Support for BVIR Version 2.0/2.0a/2.1.
  TYPETMMQ 31.020  Support for TMON/MQ Version 2.15 new data.
  TYPE85   31.006  Support for OAM SMF ID=85 STs 90,91,92 and 93.
  TYPEIDMP 31.018  Support for PACE's IDMS 17 KOMAND/IDCS SMF record.
  TYPE102  31.001  Support for variable QW0141OT in T102S141 dataset.
  TYPENTSM 31.030  Major update for NTSMF adds datasets and variables.
  TYPERMFV 31.021  RMF III Enhancements including ASI/ENC blocking.
  TYPERMFV 31.004  RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.
  VGETWKLD 31.028  Hardcoded VIEWs removed.
  TYPE102  31.027  Variable QWHCEUWN added to T102Snnn DB2 datasets.
  PREINIT  31.026  Pre-MXG-Initialization exit for SASHELP.VEXTFL.
  TYPEDB2  31.015  "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
  VMACSMF  31.014  New %LET SMFPUTHD=NO; suppresses header messages.
  TYPE110  31.012  CICLDR output tests LDRTU instead of LDRFC.
  TYPETMNT 31.010  MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record.
  ANAL120  31.008  Example WebSphere SMF 120 reports revised.
  TYPE113  31.003  Message UNINIT VARIABLE SM1132MM minimal impact.
  CICINTRV 31.002  CICTSQ new A12xxxx variables now kept in CICINTRV.
  TYPEBVIR 31.039  Option to add SYSTEM value to IBM TS7700 BVIR data.
  TYPEBETA 31.036  BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
  ANALDB2R 31.034  MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

      SAS Version 9.4 and SAS 9.4.1 were both tested with NO CHANGES.
      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
      with your existing, installed SAS JCL procedure - see below.
      SAS Version 9.3 TS1M1 is RECOMMENDED for all PLATFORMS, because
      SAS Version 9.3 TS1M0 REQUIRES THE HOT FIX in SAS NOTE SN43828
      (for all platforms), and TS1M1 contains that Hot Fix.

      Note: SAS 9.2 is reduced to SAS Level B support Sep 30, 2013.
      Note: SAS 9.1.3 is reduced to SAS Level c support Sep 30, 2013.

      ***************************************************************
      As documented in Change 27.356, for SAS V9.2 or later):
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      or you can continue to use the MXGSAS93 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 31.31 will execute under SAS Version 9.3, on
      all supported platforms, but as noted above, you need TS1M1.  With
      TS1M0, then the Hot Fix in SAS Problem Note SN43828 is REQUIRED to
      correct an error in the %MACRO compiler, which is SAS portable
      code, so that Hot Fix is required for ALL platforms.
       The %MACRO compiler error is in processing %LET statements. While
       only two MXG members failed repeatedly in MXG QA tests on z/OS,
       there were random %LET errors in ASCII QA tests, so ANY use of
       %LET statement on ANY platform are vulnerable to this error, as
       the %MACRO compiler is SAS portable code, used on all platforms.
       So this is NOT just an MXG error, but impacts ALL SAS programs.
      With the Hot Fix on TS1M0, the full MXG QA test stream executed,
      and there were no new warnings on z/OS.

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.

      MXG 26.03 thru MXG 31.31 will execute under SAS V9.4, V9.3, V9.2
      or SAS V9.1.3 with Service Pack 4, on all supported SAS platforms.
        SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
        the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
        SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform,
        but SAS V9.2 does execute on that platform.

      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I can not guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
        Version 26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
        SAS V9.4 are interchangeable and can be read/written by any of
        those versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
        SAS V9.3 or SAS V9.4.

      For SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
        and V9.4. "PDBs" can be read/written interchangeably between
        these SAS versions.

        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:

      MXG QA tests are executed with V9.3 & V9.4, on z/OS, on Windows
      Seven (32-bit and 64-bit) and Eight (64-bit) on 64-bit hardware,
      and on Centos 6.4, but MXG users execute MXG on MANY (ALL??) SAS
      platforms, including AIX, Linux, and other 'nix' variants, on many
      different hardware platforms, and since they all work we don't
      need to list them.  If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

III.  WPS Version requirement information:

      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for WPS Support Statement.

      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
      when the LIBNAME PDB does not exist; there would also have been a
      prior log message  NOTE: Library PDB does not exist   as the clue.


IV.   MXG Version Required for Hardware, Operating System Release, etc.

    MXG is usually NOT sensitive to z/OS hardware changes.  However, MXG
    Version 30.07+ was REQUIRED for z/EC12 (for SMF 113, for 95 engines)
    and MXG 31.03+ is STRONGLY RECOMMENDED for the z/EC12 processor for
    the new zEC12 RMF data metrics added for that new platform.
    In August 2013, the MXG-L ListServer was abuzz with several postings
    from MXG users and additional references to SHARE papers that all
    reported that many z/EC12s are 30%-40% better than zPCR projected.

    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z/OS 2.1  COMPATIBLE             Jul 23, 2013        31.05
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011        29.05*
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012        30.01*
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012        30.08*
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013        30.30*
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013        31.03*
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02A
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 New vars + Compressed   Nov  1, 2010        28.07*
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011        28.28*
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011        29.07*
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011        30.07*
      DB2 10.1 DBID/OBID decode        Jan 21, 2013        30.30*
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013        31.04*
               (ONLY IMPACTS DB2STATS)
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        27.01*
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004        26.01*
      IMS log 10.0                     Mar 06, 2007        26.01*
      IMS log 11.0                     Apr  1, 2010        28.02*
      IMS log 12.0                     Jan 23, 2012        29.29*
      IMS log 13.0                     Oct 25, 2013        31.03
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       The Monitor for CICS TCE 3.4 (for CICS/TS 5.1)      30.30
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V6R3 SMF 102                                30.037
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               26.02*
       IMF 4.4 (for IMS 9.1)                               31.08*
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08
       IMF 4.6 a/k/a Mainview IMS                          31.08*
       IMF 5.1 a/k/a Mainview IMS                          31.08
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07

V.    Incompatibilities and Installation of MXG 31.31.


 1. Incompatibilities introduced in MXG 31.31:

  a- Changes in MXG architecture made between 31.31 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

      An MXG Version never "expires" nor "goes out of Support".  When
      you put in a new product/subsystem/Release/APAR that incompatibly
      changed its records then you must install the current MXG Version
      or at least be using the minimum level of MXG that is currently
      documented in the preceding list in section IV.



VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.



Alphabetical list of important changes in MXG 31.31 after MXG 30.30:

  Dataset/
  Member   Change    Description


  ANAL120  31.008  Example reports revised.
  ANALATEN 31.205  Analysis of Latent Demand report.
  ANALDB2R 31.034  MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.
  ANALDB2R 31.061  New MXGACC03 report counts concurrent DBATs.
  ANALDB2R 31.067  Point-in-time mapping DBID/OBID hex to their names.
  ANALDB2R 31.262  Some AVG Buff stats wrong, possible dataset not found
  ANALDB2R 31.286  Selection by PLAN moved into READDB2, saves time.
  ANALGRID 31.248  DATES= any one of the "one word" tokens didn't work.
  ANALHSM  31.260  Variable HSMPLEX added to all HSM reports.
  ANALID   31.086  SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.
  ASMIDMP  31.068  Pace-contributed IDMS exit code for Change 31.018.
  ASMRMFV  31.062  RMF III Enhancements - blocking CPU and CPCDB.
  ASMRMFV  31.111  Blocking SVP tables over 32K length enhancement.
  ASMRMFV  31.150  MAJOR RMF III enhancement - dynamic VSAM allocation.
  ASMRMFV  31.230  RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
  ASMRMFV  31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  ASMRMFV  31.287  MXG 31.02-31.09. ASMRMFV could skip RCD tables.
  ASMRMFV  31.296  RMF III Enhancements including new TABERR parameter.
  ASMTAPEE 31.105  ML-51 corrects MXGC010E error when STKX=NO used.
  ASUMSMFI 31.073  Variable TYPETASK added to ASUMSMFI summary dataset.
  ASUMTAPE 31.149  _GRPMNNM/_GRPMNCD failed after Change 30.203.
  CICINTRV 31.002  CICTSQ new A12xxxx variables now kept in CICINTRV.
  EXCICJRN 31.217  Support for CICS "multi journal records".
  EXPDBACC 31.094  BUILDPDB enhancement: create your own acct variables.
  EXUTILEX 31.131  EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor.
  FORMATS  31.189  Support for CEX41 Crypto Coprocessor type corrected.
  FORMATS  31.251  WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED.
  FORMATS  31.291  MG073FR decodes SMF73CPP frame size 16/24/50/64KB.
  GRAFCEC  31.246  NOT SORTED error with multiple CEC's data.
  GRAFWRKX 31.294  New NEWMODEL parameter view workloads on new CPU.
  IHDRTMO2 31.290  TMON/CICS TA records IHDRTMO2 now after the offsets.
  IMAC6ESS 31.047  ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.
  IMACCADI 31.060  CA-Dispatch CADIxxxx values corrected.
  IMACICUS 31.090  MXG 31.02.  LENUSRCH=32 should be LENUSRCH=0 default.
  IMACICUX 31.051  Support for user field CHARGE creates USCHARGE Var.
  JCLSQLID 31.067  Point-in-time mapping DBID/OBID hex to their names.
  JCLUOTT2 31.293  Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
  JCLVSB2U 31.198  JCL example to change RECFM=VBS to RECFM=U w/o copy.
  MANY     31.221  ODS Support for TYPE=PDF, MANY ANALxxxx updated
  MXGLABEL 31.288  New %MXGLABEL creates LABEL with NAME and LABEL.
  Many     31.270  Messages with 'ERROR:' starting in byte one shifted.
  PREINIT  31.026  Pre-MXG-Initialization exit for SASHELP.VEXTFL.
  READDB2  31.115  READDB2 with COMPRESSED/Internal, NO OBS created.
  READDB2  31.128  LDB2*** parameters were not honored.
  READDB2  31.163  WPS ONLY. WPS Compiler macro resolution error.
  READDB2  31.165  PDB.DB2STAT1 not created with READDB2 STATISTICS.
  READDB2  31.167  DB2 V8 ONLY. V8-only IFCID=225 were not read.
  READDB2  31.191  READDB2 PDBOUT=, or PDBOUT=XXX may not work right.
  READDB2  31.191  READDB2 revision for PDBOUT=WORK or PDBOUT=XXX.
  READDB2  31.269  "Too few" IFCIDs listed caused no sort to PDBOUT.
  RMFINTRV 31.138  Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.
  TYPE0    31.193  TYPE 0 IPL RECORD now 68 bytes in z/OS 2.1, DELETED.
  TYPE0    31.193  z/OS 2.1 SMF ID=0 Length changed, record DELETED.
  TYPE102  31.001  Support for variable QW0141OT in T102S141 dataset.
  TYPE102  31.027  Variable QWHCEUWN added to T102Snnn DB2 datasets.
  TYPE102  31.166  Support for IFCID=380 STORED PROCEDURE DETAILS
  TYPE102  31.258  Support for IFCID 359, "DB2 Statement ID" decoded.
  TYPE102  31.261  Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
  TYPE102  31.278  Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
  TYPE110  31.012  CICLDR output tests LDRTU instead of LDRFC.
  TYPE110  31.048  MXG 31.01 only, STID=29, CICSMDSA dataset wrong.
  TYPE110  31.075  ASCII execution, RTYPE/RRTYPE may be incorrect.
  TYPE110  31.110  CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.
  TYPE110  31.214  CICSJS variables SJSMAJCP/SJSMINCP are not CPU time.
  TYPE110  31.253  SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
  TYPE111  31.283  Support for CICS Transaction Gateway V9R0 (COMPAT)
  TYPE113  31.003  Message UNINIT VARIABLE SM1132MM minimal impact.
  TYPE113  31.169  SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.
  TYPE113  31.169  SMF 113 vars SM1132MT and SM1132MM were blank.
  TYPE113  31.172  Macro to re-label SMF 113 counters for old machine
  TYPE113  31.208  ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor.
  TYPE115  31.179  Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.
  TYPE115  31.188  New TYPE115S dataset for SMDS/QEST data.
  TYPE115  31.188  Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S.
  TYPE117  31.199  S17NNDM added to the BY list _B117NOD for NODUP.
  TYPE119  31.218  INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.
  TYPE120  31.143  TYP1209E variables SM1209DA-DF are accumulated.
  TYPE120  31.170  Variable SM1209BK (Short Server) added TYP1209C/S/U.
  TYPE30   31.277  TYPE30MU dataset now has zero obs by default: useless
  TYPE30   31.280  IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL).
  TYPE42   31.216  INVALID DATA FOR S42CSYNC.
  TYPE6    31.106  PRINTWAY and PSF TYPE6 TASKTIME TCP/PSF/TCPE values.
  TYPE6    31.207  31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
  TYPE70   31.130  SHARE Weights for zIIP/zAAPs corrected.
  TYPE7002 31.220  Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
  TYPE7072 31.174  WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial
  TYPE7072 31.266  MSU Units (Hardware vs Software) in TYPE70/TYPE72GO.
  TYPE7072 31.274  System with only CPs + ICFs, LPAR SHARE weight wrong.
  TYPE70PR 31.140  SMF70GNM, Group Name, blank in 31.03-31.04.
  TYPE74   31.072  Format MG0748L new value for 16 GB/s Link Type
  TYPE78CU 31.127  Vars R783DCTM/DDTM (CU Connect/Disconnect) added.
  TYPE80A  31.257  TOKDANAM='UTYPE' ERROR if last, new TOK variables.
  TYPE85   31.006  Support for OAM SMF ID=85 STs 90,91,92 and 93.
  TYPE90A  31.045  ID=90.6,7 EVENTIME is IPLTIME of the system.
  TYPEBETA 31.036  BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
  TYPEBETA 31.162  Variable JOB and BETAJOBN are now consistent.
  TYPEBVIR 31.016  Support for BVIR Version 2.0/2.0a/2.1.
  TYPEBVIR 31.039  Option to add SYSTEM value to IBM TS7700 BVIR data.
  TYPEBVIR 31.168  Support of Hydra/BVIR Version 3 new data fields.
  TYPEBVIR 31.254  BVIR30 dataset was incorrect with VERSION 3 records.
  TYPECIMS 31.137  IMF TRXZxxxx variables incorrectly input.
  TYPECIMS 31.206  Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).
  TYPECIMS 31.233  Correction for IMF 4.2 thru 5.1 (WRONG VALUES)
  TYPEDB2  31.015  "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
  TYPEDB2  31.056  Variable THREADS now correctly set for ROLLUPs.
  TYPEDB2  31.081  Support for DB2 V10 ID=100 Subtype 5 DB2STAT5 dataset
  TYPEDB2  31.093  DB2STAT5 "INVALID" record supported, STARTUP event.
  TYPEDB2  31.108  DB2STATS vars QXSTCWLP+ and QISTWMXU incorrect.
  TYPEDB2  31.117  DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
  TYPEDB2  31.196  Support for APAR PM67806 adds QW0225DMH DMH GETM.
  TYPEDB2  31.196  Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
  TYPEDB2  31.240  Support for DB2 V11.1. MXG 30.30 TOLERATES, see text.
  TYPEDB2  31.245  Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
  TYPEDB2  31.259  Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8
  TYPEDB2  31.272  Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
  TYPEDB2  31.275  MXGWARN: T102S225 DOES NOT EXIST.
  TYPEDB2  31.282  DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.
  TYPEEDGR 31.118  Support for EDGRXEXT variables added in z/OS 1.13
  TYPEIDMP 31.018  Support for PACE's IDMS 17 KOMAND/IDCS SMF record.
  TYPEIDMS 31.197  After MXG 30.30, only IDMS 17, zero obs in IDMSINS.
  TYPEIMS  31.102  IMS 13 inserted field in 07 Log record INCOMPAT
  TYPEJESC 31.225  Support for Emtex JESCONNECT SMF Record.
  TYPENMON 31.058  NMON records SEA, SEAPACKET, DONATE are supported.
  TYPENMON 31.119  Variables IPCSTIME and TIMEZONE added to NMONBBBP.
  TYPENMON 31.164  Protection for invalid NMON DISKxxxx records.
  TYPENMON 31.264  Support for Red Hat Linux Data Group,NFSCLIV4 metrics
  TYPENTSM 31.030  Major update for NTSMF adds datasets and variables.
  TYPEPDM  31.226  Support for Alebra Parallel Data Mover SMF record.
  TYPEPRPR 31.054  Corrections to '1031' and '1061' records.
  TYPERACF 31.146  INPUT STATEMENT ERROR RACF UNLOAD, invalid data too.
  TYPERMFV 31.004  RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.
  TYPERMFV 31.021  RMF III Enhancements
  TYPERMFV 31.074  RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong.
  TYPERMFV 31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  TYPERMRV 31.062  RMF III Enhancements - blocking CPU and CPCDB.
  TYPESHDE 31.177  SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong.
  TYPETLMS 31.215  Support for new TLMS variables, compression percent
  TYPETMD2 31.133  Support for TMON for DB2 Version 5 second iteration.
  TYPETMMQ 31.020  Support for TMON/MQ Version 2.15 new data.
  TYPETMMQ 31.190  Many new variables added to TMMQQU MQ QUEUE dataset.
  TYPETMMQ 31.190  New variables added to TMMQQU.
  TYPETMNT 31.010  MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record.
  TYPETPMX 31.116  TYPETPMX variable JOBNUM truncated if 6 digits long
  TYPETPMX 31.263  ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
  TYPEVFTP 31.023  Support for Software Diversified Services VFTP SMF.
  TYPEVIP  31.022  Support for Software Diversified Services VIP SMF.
  TYPEVMXA 31.151  Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.
  TYPEVMXA 31.194  31.02-31.06, z/VM 6.2.12, STOSHG BROKEN CONTROL REC.
  TYPEVMXA 31.194  MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112.
  TYPEWWW  31.052  IIS Weblog URIQUERY with &=1 and no name supported.
  TYPEWWW  31.137  IIS Log with ' ... ' COOKIE value caused MXG loop.
  TYPEXAM  31.160  Support for Velocity Software new segments new data.
  TYPEXDFG 31.049  Support for WAS XD (WebSphere Extended Deployment).
  TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.
  UTILBLDP 31.276  Tool to ad hoc read SMF is enhanced WANTSMF= list.
  UTILEXCL 31.051  ***UNKNOWN FIELD*** protection still didn't protect.
  UTILEXCL 31.147  Support for CANPROD4, CANPROD5 and CANPROD6 fields.
  UTILEXCL 31.295  Negative values in variable TASELGTM with IMACEXCL.
  VGETOBS  31.180  Circumvent WPS ABEND with unopened LIBNAME on tape.
  VGETOBS  31.200  Revisions in concert with VMXGWORL for READDB2.
  VGETOBS  31.212  Final (?) revisions to VGETOBS to bypass tape mounts.
  VGETOBS  31.247  ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
  VGETOBS  31.250  A better way to identify TAPE data libraries.
  VGETWKLD 31.028  Hardcoded VIEWs removed.
  VMAC73   31.291  SMF73SPD Channel Speed now always in MBits/sec.
  VMAC80A  31.139  Support for RACF TOKDANAM='UNAME'.
  VMACSMF  31.014  New %LET SMFPUTHD=NO; suppresses header messages.
  VMXGINIT 31.285  JCL //INSTREAM DD is no longer required for z/OS MXG.
  VMXGRMFI 31.268  Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
  VMXGSRCH 31.171  UNABLE TO CREATE WORK.TABLES.DATA BECAUSE ..VIEW....
  VMXGSRCH 31.219  Search which character variables contain text string.
  VMXGWORL 31.200  Revisions in concert with VGETOBS  for READDB2.
  WPS      31.224  Current status of WPS circumventions and differences.

  See member CHANGESS for all changes ever made to MXG Software.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 31.

====== Changes thru 31.296 were in MXG 31.31 dated Jan 20, 2014=========

Change 31.296 -RMF III Enhancements and Fixes
ASMRMFV       -New parameter TABERR=ABEND/IGNORE/WARN directs ASMRMFV
ADOCRMFV       when one or more RMF Monitor III table validation
ZASMRMFV       errors have occurred (default WARN).  Table validation
Jan 18,2014    has been part of ASMRMFV since Change 31.080 in MXG
               V31.02.

              -Validating RMF III tables prevents incorrect and/or
               conflicting data from being absorbed into an MXG PDB that
               could be difficult to detect, diagnose, and resolve.

              -A validation error occurs when an offset or length within
               a table is not as expected or is logically inconsistent.
               For example, the length of the table header is greater
               than the total table length.  This should be a VERY RARE
               event.

              -However, in past versions ASMRMFV could issue Return Code
               0000 when such errors occurred thus making it appear that
               there were not any problems in the ASMRMFV run.

              -With this change ASMRMFV will issue Return Code 0016 when
               one or more table validation errors occur.  This is the
               only condition for which this Return Code is issued.

              -When a table validation error occurs the entire table is
               skipped and thus the data will not appear in the result
               PDB.

              -These errors are thus a significant event and should be
               reported to MXG Technical Support as soon as possible.
               Use TABERR=IGNORE to bypass these errors and not set
               Return Code 0016 until the issue can be resolved.

              -Such tables are skipped and written to the optional
               RMFSKIP DD if present in JCL.  They will not be included
               in the result PDB so all data in the table is lost.
               These are not reliable data sources and could result in
               more serious problems if they were input to a PDB build.

              -RMFV035* (*=I,S) is now a variable severity message that
               reports table validation errors both in ASMRMFV detail
               and summary reports. In some cases RMFV035* will report
               more details on the specific error.

              -Prologue documentation in ASMRMFV source code and in the
               ADOCRMFV member has been updated with a discussion of the
               TABERR= parameter.

              -Performance for the output of some RMF III tables to the
               RMFBSAM file is improved by using block data moves to the
               output buffer when moving contiguous entries within a
               table.  In the past ASMRMFV moved single entries at a
               time.  This applies to the CPD, CSR, ENT, OPD, and SPG
               tables only.

              -RCD processing did not include the RCDRD section when
               validating this table and this is corrected.

              -ASMRMFV was initializing variable mode messages before
               PARM processing was complete so that *ERR= PARM overrides
               were not affecting the corresponding message format.  The
               overrides were functional but the corresponding message
               format could be incorrect.

              -The patch for Change 31.287 only is included in the
               archival ZASMRMFV member intended only for use with
               non-z/Architecture hardware.  No other changes after
               Change 31.181 are included as this member is stabilized.

              -REQUIREMENT: In order to receive these improvements the
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.

Change 31.295  Negative values in variable TASELGTM, zIIP Eligible time,
UTILEXCL       in dataset CICSTRAN, when UTILEXCL was used to create the
Jan 18, 2014   tailored IMACEXCL member (support for EXCLUDEd fields in
               your CICS SMF 110 records).  The generated IMACEXCL code
               incorrectly subtracted TASZIPTM from OFFLCPTM.
              -UTILEXCL logic to KEEP TASELGTM,TASZIPTM was added.
   Thanks to Paul Volpi, UHC, USA.

Change 31.294  NEWMODEL parameter added to GRAFWRKX to allow you to
GRAFWRKX       see what your workloads would look like on a different
Jan 18, 2014   CPU model.  Formats TMPSUSEC and TMPNRCPU are defined
               in member GRAFWRKX to map NEWMODEL to Hardware SU_SEC
               and NRCPU Engine count for MSU Capacity for the new
               processor, to recalculate CPU time and percent busy.

Change 31.293  Sample JCL to create PDB.ASUMUOW, PDB.CICS for TMON/CICS.
JCLUOTT2       The MONICICS file is read with tailored "TYPETMO2" logic
Jan 16, 2012   to create MONITASK dataset, but KEEPs only the variables
               that are needed, to save disk space, CPU, and I/O.  Then,
               MONITASK dataset is summarized by ASUMUOW and ASUMCICX
               to create the PDB.ASUMUOW and PDB.CICS summary datasets.
               No DB2 nor MQ data is processed in this example.

Change 31.292  The DATASET name requested is now printed in the default
VMXGPRNT       TITLE1 by VMXGPRNT.  However, see also MXGLABEL that is
Jan 15, 2014   added by Change 31.288 which may be simpler to learn!
              -MXGWARN that WORK.SP_L does not exist is suppressed.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.291  Variable SMF73SPD was in MBits/sec if SMF73MSC=0 or was
FORMATS        in Bits/sec otherwise with Bits/sec in the label, but it
VMAC73         makes more sense to label and store MBits/sec for this
VMAC79         new Channel Speed metric added by APAR OA22918 for z196
Jan 16, 2014   (High Performance FICON support). SMF73SPD is zero for
               FICON Express 4 channels; the enhanced metrics are only
               generated by FE-8 and FE-8S or later channels.
              -Variable SMF73CPP in TYPE73 and R79CCPP in TYPE79 are
               decoded by MG073FR format to display the channel path
               frame size (16/24/40/64KB).
   Thanks to Dr. H. Pat Artis, Performance Associates, USA.
   Thanks to Brian Currah, Independent Consultant, CANADA.

Change 31.290  For TMON/CICS Transaction Records, 'TA', the IHDRTMO2
IHDRTMO2       exit is now taken AFTER the offsets to the 22 subsections
VMACTMO2       have been INPUT so you can know what data is present and
Jan 15, 2014   so you could reset the NUMBER to zero to suppress their
               processing; IHDRTMO2 comments identify entry variables.

Change 31.289  Cosmetic. VGETOBS could be called with DATASET=_NULL_,
VGETOBS        notably in VMXGUOW if MQ/DB2/CICS is suppressed.
Jan 12, 2014   This change detects the _NULL_ and returns eliminating
               warning messages.

Change 31.288  New MXGLABEL macro reads the contents of a SAS dataset to
MXGLABEL       create a LABEL statement with the VARIABLE NAME and LABEL
Jan 16, 2014   as the label's value for each variable in that dataset.
               These labels are the same as VMXGPRNT/VMXGPRA1/VMXGPRAL
               print, but if you know how to use PROC PRINT, you can use
               MXGLABEL and not have to learn those program's arguments:

                 %MXGLABEL(DATASET=PDB.JOBS,NAMEPOSITION=BOTTOM);
                 PROC PRINT DATA=PDB.JOBS SPLIT='*';
                 &MXGLABEL;
                 TITLE PRINT WITH NAME AND LABEL OF DATASET &MXGDATASET;

               The VARIABLE NAME can be at the TOP or BOTTOM of the new
               label when split-printed, and you can choose the bookend
               character (around the variable name) and even change the
               asterisk SPLIT CHARACTER.
              -%MXGLABEL also creates a macro variable &MXGDATASET with
               the name of the dataset dataset name (like for TITLEs).

              -The LABEL statement is returned in both the old-style
               macro token _MXGLABL and in the macro variable &MXGLABEL.

              -Macro variables are limited to 64K characters, and with
               a 32-character name and 40-character label, only 858 vars
               labels would fit in 64K text, but this implementation has
               no such limit, by storing only the NAME of the old-style
               macro (%LET MXGLABEL= _MXGLABL;) for the macro variable's
               value, so only your disk space limits amount of code.
               THIS ONLY WORKS IF &MXGLABEL IS EQUATED TO _MXGLABL TEXT
               BEFORE MACRO _MXGLABL IS INSTANTIATED.  Equating after
               instantiation will fail if the expanded text exceeds 64K.
              -The USEFILE argument defaults to MXGLABEL and writes to
               the WORK file as a CATALOG so it can be any 8-character
               file name for the write and read. See Change 31.285.
              -A LABEL statement AFTER the &MXGLABEL statement will
               override the stored label; SAS uses the last statement.

Change 31.287  MXG 31.02-31.09.  ASMRMFV could skip RCD tables during
ASMRMFV        validation added in Change 31.080 (MXG 31.02) of the
Jan 12, 2014   RCDSD/RCDPD section entry lengths.  There were no error
               nor warning messages, but an uncleared register could
               cause the calculated length to exceed 32K which caused
               the entire RCD record to be not be written to RMFBSAM,
               causing RCD datasets to have zero observations.
               (The ASMRMFV report of record types read/written did
               show there were RCD records read but now all written.)
               The register is now cleared in the two overlooked places.

              -This change to ASMRMFV also requires MXG at 31.09 to read
               the new RMFBSAM 31.287 records, due to new source members
               added to support the CAT records.  Specify NOCAT instead.
              -However, if you update your current ASMRMFV with these
               two one-line-inserts in  ASMRMFV, the RCD records won't
               be skipped, and your current MXG VMACRMFV processing will
               correctly populate the RCD datasets.
               Find these two ICM statements in your ASMRMFV and insert
               the SR statement between the JL and ICM like this:

                  JL    SKIPRCD            YES, ERROR
                  SR    R0,R0              SET REG0=0  <===ADD THIS LINE
                  ICM   R0,3,RCDPDAL(R9)   GET LENGTH OF ONE RCDRD ENTRY

                  JL    SKIPRCD            YES, ERROR
                  SR    R0,R0              SET REG0=0  <===ADD THIS LINE
                  ICM   R0,3,RCDSDAL(R9)   GET LENGTH OF ONE RCDRD ENTRY

               Member JCLASM3 is the sample JCL for the assembly and
               link-edit installation of the EDITed ASMRMFV.
    Thanks to LaRae Balthazor, Charles Schwab, USA
    Thanks to Anh Ngo, Charles Schwab, USA

Change 31.286  If you specified MXGxxxxx=NO, to skip that report, errors
ANALDB2R       resulted: ANALDB2R syntax error caused that parameter to
Jan 11, 2014   be compiled as a DATA step statement, but there was no
               semi-colon to end the statement, causing various errors.
               NO or blanks are now taken as NO.

               If you specified PLAN= with PDB=SMF, the PLAN name was
               not passed to READDB2 so ALL records were read and then
               selection was done by ANALDB2R after READDB2, where it
               should have been done to minimize disk,I/O,CPU,etc.
               PLAN is now included in this list of parameters that can
               be passed from ANALDB2R to READDB2 for READDB2 selection.
                 AUTHID BEGTIME CONNID CONNTYPE DB2 ENDTIME PLAN
   Thanks to Stephen Hughes, Excellus, USA.

Change 31.285  SEE CHANGE 32.022 WHICH REMOVED THIS CHANGE FROM MXG.
VMXGINIT       INSTREAM FILEREF OR DDNAME IS STILL REQUIRED IN MXG.
Jan 13, 2014   ORIGINAL CHANGE TEXT:
Feb  4, 2014   The //INSTREAM DD is no longer required for MXG on z/OS.
               Now, VMXGINIT, at MXG Initialization, executes
                FILENAME INSTREAM CATALOG 'WORK.MXGTEMP.INSTREAM';
               which allows INSTREAM to be used as an external I/O file.
               On z/OS, the CATALOG will be used when there is no DD.
               On ASCII, the VMXGINIT FILENAME INSTREAM is always used,
               since it will be after any FILENAME in AUTOEXEC and will
               replace an existing INSTREAM fileref if one exists.

               MXG has always required an INSTREAM fileref, either as
               //INSTREAM DD in the JCL, or FILENAME INSTREAM, because
               MXG writes text (SAS statements) to it "on the fly" and
               a %INCLUDE INSTREAM;  executes the created program code.

              -The CATALOG syntax has a three or four part name
                FILENAME INSTREAM CATALOG 'lib.catalog.entry.entrytype'
                where entrytype can be anything for READ, but only LOG,
                OUTPUT, SOURCE, or CATAMS (the default 4th) for WRITE.
               -In testing this transparent enhancement, I re-discovered
               .On z/OS or ASCII, FILENAMEs allocated with a FILENAME
                can be CLEARed, and the MXGNAMES/VMXGCNFG JCL for z/OS
                uses FILENAME INSTREAM, so INSTREAM it could be cleared.
               .On z/OS, FILENAMEs allocated in JCL cannot be CLEARED.
               .But you should never need to CLEAR the JCL INSTREAM DD:
                  There's nothing that precious about FILENAME INSTREAM
                  except that it is guaranteed to be there when needed.
                  Especially since you can't clear the JCL DD anyhow!
                  You can always use a different NAME in your FILENAME
                  statement, with either CATALOG or TEMP to create an
                  external file for your "instream" code creation. I did
                  consider using TEMP instead of CATALOG for INSTREAM
                  default in VMXGINIT, but on z/OS the CATALOG syntax is
                  simpler, while the more complex (but more powerful)
                  TEMP option requires device and size and JCL DD stuff.
               .ERROR: Catalog WORK.MXGTEMP DOES NOT EXIST if you try to
                read INSTREAM (INCLUDE/INFILE) before it was written.

Change 31.284  If you specified MXGMQADD=NO and executed _SUOWMQ you got
VMXGUOW        a SAS message that a data step was being stopped because
Jan  9, 2014   it was looping.  This was caused by the absence of a SET
               statement that is conditionally executed if MXGMQADD=YES.
               An ELSE STOP; was added to prevent the message (which
               did not cause an ABEND or failure.)

Change 31.283  Support for CICS Transaction Gateway CTG V9R0 (COMPAT).
VMAC111       -Variable CTGSTART, DAEMON*START*DATETIMESTAMP is INPUT
Jan  9, 2014   and kept in all TY111xx datasets.
              -New variables added to TY111GD Daemon dataset:
                CTGIRESP='INTRV*DAEMON*AVG RESP*WITH I/O'
                CTGLRESP='LIFE*DAEMON*AVG RESP*WITH I/O'
                CTGIXNHI='INTRV*PEAK*INFLIGHT*XA TRANS'
                CTGIXNHI='LIFE*PEAK*INFIGHT*XA TRANS'
               See correction in Change 32.007.

Change 31.282  APAR PI06009 to TDS DB2PM reports notes their report will
VMACDB2        display '*ROLSUM*' for DB2 V10 Packages with QPACRUSM='Y'
Jan  8, 2014   for the new Rollup Summary record flag, while '*ROLLUP*'
               is unchanged in V9 if QPACROLL='Y'.  With this alert, MXG
               variable DB2PARTY='R' is now set if QPACRUSM='Y' so both
               Rollup and Rollup Summary records are identified in the
               DB2ACCTP dataset.

Change 31.281  DB2 dataset T102S377 variable QW0377PT was incorrectly
VMAC102        input as 4 bytes when it is a 2 byte field, which caused
Jan  8, 2014   wrong values in QW0377FL/QW0377PG/QW0377NU.
                (This was my bad for missing my own coding error, that
                wasted the customer and IBM DB2 Support's time.)
   Thanks to Bart Steegmans, IBM DB2 Support, USA.

Change 31.280  MXG variable IOTMNOCA=SMF30AIC-IOTMDASD now correctly
VMAC30         compares the DASD connect time captured in SMF30AIS with
Jan  1, 2014   the sum of IOTM from the DASD DD segments; previously it
               incorrectly used IOTMTOTL in the equation.
               Values from minus 20 seconds to plus 20 seconds are found
               occasionally, where minus 20 means that the DD segment
               IOTM was greater than the SMF30AIC DASD connect time.

====== Changes thru 31.278 were in MXG 31.09 dated Dec 30, 2013=========

Change 31.278 -Support for DB2 Trace IFCID=377 (PSEUDO DELETE CLEANUP).
EX102367       creates T102S377 dataset.
EX102374      -Support for (HEADER ONLY) all of these new ID=102 IFCIDs
EX102375       that are documented in DB2 V11;
EX102376          367 374 375 376 378 379 382 383 384 385 386 397
EX102377          398 399 499
EX102378       Actual data records are required to decode new IFCIDs,
EX102379       but by adding the structure for all of these possible 102
EX102382       subtypes, only VMAC102 itself will need to be updated to
EX102383       decode the IFCID-unique variables in these records.
EX102384
EX102385
EX102386
EX102397
EX102398
EX102399
EX102499
IMAC102
VMAC102
VMXGINIT
Dec 28, 2013
   Thanks to Paul Walters, Navy Federal Credit Union, USA.

Change 31.277  TYPE30MU dataset now has zero obs by default.  It is not
EXTY30MU       actually used by IBM SCRT nor MXG for analysis, it can be
Dec 26, 2013   very large, because it replicates product segments in the
               same interval, and because if you really need it, it can
               be easily enabled, by removing the comment block in the
               EXTY30MU exit member in your "USERID.SOURCLIB" tailoring.

Change 31.276  UTILBLDP is the RECOMMENDED ad hoc tool to read SMF data.
UTILBLDP       New WANTSMF="list of ID.SUBTYPE" provides easier syntax
Dec 26, 2013   for selection of ID/SUBTYPES you want to be read.  You
               select the PRODUCTS with BUILDPDB=YES or USERADD=n m z.
               You then use either WANTSMF= to select the ones you want,
               or you use the existing ZEROOBS= to alternatively force
               the unwanted subtypes to have zero observations.
                 %UTILBLDP(BUILDPDB=NO,
                           USERADD=42 7072 71 73 74 CMF,
                           WANTSMF=42.6 70.1 73 74.1 74.5 74.6 240);
                 %INCLUDE BUILDMXG;
               Generally, you can use the argument with fewer arguments,
               but to use ZEROOBS correctly you must know all subtypes
               in advance, while using WANTSMF= you only need to list
               the ID.SUBTYPEs you know about and want.
   Thanks to Pat Artis, Performance Associates, Inc., USA.

Change 31.275  Spurious DATASET T102S225 DOES NOT EXIST messages are
READDB2        corrected for that archaic dataset, populated only with
VMACDB2        DB2 V8, where it is written as  ID=102 SUBTYPE=IFCID=225,
Dec 25, 2013   and thus read with %READDB2.  Instead, in DB2 V9 plus,
Dec 26, 2013   IFCID=255 is written as ID=100 records and read with
               TYPEDB2/BUILDPDB.  In all versions, however, all QW0225xx
               variables are output in the PDB.DB2STATS dataset, which
               contains all interval statistics
              -MXGNOTEs listing the Subtypes/IFCIDS wanted are revised.

Change 31.274  On a system with only CPs and ICFs, the LPAR SHARE weight
VMAC7072       calculations were wrong, with values like weights instead
Dec 21, 2013   of the expected percentages.  The test that deletes 'IFL'
               now also delete 'ICF's from weight calculations.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 31.273  Support for RMF III CATG3 Cache Data which writes SMF 74
ADOCRMFV       subtype 5 records to the RMF III VSAM file with the same
ASMRMFV        metrics as RMF I SMF records, but with more granularity
ASUMCACH       (typical 1 minute RMF III INTERVAL and yet take less DASD
EXZRB74C       space (only active devices are written in the one-minute
EXZRB74I       III records, while all devices are written to RMF I SMF).
EXZRBCAT       (Note: MXG outputs ONLY active devices so the output size
IMACZRB        per interval will be the same.)  This support creates the
VMACRMFV       new ZRB74CA dataset, instead of naming it TYPE74CA, since
VMXGINIT       archaic variables from segments that no longer exist are
Dec 23, 2013   not kept, but all other variable names are the same.
Dec 28, 2013  -ASUMCACH will now read either SMF TYPE74CA or RMF ZRB74CA
               to create PDB.ASUMCACH, looking for ZRB74CA first.

              -Notes for collection and use of RMF III Cache Data:
              -The RMF Monitor I parameters CACHE and ESS must also be
               in effect on the same system with the RMF Monitor III
               CACHE parameter.  The RMF Monitor I defaults are CACHE
               and NOESS.
              -If ESS is not in effect for RMF Monitor I on the cache
               collection system the related PDB variables will be
               missing values (in both TYPE74CA and ZRB74CA).
              -From Newsletter FIFTY:
            14. Specifying the RMF Monitor I CACHE Option in only
                one SYSTEM's RMF parameters eliminates redundant
                records on other systems and has been always
                recommended.  There are other RMF Monitor I options,
                ESS(RANK) and ESS(LINK) and FCD along with CACHE
                that should all be in one, and the same, SYSTEM, per
                these IBM suggestions:
      ESS(RANK) - Link performance statistics are gathered.
      ESS(LINK) - Extent pool statistics and rank statistics gathered.
                   As ESS data gathering involves cache activity
                   measurement, it is recommended to specify both
                   options in common.
                     If you specify ESS together with NOCACHE, cache
                     data is gathered implicitly without writing SMF
                     74.5 records!
                   In a SYSPLEX, options CACHE and ESS can be specified
                   on any system sharing the measured devices.
                   Therefore specify the ESS and CACHE options together
                   on one selected system only to avoid duplicate data
                   gathering.
      CACHE     - Create SMF 74.5 TYPE74CA Cache Statistics
                   IMPORTANT: CACHE is the DEFAULT option IBM sets in
                   RMF Monitor I, so you MUST then ADD a statement with
                   NOCACHE in RMF parms for all but that one SYSTEM.

              -With this change all RMF Monitor III documented tables of
               practical use are now supported by MXG.
              -Creating readable 74.5 records from the RMF III VSAM was
               non-trivial in ASMRMFV, because those records can be more
               than 32K bytes in the VSAM file, so longer records needed
               to be broken into shorter, but complete, records.
              -New ASMRMFV parameters CAT (alias H) and NOCAT (aliases
               -CAT, -H) are provided to select or filter CATG3 table
               data respectively.
              -ASMRMFV messages RMFV036I and RMFV105I are updated to
               show CAT table information.
              -ASMRMFV validates the CAT header and each SMF Type 74.5
               record contained in the CAT table.
              -Initial ASMRMFV assembly environment message RMFV000I is
               revised to show the assembly date as a Julian date, as a
               date in ddmmmYYYY format, and as the 3 character day of
               the week.
              -The ASMRMFV source code prologue as well as the ADOCRMFV
               documentation member are updated appropriately.
              -REQUIREMENT: In order to receive these improvements the
               current ASMRMFV utility program from this MXG change
               must be installed.  See MXG SOURCLIB member JCLASM3 for
               sample JCL for the assembly and link-edit install steps.
              -Only data for active devices is collected which means
               that for some Subsystem IDs (SSIDs) all device data
               variables in the PDB could be missing for some RMF III
               MINTIME intervals.
              -Cache Controller data is gathered by individual device
               address.  There is no indication of which system in the
               sysplex initiates a recorded event.  Therefore, the data
               can be gathered on any system sharing the cached devices.
              -Avoid unnecessary high CPU utilization and duplicated
               data by gathering cache activity data on only ONE system
               per IBM documentation for either RMF Monitor I or RMF
               Monitor III.
              -Use the RMF Monitor I and RMF Monitor III parameter
               NOCACHE to suppress cache data collection on all other
               systems.
              -Use CACHE(ssid1,ssid2,..,ssidn) in RMF Monitor III to
               collect data for only those Subsystems needed.  RMF
               Monitor I does not support selection by SSID.
              -Selection by Subsystem ID may also be needed if not all
               subsystems are shared.  In this case cache data
               collection will be needed on more than one system.
              -Consult the section "Generalizing Parmlib Members" in the
               IBM RMF User's Guide for your z/OS level for a method to
               control selection of which system records cache data.
               Other approaches are certainly possible with system
               automation tools.
              -The best choice for a cache data collection system is one
               with high uptime that is not already CPU stressed.  z/OS
               systems operating as z/VM guests will not record cache
               data even if requested.

              -All ASMRMFV messages that display a Julian date in the
               format of YYYY.DDD are enhanced to show the date as
               DDMMMYYYY and a 3 character day of the week.
              -11 messages are updated to have the improved date
               display:
               RMFV000I, RMFV001I, RMFV006I, RMFV008I, RMFV012I,
               RMFV013I, RMFV023W, RMFV025I, RMFV026I, RMFV032E, and
               RMFV034I.
              -Message RMFV008I showed an incorrect creation date when
               a non-VSAM data set was supplied in error for a RMF III
               VSAM data set.  The creation date in this case will
               not be shown.
              -DSNAME= in the RMFV008I message is now abbreviated to
               DSN= to conserve line space.
              -1ST VOL= in the RMFV008I message is now abbreviated to
               VOL= to conserve line space. It continues to show the
               first volume for a multi-volume file.

Change 31.272  Invalid SMF 101 Subtype 1 created from ASG TMON/DB2 had
VMACDB2        INPUT EXCEEDED RECORD error that this change circumvents
Dec 19, 2013   while the problem is investigated.  The triplets for the
               QBAC and QTXK segments are reversed, and their count does
               not always match the count of QPAC segments.

Change 31.271  Support for APAR OA43380 which adds CA*SPLITS and
VMAC42         CI*SPLITS in TYPE42S1-S4 and TYPE42D1-D datasets:
Dec 19, 2013    S1:   SMF42FSA SMF42FSB
                S2:   SMF42FTA SMF42FTB
                S3:   SMFA2FSA SMFA2FSA
                S4:   SMFA2FTA SMFA2FTB
                D1:   SMF42GTA SMF42GTB
                D2:   SMF42GSA SMF42GSB
                D3:   SMFA2GTA SMFA2GTB
                D4:   SMFA2TSA SMFA2GSB

Change 31.270  Cosmetic.  MXG Error Messages with 'ERROR:' starting in
VMAC28         byte one of the output are counted by SAS and flagged as
Dec 19, 2013   an ERROR on that page, and text printed in RED on the SAS
               log, but that was not my intention, and these members are
               corrected so that 'ERROR:' does NOT start in column one:
                 VMAC28   VMAC102  VMAC110  VMAC113  VMACDB2
                 VMACHURN VMACNMON VMACVMXA VMACXAM
               Most of the "actual" error conditions detected by MXG are
               printed 'MXGERROR: ' but there is a lack of consistency.
   Thanks to MP Welch, Bank of America, USA.

Change 31.269 -If you specified "a small number" of IFCIDS, they weren't
READDB2        sorted into the output PDBOUT libname because of an
Dec 19, 2013   incorrect compare for GT 1 that should have been GT 0.
Dec 23, 2013   Probably caused by Change 31.128 (MXG 31.05).
Dec 25, 2013  -If you ran ANALDB2R with PDB=SMF and PDBOUT= was NOT set
               to PDB, a U1950 ABEND was generated by VGETOBS if the PDB
               libname did not exist in your SAS session.  Caused
               by the PDB2225 macro variable default of PDB and ANALDB2R
               did not reset the value to the value of PDBOUT argument.
              -Messages about datasets not being deleted were deleted.
   Thanks to Paul Walters, Navy Federal Credit Union, USA.

Change 31.268  These RMFINTRV variables should not have been formatted
VMXGRMFI       as TIME12.2 since none are durations:
Dec 18, 2013     OTHRSWAP OTHRTRAN OTHREXCP OTHRWKST OTHRSERV OTHRPGIN
                 TSO2SWAP TSO2TRAN TWO3SWAP TSO3TRAN TSO4SWAP TSO4TRAN
                 TRIVTRAN TRIVSWAP
               Those variables have been buried in &R72VAR for a long
               time and it was in the TIME12.2 format statement.
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 31.267  Messages that there are 0 OBS or dataset was not found
VGETOBS        are suppressed when dataset=_ALL_ is specified.
Dec 18, 2013

Change 31.266  Documentation of MSU/SERVICE variables. To be expanded.
VMAC7072      -In TYPE72GO dataset, MSU and Service units are the old
Dec 18, 2013   and original "Hardware MSU based on SU_SEC/R723MADJ.
Feb  3, 2016  -Variable SERVICE in TYPE72GO dataset is the sum of
               these FIVE components
                 CPUUNITS SRBUNITS MSOUNITS IOUNITS ZIPUNITS.
               (some old MXG notes have only the first four listed but
               ZIPUNITS have always been included in SERVICE).
              -Variable MSU72 is CPUTM*SU_SEC/1E6, "Hardware MSU", which
               includes ALL of the recorded CPU times in the Service
               Class 72s.  This is the amount of MSU that were consumed
               by this Service Class/Reporting Class during this
               interval, based on SU_SEC.
              -The MSU units in the TYPE70 MSU variables are "Software"
               MSU based on the (smaller value) in CECSUSEC/SMF70CPA.
               (because they are now used for "SOFTWARE PRICING").
              -Current SMF70CPA=13,000 and SU_SEC=26,000 is an example.
              -Text revised, Feb 3 2016: TYPE72GO variable MSUSOFT was
               wrong, but was revised in Change 34.010 and does now
               contain the Software MSU CECSUSEC/SMF70CPA based.

Change 31.265  Variable STC13MRC='Y' was incorrect when STC13MNR='Y'
VMACSTC        should have been have been set, and STC13MNR='Y' never
Dec 17, 2013   was set; MXG tested 00/01 instead of 01/02 STC13RCI.
   Thanks to Mike Jacques, BBand T, USA.

Change 31.264 -NMON data for Red Hat Linux has new Data Group metrics
EXNMONDG       that create the new dataset
VMACNMON          DDDDDD   DATASET    DESCRIPTION
VMXGINIT          NMONDG   NMONDG     LINUX DATA GROUP METRICS
Dec 17, 2013  -The BBBP Configuration Records have no text in common
               with the BBBP records previously supported so the
               NMONBBBPxxx datasets will not be populated at this time.
               If you can identify which BBBP data is important, I will
               update the MXG Support for those data.
              -Support for NFSCLIV4 record is supported with these new
               variables created in NMONNFS dataset:
                 OPEN OPEN_CONF OPEN_NOAT OPEN_DGRD CLOSE SETATTR
                 RENEW SETCLTID CONFIRM LOCK LOCKT LOCKU
                 LOOKUP_ROOT RENAME
                 LINK SYMLINK CREATE PATHCONF STATFS READLINK
                 READDIR SERVER_CAPS DELEGRETURN GETACL SETACL
                 FS_LOCATIONS
   Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.

Change 31.263 -ERROR.VMACTPMX. VARNAME=$INCLAI NOT FOUND because the MXG
VMACTPMX       code for tokenid=51467 was $INCLA, which is now corrected
Dec 17, 2013   to $INCLAI for the test; the variable INCLA is unchanged,
Dec 18, 2013   but now will be populated.
              -ERROR.VMACTPMX. VARNAME=$DBS_SD-bar NOT FOUND creates new
               variable DBS_SDBA in TYPETPMX dataset.
   Thanks to Paul Volpi, UHC, USA.

Change 31.262 -ANALDB2R Account Detail report had some incorrect average
ANALDB2R       buffer calculations that could be repeated values. Values
Dec 16, 2013   impacted were Seq prefetch, list prefetch, dyn orefetch,
Dec 18, 2013   asycnh reads, hpool writes, hpool reads,  hpool reads
               failed.
              -If you separated the larger datasets like DB2ACCT or
               DB2ACCTP into separate DDNAMES and used the DB2ACCT*
               parameters to point to those LIBNAMES, ANALDB2R did not
               find the datasets since it only looked in the LIBNAME
               pointed to by the PDB= parameter.
   Thanks to Jim Lazowski, Northern Trust, USA.

Change 31.261  Support for DB2 IFCIDs 370 (OPEN TRACE DATASET) and 371
EX102370       (CLOSE TRACE DATASET) creates T102S370 and T102S371 data
EX102371       sets.
FORMATS
IMAC102
VMAC102
VMXGINIT
Dec 13, 2013
   Thanks to Lori Masulis, Fidelity Systems, USA.
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 31.260  Variable HSMPLEX added to all reports and graphs and if
ANALHSM        you are on SAS 9.3 or greater ODS GRAPHICS are used for
Dec  8, 2013   the graphs. A line plot was substituted for the bar chart
               where AVG/MAX values by function are being graphed and
               VMXGODSO/VMXGODSC were inserted to allow you to send the
               output to HTML or PDF.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.259  Variable QWHSNIDIP='IP ADDRESS*FROM*QWHSNID' is added to
VMACDB2        DB2ACCT, DB2ACCTB, DB2ACCTP, DB2ACCTG, DB2ACCTR datasets
VMACDB2H       and is populated only for QWHCATYP=8 (DDF Connections).
Dec  5, 2013   When the eight-byte text QWHSNID contains an IP address,
Dec 15, 2013   eight EBCDIC text characters represent the four hex bytes
               ('A971896F' is 169.113.137.111)), but the VTAM NID must
               start with an alphabetic character, so those IP addresses
               that start with digits 0 thru 9 for the first nybble, the
               value in QWHSNID starts with 'G' thru 'P'.  This encoding
               was found in a note about message DSNL030I.
   Thanks to Alyona Bertneski, JPMorgan, USA.

Change 31.258 -Support for IFCID 359 INDEX PAGE SPLIT record populates
VMAC102        the QW0359xx variables in existing T102S359 dataset.
Dec  3, 2013      QW0359DB='DATA*BASE*ID'
Dec 12, 2013      QW0359FL='FLAGS'
                  QW0359OB='INDEX*PAGE*SET*ID'
                  QW0359PG='SPLITTING*PAGE*NUMBER'
                  QW0359PT='PARTITION*NUMBER'
                  QW0359TE='TIMESTAMP*AT ENDING OF*SPLIT'
                  QW0359TS='TIMESTAMP*AT BEGINNING*OF SPLIT'
              -The new DB2 Statement ID variable is written to SMF as
               either a 4-byte binary or an 8-byte character field that
               are now formatted HEX8. for the numeric variables or are
               now INPUT as $CHAR8. and formatted $HEX16. for character
                 QW0172TZ QW0172H9 QW0172W9
                 QW0196W9 QW0196H9 QW1196H9 QW2196H9 .. QW8196W9.
                 QW0173CS QW0317ID
   Thanks to Rachel Holt, Fidelity Systems, USA.
   Thanks to Lori Masulis, Fidelity Systems, USA.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

Change 31.257 -INPUT STATEMENT EXCEEDED if TOKDANAM='UTYPE' was the last
VMAC80A        segment because MXG expected a 4-byte binary number but
Dec  3, 2013   the field is a 1-byte EBCDIC &NUM1. field.
              -New variables decoded and labeled with variable name:
                TOKQUEST1 TOKQUEST2 TOKANS1 TOKANS2 TOKAD1 TOKAD2
                TOKCOMPANY TOKCOUNTRY TOKFNAME TOKMNAME TOKLNAME
                TOKSTATE TOKWTEL TOKZIPCODE
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 31.256  Cosmetic.  INPUT for QPACLENX GE 428 actually read in 452
VMACDB2        so the INPUT is split to read thru 428 and then thru 452.
Dec  2, 2013

Change 31.255  Variable R744MCPI in dataset TYPE74MO for SCM does not
VMAC74         exist and was a "copy down" typo when that code block was
Dec  2, 2013   created; it is now deleted completely.
               See Change 33.155. SCM data is now in TYPE74ST dataset.
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

Change 31.254  BVIR30 dataset was incorrect with VERSION 3 records.
VMACBVIR
Nov 28, 2013

Change 31.253 -Change 30.078 corrected SMSGDHWM/SMSGCCUR for CICS/TS 4.1
VMAC110        and earlier but the change of multiplicand was still
Nov 28, 2013   wrong for CICS/TS 4.2 and later.
   Thanks to Paul Volpi, UHC, USA.

Change 31.252 -VMXGSUM.  If a variable was missing in a NORMx parameter,
VMXGSUM        a warning was issued pointing to a variable name but not
ASUM72GO       to the specific NORMx parameter that was in error.  The
Nov 25, 2013   warning message is now enhanced to contain the full text
               of the NORMx parameter.
              -ASUM72GO.  The DURATM variable was not in the SUM= list
               which raised a warning about a missing variable in NORM3.

Change 31.251  MXG 31.08-9 FORMATS fails with BACKLEVEL WPS VERSION 2
FORMATS        in statement in line 22864:
Nov 22, 2013    PICTURE MGXLDATE OTHER='%0m/%0d/%0Y %0H:%0M:%0S'
Oct 10, 2014      (DATATYPE=DATETIME);
               with "ERROR: Found "DATATYPE" when expecting )
               because DATATYPE was not supported by WPS until their
               Version 3.1 And MWRTDT format added in MXG 32.09 also
               failed with WPS 2.05.  MGXLDATE was never used and so
               it was removed.  MWRTDT is required by MOBWRK06 MOBILE
               WORK Discount analysis to meet IBM's CSV file format.
   Thanks to Ken Drody, State of Delaware, USA.
   Thanks to Kre Martin Torsvik, EVRY AS, NORWAY.

Change 31.250  A spurious MXGWARN when a libname had not been referenced
VGETOBS        led to a better way to identify TAPE data libraries and
Nov 22, 2013   to enhance the elimination of tape mounts:
                If the LIBNAME has never been referenced:
                  First record is read as an INFILE and engine type is
                  identified so the LIBNAME can be issued with the
                  appropriate engine.  If this is a disk library it is
                  NOT added to the list of DDs found on tape/sequential.
                If the DDNAME is on tape and SPINTAPE NE YES and DATASET
                  NE _ALL_, OBS count is set to one and no further
                  processing is needed.
                  If SPINTAPE=YES or DATASET=_ALL_:
                    All tape volumes are read to find all datasets and
                    captured in MXGTABLES which is NOT deleted.
                    If DATASET NE _ALL_, then also looks for this
                    specific dataset in MXGTABLES, and will verify the
                    dataset exists and determine an OBS count.
                  Else if SPINTAPE NE YES and DATASET NE _ALL_ and
                  the dataset is on disk, looks for the specific
                  dataset without using MXGTABLES. This is also the
                  behavior on ASCII as LIBNAMEs must have been
                  identified to SAS with a LIBNAME statement.
               If a dataset does not exist or has 0 OBS the calling
               program may give you a message indicating the issue
               and then will die gracefully.  The results are in
               global macro variables VGETDSN and VGETOBS.  If
               VGETDSN is empty, the dataset did not exist.
   Thanks to MP Welch, Bank of America, USA.

Change 31.249  These datetime variables were INPUT but not formatted or
VMAC110        not LENGTH'd or were not kept, but no one had noticed,
Nov 18, 2013   except for the MXG QA tests, so this is cosmetic.
               VMAC110 : DS7LSTRT DS7START
               VMAC74  : SMF74GIE
               VMAC75  : SMF75GIE
               VMAC76  : SMF76GIE
               VMAC77  : SMF77GIE
               VMACBBMQ: CHLTOD0
               VMACCIMS: IMSSTCK
               VMACIMS : SYNCSTCK
               VMACIMSA: STSTARTTOD SYNCSTCK TPCPCLCK
               VMACOMCI: ESFTIME
               VMACOPC : MT0OCCTOK
               VMACROSC: TIME     ==> Renamed to TEMPCKTI not KEPT
               VMACSMF : TESTTIME ==> Renamed to SMFTIME
               VMACSYSV: RTCLOCK RTCSTART SDCRETOD SCDRSTOD
               VMACTMMQ: LMRKTOD2
               VMACTMNT: REND     ==> Renamed to RENDTIME
               VMACTMO2: T2INEDTS T2INSDTS TMMDXSTK TXINEDTS TXINSDTS
               VMACTMV2: IPLTIME
               VMACVMXA: PLSFOB1T PLSFOBTM
               VMACXPSM: OUTGTIME

Change 31.248  If you specified DATES= any of the "one word" tokens like
ANALGRID       LASTWEEK, etc., a logic error occurred because &TO was a
Nov 17, 2013   null value.  Now, FROM=INPUT("&FROM",?? DATE.) is used so
               a missing value results instead of the error.
   Thanks to Andrew Woods, Interactive Data, ENGLAND.

Change 31.247  ERROR: WORK.MXGTABLES NOT FOUND occurs if PROC ANYTHING
VGETOBS        without a DATA= argument was executed after %VGETOBS was
Nov 15, 2013   executed, because in the absence of a DATA= argument, SAS
               uses the &SYSLAST macro variable, and VGETOBS created and
               then deleted the WORK.MXGTABLES dataset, but &SYSLAST is
               not changed when that last-created dataset is deleted!
               (But even if SAS had set &SYSLAST to a _NULL_ value, the
               PROC ANYTHING would still fail with a NO DATASET FOUND.)
               The MXGTABLES dataset, added in 31.06, is created and is
               normally deleted by %VGETOBS, an internal utility used in
               many (52) MXG members, primarily to determine if a SAS
               dataset has any obs (but also used to avoid tape mounts
               as documented in Change 31.212, and it is NOT deleted if
               SPINTAPE=YES it set).  Now that this exposure has been
               understood, VGETOBS is revised to store &SYSLAST at entry
               and that dataset is restored in &SYSLAST at exit.  Had we
               been slightly smarter, this change should have been made
               to VGETOBS instead of changing ANALHSM in Change 31.211,
               which also failed due to the absence of a DATA= argument
               after VGETOBS had been executed there!  Note that there
               is NOTHING wrong in a PROC without a DATA= argument, as
               long as the &SYSLAST dataset actually exists!
              -Although undocumented, setting automatic macro variable
               &SYSLAST also sets the automatic macro variable &SYSDSN
               and the system option _LAST_.
   Thanks to Otto Burgess, ATPCO, USA.

Change 31.246  The data used for testing had only a single CEC so the by
GRAFCEC        statement that included CECSER had no problem.  But when
Nov 13, 2013   data from multiple CECs was included a not sorted error
               occurred because CECSER was not in the sort BY list.

Change 31.245  Support for APAR PM90886 adds these DB2ACCT variables for
VMACDB2        IBM DB2 Analytics Accelerator (IDAA)/NETEZZA modelling:
VMAC102          QWAC_ACCEL_ELIG_ELA='ACCEL*ELIGIBLE*ELAPSED*TIME'
Nov 13, 2013     QWAC_ACCEL_ELIG_CP ='ACCEL*ELIGIBLE*CP CPU*TIME'
Dec 13, 2013     QWAC_ACCEL_ELIG_SE ='ACCEL*ELIGIBLE*ZIIP CPU*TIME'
Dec 16, 2013  -IBM did confirm that the new fields are only in IFCID=3
Dec 18, 2013   (ID 101 Subtype 0) are not in IFCID=369 (ID 100 SUBTYPE
               5) DB2STAT5 data which also contains the QWAC DSECT.
              -Variable QWP4ACMO='ACCELMODEL*PARAMETER*VALUE' is
               added to T102S106 dataset.
              -Dec 13: The QWAC DSECT was received and code revised but
               no data available for validation.
              -Dec 13: The Q8ST DSECT was revisited and Q8STQUEW was not
               input causing many of the Q8STxxxx variables in DB2STATS
               to be incorrect.
              -Dec 16: IBM Support confirmed the values in variables
               Q8STCCPU and Q8STWCPU are percentages times 100 so they
               are now correctly input with two decimal places.
              -Dec 18: The new fields in DB2ACCT were validated.
   Thanks to Tim King, Blue Cross Blue Shield of South Carolina, USA.
   Thanks to Scott Chapman, AEP, USA.
   Thanks to Clinton Moore, Verizon, USA.

====== Changes thru 31.244 were in MXG 31.08 dated Nov 12, 2013=========

Change 31.244  TYPE21 (a/k/a PDB.TAPES) variables BYTEREAD and BYTEWRIT
VMAC21         were wrong or missing for DEVICE=3590 when SMF21MFV was
Nov 12, 2013   NOT on (i.e, when SMF21MCR/MCW/MDR/MDW were NOT valid),
               due to incorrect logic that did not use SMF21BRN/SMF21BWN
               (SMF21NCT was ON, which applies ONLY to 3590 devices).
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.

Change 31.243  Change 31.186 (MXG 31.07) inserted LENGTH DEFAULT=&MXGLEN
ASUM113        but the 113 variables must be stored in LENGTH DEFAULT=8
Nov 12, 2013   because they are large numerics that are then DELTA'ed;
               those defaults are now 8.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.242  Reserved Change Number
Nov 12, 2013

Change 31.241  Support for CICS User field CMODNAME,CMODHEAD=USTHRD00.
IMACICVF
UTILEXCL
VMAC110
Nov 12, 2013

=====Changes thru 31.240 were in FIRST MXG 31.08 dated Nov 12, 2013=====

Change 31.240  Support for DB2 V11.1 (COMPATIBLE). MXG 30.30+ TOLERATES
VMACDB2        V11 with no EXECUTION error, but MXG 31.04 is REQUIRED to
VMAC102        correct QLSTxxxx variables in DB2STATS for V10 and V11.
Nov 11, 2013  -All new V11 fields were added AT THE END OF SEGMENTS so
               MXG Version 30.30+ tolerates V11.1, but new variables are
               not output.
              -Dataset PDB.DB2STATS now correctly contains all of the
               IFCID=225 variables, and (as previously documented but
               not actually implemented) dataset DB2ST225 will always
               have zero observations, when TYPEDB2/BUILDPDB is used.
                 Unintentionally, DB2 V10 IFCID=225 data was output in
                 DB2ST225 dataset, and DB2 V9 IFCID=225 data output in
                 DB2STAT4 dataset. Fortunately, DB2ST225 and DB2STAT4
                 were then combined into PDB.DB2STATS, so there was no
                 actual error, as long as you use PDB.DB2STATS dataset.
                 Now, V9-V11 IFCID=225 are output in DB2STAT4 and the
                 DB2STAT4 KEEP= list contains all QW0225xx variables.
              -If you still have archaic DB2 V8 with IFCID=225 records,
               you will need to use %READDB2(IFCIDS=STATS) to create the
               WORK.T102S225 dataset for V8 and DB2STAT4 for V9-V11 so
               all 225s from all versions are output into PDB.DB2STATS.
              -Dataset DB2ACCT new variables in DB2 V11.1:
                 QWACATCT='ACCUMULATED*AUTONOMOUS*WAIT*COUNT'
                 QWACATRY='AUTONOMOUT*ROLLUPS*IN THIS*RECORD?'
                 QWACATWT='ACCUMULATED*AUTONOMOUS*WAIT*TIME*/
                 QWACPQCT='WAITS*FOR*PARALLEL*SYNCH'
                 QWACPQRY='RECORD*CONTAINS*PARALLEL*QUERY*ROLLUP?'
                 QWACPQWT='WAIT TIME*FOR PARALLEL*SYNCH*/
                 QXALTMP   ='ALTER*MASK*OR*PERMISSION'
                 QXCREMP   ='CREATE*MASKS*OR*PERMISSION'
                 QXCRTSV   ='CREATE VARIABLE'
                 QXDEGAT   ='PARALLEL*FALLBACKS*SEQ MODE*AUTONOMOUS'
                 QXDRPMP   ='DROP*MASK*OR*PERMISSION'
                 QXDRPSV   ='DROP VARIABLE'
                 QXHJINCS  ='RID APPEND*HYBRID*JOIN*NO RIDPOOL'
                 QXHJINCT  ='RID APPEND*HYBRID*JOIN*RIDS EXCEEDED'
                 QXMAXESTIDG='MAX PARALLEL*GROUP*ESTIMATED*DEGREE'
                 QXMAXPLANDG='MAX PARALLEL*GROUP*PLANNED*DEGREE'
                 QXN1093A  ='SERVICEABILITY*QXN1093A'
                 QXN1093B  ='SERVICEABILITY*QXN1093B'
                 QXPAROPT   ='PARALLEL*DEGENERATED*OPTIMIZATION'
                 QXPFMAXUG ='SERVICEABILITY*QXPFMAXUG'
                 QXPFMAXUM ='SERVICEABILITY*QXPFMAXUM'
                 QXPFSENUM ='SERVICEABILITY*QXPFSENUM'
                 QXPFSENUMG='SERVICEABILITY*QXPFSLNUMG'
                 QXPFSLNUM ='SERVICEABILITY*QXPFSLNUM'
                 QXRSMIAP  ='RID LIST*RETRIEVAL*SKIPPED'
                 QXSISTOR  ='SPARSE*INDEX*DISABLES*INSUFF STORAGE'
                 QXSIWF    ='SPARSE*INDEX BUILDS*PHYS WORK FILE'
                 QXSTARRAY_EXPANSIONS='ARRAY*VARIABLE*EXPANDS*GT 32K'
                 QXSTODGNGRP='PARALLEL*DEGENERATE*TO SEQ*SYSTEM STRESS'
                 QXSTOREDGRP='PARALLEL*REDUCED*SYSTEM*STRESS'
                 QXWFRIDS  ='RID OVFLO*NO RIDPOOL*STORAGE'
                 QXWFRIDT  ='RID OVFLO*RIDS EXCEED*INTERNAL LIMIT'
                 QTGAFCNT  ='FALSE*LOCK*UNLOCK*CONTENTIONS'
              -Dataset DB2ACCTP new variables in DB2 V11.1:
                 QPACAACW='WAIT*DURATION*ACCELERATOR'
                 QPAC_PQS_WAIT='WAIT*DURATION*PAR QUERY*SYNC'
                 QPACAACC='WAIT*TRACES*ACCELERATOR'
                 QPAC_PQS_COUNT='WAIT*DURATION*PAR QUERY*SYNC'
              -Dataset DB2ACCTW now outputs all segments in each record;
               previously, only the first segment was output; there were
               no new variables added by V11; this was discovered when
               examining possible new variables!
              -Dataset DB2STATS (from Subtype 0) new variables:
                 QWSDLRG ='HIGH USED*RBA ADDRESS*OF LOG'
                 QSST_RSMAX_WARN='TIMES*REALSTORAGE_MAX*WARNING*REACHED'
                 QSST_P64DISNUM='64-BIT*POOL*CONTRACTS'
                 QSST_P64DISBLK='64-BIT POOL BLOCKS*REQUIRED*DISCARD
                 QSST_P64DISPGS='64-BIT POOL PAGES DISCARDED'
                 QSST_CONTSTOR_NUM=31-BIT*POOLS*CONTRACTED*CONTSTOR'
                 QDSTNQMN='MIN QUEUED*DURATION*THIS PERIOD'
                 QDSTNQMX='MAX QUEUED*DURATION*THIS PERIOD'
                 QDSTNQAV='AVG QUEUED*DURATION*THIS PERIOD'
                 QDSTNCCW='QUEUED*CONNS*SOCKETS*CLIOSED*MAX WAIT'
              -Dataset DB2STATB (from Subtype 1) new variables:
                 (where n=1,2,3,4 for the four groups of buffer vars)
                 QBnTSMIN='MIN*BUFFERS*ON SLRU'
                 QBnTSMAX='MAX*BUFFERS*ON SLRU'
                 QBnTHST ='TIMES WHEN*LEN OF*SLRU=VPSEQT'
                 QBnTRHS ='TIMES*RANDOM*GETPAGE*BUFFER HIT'
              -Dataset DB2STATS (from Subtype 0) INPUT but NOT KEPT
                 QJSTSPNN     &PIB.4.
                 QJSTSPNI     &PIB.8.
                 QJSTCLID     &PIB.4.
                 QJSTCL2    $EBCDIC2.
                 QJSTCLSN  $EBCDIC10.
                 QJSTAVAL $EBCDIC128.
                 because all are documented as Serviceability without
                 any labels. They could be output using _KDB2ST0 macro.
              -Dataset DB2STATS (from Subtype 1) new variables:
                 QISTI2AC='NON-SORT*DM*IN MEM*WKFILE*ACTIVE'
                 QISTI2AH='NON-SORT*DM*IN MEM*WKFILE*MAXIMUM'
                 QISTI2OF='TYPE-2*INMEM WFS*OVERFLOWS'
                 QISTIMNC='WF NOT*CREATED*DUE TO*CRITICAL*STORAGE'
                 QISTASTH='WFDB*AGENT USAGE*ALERT*THRESHOLD'
                 QISTSSTH='WFDB*SPACE USAGE*ALERT*THRESHOLD'
                 QISTAMXU='WFDB*MAX STORAGE*USED BY*ANY THREAD'
                 QISTWSTG='CURR WFDB*STORAGE*CONFIG*ALL TBLSP'
                 QISTDGTTSTG='WFDB*DGTT*PREFERRED*STORAGE'
                 QISTDGTTCTO='CURR*ALL AGENT*TOT STORAGE'
                 QISTDGTTMXU='MAX*ALL AGENT*TOT STORAGE'
                 QISTWFSTG='TOT*PREFER*STORAGE*CONFIG*IN WFDB'
                 QISTWFCTO='CURR*TOT*STORAGE*ALL WF*ALL AGENTS'
                 QISTWFMXU='MAX TOT*STORAGE*ALL WF*ALL AGENTS'
                 QISEKSPA8='STORAGE*ALLOCATED*SHAREABLE*SQL'
              -Dataset DB2STATS (from Subtype 4) new variables:
                 QW0225_LMWRITE_REAL='LM*WRITE*BUFFER*BYTES*REAL'
                 QW0225_LMWRITE_AUX ='LM*WRITE*AUX?*RESERVED'
                 QW0225_LMCTRL_REAL ='LM*WRITE*CONTROL*BYTES*REAL'
                 QW0225_LMCTRL_AUX  ='LM*WRITE*CONTROL*BYTES*AUX'
                 QW0225SC8='ALLOC*SHAREABLE*STORAGE*DYNAMIC SQL'
                 QW0225LS8='REQ*SHAREABLE*STORAGE*DYNAMIC SQL'
                 QW0225SX8='ALLOC*SHAREABLER*STORAGE*STATIC SQL'
                 QW0225HS8='HWM*REQ*SHAREABLE*STORAGE*DYNAMIC SQL'
              -Dataset T102S106 new variable, added back in DB2 V10:
                 QWPBIMTZ='IMPLICIT*TIME*ZONE'
                  9999999=CURRENT
                 -9999999=SESSION
                  Other values, -779 to +840 represent -12:59 to +14:00
              -Only these other ID=102 IFCIDs have been data-verified;
               none were changed: 105, 199, 254, 261.  Other IFCIDs for
               V11 will need actual SMF data for update/validation.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 31.239  Values for MG073FE format values 07x,08x,11x,12x and 13x
FORMATS        were corrected:
Nov  7, 2013      07X='07X:FEX8 AUTO@2GBPS'
                  08X='08X:FEX8 AUTO@4GBPS'
                  11X='11X:FE8XS AUTO@2GBPS'
                  12X='12X:FEX8S AUTO@4GBPS'
                  13X='13X:FEX8S OP@8GBPS'
   Thanks to Pat Sheehan, FIS Technology.
   Thanks to Kenneth Thornbrough, FIS Technology, USA

Change 31.238  Variable QAPLTFM (PLATFORM) added to TMMQQAA dataset.
VMACTMMQ
Nov  7, 2013

Change 31.237  The PCTIFLBY in datasets ASUMCELP and ASUMCEC incorrectly
VMXG70PR       used the sum of IFLs allocated to all LPARS, which makes
Nov  6, 2013   no sense for these CEC-level datasets.  It is corrected
               to use the number of installed IFLs, NRIFLCPU, which is
               also now stored in the count variables IFLCPUS/LPARCPUS.
   Thanks to Julian Smailes, Experian, ENGLAND.

Change 31.236  DB2 Trace IFCID=196 now outputs sets of variables for up
VMAC102        to nine lock holders/waiters.
Nov  6, 2013
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 31.235  REPLACED MAR 27, 2014:  See Change 32.073 which supports
VMACSMF        reading from //SMF for VBS dumped data and/or //LOGGER.
VMXGINIT       Original change text:
Nov 12, 2013   SMF Logstream DATA MIGHT be readable directly by MXG with
                 %LET READLSMF=0;   in your //SYSIN.
               which:
                Changes the DCB for INFILE SMF to VB,32756,32760 inside
                the _SMF macro that is defined in VMACSMF.
                  (Reading with VBS caused an IEC141I 013-A8 ABEND),
                and the value in READLSMF is used for OFFSMF.
                (This was coded when I thought perhaps OFFSMF=4 would
                be required for the LOGGER, which is required to read
                VSAM, but OFFSMF=0 with VB appear so far to work fine.)
              -The SMF DD needs SUBSYS=(LOGR,IFASEXIT). The DCB on the
               SMF DD is unimportant since what is set in _SMF is used.
               Unfortunately, unlike VSAM that can be detected so the
               normal MXG program reads either VSAM or BSAM dumped SMF
               data, there is no way to detect the input is Logstream
               Data, so you must use %LET READLSMF=0; to try to read!
              -If you test this technique, please protect your job with
               a TIME= parameter to ABEND if a CPU Loop occurs. An early
               test did appear to CPU loop, but that case has NOT been
               repeated in any subsequent tests.
              -Reading the LOGGER file with either RECFM=VB or RECFM=U
               and using INPUT;LIST; produces a SAS hex dump that does
               NOT show a BDW nor RDW and it is possible that using
               U or VB might be equally functional.  Please report any
               success OR FAILUREs to support at mxg.com and this change
               text will be updated if more is discovered.
              -A note posted to IBM-MAIN after MXG 31.08 was GA states:
                We do not ship an official mapping macro for the SMF
                buffers returned by a log stream browse.  The intended
                interface to get SMF records in log streams is IFASMFDL.
                You can however IXGBRWSE the log stream and see the
                buffers are returned in a consistent format, but this is
                of course not supported by IBM.
                In some cases the data returned by the log stream browse
                has to be manipulated by SMF before the user sees it,
                such as if zEDC compression is turned on in z/OS 2.1.
   Thanks to Seighart Seith, FICUCIA, GERMANY.

Change 31.234  Final semicolon for one of the several LIBNAMEs was not
VGETDDS        generated, but only if GDGs were involved.  &EXOUT was
Nov  4, 2013   not always initialized; it is used to keep track of DDs
               that were found in EXTFILES that may or may not be SAS
               data libraries; if at the end it is non-zero length a
               warning is produced showing the DDs that were found that
               way.  &INCR, used only for GDG, was not used in two %DOs.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.233  Correction for IMF 4.2 thru 5.1 WRONG VALUES IN CIMSTRAN.
VMACCIMS       MXG code was misaligned, impacting these newer variables:
Nov  4, 2013     TRNEWLMC TRNOTCON TRNOTSTC TRNOTSOC TRNOTPRT TRNOTIP
                 TRNOTCLN TRNOTUSR TRNOTSTF TRNOTSYF TRNOTSLF TRNOTCLF
                 TRNOTSCF TRNOTCOR TRNOTCLP TRNMQMID
               Also TRNOTCON is now formatted DATETIME21.2 and variables
               TRNOTUSR, TRNOTSTC, TRNOTCLN, and TRNOTMAM are EBCDIC and
               not $HEX formatted.
              -This update also required VMXGINIT from 31.08 to support
               &IMFMQ that was added by Change 31.206.
   Thanks to Jan Tielemans, KBC, BELGIUM.

Change 31.232  ZRBDVT observations with DVTSAMPA=0 but non-zero ACTIVITY
EXZRBDVT       in EXZRBDVT's definition were not output; these variables
VMACRMFV        CONNTM PENDTM DISCTM DVBUSYTM CUBUSYTM SWPODLTM were set
Nov  3, 2013   to a missing value when DVTSAMPA=0, but some, plus CMRTM
               were found to be non-zero even with DVTSAMPA=0.  Now they
               are always calculated, and all are included in ACTIVITY
               so observations are output when ANY are non-zero. So, how
               can there be activity with DVTSAMPA=0? All cases observed
               were for TAPE devices and all were the last observation
               for a VOLSER; some variables (CONNTM, DISCTM) were almost
               equal to the DURATM.  Presumably, this is activity for
               the dismount of a VOLSER.  This condition was discovered
               when the new ASMRMFV DVTNOZEROIO option (Change 31.230)
               wrote 607 records (of 1,932,611) that were not output by
               the ACTIVITY test in EXZRBDVT.
              -A cosmetic change was made in VMACRMFV so the ZRBxxxx
               datasets are created in alphabetical order to make it
               is easier to find how many obs were created in each.

Change 31.231  $MGSMFID format now decodes SMF ID=28 & ID=119 subtypes.
FORMATS
Nov  2, 2013
   Thanks to MP Welch, Bank of America, USA.

Change 31.230 -RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
ADOCRMFV      -Enhanced DVT table filtering added as discussed below.
ASMRMFV       -New parameters ZEROIO/NOZEROIO are added and are only
Nov  3, 2013   applicable to RMF Monitor III DVT processing by ASMRMFV.
Nov  7, 2013  -Alias for ZEROIO is ZIO and the aliases for NOZEROIO are
               NOZIO or NZIO.  The default is NOZEROIO.
              -ZEROIO specifies output of all volume entries from the
               DVT table to the RMFBSAM file regardless of I/O activity.
               This was the ASMRMFV behavior in prior versions.
              -NOZEROIO specifies output of only volume entries from the
               DVT table to the RMFBSAM file that have I/O activity.
               This is new default ASMRMFV behavior with this version.
               THIS CHANGED THE ZRBDVT SIZE FROM over 66,666 cyl to less
               than 14,000. Note that we also recommend that ASMRMFV use
                PARM='NOSHD,NORED' to reduce the output size, and if you
               are not planning on detail analysis of wait types, NOUWD
               can be added for further space reduction.
              -DSNTYPE=LARGE is now supported for the required RMFBSAM
               output file as well as the optional RMFFILT and RMFSKIP
               files
              -A DVT volume entry in a MINTIME interval is considered to
               HAVE I/O activity if ANY of the following I/O measures
               are NON-ZERO using the DVT fields and calculations shown:
                 * Connect Time                      (DVTCOTIL-DVTCOTIF)
                 * Pend Time                         (DVTPETIL-DVTPETIF)
                 * Disconnect Time                   (DVTDISIL-DVTDISIF)
                 * I/O Queue Length                  (DVTIOQLC)
                 * Accumulated I/O Instruction Count (DVTSAMPA)
                 * Initial Command Response Time     (DVTCMRIL-DVTCMRIF)
              -Stated another way, if all of these I/O measures are zero
               for a DVT volume entry and NOZEROIO is in effect the
               entry is NOT output to the RMFBSAM file.
              -During testing there was about a 93% reduction in DVT
               output record volume with NOZEROIO in effect which also
               improves performance during the PDB build.  This may not
               be typical and your results may vary.
              -A second new filtering parameter only applicable to RMF
               Monitor III DVT table processing is
               DEVTYPE=ALL/DASD/TAPE.
              -Aliases are DEVT= and DT=.  The default is DEVTYPE=ALL
               which provides the same behavior as earlier ASMRMFV
               versions.
              -DEVTYPE=ALL specifies that all DVT volume entries
               regardless of device type are output to the RMFBSAM file.
              -DEVTYPE=DASD specifies that only DVT volume entries for
               disk devices are output to the RMFBSAM file.  This
               setting may be relevant for users only interested in disk
               analysis from their PDB.  Abbreviations for the DASD
               value are DAS, DA, or D.
              -DEVTYPE=TAPE specifies that only DVT volume entries for
               tape devices are output to the RMFBSAM file.
               Abbreviations for the TAPE value are TAP, TA, or T.
              -DEVTYPE=DASD or DEVTYPE=TAPE may be used together with
               NOZEROIO.  In this case device type filtering occurs
               before any zero I/O filtering.
              -If both DEVTYPE=DASD and DEVTYPE=TAPE are specified only
               the last occurrence takes effect.
              -Enhancement for the Direct Method of running ASMRMFV is
               discussed below.
              -A new keyword MAXDSNAMES= is provided to allow user
               specification of the number of entries in the dsname
               table to contain INDSNAME= patterns when the Direct
               Method is used with ASMRMFV.  Aliases for MAXDSNAME= are
               MAXDSNAME=, MAXDSN=, or MAXDS=.
              -Prior to the addition of MAXDSNAMES= the only way to
               change dsname table size was by a source change to
               ASMRMFV followed by a re-assembly and re-link.  The
               dsname table was integrated as part of the program but
               now resides in a separate memory area.
              -MAXDSNAMES=nnnn specifies the number of entries to be
               allocated in the dsname table.  nnnn is an integer
               ranging from 1 to 9999.  The default is MAXDSNAMES=256.
               Each dsname entry requires 44 bytes.
              -While MAXDSNAMES=9999 is the maximum value supported by
               ASMRMFV, in reality a realistic value is the maximum
               number of TIOT entries supported by z/OS for single unit
               DD statements.
              -Initial ASMRMFV RMFV001I messages that show the current
               execution environment are enhanced to show the TIOT SIZE
               as defined in the ALLOCxx member in PARMLIB (shown as
               TIOT SIZE=nnK), the maximum number of single unit DD
               statements possible with that TIOT size (shown as
               MAXDD=nnnn), and the number of DD statements used at the
               start of ASMRMFV execution (shown as USEDD=nnnn).
              -The actual maximum number of entries allowed for
               MAXDSNAMES=nnnn is the value for MAXDD= less the value
               for USEDD=.  If MAXDSNAMES=nnnn exceeds this value it is
               set instead to the result of MAXDD - USEDD.
              -MAXDSNAMES=MAX may be specified instead and the result is
               the number of dsname entries calculated as just described
               above.
              -NOTE: If MAXDSNAMES=nnnn or MAXDSNAMES=MAX is specified,
               it MUST appear before ANY INDSNAME= parameters appear.
               The first INDSNAME= option triggers the allocation of the
               dsname table and the number of entries cannot then be set
               later.
              -New message RMFV038I appears when a dsname table is
               allocated showing the number of dsname entries and size
               in bytes.
              -New second message RMFV038I appears when a dsname table
               is freed or exhausted showing the number of entries
               available/used and the percentage used.
              -A second 32K output buffer used for filtering only has
               been added.  Any tables written to the optional RMFFILT
               DD will be blocked just as if they were written to
               RMFBSAM.
              -NOZEROASI and NOZERODVT options were not always properly
               shown in the RMFV037I options list message.
              -Messages RMFV006I for filters and RMFV037I for options
               are updated to show the new NOZEROIO and DEVTYPE=
               parameters.
              -Message RMFV007S had an incorrect value for Reason Code
               when a GETMAIN, FREEMAIN, or DLVRP service error
               occurred.  These services do not issue a Reason Code
               (only a Return Code) so this field is set to blanks in
               these cases.
              -Fixed a S0C4 Abend when the FROMDATE= value exceeded the
               TODATE= value.  ASMRMFV was attempting to read past the
               SYSIN end of file when it should have terminated parm
               processing.  The same issue could occur if FROMTIME=
               exceeded TOTIME= where FROMDATE= and TODATE= were the
               same date.
              -ASMRMFV now supports keywords up to 11 characters in
               length for future development.
              -NOTE: The prior suggestion for initial setting of ASMRMFV
               parameters for new users was PARM='NODVT'.  However, now
               that a large percentage of DVT volume entries with zero
               I/O activity can be filtered out with NOZEROIO by
               default, that suggestion is changing.
              -Instead use PARM='NOSHD,NORED' in JCL (or NOSHD NORED in
               SYSIN).  The MXG distributed EXZRBSHD and EXZRBRED output
               exits for VMACRMFV suppress the respective SAS data sets
               from being created later in the PDB build because they
               contain only control data not useful for analysis.
               Excluding these tables in ASMRMFV processing will reduce
               PDB build overhead by not creating SHD and RED table
               output in the RMFBSAM file in the first place.
              -NOTE: If you do not plan to develop your own USE/WAIT
               analysis by type of WAIT, you can also use add NOUWD to
               the PARM=  or SYSIN file to further reduce PDB build
               overhead.
              -The ASMRMFV source prologue as well as the ADOCRMFV
               documentation member are updated appropriately.
              -REQUIREMENT: In order to receive these improvements the
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
   Thanks to Peter Gray, HP Australia, for the DSNTYPE=LARGE suggestion.

Change 31.229 -Documentation.  Regarding the inconsistent interval data
VMACXAM        DURATION (seconds) mentioned, contact VELOCITY SOFTWARE
Oct 25, 2013   for a band-aid "fix" with your zWRITE data-collection
               script.  Explain that you want to see consistent
               15-minute interval data for the entire 24-hour period.
               This would be akin to the IBM RMF SYNC(59M|00M) option.
              -Also, you want to be up-to-date on VELOCITY zWRITE/zVPS
               maintenance, that being at least PROD4142 to address some
               instances when not all data was being flushed from the
               in-memory buffers at zWRITE data-close (typically
               end-of-day) time.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.228  IMS zIIP CPU time is created in IMF CIMSTRAN dataset as
VMACCIMS       CPUZIPTM=TRXZTCPU-TRXZONCP;
Oct 25, 2013
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.227  These report members failed after the default argument
ANALAVAI       PDB= was changed to &PDBMXG, which fails due to timing of
ANALBLSR       macro variable resolution. This example shows the problem
ANAL72GO       and that a direct circumvention requires THREE periods to
Oct 23, 2013   properly resolve to PDB.TYPE72GO:
Nov 12, 2013      %MACRO TESTIT(PDB=&PDBMXG);
                    %LET A=&PDB..TYPE72go;
                    %LET B=&PDB...TYPE72go;
                    %PUT A=&A;
                    %PUT B=&B;
                  %MEND TESTIT;
                  %TESTIT;RUN;
               Why only these three, when MANY of the %MACRO members in
               MXG have the same syntax?  Because all of the others have
               a %LET PDB=%UPCASE(&PDB); statement after the %MACRO, and
               that (accidentally?) circumvents the macro timing, so if
               these three had been properly created with the %UPCASE,
               this peculiarity would not have been observed.
              -ODS Graphics likes to override time formats with DATETIME
               formats.  YAXIS statement inserted to force it to use
               the format as specified in the data.  Nov 12 update.

Change 31.226  Support for Alebra Parallel Data Mover USER SMF record
EXTYPDM        Performance Record creates TYPEPDM dataset:
IMACPDM          dddddd   Dataset   Description
TYPEPDM           TYPDM   TYPEPDM   Alebra PARALLEL DATA MOVER
TYPSPDM
TESSUSR1
VMACPDM
VMXGINIT
Oct 23, 2013

Change 31.225  Support for Emtex JESConnect product's SMF Performance
EXTYJESC       Record creates TYPEJESC dataset:
IMACJESC         dddddd   Dataset   Description
TYPEJESC         TYJESC   TYPEJESC  JES2 CONNECT
TYPSJESC      -VMXGIPV4 is created to convert IPV4 $CHAR4 fields into
TESSUSR1       dotted IPV4 text IP Address, similar to VMXGIPV6.
VMACJESC
VMXGIPV4
VMXGINIT
Oct 23, 2013
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 31.224  WPS Version 3.0 QA tests found these incompatibilities:
ANAL80A       -INFILE operand TERMSTR, set in macro variable &MXGCRLF to
ANALAVAL       CR/CRLF/LF for ASCII in VMXGINIT, to define the end of
ANALPATH       line delimiter for input data files that can be either
ANALTAPE       PC or Unix format, is not supported in WPS, so it is now
TYPESVC        set only for execution under SAS. Currently, it is used
UTILEXCL       only in TYPERACF, TYPETAPR and TYPEWWW.
VMXGINIT      -In WPS, PROC APPEND BASE=PDB.CICSDICT NEW=CICSDICT; does
Oct 22, 2013   not propagate the Data Set Label from CICSDICT when the
               BASE does not exist, while SAS does propagate that Label.
               Using BASE=PDB.CICSDICT (LABEL='CICDIC: CICS DICTIONARY')
               NEW=CICSDICT; also does not work with WPS while it does
               work under SAS.  So, an extra DATA step was needed after
               the PROC APPEND to label the dataset.
               (The absence of the Data Set Label caused the MXG QA job
               to complain in DOCVER when the label was not found.)
              -TYPESVC/TYPSSVC - WPS does not support NAMED INPUT.
              -ANAL80A - WPS does not support PROC REPORT.
              -ANALAVAL- WPS does not support PROC CALENDAR.
              -ANALMPL,ANALTAPE - WPS does not support VREVERSE in PLOT.
              -ANALPATH- WPS doesn't support OVERPRINT in PUT statement.

Change 31.223  CICS variable WMQASRTM is added into the CPUTM variable
VMAC110        in CICSTRAN datasets; back in CICS/TS 4.1 IBM added the
Oct 20, 2013   field (WMQASRBT, clock and count) and documented it:
                The WebSphereMQ SRB time this transaction spent
                processing MQ API requests. This field is zero for
                point-to-point messaging activity, but is non-zero if
                MQ API requests result in publish and subscribe type
                messaging.  Note: WebSphere MQ only returns this value
                to CICS when MQ Class 3 accounting information is being
                collected in WebSphere MQ. To collect the MQ Class 3
                accounting info, START TRACE(ACCTG) DEST(SMF) CLASS(3)
                must be issued in WebSphere MQ.
               This SRB CPU time is already included in the CPUTCBTM in
               the SMF 30s for the CICS region.
                Note: VMAC110/UTILEXCL/DOCVER have these MQ variables
                  MQGETWTM MQGETWCN MQREQS MQWTCBUS MQQONTCPU MQREQUS
                that were originally decoded in 2003 in Change 21.212,
                from CMODNAME='MQSERIES' and CMODHEAD='MQGETW/MQREQS/
                MQWTCBUS/MQONTCPU/MQREQUS' but I can not find any of
                those names in CICS Data Areas, nor have those names
                appeared in any CICS Dictionaries in recent versions so
                I presume they are no longer created, and the newer
                WMQGETTM WMQGETTM WQMREQCT WMQASRTM WMQASRCN variables
                have replaced the 2003 variables.  They exist in DOCVER
                only because I force them to be part of the MXG QA, and
                since they are ONLY created by UTILEXCL and ONLY IF the
                CMODHEAD/CMODNAME are found, it is unlikely they will
                even exist in your CICSTRAN dataset.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.222  INPUT STATEMENT EXCEEDED RECORD for RMF III SPG record if
VMACRMFV       the system had more than 1361 devices; NRVOLSTV=1674 was
Oct 19, 2013   used for the VOL count, but that is the total number of
               VOLs in ALL SPG records.  Instead, SPGVOLNR is the count
               of vols in this record, and is now used for the loop.
   Thanks to MP Welch, Bank of America, USA.

Change 31.221  Revisions to ODS support.  Revised VMXGODSO/ODSC members
ANAL72GO       and to the programs that use them.
ANALACTM      -VMXGODSO (Open ODS destination) now supports TYPE=PDF
ANALAVAI       and passes the ODSTYPE to VMXGODSC.
ANALDB2B      -VMXGODSC now actually correctly closes the current ODS
ANALGRID       destination and restores the original ODS settings using
ANALHTML       two new user-supplied parameters:
ANALID           ODSORIGTYPE= the type of ODS output you want set after
ANALIDMS                      close.  If you leave it blank, it will
ANALINIT                      revert to HTML on ASCII and to LISTING
ANALNAT                       in all other cases.
ANALNATR         ODSORIGFILE= if you want to direct the output after
ANALPKGS                      close to a specific destination; can be
ANALRAID                      blank
ANALRANK      -ANAL72GO adds the ODSORIGTYPE and ODSORIGFILE parameters
ANALS225       for VMXGODSC and also adds ODS GRAPHICS if you are on SAS
ASUMRAID       9.3 or greater and only uses SAS/GRAPHS for earlier SAS
GRAFCEC        versions (if SAS/GRAPH is detected) and WPS.
GRAFRAID      -ANALACTM. Added ODSORIGTYPE and ODSORIGFILE parameters
GRAFRMFI       for VMXGODSC.  The report of the WLM configuration needs
GRAFWRKX       landscape orientation; to make that happen with TYPE=PDF
VGETWKLD       the OPTIONS ORIENTATION=LANDSCAPE; statement is added
VMXG2DTE       before the ODS PDF statement.  Since ORIENTATION is an
VMXGODSC       option in the format NAME=VALUE, which was not previously
VMXGODSO       used in VMXGOPTR, it was also revised to support it.
VMXGOPTR      -ANALAVAI. Adds the ODSORIGTYPE and ODSORIGFILE parameters
VMXGRMFI       for VMXGODSC and corrects a macro variable resolution
Nov  2, 2013   problem discovered in testing.
Dec  8, 2013  -ANALDB2B. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC.
              -ANALGRID. VMXGODSO/VMXGODSC execution is now conditional
               so you can combine the output of ANALGRID in a single
               file with other reports and graphs, such as:
                 %VMXGODS(TYPE=PDF,FILE=MYREPORT.PDF);
                 %ANALGRID(ODSTYPE=NO,other parameters);
                   PROC SGPLOT;
                   etc...
                 %VMXGODSC;
              -ANALHTML. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC.
              -ANALID.  If you invoked ANALID without running TYPEID,
               it would fail without really telling you why because it
               could not find the _WTYID _LTYID datasets.  Now if it
               detects that TYPEID has not been run it automatically
               includes VMACID to create those macros.
              -ANALIDMS. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC.
              -ANALINIT. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC, and some reformatting for PDF output.
              -ANALNAT and ANALNATR.  PLOTs changed to SGPLOT. Comments
               added to show how to create PDF output as well as HTML.
              -ANALPKGS. PDF comments added and HTML commented so that
               you can choose which you prefer
              -ANALRAID. Added ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC. Modified for PDF output.
              -ANALRANK. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC. Reduce to a single report.
              -ASUMRAID modified for use with VMXGODSO and VMXGODSC. Now
               makes GRAFRAID obsolete since it creates the same output
               using HTML or PDF, but does it without SAS/GRAPH.
              -ANALS225. Uses DB2STATS as input since the IFCID=225 data
               in completely contained in PDB.DB2STATS datasets and the
               T102S225 is not created.  DB2 interval records are now
               created every minute (cannot be changed) so the revised
               report provides for summarization to any chosen interval.
               ODSORIGTYPE and ODSORIGFILE parameters added.
              -GRAFCEC modified to use VMXGODSO and VMXGODSC for HTML
               or PDF and to use SGPLOT when on SAS 9.3 or higher.
              -GRAFRAID - marked as obsolete.  ASUMRAID creates the same
               output more cleanly and without requiring SAS/GRAPH if
               you use PDF or HTML.
              -GRAFRMFI modified to use VMXGODSO and VMXGODSC for HTML
               or PDF and to use SGPLOT when on SAS 9.3 or higher.
              -GRAFTAPE. Adds the ODORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC and adds ODS GRAPHICS if you are on SAS 9.3
               or later, and uses SAS/GRAPH for earlier SAS and WPS.
              -GRAFWRKX (hourly bar chart of each workload in RMFINTRV)
               now uses and describes each of the SGPLOTs; ODSORIGTYPE
               and ODSORIGFILE added to parameters for VMXGODSC.
               Dec 8: ODS statement parameter ODSSTYLE added pointing at
               STYLES.MXGSTYLE1.
              -VMXG2DTE. Option added to CYCLE parameter to enable tests
               at any time.  CYCLE=FORCE will override the input DD in
               the MTD database.
              -VMXGOPTR. Enhanced to handle options where the format is
               OPTION optionname=value (LINESIZE PAGESIZE VMXGOPTR),
               needed for ODS TYPE=PDF when landscape is desired.
              -VGETWKLD modified to end if no workloads are found and
               fill in all macro variables expected downstream.
              -VMXGRMFI trend logic modified to stop if no workloads are
               found.
              -VMXGODSO Dec 8, 2013: Cleanup and realignment of code and
               added new ODSSTYLE= argument (especially for PDF output).

Change 31.220  Enhancement to CRYPTOGRAPHIC PROCESSOR support.
VMAC7072      -TYPE7002 dataset variables R702ASDC R702ASDB R702ASDI
Oct 16, 2013   were misspelled (R702AEDC,R702AEDB,R702AEDI).
              -IBM RMF Report tokens for the OVERVIEW/EXCEPTION reports
               are now added as variables to the crypto datasets:
                TYPE7002 - PCCIC
                 CRYCKR='COPROCESSOR*KEY-GEN*RATE'
                 CRYCTE='COPROCESSOR*TOTAL*AVG EXECUTE*TIME'
                 CRYCTR='COPROCESSOR*TOTAL*RATE'
                 CRYCTU='COPROCESSOR*TOTAL*PCT UTILIZATION'
                TYPE70X2 - PCICA
                 CRYAC1E='ACCELERATOR*1024BIT-CRT*AVG EXECUTE*TIME'
                 CRYAC1R='ACCELERATOR*1024BIT-CRT*RATE'
                 CRYAC1U='ACCELERATOR*1024BIT-CRT*PCT UTILIZATION'
                 CRYAC2E='ACCELERATOR*2048BIT-CRT*AVG EXECUTE*TIME'
                 CRYAC2R='ACCELERATOR*2048BIT-CRT*RATE'
                 CRYAC2U='ACCELERATOR*2048BIT-CRT*PCT UTILIZATION'
                 CRYAC3E='ACCELERATOR*4096BIT-CRT*AVG EXECUTE*TIME'
                 CRYAC3R='ACCELERATOR*4096BIT-CRT*RATE'
                 CRYAC3U='ACCELERATOR*4096BIT-CRT*PCT UTILIZATION'
                 CRYAM1E='ACCELERATOR*1024BIT-ME*AVG EXECUTE*TIME'
                 CRYAM1R='ACCELERATOR*1024BIT-ME*RATE'
                 CRYAM1U='ACCELERATOR*1024BIT-ME*PCT UTILIZATION'
                 CRYAM2E='ACCELERATOR*2048BIT-ME*AVG EXECUTE*TIME'
                 CRYAM2R='ACCELERATOR*2048BIT-ME*RATE'
                 CRYAM2U='ACCELERATOR*2048BIT-ME*PCT UTILIZATION'
                 CRYAM3E='ACCELERATOR*4096BIT-ME*AVG EXECUTE*TIME'
                 CRYAM3R='ACCELERATOR*4096BIT-ME*RATE'
                 CRYAM3U='ACCELERATOR*4096BIT-ME*PCT UTILIZATION'
                TYPE70Y2 - CPACF
                 CRYIADO='AVG TIME*COPROCESSOR*CALLS*AES*DECRYPT'
                 CRYIADR='RATE*OF*AES*DECRYPT*SERVICE*CALLS*SENT'
                 CRYIADS='AVG BYTES*PER*AES*DECRYPT*SERVICE*CALL'
                 CRYIAEO='AVG TIME*COPROCESSOR*CALLS*AES*ENCRYPT'
                 CRYIAER='RATE*OF*AES*ENCRYPT*SERVICE*CALLS*SENT'
                 CRYIAES='AVG BYTES*PER*AES*ENCRYPT*SERVICE*CALL'
                 CRYIH2I='INSTR*TO*HASH*DATA*SHA-224*SHA-256*ALGO'
                 CRYIH2R='HASHING RATE*SHA-224*SHA-256*ALGORITHM'
                 CRYIH2S='HASHING SIZE*SHA-224*SHA-256*ALGORITHM'
                 CRYIH5R='HASHING RATE*SHA-384*SHA-512*ALGORITHM'
                 CRYIH5S='HASHING SIZE*SHA-384*SHA-512*ALGORITHM'
                 CRYIHAI='INSTR*TO*HASH*DATA*SHA-1*ALGORITHM'
                 CRYIHAR='HASHING RATE*SHA-1*ALGORITHM'
                 CRYIHAS='HASHING SIZE*SHA-1*ALGORITHM'
                 CRYIMGI='INSTR*TO MAC*GENERATE'
                 CRYIMGR='MAC*GENERATION*RATE'
                 CRYIMGS='MAC*GENERATION*SIZE'
                 CRYIMVI='INSTR*TO MAC*VERIFY'
                 CRYIMVR='MAC*VERIFY*RATE'
                 CRYIMVS='MAC*VERIFY*SIZE'
                 CRYIPTR='PIN*TRANSLATION*RATE'
                 CRYIPVR='PIN*VERIFY*RATE'
                 CRYISDDI='SINGLE*DES*INSTR*DECIPHER*THE*DATA'
                 CRYISDDR='SINGLE*DES*DECRYPT*RATE'
                 CRYISDDS='SINGLE*DES*DECRYPT*SIZE'
                 CRYISDEI='SINGLE*DES*INSTR*ENCIPHER*THE*DATA'
                 CRYISDER='SINGLE*DES*ENCRYPT*RATE'
                 CRYISDES='SINGLE*DES*ENCRYPT*SIZE'
                 CRYITDDI='TRIPLE*DES*INSTR*TO*DECIPHER*THE*DATA'
                 CRYITDDR='TRIPLE*DES*DECRYPT*RATE'
                 CRYITDDS='TRIPLE*DES*DECRYPT*SIZE'
                 CRYITDEI='TRIPLE*DES*INSTR*TO*ENCIPHER*THE*DATA'
                 CRYITDER='TRIPLE*DES*ENCRYPT*RATE'
                 CRYITDES='TRIPLE*DES*ENCRYPT*SIZE'
                TYPE70Y3 - CE4XP
                 CRYPAGE='GENERATION*ASYMMETRIC-KEY*AVG EXEC TIME'
                 CRYPAGR='GENERATION*ASYMMETRIC-KEY*RATE'
                 CRYPAGU='GENERATION*ASYMMETRIC-KEY*PCT UTILIZATION'
                 CRYPFAE='FAST*ASYMMETRIC-KEY*AVG EXEC TIME'
                 CRYPFAR='FAST*ASYMMETRIC-KEY*RATE'
                 CRYPFAU='FAST*ASYMMETRIC-KEY*PCT UTILIZATION'
                 CRYPSAE='SLOW*ASYMMETRIC-KEY*AVG EXEC TIME'
                 CRYPSAR='SLOW*ASYMMETRIC-KEY*RATE'
                 CRYPSAU='SLOW*ASYMMETRIC-KEY*PCT UTILIZATION'
                 CRYPSCE='COMPLETE*SYMMETRIC-KEY*AVG EXEC TIME'
                 CRYPSCR='COMPLETE*SYMMETRIC-KEY*RATE'
                 CRYPSCU='COMPLETE*SYMMETRIC-KEY*PCT UTILIZATION'
                 CRYPSPE='PARTIAL*SYMMMETRIC-KEY*AVG EXEC TIME'
                 CRYPSPR='PARTIAL*SYMMETRIC*RATE'
                 CRYPSPU='PARTIAL*SYMMMETRIC-KEY*PCT UTILIZATION'
                 CRYPTE='PKCS11*COPROCESSOR*AVG EXEC TIME'
                 CRYPTR='PKCS11*COPROCESSOR*TOTAL*RATE'
                 CRYPTU='PKCS11*COPROCESSOR*TOTAL*PCT UTILIZATION'
   Thanks to David Wilbur, State of Washington CTS, USA.
   Thanks to Steve Majerick, State of Washington CTS, USA.

Change 31.219 -If you only want to know which character variable(s) in
VMXGSRCH       which dataset(s) contains a text string, RESULTS=COUNT
Oct 15, 2013   produces the simple report of names and counts.
              -Specifying RESULTS=PRINT prints all variables in those
               found observations (printing the first NOBS observations
               with both variable name and label as heading) and now
               also produces the COUNT report after the prints.
              -A log message is printed when observations are found.
              -The VALUE= argument does not need to be the exact value
               of a variable.  VALUE=XYZ will find XYZ123 or ABCXYZ or
               any variable that has XYZ anywhere in its value.

Change 31.218  INVALID DATA FOR SCACTIME in ID=119 SUBTYPE=32 because
VMAC119        variable SCORIGIN was overlooked and not INPUT causing
Oct 10, 2013   the misalignment by one byte.
   Thanks to Thomas Heitlinger, Fiducia IT AG, GERMANY.
   Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.
   Thanks to Dennis Gaertner, Fiducia IT AG, GERMANY.

Change 31.217  Support for CICS "multi journal records" adds examples in
EXCICJRN       the EXCICJRN member to decode multiple journals to create
Oct 10, 2013   multiple datasets from different journal records.  You
               would copy the example EXCICJRN member into your "USERID"
               MXG tailoring library, then comment out its default code
               block, un-comment and modify its "multi" example code to
               create and output your variables into CICSJOUR, then copy
               the MACRO _SCICJRN and MACRO _KCICJRN definitions into
               IMACKEEP in your tailoring library, to define which of
               the WORK.CICSJOUR variables are output into which of your
               new datasets. Then your SYSIN program would be:
                   %LET MACFILE=
                     %QUOTE( IF ID=110 AND SUBTYPE=0; );
                   %INCLUDE SOURCLIB(TYPE110);
                   _SCICTRN
                   RUN;
               if you ONLY want to process the Journal Records.
   Thanks to Paul Bennett, Euroclear, BELGIUM.

Change 31.216  INVALID DATA FOR S42CSYNC because it is not an SMFSTAMP8
VMAC42         value, instead containing a nonstandard 2013281F0916483F
Oct 10, 2013   format that is now "hand" decoded to 08OCT2013:9:16:48.3.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 31.215  New variables added to TYPETLMS are now supported:
VMACTLMS         BACODLVL='ENHANCED*CODE*LEVEL*03X'
Oct  7, 2013     BAKEYIDX='ENCRYPTION*KEY*INDEX'
                 BAPCTCMP='PCT*OF COMPACT*FOR FILE'
                 BAPCTFIL='PCT*VOLUME*USED*BY FILE'
                 BAUSQFIL='USAGE*SEQUENCE*FOR FILE'
   Thanks to Scott Barry, SBBWorks Inc, USA.
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.

Change 31.214  CICS dataset CICSJS variables SJSMAJCP and SJSMINCP in
VMAC110        statistics dataset CICSJS were incorrectly documented and
Oct  3, 2013   labeled as CPU time so MXG input them as such, but IBM
               now confirms that they are elapsed time in milliseconds
               in the record, so both are now correctly input, labeled
               (TOTAL*ELAPSED*TIME IN MAJOR/MINOR GARBAGE COLLECTION)
               and formatted TIME13.3 to display the millisecond as the
               final digit in the decimal place.
   Thanks to Mark Wittie, Fidelity Institutional, USA.
   Thanks to Warren Cravey, Fidelity Institutional, USA.
   Thanks to Paul Albrecht, Fidelity Institutional, USA.

Change 31.213  MXG 31.06-31.07 only, and only if syntax of 102.xxx was
UTILBLDP       used to select ID=102 records by IFCID/SUBTYPE.  Errors
Oct  4, 2013   for old-style MACRO _V102xxx were printed on the log.
               Introduced in Change 31.184.

Change 31.212  New (internal) parameters SPINTAPE and NOEXIMSG added.
ANALDB2R      -SPINTAPE=YES will cause VGETOBS to read an input SAS data
VGETOBS        library when it is on tape/sequential format, building
Oct 18, 2013   the MXGTABLES dataset that list all SAS datasets on the
               tape.  Used now in ANALDB2R but available to other MXG
               utilities.  Normally, the MXGTABLES is used and then
               discarded by VGETOBS, but with this parameter it is kept.
               Default for SPINTAPE is NO in VGETOBS, set by caller.
              -Option DATASET=_ALL_ will also cause MXGTABLES to be kept
               for use in subsequent internal utilities.
              -NOEXIMSG=NO (default) added to suppress messages when the
               input datasets are on tape, after the first time that DD
               is encountered.
              -ANALDB2R exploits this new VGETOBS to snapshot a list of
               all of the datasets found in the first libname in PDB=,
               whether it is on tape or disk, and then builds a MACRO
               variable with that list of available datasets, avoiding
               the earlier design that required many executions of the
               VGETOBS macro, potentially eliminating many tape mounts.

Change 31.211  ANALHSM exploited the fact that SAS will always look for
ANALHSM        the last dataset created when doing a SORT or PRINT. But
Sep 26, 2013   the latest changes to VGETOBS now create a temporary
               dataset that intervenes and disappears so the explicit
               dataset to be sorted/printed had to be specified.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 31.210  Variables R744SATM,R744SDTM,R744SQTM,R744SSTM are in
VMAC74         seconds per event, but that was not obvious.  Their label
Sep 25, 2013   now contain *SECONDS*PER....' and are formatted 8.6.
               So a value of 0.000094 is 94 microseconds per ....
   Thanks to Cesar V Cocco, CitiCorp, USA.

Change 31.209 -If you specified PDB=YES and used the LDB2xxxx parameters
READDB2        to reroute the output datasets, there was a failure when
CLEARDB2       looking for the YES DDNAME in VGETOBS.  Should have been
Sep 27, 2013   pointing to the PDB2xxxx specific MACRO VARIABLE rather
               than PDBOUT.
              -Specifying STATS/STATISTICS but then Suppressing one of
               the statistics datasets caused DATASET NOT FOUND errors;
               now if a required dataset is not present, DB2STATS won't
               be created but the READDB2 won't terminate with an error.
               Not all old style macros defined in VMACDB2 were cleared.
               This could cause many strange errors, but ONLY if there
               were multiple executions of READDB2 in the same session,
               e.g., the MXG QA Test stream.  This change was found when
               many additional %READDB2 QA tests of previously reported
               errors were added to the QA stream.
              -%TRIM and %QCMPRES %MACRO functions were replaced by
               these %SYSFUNC calls to use COMPBL as those %MACRO
               functions did not always work correctly and caused
               errors where macro variables exceeded the 64K limit.
               In addition, elimination of %TRIM and %QCMPRES removes
               the past issues with incorrect SASAUTOS allocations.
                 %LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));
                 %LET IDREADS=%QCMPRES(&IDREADS 102);
                 %LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));
                 %LET IDREADS=%QCMPRES(&IDREADS 102);

Change 31.208 -ASUM113 variables LPARBUSY and MIPSEXEC were wrong for
ASUM113        the zEC12 processor; they should be divided by DELTASUM
Sep 24, 2013   and not DELTATM in those equations for the processor
   Thanks to Andrew Hebden, Barclays, ENGLAND.

Change 31.207 -MXG 31.07.  Debugging PUT statement in VMAC6 printed
VMAC6            SMF6LN3=162 LENLEFT=552 for every SMF 6 record.
Sep 24, 2013
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 31.206 -Support for IMF 5.1 (INCOMPATABLE, but only impacting the
VMACCIMS       CIMSDBDS dataset; other existing datasets are unchanged.)
EXIMFMQ       -New variables added to CIMSDBDS dataset:
IMACCIMS         DBTDBVER='DB*VERSION'
VMXGINIT         DBTFLOVF='FALSE*OVERFLOW*OCCURRED?'
FORMATS       -New CIMSMQ dataset contains these MQ variables:
Sep 23, 2013      MQSSID  ='MQSSID'   MQGET   ='MQGET*CALLS'
                  MQBACK  ='MQBACK'   MQINQ   ='MQINQ '
                  MQCLOSE ='MQCLOSE'  MQOPEN  ='MQOPEN'
                  MQCMT   ='MQCMT'    MQPUT   ='MQPUT*CALLS'
                  MQCOMM  ='MQCONN'   MQPUT1  ='MQPUT1*CALLS'
                  MQDISC  ='MQDISC'   MQSET   ='MQSET*CALLS'
                  MQFLG1  ='MQFLAG1'  MQUNKN  ='MQUNKN'

Change 31.205  A graphical analysis of Latent Demand, based on Tivoli's
ANALATEN       discussion found at:
Sep 21, 2013       HTTP://PUBLIB.BOULDER.IBM.COM/TIVIDD/TD/TDS390/
                         SH19-6818-08/EN_US/HTML/DRLM9MST50.HTM
               Mar 22, 2014: Check for postings in archives and try:
                   http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/
                                 /BOOKS/DRL5FS09/3.3.3?DT=20100105101315

====== Changes thru 31.204 were in MXG 31.07 dated Sep 20, 2013=========

Change 31.204  Change 31.200 (VGETOBS enhancement) stumbles with PDB=PDB
ANALDB2R       if the data library that contains all of the DB2 datasets
Sep 19, 2013   is on tape.  While that is, in general, bad practice, as
               a mount and read is required for EVERY dataset needed by
               your ANALDB2R request, it previously worked and will in
               the near future, but for now, if your PDB is on tape and
               you used ANALDB2R(PDB=PDB), this circumvention will avoid
               the error (UNINIT variables messages, then other errors).
                  %ANALDB2R(PDB=WORK,DB2ACCT=PDB,USEACCT=YES,PMSTA02=NO,
                            PMSPR01=NO);
                  %ANALDB2R(PDB=PDB,STATSUSE=DETAIL,PMACC01=NO,
                            PMACC02=NO);
               Please contact support@mxg.com to request CHANGE 31.204
               when it is available.
               This change is only documentation as of this date.
   Thanks to John Schoenbeck, IBM Global Services, USA.
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 31.203 -TYPE70 calculations of SHARE values were wrong if there
VMAC7072       were IFL engines in the CEC, because MXG output those IFL
VMXG70PR       engines in TYPE70EN/EC/FORRMFI datasets and those SHAREs
Sep 23, 2013   values for the IFLs were incorrectly included in the z/OS
               SHARE calculations.  Only if IFLs are shared are there
               non-zero SHARE values.
              -ASUM70PR count of LPARIFLS in PDB.ASUM70LP/PDB.ASUMCELP
               was wrong (larger than NRIFLCPU) if there were multiple
               RMF intervals for the same summary INTERVAL, as when RMF
               was stopped/started/changed.
   Thanks to Andrew Petersen, CSC, AUSTRALIA.

Change 31.202 -Variable SM120AD4 was a missing value because AD3 and AD4
VMAC120        are 16-byte fields with 8-low order bytes of nulls and
Sep 18, 2013   MXG did not skip the AD3 low order bytes.
              -But my data does not match the documentation.  Following
               SM120AD4 there is an 8-byte undocumented field containing
               'FFFFB62000000000'X (-19830.66931 decimal) that looked to
               be a GMT OFFset, but SM120ACD 'FFFFBCF10CC00000'X has the
               correct value of -18000.85 for the -5 hour timezone so I
               have no idea what that value actual is; it is input into
               SM120TZX but not kept nor used.  After that field there
               are 24 reserved bytes.
   Thanks to Mark Wittie, Fidelity Institutional, USA.

Change 31.201  Support for APAR OA40376 for z/OS 1.3 adds variables to
VMAC74         SMF 74 Subtype 5 RAID Rank/Extent Pool data; these vars
Sep 18, 2013   were added in z/OS 2.1 but overlooked previously:
                  R7451ZHL='ZHPF*LIST PREFETCH I/O REQUESTS'
                  R7451ZHH='ZHPF*LIST PREFETCH I/O HITS'
                  R7451GSF='GLOBAL*MIRROR*COLLISIONS*SIDEFILE'
                  R7451GSS='GLOBAL*MIRROR*COLLISIONS*SYNCHRONOUS'
               APAR OA42682 adds BIT 4 value to R744FFLG.
   Thanks to Lou Horton, NYS Office of Info Technology, USA.

Change 31.200  MXG 31.06 READDB2 could still fail on z/OS only, mostly
VGETOBS        due to the IFCID=225 which has a unique requirement to
VMXGWORL       use VMXGWORL, but recent changes to VGETOBS, which now
Sep 18, 2013   always returns the DSN of all sequential format datasets,
               confused VMXGWORL which incorrectly used the _L102225
               token instead of _W102225.  Now, VGETOBS passes SEQ back
               in the VGETMTYP macro variable, which, when detected,
               redirects VMXGWORL to use the _W rather than the _L, that
               might not exist.  If the _W doesn't exist, then the _L
               will be used, but if it does not exist, then there will
               be a dataset not found failure.
              -The incorrect note in comments in 31.06 READDB2 that the
               PDB=XXX option of READDB2 required DISK was incorrect
               and has been removed.
              -Perhaps in our defense of this error:
                The 31.06 VGETOBS solved two very different problems:
                1. WPS failed when there was no LIBNAME when there was a
                   WHERE clause on PROC SQL read of DICTIONARY.TABLES.
                   Solved by looking at DICTIONARY.FILENAMES without a
                   WHERE first to see if the DD even exists.
                2. SAS mounting and rereading every tape with every
                   execution of VGETOBS reading DICTIONARY.TABLES, even
                   when there was NO where clause.
                   Solved by keeping track of tape DDs and excluding
                   them from DICTIONARY.TABLES searches with a WHERE
                   CLAUSE NE.
              -Solving problem 2 cut tape mounts in daily CICS/DB2 job
               at one site from over 90 to less than 20.
   Thanks to John Schoenbeck, IBM Global Services, USA.

Change 31.199  Variable S17NNDM was added to the BY list _B117NOD macro
VMAC117        to order by NODE name and to fully remove duplicates.
Sep 17, 2013   I missed this because my test data had only one value.
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

Change 31.198 -This JCL example changes the DSCB of a z/OS dataset from
JCLVBS2U       RECFM=VBS to RECFM=U, WITHOUT copying the data, saving
Sep 17, 2013   the CPU and I/O and time for the copy.  The changed file
               can then be downloaded with ftp (the RECFM=U preserves
               BDWs and RDWs) for sites that want to archive AND process
               the file on the download platform (using RECFM=S370VBS &
               LRECL=32760 on the FILENAME statement to read).
                 //JCLVBS2U  EXEC PGM=IEBGENER
                 //SYSIN DD DUMMY
                 //SYSPRINT DD SYSOUT=*
                 //SYSUT2  DD DSN=ZOS.VBS.FILE.TO.CHANGE,
                 //     DISP=MOD,DCB=RECFM=U
                 //SYSUT1  DD DSN=NULLFILE,DCB=*.SYSUT2
               The key is to use DISP=MOD and to copy NULLFILE which
               ONLY changes the DSCB attributes and does NOT touch
               the actual data in the original file.
              -Note: if you ONLY want to READ the data and do not need
               to archive, you would use the SAS ftp Access method that
               is documented in the INSTALL member to directly read the
               z/OS data over ftp without prior download, only writing
               the SAS datasets on the download platform.
              -While the technique can also change RECFM=U to VBS, and
               while you can create a RECFM=VBS file on ASCII and upload
               to z/OS, you cannot simply upload that file into RECFM=U
               and then change the RECFM; you must upload the VBS data
               into a RECFM=U,BLKSIZE=32760 file on z/OS, and then use
               either the SAS UDEBLOCK or the ASM ASMDBLKU program to
               reconstruct legitimate VBS data to read on z/OS.
   Thanks to Dan Kaberon, EMC, USA.

Change 31.197  After MXG 30.30, for IDMS 17, dataset IDMSINS had zero
VMACIDMS       obs because only SEQN=1 exists in version 17, but MXG
Sep 12, 2013   update expected SEQN=2 and did not output.
   Thanks to Gitta Janssens, ColruytGroup, BELGIUM

Change 31.196  Support for APAR PM67806 adds new QW0225DMH with total
VMACDB2        DMH GETM storage, for both DB2 V9 and DB2 V10.
Sep 11, 2013   Today's change only supports V9 pending V10 APAR doc.
   Thanks to Kerry J. Sommers, John Deere, USA.

Change 31.195A Cosmetic.  DEBUGGING PUT statement TY50xxxx= in line 306
VMAC50         is now commented out.
Sep 10, 2013
   Thanks to Dan Case, Mayo Clinic, USA.

Change 31.195  Cosmetic. Missing values messages for TASSYTI-TASENTI
VMACIDMS       division by 4096 are eliminated by making the INPUT and
Sep  9, 2013   calculation inside a conditional DO group.

Change 31.194  31.02-31.06, z/VM 6.2.12 BROKEN CONTROL RECORD error. The
VMACVMXA       MXG input INCORRECTLY expected 120 bytes in STOSHD (3.16)
Sep  9, 2013   record, but this record had only 112 so the INPUT of
               ASCCTRSV and ASCDSRSV are now conditional and corrected.
   Thanks to David Campbell, SunTrust, USA.

Change 31.193 -An undocumented change in z/OS 2.1 increased the length
VMAC0          of ID=0 records to 68 bytes, which caused the MXG ERROR
Sep  9, 2013   message that the ID=0 record was invalid and was deleted.
Sep 19, 2013   MXG 31.06 eliminated that ERROR message and the DELETE;
               31.07 creates these two new variables in TYPE0 dataset:
                 SMF0MSWT='SWT STC*WAIT TIME*LIMIT*MINUTES'
                 SMF0MTWT='TWT TSO*WAIT TIME*LIMIT*MINUTES'
               These fields are non-zero only if the corresponding new
               SWT or TWT keywords are specified in your SMFPRMxx.
              -That length test for the TYPE 0 record is ancient, from
               the days when a TYPE 0 WAS an IPL event; many times when
               a SYSPROG attempted to create a USER SMF record they had
               accidentally created a record with ID=0, which then was
               reported as an IPL, when there had been no IPL.  Now, as
               BUILDPDB creates the PDB.IPLS dataset from ID=90 that
               DOES report an IPL event, the erroneous deletion of these
               valid ID=0 records should not impact your IPL reporting.
               But, because some sites still treat a zero as an IPL,
               I chose to leave the length check in place for future
               a SYSPROG to trigger!
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 31.192  Cosmetic.  Comments for IMACICE1/E2/EZ tailoring now cite
UTILEXCL       REPORT THREEA to find the counts of fields in those
Sep  9, 2013   optional members.

Change 31.191  READDB2 did not handle PDBOUT=WORK nor PDBOUT=XXX as
READDB2        documented, and could need an unneeded //PDB DD.
Sep 11, 2013  -PDBOUT=WORK, or PDBOUT=, was unintentionally changed by
               Change 31.128 (MXG 31.05), writing DB2ACCT to the //PDB
               LIBNAME instead of to //WORK, which caused an ABEND if
               there was no //PDB DD in the JOB (and one is not needed
               with PDBOUT=WORK).  Circumvention: add a temporary DD;
                 //PDB DD UNIT=SYSDA,SPACE=(CYL,(500,500))
              -PDBOUT=XXXXX (for some time) only wrote the T102Sxxx data
               to the XXXXX LIBNAME; all DB2xxxxx Account and Statistics
               datasets were instead written to their default (PDB).
              -Now, PDBOUT= null, WORK, or XXXXX will create all output
               only in the expected LIBNAMEs; as has been documented in
               READDB2, with those PDBOUT vaLUES, you can not change the
               output libnames, neither with a %LET Pdddddd=DDNAME nor
               nor by using READDB2's LDB2ddd=DDNAME option.
              -ACCIDENTALLY, if your PDBOUT=XXX was PDBOUT=PDB, almost
               everything DID work as you expected.
   Thanks to Otto Burgess, ATPCO, USA.

Change 31.190 -New variables are now INPUT and kept in TMMQQU dataset:
VMACTMMQ        QUACCT   QUAPPLNM QUAPPLTY QUASID   QUBROWSE QUCCONNM
Sep  6, 2013    QUCFSTR  QUCHNL   QUCLWPRI QUCLWRNK QUCLWUSQ QUHSTAT
Oct 14, 2013    QUINPUT  QUINQUR  QULGD    QULGT    QULPD    QULPT
                QUMEDLGE QUMSGAGE QUMSGQTL QUMSGQTS QUNPMCLS QUOPENOP
                QUOUTPUT QUPID    QUPSBN   QUPSID   QUPSTID  QUQMON
                QUQMONST QUQMURID QUQSGD   QUSET    QUSTATQ  QUTASKNO
                QUTID    QUTPIPE  QUTRANID QUUNCOM  QUURID   QUURTYPE
                QUUSERID QUALTDTE
              -A new message reports record counts and bytes of both
               compressed and uncompressed input.
              -BY List macros have been revised to remove duplicates.

Change 31.189  Format $MGRMFCX for Crypto Coprocessor type expected
FORMATS        '10'X for CEX41, but the value in the RMF record is an
Sep  6, 2013   '0A'x, so that value is now used for R7023CT/R7024CT.
   Thanks to Michael Creech, Lender Processing Services, Inc., USA

Change 31.188  Change 31.120 added support for MQ SMF 115 ST2 SMDS/QESD
EXTY115S       data new in MQ 7.1.0, but output only the first segment
IMAC115        and output it in incorrectly in MQMMSGDM, an interval
VMAC115        dataset.  Since there are many structures, now, the SMDS
VMXGINIT       data is output in new TYPE115S dataset with one obs for
Sep  4, 2013   for each application structure.
                 The IBM doc in CSQDQESD is incorrect, showing a length
                 of 328, but that includes the 8-bytes of the ID/EYEC,
                 and so only 320 bytes of data is documented.  However,
                 the LQ length is 328, and IBM has added 8 bytes at the
                 end of each segment. but then, that first entry is 332!
                 MXG recognizes the IBM error and circumvents in code.
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

====== Changes thru 31.187 were in MXG 31.06 dated Sep  3, 2013=========

Change 31.187  MXG 31.05. After Change 31.156, z/OS under VM only, zero
VMAC7072       obs in PDB.TYPE70. Variable VMSYSTEM is now set from the
Sep  2, 2013   NRCPUID if that APAR is not installed and then used to
               force the output.
   Thanks to Frank Lund, Evry AS, NORWAY.

Change 31.186 -Variable LSPRWKLD was incorrectly set to 'HIGH' instead
ASUM113        of 'LOW' when 3 LE L1MP LE 6 AND RNI LT 0.6.
Sep  2, 2013  -Cosmetic.  LENGTH DEFAULT=&MXGLEN added Sep 17.
   Thanks to Wayne Montefiore, CSC, AUSTRALIA.

Change 31.185  Original 31.06 VGETOBS member was not the final update.
VGETOBS        See Change 31.180 for the final documentation.
Sep  3, 2013

====== Changes thru 31.184 were in MXG 31.06 dated Sep  1, 2013=========

Change 31.184 -Multiple executions of BLDSMPDB after UTILBLDP now works.
BLDSMPDB       Old-style macros _SPINCNT _SPINUOW and _TIMEDIF, (and,
UTILBLDP       with USERADD=, _VARUSER and _CDEUSER and any generated
Aug 31, 2013   _CDE _VAR macros are now cleared when BUILDPDB=YES is
Sep 17, 2013   specified, AFTER any generated code has been executed,
               with   MACRO _xxxxxx _xxxxxx % syntax to redefine an
               old-style macro for reuse. This part of this change is
               really likely needed only for the MXG QA job since it
               is unlikely actual use would need multiple executions
               of BLDSMPDB in the same SAS session, but now can be done.
              -BLDSMPDB is now protected and will fail if the option to
               use the "INSTREAM" SAS code created by UTILBLDP does not
               exist, i.e., if that INSTREAM file has zero records.
              -Other errors were found in testing on zOS with RUNDAY=PDB
               which suppressed running weeklies.  The logic looking for
               the WEEK FILENAME failed with missing SUBSTR values.
              -On zOS BUILDPDB may now point at a dataset name rather
               than a DDNAME/FILENAME as it always could on ASCII.

Change 31.183  TYPE50 OSA-EXPRESS READ variables were incorrectly INPUT
VMAC50           TY50REDE /*OSA-EXP*REPLN*DEFR*FOR RD*/
Aug 30, 2013     TY50RDEX /*OSA-EXPREADS*EXH*FOR RD*/
                 TY50SBRD /*OSA-EXP*SBAL*COUNT*FOR RD*/
                 TY50PKCN /*OSA-EXP*PACKET*COUNT*/
               and these Write variables are now created
                 TY50PKAC='OSA-EXPRESS*ACCELERATED*PACKET*COUNT'
                 TY50BYAC='OSA-EXPRESS*ACCELERATED*BYTE*COUNT'
   Thanks to John M. McLaughlin, Bank of America, USA.

Change 31.182 -The MXG message SUCCESSFULLY COMPLETED READING SMF now
VMACSMF        has new text that reports (mostly for MXG diagnostics) if
Aug 28, 2013     *** THE INPUT SMF FILE DID NOT END WITH ID=3, BUT
                 *** THIS CAN BE NORMAL - SEE CHANGE 31.182 TEXT.
               which MIGHT be an indication that SMF data was lost.
               Each SMF file created OR copied by IFASMFDP/IFASMFDL ends
               with an SMF ID=3 record, and so even concatenations of
               SMF dumps will end with an ID=3 (in fact, each copy with
               or subset adds yet another ID=3 at the end of output).
               So if the last record is not ID=3, it could be a problem.
               For example, a disconnect using the ftp access method, or
               during download, or an overlooked out-of-disk-space issue
               could be detected by its absence.

              -BUT THIS CAN BE NORMAL: If your data has been sorted, or
               if you used a utility program that removes type 2 and 3
               SMF records (e.g., SMFUTIL, but it could be any program
               that processes the SMF data before you read it), or if
               you used SAS (AND NOT IFASMFDP, which writes a 2 and 3
               when used to copy SMF) and either selected records or
               used OPTIONS OBS=nnn; to limit the number of SMF records
               read when testing: THESE ARE NOT ERRORS AND THE MESSATE
               HAS NO IMPACT.

              -If the last record is the ID=3, that text then reads
                *** AND THE INPUT SMF FILE ENDED WITH EXPECTED ID=3.***
               If absence of that ID=3 would be an error in your SMF
               processing, where you ALWAYS expect complete dumped data,
               variable ENDISID3 can be used in your IMACFILE/&MACFILE
               tailoring to take more aggressive action.

Change 31.181 -RMF III Support for z/OS 2.1 plus Enhancements and Fixes.
ADOCRMFV      -Support for z/OS 2.1 changes to the ASI, CFI, CPDCB, and
ASMRMFV        GEI RMF III tables.
EXZRBCHP      -Two new CFI table sections CFICHPAS (Channel Path) and
EXZRBSCM       CFISSCMS (Storage Class Memory) added with z/OS 2.1 are
JCLCRMFV       now created by ASMRMFV, and VMACRMFV creates datasets:
JCLDRMFV          dddddd     dataset     description
JCLRMFV           ZRBCHP     ZRBCHP       CFICHPAS CHANNEL PATH
VMACRMFV          ZRBSCM     ZRBSCM       CFISSCMS STORAGE CLASS MEMORY
VMXGINIT      -New ZRBCHP dataset variables (20):
ZASMRMFV       ZDATE   ='ZEE DATE*ZEE OBS*WAS CREATED'
Aug 30, 2013   CFICHAID='HOST CHANNEL ADAPTER ID'
               CFICHAPN='HOST CHANNEL ADAPTER PORT NUMBER'
               CFICHEIN='INDEX OF CFI TABLE ENTRY'
               CFICHFLAGS1='1ST*CHANNEL PATH VALIDITY FLAG'
               CFICHLAT='CHANNEL PATH LATENCY TIME'
               CFICHOPM='CHANNEL PATH OPERATION MODE'
               CFICHPCP='PHYSICAL*CHANNEL*PATH*ID'
               CFICHPID='CHANNEL*PATH*ID'
               CFICHSAP='SAP-S TO WHICH CHP IS ACCESSIABLE'
               CFICHSTA='CHANNEL PATH STATUS FLAGS'
               CFICHTYPE='CHANNEL PATH TYPE'
               CFIENNAM='NAME OF*COUPLING*FACILITY'
               CFIENSYS='NAME OF*SYSTEM'
               SSHGOMNT='GATHERER*MINTIME*OPTION'
               SSHRMFVN='RMF*VERSION*NUMBER'
               SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'
               SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'
               SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'
               SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'
               SYSTEM  ='SYSTEM*ID'
               SHIFT   ='SHIFT*OF*START'
              -New ZRBSCM dataset variables (21):
               ZDATE   ='ZEE DATE*ZEE OBS*WAS CREATED'
               CFISCALG='SCM*ALGORITHM*TYPE'
               CFISCEMA='EST MAX*AUSMENTED*SPACE*4K BLOCKS'
               CFISCEME='EST MAX*LIST ELEMENTS*RESIDE*IN SCM'
               CFISCEML='EST MAX*LIST ENTRIES*RESIDE*IN SCM'
               CFISCENE='EXIST STRUCT*LIST ELEMENTS*RESIDE*SCM'
               CFISCENL='EXIST STRUCT*LIST ENTRIES*RESIDE*IN SCM'
               CFISCFAU='FIXED*AUGMENTED*SPACE*4K BLOCKS'
               CFISCIUA='AUGMENTED*SPACE IN USE*4K BLOCKS'
               CFISCIUS='SCM MEMORY*IN USE*4K BLOCKS'
               CFISCMAX='MAX*SCM*STRUCTURE*CAN USE*4K BLOCKS'
               CFISCNAM='NAME OF CONNECTED STRUCTURE'
               CFISCVER='STRUCTURE*VERSION*NUMBER'
               CFIENNAM='NAME OF*COUPLING*FACILITY'
               CFIENSYS='NAME OF*SYSTEM'
               SSHGOMNT='GATHERER*MINTIME*OPTION'
               SSHRMFVN='RMF*VERSION*NUMBER'
               SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'
               SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'
               SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'
               SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'
               SYSTEM  ='SYSTEM*ID'
               SHIFT   ='SHIFT*OF*START'
              -ASMRMFV now exploits z/Architecture (zSeries)
               instructions to relieve 4K base register addressing
               constraints and improve performance.  ASMRMFV should run
               without error on this hardware.  zSeries machines have
               been available since 2000.
              -MXG users with only pre-z/Architecture machines available
               can install the legacy version of ASMRMFV called
               ZASMRMFV.  Contact MXG Technical Support for details.
              -ZASMRMFV includes all Change 31.181 features for z/OS 2.1
               support, but is functionally stabilized and will not be
               further enhanced.
              -ASMRMFV WTO messages RMFV099S and Abend U0998 will be
               issued if execution is attempted on a non-zSeries
               processor.  This prevents an abrupt and unexplained S0C1
               Abend that would otherwise occur.  If this occurs either
               run ASMRMFV on a zSeries machine or use ZASMRMFV instead.
              -Initial message RMFV000I will indicate whether the
               current ASMRMFV or legacy version ZASMRMFV is being used.
              -Four internal ASMRMFV subroutines have been migrated into
               mainline code to eliminate the entry/exit linkage CPU
               overhead required for each call.
              -ASMRMFV now supports keywords up to 10 characters in
               length.
              -ASI table bit string field ASIMSTS (Miscellaneous States)
               is now decoded into 8 new Y/N valued variables in the
               ZRBASI data set.
              -New ZRBASI dataset variables (10):
               ASI1MBFF='1MB*FIXED FRAMES*PAGEABLE*DREF-MEM OBJS'
               ASI1MBPF='PAGEABLE*PAGEABLE*DREF-MEM OBJS'
               ASICICST='CICS TOR*MANAGED TO*REGION GOALS?'
               ASICPUPR='CPU*PROTECTION*ASSIGNED?'
               ASIIOPGH='I/O PRIORITY*GROUP HIGH*ASSIGNED?'
               ASIMAOSC='MANAGE AS*TO GOALS*OTH SERV CLASSES?'
               ASIOMVS ='ADDRESS*SPACE*IS OMVS*RELATED?'
               ASIPRMRT='PREVENT*REGN MGT*BY RESPTIME*GOALS?'
               ASISDCAS='SERVICE TRANS*IN DIFF CLASS*THAN AS?'
               ASISTGPR='STORAGE*PROTECTION*ASSIGNED?'
              -CPC table bit string field LCPUCHIN (Processor Status
               Indicators) is now decoded into 7 new Y/N valued
               variables in the ZRBLCP data set.
              -New ZRBLCP dataset variables (21):
               CPCCAPG ='LPAR*BELONGS TO*CAPACITY GROUP?'
               CPCHOME ='THIS IS*THE HOME*PARTITION?'
               CPCLPARI='LPAR DATA*INVALID?'
               CPCLPMAX='LPAR PROCESSORS*DEFINED*EXCEED*LIMIT?'
               CPCUPIDV='USER*PARTITION ID*IS VALID?'
               CPCUSEIW='USE INIT WEIGHT*FOR CAP GROUP*PROJECT?'
               CPCWMGT ='WLM WEIGHT*MANAGEMENT*ENABLED?'
               LCPUABSL='ABSOLUTE LIMIT*ON LPAR USAGE*CHANGED?'
               LCPUDED ='PROCESSOR DEDICATED?'
               LCPUHIPD='HIPERDISPATCH*MODE IS ACTIVE?'
               LCPUHWCL='ABS LIMIT*LPAR USAGE*THIS TYPE'
               LCPUICAP='INITIAL*CAPPING*ON?'
               LCPUICST='INITIAL CAPPING*STATUS CHANGED?'
               LCPUMAWC='MAXIMUM*WEIGHT*CHANGED?'
               LCPUONL ='PROCESSOR*ONLINE?'
               LCPUONOF='PROC*ONLINE TO*OFFLINE OR*VICE-VERSA?'
               LCPUPRNA='PROCESSOR*NOT AVAILABLE*IN MINTIME?'
               LCPUSD  ='PROC*SHARED TO*DEDICATED OR*VICE-VERSA?'
               LCPUWCCH='WAIT*COMPLETION*CHANGED?'
               LCPUWCN ='WAIT*COMPLETION*NO?'
               LCPUWCY ='WAIT*COMPLETION*YES?'
              -CPC table bit string field LCPUSTIN (Processor Status
               Change Indicators) is now decoded into 6 new Y/N valued
               variables in the ZRBLCP data set.
              -Part of the GEI table was not being processed by VMACRMFV
               and new fields added by z/OS 2.1 are now also supported
               in the ZRBGEI dataset.
              -The PDB build for the ZRBGEI dataset variable
               GEICPUOL='AVERAGE*OF ONLINE*PROCESSORS' was inputting
               from a GEI table field that has been reserved since z/OS
               1.1 and was always zero.  GEICPUOL and derived variable
               PCTCPUBY will now both always be set to missing for
               compatibility with any existing user reports.  Use the
               ZRBCPU and/or ZRBLCP datasets for equivalent data.
              -New ZRBGEI dataset variables (36):
               GEICASL ='64-BIT*COMMON*AUX STORAGE*SLOTS'
               GEICFFR ='64-BIT*COMMON*FRAMES*FIXED IN REAL'
               GEICFR  ='64-BIT*COMMON*FRAMES*BACKED IN REAL'
               GEICMO  ='64-BIT*COMMON*OBJECTS*ALLOCATED'
               GEICSIZ ='HIGH*COMMON*AREA*SIZE'
               GEICUSE ='HIGH*VIRTUAL*COMMON PAGES*IN-USE'
               GEIEHIAL='LSQA/SWA/229/230*ALLOCATED*ABOVE 16M'
               GEIELOAL='USER REGION*ALLOCATED*ABOVE 16M'
               GEIHIAL ='LSQA/SWA/229/230*ALLOCATED*BELOW 16M'
               GEILCMO ='FIXED*MEMOBJECTS*ALLOC IN*COMMON*STORAGE'
               GEILCMU ='1MB HIGHVIRT*COMMON OBJECTS*OWNER GONE'
               GEILCPR ='1MB HIGHVIRT*COMMON PAGES*BACKED*IN REAL'
               GEILCPU ='1MB HIGHVIRT*COMMON PAGES*OWNER GONE'
               GEILF4K ='1MB FIXED*FRAMES USED*BY 4K*PAGE REQS'
               GEILFPF ='1MB FRAMES*IN LFAREA*SATISFY*1MB REQS'
               GEILFUSE='1MB FRAMES*USED BY*FIXED*MEMORY OBJECTS'
               GEILOAL ='REGION*ALLOCATED*BELOW 16M'
               GEILP4K ='1MB PAGEABLE*PAGES USED*BY 4K*PAGE REQS'
               GEILPAG ='1MB FRAMES*USABLE*PAGEABLE*DREF'
               GEILPFCI='DEMOTED 1MB*PAGEABLE PAGES*CVRT TO 4K'
               GEILPFRI='FAILED 1MB*PAGEABLE PAGES*REQUESTED'
               GEILPUSE='1MB FRAMES*USED BY PAGE/DREF MEMOBJECTS'
               GEILSIZ ='MAXIMUM*LARGE*FRAME*SIZE'
               GEIRBFIX='FIXED*FRAMES*BELOW 16 MB*IN REAL'
               GEIRLMO ='LARGE*MEMORY*OBJECTS*ALLOCATED'
               GEIRLPR ='1 MB FRAMES*BACKED IN*REAL STORAGE'
               GEIRSTRF='HIGH VIRT*COMMON*PAGES*IN-USE'
               GEIRTFIX='TOTAL*FIXED FRAMES'
               GEISASL ='HIGH VIRT*SHARED MEMORY*AUXSTORAGE*SLOTS'
               GEISEQ  ='CPC*SEQUENCE*NUMBER'
               GEISFR  ='HIGHVIRT*SHAREDMEM*FRAMES*BACKED IN REAL'
               GEISLTA ='CURRENTLY*AVAILABLE*SLOTS'
               GEISMO  ='HIGHVIRT*SHAREDMEM*OBJECTS*ALLOCATED'
               GEISSIZ ='SHARED*AREA*SIZE'
               GEISUSE ='HIGH*VIRTUAL*SHARED PAGES*IN-USE'
               GEITOTPI='TOTAL*NUMBER OF*PAGED-IN PAGES'
              -The ASMRMFV Dynamic Method will now detect empty RMF
               Monitor III VSAM data sets and NOT dynamically allocate
               them.  Prior to this change the condition was not
               detected until the file was opened, but the dynamic
               allocation and subsequent open overhead was unnecessary.
              -ASMRMFV CSI search summary message RMFV065I now includes
               the count of empty data sets found.
              -New ASMRMFV message RMFV054* will be issued for any empty
               data sets found during CSI scan or VSAM open.  (*=I,A,W).
              -New ASMRMFV message RMFV055* will be issued for
               "imposter" VSAM data sets that have the correct RMF
               Monitor III CISIZE and RECSIZE, but do not have a valid
               DSH table id of 'DSIG3'.  (*=I,A,W).
              -New ASMRMFV message RMFV051* is issued for all data set
               type errors (not a VSAM RRDS) during a CSI scan or VSAM
               open and always includes the DDNAME.  (*=I,A,W).
              -New ASMRMFV message RMFV067* now directs users to IBM
               message IDC3009I for non-zero Catalog Management Return
               and Reason Codes produced during a CSI search.
               (*=I,A,W).
              -Show ASMRMFV error message RMFV066E during Dynamic
               Allocation abend.
              -Show ASMRMFV message RMFV067E during Catalog/Dsname CSI
               search error abend.
              -ASMRMFV message RMFV007S could have incorrect Return
               and/or Reason Codes shown.
              -ASMRMFV message RMFV038* is now message RMFV052*
               (*=I,A,W).
              -ASMRMFV message RMFV039* is now message RMFV053*
               (*=I,A,W).
              -ASMRMFV message RMFV037I REPORT= and OUTPUT= settings are
               now aligned in output for better readability.
              -Multi-severity ASMRMFV error messages controlled by *ERR=
               parameter settings and used for a single purpose are now
               tailored only once during initialization instead of every
               time issued.
              -Assemblies of ASMRMFV will no longer print the source
               code documentation as this is available to browse in the
               ASMRMFV member as well as in ADOCRMFV.
              -The ASMRMFV/ZASMRMFV source prologues as well as
               ADOCRMFV, JCLRMFV, JCLCRMFV, and JCLDRMFV documentation
               members are updated appropriately.
              -New variables added to RMF III dataset ZRBLCP:
                CPCHOME CPCLPARI CPCLPMAX CPCUPIDV CPCCAPG CPCWMGT
                CPCUSEIW LCPUPRNA LCPUONL LCPUDED LCPUWCY LCPUWCN
                LCPUICAP LCPUHIPD LCPUONOF LCPUSD LCPUDED LCPUICST
                LCPUWCCH LCPUMAXW LCPUABSL LCPUHWCL
              -REQUIREMENT: In order to receive these improvements the
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.

Change 31.180  Detection that a LIBNAME points to a SAS z/OS TAPE-FORMAT
VGETOBS        or sequential-format-on-DASD dataset is NOW done by macro
Aug 26, 2013   VGETOBS, so that we can bypass a performance issue, but
Aug 31, 2013   WPS ABENDed with the original VGETOBS because WPS did not
               exactly clone the SAS behavior:
                 When there is a WHERE clause with PROC SQL's search of
                 DICTIONARY.TABLES, SAS opens the LIBNAME and scans it,
                 but WPS ABENDED if the LIBNAME was tape/sequential.
                 The exposure to this ABEND under WPS occurs when an
                 input tape/sequential LIBNAME not been OPENed and
                 VGETOBS's PROC SQL is invoked, for example, when
                 ASUMUOW is executed standalone.  If ASUMUOW instead is
                 %INCLUDEd as part of the BUILDPDB step, where the input
                 LIBNAMES to be opened by ASUMUOW are already OPEN,
                 there is no ABEND.
             - History:
               When a PROC SQL is issued against DICTIONARY.TABLES that
               uses a WHERE clause referencing a LIBNAME that has not
               yet been opened or scanned, SAS reads that LIBNAME to
               find all SAS Datasets (MEMNAME) in that data library, to
               populate that table.  But, if the LIBNAME is on tape,
               then every tape volume must be mounted and read, since
               there is no directory of MEMNAMEs on tape data libraries.
               To eliminate that waste of CPU and I/O and the elongated
               elapsed time, VGETOBS was enhanced to detect that the
               LIBNAME is on tape so it can bypass the multi-vol read.

               So while the ABEND is a WPS issue, but because we can, to
               help MXG users to keep their jobs (and to keep their JOBS
               running without ABENDs), the algorithm was revised to get
               around the WPS issue and eliminate the multi-tape read.

               FOR MXG EXECUTION ON Z/OS ONLY:

               VGETOBS now reads the DICTIONARY.TABLES and writes all
               of those names to a temporary table, MXGTABLES, which is
               then searched for the LIBNAME & MEMNAME (DDNAME & SAS
               dataset).  Removing the WHERE clause from the first PROC
               SQL prevents that first complete READ of the tape.

               If BOTH the LIBNAME and MEMNAME are found in MXGTABLES,
               then the LIBNAME was already open and VGETOBS passes back
               to its caller the MEMNAME, number of OBS, the create date
               and the member type, which is the normal information that
               is returned by VGETOBS, and VGETOBS was successful.

               If the LIBNAME/MEMNAME is NOT found in MXGTABLES, then
               DICTIONARY.LIBNAMES is searched, again without a WHERE
               clause creating MXGLIBNAMES, which is then searched for
               the LIBNAME.  If the LIBNAME is NOW found, and if that
               libname is NOT tape format, then that LIBNAME does NOT
               contain the MEMNAME we are seeking, and MXG will politely
               terminate with an explanatory message on the SAS log.
               However, if we determine the LIBNAME is a tape-format
               library, we assume you know what you are doing and that
               the dataset does exists in that LIBNAME and continue.

               If the LIBNAME is not found in MXGLIBNAMES or MXGTABLES
               then EXTFILES table is searched for the FILEREF=DDNAME,
               and if that DDNAME is found to exist, then it has been
               allocated in this step, so we execute a DATA _NULL_ step
               that reads the first block in that DDNAME, and examine
               the text in that first block for the "SAS" or "WPS" text
               that uniquely identifies if this is a SAS or WPS dataset
               and whether it is disk or tape format.

               If we search EXTFILES and do NOT find the DDNAME or we
               find that it is NOT a SAS or WPS sequential dataset, then
               WE FORCE YOUR JOB TO ABEND WITH A U1950 ABEND:
          IEF450I JOBNAME MXGSAS STEP - ABEND=S000 U1950 REASON=00000000

               ==> NOTE, PREVIOUSLY WE ONLY PRINTED A WARNING MESSAGE.

               If it is a disk dataset, then a LIBNAME command is
               issued with either the V9 or WPD engine as appropriate
               and then we reinvoke VGETOBS, since executing the LIBNAME
               statement populates DICTIONARY.TABLES.

               But if instead it is a SEQUENTIAL tape-format library (on
               tape OR on disk) we look for that MEMNAME in that first
               block, and if found, then the LIBNAME/MEMNAME are valid;
               normally, VGETOBS is called by VMXGSUM (or a similar MXG
               program) so the next SET statement or reference will open
               the LIBNAME without spinning the entire tape. A global
               MACRO variable VGETTAPES is populated with the now known
               tape DDNAME so that for subsequent VGETOBS executions we
               will ALWAYs assume the existence of the dataset rather
               than looking for it and possibly causing an unneeded spin
               of the tape dataset.

               But, if the dataset name is NOT on that first record
               then, we gamble that you know what you are doing by
               telling us to use that LIBNAME and MEMNAME, so we assume
               it must exist further into that tape, so we allow the
               processing of the dataset to continue, but we print
               MXGWARN messages so you'll know why the job took so long.
               Of course, if you lied and the dataset does NOT exist in
               that DDNAME, then the job will ABEND ungracefully.

              -There are two situations that will cause VGETOBS to issue
               a USER ABEND 1950 when executing on z/OS:
                - DDNAME is NOT in the EXTFILES list of allocated DDs
                - DDNAME exists but the first record does not identify
                         it as a SAS or WPS data library.

               FOR MXG EXECUTION ON ASCII ONLY:
               For ASCII, a LIBNAME statement must have been issued for
               any LIBNAME, since there's no "JCL", and as there are no
               tape-format libraries on ASCII, the WHERE clause is used.
               If the search in DICTIONARY.TABLES is unsuccessful, then
               it doesn't exist, and with no other place to look,
               VGETOBS prints an MXGERROR: message that the dataset does
               not exist.

               FOR THE HISTORICAL RECORD:
               The first implementation of the new algorithm removed the
               WHERE clause in the first search.  After the functional
               tests on both ASCII and z/OS were successful, the primary
               QA test step run time jumped from 8 to 155 minutes, due
               to that removal of the WHERE clause, but also due to the
               unique QA environment that allocates every MXG LIBNAME
               and every INFILE that has ever been used in MXG, and
               creates every MXG dataset that has ever been created from
               every input data source MXG has ever supported, so there
               are hundreds of LIBNAMEs and thousands of DATASETs, and
               with thousands of VGETOBS calls, that small increase in
               the search time of a few LIBNAMEs is magnified.  In any
               real job there will only be a few of LIBNAMEs, and only
               those that are already open are searched without the
               WHERE, and typically there is only one VGETOBS call per
               JCL step, so there is no issue.  But, since the only need
               for the removal of the WHERE clause is for the z/OS
               environment, the final implementation reinstates the use
               of the WHERE clause when executing under ASCII.

Change 31.179  Support for Websphere MQ 7.1.0 new subtype 5, 6, and 7:
EXTY1155        DDDDDD  DATASET    DESCRIPTION                   SUBTYPE
EXTY1156        TY1155  TYPE1155   SMC POOL HEADER STATISTICS       5
EXTY1157        TY1156  TYPE1156   SMC GETMAIN MANAGER STATISTICS   6
IMAC115         TY1157  TYPE1157   SMC REGION SUMMARY STATISTICS    7
VMAC115
VMXGINIT
AUG 26, 2013
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

Change 31.178  WARNING: MULTIPLE LENGTH CAPIFART and more variables when
VMXGRMFI      TRNDRMFI was executed the second time because first TRND
AUG 22, 2013  had length 8 but the WEEK.RMFINTRV still had length 5/6.
              Now, the variables in RMFINTRV and TRNDRMFI are expanded
              to 8 bytes by relocating the LENGTH statement to prevent
              that warning (when VARLENCHK=WARN is specified in 9.3).
              See Change 31.174.

Change 31.177  SHADOW variable SM01ADCT='ADABAS*COMMAND*COUNT' was INPUT
VMACSHDW      incorrectly as an 8-byte duration, but it is 4-byte count.
AUG 27, 2013 -SQL text variable increased to 32000.
SEP  4, 2013
   Thanks to Stuart Wildey, MorganStanley, ENGLAND.

Change 31.176  Unused Change Number.

Change 31.175  WARNING: MULTIPLE LENGTHS for PACKNAME corrected, was due
ANALDB2R      to a mismatch in compiler faker variable's lengths.
Aug 22, 2013  See Change 31.174.

Change 31.174  WARNING: MULTIPLE LENGTHS for IFAUPTM and ZIPUPTM, with
VMAC7072      RETURN CODE 4 set, can occur with MXG 31.05 because the
Aug 21, 2013  option / INHERIT was not specified when a new PROC MEANS
              was used to create the new SUMSTYPE70EN dataset.

              Tutorial:  WARNING: MULTIPLE LENGTHS message:
              This warning message that sets CC=4 was introduced in the
              first SAS 9.2 (TS1M0), but there were so many complaints
              that a Hot Fix for TS1M0 was created to reverted to SAS
              9.1.3 no-warn behavior, and then in SAS 9.2 (TS1M0) the
              new VARLENCHK=NOWARN/WARM option, with NOWARN default was
              added.  So you should not normally see these warnings.
              But since there is an underlying issue, VARLENCHK=WARN is
              now enabled for the MXG QA stream, and the existing cases
              are fixed in the several preceding changes, and will be
              caught and corrected in future releases.
   Thanks to Don Shelton, Time Customer Service, Inc., USA.

Change 31.173  New variables added to TYPETPMX dataset:
VMACTPMX         DBS_I214='DBS_STK*AUTOMATED*3490_SD3'
Aug 20, 2013     DBS_I215='DBS_STK*AUTOMATED*3490_9840'
                 INCLA   ='INCLA*CLASS'
                 JCL_D   ='JCL_D'
                 OUTCL   ='OUTPUT*CLASS'
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.172  The SMF 113 counters have different metrics for each CPU
VMAC113       type (z/10, z/196-z/114, and zEC12), but MXG's labels were
Aug 19, 2013  those of the newest processor type.  That is unchanged by
              default, still, but this change allows you to change those
              counter labels if you don't have the zEC12.  You only need
              to change the old-style macro _XLA113 to the desired token
              for the labels, _XLA113A (z/10), _XLA113B (z/196-z/114)
              or _XLA113C (zEC12), using this syntax for a z/114:
                %LET MACKEEP=  MACRO _XLA113  _XLA113B  %
   Thanks to Perry Lim, Union Bank, USA.

Change 31.171  The use of VIEWs in SMFSRCH, with this straight-forward
VMXGSRCH      invocation:
Aug 18, 2013     %SMFSRCH(LOOKFOR=BWM.ABC.LOADLIB,SMFOUT=SMFOUT);
Aug 30, 2013  resulted in this message on the log:
                 ERROR:UNABLE TO CREATE WORK.TABLES.DATA BECAUSE
                       WORK.TABLES.VIEW ALREADY EXISTS.
              which terminated the search of SMF data in SAS 9.3 & 9.4.
              The error is circumvented by changing the temporary table
              name to TABLE1 and by removal of all VIEWs, since they are
              not needed for this ad hoc, occasionally run program. The
              actual SQL Table Cleanup issue will be addressed later.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 31.170  Variable SM1209BK (Short Server Name) is added to subtype
VMAC120        9 datasets TYP1209C, TYP1209S and TYPE1209U to permit the
Aug 17, 2013   selection of those records to limit volume when merging.

Change 31.169 -New variables SM1132MT and SM1132MM, machine type and the
ASUM113        model were not input because line 919 should be SM113DLN
VMAC113        instead of SM113DON.
Aug 15, 2013  -For the zEC12, MXG's equations for DWINSORM and DWDASORM
               were not updated from the z196/z114 equations causing
               large negative values.  The equations were updated and
               now only a few obs with small negative values are seen.
   Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
   Thanks to Don Deese, Computer Management Sciences, USA.

Change 31.168 -New variables added by Version 3 to the BVIR02 dataset:
VMACBVIR         HOSTHROT='HOST*THROTTLE'
Aug 14, 2013     (no 02 records with which to validate).
Aug 25, 2013  -New variables added by Version 3 to the BVIR10 dataset:
                 AVGCPUSE 'CPU*USAGE*PERCENT*AT END OF*INTERVAL'
                 MAXDCUPC 'MAX*DISK CACHE*USAGE*PERCENT'
                 REAHOSTH 'HOST*WRITE*THROTTLE*REASON'
                 REACPYTH 'COPY*THROTTLE*REASON'
                 READEFTH 'DEFERRED*COPY*THROTTLE*REASON'
                 (no 10 records with which to validate).
              -New variable2 added by Version 3 to the BVIR20 dataset:
                 DEVMAXDL='MAXIMUM*DELAY'
                 DEVAVGDL='AVERAGE*DELAY'
                 DEVINTDL='DELAY*INTERVAL*PERCENTAGE'
              -New variables added by Version 3 to the BVIR30 dataset:
                 MAXCPUSE 'MAX*CPU*USAGE*PERCENT'
                 AVGCPMAX 'AVG*MAX*DISK*USAGE*PERCENT'
                 MAXDSKPC 'MAX*DISK*USAGE*PERCENT'
                 REAHOSTH 'HOST*WRITE*THROTTLE*REASON'
                 REACPYTH 'COPY*THROTTLE*REASON'
                 READEFTH 'DEFERRED*COPY*THROTTLE*REASON'
               Aug 25: +64 corrected to +54 for misalignment in styp 7.
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

Change 31.167A VOLTAGE Release 4.2 subtype 5 records with their triplet
VMACZPRO       claiming more segments than can fit in the record have
Aug 13, 2013   only a few unreadable segments at the end of each record,
               so this circumvention reads those segments that can be
               read based on record length and warns that segments were
               skipped.  Release 4.3.0 corrects this error, and with
               that version installed, this MXG change is NOT required.
               (Yes, this is the 2nd Change 31.167, too late to change.)
   Thanks to Gennady Katsnelson, IBM Global Technology Services, USA.

Change 31.167  DB2 V8 ONLY. %READDB2(IFCIDS=STATS 225) did not read the
READDB2        V8-only ID=102 Subtype=225 records, causing all QW0225xx
Aug 13, 2013   variables in PDB.DB2STATS for DB2 V8 records observations
               to be missing values.  Several old tests for NE 225 were
               removed to allow T102S225 to be populated.
              -DB2 V8 ONLY.  Missing value messages from VMACDB2H for V8
               records which don't contain QWHCLOTC/QWHCLORO/QWHCLOAU
               are eliminated.  Important only because they had to be
               identified to eliminate them as the cause of zero obs.
   Thanks to John Leyland, HP Enterprise Services UK Ltd, ENGLAND.

Change 31.166  Support for IFCID=380 STORED PROCEDURE DETAIL RECORD
EX102380       creates new T102S380 dataset.
IMAC102       -Typo PIB.2 corrected to &PIB.2. for syntax consistency in
VMAC102        IFCID=358, but fortunately had no actual impact on value.
VMXGINIT      -Typos QWT02R2-zero instead of -OH in IFCID=196 caused
Aug 12, 2013   second and subsequent segments, if they existed, to be
Sep 12, 2013   re-inputs of the first segment impacting T102S106 data.
   Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.

Change 31.165  MXG 31.05, PDB.DB2STAT1 not created if READDB2 STATISTICS
READDB2        option was used, because a typo in Change 31.128 had only
Aug 11, 2013   one period in line 3112, where two were required:
                 MACRO _LDB2ST1 &PDB2ST1..DB2STAT1 %
               With only one period, SAS did what it was told and wrote
               the data to the dataset named WORK.PDBDB2STAT1.
               Note that the %READDB2 STATISTICS option is archaic and
               the STATS option instead has been strongly recommended,
               at least in the comments in READDB2:
                      STATS        READ ID=100 SMF RECORD TO CREATE
                                   DB2STATS, DB2STATR DB2GBPST AND
                                   DB2STATB, DB2STAT5
                      STATISTICS   ARCHAIC.  READ ID=100 TO CREATE
                                   DB2STATS, DB2STATR AND DB2GBPST,
                                   BUT ALSO WRITES THE REDUNDANT STATS
                                   DATASETS (DB2STAT0/1/2/4/225/B)
                                   THAT ARE ALREADY IN DB2STATS.
               Since IBM has created additional DB2 stats IFCIDS over
               time, any new interval statistics subtypes will be added
               only into the PDB.DB2STATS dataset.
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 31.164  Error messages DISKxxxx HAS X NRCOUNTERS BUT DSKSEQ HAS Y
VMACNMON       followed by INVALID DO CONTROL error ABEND was caused by
Aug 12, 2013   truly invalid NMON data.  The DISKxxxx descriptor records
               defined 66 disks, but interval T0166 created a pair of
               DISKBUSY/DISKBUSY1 with 185 device's data, but without a
               clue that the hardware configuration changed.  The DO
               Control ERROR is now eliminated, but the bad data can't
               be validly processed.  Up to 20 messages per HOST will be
               printed when DSKSEQNR NE NRDSKSEQ.  This text will be
               revised if/when a correction from IBM has been tested.
   Thanks to Xiaobo Zhang, Fiserv, USA.

Change 31.163  WPS ONLY.  The WPS Compiler failed to correctly resolve
ANALDB2R       an old-style macro _S102&IFC deep inside READDB2 when it
READDB2        was invoked by ANALDB2R that should have generated the
Aug  8, 2013   _S102023 token for IFCID=023 but instead created _S102004
               which is NOT a dataset created by this %ANALDB2R, which
               caused  ERROR: DATASET WORK.T102S004.  We have provided
               a detail trace to our customer to open a problem with WPS
               support, which appeared to be an incorrect order of macro
               resolution between old-style and new-style %macros, but
               but we found that by replacing the _S102&IFC token that
               was not correctly resolved, with this alternative syntax
                 %LET IFCSTRING=S102&IFC;
                 _&IFCSTRING
               the WPS error appears to be circumvented.
               This is the %ANALDB2R invocation that failed, even with
               //SMF DD DUMMY because it's a compiler issue and not data
               driven:
                %ANALDB2R(DB2=ADSN DSN,
                   PDB=SMF,PMACC01=NO,PMACC02=NO,PMAUD01=NO,SORTBY=DB2,
                   PMAUD02=YES,PMAUD03=NO,
                   AUDIT=AUTHFAIL AUTHCNTL DDL DML BIND AUTHCHG UTILITY,
                   PMSTA02=NO);

Change 31.162 -Variables JOB, the job creating the list, and BETAJOBN,
VMACBETA       the job name of the BETA task, were inconsistent/wrong as
Aug  5, 2013   both variables do not always exist, although both were
               kept in all datasets.  This table identifies which will
               exist in each subtype (?? - not yet validated with data):
                Subtype   BETAJOBN    JOB
                  0         yes       yes
                  1         no        yes
                  2         ??        ??
                  3         ??        ??
                  4         ??        ??
                  5         yes       NO
                  6         ??        ??
                  7         ??        ??
                  8         ??        ??
                 20         yes       yes
                 21         yes       yes
                 22         ??        ??
                 25         yes       yes
                 40         ??        yes
                 41         ??        yes
                 42         ??        yes
                 49         no        yes
                 50         yes       no
                 51         no        yes
              -Variable BETAJOB was only kept in BETA20 and should not
               have been created, since JOB is the normal variable, but
               it is kept to prevent variable not found errors.
              -Variable BETALJOB was kept in BETA21/25/40/41/42 but as
               it contains the JOB value, those datasets variable JOB
               is now correctly populated from BETALJOB variable, which
               is also still kept to prevent variable not found errors.
              -This change now correctly inputs BETAJOBI for BETAJOBN or
               inputs JCTJOBID for JOB in the header, based on subtype,
               but only the records above with yes or no are validated.
               If you create obs in those other datasets, please send
               your SMF data so I can validate and update with data.
   Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.

Change 31.161  Cosmetic.  Three UNINITIALIZED variable messages removed
VMACRMFV       and debugging PUTLOG COL= N statement removed.
Aug  1, 2013

Change 31.160  Support for Velocity Software new segments that create
EXXAMCSH       these new datasets (This MAY have been zVPS 4.2.)
EXXAMCTY
EXXAMHPP         DDDDDD  DATASET   DESCRIPTION  INFILE
EXXAMSPT
EXXMUDIO         XAMCSH  XMCPSHAR    CPSHAR     XAMSYS
EXXMVCPU         XAMCTY  XMCPTYPE    CPTYPE     XAMSYS
IMACXAM          XAMHPP  XMIODHPP    IODHPP     XAMDEV
VMACXAM          XMUDIO  XMUCDDIO    UCDDIO     XAMTCP
VMXGINIT         XMVCPU  XMVSICPU    VSICPU     XAMTCP
Aug 20, 2013     XAMSPT  XMSYTSPT    SYTSPT     XAMSYS
Aug 21, 2013   and add new variables to many existing XAM datasets.
              -All datasets are created and all tokens defined.
              -Large VM systems can create multiple XAMSYS records for
               each interval, but since only that first record contains
               all of the 'single-instance-per-interval' segments that
               are all output into dataset XAMSYS, those additional
               records created an observation in XAMSYS with all values
               a missing value.  Now, only that first record is output
               in XAMSYS (and, of course, those other multiple-instance
               segments are output to their unique MXG dataset.
              -VSICPU: There is one set of counters per Virtual CPU, and
               SEGLEN is used to calculate the number of segments.
              -SYTCPM: Rather than creating one obs for each channel in
               the XMSYTCPM dataset, the 256 channel busy variables
               PCTCHPBUSY00-PCTCHPBUSYFF are now output in XAMSYS and
               dataset XMSYTCPM is no longer created, and references to
               to dddddd token SYTCPM are removed from VMACXAM and the
               EXSYTCPM member is deleted.
              -The SYTCPM segment NCHAN field does not count the number
               of channel busy metrics in the record; instead, it is the
               the highest channel number.  And while SEGLEN does count
               the actual number of metrics in the record, it is wrong
               in current XAM records with an extra four bytes:
                a. NCHANS='FF'x (255), SEGLEN=1140 => 257 actual metrics
                b. NCHANS='FB'x (251), SEGLEN=1124 => 253 actual metrics
               and that 257 value raised an ARRAY SUBSCRIPT error with
               only 256 possible metrics expected.  While Barton will
               fix SYTCPM so the SEGLEN is correct, this
               change/circumvention simply increases the array size to
               257 but only the first 256 variables are kept, so you
               won't have to change MXG when Barton makes his change.
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Douglas C. Walter, Citigroup, USA.

Change 31.159  Mostly cosmetic; HOLDxxxx variables are DROPped and the
ANAL42DS       TASKTYPE typo was corrected to TYPETASK.
Jul 30, 2013

Change 31.158  Circumvention for added fields in TMQQAA that caused the
VMACTMMQ       2nd and subsequent observations from the same record to
Jul 30, 2013   be misaligned.

Change 31.157  Examples in JCLUOW, JCLMQMCI & ASUMUOW were inconsistent
JCLUOW         and in some cases incorrect, and created unneeded data.
JCLMQMCI        JCLUOW   - Creates CICSTRAN,DB2ACCT, then PDB.ASUMUOW
ASUMUOW         JCLMQMCI - Adds MQMACCT,MQMACCTQ, creates PDB.ASUMUOW.
Jul 29, 2013
   Thanks to Thomas Kelman, Xerox, USA.

====== Changes thru 31.156 were in MXG 31.05 dated Jul 29, 2013=========

Change 31.156 -MACROs _N70, _N72, _S70, and S72 are created so that you
VMAC7072       can create only datasets from ID=70 or ID=72 RMF records.
Jul 25, 2013   (Members TYPE7072/TYPS7072 process both records because
               early RMF required passing CPUTYPE from the 70 to the 72
               so that CPU could be calculated from service units with a
               table lookup to get SU_SEC.  Yep, I said EARLY!)
               While most will always create both suites of datasets,
               you can use these new macro tokens to process only one of
               the two record; for example:
                  //SYSIN DD *
                    %LET MACKEEP=
                       _N72
                       MACRO _S72  %
                    ;
                    %INCLUDE SOURCLIB(TYPS7072);
               will only create the PDB.TYPE70xx datasets:
                _N72  Nulls the creation and OUTPUT of TYPE72xx datasets
                _S72  Blanks/Nulls the SORTs of TYPE72xx datasets.
              -MACRO _DROP70 lists the TYPE70 per-engine variables
               so you can ignore them  using
                  %INCLUDE SOURCLIB(VMAC7072);
                  PROC PRINT DATA=PDB.TYPE70 (DROP- _DROP70);
               or drop them from a new dataset using:
                  %INCLUDE SOURCLIB(VMAC7072);
                  DATA WANT;SET PDB.TYPE70; DROP _DROP70;
              -TYPE70 only keeps the first 102 per-engine variables.
               Dataset TYPE70EN has all 255 possible per-engines.

Change 31.155 -Protection for INVALID DATA FOR RVPERCEN when IBM stored
VMACEDGR       '***' EBCDIC for the numeric VOLUME*PERCENTAGE*FULL.
Jul 25, 2013   The double question-mark-modifier was added to RVPERCEN
               INPUT to suppress the ERROR message and the hex dump.
               With or without this protection, the value in RVPERCEN
               is a missing value.  If I can find out what those three
               asterisks mean, I'll update this note.
              -Change 31.118 failed to input RVMEDTY causing subsequent
               RVxxxxx variables to be trashed in EDGRXEXT dataset.
   Thanks to Paul Volpi, UHC, USA.

Change 31.154  By default, ASUMHSM summarizes all HSM systems, but you
ANALHSM        can use   MACRO _HSMPLEX   HSMPLEX=SYSTEM;  %  in  a
ASUMHSM        %LET MACKEEP= in your SYSIN to create a separate summary
TRNDHSM        for each system, ANALHSM was updated to allow HSMPLEX to
Jul 25, 2013   be used to report each SYSTEM/LPAR, and variable HSMPLEX
               (default is blank) is added to the SUMBY= in TRNDHSM.
   Thanks to Rick Ralston, Humana, USA.

Change 31.153  Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH IBM DATA
BUIL3005      -z/OS 2.1 Compressed Log Stream can only be read with
BUILD005       IFASMFDL running on a z/OS 2.1 system with zEnterprise
EXT11941       Data Compress (zEDC) Express.  Otherwise, IFASMFDL will
EXT11942       fail with Return Code 4, unless you have enabled
EXT11943       SOFTINFLATE option of IFASMFDL, which will decompress,
EXT11944       but at higher CPU cost than zEDC Express.
EXT1194L      -"You can specify LRECL=32760 instead of 32767" (default)
EXT11971       is finally now stated in the SMF manual, but 32767 should
EXTY42VC       NEVER have been used for the LRECL.  It can never be
EXTY9036       greater than 32760 and 32767 has caused many programs to
FORMATS        fail (BUT NOT SAS!!).  And, of course, IBM is reluctant
VMAC104        to change ANY default, even those they recommend that you
VMAC113        should change!
VMAC119       -New SMFPRMxx PERMFIX parameter sets minimum (1MB) to
VMAC1415       maximum (2GB) page fixed real storage that is set aside
VMAC23         for zEDC Express decompression services for compressed
VMAC26J2       SMF data.  NOPERMFIX default, but up to 2MB pages can be
VMAC30         fixed for zEDC Express.
VMAC30        -New SMF30 Instruction Counters variables are added to ALL
VMAC42         MXG datasets derived from SMF 30s that contain CPUTCBTM:
VMAC6           TYPE30_V,SMFINTRV,TYPE30_4,TYPE30_5,PDB.STEPS,PDB.JOBS;
VMAC60        -IBM now recommends these 30 hardware instruction counters
VMAC7072       should be used for chargeback instead of processor time:
VMAC71     SMF30_INST_CP_TASK            =SMF30*INST*CP*TASK
VMAC73     SMF30_INST_CP_NONPREEMPTSRB   =SMF30*INST*CP*NONPREEMPTSRB
VMAC74     SMF30_INST_CP_PREEMPTSRB      =SMF30*INST*CP*PREEMPTSRB
VMAC90     SMF30_INST_OFFLOAD            =SMF30*INST*OFFLOAD
VMACDCOL   SMF30_INST_OFFLOADONCP        =SMF30*INST*OFFLOADONCP
VMXGINIT   SMF30_INST_CP_ENCLAVE         =SMF30*INST*CP*ENCLAVE
EXTY749    SMF30_INST_OFFLOAD_ENCLAVE    =SMF30*INST*OFFLOAD*ENCLAVE
           SMF30_INST_OFFLOADONCP_ENCLAVE=SMF30*INST*OFFLOADONCP*ENCLAVE
           SMF30_INST_CP_DEPENC          =SMF30*INST*CP*DEPENC
           SMF30_INST_OFFLOAD_DEPENC     =SMF30*INST*OFFLOAD*DEPENC
           SMF30_INST_OFFLOADONCP_DEPENC =SMF30*INST*OFFLOADONCP*DEPENC
Jul 23, 2013  -Sums of subsets of these counts create new variables that
               correspond to the existing CPU time variables:
                CPU_INST     = Total ALL ENGINES INSTRUCTION COUNT
                CPUTCBTM_INST= SMF30_INST_CP_TASK+    /*CPT_INST*/
                               SMF30_INST_CP_PREEMPTSRB+
                               SMF30_INST_OFFLOADONCP+
                               SMF30_INST_CP_ENCLAVE+
                               SMF30_INST_OFFLOADONCP_ENCLAVE+
                               SMF30_INST_CP_DEPENC+
                               SMF30_INST_OFFLOADONCP_DEPENC;
                CPUSRBTM_INST= SMF30_INST_CP_NONPREEMPTSRB; /*CPS_INST*/
                CPUASRTM_INST= SMF30_INST_CP_PREEMPTSRB; /*ASR_INST*/
                CPUENCTM_INST= SMF30_INST_CP_ENCLAVE+    /*ENC_INST*/
                               SMF30_INST_OFFLOADONCP_ENCLAVE;
                CPUDETTM_INST= SMF30_INST_CP_DEPENC+     /*DET_INST*/
                               SMF30_INST_OFFLOADONCP_DEPENC;
              -IBM notes originally had ONLY the _OFFLOAD counter for
               the zIIP+zAAP counts, but data with _OFFLOAD zero and
               non-zero _OFFLOAD_DEPENC confirmed the note was wrong,
               and IBM has confirmed these calculations are correct:
                CPUZIPTM_CPUIFATM_INST=SMF30_INST_OFFLOAD-
                                       SMF30_INST_OFFLOAD_DEPENC-
                                       SMF30_INST_OFFLOAD_ENCLAVE;
                 (i.e. total instructions on zIIP/zAAP)
                CPUTM_INST            =CPU_INST -
                                       CPUZIPTM_CPUIFATM_INST;
                 (i.e. total instructions on CP engines).
              -TYPE30_V,_4,_5,_6 new variable:
                 SMF30_RCMTADJN='NOMINAL*CPU*RATE*ADJUSTMENT'
                 These new INSTRUCTION COUNTs require SMF30COUNT be
                 specified in SMFPRMxx, and HIS (SMF 113) must have
                 enabled ehe Basic Counter Set.
              -SMF 6 Printway record adds new JOB ACCOUNTing fields in
               extended mode (INDC=7) records.   See Change 32.236.
              -TYPE1415 new SM14DSTYPE identifies Extended Format
               Type 0/1, or Version 2 decoded by $MG014EF format.
              -TYPE23, new variables:
                SMF23CWN='COMPRESSED*LOG*BLOCKS*WRITTEN'
                SMF23NCN='NON-COMPRESSED*LOG BLOCKS*WRITTEN'
                SMF23PFH='PERMFIX*HWM USED*BY SMF'
                SMF23PFM='PERMFIX*MAXIMUM*ALLOWED'
                SMF23PFT='PERMFIX*STORAGE*USED*BY*SMF'
              -TYPE26J2, New Sub-subtype, not documented in SMF manual
                yet, will update this note when the new manual is out.
              -TYPE42 VCC Virtual Concurrent Copy segment (previously
               existed, but overlooked) creates new TYPE42VC dataset:
                 S42VCCTK='TRACKS*USING*CONCURRENT*COPY'
                 S42VCDSP='TRACKS*USING*VIRTUAL*CCOPY'
                 S42VCEIT='INITIALIZATION*END*TODSTAMP'
                 S42VCID ='VCC*LOGICAL*SESSION*ID'
                 S42VCRQS='REQUEST*TYPE VCC*=VIRT CONCUR COPY'
                 S42VCSET='SESSION*END*TODSTAMP'
                 S42VCSSL='LENGTH*OF*SSIDS*FOR SESSION'
                 S42VCSSN='NUMBER*OF*SSIDS*FOR SESSION'
                 S42VCSSO='OFFSET*TO FIRST*SSID'
                 S42VCSST='SESSION*START*TODSTAMP'
                 S42VCTS ='TERMINATION*STATUS*N=NORMAL*A=ABNORM'
              -TYPE60 new SMF60ELP elapsed duration which can be
               subtracted from SMFTIME to get the START time.
              -TYPE70, new variables:
               SMF70MCP           =MAXIMUM*CPU*ADDRESS*AVAILABLE
               SMF70ICP           =HIGHEST*CPUID*INSTALLED*AT IPL
               SMF70CCP           =HIGHEST*CPUID*CURRENTLY*INSTALLED
               SMF70CPA_ACTUAL         =PHYSICAL*CPU*ADJUSTMENT*FACTOR
               SMF70CPA_SCALING_FACTOR =SMF70CPA_ACTUAL*SCALING*FACTOR
               SMF70UIW='SHOULD*USE*INITIAL*WEIGHT?'
               SMF70HW_CAP_LIMIT=ABS LIMIT*PARTITION*USAGE*IN NR ENGINES
                    Note: field contains hundredths of "CPUs", but MXG
                          converts to count "CPUs", so 1.5 would be one
                          and one half engines of type SMF70CIX.
                    Note: APAR OA40539 added this field to z/OS 1.13.
              -TYPE71, new variables:
               SMF71S7M='MIN SHARED*PAGE GROUPS*ON SCM'
               SMF71S7X='MAX SHARED*PAGE GROUPS*ON SCM'
               SMF71S7A='AVG SHARED*PAGE GROUPS*ON SCM'
              -TYPE72, new dataset TYPE725N='GRS QSCAN STATISTICS':
               R725QSAS='ADDRESS SPACE ID'
               R725QSJN='NAME OF THE JOB'
               R725QSRC='START*RESUME*REQUESTS'
               R725QSRQ='SUM OF SQUARES*RESOURCES*RETURNED'
               R725QSRR='RESOURCES*RETURNED*FOR THESE*REQUESTS'
               R725QSSC='GQSCAN*ISGQUERY*SPECIFIC*REQUESTS'
               R725QSSN='SERVICE CLASS NAME'
               R725QSSP='SERVICE CLASS PERIOD'
               R725QSST='ADDRESS SPACE STOKEN'
               R725QSTI='EXECUTION*TIME IN*GRS*THESE*REQUESTS'
               R725QSTQ='SUM OF SQUARES*EXECUTION*TIME'
              -TYPE73, new variables:
               SMF73MSC='CHANNEL*PATH*POWER'
               SMF73SPD='CHANNEL*SPEED*BITS PER*SECOND'
              -TYPE74, new variables:
               FICONDEV='FICON*DEVICE?'
               AVG74CUQ='AVERAGE*CU*QUEUE*PER IO'
               SMF74CUQ='CONTROL*UNIT*QUEING*TIME'
               SMF74NM2='DEVICE*NUMBER'
               SMF74SCS='SUBCHANNEL*SET*ID'
              -TYPE74CF, new variables:
               R744GTSC='CF*SCM*MAY BE USED*EXTENSIONS'
               R744GFSC='FREE*CF*SCM*MEMORY'
               R744GISC='SCM*INCREMENT'
              -TYPE74MO, new dataset: STORAGE CLASS MEMORY
               See Change 33.155. SCM data is now in TYPE74ST dataset.
               R744MAEC='SCM*AUXILIARY*ENABLED*COMMANDS'
               R744MALG='SCM*ALGORITHM*TYPE'
               R744MCPI='CHANNEL*PATH*IDENTIFIER'
               R744MEMA='EST MAX*ASSIGNED*AUGMENTM SPACE'
               R744MEME='EST MAX*LIST*ELEMENTS*IN SCM'
               R744MEML='EST MAX*LIST*ENTRIES*IN SCM'
               R744MENE='EXISTING*LIST*ELEMENTS*IN SCM'
               R744MENL='EXISTING*LIST*ENTRIES*IN SCM'
               R744MFAU='FIXED*AUGMENTED*SPACE'
               R744MIUA='AUGMENTED*SPACE*IN USE*BY THIS STRUCTURE'
               R744MIUS='SCM*IN USE*BY THIS*STRUCTURE'
               R744MMBE='MAX*LIST ELEMENTS*PER SCM*BUFFER'
               R744MMBL='MAX*LIST ENTRIES*PER SCM*BUFFER'
               R744MRBT='SCM*READ*BYTES*TRANSFERRED'
               R744MRFC='SCM*READ OPS*LIST*REFERENCE'
               R744MRPC='SCM*READ OPS*PREFETCH OP'
               R744MRSQ='SQUARES OF*R744MRST'
               R744MRST='SCM*READ OPS*SERVICE*TIME'
               R744MSLR='PCT*LIST COUNTS*LOWER*REGULATOR'
               R744MSLT='PCT*LIST COUNTS*LOWER*THRESHOLD'
               R744MSMA='MAX*SCM*STRUCTURE*CAN USE'
               R744MSRL='SCM*REFERENCES*LIST*STRUCTURE'
               R744MSRM='SCM*REFERENCES*MIGRATION'
               R744MSRR='SCM*REFERENCES*LIST*HASHING'
               R744MSUR='PCT*LIST COUNTS*UPPER*REGULATOR'
               R744MSUT='PCT*LIST COUNTS*UPPER*THRESHOLD'
               R744MSWC='SCM LIST WRITES'
               R744MWBT='SCM*WRITE*BYTES*TRANSFERRED'
               R744MWSQ='SQUARES OF*R744MWST'
               R744MWST='SCM*WRITE OPS*SERVICE*TIME'
              -TYPE749, new dataset: RMF III PCIE STATISTICS, but zero
               observations are created, awaiting test data; it's very
               possible multiple new dataset may ultimately be created.
               All variables are created for QA comparisons.
              -TYPE90.  New subtype 36 creates new dataset
                  dddddd dataset   Description                  ST
                  TY9036 TYPE9036  SET CON COMMAND              36
               Subtype 35 was not documented.
              -TYPE99EH.  New variables:
                  S99EEHMAXAFF='MAXIMUM*AFFINITY*INDEX'
                  S99EEHMAXCPU='MAXIMUM*CPU*ID'
              -New SMF104 record captures CIM data for AIX, LINUX, and
               WINDOWS, creating 37 new TYP104nn datasets with nn the
               record subtype.  Some of the memory metrics in the raw
               record are in bytes, or KiloBytes, or MegaBytes: ALL are
               converted in MXG variables to bytes and then formatted
               MGBYTES to document they contain memory metrics and to
               display in B/KB/MB/GB/TB etc.  Some "accumulated" fields
               are documented, but until data is available, I can't tell
               if they really need deaccumulation or not, which would be
               an update to their _ST104xx dataset sort macro.
                  dddddd dataset   Description                       ST
                  T10401 TYP10401  AIX_ACTIVE MEMORY EXPANONMETRICS  01
                  T10402 TYP10402  AIX_PROCESSOR METRICS             02
                  T10403 TYP10403  AIX_COMPUTER SYSTEM METRICS       03
                  T10404 TYP10404  AIX_DISK METRICS                  04
                  T10405 TYP10405  AIX_NETWORK PORT METRICS          05
                  T10406 TYP10406  AIX_FILE SYSTEM METRICS           06
                  T10407 TYP10407  AIX_MEMORY METRICS                07
                  T10408 TYP10408  AIX_OPERATING SYSTEM METRICS      08
                  T10409 TYP10409  AIX PROCESS METRICS               09
                  T10410 TYP10410  AIX_SHARED ETHERNET ADAERMETRICS  10
                  T10411 TYP10411  AIX_ACTIVE MEMORY SHARIMETRICS    11
                  T10412 TYP10412  AIX_VIRTUAL TARGET DEVICEMETRICS  12
                  T10420 TYP10420  LINUX_IP PROTOCO LENDPOT METRICS  20
                  T10421 TYP10421  LINUX_LOCAL FILE SYSTE METRICS    21
                  T10422 TYP10422  LINUX_NETWORK PORT METRICS        22
                  T10423 TYP10423  LINUX_OPERATING SYSTE METRICS     23
                  T10424 TYP10424  LINUX_PROCESSOR METRICS           24
                  T10425 TYP10425  LINUX_UNIX PROCESS METRICS        25
                  T10426 TYP10426  LINUX_STORAGE METRICS             26
                  T10430 TYP10430  LINUX_KVM METRICS                 30
                  T10431 TYP10431  LINUX_XEN METRICS                 31
                  T10440 TYP10440  LINUX_IP PROTOCOL ENDPOT METRICS  40
                  T10441 TYP10441  LINUX_LOCAL FILE SYSTE METRICS    41
                  T10442 TYP10442  LINUX_NETWORK PORT METRICS        42
                  T10443 TYP10443  LINUX_OPERATING SYSTEM METRICS    43
                  T10444 TYP10444  LINUX_PROCESSOR METRICS           44
                  T10445 TYP10445  LINUX_UNIX PROCESS METRICS        45
                  T10446 TYP10446  LINUX_STORAGE METRICS             46
                  T10450 TYP10450  LINUX_ZCEC METRICS                50
                  T10451 TYP10451  LINUX_ZLPAR METRICS               51
                  T10452 TYP10452  LINUX_ZCHANNEL METRICS            52
                  T10453 TYP10453  LINUX_ZECKD METRICS               53
                  T10460 TYP10460  WINDOWS_LOCAL FILESYSTEM METRICS  60
                  T10461 TYP10461  WINDOWS_NETWORK PORT METRICS      61
                  T10462 TYP10462  WINDOWS_OPERATING SYSTEM METRICS  62
                  T10463 TYP10463  WINDOWS_PROCESSOR METRICS         63
                  T10464 TYP10464  WINDOWS_STORAGE METRICS           64
              -TYPE113 Subtype 1 is documented and variables defined,
               but will not be read until data records exist for the
               validation.
              -TYPE119.  Six new datasets, with all variables defined,
               but no observations will be created; INPUT is bypassed
               until test records are available for validation.
                 dddddd  Dataset   Description
                 T11941  TYP11941  SMC-R LINK GROUP STATISTICS
                 T1194L  TYP1194L  SMC-R LINK SPECIFIC STATISTICS
                 T11942  TYP11942  SMC-R LINK STATE START
                 T11943  TYP11943  SMC-R LINK STATE END
                 T11944  TYP11944  RDMA RNIC INTERFACE STATISTICS
                 T11971  TYP11971  FTP DAEMON CONFIGURATION
              -TYPEDCOL.
               New variable in DCOLDSET:
                  DCDXPSEV='PS*EXTND*FORMAT*VERSION'
               New variable in DCOLDC:
                  DDCRMODE='VSAM*SMB*RMODE31*VALUE'
               New variable in DCOLDC:
                  DBSEPNM ='SEPARATION*NAME'
               THIS CHANGE WAS IN MXG 31.04 BUT WAS NOT DOCUMENTED.

Change 31.152  TYPE70 corrections/enhancements to zIIP and zAAP metrics.
VMAC7072       Variables ZIPUPTM/IFAUPTM, Up-Time, now excludes parked
Jul 24, 2013   time (like CP engines in PDB.TYPE70 and like ALL engines
               in ASUM70PR-created datasets - it was only the specialty
               engines in PDB.TYPE70 that still included parked time.).
               so variables PCTZIPBY and PCTIFABY will be larger.

               New counts of the Online-but-not-Parked zIIP/zAAP engines
               and clarification of the variables with INSTALLED counts
               are added, as are online and parked durations for the
               zIIPs and zAAPs:

               Engine  INSTALLED  AVAILABLE UP-TIME  ONLINE    PARKED

                IFA    NRIFAS     IFACPUS   IFAUPTM  IFAONTTM  IFAPATTM
                       SMF70IFA
                       PARTNIFA

                ZIP    NRZIPCPU   ZIPCPUS   ZIPUPTM  ZIPONTTM  ZIPPATTM
                       SMF70SUP
                       PARTNZIP

                CP     NRCPCPU    NRCPUS    CPUUPTM  SMF70ONT  SMF70PAT
                       PARTNCPU

                New and revised labels:
                PARTNICF='INSTALLED*NUMBER OF*ICF*ENGINES'
                PARTNIFA='INSTALLED*NUMBER OF*ZAAP*ENGINES'
                PARTNIFL='INSTALLED*NUMBER OF*IFL*ENGINES'
                PARTNZIP='INSTALLED*NUMBER OF*ZIIP*ENGINES'

                NRCPUS  ='ONLINE*NON-PARKED*CP ENGINES'
                IFACPUS ='ONLINE*NON-PARKED*IFA ENGINES'
                ZIPCPUS ='ONLINE*NON-PARKED*ZIP ENGINES'

                CPUUPTM ='CP ENGINE*AVAILABLE*(UP) TIME'
                IFAUPTM ='IFA ENGINE*AVAILABLE*(UP) TIME'
                ZIPUPTM ='ZIP ENGINE*AVAILABLE*(UP) TIME'

                SMF70PAT='CP*SMF70PAT*PARKED*TIME'
                IFAPATTM='IFA*SMF70PAT*PARKED*TIME'
                ZIPPATTM='ZIP*SMF70PAT*PARKED*TIME'

                SMF70ONT='CP*SMF70ONT*ONLINE*TIME'
                IFAONTTM='IFA*SMF70ONT*ONLINE*TIME'
                ZIPONTTM='ZIP*SMF70ONT*ONLINE*TIME'

   zIIP Example:  PARTNZIP=12  ZIPCPUS=8.01  DURATM=15:00

   |--------------------ZIPONTTM  2:59:59.74---------------------------|
   |                                                                   |
   |-----------ZIPUPTM 2:00:09.21------------|---ZIPPATTM   59:50.53---|
   |                                         |
   |-ZIPACTTM 1:16:48.85-|-ZIPWAITM 42:33.59-|


Change 31.151 -Support for zVM 6.3 MONWRITE. INCOMPAT DUE TO MXG CODE,
VMACVMXA       which didn't SKIP new data compatibly added to SYTCUP and
Feb 20, 2013   and didn't correctly detect the extra 32 bytes in PRCAPM
Mar 26, 2013   subtype 8, and printed ERROR PROBABLE DATA LOSS DUE TO...
Apr 16, 2013   and BROKEN CONTROL RECORD: NO 8709X, with large _N_=.
VMXGINIT       This change was made in VMACVMXA at 30.30.
Apr 24, 2013     -Before _ESYTCUP statement near line 11567, insert:
Jul 23, 2013        SKIP=CALCPULN-40;IF SKIP GT 0 THEN INPUT +SKIP @;
               This change was made in VMACVMXA at 31.02.
                 -Replace (For 5.10 Record showstopper):
                    IF PRCAPMCT IN (4,8) THEN DO; line 19028 with
                    IF SUBSTR(PRCAPMV,1,1) NE 'F0'X THEN DO;
                 -Two instances of ENDTIME=.; lines 8633,8907 are now
                  comments, just in case, as they are archaic and not
                  needed (to force detection of a new interval) but in
                  some cases caused ENDTIME to be missing in startup
                  records.
              -With those changes, records were read with no execution
               errors with MXG 31.02; support was NOT announced.
              -These new variables and/or datasets are now created:
                                                   SKIP LEN _N_ RECSTART
              -Dataset VXSYTPRP (0.02) new variables:   12  152 101  373
                CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'
                PFXPRKWT='PARKED*WAIT*TIME'
              -Dataset VXSYTASG (0.06) new variables:    8   92 106  493
                CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'
                PFXPRKWT='PARKED*WAIT*TIME'
              -Dataset VXSYTUSR (0.08) new variables:    8  108 106  657
                RLOIB   ='INBOUND*LIVE*GUEST*RELOCATIONS'
                RLOOB   ='OUTBOUND*LIVE*GUEST*RELOCATIONS'
              -Dataset VXSYTCUP (0.16) new variables:    8 1216 107 1605
                LCXCCWT ='CURRENT*LPAR*WEIGHT'
                LCXCTYCP='CPU*TYPE*CAP'
                CALCAPV ='MAX*PHYSICAL*CPS*THIS TYPE'
              -Dataset VXSYTSYG (0.19) new variables:   +12 132 110 2413
                NCPCAPAB='NOMINAL*CAPABILITY*OF A*CPU'
                FXRDONE ='ZHPF DCW*TRANSLATE*SUCCESSFUL'
                FXRWRITE='WRITE CHAN*PRESENTED*TO ZHPF DSW'
              -Dataset VXSYTSPT (0.24) new variables:  308  364 106 2169
                -PROTECTED: MRHDRLEN=364 ONLY 56 DOCUMENTED.
              -Dataset VXMTRPRP (1.05) new variables:   12   56   4  433
                CALENTMT='VERTICAL*CPU*ENTITLEMENT='
                OFFTOPDS='OFFSET TO RCCTOPDS ARRAY='
                PFXPOLAR='CURRENT*POLARIZATION='
                RCCTOPDI='DISPATCH*VECTOR*BLOCK='
                RCCTOPDS='TOPOLOGY*DESCRIPTOR*IDS='
                SIZTOPDS='SIZE OF*RCCTOPDS*FIELD='
              -Dataset VXMTRMEM (1.07) new variables:    8  168  84 2497
                RSACKMB2G='FRAMES*LT 2G*FOR SAD*CRASHKERNEL'
                RSACKMA2G='FRAMES*GT 2G*FOR SAD*CRASHKERNEL'
              -Dataset VXMTRSCH (1.16) new DATA UNKEPT. 40  132  94 1345
                SRXCPPAD and SRXEXUSE decoded but not kept.
                -PROTECTED: SRXEXUSE is 8 bytes when PUMAX is 6.
              -Dataset VXMTRSSI (1.25) only read SYSPLXNR, in use slots,
               but there are SYSPLXNS, configured slots, segments in the
               record. All are now input; not-in-use have blank name.
              -Dataset VXSCLSTP (2.08) new variables:    4   84  98 3133
                SYSFPGRAT='SYSTEM*PAGE*READ IN*RATE*PERSEC'
              -Dataset VXSTORSG (3.01) new variables:  300  764 114  121
                RSAAGEPC       ='TGT SIZE*GLOBAL*AGING LIST*PCT DPA'
                RSAAGEFL       ='FLAG*BYTE'
                RSARSDMX       ='SET RESERVED SYSMAX VALUE FRAMES'
                RSAAGESZ       ='TGT SIZE OF GLOBAL AGING LIST*FRAMES'
                RSAAGINC       ='FRAMES*ON THE*GLOBAL*AGING*LIST'
                RSAEWNDD       ='GAL*CHANGED PAGES*MUST BE*WRITTEN'
                RSAEWRFO       ='GAL*REF ONLY*NOT HAVE*BE WRITTEN'
                RSAEWCIF       ='GAL*CHANGED*PAGES*BEING*PROCESSED'
                RSAEWRIF       ='GAL*REF ONLY*PAGES*BEING*PROCESSED'
                RSAAGRDY       ='GAL*FRAMES*READY FOR*RECLAIM'
                RSAAGRDYREFWRT ='GAL*REF ONLY*READY FOR*RECLAIM*YES AUX'
                RSAAGRDYREFNW  ='GAL*REF ONLY*READY FOR*RECLAIM*NO AUX'
                RSADSTMACT     ='DEMAND*SCAN*WAS*RUNNING'
                RSACHGWRTOLD   ='CHANGED*PAGES*WRITTEN TO*OLD AUX SLOT'
                RSAREFWRTBYPASS='REF ONLY*PAGES*NOT REWRITTEN*TO AUX'
                RSACHGWRTNEW   ='CHANGED*PAGES*WRITTEN TO*NEW AUX SLOT'
                RSAREFWRTNEW   ='REF ONLY*PAGES*WRITTEN TO*NEW AUX SLOT'
                RSAAGRECLM     ='PAGES*RECLAIMED*FROM GLOBAL*AGING LIST'
                RSAEXMET       ='DEMAND SCAN*STOPS*WHEN NEED*WAS MET'
                RSAEXTIM       ='DEMAND SCAN*STOPS*MAX*ALLOWABLE*TIME'
                RSAEXCPU       ='DEMAND SCAN*STOPS*CPU*SUBOPTIMAL'
                RSAINVUFO      ='PRIVATE*PAGES*INVALIDATED'
                RSAINVVUFO     ='PRIVATE*VDISK*PAGES*INVALIDATED'
                RSAINVSUFO     ='SHARED*PAGES*INVALIDATED'
                RSARVLUFO      ='PRIVATE*PAGES*REVALIDATED'
                RSARVLVUFO     ='PRIVATE*VDISK*PAGES*REVALIDATED'
                RSARVLSUFO     ='SHARED*PAGES*REVALIDATED'
                RSARVLAGL      ='GAL*PAGES*REVALIDATED'
                RSAWRTONDMD    ='DEMAND SCAN*WRITE-ON-DEMAND*FRAMES'
                RSADSCYCLE     ='ITERATIONS*DEMAND SCAN*MADE'
                RSAUSRVISIT    ='USERS*VISITED*PAGES WERE*MADE IBR'
                RSAUSRSKIP     ='USERS*SKIPPED*SERIAL/NET*SETTINGS'
                RSAALSKL       ='GAL FRAMES*NOT RECLAIMED*PINNED'
                RSAALSKF       ='GAL FRAMES*NOT RECLAIMED*FRAME*SERIAL'
                RSAALSKP       ='GAL FRAMES*NOT RECLAIMED*PAGE*SERIAL'
                RSAALSKR       ='GAL FRAMES*REQUEUED*NOT*RECLAIMED'
                RSAAGRVLREFNW  ='GAL REF ONLY*REVALIDATIONS*NO AUX'
                RSAAGRVLREFWRT ='GAL REF ONLY*REVALIDATIONS*YES AUX'
                RSAAGRVLCHGNW  ='GAL CHG PAGES*REVALIDATIONS*NO AUX'
                RSAAGRVLCHGWRT ='GAL CHG PAGES*REVALIDATIONS*YES AUX'
                RSAAVAILCNTB2GS='FRAMES ON*LT 2G*SINGLES*AVAILABLE*LIST
                RSAAVAILCNTB2GC='FRAMES ON*LT 2G*CONTIG*AVAILABLE*LIST'
                RSAAVAILCNTA2GS='FRAMES ON*GT 2G SINGLES*AVAILABLE*LIST
                RSAAVAILCNTA2GC='FRAMES ON*GT 2G*CONTIG*AVAILABLE*LIST'
                RSAAVAILREQB2GS='REQUESTS*LT 2G*SINGLE*FRAMES'
                RSAAVAILREQA2GS='REQUESTS*GT 2G*SINGLE*FRAMES'
                RSAAVAILREQB2GC='REQUESTS*LT 2G*CONTIGUOUS*FRAMES'
                RSAAVAILREQA2GC='REQUESTS*GT 2G*CONTIGUOUS*FRAMES'
                RSAAVAILRETB2GS='RETURNS*LT 2G*SINGLE*FRAMES'
                RSAAVAILRETA2GS='RETURNS*GT 2G*SINGLE*FRAMES'
                RSAAVAILRETB2GC='RETURNS*LT 2G*CONTIGUOUS*FRAMES'
                RSAAVAILRETA2GC='RETURNS*GT 2G*CONTIGUOUS*FRAMES'
                RSAAVAILPTB2GC ='PROTECT*THRESH*CONTIG*LT 2G'
                RSAAVAILPTA2GC ='PROTECT THRESH*CONTIG*GT 2G'
                RSAAVAILPTB2GS ='PROTECT THRESH*SINGLES*LT 2G'
              -Dataset VXSTORSP (3.02) new variables:   76  440 114  973
                PFXAFOBC='LOCAL LIST*(LL)*FOBS'
                PLSFOBLO='LL*LOW*THRESHOLD'
                PLSFOBHI='LL*HIGH*THRESHOLD'
                PLSFOB1E='LL*FOUND*EMPTY'
                PLSFOB1T='TOD 1ST*TRIM REQUEST*FOR LL'
                PLSFOBTM='TOD*MOST RECENT*TRIM REQ*FOR LL'
                PLSSTPAG='IBR PAGES FOUND*CMM*ZERO STATE'
              -Dataset VXSTOSHR (3.03) new variables:    8  120 114    1
                ASCCTRSV='FRAMES*RESERVED*VIA*SET RESERVED'
                ASCDSRSV='DEMAND*SCAN*NO MOVE*SET RSVD*PER SEC'
              -Dataset VXSTOASI (3.14) new variables:   60  196 120 1809
                ASCCTINS     ='SHARED*INSTANTIATED*PAGES'
                ASCCTIBRB2G  ='SHARED*IBR PAGES*ON UFO*BACKED LT 2G'
                ASCCTIBRA2G  ='SHARED*IBR PAGES*ON UFO*BACKED GT 2G'
                ASCCTAGLB2G  ='SHARED*IBR PAGES*GAL*BACKED LT 2G'
                ASCCTAGLA2G  ='SHARED*IBR PAGES*GAL*BACKED GT 2G'
                ASCCTRABISB2G='SHARED*NON-FAULT*IBR UFO*BACKED LT 2G'
                ASCCTRABISA2G='SHARED*NON-FAULT*IBR UFO*BACKED GT 2G'
                ASCCSINT     ='SHARED*INSTANTIATED*PAGES'
                ASCCSREL     ='SHARED*RECLAIMED*GUEST*PAGE*STATE'
                ASCCSINV     ='SHARED*PAGES*MADE*IBR'
                ASCCSPFI     ='SHARE*IBR PAGES*REVALIDATED*ON UFO'
                ASCCSPFA     ='SHARED*IBR PAGES*REVALIDATED*ON GAL'
                ASCCSFRY     ='SHARED*IBR PAGES*ON GAL*BACK*RECLAIM'
                ASCCSFNR     ='SHARED*IBR PAGES*ON UFO*WRIT TO AUX'
                ASCCSXRL     ='XSTORE*BLOCKS*RELEASED*MIGRATION'
              -Dataset VXSTOSHD (3.16) new variables:   20  120 164    1
                ASCCTPRG='RESIDENT*PAGES GT 2G*THIS*SAVEDSEG'
                ASCHLLC ='PAGES*LOCKED*HOST LOGICAL'
                ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'
                ASCCTRSV='FRAMES*RESERVED*VIA SET*RESERVED'
                ASCDSRSV='TIMES*DS NO MOVE*FRAMES*TO GLL'
              -Dataset VXUSELON (4.01) new variables:    4  180 386 2889
                VMDLOGFG='FLAG*BITS*SET AT*LOGON'
                LCLFLAG3='GENERAL*FLAGS'
              -Dataset VXUSELOF (4.02) new variables:  404  844 121   61
                CALCPFNR    ='UFO IBR*PAGES*WRITTEN*TO XSTORE'
                CALCPFRY    ='GAL IBR*PAGES*ALREADY*BACKED'
                CALCPINT    ='PRIVATE*INSTANTIATED*PAGES'
                CALCPINV    ='PRIVATE*PAGES*MADE*IBR'
                CALCPPFA    ='PRIVATE*IBR GAL*PAGES*REVALIDATED'
                CALCPPFI    ='PRIVATE*IBR UFO*PAGES*REVALIDATED'
                CALCPREL    ='PRIVATE*RECLAIMED*GUEST PAGE'
                CALCPXRL    ='XSTORE*BLOCKS*RELEASED*MIGRATION'
                CALCTAGLA2G ='GAL IBR*PAGES*BACKED*GT 2G'
                CALCTAGLB2G ='GAL IBR*PAGES*BACKED*LE 2G'
                CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'
                CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'
                CALCTINS    ='PRIVATE*INSTANTIATED*PAGES'
                CALCTRABISA2G  ='UFO/GAL*NONFAULT*IBR*GT 2G'
                CALCTRABISB2G  ='UFO/GAL*NONFAULT*IBR*LT 2G'
                CALCTXBK    ='EXPANDED*STORAGE*PAGING*BLOCKS'
                LCLFLAGS='GENERAL*FLAGS'
                MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'
                OFFPLTL ='OFFSET TO THE VMUPLTL ARRAY'
                OFFSTLTL='OFFSET TO THE VMUSTLTL ARRAY'
                OFFTOPDA='OFFSET TO THE VMUTOPDA ARRAY'
                OFFVMTL ='OFFSET TO THE VMUVMTL ARRAY'
                VMDDSRSV    ='DEMAND*SCAN*NOT MOVE*SET RESERVED'
                VMDDTPLX='-USER ISSUED*DETACH COMMAND*CONSULTED SSI'
                VMDDTTOD='TTIME*DETACH COMMANDS*CONSULTING SSI'
                VMDDTTOT='-USER ISSUED*DETACH*COMMAND'
                VMDLKPLX='-USER ISSUED*LINK COMMAND*CONSULTED SSI'
                VMDLKTOD='TTIME*LINK COMMANDS*CONSULTING SSI'
                VMDLKTOT='-USER ISSUED*LINK COMMAND'
                VMDSTFHW    ='HWM*STEAL*WEIGHT*FACTOR'
                VMDSTLFC    ='STEAL*WEIGHT*FACTOR'
                VMDUFACTC   ='UFO*ACTIVE*SECTION*FRAMES'
                VMDUFIBRC   ='IBR*SECTION*FRAMES'
                VMDWASTE    ='GAL*PRIVATE*PAGE FAULTS*IN AUX'
                VMDWKPLX='-USER USED*WRKALLEG*CONSULTED SSI'
                VMDWKTOD='TTIME*WRKALLEG*CONSULTING SSI'
                VMDWKTOT='-USER USED*WRKALLEG'
                VMUNRBAL='-CONFIGURATION*REBALANCES'
                VMUREBAL    ='RCCREBAL*COUNT*LAST*REBALANCE'
                VMUTOPDX='INDEX*INTO*VMUTOPDA*ARRAY'
                VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'
                VMUTOPNS='SIZE *ONE ELEMENT*VMUTOPDA ARRAY'
              -Dataset VXUSEACT (4.03) new variables:  404  844 121   61
                 CALCPFNR ='UFO IBR*PAGES*WRITTEN*TO XSTORE'
                 CALCPFRY ='GAL IBR*PAGES*ALREADY*BACKED'
                 CALCPINT ='PRIVATE*INSTANTIATED*PAGES'
                 CALCPINV ='PRIVATE*PAGES*MADE*IBR'
                 CALCPPFA ='PRIVATE*IBR GAL*PAGES*REVALIDATED'
                 CALCPPFI ='PRIVATE*IBR UFO*PAGES*REVALIDATED'
                 CALCPREL ='PRIVATE*RECLAIMED*GUEST PAGE'
                 CALCPXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'
                 CALCTAGLA2G  ='GAL IBR*PAGES*BACKED*GT 2G'
                 CALCTAGLB2G  ='GAL IBR*PAGES*BACKED*LE 2G'
                 CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'
                 CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'
                 CALCTINS  ='PRIVATE*INSTANTIATED*PAGES'
                 CALCTRABISA2G ='UFO/GAL*NONFAULT*IBR*GT 2G'
                 CALCTRABISB2G ='UFO/GAL*NONFAULT*IBR*LT 2G'
                 CALCTXBK ='EXPANDED*STORAGE*PAGING*BLOCKS'
                 MAXTOPO ='TOPOLOGY*LEVELS*CURRENTLY*ARCHITECTED'
                 RDMMMASK='RELOCATION DOMAIN*MEMBER*MASK'
                 RDMNAME ='GUESTS*RELOCATION*DOMAIN*NAME'
                 VMDCTSTA='CPU*STARTS'
                 VMDCTSTO='CPU*STOPS'
                 VMDDSRSV ='DEMAND*SCAN*NOT MOVE*SET RESERVED'
                 VMDDTPLX='DETACH*COMMAND*SSI*CONSULTED'
                 VMDDTTOD='VIRTUAL TIME*DETACT*COMMANDS*SSI'
                 VMDDTTOT='DETACH*COMMANDS*ISSUED'
                 VMDLKPLX='LINK*COMMANDS*SSI*CONSULTED'
                 VMDLKTOD='VIRTUAL TIME FOR LINK*COMMANDS*SSI'
                 VMDLKTOT='LINK*COMMANDS*ISSUED'
                 VMDRLLST='LAST*RELOCATION*THIS*USER'
                 VMDSTFHW  ='HWM*STEAL*WEIGHT*FACTOR'
                 VMDSTLFC  ='STEAL*WEIGHT*FACTOR'
                 VMDUFACTC ='UFO*ACTIVE*SECTION*FRAMES'
                 VMDUFIBRC ='IBR*SECTION*FRAMES'
                 VMDWASTE ='GAL*PRIVATE*PAGE FAULTS*IN AUX'
                 VMDWKPLX='WRKALLEG*COMMANDS*SSI*CONSULTED'
                 VMDWKTOD='VIRTUAL*TIME*WRKALLED*COMMANDS*SSI'
                 VMDWKTOT='WRKALLEG*COMMANDS*USED'
                 VMUNRBAL='CONFIGURATION*REBALANCES'
                 VMUPLTL0='REBALANCES*EQUIVALENT*NL1'
                 VMUPLTL1='REBALANCES*DIFF NL1*SAME NL2'
                 VMUPLTL2='REBALANCES*DIFF NL2*SAME NL3'
                 VMUPLTL3='REBALANCES*DIFF NL3*SAME NL4'
                 VMUPLTL4='REBALANCES*DIFF NL4*SAME NL5'
                 VMUPLTL5='REBALANCES*DIFF NL5'
                 VMUREBAL  ='RCCREBAL*COUNT*LAST*REBALANCE'
                 VMUSTLT0='STEALS*EQUIVALENT*NL1'
                 VMUSTLT1='STEALS*DIFF NL1*SAME NL2'
                 VMUSTLT2='STEALS*DIFF NL2*SAME NL3'
                 VMUSTLT3='STEALS*DIFF NL3*SAME NL4'
                 VMUSTLT4='STEALS*DIFF NL4*SAME NL5'
                 VMUSTLT5='STEALS*DIFF NL5'
                 VMUTOPDD='TOPOLOGY*DESCRIPTOR'
                 VMUTOPDI='DISPATCH*VECTOR*ID'
                 VMUTOPDX='ZERO-BASED*INDEX INTO*VMUTOPDA'
                 VMUTOPLU='PCT CPU*FOR HOME*DSVBK*ASSIGNMENT'
                 VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'
                 VMUTOPNS='ELEMENT*SIZE*VMUTOPDA*ARRAY'
                 VMUVMTL0='MOVES*EQUIVALENT*NL1'
                 VMUVMTL1='MOVES*DIFF NL1*SAME NL2'
                 VMUVMTL2='MOVES*DIFF NL2*SAME NL3'
                 VMUVMTL3='MOVES*DIFF NL3*SAME NL4'
                 VMUVMTL4='MOVES*DIFF NL4*SAME NL5'
                 VMUVMTL5='MOVES*DIFF NL5'
              -Dataset VXUSEINT (4.04) new variables:    8  248 121  905
                 VMDRLLST='LAST*RELOCATION*OF THIS*USER'
              -Dataset VXUSERLE (4.12) new variables:    8  248 121  905
                 LCLFLAGS ='LOCAL*RELOCATION*INFO*FLAGS'
                 RLOAIOCT ='ACTIVE*I/OS*ENCOUNTERED'
                 RLOCLNTM ='COMPLETION*DATETIME*FINAL*CLEAN UP'
                 RLOCONTM ='COMPLETION*DATETIME*INITIAL*ISFC CONNECT'
                 RLOCPCNT ='GUEST*PAGES*XFERED*FINAL PASS'
                 RLOCRETM ='COMPLETION*DATETIME*CREATION*SKELETON VMDBK'
                 RLOCRYTM ='COMPLETION*DATETIME*ENQUEUED*CRYPTO'
                 RLODSTRSV='RESERVED FRAME COUNT DESTINATION'
                 RLODSTSYS='DESTINATION*SYSTEM'
                 RLOELGTM ='COMPLETION*DATETIME*INITIAL*ELIG CHECKS'
                 RLOFCPTM ='COMPLETION*DATETIME*FCP I/O*DELAY'
                 RLOFINCD ='RELOCATION*ENDED*REASON*CODE'
                 RLOIOCTM ='COMPLETION*DATETIME*I/O CONFIG*RELOCATION'
                 RLOIOETM ='COMPLETION*DATETIME*FINAL I/O*ELIG CHECKS'
                 RLOISSUER='VMRELOCATE*CMD*ISSUER'
                 RLOLSTTM ='COMPLETION*DATETIME*LAST*MEMORY'
                 RLOMAXQ  ='MAXQUIESCE*TIME'
                 RLOMAXT  ='MAXTOTAL*TIME'
                 RLOMEMPS ='MEMORY*PASSES*DURING*RELOCATION'
                 RLOMEMTM ='COMPLETION*DATETIME*MEMORY*TRANSFER-2'
                 RLOMVOPT ='FLAG BYTE*FOR CMD*OPTIONS'
                 RLONQDCT ='NON-QDIO*TYPE*I/OS*CLEARED'
                 RLOPASSA ='GUEST*PAGES*XFERED*FIRST PASS'
                 RLOPASSY ='GUEST*PAGES*XFERED*PENULTIMATE*PASS'
                 RLOPENTM ='COMPLETION*DATETIME*PENULTIMATE*MEMORY'
                 RLOPSAVG ='AVERAGE*GUEST*PAGES*XFERED*2 THRU N-2'
                 RLOQDCT  ='QDIO*TYPE*I/OS*CLEARED'
                 RLOQUITM ='COMPLETION*DATETIME*GUEST*QUIECE'
                 RLORESTM ='COMPLETION*DATETIME*RESUMPTION*GUEST'
                 RLOSETTM ='COMPLETION*DATETIME*STMGT*SET UP'
                 RLOSMETM ='COMPLETION*DATETIME*STMGT*ELIG CHECKS'
                 RLOSRCRSV='RESERVED*FRAME*COUNT*SOURCE'
                 RLOSRCSYS='SOURCE*SYSTEM'
                 RLOSTARTM='DATETIME*START OF*RELOCATION'
                 RLOSTATM ='COMPLETION*DATETIME*VIRT STATE*RELOCATION'
                 RLOUSER  ='USERID OF*RELOCATION*TARGET'
                 RLOVDXCT ='VIRTUAL*DEVICES*TRANSFERRED'
                 RLOVSETM ='COMPLETION*DATETIME*VSIM*ELIG CHECKS'
                 VMDSTRLO ='SET*VMRELOCATE*FLAGS'
              -Dataset VXIODDEV (6.03) new variables:  200  180  76    1
                 RDEVSKSM64='CUM*DASD*ACCESS*MOVEMENT'
                 RDEVFCXM  ='MASK OF*PATHS*SUPPORT*ZHPF'
                 CUIFCXP   ='ZHPF*FEATURES*SUPPORTED'
                 RDEVMAXD  ='SMALLEST*ZHPF*MAX*DATA COUNT'
                 RDEVWXCT  ='TM(ZHPF)*WRITE*CHAN*PROGRAMS'
                 RDEVRXCT  ='TM(ZHPF)*READ*CHAN*PROGRAMS'
                 SCMIDTIM  ='SCM*INTERRUPT*DELAY*TIME'
                 SCMPDTIM  ='SCM*I/O*PRIORITY*DELAY*TIME'
                 PAVIDTIM  ='ACCUMULATED*INTERRUPT*DELAY*TIME'
                 PAVPDTIM  ='I/O*PRIORITY*DELAY*TIME'
              -Dataset VXIODCAD (6.04) new variables:   52  312 190 2665
                 Short length record doesn't input CALPSF due to this
                 PROTECTED: Segment Length is 312.
                        Fixed 68 bytes, 192 CALDATA 4 CALSSS2 leave only
                        48 bytes but CALPSF is documented as 192 bytes,
                        so Segment Length should be 576 vs 312.
              -Dataset VXIODVSW (6.21) new variables:  212  344 185 1185
                 LANTRID  ='ACTIVE TRACE IDS'
                 LANSUSR  ='USERS IN LINUX*SNIFFER*MODE'
                 LANMGIPA ='LAN MANAGEMENT IP ADDRESS'
                 MGSWIEUSER='LAN MANAGEMENT USER ID'
                 MGNICMAC ='VSWITCH MAC ADDRESS'
                 OSAMAC   ='OSA DEVICE MAC ADDR'
                 NICTRANP ='SESSION LAYER(2 OR 3)'
                 LANID    ='LAN*OWNER*NAME'
                 LOCKREQS ='LOCK REQUESTS*FOR LANLKWRD*NETWORKLOCK'
                 LANDEFER ='WAITS FOR*NETWORK*LANLKWRD*LOCK'
                 TXDEFERS ='WAITS FOR*LOCK WHEN*SENDING FROM*THIS PORT'
                 RXDEFERS ='WAITS FOR*LOCK WHEN*RECEIVING*ON THIS PORT'
                 NICTXPKT64='PACKETS*SENT*REAL DEVICE*VIRTUAL SWITCH'
                 NICTXDSC64='VALID*OUTBOUND*PACKETS*DISCARDED'
                 NICTXERR64='INVALID*OUTBOUND*PACKETS*DISCARDED'
                 NICRXPKT64='PACKETS*RECEIVED*REALDEVICE*VIRTUAL SWITCH'
                 NICRXDSC64='VALID*RECEIVED*PACKETS*DISCARDED'
                 NICRXERR64='RECEIVED*PACKETS*DISCARDED*INVALID*FORMAT'
                 SWPGROUP ='LINK AGG*PORT GROUP*IN USE*VIRT SWITCH'
                 VQSOMLVL ='OSA*DEVICE*MICROCODE*LEVEL'
                 SWPINTSC ='SECONDS*BETWEEN*LOAD*BALANCING*OPERATIONS'
                 VQSDVMAC ='OSA DEVICE*VIRTUAL*MAC ADDRESS'
                 VQSMRKCT ='MARKER*PDUS*SENT TO*THIS PORT'
                 VQSMRPCT ='MARKER*RESPONSES*RECEIVED'
                 VQSMRRCT ='MARKER*RESPONSES*PDUS SENT TO'
                 VQSMTOCT ='TIME OUTS*FOR MARKER*RESPONSE*WAITS'
                 VQSLCSCT ='LACP PDUS*SENT ON*THIS PORT'
                 VQSLCRCT ='LACP PDUS*RECEIVED ON*THIS PORT'
                 TXREQS   ='LOCK REQUESTS*MADE WHEN*SENDING'
                 RXREQS   ='LOCK REQUESTS*MADE WHEN*RECEIVING'
                 STKREQS  ='REQUESTS*TO STACK OR*TO UNSTACK*WORK'
                 STKDEFERS='TIMES*MULTIPLE*ATTEMPTES*TO STACK'
                 VQSPATTR1='PARTNER*SWITCH*BYTE 1'
                 VQSPATTR2='PARTNER*SWITCH*BYTE 2'
                 VQSPATTR3='PARTNER*SWITCH*BYTE 3'
                 VQSPATTR4='PARTNER*SWITCH*BYTE 4'
              -Dataset VXIODMDE (6.31) new variables:    4  84 2048 1385
  RDE           RDEVDEV ='REAL*DEVICE*NUMBER'
              -Dataset VXVNDSES (8.01) new variables:   12  304 289  889
                 VMDRLLST='LAST*RELOCATION*THIS*USER'
                 NICMGPOR='PORT*VALUE*FOR GUEST*CONNECTION'
              -Dataset VXISFNOD (9.04) new variables:    4  304 897  156
                 LNKCAPCT='NOT-FULL*PACKAGES*CLOSED*TIMEOUT'
              -Dataset VXAPLTC0(10.02) new variables:   28  636 301    1
                 Corrections made:
                 APLSDT segments with undocumented new fields:
                 for MDGPROD='5735FALST'-'00'x-'054000'    +28    636
                 for MDGPROD='5735FALST'-'00'x-'061000'     +4    612
                 The documentation for APPLDATA is here:
                   http://www.vm.ibm.com/perf/docs/appldata.html
              -New Datasets Created:
              -Dataset VXPRCPUP (5.16) new dataset:    520  500 386  625
                 CALFCONF='CONFIDENCE*PERCENTAGE*FLOOR*PROJECTION'
                 CALFLAG ='FLAG*BYTE'
                 CALFLALG='ALGORITHM*USED*FLOOR*PROJECTION'
                 CALUCALG='ALGORITHM*USED FOR*CEILING*PROJECTION'
                 CPUTYPE ='CPU*TYPE'
                 MAXRPROC='VALID*BITS*IN*MASKS'
                 OFSLCPUA='OFFSET TO*SRXLCPUA FIELD'
                 OFSONLIN='OFFSET TO*CALONLIN FIELD'
                 OFSUPKMK='OFFSET TO*RCCUPKMK FIELD'
                 RCCNUPK ='CPUS*REQUESTED*TO BE IN*UNPARKED*STATE'
                 RCCSIGCT='-SUCCESSFUL*SIGP*RESTARTS'
                 RCCSIGTD='-TIME SPENT*IN*SIGP*RESTARTS'
                 SCOUNT  ='STANZAS*IN THIS*RECORD'
                 SOFFSET ='OFFSET TO FIRST STANZA'
                 SRXCPPAD='CPU*CAPACITY*ADDED*TO CEILING'
                 SRXNOTVH='CAPACITY*ASSIGNED*CPUS NOT*VERTICAL HIGH'
                 SRXPMAX ='MAX NUMBER*CPUS THAT*CAN BE*PARKED'
                 SRXWRKCI='CONFIDENCE*PERCENTAGE*CEILING*PREDICTION'
                 SSIZE   ='STANZA*SIZE'
                 WHIOCECE='EXCESS*PROCESSOR*CAPACITY*AVAILABLE'
                 WHIOCUTI='NUMBER OF*PHYSICAL*CPUS*CONSUMED'
                 WHIOCXC ='SHARE OF*EXTRA*CAPACITY'
                 WHIOENT ='CPU*RESOURCE*ENTITLEMENT'
                 WHIOFLG ='FLAGS FOR THIS PARTITION'
                 WHIOPUTI='CEILING*PREDICTION*OF CPU*UTILIZATION'
                 WHIOPXC ='UNENTITLED*CAPACITY*FLOOR*PROJECTION'
                 WHIOUCT ='VALID*SAMPLES FOR*CEILING*PREDICTION'
                 WHIOXCT ='VALID*SAMPLES FOR*FLOOR*PROJECTION'
                 WHIUCT  ='VALID*SAMPLES*CEILING*PREDICTION'
                 WHIXCT  ='VALID*SAMPLES*FLOOR*PROJECTION'
                 Corrections made:
                         a. Undocumented 8 bytes after RCCSIGTD.
                         b. SSIZE is 92 bytes but only 52 bytes are
                            documented for CPUTYPE-SRXNOTVH fields.
                         c. OFFSET SOFFSET is 60 from start of record
                            for 92 bytes, but these other offset values
                            OFSUPKMK=68, OFSONLIN=76, OFSLCPUA=84, all
                            point inside those 92 bytes.
                         d. And, RCCUPKMK, CALONLIN, and SRXLCPU are all
                            shown as one byte fields, but those offsets
                            indicate they are all 8 bytes separated.
                            the fields are 8 bytes but only first used
                            and the remaining 7 should have been rsvd.
              -Dataset VXPRCRCD (5.17) new dataset:     88   68  74 3601
                 CALENTMT='VERTICAL*CPU*ENTITLEMENT'
                 CALMNEST='CONFIG*TOPOLOGY*FACILITY*SELECTOR'
                 MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'
                 OFFSTLTL='OFFSET TO*PLSSTLTL*ARRAY'
                 OFFTOPDS='OFFSET TO*RCCTOPDS*FIELD'
                 PFXCPUAD='PROCESSOR ADDRESS'
                 PFXPOLAR=' CURRENT*POLARIZATION'
                 RCCTOPDI='DSVBK*INDEX*FOR CPU'
                 RCCTOPDS='TOPOLOGY*DESCRIPTOR*CONTAINER*IDS'
                 SIZTOPDS='SIZE*OF*RCCTOPDS*FIELD'
                 Corrections made:
                    a. MRHCRLEN=88 but DOC shows 60 bytes fixed and doc
                       RCCTOPDS Length is 32, but only 28 bytes are left
                       in the record.
                    b. Offset OFFTOPDS=60, but OFFSTLTL=64 which would
                       be four bytes into the RCCTOPDS field.
              -Dataset VXPRCDHF (5.18) new dataset:     88   68  74 3601
                 CALDSVID='DSVBK*ID'
                 CPUTYPE ='CPU*TYPE'
                 HFCOUNT ='HIGH*FREQUENCY*SAMPLES*THIS DSVBK
                 HFUSERC ='-VMDBKS*IN DSVBK*WHEN NOT*EMPTY'
                 HFUSERZ ='TIMES WHEN*DSVBK*HAD NO*VMDBKS'
                 MAXRPROC='VALID*BITS*IN*MASKS'
                 OFSASSOC='OFFSET TO*DSVASSOC*FIELD'
                 OFSUNPRK='OFFSET TO*DSVUNPRK*FIELD'
                 RCCDSVCH='CPU-TO-DSVBK*ASSIGNMENT*CHANGES'
                 SCOUNT  ='STANZAS*IN THIS*RECORD'
                 SOFFSET ='OFFSET TO FIRST STANZA'
                 SSIZE   ='STANZA*SIZE'
                 SYSDVENT='MAX USERS*ALLOWED IN*A DSVBK'
                 Corrections made:
                      a. PRCHDF_STANZA is documented with 16 bytes
                         but SSIZE=32.
                      b. Similar to preceding, the SOFFSET=40 but
                         OFSASSOC=16 and OFSUNPRK=24 which I don't
                         understand, since they would precede the
                         STANZA data.

Change 31.150  RMF III Enhancements, Fixes, new DYNAMIC METHOD.
ADOCRMFV      -A new procedure for executing ASMRMFV is now available
ASMRMFV        called the Dynamic Method.  This approach combines the
JCLCRMFV       simplicity of the current Direct JCL method with the
JCLDRMFV       convenience of catalog lookup and dynamic allocation
JCLRMFV        provided by the current TSO Clist method. See JCLDRMFV.
VMACRMFV      -A new INDSNAME= keyword parameter (aliases INDSN=, INDS=,
Jul 23, 2013   IDS=, I=) is now supported that allows the specification
Jul 26, 2013   of 1 to 256 data set name patterns.  The patterns are
               used to retrieve matching VSAM cluster entries by the
               Catalog Search Interface (CSI), an IBM supported and
               documented program service.
                 NOTE: The CSI call is set to only retrieve VSAM
                 Clusters (and related Data and Index components).
                 Non-VSAM data sets and other VSAM entry types are not
                 returned.  Only a very small fraction of the data in a
                 Cluster entry is returned (Type, CISIZE, RECSIZE).
              -Each returned data set name entry is validated as being
               a VSAM RRDS data set with the correct CISIZE and RECSIZE
               for an RMF Monitor III data set.  Then each in turn is
               dynamically allocated to an RMFD* DDNAME beginning with
               RMFD0000.  Later each is opened in turn for further
               processing by ASMRMFV.  But the TESTCSI parameter (see
               below) can modify this behavior.
                 NOTE: Static RMFV* style DD statements may still be
                 hard coded in JCL even when the Dynamic Method is used
                 and will be processed as usual.  However, this tends
                 to defeat the intent and value of the Dynamic Method.
              -INDSNAME= pattern masking characters include the use of
               ** and * as multiple character substitutes and % (percent
               sign) as a single character placeholder.
              -Pattern coding rules and examples are fully provided in
               both the ASMRMFV source code prologue and in the updated
               ADOCRMFV member.  They are also documented in the IBM
               DFSMS Managing Catalogs manual for your z/OS release, in
               the section Catalog Search Interface User's Guide.
                 NOTE: Be careful to avoid overlapping data set patterns
                 using INDSNAME= which could cause duplicate data to be
                 processed into ASMRMFV.  The TESTCSI parameter (see
                 below) can help check for this in advance.  ASMRMFV
                 does NOT check for or exclude duplicate data.  The same
                 issue could exist using static JCL DD allocation as
                 well and is NOT exclusive to the Dynamic Method.
              -A new parameter TESTCSI/NOTESTCSI (default NOTESTCSI)
               controls pattern testing that is especially useful when
               setting up the Dynamic Method for the first time.
              -TESTCSI (alias TESTC) only retrieves data from catalogs
               using CSI and the INDSNAME= patterns.  No dynamic
               allocation or file processing occurs.  TESTCSI thus
               provides a preview of search results with the user
               pattern settings.  This can prevent the retrieval of
               large numbers of unneeded data sets that are not RMF
               Monitor III files.
              -NOTESTCSI (alias NOTESTC) retrieves data from catalogs
               using CSI and the INDSNAME= patterns, dynamically
               allocates valid found files, and allows full normal
               processing by ASMRMFV.
              -WARNING: Users are strongly recommended NOT to use the
               all inclusive search pattern INDSNAME=** as that will
               retrieve all VSAM Clusters in their catalogs.  This will
               likely return thousands of entries and can result in a
               possible performance impact on the catalog management
               function while in progress that could affect other work.
              -The ADOCRMFV member which contained mostly development
               notes from 2008 and earlier has been completely replaced
               with the ASMRMFV source documentation.  This was made
               much more readable by the removal of many embedded
               assembler language statements.  The ASMRMFV prologue
               documentation in source remains available as before.
              -A new documentation member JCLDRMFV contains ASMRMFV
               execution examples using the new Dynamic Method.
              -JCLRMFV, JCLCRMFV, and JCLDRMFV documentation members now
               all contain a table that compares and contrasts the 3
               available methods to execute ASMRMFV.
              -The MXG00 table version is raised from X'02' to X'03 and
               adds the maximum number of entries supported in the new
               DSN Pattern Table (currently 256).
              -When an invalid parameter length is detected message
               RMFV004E will now also display the invalid length.
              -When a date or time parameter related error is detected
               ASMRMFV will no longer abend immediately but instead
               postpone the abend until all parameters are processed.
               This will permit all parameter errors to be found in a
               single run.
              -When the RCD table is selected the unnecessary selection
               of the SVP table will no longer be automatically forced.
               ASMRMFV will still read the SVP to obtain required data,
               but will not output the SVP unless specifically selected.
              -Ten new ASMRMFV parameters are added for consistent user
               directed control of error conditions (see more below).
              -Each has 3 possible values of ABEND (alias A), IGNORE
               (alias I), or WARN (alias W).  Before control of these
               conditions was inconsistent, difficult to alter, or
               simply not available.
              -ASMRMFV messages RMFV004*, RMFV016*, RMFV017*, RMFV029*,
               RMFV033*, RMFV048*, and RMFV049* (*=I,W,E,S) are now
               multi-severity based on the settings of these error
               control parameters.
              -ABEND causes ASMRMFV to issue an error message RMFV***E
               and immediately terminate with a U0998 Abend.
              -WARN results in an RMFV***W warning message then sets a
               return code of 4 and execution continues.
              -IGNORE issues an informational message RMFV***I, leaves
               the return code unchanged and execution also continues.
              -ALLOCERR=ABEND/IGNORE/WARN directs ASMRMFV when a dynamic
               allocation of an RMF Monitor III data set fails (default
               WARN).
                 NOTE: Look for messages on the Job JESLOG for more
                 details on dynamic allocation errors.
              -ATTRERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM
               RRDS found during a CSI search has an attribute error for
               an RMF Monitor III data set either an invalid CISIZE not
               32768 or an invalid LRECL not 32752 (default WARN).
              -CATERR=ABEND/IGNORE/WARN directs ASMRMFV when a catalog
               entry retrieval error occurs during a CSI search (default
               WARN).  Catalog damage is possible.
                 NOTE: For Return and Reason Code details on a catalog
                 retrieval error consult the IBM documentation for
                 message IDC3009I for the same respective codes.
              -DEADERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF III
               data set has probable dead space due to high usage of
               indexes (default WARN).  Reallocation to a smaller size
               may be appropriate.
              -DSIGERR=ABEND/IGNORE/WARN directs ASMRMFV when the table
               ID for an RMF III data set header/index record is not
               'DSIG3' as expected (default WARN).  This can be due to
               an "imposter" data set, a VSAM RRDS with correct CISIZE
               and RECSIZE for an RMF III file but does in fact NOT
               contain valid RMF III data.
              -DSNERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set
               entry retrieval error occurs during a CSI search (default
               WARN).  Data set damage is possible.
                 NOTE: For Return and Reason Code details on a data set
                 retrieval error consult the IBM documentation for
                 message IDC3009I for the same respective codes.
              -EMPTYERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF
               Monitor III data set opened during processing contains no
               data (default IGNORE).  This can validly occur for
               several reasons.  See documentation for this parm.
              -PATTERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set
               name pattern error is detected for the INDSNAME=
               parameter (default WARN).  This is usually a user error.
              -READERR=ABEND/IGNORE/WARN directs ASMRMFV when a read I/O
               error occurs processing an RMF III Monitor data set
               (default ABEND).  Can be due to a truncated file.
              -TYPEERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM
               data set type other than a RRDS is found during a CSI
               search (default WARN).  The INDSNAME= pattern may be too
               general causing retrieval of many non-RMF III files.
              -The old ASMRMFV parameter ABREAD is now equivalent to
               READERR=ABEND and is still supported.
              -The old ASMRMFV parameter NOABREAD is now equivalent to
               READERR=WARN and is still supported.
              -12 new messages RMFV040I to RMFV051I are added to support
               Catalog Search Interface usage and results.
              -7 new messages RMFV060I to RMFV066W are added to support
               dynamic allocation usage and results.
              -New message RMFV036I shows selection settings for all RMF
               III tables at ASMRMFV initialization.
              -New message RMFV037I shows selection settings for all
               other ASMRMFV parameters at initialization including the
               new error condition keywords.
              -CSI work area buffer statistics are shown when the
               BUFFERS parameter is used.
              -A new parameter CSISTAT/NOCSISTAT controls statistics
               information about the CSI user work area buffer (default
               NOCSISTAT).  CSISTAT (alias CSIS) shows the total size
               and size used of the buffer for each CSI call in message
               RMFV047I.  NOCSISTAT (alias NOCSIS) suppresses the
               message.
                 NOTE: Starting with an initial CSI workarea size of 64K
                 ASMRMFV will dynamically increase the size of the CSI
                 work area up to a maximum of 1 MB when a RESUME CSI
                 call is needed because the buffer was too small for the
                 number of entries retrieved.
              -When a GETMAIN/FREEMAIN storage error occurs severe
               message RMFV007S now includes the number of bytes and
               subpool involved.  This should be a rare event but always
               results in an abend.
              -When the BUFFERS parameter was active the Summary report
               did not include the final program FREEMAINs at program
               termination.
              -ASMRMFV will no longer attempt to process RMF Monitor III
               data sets that are not CISIZE 32768 or RECSIZE (LRECL)
               32752.  IBM messages ERB824I and ERB825I document that
               only the CISIZE and RECSIZE values used in ERBVSDEF Clist
               to DEFINE RMF III data sets are correct.
              -Performance:  ASMRMFV was incorrectly freeing and
               allocating a new buffer for every MINTIME sample.
              -Performance:  Sample buffer adjustment factor of 1 in
               &MULTS symbolic parameter was ineffective in reducing
               additional GETMAINs, so has been lowered to 0 to avoid
               wasting unused buffer space.
              -Performance:  Policy buffer adjustment factor of 1 in
               &MULTP symbolic parameter was ineffective in reducing
               additional GETMAINs, so has been lowered to 0 to avoid
               wasting unused buffer space.
              -Four internal ASMRMFV message tables have been
               consolidated into a single table to relieve message
               addition restrictions.
              -Message RMFV016* generated when an expected versus actual
               RMF III table id mismatch occurs now includes the actual
               found table id in both character and hexadecimal.
              -ASMRMFV prologue documentation has been updated for all
               new parameters, for details on pattern match usage, and
               expanded for return code 4.
                 NOTE: The TSO Clist method is not planned for any
                 further enhancement and may become archaic.  TSO Clist
                 Method users are encouraged to trial and migrate to the
                 Dynamic Method which should be vastly superior in ease
                 of use and likely in performance as well.
              -REQUIREMENT: In order to receive these improvements the
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.

Change 31.149  Change 30.203 broke the ability to use _GRPMNNM/_GRPMNCD
ASUMTAPE       to define an additional variable (e.g., LOCATION) causing
Jul 22, 2013     ERROR: VARIABLE LOCATION NOT FOUND.
               The KEEPs= for JES3MNT, JES510, and JES5918 needed macro
               _GRPMNNM added, and _GRPMNCD was needed in the logic for
               JES3MNT, even though this was a JES2 site.
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA

Change 31.148  Documentation.  The denominator D1 in NORM1=A B / D1 in
VMXGSUM        your VMXGSUM invocation must be a variable, and can not
Jul 22, 2013   be an expression.  Unfortunately, while some earlier
               VMXGSUM releases did permit NORM1=A B /(C+D) syntax, that
               was NEVER intended and is NOT supported; it's just too
               deep in working logic to risk the exposure, when you can
               use this logic in your VMXGSUM to create a variable with
               an expression: INCODE=E=C+D; and then NORM1=A B/E.
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA

Change 31.147  Support for CANPROD4, CANPROD5, and CANPROD6 optional
IMACICVC       CICS segments creates same-named variables:
IMACICVD          CMODHEAD
IMACICVE            and         Tailor
IMACAAAA          Variable:     Member
UTILEXCL          CANPROD4      IMACICVC
VMAC110           CANPROD5      IMACICVD
Jul 19, 2013      CANPROD6      IMACICVE
Jul 29, 2013  -UTILEXCL wasn't updated until Jul 29, after 31.05 was GA.

Change 31.146 -INPUT STATEMENT EXCEEDED RACF UNLOAD 0506 short record.
EXRAC206       The documented length is 534 bytes, including two "user"
IMACRACF       fields documented in fixed locations (bytes 270-525 and
VMACRACF       527-534) but this record was only 285 bytes. The first
VMXGINIT       269 bytes contained valid/expected data, but the two user
Jul 22, 2013   fields did not exist as documented.  However, the record
               does contain three fields of 3,8,4 bytes, so this change
               detects the short record and only inputs what's left in
               the record into variable USERDATA.
              -INPUT STATEMENT EXCEEDED RACF UNLOAD 0510 short record.
               Unlike the above short 0506, this one instance was only
               262 bytes long, ending after CLASS with no user segment.
              -Support for RACF UNLOAD 0206 RSAF DATA record creates new
               RACF0206 dataset.
              -Missing value messages were eliminated by improved logic.
   Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.

Change 31.145  INPUT STATEMENT EXCEEDED for QAPMHDWR infile because the
VMACQACS       two fields SWTMOD and DORESR do not exist in V5.4.0 data
Jul 18, 2013   records.  Their INPUT is now conditional on being there.
   Thanks to Clayton Buck, UNIGROUP, USA.

Change 31.144  Updates for SMF 83 Subtypes 2 thru 6.
VMAC83         Incomplete, await data records.
Jul 20, 2013

Change 31.143 -ID=120 ST=9 WebSphere TYP1209E variables are accumulated
VMAC120        if there is more than one observation per enclave token,
Jul 19, 2013   a not-documented-feature observed in the data.  TYP1209E
Jul 26, 2013   is now sorted by  SYSTEM,SM1209CR,CY,CV,CH,SM1209CM and
               variables SM1209DA/DB/DC/DD/DE/SM1209DF are deaccumulated
               if the obs is NOT (FIRST.SM1209CH AND LAST.SM1209CH), as
               those are single-instance-per-enclave-token observations
               whose CPU time is not accumulated.  Use TYPS120 instead
               of TYPE120 so that TYP1209E data is deaccumulated, or
               %INCLUDE SOURCLIB(TYPE120); _ST1209E ; RUN; to invoke
               the dataset sort macro, where MXG does deaccumulation.
              -ID=120 ST=9 WebSphere variable SM1209DI, zAAP CPU time,
               is now normalized by SM1209DG/256.  While the zIIP time
               in SM1209DF returned by WLM is normalized, and the part
               of SM1209DH from zIIP and zAAP is normalized, SM1209DI
               is returned by WLM in raw time units.
              -ID=120 ST=9 WebSphere variable SM1209CI is now labeled
                SM1209CI=TOTAL*CP+ZIIP+ZAAP*TCB CPU*TIME as it contains
               TOTAL CPU time on all engines.  Variable SM1209CX is the
               portion of SM1209CI that was executed on the zIIP or zAAP
               Specialty engine.  If your CP engines are knee-capped,
               i.e., slower than the zIIP speed, then the CPU time in
               SM1209CX for the zIIP time (which is also included in
               SM1290CI) will be the normalized (LARGER) CPU time value,
               since that's what applications return for CPU time on
               specialty engines.  (E.g., documented that the CPUTM in
               CICSTRAN can be greater than ELAPSTM for transactions
               using zIIP/zAAP with slow CP engines.)
 See this white paper, by David Follis, looking at WAS 120-9 analysis:
 http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP102311
   Thanks to Joe Faska, Depository Trust, USA.

Change 31.142  Support for User CICS Fields listed below.
IMACICV6         New Variable   CMODHEAD   CMODNAME
IMACICV7          IMACICV6      MSG@       MSG/APPL
IMACICV8          IMACICV7      EGTBS      EGTBS
IMACICV9          IMACICV8      FROMCORR   FROMCORR
IMACICVA          IMACICV9      TOCORR     TOCORR
IMACICVB          IMACICVA      EGMSGID    EGMSGID
UTILEXCL          IMACICVB      PROGNAME   PROGNAME
VMAC110
Jul 18, 2013

Change 31.141  DIVISION BY ZERO in ANALPRTR. One of the two calculations
ANALPRTR       of printer THRUPUT didn't test THRUTM, the denominator,
Jul 17, 2013   for a non-zero value before a divide.  Since a zero is a
               valid value, there was no actual error; variable THRUPUT
               is a missing value, with or without the test added by
               this change before the divide that prevents that message.
   Thanks to Jessie Gonzales, California State Controller's Office, USA.

Change 31.140  MXG 31.03-31.04, SMF70GNM, Group Name variable was always
VMAC7072       blank in PDB.TYPE70PR dataset, causing Group Capacity
Jul 17, 2013   datasets ASUM70GC/ASUM70GO to have zero observations.
               MXG's bit 1 test in SMF70PFL was incorrectly changed in
               31.03 causing group name to be replaced with blanks.
   Thanks to Don Shelton, Time Customer Service, Inc., USA.

Change 31.139  Support for RACF TOKDANAM='UNAME' creates new variable
VMAC80A        TOKUNAME in dataset TYPE80TK.
Jul 17, 2013
   Thanks to Clayton Buck, UNIGROUP, USA.

Change 31.138  If you have multi-period workloads defined in RMFINTRV,
VMXGRMFI       the period 1 RSP TRN SWP variables were mislabeled with
Jul 16, 2013   the workload name (BAT1) rather than the label (BATHI).
   Thanks to Patricia J. Jones, DST Systems, USA.

Change 31.137  IMF TRANSACTION EXTENSION variables TRXZxxxx were wrongly
VMACCIMS       INPUT @TRXPTIMO but are now INPUT @TRNEXTEN+TRXPTIMO, and
Jul 16, 2013   TRX1FL1,TRX1FL2, and TRX1_LDS variables are now correctly
               input and kept in CICSTRAN data.se.
   Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.

Change 31.136 -IIS Log with unexpected ' ... ' COOKIE value caused CPU
VMACWWW        loop; MXG expected an equal sign in COOKIE text, now
Jul 16, 2013   protects for no equal sign.  Browser was Mozilla/5.0.
Jul 26, 2013  -Mozilla browser created unexpected URIQUERY value,
               with a leading equal sign and without a URIQNAME that
               also caused MXG to loop.
   Thanks to Xiaobo Zhang, Fiserv, USA.

Change 31.135  If you used the _GRPALNM macro to subset ASUMTALO, the
ASUMTALO       time range of the data could be limited to the time range
Jul 15, 2013   of a single system (if SYSTEM is what was added).  Now,
               if we detect that you have used _GRPALNM, then all data
               will be input to ASUMTALO.
   Thanks to Jorge Fong, NYC Information Technology, USA.

Change 31.134  The TIMESTAMP, BEGINTIME, ENDTIME values were wrong for
VMACXDFG       HH of 12 with PM suffix (only PM hours 1-11 need +12),
VMACXDNS       or for HH 12 with AM suffix (must reset HH=00).
VMACXDSP
Jul 16, 2013

Change 31.133  Support for TMON for DB2 Version 5 second iteration.
VMACTMD2      -DA and DB records were INCOMPATIBLY changed with removal
Jul 16, 2013   of 11660 and 5680 uncompressed reserved bytes, but there
               was no change in the variables created in TMD2DA/TMD2DB
               datasets.  Fields DALHRECC/DBLHRECC are used to identify
               and transparently process both record formats.
               Note: Jul 2014, dataset TMD2DB replaced TMDBDB2 dataset.
              -IG record was COMPATIBLY changed creating 2 new variables
                  IGGBGR1C='CURRENT*DIRECTORY*ENTRY'
                  IGGBGR2C='PENDING*DIRECTORY*ENTRY'
               in TMD2IG dataset from previously reserved areas.
              -Three TMON PTFs: TE03897, TEO3904, and TE03910 make these
               changes in the TMON for DB2 records.

Change 31.132  Change 31.077 (PRCMFC 5.13 z/VM 6.2) was tested, sent,
VMACVMXA       and validated, but that VMACVMXA was NOT moved into the
Jul 10, 2013   master MXG source, causing BROKEN CONTROL RECORD ERROR.
               CFVN=1 CSVN=3 SKIP= still had 1708 instead of 1664.
   Thanks to David J. Schumann, BCBS of Minnesota, USA.

Change 31.131  Using EXUTILEX to create a tailored IMACEXCL no longer
UTILEXCL       works with recent UTILEXCL (31.02 for example) when there
EXUTILEX       are two triplets with that CMODHEAD name, and it's not
IMACICUS       yet clear why nor when it stopped working.  If you have
Jul  9, 2013   an EXUTILEX member and its associated IMACICUS member,
               please send them to support@mxg.com so they can be added
               with a new IMACICxx member, which is now the correct way
               to support user segments in CICSTRAN records.
              -I will try to resolve and reinstate EXUTILEX support
               and will update this note if/when that is accomplished.
               At present, however, the second instance causes a SYNTAX
               error citing the first variable in the EXUTILEX INPUT.
   Thanks to Kim Nguyen-Thi, IBM, AUSTRALIA.
   Thanks to Paul Gillis, IBM, AUSTRALIA.

Change 31.130  Corrections to zIIP/zAAP SHARE WEIGHTS in RMF 70 data.
VMAC7072       Change 30.106 did not correctly calculate the initial and
VMXG70PR       current SHAREs for the zIIP engines, didn't create SHAREd
Jul 20, 2013   variables for the zAAP engines, and revisions to labels
               now identify  CP, ZAAP, or ZIP metrics.
               TYPE70 dataset: the "LPAR" values are for this zOS system
               while the "TOTAL" values are for the entire CEC.
                 TYPE70 SHARE WEIGHT variables in TYPE70:
                 TOTSHARC='TOTAL*CURRENT*CP SHARE*WEIGHT'
                 TOTSHARE='TOTAL*INITIAL*CP SHARE*WEIGHT'
                 ZIPSHARC='TOTAL*CURRENT*ZIIP SHARE*WEIGHT'
                 ZIPSHARE='TOTAL*INITIAL*ZIIP SHARE*WEIGHT'
                 IFASHARC='TOTAL*CURRENT*ZAAP SHARE*WEIGHT'
                 IFASHARE='TOTAL*INITIAL*ZAAP SHARE*WEIGHT'
                 LPARSHAC='LPAR*CURRENT*CP SHARE*WEIGHT'
                 LPARSHAR='LPAR*INITIAL*CP SHARE*WEIGHT'
                 LZIPSHAC='LPAR*ZIIP SHARE*CURRENT*WEIGHT*PCT'
                 LZIPSHAR='LPAR*ZIIP SHARE*INITIAL*WEIGHT*PCT'
                 LIFASHAC='LPAR*ZAAP SHARE*CURRENT*WEIGHT*PCT'
                 LIFASHAR='LPAR*ZAAP SHARE*INITIAL*WEIGHT*PCT'
               ASUM70PR and ASUMCEC variables exist per LPAR:
                LPnSHARC='LPAR  n*SHARE*CURRENT*CP WEIGHT*PCT'
                LPnSHARE='LPAR  n*SHARE*INITIAL*CP WEIGHT*PCT'
                LPnZIPSC='LPAR  n*ZIIP SHARE*CURRENT*WEIGHT*PCT'
                LPnZIPSH='LPAR  n*ZIIP SHARE*INITIAL*WEIGHT*PCT'
                LPnIFASC='LPAR  n*ZAAP SHARE*CURRENT*WEIGHT*PCT'
                LPnIFASH='LPAR  n*ZAAP SHARE*INITIAL*WEIGHT*PCT'
   Thanks to Lindholm Orjan, VOLVO, SWEDEN.

Change 31.129  Support for CICS User CIFAUDIT field.
IMACICV5
UTILEXCL
VMAC110
Jul  8, 2013

Change 31.128  If you tried to use the LDB2*** parameters to reroute a
READDB2        dataset to a different DDNAME/LIBNAME, it was not honored
Jul  4, 2013   and fails when trying to write to the PDBOUT destination.
               READDB2 was using PDBOUT when it should have been using
               the PDB2*** macro variables to change output DDNAMEs.
   Thanks to David Bernhardt, Verizon, USA.

Change 31.127  Variables R783DCTM and R783DDTM (Control Unit Connect and
VMAC78         Disconnect Times) were added by z/OS 1.10 but were not
Jul  2, 2013   flagged with the expected vertical bar for new fields so
               they were overlooked. They are added to Dataset TYPE78CU.
   Thanks to Erling Andersen, SMTDATA, DENMARK.

Change 31.126  Variable XPTRVERS is now kept in all XPTR dataset.
VMACXPTR
Jul  1, 2013
   Thanks to Robert Corballo, Xerox, USA.

====== Changes thru 31.125 were in MXG 31.04 dated Jun 26, 2013=========

Change 31.125  If you correctly asked for only DB2ST225 using syntax of
READDB2          %READDB2(IFCIDS=STATISTICS,WANTONLY=DB2ST25);
Jun 25, 2013   DIFFDB2 failed on the DB2STAT4 dataset due to a missing
               ELSE clause, causing 0 observations to be created.
    Thanks to Neil Ervin, Wells Fargo, USA

Change 31.124  MXG 31.03 only, INVALID DO LOOP CONTROL ERROR for ID=72
VMAC7072       SUBTYPE=5 record because MXG did not test SMF72QSN for a
Jun 25, 2013   missing value.  Fortunately, since it was missing, there
Jun 27, 2013   was no impact, except for the error message and hex dump!
Aug 22, 2013   Correction was made in the undocumented refresh in 31.04
               that was made on Jun 27.  Check the 2nd line of VMAC7072
               for Jun 27 to verify you have the final 31.04.
   Thanks to Cletus McGee, ALFA Insurance, USA.

Change 31.123  Using the archaic EXITCICS version 1 for DB2 compressed
Jun 26, 2013   records caused INPUT STATEMENT EXCEEDED RECORD LENGTH due
VMACDB2H       to a truncated DB2 Data Sharing Header, with only four
               bytes and an invalid QWHSLEN (1439 decimal), printing an
               incorrect message that APAR PM32425 was needed.  Using
               the current EXITCICS solved the truncation, but MXG now
               detects this truncation with a revised error message and
               prevents the STOPOVER ABEND.
   Thanks to Michael Toole, AAA Michigan, USA.

Change 31.122  Long variable names caused 49, 388, and "quoted string"
VMXGSRCH       errors.  The string length was insufficient but now is
Jun 23, 2013   increased to 72 which will support names up to 50 bytes
               (although SAS variable names have a 32 byte maximum).

Change 31.121  MXG Logic did not "unhex" CONDCODE for ABEND='COND=J' as
VMAC30         it does for USER and RETURN codes, causing the value to
Jun 23, 2013   be CONDCODE='000C', when it should be CONDOCD='0012'.
   Thanks to Robert Bardos, Next Stride AG, SWITZERLAND.

Change 31.120  Support for QESD segment added in MQ Series 7.1 adds
VMAC115        variables to MQMMSGS dataset:
Jun 22, 2013
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

Change 31.119 -Variables IPCSTIME and character TIMEZONE (CDT/EDT/etc.)
VMACNMON       are added to NMONBBBP dataset.
Jun 23, 2013  -New RECTYPE='DISKWAIT1' now supported correctly; this
Jul  1, 2013   update was NOT in MXG 31.04, but is in 31.05.
              -In adding support for DISKWAIT1 it was discovered that
               the PDB.NMONDISK dataset could be missing observations
               if there were more than 150 disk volumes on the system;
               NMON writes 150 disks per record, and spills more disks
               into the DISKxxxx1 tag, but MXG logic incorrectly used
               the count in the LAST tag, so in this case, there were
               150 disks in the first record, then 53 in the second, but
               MXG used that count of 53 and output only the FIRST 53.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 31.118  Support for new EDGR variables added to EDGRXEXT dataset
VMACEDGR       (COMPATIBLY) by z/OS 1.13:
Jun 22, 2013     RDCOMPRAT ='FILE*COMPRESSION*RATIO'
Jul 15, 2013     RDESB     ='EXPDT*SET BY*DATASET'
                 RDPHYSIZE ='ACTUAL*DATA ON*TAPE*AFTER'
                 RDUCDATE  ='DATASET*LAST*USER*CHANGE*DATE'
                 RDUCTIME  ='DATASET*LAST*USER*CHANGE*TIME'
                 RDVEX     ='VRSEL*EXCLUDE?'
                 RVCOMPRAT ='VOLUME*COMPRESSION*RATIO'
                 RVESB     ='EXPDT*SET BY*VOLUME'
                 RVHOLD    ='VOLUME*HOLD?'
                 RVPHYSUSED='ACTUAL*SPACE*AFTER*COMPACTION'
                 RVRETMET  ='RETENTION*METHOD'
                 RVRMSB    ='RETENTION*METHOD*SET BY'
                 RVUCDATE  ='VOLUME*LAST*USER*CHANGE*DATE'
                 RVUCTIME  ='VOLUME*LAST*USER*CHANGE*TIME'

   Thanks to Clayton Buck, UNIGROUP, USA.

Change 31.117  DB2 V10.  All QLSTxxxx numerics (in DB2STATR,DB2STATS)
VMACDB2        are wrong.  IBM inserted QLSTPRID in the second iteration
Jun 20, 2013   of DB2 V10 right after QLSTLOCN, but I missed that change
               so all subsequent variables were misaligned by 8 bytes.
               My thanks to DB2 Support at Computer Associates whose
               reports were correct and were used to correct my error.
   Thanks to Paul Walters, Navy Federal Credit Union, USA.

Change 31.116  TYPETPMX variable JOBNUM was truncated from the left when
VMACTPMX       it was 6 digits long; an INPUT JOBNUM $VARYING7. is
Jun 20, 2013   (pretty obviously) needed for seven digits.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 31.115 -Reading COMPRESSED DB2 SMF 102 records using the internal
READDB2        SAS-code decompression algorithm set SUBTYPE=0 instead of
VMACSMF        storing the IFCID in SUBTYPE.  If you used %READDB2 and
Jun 19, 2013   listed any numerics in IFCIDS= argument, NO OBSERVATIONS
               were created in those T102Snnn datasets, because READDB2
               incorrectly tested SUBTYPE instead of QWHSIID.
                 Note: If you use the EXITCICS SAS INFILE EXIT on z/OS
                 to decompress DB2 records as they are read, or if you
                 use IBM PGM=DSNTSMFD on z/OS to decompress before you
                 read them, the SUBTYPE value is correctly set to the
                 IFCID, which is why the SUBTYPE test usually worked!
               Now, QWHSIID is tested in READDB2 to correct this error.
              -Because IBM DB2 does not populate the IFCID value into
               the SMF Header SUBTYPE Field, MXG logic in VMACSMF gets
               IFCID from the DB2 Product Segment to put into SUBTYPE,
               when the data is uncompressed or the CICSIFUE is used,
               but with the internal MXGDECOM, the record has not yet
               been decompressed when the SMF header is processed, so
               the offset to the Product Segment is wrong and the IFCID
               cannot be INPUT, and SUBTYPE is zero (except for IFCIDs
               105,106,196,258 and maybe others that aren't compressed).
               and so ANALID reports 102.000 for those IFCIDs that can't
               be known due to comressed records with MXGDECOM.
              -After Change 32.175, the DB2 Subsystem is ALWAYS decoded
               in the SMF Header Processing; the SMF SUBSYS field is the
               DB2 Subsystem, but that was not realized in 31.115.
               This Change Text was revised AFTER CHANGE 32.175.
              -However, with compressed records and the internal decomp,
               the DB2 version will be blank, since that, like IFCID, is
               only in the product segment.
              -The UTILGETM/VMXGGETM utility to extracts records of each
               ID and Subtype to create the SMFSMALL dataset or report
               on SMF record counts will also lump all those ID=102
               IFCIDs as SUBTYPE=0 with compressed/internal.
              -EXITCICS and DSNTSMFD are members in MXG Source Library.
              -VMACSMF was revised to bypass reading the Product Segment
               with compressed data and the internal code is used.
   Thanks to Paul Walters, Navy Federal Credit Union, USA.

====== Changes thru 31.114 were in MXG 31.03 dated Jun 17, 2013=========

Change 31.114  SMF70NCA, PERCENT*WHEN*CAPPING*DELAYED*WORK is added to
VMXG70PR       ASUM70PR ASUM70LP ASUMCEC  ASUMCELP datasets, and the
Jun 17, 2013   maximum Group MAX70NCA is added to ASUM70GL.
   Thanks to Helene BARDON, Silica Production Information, FRANCE.

Change 31.113  Discovered during QA. TRNDing RMFINTRV created workload
VMXGRMFI       variables in TRNDRMFI/MNTHRMFI datasets with suffixes TRN
Jun 17, 2013   RSP SWP for TSO1/TSO2/TSO3 that should not have been
               created nor kept, as the actual TSOn TRAN RESP SWAP were
               created.  Because of the original 8-byte variable name
               restriction, and because you can specify Workload prefix
               with five characters, the OTHER multi-period workload
               variable names ARE suffixed with TRN RSP and SWP, which
               is a regrettable inconsistency in MXG names that we'll
               have to live with.  Also, workload variables that are
               used only for normalizing (suffix CNT) are not kept.

Change 31.112   MXG support for ODS graphics executes PROC TEMPLATE when
FORMATS         FORMATS is run (during install of a new MXG Version) and
GRAFWRKX        the MXGSTYL1 style is stored in the //LIBRARY DD/LIBNAME
MXGSTYL1        and VMXGINIT adds LIBRARY to the ODS Path so that style,
VMXGINIT        used initially in GRAFWRKX, can be retrieved and used.
Jun 16, 2013    GRAFWRKX comments show how to use the ODS graphics code.

Change 31.111  -RMF III Enhancements and Notes
ASMRMFV        -RMF III SVP (Service Policy) tables over 32K in length
SENDVSAM        are now supported.  Prior versions of ASMRMFV would skip
VMACRMFV        the entire SVP table if it exceeded 32K because that was
Jun 15, 2013    beyond the maximum output LRECL possible.  Now when
                needed this table is segmented and output to RMFBSAM as
                several records.  This was a long standing documented
                ASMRMFV program restriction that is now lifted.  This is
                the last RMF Monitor III table that had a size support
                restriction.  Users with Service Policies less than or
                equal to 32K in size will have a single SVP record
                output to RMFBSAM as before.
               -VMACRMFV has been upgraded to accept segmented SVP table
                records when present as input in the RMFBSAM file; these
                variables are now RETAINed from the header and are kept
                in ZRBSVPC ZRBSVPG ZRBSVPR ZRBSVPW ZRBSVPZ datasets:
                   SVPDSP   SVPIDD   SVPIDN   SVPIDU   SVPIPU
                   SVPNSP   SVPSNA   SVPTDI   SVPTIB   SVPTPA
               -Note: Users most likely to be affected by this change
                are those with large number of Service Classes and/or
                Report Classes in their WLM Service Policy.  Their
                ZRBSVPP, ZRBSVPW, ZRBSVPC, ZRBSVPZ, ZRBSVPR, and ZRBSVPG
                data sets will now be populated in the RMF III PDB if
                the SVP table is selected in ASMRMFV processing.
               -When the POLICY parameter is in effect (NOPOLICY is the
                default), a second RMFV024I message will now appear in
                ASMRMFV SYSPRINT showing the Name and Description of the
                Service Definition.  This is in addition to the Name and
                Description of the Service Policy already displayed.
               -Also when the POLICY parameter is in effect, the
                RMFV027I message in ASMRMFV SYSPRINT will now display
                the total length of the SVP table.  When this value
                exceeds 32760 then the RMFBSAM output will be segmented
                into several records instead of a single record to avoid
                skipping the table.  The segmentation behavior occurs
                regardless of whether POLICY or NOPOLICY is in effect.
               -The Service Policy itself is now counted as an entry in
                the ENTRIES COUNT column for SVP tables.  This is added
                to the total number of Workloads, Service Classes,
                Service Class Periods, Report Classes, and Resource
                Groups defined in the Service Policy already included in
                that value.
               -ASMRMFV prologue source documentation has been updated
                to remove documentation on the skipping of the SVP table
                if greater than 32K in size.
               -Minor corrections made to SENDVSAM sample JCL member
                used to send RMF III VSAM file to MXG support.
               -REQUIREMENT: In order to receive these improvements the
                current ASMRMFV utility program from this MXG change
                must be installed.  See MXG SOURCLIB member JCLASM3 for
                sample JCL for the assembly and link-edit install steps.
     Thanks to Warren Cravey, FMR Corporation, USA

Change 31.110  CICS/TS 5.1 only, MNSEGCL=5 (RESOURCE class FILE segment)
VMAC110        ID=110 Subtype 1 INPUT STATEMENT EXCEEDED RECORD LENGTH
Jun 13, 2013   because 16 bytes were inserted but not protected in MXG.
               New variables
                  FCFIXCTM='FILE*EXCLUSIVE WAIT*DURATION'
                  FCFIXCCN='FILE*EXCLUSIVE WAIT*COUNT'
                  FCFIVSTM='FILE*VSAM STRING*WAIT*DURATION'
                  FCFIVSCN='FILE*VSAM STRING*WAIT*COUNT'
               are now created in CICSRDFI.  Fortunately (for ME!), only
               leading edge CICS sites have enabled the RESOURCE class
               segments, so the exposure is (hopefully) small for most.
   Thanks to Tom Buie, Southern California Edison, USA.

Change 31.109  Documentation only, to create an uncompressed record for
VMAC110        technical support.  The comment block is revised to show
Jun 11, 2013   how to print a hex dump of a single uncompressed record.

Change 31.108  DB2STAT1 variables QXSTCWLP/QXSTCW?R/QXSTCWLM/QXSTCWLD
VMACDB2        were not deaccumulated, were incorrectly kept in DB2STAT0
Jun  7, 2013   and QISTWMXU should not have been deaccumulated.  Real
               data with non-zero variables is required to validate if
               fields are accumulated or not; the DSECTS are frequently
               insufficient to clearly identify field contents.
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.

Change 31.107  These TYPE120 variables are now correctly labeled:
VMAC120           SM1209DD='ENCLAVE*ZIIP*ELIGIBLE*ON CP*CPU TIME'
Jun  7, 2013      SM1209DE='ENCLAVE*ZIIP*ELIGIBLE*CPU TIME'
                  SM1209DF='ENCLAVE*ZIIP*TIME*ON ZIIP'
   Thanks to Mark Wittie, Fidelity Investments, USA.,

Change 31.106 -Variable TYPETASK in dataset TYPE6 was inconsistent for
VGETJESN       PSF and Printway records, and did not identify Printway
VMAC6          Basic from Extended mode.  Now, TYPETASK and SUBSYS6 will
BUILD005       contain 'PSF ' for PSF, and 'TCP ' for Printway Basic or
BUIL3005       'TCPE' for Printway Extended format records.
Jun  4, 2013  -BUILDPDB logic revised so these TYPE6 TYPETASK values are
May 14, 2014   NOT accidentally used for PDB.JOBS.  HOWEVER: this can
               cause TYPETASK to be blank in PDB.JOBS for any job for
               which ONLY the PRINT record was found. And that will not
               likely happen in full BUILDPDB production with the SPIN
               library populated.  It is when you have not populated the
               SPIN library, and read "today's" SMF, it will have those
               type 6 record for jobs that executed prior to today, and
               that is the primary source of jobs with only TYPE6 obs.
               Once you've populated the SPIN library, there should be
               very few cases of only a type 6 record so TYPETASK should
               normally be populated in production BUILDPDBs
               This paragraph revised May 14, 2014.
              -IP PrintWay fills in the page count (variable PAGECNT,
               SMF6PGE) when it uses the direct sockets protocol to send
               data to the printer and ONLY IF "Record pages printed for
               accounting" option is selected in the Printer Inventory.
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
   Thanks to Jeff Fracas, WIPRO, USA.

Change 31.105  ASMTAPEE ML-51 update corrects MXGC010E error message.
ASMTAPEE       Note that if the HSC exit is not installed, STKX=NO must
Jun  1, 2013   be specified as a PARM when ASMTAPEE is executed.
                //MXGTMNT  EXEC  PGM=MXGTMNT,PARM='STKX=NO'
   Thanks to Scott Barry, SBBworks, Inc., USA.

Change 31.104  Change 30.250 was incorrectly made in ANALCAPD.  The code
ANALCAPD       should have had PDB=&PDBMXG, in the Macro Definition, but
ANAL72GO       this discovery caused examination and correction of these
ANALAVAI       other members.  Many cases of lower case variable names
ANALBLSR       were upper cased for consistency.
ANALCISH
ANALDB2R
ANALDBTR
ANALDMON
ANALNPMR
ANALRAID
ANALWHO
May 31, 2013
   Thanks to Randy Shumate, Reed-Elsevier, USA.

Change 31.103  Variable QACCN is now kept in TMMQQAA dataset.
VMACTMMQ
May 30, 2013
   Thanks to Homayoun Riazi, UHC, USA.

Change 31.102  IMS 13 inserted new DLRAZAAP field in the 07 Log Record
VMACIMS        nearly at the front, that was overlooked, and caused all
VMACIMSA       subsequent variables to be invalid, but error messages of
May 28, 2013   invalid data were only rarely printed.
   Thanks to Daniel Erikols, Handelsbanken, SWEDEN.

Change 31.101  PDB.JOBS new variables HICPUPGM and HICPUPCT were wrong,
BUILD005       as the job-level values were taken incorrectly from the
BUIL3005       last step.  They are now populated from the TYPE30_5 job
May 23, 2013   record, (using SPIN30_5 names HICPUPG5/HICPUPC5 because
               they come from multiple records).  With this change,
               HICPUPCT is the maximum value of any step or interval
               record, and HICPUPGM is the corresponding program that
               recorded that HICPUPCT.
                 Note:  These variables were one of the last of the late
                 Bernie Pierce's implementations, and they exist so that
                 IBM might be able identify single threaded programs.
                 With all processor vendors acknowledging that processor
                 speed is now limited by physics, and unlikely to be
                 increased significantly, applications that are single
                 threaded need to be identified for possible revision so
                 they don't become bottlenecks in the future, and these
                 variables provide a POSSIBLE candidate identification.
                 addition.  Many IBM customers provided data, and I was
                 contacted because the MXG program, ASMRMFV, was flagged
                 as likely single-threaded, and it is!  That program
                 decompresses the RMF III monitor data, and we had
                 previously examined with STROBE, which reported that
                 96% of the CPU time was inside the IBM-provided code
                 ERB3RDEC that does the decompression, which kicked this
                 ball back in to IBM field of play!
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 31.100  Member ASUMUOW executed twice because lines 214 following
ASUMUOW        were duplicates of the first 214 lines, in MXG 30.06 thru
May 23, 2013   MXG 31.02.
   Thanks to Mike George, Northern Territory Government, AUSTRALIA.

Change 31.099  Unused Change Number

Change 31.098  Support for local CICS variables TUXTRAP and UMBPROG.
IMACICV3
IMACICV4
UTILEXCL
VMAC110
May 22, 2013
   Thanks to Jim Polleti, Edward Jones, USA.

Change 31.097 -CICS Statistics SMF ID=110 subtypes 2-5 contain multiple
VMAC110        segments per record, each identified by its "STID" value,
May 14, 2013   which controls which dataset is output, but MXG didn't
               identify which SUBTYPEs had which STIDS to create which
               datasets.  These comments in VMAC110 are updated to list
               CICS Statistics Subtypes 3-5 that contain STIDs 121-129:

            CICS RECORD SUBTYPES AND CORRESPONDING MXG DATASETS CREATED:
             0=JOURNAL SEGMENT
                          CICSJOUR (DEFAULT IF UNKNOWN JOURNAL).
                          CICSSAP  (IF IMACICSA ENABLED FOR SAP).
                          CICSSMED (IF IMACICSM ENABLED FOR SHAREDMED).
             1=MONITOR/TRANSACTION
               MNSEGCL=1    DICTIONARY RECORD: CICSDICT ONLY IN UTILEXCL
               MNSEGCL=2    CICSACCT  (ZERO OBS ALWAYS, WAS PRE ESA)
               MNSEGCL=3    PERFORMANCE CLASS: CICSBAD, CICSTRAN
               MNSEGCL=4    EXCEPTION:   CICSEXCE
               MNSEGCL=5    RESOURCE:    CICSRDS,CICSRDFI,CICSRDQU
               MNSEGCL=6    IDENTITY:    CICSIDNT,CICSIDND
             2=STATISTICS: ALL OTHER STIDS, ALL OTHER CICXXXXX DATASETS
             3=TS DATA SHARING STATS:    CICXQ1,CICXQ2,CICXQ3
                               STID:       121    122    123
             4=CF DATA TABLE STATS:      CICFS6D,CICSF7D,CICFS8D,CICFS9D
                               STID:       126     127     128     129
             5=NAMED COUNTER STATS:      CICNS4D,CICNS5D
                               STID:       124     125
              -TYPE110 processing always examines subtypes 2-5 for all
               possible STIDs, which control which dataset is output,
               but the example in comments in CICINTRV to build from raw
               SMF selected only subtype 2 in its IMACFILE tailoring, so
               that example would not populate those nine datasets. That
               example now selects SUBTYPE GE 2.
   Thanks to Richard Schwartz, IBM Global Services, USA.

Change 31.096  Example summarizes ENTIREX data to 15 minute intervals.
ASUMENTX
May 11, 2013

Change 31.095  Variable CA_XIIS  /* GET CACHE DATA ACCESS XI'S */ now
ANALRMFR       includes R744CXFW /* XI WRITE */ to match IBM RMF report.
May 11, 2013
   Thanks to Marvin Silverman, ???, USA.

Change 31.094  BUILDPDB/BUILDPD3 enhancement: create your own accounting
BUILD005       variables for PDB.JOBS/PDB.STEPS/PDB.SMFINTRV, especially
BUIL3005       useful when converting from MICS to MXG.  While IMACACCT
EXPDBACC       allows you to create account variables, and the _KTY30Ux
VMXGINIT       tailoring macros, placed in member IMACKEEP, will add
May 11, 2013   them to the TYPE30xx datasets, this new EXPDBACC exit
               lets you create additional account variables for BUILDPDB
               and, similar to other PDB "ADDxxxx" macro variables, use
                 %LET ADDACCT= ACCTBITS ACCTNo1-ACCTNo5;
               and your new variables will be kept in the PDB datasets.
   Thanks to Randall Schlueter, First Data, USA.

Change 31.093 -The DB2 "INVALID" IFCID=369 ID=100 SUBTYPE=5 DB2STAT5 SMF
CLEARDB2       record, cited and purportedly protected by Change 31.088,
READDB2        is more accurately described (in fairness to IBM DB2) as
VMACDB2        "UNDOCUMENTED" or "UNEXPECTED", but not INVALID, although
May 14, 2013   it caused MXG to take a floating point exception or INPUT
               STATEMENT EXCEEDED error that ABENDED the JOB. (Older MXG
               Versions print the 'CALL HOME" message 1440 times per DB2
               Subsystem, but fortunately, with no actual impact on the
               other existing DB2 datasets).

               The UNEXPECTED subtype 5 record is now diagnosed as a
               startup record, written when IFCID 0369 is enabled, and
               it contains only two segments (PROD and OFF3691), with
               only QW0369ST (enabled datetimestamp) populated, so MXG
               sets QW0369CN='ENABLED' (or, for a record with QW0369SP
               populated, MXG sets QW0369CN='DISABLED').  Since DB2STAT5
               is a per-connection-type statistics, I presumed all five
               segments would be present, but now test for QWHSNSDA=2 to
               identify this record.

               There was one record written with impossible DB2TCBTM of
               152 minutes for a 1 minute interval for BATCH connection,
               not possible, but the peak sum of DB2TCBTM recorded 38
               minutes on a machine with XX CP engines.

               Support for Subtype 5 was not in the original 31.02; it
               was at least 5 minutes after I posted the GA announcement
               before Joe Babcock sent me the CALL HOME message about
               the new DB2 subtype, and Change 31.081 updated VMACDB2 to
               create DB2STAT5, since it tested fine with a day's data
                (other than the separate internal invalid data issue)
               and because, without that updated VMACDB2, there would be
               1440 "CALL HOME" log messages per DB2 subsystem printed
               each day  While in no way impacting the actual execution,
               those messages can ONLY waste user's time in asking about
               them, so the updated VMACDB2 at 31.081 was moved into the
               redated MXG 31.02 on May 5.  Unfortunately, by then, the
               short record had been found, Change 31.088 detected and
               protected, but the VMACDB2 in 31.02 of May 5 was still at
               Change 31.081.  This change, now does recognize and read
               and output these records to DB2STAT5 without error.
              -READDB2 is updated to create DB2STAT5 when STATISTICS or
               IFCID=369 is requested.  DB2STAT5 is NOT combined into
               DB2STATS because STAT5 is per connection-type metrics.
              -CLEARDB2 is updated to add DB2ST5 tokens to be redefined.

Change 31.092  Reserved Change Number.
May  8, 2013

Change 31.091  Instructions for updating IMACSMFF to add the description
FORMATS        for user SMF records for the ANALID report and SMFRECNT
May  7, 2013   dataset didn't state that the syntax that is required is
               'III.SSS' (III=ID with SSS=SUBTYPE) if the record has the
               a subtype in the SMF header, or 'III.000' if not.

Change 31.090  Default LENUSRCH=32 was left behind from debugging that
IMACICUS       should be LENUSRCH=0; this could cause EXCLUDED field
May  7, 2013   error messages even though you had tailored IMACEXCL.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 31.089  Installation JCL example had inconsistent DSNAMEs for the
JCLINSTT       TERSED dataset.
May  7, 2013
   Thanks to Donald Williams, UNC Health Care, USA.

====== Changes thru 31.088 were in MXG 31.02 dated May  5, 2013=========

Change 31.088  New DB2 V10 ID=100 SUBTYPE=5 DB2STAT5 INPUT EXCEEDED
VMACDB2        error because of an UNDOCUMENTED short record with only
May  4, 2013   two segments.  See Change 31.093 for the correction.
               The original May 4 change to VMACDB2 detected and deleted
               records with large OFF3692 offset values.  The DB2STAT5
               data is the DB2 IFCID=0369 and must be enabled to create
               the exposure.  See Change 31.093.

Change 31.087  MXG 31.02. Debugging PROC PRINT of DATA=MGTMSVL was left
TYPETMS5       after it helped diagnose Change 31.078.  Now removed, but
May  4, 2013   it could create a massive print output dataset.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 31.086 -SMF Audit Report Enhanced for DB2 SMF to report if the
ANALID         ACCUMAC ZPARM option was enabled (NON-ZERO VALUE combines
VMACID         multiple 101-1 records into one Rollup record with all
VMACSMF        detail summarized).  Variable DB2PARTY='R' in DB2ACCT
May  4, 2013   flags the summary records, which can be confusing if you
Jun 26, 2013   do not know what to look for, and ACCUMAC=10 is default.
               A column is added and new FOOTNOTE2 explains.  Note that
               if ACCUMAC is on and off, statistics for both conditions
               are reported.
              -CICS 110.2 records are never compressed but MXG didn't
               select only subtype 1 records, so the report could have
               incorrectly indicated compressed for subtype 2 records.
              -Jun 26, 2013: Comments revised in IMACSMFF.

Change 31.085  Format $MGCICDS for SMF/SMT/SMS CICS Statistics values
FORMATS        11/12/13x are now replaced in CICS/TS 5.1:
May  3, 2013     '11'X='11X:GCDSA'  /* WAS ESDSA PRE 5.1.0 */
                 '12'X='12X:GUDSA'  /* WAS ERDSA PRE 5.1.0 */
                 '13'X='13X:GSDSA'  /* WAS ETDSA PRE 5.1.0 */
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 31.084  MXG 31.02, RMF III INPUT STATEMENT EXCEEDED if an LPAR
VMACRMFV       had no engines; the SKIP logic to skip the nonexistent
May  3, 2013   segments was incorrect with unexpected zero engines.
   Thanks to James Sterling, DST Systems, USA.

Change 31.083  Reserved Change Number.
May 10, 2013

Change 31.082 -ASCII only. Character variable SMFDSAIN with $HEX format
VMAC110        must be input as $CHAR instead of $EBCDIC when MXG runs
Apr 30, 2013   on ASCII.  Two of three incorrect instances corrected.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
   Thanks to Glen Bowman, Wakefern Food Corp.

Change 31.081  Support for DB2 V10 ID=100 SUBTYPE 5 Statistics Record,
EXDB2ST5       IFCID=369, created when you enable that trace record, now
IMACDB2        creates new DB2STAT5 dataset with LOTS of CPU and WAIT
VMACDB2        times (ALL QBAC and QWAX variables) by connection type,
VMXGINIT       with these connection types defined:
Apr 30, 2013      MASS    -  IMS attach
                  SASS    -  CICS attach
                  RRSAF   -  RRSAF attach
                  UTILITY -  Utility
                  BATCH   -  Batch
                  DIST    -  DDF connection
               From IBM:
                 1.Statistics collection will become enabled when both
                   IFCID 369 and IFCID 3 is enabled on the system.
                 2.All counters will be reset to zeroes when DB2 is
                   restarted
                 3.Statistics are aggregated by connection type. If no
                   agents for that connection type have executed since
                   the 369 collection in enabled, no data will be
                   externalized for that connection type.
                 4.QWACPCNT indicates the number of transactions
                   aggregated for a given connection type.
               The MXG -  ERROR: UNEXPECTED DB2 SUBTYPE. CALL HOME.
               shows how long ago this code to detect new subtypes was
               added to MXG: BEFORE THERE WAS AN INTERNET!  The message
               now references SUPPORT@MXG.COM.

               There is no direct impact on ITRM by the creation of the
               new DB2STAT5 dataset.  When DB2STAT4/DB2ST225 datasets
               were created MXG did impact ITRM, with NOT SORTED errors
               (that were immediately corrected with a one line insert),
               but that was because those datasets were merged into the
               PDB.DB2STATS where sorts had to match; this new DB2STAT5
               dataset is NOT combined into the interval PDB.DB2STATS,
               at least not yet and not until it's errors are fixed,
               because it is a per-connection-type-per interval dataset.
               See Change 31.093.

               Sep 2014 Note: If you have tailored TYPEDB2/TYPSDB2 code,
               you will have to modify your code to create the DB2STAT5
               dataset.  If you uses _NDB2 to null all datasets, then
               you will need to add MACRO _WDB2ST5 DB2STAT5 %  so that
               that dataset is created.  Otherwise, you will get
                 ERROR: No data set open to look up variables
               printed before
                 "The data set WORK.ZZDB2ST5 may be incomplete/"
   Thanks to Joe Babcock, JPM Chase, USA.
   Thanks to John Hornor, JPM Chase, USA.

Change 31.080 -RMF III Enhancements, Fixes, and Notes
ASMRMFV       -Change 31.021 increased the number of ENC table triplets
May 28, 2013   processed from 1 up to 6.  However, later analysis of
               data from several installations confirmed that triplets
               2-6 all have zero token values for every enclave and no
               identification information.  Therefore, processing is
               reverting back to only processing the first triplet as
               before.
              -Note: Users who have implemented change 31.021 or 31.062
               will see the number of observations in the ZRBENC dataset
               significantly reduced with this change.
              -Validity checking for most RMF Monitor III tables has
               improved.  This is intended to detect malformed RMF III
               tables that could cause abends or bad data in the PDB
               build later.  For example, table headers cannot have a
               zero or excessive length.  However, users should not see
               a general increase in skipped records.  Table skipping
               should be a rare event.
              -ASMRMFV was inconsistent in handling tables with entry
               counts of zero.  Most tables with this condition were
               already ignored with no output to any file.  However, for
               some tables the header only was output.  Now all such
               tables are ignored by default.
              -Note: RMF Monitor III table headers only contain control
               information such as header length, total record length,
               and the number of entries, entry length, and table offset
               for triplet groups.  So there is no loss of useful
               analysis data by excluding headers only from the RMFBSAM
               file.  It is the entries themselves that contain relevant
               information for reporting.
              -Because headers only for tables with zero entries are no
               longer output, the ZEROENC/NOZEROENC parameters (and
               their aliases) for ENC table processing are now OBSOLETE.
               If coded they will be accepted without error, but will be
               ignored.
              -ZEROENC/NOZEROENC will no longer be displayed in filters
               message RMFV006I.
              -New parameters SKIPTAB/NOSKIPTAB are now supported.
               NOSKIPTAB is the default and says to ignore any tables
               with zero entries.  This is the behavior of prior ASMRMFV
               versions.  SKIPTAB says to output these as skipped
               records.  SKIPTAB is intended for possible diagnostic use
               only and the default NOSKIPTAB should be adequate for all
               users.
              -Note: SKIPTAB/NOSKIPTAB applies only to the following RMF
               Monitor III tables: ASI, CFI, CPD, CSR, DVT, ENC, ENT,
               OPD, SPG.
              -When the POLICY option (alias POL) is in effect a second
               RMFV027I message will now be produced showing the SRM
               coefficients for CPU, IOC, MSO, and SRB for that Service
               Policy.
              -Error message RMFV007S had incorrect values for DDNAME
               and Reason Code when a BLDVRP failure occurred.
              -ASMRMFV prologue source documentation has been updated
               for the new SKIPTAB/NOSKIPTAB parameters, the obsolete
               ZEROENC/NOZEROENC parameters, and has more information on
               the checks used to determine skipped records.
              -REQUIREMENT: In order to receive these improvements the
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.
               There are NO CHANGES to VMACRMFV for this enhancement.
     Thanks to Rodger Foreman, Trans Union, USA

====== Changes thru 31.079 were in MXG 31.02 dated Apr 29, 2013=========

Change 31.079  Dataset TYPE42 variables  S42CCSST S42CCEIT S42CCSET
VMAC42         were on GMT rather than local, and there is no GMT offset
Apr 26, 2013   in that subtype, but SMFTIME was used to derive and use
               the offset to convert those datetimes to local zone.
               This caused me to examine and find that all of the TYPE42
               datasets with STARTIME and ENDTIME also had GMT values,
               but these datasets were corrected in this change:
                 42D1 42D2 42D3 42D4 42EX 42L1 42L2 42S1 42S2 42S3
                 42S4 42SR 42VT 42X1 42X2 42X3 42X4.
               Either no one uses these datasets, or they recognized the
               SMFTIME was local and could visually convert!
   Thanks to Paul Naddeo, Fiserv, USA.
   Thanks to Edward Petka, Fiserv, USA.

Change 31.078  PROC FORMAT failed with "FORMAT NAME $MGTMSVL" IS INVALID
VMACTMS5       that was NOT repeatable here with either z/OS or Windows,
ANAL30         because this was an NLSCOMPATMODE issue for non-US site.
ANALCPUV       The $ is a variant character and was the culprit, but it
ANALDB2P       turns out that the $ is NOT required in the FORMAT NAME,
ANALZPCR       since the PROC FORMAT sets the CHAR/NUM nature, so all of
GRAFLPAR       the PROC FORMATS that create 'on the fly' formats were
TIMEBILD       revised to remove the $ character from variable FMTNAME.
TRNDTALO       NOTE: ALL NLS ISSUES ARE ELIMINATED IF YOU USE THE NEW
VFMT102           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
VFMT102        documented in Change 27.356 and recommended in INSTALL,
Apr 26, 2013   or if CONFIGN9 (instead of CONFIGV9) is used in your site
               MXGSASV9 JCL, as CONFIGN9 does NOT change the site's
               NLSCOMPATMODE option value.
   Thanks to Frank Lund, Evry AS, NORWAY.
   Thanks to Rich Anderson, SAS Technical Support, USA.

Change 31.077  z/VM 6.2 PRCMFC 5.13  (SMF 113-like) record has 384 extra
VMACVMXA       bytes added that exposed BROKEN CONTROL RECORD ERROR, due
Apr 27, 2013   to MXG code (1664 bytes read for the 208 counters, but
               1728 subtracted).  No new counters exist (yet?) in z/OS
               SMF 113 so these new bytes are (presumably) for the
               future, but I will confirm with IBM VM support and update
               this note if there is another explanation.
   Thanks to David J. Schumann, BCBS of Minnesota, USA.

Change 31.076  Support for USER CICS fields INFRASTR CSGNTAIP FDRTRRCP
IMACICUY       and FDRICPTI.
IMACICUZ
IMACICV1
IMACICV2
UTILEXCL
VMAC110
Apr 25, 2013
   Thanks to Mayer Rosenthal, WIPRO, USA.
   Thanks to Jeff Fracas, WIPRO, USA.

Change 31.075  ASCII execution only.  Variables RTYPE and RRTYPE were
VMAC110        incorrectly input as $CHAR instead of $EBCDIC in current
Apr 23, 2013   CICS versions' code.  Older versions were correct.
               And there was NO error if you used UTILEXCL to create a
               tailored IMACEXCL; that code did use $EBCDIC.
   Thanks to Erling Andersen, SMTDATA, DENMARK.

Change 31.074  Dataset ZRBLCP had incorrect values for these variables
VMACRMFV        LCPUPOLR LCPUCHIN LCPUCHIX due to misaligned INPUT.
Apr 23, 2013
   Thanks to Sterling James, DST Systems, USA.

Change 31.073  Variable TYPETASK added to ASUMSMFI and TRNDSMFI
ASUMSMFI       datasets.
TRNDSMFI
Apr 28, 2013
   Thanks to Frank Lund, Evry AS, NORWAY.

Change 31.072  Format MG0748L decodes variable R748LTYP; new value for
FORMATS        16 GB/S Link Type is now decoded.
Apr 23, 2013
   Thanks to "Bustia REPORTING", La CAIXA, SPAIN.

Change 31.071  Cosmetic.  PAGEBY SYSTEM added so each system starts on a
ANALID         new page.
Apr 23, 2013
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.

Change 31.070  PMSTA01 Report. Cosmetic.  If DB2STATS had only one obs,
ANALDB2R       and always for the last observation, page headers for
Apr 19, 2013   the report were suppressed.

Change 31.069  Reserved Change Number.
Apr 28, 2013

Change 31.068  See Change 31.018. This is IDMS EXIT code, contributed by
ADOCIDMP       Blake Leggett, Pace Applied Technology, that creates the
ASMIDMPA       SMF records with IDMS resources that are processed with
ASMIDMPJ       TYPEIDMP/TYPSIDMP MXG programs.
ASMIDMPS      -See ADOCIDMP for details for installing the exit.
ASMIDMPU      -The assembly source members for the Account Information
JCLIDMPA       exit, Journal Exit, Task Statistics Exit, and User Exit
JCLIDMPJ       for IDMS are now included.
JCLIDMPS      -Sample JCL members for these exits are provided with
JCLIDMPU       documentation on what each exit does and how to install
Apr 13, 2013   them.
              -NOTE: Some tailoring of the sample JCL is required for
               data set names particular to the user installation.
              -NOTE: These exits are intended for use with IDMS V12.0
               and up.
    Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.

Change 31.067  A new way to map DBID/OBID to their database and object
ANALDB2R       names by first using JCLSQLID to extract those names at
JCLSQLID       a point-in-time, from SYSIBM.SYSTABLESPACE which has the
VFMT102        complete mappings, rather than reading 105/107 IFCIDS
Apr 13, 2013   that has been problematic, and then the POINTIME= option
               added in ANALDB2R POINTINTIME= can be used to read that
               dataset created by JCLSQLID:
                -POINTINTIME=YES reads JCLSQLID output from a static
                  //OBID DD DSNAME= you provide.
                -POINTINTIME=DSNAME allocates DSNAME to FILENAME OBID
                  and reads that file of JCLSQLID output.
                -POINTINTIME=NO reverts to the prior technique using the
                  IFCID 105/107 records, but neither technique is 100%
                  perfect as mappings can be changed after the snapshot
                  was taken.  This method has been more complete in
                  mapping.

Change 31.066  Support for z/OS 2.1.
VMAC7072      -Up to 256 engines are supported, but no new variables are
Apr 12, 2013   kept in TYPE70.  Individual engine data for all engines
               are output in TYPE70EN dataset.

Change 31.065  If there was no PDB in PDB= argument, ANALDBTR failed:
ANALDBTR       ERROR: NO BY STATEMENT USED OR NO BY VARIABLES EXISTED.
Apr 11, 2013   The substitution style macros all specify &PDBMXG as the
               input DD to be used in the sorts (that is the MXG default
               value) but ANALDBTR and ANALDB2R could be pointing at
               other DDNAMEs including WORK.  This change sets the value
               of &PDBMXG to the PDB= parameter that was specified when
               ANALDBTR is called, after storing the original value so
               it can be restored at the end of ANALDBTR.

Change 31.064  DSGI Data Set Graphics is not officially supported by SAS
ANALACTM       after SAS 9.3, but it does work in SAS 9.4, and it will
Apr 11, 2013   likely continue to execute in future releases, as it is
Jun 15, 2013   not actually being removed, but is no longer documented
               and is no longer supported if errors occur. With SAS 9.4
               this note is printed on the SAS log, but it still works:
                NOTE: DSGI will no longer be supported after SAS 9.3.
               Also, option CHART=NONE will suppress the DSGI code.
               And, the Graphic portion of the report does require that
               you have SAS/GRAPH - that code automatically skipped if
               we see that you do NOT have SAS/GRAPH, but the formatted
               hierarchical report of your WLM policy is still created.

Change 31.063  Cosmetic.  Page spacing for Header 2 was different than
ANALRMFR       Header 1; the extra // in Header 2 was removed.
Apr 10, 2013
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.

Change 31.062 -RMF III Enhancements and Notes
ASMRMFV       -The RMF Monitor III Processor Data Control Block (CPU)
VMACRMFV       and CPC Data Control Block (CPCDB) tables are now handled
Apr 11, 2013   as two distinct tables just as they are documented in the
               RMF Programmer's Guide.  Before they were logically
               handled as one table (CPU).
              -The CPCDB table will appear as a new table entry CPC in
               ASMRMFV RMFV105I messages.  Each LPAR entry is counted as
               an entry in the output.
              -Note: The CPU table generally contains physical processor
               data while the CPC table contains LPAR and logical
               processor data.  CPU table data is output to the ZRBCPU
               dataset while CPC table data is output to the ZRBLCP
               dataset by VMACRMFV.  The number and content of variables
               in those datasets is unchanged from prior releases with
               the exception of 2 minor variables CPUCPOFF and CPUTOTLN
               in the ZRBCPU file.
              -The CPU and new CPC table selection parameters in ASMRMFV
               are co-dependent because the tables are so closely
               related.  When one is selected, so is the other.  For
               example, the CPU parameter when coded also selects The
               CPC table.  Conversely, when one is deselected, so is the
               other.  For example, NOCPU when coded will also result in
               NOCPC.  Thus you do not need to alter any existing
               CPU/NOCPU parameter settings you may currently have to
               include or exclude the CPC.  The ALL parameter (default)
               also selects both tables.
              -When the CPC table is selected in ASMRMFV the LPAR and
               Logical Processor entries are now blocked up to use as
               much as possible of a 32K logical record.  The much
               shorter CPU table is unblocked.
              -ASMRMFV/VMACRMFV will now support up to 680 Logical
               Processors per LPAR (based on current section data
               lengths) before the entire CPC table is skipped.
              -VMACRMFV is updated to support the CPCDB table and
               blocking of its LPAR/Logical Processor sections.
              -ASMRMFV will now show the Average LRECL output for each
               RMF Monitor III table in detail and summary RMFV105I
               messages as a potential aid to sizing the RMFBSAM file.
              -Redundant code in ASMRMFV to skip various tables when
               invalid lengths or errors are encountered has been
               consolidated into a single internal subroutine.
              -ASMRMFV prologue source documentation has been updated on
               CPC/NOCPC parameters, the co-dependency with CPU/NOCPU
               parameters, and other items related to this change.
              -REQUIREMENT: In order to receive the performance benefits
               from CPC entry blocking the current ASMRMFV utility
               program from this MXG change must be installed.  See MXG
               SOURCLIB member JCLASM3 for sample JCL for the assembly
               and link-edit install steps.
              -Tutorial: This item has been mentioned before, but with
               the CPC table blocking the use of the EXZRBLCP exit is
               affected.  Your tailoring logic in EXdddddd dataset exits
               to control output of an MXG dataset needs this structure
               to always be safe:

                 IF something THEN DO;
                   OUTPUT _Wdddddd;
                 END;

               and can't use a DELETE, RETURN, nor "IF something;" logic
               because when "something" is true, they stop the read of
               this current record, skipping any un-read segments from
               being tested for "something".

               This consideration applies in particular to the
               following RMF III tables that have blocked input data to
               a PDB build and to their respective output exits:

               RMF III Table       Output Exit
               -------------       -----------
                   ASI              EXZRBASI
                   CPC              EXZRBLCP
                   CPD              EXZRBCPD
                   CSR              EXZRBCSR
                   DVT              EXZRBDVT
                   ENC              EXZRBENC
                   ENT              EXZRBENT
                   OPD              EXZRBOPD
                   RED              EXZRBRED
                   SHD              EXZRBSHD
                   SPG              EXZRBSPG
                   UWD              EXZRBUWD

Change 31.061  New MXGACC03 report uses ANALCNCR to create average and
ANALDB2R       maximum concurrent threads/DBATs for each chosen INTERVAL
Apr  4, 2013   for each Subsystem and AUTHID, tabulated by QWHCATYP, the
               Attachment Type (TSO,CICS,DDR...), with a tabular report.
               You can tailor using existing ANALDB2R report parameters
               to select data,  or all DB2ACCT data will be reported.

               BUT IT IS NOT POSSIBLE TO COUNT THREADS/DBATS WITH ROLLUP
               DB2PARTY='R' ACCUMAC DB2 Accounting Records.  If five
               one-second transactions ran sequentially from minute 1 to
               minute 6, their rollup record would report five minutes
               with QLACRLNU=5 concurrently active when there was one.
               We could calculate an average of 1 in this case, but if
               the first minute was a peak of 50 and there were then
               four minutes of 1, we would calculate an average of 11.
   Thanks to Paul Walters, Navy Federal Credit Union, USA.

Change 31.060  These CA-Dispatch variables that can be added to TYPE6
IMACCADI       and PDB.PRINT, CADIDPLX CADIJDEI CADIJDLI CADIATYP, were
VMAC6          all wrong and equal to CADIXFRM, variable CADIACCT now
Apr  4, 2013   has nulls converted to blanks, and new variable CADIJBID
               contains the JCTJOBID from the CADI segment in SMF 6.
   Thanks to Randy Schlueter, First Data Corporation, USA.

Change 31.059 -The System Parameter Report produced many pages, six
ANALDB2R       pages per subsystem per interval generated.  The report
Apr  3, 2013   did not anticipate an IFCID=106 record written every 15
               minutes.  Now, only the first observation for each
               subsystem, or the first record after a restart will be
               printed by PMSPR01=YES.
              -Cosmetic.  Page Number printing in DB2PM-like reports did
               not align when there were five digits of page number.
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.

Change 31.058 -The last NMON record, 'BBBP ENDING UPTIME' was not read
VMACNMON       but now it is read into variables BBBP0049-BBBP0056.
Mar 29, 2013  -Records SEA, SEAPACKET, DONATE are supported.
   Thanks to Lennon L. Merchant, Coca-Cola, USA.

Change 31.057 -When variable STARTIME was in SORTBY= argument, some of
ASUM4HRS       the xxxx_4HRS_AVG variables were zero or missing for the
ANAL4HRS       first four hours of each subsequent day.  Comments that
VGETFMT        tried to communicate "don't use STARTIME in SUMBY="
Mar 27, 2013    SORTBY- VARIABLES BY WHICH THE DATASET IS SORTED NOT
                        INCLUDING THE STARTIME (ASSUMED TO BE THE LAST
                        VARIABLE IN THE SORT)
               were revised to be clearer.
              -The prior requirement for the input data to be pre-sorted
               is removed; ASUM4HRS will do the sort in its processing.
              -ANAL4HRS was an accident from an early ASUM4HRS iteration
               that shouldn't have been kept; now it is only comments to
               use ASUM4HRS.
              -Argument NONOTES was not UPCASED and was not recognized
               when the argument was typed in low case, now corrected.
   Thanks to Michael Marcus, FUJITSU, USA.

Change 31.056  Variable THREADS was created only in ASUMDB2A and used in
ASUMDB2A       ANALDB2R, by setting THREADS=1 for each DB2ACCT obs, but
VMACDB2        for RollUp DB2PARTY='R' records, THREADS=QLACRLNU; is now
Mar 26, 2013   used to count the number of threads in each rollup.
               And variable THREADS is now similarly created in DB2ACCT.
   Thanks to Robb Hermes, Sentry Insurance, USA.

Change 31.055  Cosmetic.  Variable CIFROM is formatted $MGNDMNT and
VMACNDM        variable NDMNODET='FLAG1*FIELD' is formatted $HEX2. and
Mar 29, 2013   re-labeled correctly.
              -Variable NDMRTYPE now kept in NDMGO as multiple subtypes
               are output into that dataset.
   Thanks to Michael Oujesky, Bank of America, USA.

Change 31.054  Corrections for '1031' record to populate JOBNAME and
VMACPRPR       FIELDNAME.
Mar 24, 2013   Corrections for '1061' record, to use the original INPUT.
Apr 11, 2013   CUST_ACC changed to character variable as it must be.
   Thanks to Geert Debatselier, KBC, BELGIUM

Change 31.053  MXGWARN: QWACBSC IS NOT A VALID SORTBY VARIABLE is fixed.
ANALDB2R
Mar 24, 2013

Change 31.052  IIS Weblog decoding URIQUERY than ended with &=1 with no
VMACWWW        URIQNAME before the equal sign caused INVALID SUBSTR note
Mar 22, 2013   that is now eliminated.
   Thanks to Dennis Longnecker, State of Washington Courts, USA.

Change 31.051 -Support for user field CHARGE creates variable USCHARGE
IMACICUX       in CICSTRAN when comment block in IMACICUX is removed.
UTILEXCL      -Change 30.283 (30.30/30.01) "***UNKNOWN FIELD" protection
VMAC110        was still insufficient, and the IMACEXCL created failed
VMACSMF        with a 180 syntax error due to missing @;.  Circumvention
Mar 22, 2013   logic updated yet again, hopefully, but sending the full
               UTILEXCL log is all that is needed for MXG to add UNKNOWN
               fields optionally to your CICSTRAN dataset.
   Thanks to Mayer Rosenthal, WIPRO, USA.
   Thanks to Denise Willers, WIPRO, USA.
   Thanks to Jeff Fracas, WIPRO, USA.

Change 31.050  STOPOVER abend with ancient CICS Version '03' ID=110 in
VMACSMF        new-in-30.30 VMACSMF code to get ID and SUBSYSTEM during
Mar 19, 2013   header processing was complicated by a subtype 0 record
               that was actually a subtype 1, so the correction code in
               VMAC110 was used in the VMACSMF processing logic.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.

Change 31.049  Support for WAS XD (WebSphere Extended Deployment) under
EXXDFGLG       z/linux under z/VM reads 6 virtualization log files - see
EXXDNSLG       IBM 2007 "Best Practices" Red Bok SG24-7343 - to create:
EXXDSPLG
EXXDSSLG         DDDDDD DATASET  Description
EXXDTILG
EXXDTSLG         XDNSLG WASXDNS  Node Statistics Historic Cache
IMACXDFG         XDSPLG WASXDSP  Server Power Consumption Stats Cache
IMACXDNS         XDSSLG WASXDSS  Server Stats Cache
IMACXDSP         XDTILG WASXDTI  TC Module Instance Stats Cache
IMACXDSS         XDTSLG WASXDTS  TC Module Stats Cache
IMACXDTI
IMACXDTS       and this dataset which IBM recommends for Chargeback
TYPEXDFG
TYPEXDNS         XDFGLG WASXDFG  Fine Grained Power Consumption Stats
TYPEXDSP
TYPEXDSS       These MXG variables are created in "Fine Grained" data:
TYPEXDTI
TYPEXDTS         APPNAME            APPLICATION*NAME
TYPSXDFG         BEGINTIME          INTERVAL*BEGIN*DATETIME
TYPSXDNS         CELL               CELL*NAME
TYPSXDSP         CELLPOWER          TOTAL*CELL*POWER*PER SECOND
TYPSXDSS         CELLWORKPOTENTIAL  MAXIMUM*CELLPOWER*PER*INTERVAL
TYPSXDTI         CLUSTER            CLUSTER*NAME
TYPSXDTS         ENDTIME            INTERVAL*END*DATETIME
VMACXDFG         GWID               GATEWAY*ID
VMACXDNS         INTRVLTM           INTERVAL*DURATION
VMACXDSP         MODULENAME         J2EE*MODULE*NAME
VMACXDSS         NODE               NODE*NAME
VMACXDTI         NODEGROUP          NODE*GROUP*NAME
VMACXDTS         NODEPOWER          TOTAL*NODE*POWER*PER SECOND
VMXGINIT         NODEWORKPOTENTIAL  MAXIMUM*NODEPOWER*PER*INTERVAL
Mar 31, 2013     NUMSERVICED        REQUESTS*SERVICED*OF THIS*TYPE
                 ODR                ON*DEMAND*ROUTER*NAME
                 POWERCONSUMED      POWER*CONSUMPTION*RATE*PER SECOND
                 SERVER             SERVER*NAME
                 SERVICEPOLICY      SERVICE*POLICY*NAME
                 TCMODNAME          TRAN CLASS*APPLICATION*MODULE*NAME
                 TCNAME             TRANSACTION*CLASS*NAME
                 TIMESTAMP          WAS XD FG*DATETIME*STAMP
                 WORKCOMPLETED      WORK*COMPLETED
                 WORKFACTOR         ESTIMATED*WORK*FACTOR
                 ZDATE              ZEE DATE*ZEE OBS*WAS CREATED
               Note: This new code will not execute under SAS 9.1.3; the
               'M' operand to the SCAN function required when there are
               duplicated delimiters, did not exist back then.
   Thanks to Sally Jordan, Insurance Services Office, Inc., USA.

Change 31.048  MXG 31.01 only. CICS STID=29 (CICSMDSA dataset) was wrong
VMAC110        because I inserted a "cosmetic" comment documenting the
Mar 16, 2013   IBM field name in an INPUT statement, but its end-comment
               was missing, causing MXG to be mis-aligned, so CICSMDSA
               was "trashed" - easy to see since DSANAME was blank - and
               printed WARNING CICS STID=0 STILEN=0 message on the log.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 31.047  New ESS GEPARMKY=0039 value for PRTOPTNS creates new
IMAC6ESS       ESSOPTNS variable in TYPE6 dataset if you edit IMAC6ESS
VMAC6          to cause it to not be DROPed.  See IMAC6ESS comments.
Mar 15, 2013
   Thanks to Jessie Gonzales, California State Controller's Office, USA.

Change 31.046  New format $MG120HX was missing quotes on the right side;
FORMATS        but SAS didn't detect the syntax error in member FORMATS,
Mar 15, 2013   until FORMATS was accidentally run without a //LIBRARY,
               and only then did SAS flag the invalid syntax.

Change 31.045  ID=90 records subtype 6 and 7 "EVENTIME" is not the time
VMAC90         of the SWITCH/HALT but is the IPLTIME of this SYSTEM.  So
VMAC90A        variable IPLTIME is now kept in the TYPE9006 dataset and
Mar 14, 2013   both the archaic TYPE90 and recommended TYPE90A members
               store EVENTIME into IPLTIME, but I kept EVENTIME since it
               might already be in use in your reports.
   Thanks to Perry Lim, Union Bank, USA.

====== Changes thru 31.044 were in MXG 31.01 dated Mar 13, 2013=========

Change 31.044  NMON (AIX/LINUX) dataset NMONBBBP variables BBBP028/029
VMACNMON       were wrong because the INDEX test was underspecified and
Mar 13, 2013   satisfied multiple times, so the last match was used.
Mar 14, 2013  -Mar 14: BBBP029 still wrong, new "POWER SAVINGS MODE"
Mar 15, 2013   for MODE.  Realized all groups of IF INDEX tests could be
               replaced with ELSE IF INDEX tests for ordered testing and
               to improve performance.  Added BBBP147-BBBP149 variables.
              -Mar 15: BBBP029 still wrong, new "MEMORY MODE" used, so
               new BBBP150-BBBP158 are created for all new entries and
               the test for 'MODE ' is ELSE IF after the above tests.
   Thanks to Steve Dyck, CDS, CANADA.
   Thanks to G. Delvecchio, Canadian Depository for Securities, CANADA

Change 31.043 -The example in comments in UTILEXCL that reads CICS SMF
IMACEXCL       with UTILEXCL to create your tailored IMACEXCL, and then
UCICSCNT       uses TYPE110 to re-read the CICS SMF data using that new
UTILEXCL       IMACEXCL code, works on z/OS because the example's JCL
Mar 12, 2013    //IMACEXCL DD DSN=MXG.USERID.USERID(IMACEXCL),DISP=SHR
               writes the IMACEXCL code to your "USERID" tailoring PDS
               that is in your //SOURCLIB concatenation, so the %INCLUDE
               of IMACEXCL in TYPE110 finds and uses the new IMACEXCL.

               However, on ASCII, the FILENAME IMACEXCL must be written
               to a file named imacexcl.sas (suffixed with .sas) and on
               unix, in lower case, and,  similarly, the file must be
               written to a "tailoring" directory that is in the
               FILENAME SOURCLIB concatenation on ASCII.

               When  FILENAME IMACEXCL 'c:\wherever\IMACEXCL' was used
               with no suffix, UTILEXCL wrote to that filename, but when
               TYPE110 was included, there were the same errors and no
               observations, because the new IMACEXCL was not %INCLUDEd,
               because it did not have the ASCII-required .sas suffix.

               So, how could I tell the new IMACEXCL was not read? :
               In MXG 30.30 (Change 30.283) UTILEXCL was enhanced for
               diagnostics: when an IMACEXCL (created by new UTILEXCL)
               is %INCLUDEd, a new MXGNOTE is printed on the SAS log:
                 177043   %INCLUDE SOURCLIB(TYPE110);
                 MXGNOTE: SITE IMACEXCL CREATED AT 11MAR2013:21:07:59.09
                 207431  RUN;
               It was the absence of that MXGNOTE when I ran the user's
               program to diagnose why no observations were created that
               reminded me of the ASCII syntax requirement.  Adding .sas
               to the filename caused the new IMACEXCL to be error-free.
               Examples in UTILEXCL were updated with ASCII syntax.
              -The UCICSCNT program that reads SMF to count CICS record
               types (transaction, statistics, dictionary), from each
               APPLID and VERSION, is enhanced to count dictionary by
               "triplet" values MCTSSDCN and MCTSSDRL, which matches the
               existing transaction count details.  This can be very
               useful when MXG doesn't find the records your CICS guru
               told you were enabled, by showing him/her what records
               are ACTUALLY being created.  So useful, that I added a
               %INCLUDE SOURCLIB(UCICSCNT); statement to each example in
               UTILEXCL that reads SMF data, since it would be useful to
               support@mxg.com if there is a perceived UTILEXCL problem.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 31.042  Change 30.275 added support for a USER FORMAT library but
MXGNAMES       the last line added in MXGNAMES was typo'd; it should be
VMXGCNFG          LET MXGFORMU=YOUR.HLQ.MXG.USER.FORMATS;  /*OPTIONAL*/
Jan 22, 2013   instead of MXGFORMT, and MXGNAMES wasn't listed.

Change 31.041 -Support for SHADOW USER SMF subtype 21 record creates new

EXSHDW21         DDDDDD   DATASET    DESCRIPTION
IMACSHDW
VMACSHDW         SHDW21   SHADOW21   SHADOW MAPS
VMXGINIT      -Mar 19: added support for subtype 4 record.
Mar 11, 2013  -Mar 23: corrected _BSHDW04 and _BSHDW21.
Mar 23, 2013
   Thanks to Stuard Wildey, MorganStanley, ENGLAND.

Change 31.040 -Cosmetic. These harmless messages, from MXG housekeeping
READDB2        to minimize the //WORK library disk space requirement
Mar  9, 2013   NOTE: THE FILE WORK.DB2STATB (MEMTYPE=DATA) WAS NOT FOUND
                     BUT APPEARS ON A DELETE STATEMENT.
               WARNING: NO MATCHING MEMBERS IN DIRECTORY.
               are no longer printed.
              -Also cosmetic: Change 30.257 didn't note that the use of
               each _S102nnn sort macro creates 23 lines of messages on
               the SAS log, or 9,320 more SYSOUT lines for IFCIDS=ALL.
   Thanks to Jerry Massey, Compuware, USA.

Change 31.039 -The IBM TS7700 BVIR data does not contain a SYSTEM name;
VMACBVIR       variable SYSTEM is now created and populated using
Mar  8, 2013      // EXEC MXGSAS,
                  // OPTIONS='SYSPARM="ASYS"'
               with one, then eight, then five single quotes on z/OS,
               or you can set SYSPARM in your SYSIN stream with:
                  OPTIONS SYSPARM='ASYS';
              -Discovered subtype 32x caused INPUT STATEMENT EXCEEDED
               with BVIRLEN=8256; tests added in Change 31.016 for the
               LENGTH 8256 should have tested BVIRLEN instead.
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 31.038  Cosmetic.  Variable NAME should not have been kept in the
VMACRACF       RACF0120 dataset.
Mar  8, 2013
   Thanks to Bill Arrowsmith, Euroclear, BELGIUM.

Change 31.037  Documentation enhancements for installing MXG on unix,
AUTOEXEU       AIX, Linux, etc.
INSTALL
Mar  7, 2013
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.

Change 31.036  BETA93 Version 4.2.0 and 4.3.0 had invalid data values in
VMACBETA       dataset BETA1 and 4.2.0 had invalid large NRACCTFL value
Mar  8, 2012   that also caused "DATA ERROR. CODE IN IMACACCT ....".
               Variables INPUT after the accounting fields were invalid.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.

Change 31.035  The _STY74ID macro incorrectly specified TYPE74ID as the
VMAC74         input dataset rather than the correct _WTY74ID macro
Mar  7, 2013   name so if you modified the destination of the dataset
               using the WTY74ID macro variable, the sort failed.
   Thanks to Mike Georte, Northern Territory Government, AUSTRALIA.

Change 31.034  MXG 30.10 thru MXG 30.30.  Change 30.279 reverted VFMT102
ANALDB2R       to the PROC SORT NODUP removal algorithm, but ANALDB2R
Mar  7, 2013   wasn't tested with PMAUD02, which was not reverted:
                 ERROR: The keyword parameter SYSTEM DBNAME OBNAME
                 was not defined with the macro.

Change 31.033  COMPANY= added to allow the insertion of a company
ANALCOMP       name in titles.
Mar  7, 2013

Change 31.032  Large page frame variables added to TRND71 dataset:
TRND71
Mar  7, 2013                      Min       Max       Avg
                 Frames in Pool   SMF71L1M  SMF71L1X  SMF71L1A
                 Frames Not Used  SMF71L2M  SMF71L2X  SMF71L2A
                 Frames In Use    SMF71L3M  SMF71L3X  SMF71L3A
                 Objects Alloc    SMF71LOM  SMF71LOX  SMF71LOA
   Thanks to Wayne Bell, UniGroup, USA.

Change 31.031  Cosmetic.  Label for SMF64RLM is corrected from ESDS to
VMAC64         SMF64RLM='CA-S*RECLAIMED*IN KSDS*SINCE CLOSE/EOV'.
Mar  6, 2013
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 31.030  Support for 12 new NTSMF objects and MANY new variables
EXNTD064       added for existing objects. Find "ADDED BY CHANGE 31.030"
EXNTD065       in VMACNTSM to identify the new variables.  There are now
EXNTD066       513 MXG datasets created from Windows NTSMF data.
EXNTD067
EXNTD068      -New Objects now supported:
EXNTD069
EXNTD070           DDDDDD     Dataset/Object
EXNTD071           NTD064     HYPER-V_VIRTUAL_SWITCH_PROCESSOR
EXNTD072           NTD065     MSRS_2011_WINDOWS_SERVICE
EXNTD073           NTD066     MSSQL_BATCH_RESP_STATISTICS
EXNTD074           NTD067     MSSQL_FILETABLE
EXNTSQSV           NTD068     MSSQL_MEMORY_BROKER_CLERKS
IMACNTSM           NTD069     MSSQL_MEMORY_NODE
VMACNTSM           NTD070     MSSQL_QUERY_EXECUTION
VMXGINIT           NTD071     NUMA_NODE_MEMORY
Feb 26, 2013       NTD072     NETWORK_ADAPTER
                   NTD073     PHYSICAL_NETWORK_INTERFACE_CARD
                   NTD074     SMB_SERVER_SHARES

               -These objects were updated with new variables:
                   NTACSR     ACTVSRVR  NT ACTIVE SERVER PAGES
                   NTASPN     ASPNET    ASP.NET
                   NTNETI     NETWINTR  NT NETWORK INTERFACE
                   NTPPAC     PPNETACC  PER PROCESSOR NETWORK ACTIVITY
                   NTPRIN     PROCINFO  PROCESSOR INFORMATION
                   NTQLAM     MSQACCES  NT MSSQL:ACCESS METHODS
                   NTQLBM     MSQBUFMG  NT MSSQL:BUFFER MANAGER
                   NTQLBN     MSQBUFND     MSSQL:BUFFER NODE
                   NTQLDA     MSQDATAB  NT MSSQL:DATABASES
                   NTQLMM     MSQMEMMG  NT MSSQL:MEMORY MANAGER
                   NTSERV     SERVER    NT SERVER
                   NTSQSV     SQLSSISV  SQLSERVER:SSIS SERVICE 11.0
                   NTD011     CLUSTER_RESOURCE_CONTROL_MANAGER
                   NTD015     HYPER_V_DYNAMIC_MEMORY_BALANCER
                   NTD016     HYPER_V_DYNAMIC_MEMORY_VM
                   NTD018     HYPER_V_HYPERVISOR_LOGICAL_PROCE
                   NTD019     HYPER_V_HYPERVISOR_PARTITION
                   NTD020     HYPER_V_HYPERVISOR_ROOT_PARTITIO
                   NTD021     HYPER_V_HYPERVISOR_ROOT_VIRTUAL
                   NTD030     HYPER_V_VM_VID_PARTITION
                   NTD035     HYPER_V_VIRTUAL_NETWORK_ADAPTER
                   NTD037     HYPER_V_VIRTUAL_SWITCH
                   NTD038     HYPER_V_VIRTUAL_SWITCH_PORT
               -Corrections diagnosed and corrected by Phil:
                 QLGS - NRDATA=24 supported
                 QLAM - MSEXCART removed from INPUT, not kept, not there
                 ASPA - ASPARWTB removed from NRDATA=85 INPUT, not there
               -Additional records changed:
                 QLDA - NRDATA=26 supported.
   Thanks to Phil Henninge, Demand Technology, USA.

Change 31.029  Test added to ensure GDGLEN GT 9 before SUBSTR function,
VMAC6156       to protect for INVALID SECOND ARGUMENT when the SMF 66
Feb 26, 2013   record for a RENAME of DSN=X.Y to DSN=A.B.G0002V00 had
               an entry name too short to be tested for a GOOVO.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.

Change 31.028 -All of these members used VIEWs which are not supported
ANALCOMP       by WPS.  Code was added to the macros to make the use of
VGETLIBS       views conditional depending on the value of MXGVIEW that
VGETWKLD       is set by VMXGINIT based on the version of SAS or WPS
VMXGFIND       being run.
VMXGSRCH      -In the case of VGETWKLD, it was not correctly gathering
Feb 24, 2013   the number of periods for TSO workloads because there
               are differences in the names of the response time vars
               between the older TSO workload and any new workloads you
               may have created with RMFINTRV.  For these newer
               workloads, at the time VMXGRMFI was written the limit on
               variable names was 8 characters so a name like DB2P1RESP
               would not have been possible so RSP was used rather than
               RESP to keep the variable names down to 8 bytes.  That
               limit no longer applies but changing old variable names
               would be a bad thing to do to you so VGETWKLD now checks
               correctly for the old TSO variable names.

Change 31.027  Variable QWHCEUWN has been added to the all T102Sxxx DB2
VMAC102        trace datasets.
Feb 22, 2013
   Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.

Change 31.026  SAS 9.1.4 SP4 ONLY: Note 33063 states that SASHELP.VEXTFL
PREINIT        dataset only has the FIRST external file reference, if an
VMXGINIT       AUTOCALL is issued, which happens by design in VMXGINIT,
Feb 22, 2013   so any subsequent reference to SASHELP.VEXTFL has only
               that first DDNAME/LIBREF.  There is NO FIX for 9.1.3:
               "The only known solution is to process the dictionary
               table SASHELP.VEXTFL prior to any system AUTOCALL."
               You can use  DATA WORK.VEXTFL; SET SASHELP.VEXTFL; in
               PREINIT to save the VEXTFL table into //WORK.

Change 31.025  See Change 31.151.
Feb 20, 2013

Change 31.024  Format $MGSMFID had "DEFINE" rather than "DEVICE" in the
FORMATS        description of the ID=11 SMF record.
Feb 20, 2013
   Thanks to Mike Mayne, HHSYS, USA.

Change 31.023  Support for Software Diversified Services VFTP product
EXVFTP01       user SMF record creates these four new datasets:
EXVFTP02
EXVFTP03          DDDDDD  MXG       MXG
EXVFTP04          DATASET DATASET   DATASET                      RECORD
IMACVFTP          SUFFIX  NAME      LABEL                       SUBTYPE
TYPEVFTP
TYPSVFTP          VFTP01  VFTPST01  VFTP01:SESSION AND TRANSFER       01
VMACVFTP          VFTP02  VFTPST02  VFTP02:LOGIN FAILURE              02
VMXGINIT          VFTP03  VFTPST03  VFTP03:SERVER REJECTED            03
Feb 18, 2013      VFTP04  VFTPST04  VFTP04:SUMMARY ACTIVITY           04

               The start and end times in VFTPST01 dataset are on GMT
               but there is no GMT Offset in the record, and the delta
               between the End time and the SMF time is as much as 2100
               seconds which I believe is in error, and that prevents me
               from using that delta to heuristically create the offset.
               This is being discussed with the vendor, but you can use
                  %LET MXGGMTOFF=-6*3600;
                  %INCLUDE SOURCLIB(....);
               to circumvent and set your GMT Offset (remembering to
               change each Spring Forward and Fall Backward).

Change 31.022 -Support for Software Diversified Services VIP Product SMF
EXVIPAPL       USER record creates these datasets:
EXVIPDLR
EXVIPDLW      SDS   DDDDDD  MXG       MXG
EXVIPEEC    DATASET DATASET DATASET   DATASET                  RECORD
EXVIPEEX      NAME  SUFFIX  NAME      LABEL                    SUBTYPE
EXVIPFRM
EXVIPHPR      DLC1R VIPDLR  VIPDLR    VIPDLR:DLC READ QUEUE      222
EXVIPHPX      DLC1W VIPDLW  VIPDLW    VIPDLW:DLC WRITE QUEUE     222
EXVIPIFC      HPR1  VIPHPR  VIPHPR    VIPHPR:HPR                 228
EXVIPLUG      HPR1  VIPHPX  VIPHPX    VIPHPR:HPR EXTENSION       228
EXVIPOSA      RTM1  VIPRTM  VIPRTM    VIPRTM:TCP TAPM OR TN3270  229,231
EXVIPOSX      FRM1  VIPFRM  VIPFRM    VIPFRM:FRAG MONITOR        230
EXVIPRTM      LUG1  VIPLUG  VIPLUG    VIPLUG:LU GROUP            232
EXVIPSTK      OSA1  VIPOSA  VIPOSA    VIPOSA:OSA                 239
FORMATS       OSA1  VIPOSX  VIPOSX    VIPOSA:OSA EXTENSION       239
IMACVIP       APL1  VIPAPL  VIPAPL    VIPAPL:APPLICATION         242
TYPEVIP       IFC1  VIPIFC  VIPIFC    VIPIFC:INTERFACE           243
TYPSVIP       STK1  VIPSTK  VIPSTK    VIPSTK:STACK               244
VMACVIP       EEC1  VIPEEC  VIPEEC    VIPEEC:ENTERPRISE EXTENDER 245
VMXGINIT      EEC1  VIPEEX  VIPEEX    VIPEEC:EE ROUTES           245
Feb 22, 2013 -The variable names in these datasets are the same as the
              names in the SDS-provided example SAS programs and the MXG
              dataset names are similar so the SDS-provided SAS reports
              should be easily adapted to use the MXG datasets. The MXG
              code is structured so all records can be processed in one
              pass (the SDS example program processed one subtype per
              program) and the MXG "dddddd" tokens are created to permit
              standard MXG tailoring of datasets and contents.
             -The SDS-example variable names are long with underscores
              embedded; the MXG label replaced the underscore with the
              normal asterisk character so you will almost always want
              to use PROC PRINT SPLIT='*' with VIP datasets to get nice
              column headings and alignment.

Change 31.021 -RMF III Enhancements and Notes
ASMRMFV       -NOTE: Since MXG V30.03 it is required that SYS1.MODGEN
JCLASM3        also appear in the SYSLIB DD concatenation for the
JCLRMFV        ASMRMFV assemble step as follows (use JCLASM3 example):
JCLCRMFV
VMACRMFV         //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR
Feb 15, 2013     //         DD DSN=SYS1.MODGEN,DISP=SHR
Feb 26, 2013
Mar 10, 2013   ASMRMFV displays execution environment data that needs
               the macros in SYS1.MODGEN to map certain z/OS control
               blocks.  Omission of SYS1.MODGEN in the assembly step
               will result in ASMA prefixed error messages and the
               assembly will fail.
              -ASMRMFV and VMACRMFV must be at the same level; do not
               expect the old VMACRMFV to read RMFBSAM files created
               by the new ASMRMFV, and vice versa.
              -When the ASI table is selected in ASMRMFV the entries
               are now blocked up to use as much as possible of a 32K
               logical record.  The number of ASI records output was
               reduced by up to 96% during testing.
              -The example members JCLRMFV and JCLCRMFV for building an
               RMF III PDB have been improved by adding a new example of
               using the SIZE parameter to examine RMF III VSAM data set
               disk space and index usage.  Additional information about
               use of ASMRMFV parameter aliases is also now included.
              -VMACRMFV is upgraded to support blocked ASI entry input.
              -VMACRMFV now displays a message about ASMRMFV level and
               execution environment that created the RMFBSAM file.
              -MISSING VALUES message on SASLOG for CPUDTIME variable
               is removed in VMACRMFV.  Input logic for CPUDTIME is
               improved.
              -NOTE: The use of archival RMFBSAM files as input to
               TYPSRMFV or TYPERMFV is NOT recommended as many missing
               values and other undesirable results can occur in the PDB
               since VMACRMFV is expecting data in the current input
               format.  The RMFBSAM file is intended only as temporary
               work file for the PDB build process and should not be
               retained for future use.  A better alternative is to
               instead restore the archived RMF III VSAM file and read
               it with the current ASM/VMAC RMFV program pair.
              -NOTE: If intending to include the UWD table datasets in
               the RMF III PDB %INCLUDE SOURCLIB(TYPSRMFV) not TYPERMFV
               should be used in PDB build step.  There are naturally
               occurring duplicates in the UWD table that need to be
               removed by the sorting process.
              -When the ENC table is selected in ASMRMFV the entries are
               now blocked up to use as much as possible of a 32K
               logical output record.
              -VMACRMFV is upgraded to support blocked ENC entry input.
              -ASMRMFV now inputs all 6 ENC table entry triplets instead
               of only the first one.  Each offset/length/count triplet
               points to a separate group of ENC table enclave entries.
               Users including the ENC table in their RMF III PDB can
               expect 5 times as many observations in ZRBENC dataset;
               documentation on the number of ENC triplets was unclear
               until actual data provided the actual documentation that
               that there were 6 triplets and not just 1.
              -Note: The total number of ENC table records output will
               now be at least 6 times the number of tables input since
               each of the 6 triplets causes a new record to be output.
              -REQUIREMENT: In order to receive the performance benefits
               from ASI and ENC entry blocking, the current ASMRMFV
               utility program with this MXG change must be installed.
               See MXG SOURCLIB member JCLASM3 for sample JCL for the
               assembly and link-edit install steps.
              -Tutorial: This item has been mentioned before, but with
               the ASI and ENC blocking and increase in observations,
               you may need to use the EXdddddd dataset exit to filter
               which observations are created, and your logic in those
               exits should always use this code structure:

                 IF something THEN DO;
                   OUTPUT _Wdddddd;
                 END;

               and can't use a DELETE, RETURN, nor "IF something;" logic
               because when "something" is true, they stop the read of
               this current record, skipping any un-read segments from
               being tested for "something".

               This consideration applies in particular to the following
               RMF III tables that have blocked input data to a PDB
               build and to their respective output exits:

               RMF III Table       Output Exit
               -------------       -----------
                   ASI              EXZRBASI
                   CPD              EXZRBCPD
                   CSR              EXZRBCSR
                   DVT              EXZRBDVT
                   ENC              EXZRBENC
                   ENT              EXZRBENT
                   OPD              EXZRBOPD
                   RED              EXZRBRED
                   SHD              EXZRBSHD
                   SPG              EXZRBSPG
                   UWD              EXZRBUWD
   Thanks to Perry Lim, Union Bank, USA
   Thanks to Betty Wong, Bank of America, USA

Change 31.020  Support for TMON/MQ Version 2.5 which added a number of
VMACTMMQ       new variables to the TMMQQA dataset.
Feb 15, 2013
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Homayoun Riazi, UHC, USA.

Change 31.019  Option PDBOUT= lets you output the PLOT and MSU datasets
ANALCAPD       to your PDB library.  By default they were temporary and
Feb 13, 2013   are deleted by ANALCAPD.  This change deletes the delete
               but this text will be updated when the PDBOUT= option is.
   Thanks to Ralph Belamy, ???, ???

Change 31.018  Support for PACE's IDMS 17.0 User Exit SMF Record.
ASMIDMPA          DDDDDD   DATASET   DESCRIPTION
EXIDMPAC          IDMPAC   PACEIDMS  PACE IDMS USER SMF RECORD
IMACIDMP       The SMF record is created in an IDMS Exit by ASM code
TYPEIDMP       contributed by Blake Leggett, PACE Applied Technology,
TYPSIDMP       their product KOMAND IDMS Charging System, KOMAND/IDMS.
VMACIDMP       See the ASMIDMPx members documented in Change 31.068.
VMXGINIT       However, neither PACE nor MERRILL will guarantee ASMIDMP
Feb 20, 2013   exit code will always work with future IDMS changes; this
Mar  9, 2013   now works fine, but your IDMS staff must be prepared to
ASMIDMPJ       investigate and repair any exit problems in the future.
ASMIDMPS       If your guru can fix the exit, I can update the SAS code!
ASMIDMPU
   Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.
   Thanks to Trevor Rowe, Bell Alliant, CANADA.

Change 31.017  Change 29.167 enhanced VXMGRMFI by creating the VGETWKLD
ANALCOMP       member used when TRNDRMFI is invoked; VGETWKLD extracts
VGETLIBS       your workload names by reading DICTIONARY.TABLES to get
VGETWKLD       your variable names from PDB.RMFINTRV by using
VMXGFIND            PROC SQL;
VMXGSRCH            CREATE VIEW VGETWKLD AS SELECT NAME,LABEL
Feb 12, 2013              FROM DICTIONARY.COLUMNS. . . .
               and then reading dataset VGETWKLD with this logic
                    POINT=LENGTH(NAME)-2;
                    IF SUBSTR(NAME,POINT,3)='ZIP';
               but that logic failed with WPS, perhaps due to the VIEW,
               as views are not yet supported in WPS, or perhaps because
               WPS created a different LENGTH value, but in either case
                 POINT1=INDEX(NAME,'FRTM');
                 IF POINT1;
               now circumvents the error, even with "VIEW" in the code.
               The FRTM suffix test was used in place of ZIP as not all
               sites create a xxxxZIP workload variable.   And just to
               be safe, the "VIEW" text was removed from VGETWKLD and
               the other four members.

Change 31.016 -Support for BVIR Version 2.0, 2.0a, and 2.1.
VMACBVIR      -BVIR30 adds two new variables:
Feb 11, 2013     SYLVMT00='00*SYNC*LEVEL*MOUNTS'
                 AVLVMT00='00*AVERAGE*SYNC*LEVEL*MOUNT*TIME'
              -BVIR32 documentation: IBM change how they count bytes:
                 "TVCSIZE: increments of 1000MB (1024*1024*1000). A TVC
                  that is 1.7TB in size will be reported as x000006A4
                  which is 1700 decimal."
                  MXG did not format TVCSIZE with MGBYTES but 6A4 is the
                  decimal TVCSIZE=1700 with the label "TVCSIZE IN GB".
                 -IBM confirmed that variable LIBSEQNR is now always
                  blank or nulls - see ADOCBVIR.
                 -Variable DLIBDEQN can contain hex rather than EBCDIC,
                  or it can be blank.
              -BVIR32 variable AVGCPUSE is labeled as
                  AVGCPUSE  'CPU*USAGE*PERCENT*AT END OF*INTERVAL'
                  but it contains the AVERAGE CPU PER TAPE VOLUME CACHE
                  and its documentation clarified by IBM in the manual:
                  This 1 byte field indicates the larger of CPU usage
                  percentage OR Tape Volume (TVC) usage percentage at
                  the end of the interval.  The TVC busy value is based
                  on IO activity where 100% is when the disks are being
                  accessed 100% of the time.  This value can be used to
                  indicate how busy the system was during the interval.
                  It is updated every 30 seconds.  The TVC percentage is
                  an average of 30 one second intervals.
              -BVIR31 new variables are documented and created:
                  BYTESEXP='AMOUNT*OF DATA*EXPORTED'
                  BYTESIMP='AMOUNT*OF DATA*IMPORTED'
                  LOGVOLEX='LOGICAL*VOLUMES*EXPORTED'
                  LOGVOLIM='LOGICAL*VOLUMES*IMPORTED'
                  PHYVOLEX='PHYSICAL*VOLUMES*EXPORTED'
                  PHYVOLIM='PHYSICAL*VOLUMES*IMPORTED'
              -BVIR33 has eight sets of new variables G1 thru G8 with
                  G1DEFRBY='1ST DATA*FROM*DEFERRED*COPY'
                  G1DEFRCY='1ST DATA*FROM*DEFERRED*COPIES'
                  G1IMEDBY='1ST DATA*FROM*IMMEDIATE*COPY'
                  G1IMEDBY='1ST DATA*FROM*SYNC MODE*COPY'
                  G1IMEDCY='1ST DATA*FROM*IMMEDIATE*COPIES'
                  G1IMEDCY='1ST DATA*FROM*SYNC MODE*COPIES'

Change 31.015 -These five DB2 V10 SMF 101 Subtype 1 DB2ACCTP variables
VMACDB2         QPACLOCN,QPACCOLN,QPACPKID,QPACASHC,QPACAANM, can be
Feb 10, 2013   wrong, but only when they are "truncated":
                 "IBM-truncated" fields previously had a fixed length
                 (QPACLOCN was 16 bytes) but now can be variable length
                 for data like URLs and IPV6 addresses from our open
                 systems gurus.  Each field has an offset to a one-byte
                 length field followed by that many bytes of the field.
                 These offsets are NOT populated when the value fits in
                 the original fixed length field that was already INPUT.

               There are two independent errors, one mine, one not mine.

              -The MXG code for the offsets to LOCN COLN PKID and AANM
               used OFFQPAC+offset, but LOCQPAC should have been used as
               it is incremented for each QPAC segment; OFFQPAC isn't.
               So those four variable's values were only valid for the
               first DB2ACCTP observation in each SMF 101 record.

              -One site sent SMF data with invalid values for the offset
               to those "truncated" fields.  The offset values for each
               field is 10 more than it should be.  Decimal values:
               Segment 5 out of 7 in record 3222:

                   OFFQPAC  LENQPACX Len of PACX     Next QPAC
                    @1777     451       +2            2228
                    @2228     451       +2

                  But the two-byte OFFSET to QPACAANM is @2169 with a
                  '01B8'x or 440 decimal.  Adding 1777+440 is 2217, but
                  the field's length and text are visible in  2207, and
                  the static portion of this segment ended in 2206.

               This change compares the location of the first offset to
               the end of the static fields and corrects the offset by
               subtraction when they are different.

              -Variable QPACRUSM was not reset to blank after it was
               set to 'Y' in an SMF record because it was coded as RUSN.


Change 31.014  One user claims MXG's SMF HEADER/TRAILER messages printed
VMACSMF        on the SASLOG have caused LINES EXCEEDED messages that he
VMXGINIT       doesn't like. I disagree COMPLETELY, and would NEVER turn
Feb  8, 2013   them off, since they can be EXTREMELY useful (albeit in
               only rare cases) in problem determination: they print the
               begin and end time of each "data chunk" in each SMF Dump.
               But it is trivial to create a macro variable SMFPUTHD
               that will suppress their printing, using:
                 //SYSIN DD *
                  %LET SMFPUTHD=NO;
                  %INCLUDE ....
               And, if after turning them off you realize you need them,
               you can read the same SMF file and print them, using:
                 //SYSIN DD *
                  %LET SMFPUTHD=YES;
                  %INCLUDE SOURCLIB(VMACSMF);
                  DATA _NULL_; _SMF; RUN;
               Clearly, my MXG default is %LET SMFPUTHD=YES;

Change 31.013  Variables NDMCNF1, NDMCNF2, & NDMCPEA were set to '00'x
VMACNDM        when they should not have been (and I have no notes as to
Feb  7, 2013   why I set them to null).
   Thanks to Randy Schlueter, First Data, USA.

Change 31.012  Change 30.170 output CICLDR observations only when LDRFC,
EXCICLDR       Fetch count, is non-zero, but with interval statistics,
Feb  6, 2013   a program can be fetched after the region starts up and
               then be continually used afterwards, with LDRFC=0, so
               those observations were not output.  The CICLDR dataset
               exit member EXCICLDR is changed to output when LDRTU, the
               Times used Since Last Reset, is non-zero, as that is a
               better indicator that the program was used.
   Thanks to Tony Hirst, Wells Fargo, USA.

Change 31.011  If you specified WEEKKEEP=TYPE42: that colon caused the
BLDSMPDB       the length of the compare to detect what data sets should
Feb  5, 2013   be kept to be incorrectly set to &complen, which was the
               length of the input name, but instead is now set to &dlen
               which is the correct length for comparison with or
               without the colon modifier.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 31.010  MXG 30.08-MXG 30.30.  If you selected SYSLOG MSGIDs to be
VMACTMNT       written as SMF Subtype=9 by MXGTMNT (Tape Mount Monitor),
Feb  2, 2013   reading them caused zero obs in TYPESYSL and log messages
                 MSGID NOT FOUND IN RECORD N= . . . .
               Change 30.230 enhanced ASMTAPE to write some JES3 event
               SYSLOG messages as Subtype=8 so they would be output to
               TYPESYMT, but for testing they were created as subtype 9
               with the old ASMTAPE, and my test in VMACTMNT to output
               them to TYPESYMT was temporarily changed to read them
               with ELSE IF TMNTTYPE=8 OR TMNTTYPE=9, but that should
               have been changed back to just ESLE IF TMNTTYPE=8.
   Thanks to Paul Naddeo, Fiserv, USA.

Change 31.009  The _STYBETF dataset sort macro was not in the _SBETA
VMACBETA       product sort macro, so dataset BETA25 was not copied into
Jan 31, 2013   the PDB data library when TYPSBETA was used.

Change 31.008 -Change 30.250 replaced hardcoded "PDB." with "&PDBMXG.."
ANAL120        (so MXG default DDNAME is used by also easily changed,)
Jan 30, 2013   but ANAL120 was wrong before and after, as some of its
               datasets were expected to be in //PDB while others were
               read from //WORK.  This change expects ALL of the TYPE120
               datasets will be in the //PDB DD data library before the
                 %INCLUDE SOURCLIB(ANAL120);
               is executed, but new examples in comments show how to
               read SMF data to create just reports or to create both a
               WebSphere PDB and these example reports.  But these are
               all simple PROC PRINTs and PROC MEANS and the primary
               value is the suggested variables that might be useful as
               a STARTING POINT for your own reports
                 (which I'd be happy to add to the ANAL120 member if
                 you have a contribution to share with other MXGers).
   Thanks to Scott Barry, SBBWorks, Inc., USA.

Change 31.007 -VMACVMXA and VMAC113.  The HIS CPU Counter variables in
VMAC113        z/VM dataset VXPRCMFC should match those variables in the
VMACVMXA       z/OS HIS TYPE113/ASUM113 dataset, but new counters
Jan 28, 2013   EXTND157-EXTND207 in VMACVMXA were not labeled, weren't
               deaccumulated with DIF() function, and weren't tested for
               RESETCTR+1, and the INPUT thru 255 was changed to the
               known maximum counter EXTND207. But then in VMAC113, I
               discovered that variables EXTND183-EXTND207 were not
               tested for RESETCTR+1. So the MXG QA now ensures counters
               match in TYPE113, ASUM113 and VXPRCMFC datasets.

Change 31.006  Support for OAM SMF ID=85 Subtypes 90,91,92 and 93 create
EXTY8590          DDDDDD   DATASET    DESCRIPTION
FORMATS           TY8590   TYPE8590   LCS FILE SYSTEM ACTION
IMAC85         Variable R859SUB contains the subtype and is formatted to
VMAC85         identify 90:WRITE, 91:READ, 92:DELETE, 93:CLEANUP events.
VMXGINIT
Jan 28, 2013
    Thanks to Neil Ervin, Wells Fargo, USA

Change 31.005 -Cosmetic.  These percentage variables in TYPE72GO
VMAC7072        PCTDLACO PCTDLAPR PCTDLAXM PCTDLCCA PCTDLCDE PCTDLCHS
Jan 26, 2013    PCTDLHSP PCTDLIDL PCTDLIOD PCTDLMPL PCTDLNDI PCTDLPDE
                PCTDLPQU PCTDLQ   PCTDLSHS PCTDLSMP PCTDLSPV PCTDLSSW
                PCTDLSVI PCTDLSWI PCTDLTDQ PCTDLTOT
               are now formatted 5.1 to print pretty.

Change 31.004 -RMF III, z/OS 1.13, but only with APAR OA38660, all ASI
ASMRMFV        extensions (Service Class, Report Class, Resource Group
VMACRMFV       and Workload) are incorrect, because that APAR inserted
Jan 28, 2013   72 at the end of the base segment; record version is now
               '16'x, but only '12'x is in RMF Programmers Guide, so it
               took SYS1.EYEBALL of a hex record dump to determine what
               had been added.  Adding data at the end of a segment is
               INCOMPAT in this case in MXG because ASMRMFV appends the
               extensions to its record, and those new bytes moved the
               offset to the extensions.  This circumvention corrects:
                 IF ASIVERG3='16'x THEN INPUT +72 @;
               but it requires a code change and a new member.
              -But, we see a better way: ASMRMFV will put ASIBASNL, the
               base segment length, into the top two bytes of ASIENTMX,
               with ASIENTMX in the low two bytes, so that VMACRMFV can
               use ASIBASLN to locate the extensions and a future insert
               won't require an updated MXG code member nor a new value
               for the record version test.  Using the length fields are
               almost always more robust than using product or record
               version values in tests for existence.
              -NOTE: It is still possible to have missing values for
               variables from one or more of these extensions for
               some address spaces.  For example, address spaces with
               no Reporting Class defined will have variable ASIRNM
               missing and those with no Resource Group defined will
               have variable ASIGNM missing (blank).
    Thanks to Warren Cravey, FMR Corporation, USA

Change 31.003  Message UNINITIALIZED VARIABLE SM1132MM: minimal impact.
ASUM113        A test for SM1132MM was added by Change 30.274 to detect
VMAC113        single book machines so negative values could be zeroed,
Jan 25, 2013     IF SM1132MM='M10' OR L4RP LE 0 THEN DO; /*SINGLE BOOK*/
               but SM1132MM was only added to ID= in VMAC113, it was not
               added in ASUM113 so it was uninitialized when referenced.
               But, as I just discovered in assessing the actual impact
               of my error, even when SM1132MM is uninitialized, that OR
               in that IF statement causes the expression to be TRUE if
               L4RP is zero or a missing  value, which is actually a
               stronger test for single book than the "Machine Model."
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 31.002  The CICTSQ dataset is merged into PDB.CICINTRV dataset
VMXGCICI       but these "newish" variables in CICTSQ were not included:
Jan 24, 2013    A12SHPDF A12SHPCN A12SHRDS A12SHWTS
                A12TSLHT A12TSMLM A12TSMUS A12TSMAX
                A12TSQDL A12TSCTR
   Thanks to Doug Medland, IBM Global Services, CANADA.

Change 31.001  Variable QW0141OT='AUTHORIZATION*ID*TYPE', L for ROLE or
FORMATS        blank for User ID or Secondary Authorization ID is INPUT
VMAC102        and kept in T102S141 Audit dataset and formatted.
Jan 23, 2013   Formats $MGD140O now has all $MGD361O entries and formats
               MGD140P and MGD361P have the union of separate values.
   Thanks to Tommy Grace, Nationwide Insurance, USA.

LASTCHANGE: Version 31.
=========================member=CHANGE30================================
 /* COPYRIGHT (C) 1984-2013 MERRILL CONSULTANTS DALLAS TEXAS USA */

        MXG Version 30.30 was dated Jan 21, 2013, thru Change 30.292.
  MXG Newsletter SIXTY-ONE was dated Jan 21, 2013.
        MXG Version 30.10 was dated Jan  3, 2013, thru Change 30.274.
        MXG Version 30.09 was dated Dec  4, 2012, thru Change 30.253.
First   MXG Version 30.09 was dated Dec  3, 2012, thru Change 30.252.
        MXG Version 30.08 was dated Nov  7, 2012, thru Change 30.235.
First   MXG Version 30.08 was dated Nov  5, 2012, thru Change 30.230.
        MXG Version 30.07 was dated Oct  3, 2012, thru Change 30.200.
Second  MXG Version 30.07 was dated Oct  2, 2012, thru Change 30.199.
DONTUSE MXG Version 30.07     dated Oct  1, 2012, thru Change 30.198.
        MXG Version 30.06 was dated Sep  1, 2012, thru Change 30.177.
Second  MXG Version 30.05 was dated Aug  8, 2012, thru Change 30.153.
First   MXG Version 30.05 was dated Aug  6, 2012, thru Change 30.151.
     MXG Newsletter SIXTY is  dated Aug  6, 2012.
        MXG Version 30.04 was dated Jul  4, 2012, thru Change 30.124.
First   MXG Version 30.04 was dated Jul  2, 2012, thru Change 30.122.
        MXG Version 30.03 was dated May 30, 2012, thru Change 30.096.
        MXG Version 30.02 was dated Apr 15, 2012, thru Change 30.062.
        MXG Version 30.01 was dated Feb 13, 2012, thru Change 30.021.
Annual  MXG Version 29.29 was dated Jan 23, 2012, thru Change 29.307.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 30.30 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 30.30.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

=======================================================================


I.  MXG Version 30.30 dated Jan 21, 2013, thru Change 30.292.

  Major enhancements/corrections added in MXG 30.30, dated Jan 21, 2013:

  ANALCOMP 30.286  Graphic comparison of values over time.
  TYPE110  30.278  TASZIPTM and TASELGTM documented, TASELGTM corrected.
  TYPETMO2 30.277  Support for TMON CICS 3.4 for CICS/TS 5.1 INCOMPAT.
  TYPEMVCI 30.276  Support for Mainview CICS 6.5 for TS 5.1 COMPATIBLE.
  TYPEBETA 30.285  Support for BETA93 subtype 51.
  TYPETAPR 30.284  Support for additional PHYSVOL/VOLUME file fields.
  UTILEXCL 30.278  MXGNOTE on log identifies create date of IMACEXCL.
  JCLSPLIT 30.287  Examples DECOMPRESS CICS/DB2 on z/OS for ASCII MXG.
  UTILEXCL 30.283  Better support for UNKNOWN FIELDS to prevent 180.
  READDB2  30.280  MXG 30.10 IFCID=STATS could still fail.
  VFMT102  30.279  VFMT102 mapping DBID/OBID/PSID safer algorithm.
  MXGNAMES 30.275  MXGNAMES/CONFIMXG supports a USER FORMAT library.

  Major enhancements/corrections added in MXG 30.10, dated Jan  3, 2013:

  VMXGALOC 30.273  SERIOUS ERROR if MONTH is used with VMXGALOC/UTILBLDP
  TYPE7072 30.264  Support for APAR OA39562 new TYPE70Y3 PKCS11 CEX4P.
  TYPE99   30.259  Support for SMF 99 Subtype 12 and 14 HiperDispatch.
  TYPEVMXA 30.254  Support for zVM new CRYPTO TYPE PRCAPMCT=10.
  TYPEVMXA 30.254  Support for zVM new HIS (SMF113) counters, zEC12.
  TYPE102  30.265  Support for DB2 Trace IFCIDs 361 and 362 populated.
  TYPEIDMS 30.270  Support for IDMS PERFMON Version 17 and 18.
  READDB2  30.257  IFCIDS=STATS fixed, use instead of IFCIDS=STATISTICS.
  BUILDPDB 30.260  PDB.JOBS variable ABENDS count included some RETURNs.
  BLDSMPDB 30.255  WEEKKEEP, WEEKDROP now work as documented.
  ASUM70PR 30.266  Variable LFARIFLS added to ASUM70PR datasets.
  TYPE113  30.274  Correction to DWINSORM/DWDASORM for one book CEC.
  SMFSRCH  30.269  Incorrectly tried to write to USERID.SMFOUT.DATA.
  TYPE80A  30.268  RACF317 detect BPX.DEFAULT.USER, invalid in z/OS 2.1.

  Major enhancements/corrections added in MXG 30.09, dated Dec  3, 2012:

  TYPE120  30.244  Support for WebSphere Version 8 ID=120 Subtype 10.
  TYPECIMS 30.245  Support for BMC Mainview IMS 4.6 a/k/a IMF, CIMS.
  TYPEEJES 30.238  Support for Phoenix Software (E)JES SMF record.
  TYPEBETA 30.237  Support for BETA93/97 Version 4.3.0 (INCOMPATIBLE).
  TYPE119  30.249  SMF ID-119 SUBTYPE=51 INPUT STATEMENT EXCEEDED.
  TYPEDB2  30.246  DB2STATS QWOSxxxx wrong if ZOSMETRICS=YES not set.
  VMXG2DTE 30.242  New CRITERIA= parameter inserts selection SAS code.
  ANALDB2R 30.241  Revised mapping of DBID and OBID objects to names.
  VFMT102  30.241  Revised mapping of DBID and OBID objects to names.
  GRAFDB2B 30.240  Graphic/tabular DB2 Buffer Size reports, ODS or GRAPH
  VMXGCOPY 30.243  VMXGCOPY copies SAS datasets from multiple LIBNAMEs.
  TYPE113  30.236  Spurious DEACCUMULATION RESET message not printed.

  Major enhancements/corrections added in MXG 30.08, dated Nov  7, 2012:

  If you downloaded MXG 30.08 dated Nov  5, please refresh with Nov 7:

  Change 30.234 is REQUIRED with APAR OA37826 (z/EC12 TYPE74); it was
  NOT in MXG 30.08 dated Nov 5.  Use only the Nov 7 Version 30.08 if
  you have installed that APAR:

  TYPE74   30.234  ERROR: INVALID DATA FOR CHAR4, STOPOVER, APAR OA37826

  TYPE110  30.228  Support for CICS/TS 5.1 INCOMPATIBLE - 30.08 REQUIRED
  TYPEDB2  30.229  Support for DB2 NETEZZA optional data corrections.
  TYPE113  30.201  Support for HIS zEC12 new Extended Counters, calcs.
  TYPE7072 30.212  Support for zEC12 CRYPTO EXPRESS4S APAR OA37016.
  TYPE74   30.209  Support for APAR OA37826 Channel Path Types CIB, CFP.
  TYPE70   30.208  Support for APAR OA37803 Warning Track Interrupt.
  TYPE74   30.207  Support for APAR OA39993 Interrupt Delay Time
  TYPE79   30.207  Support for APAR OA39993 Interrupt Delay Time
  TYPE71   30.206  Support for APAR OA38660 eC12 SCM and Pgbl Large.
  TYPE78   30.206  Support for APAR OA38660 TYPE78PA additions.
  TYPEDCOL 30.204  Support for APAR OA38980 ZFS dataset flag, FREEs.
  ASUMTAPE 30.203  Support for JES3 Main Device Scheduler IAT5210/5918.
  ASUMTAPE 30.203  INCOMPATIBLE: PDB.ASUMTAPE SORT ORDER CHANGED.
  TYPENMON 30.226  Support for MEMAMS Memory Object, French text.
  TYPENDM  30.220  Support for NDM-CD Subtype CX creates NDMCX dataset.
  TYPE110  30.213  MXG 30.07 only. CICS STID=30 WARNING message fixed.
  TYPEDB2  30.210  DB2 V10 APAR PN29124 detects IBM BIF INCOMPATIBLE.
  TYPETPMX 30.216  MVS Solutions Thruput Manager SMF subtype 5 updates.
  ASMRMFV  30.202  RMF III Enhancements and Fixes.
  TYPERMFV 30.217  Reading RMF III data on ASCII - INVALID date message.
  TYPEVMXA 30.215  z/VM BROKE CONTROL record when MONWRITE concatenated.
  TYPEDB2  30.211  QISTCOLS now deaccumulated again.
  TYPEDB2  30.222  IFCID=239 DB2ACCTP sets DB2PARTY, QPACROLL, QPACRUSM.
  VFMT102  30.219  NODUPKEY temp circumvention for overlapped range.
  TYPE70   30.233  TYPE70 CPUWAITM incorrect, greater than CPUUPTM
  TYPETMS5 30.205  Variable ACTVOL added to TMS.TMS dataset.
  ANALDB2R 30.219  Mapping of dBID/OBID values to names revised.
  ANALDB2R 30.218  INTERVAL=xxxx wasn't supported, VMXGUM MXGERROR.
  VMXGFIND 30.214  VMXGFIND to print all datasets had wrong title.
  Many     30.225  New MXGEXIMSG macro variable for diagnostics.

  Major enhancements/corrections added in MXG 30.07, dated Oct  3, 2012:

  TYPE7072 30.182  Support for zNEXT EC12 processors with 101 engines.
  ASMTAPEE 30.193  MXGTMNT Tape Mount Monitor no longer PINs UCBs.
  TYPEVMXA 30.192  z/VM Linux Processor VXAPLSL0 dataset wrong values.
  TYPEVMXA 30.190  z/VM 6.1 BROKEN CONTROL RECORD if STSI is 152 bytes.
  TYPEDB2  30.194  QMDAACCT field LENACCT=246 caused INVALID 3rd SUBSTR.
  TYPE119  30.188  Support for SMF 119 subtype 48 thru 52 (SMTP).
  ANALDB2R 30.185  Redesign to execute VFMT102 only once per ANALDB2R.
  ANALDB2R 30.186  New "MXG" DB2 reports MXGACC01 and MXGACC02.
  VFMT102  30.183  30.05/30.06 VFMT102 could have overlapped range.
  VMAC113  30.179  Formula changes from John Burg's SHARE presentation.
  BLDFORMT 30.191  JCL Example using CONFIMXG to create FORMAT library.
  VMXGSUM  30.189  Use of %CMPRES replaced by %SYSFUNC which is in base.

  Major enhancements/corrections added in MXG 30.06, dated Sep  1, 2012:

  TYPE120  30.155  Support WebSphere Asynchronous Section 120 Subtype 9.
  TYPETAPR 30.164  Support for Tandem Prognosis data files.
  TYPEZVPS 30.154  Support XAM/ZVPS VCPU Virtual CPU segment XMUSVCPU
  TYPE102  30.175  Support for IFCID=271 DB2 AUDIT PERMISSIONS trace.
  TYPE102  30.169  Invalid IFCID=145 QWT02R1L=0 caused ABEND & LOOP.
  TYPENTSM 30.159  Support MicroSoft Exchange 2010 incompat changes.
  TYPENMON 30.137  Updates to NMON/TOPAS Monitor for AIX and LINUX.
  UTILEXCL 30.157  New REPORT THREE-A IMACICEZ, IMACICE1, and IMACICE2.
  TYPERACF 30.162  RACF AUDITFID is RACF264 (TYPE80A) or AUDITID (RACF)
  TYPE120  30.155  Variable SM1209CX incorrect in TYP1209E.
  ASUMUOW  30.166  Optional add PROGRAM and PROG1-PROGnn to PDB.ASUMUOW.
  TYPEWWW  30.163  Windows IIS Server Log, strange URIQUERY, looped.
  TYPENTSM 30.156  Terminal Service object fields reversed, 2003vs2008R.
  ASMRMFV  30.161  RMF III protection/messages for VSAM read I/O error.
  TYPERMFV 30.172  RMF III Enhancements.
  TYPEDB2  30.173  Spurious INVALID QMDA SEGMENT message eliminated.
  VMXGINIT 30.171  Macro variables &PCICMNR and &WCICMNR reinstated.
  TYPE110  30.170  Obs count in CICLDR reduced from 1.7M to 70,000.
  VGETOBS  30.177  SAS 9.2 z/OS ONLY VGETOBS didn't recognize tape dset.

  Major enhancements/corrections added in MXG 30.05, dated Aug  8, 2012:

  EXITCICS 30.130  DB2 V10 compressed records "enhanced": NOW WORKS!
                  (And this VERSION 3 DOES NOT NEED CICS MACRO LIBRARY).
  ANALDB2R 30.147  DB2 AUDIT reports updated for DB2PM Version 4.2
  TYPE102  30.140  Support for IFCID 269,270 Audit, decodes uniques.
  TYPEDB2  30.133  Support for (optional) DB2 Netezza Accelerator data.
  TYPEDB2  30.138  ASG TMON/DB2 PTF TE03737 corrects INVALID DB2 RECORD.
  VGETALOC 30.135  Dynamic allocation of AUTOALOC=YES LIBNAMEs.
  VMXGALOC 30.131  New READONLY and CLEARLL parameters.
  TYPE21   30.132  Corrections to SMF 21 calculations of compression.
  ANALGRID 30.126  Date range selection did not work.
  TYPERMFV 30.151  Additional Enhancements for RMF III processing.

  Major enhancements/corrections added in MXG 30.04, dated Jul  4, 2012:

  UTILEXCL 30.100  DO NOT USE UTILEXCL in MXG 30.03, "NON-FIRST" error.
  TYPE30   30.119  Support for APAR OA39629 HICPUPCT/HICPUPGM TYPE30.
  TYPEMVCI 30.109  Support for Mainview CICS v64 CICS/TS 4.2 (COMPAT).
  TYPETMD2 30.107  Support for ASG/Landmark TMON DB2 PTFs TE03699/03718.
  ASMRMFV  30.105  Support for RMF III ASIG3 segments '13'x and '14'x.
  TYPE119  30.099  Support for CO:Z SMF 119 Subtypes 192 and 193.
  TYPE1415 30.103  Support for z/OS 1.13-added RAS segment (COMPATIBLE).
  TYPERACF 30.120  Support for RACF database Record 02G1.
  TYPEDB2  30.113  Support for DB2 V10 restructured QIST statistics.
  TYPEZPRO 30.116  Support for Voltage SecureData for z/OS z/Protect.
  ASUM70PR 30.106  zIIP SHARE WEIGHTS calculated for each LPAR.
  TYPEDCOL 30.098  DCOLLECT BKUP fields added by z/OS 1.11 supported.
  TYPE70EN 30.104  Variable SMF70CIN in TYPE70EN was 'ZIP', now 'IIP'.
  TYPE119  30.121  Additional formats to decode TYPE119 SSH fields.
  TRNDRMFI 30.115  Revisions for TRNDRMFI using VGETWKLD.
  TYPESASU 30.114  SAS User Records with SASPROC='SQL (63)' protected.
  TYPEPMX  30.112  Variables TPMAJCT/TPMSCT too large by 100.
  TYPE80A  30.111  Debugging PUT 'DEBUG 1' is now disabled.
  TYPEWPMO 30.110  Windows PERFMON data now supports any delimiter.

  Major enhancements/corrections added in MXG 30.03, dated May 30, 2012:

  ASMRMFV  30.095  Major RMF Enhancements.
  ANALID   30.042  SMF AUDIT REPORT - MAJOR ENHANCEMENT - IN BUILDPDB.
  TYPEDB2  30.089  Support for DB2 V10 APAR PM24723 adds data IFCID=225.
  TYPE105  30.080  Support for GDPS SMF 105 now validated with SMF data.
  TYPESAMS 30.073  Support for CA Vantage Stor Resc MGR 12.6.00 INCOMAT.
  TYPE74   30.072  Support for RMF 74 APAR OA36831 (COMPAT) SMF74NSS.
  TYPECMA  30.070  Support for CA-Spool Subtype 12 (partial).
  TYPEFERT 30.066  Support for new subtype 1 and 4 FERRET SMF records.
  TYPE115  30.064  Support for MQ QJST 7.01B Statistics Block.
  TYPE117  30.063  SMF 117 IMFL subtype SM17ACCT kept in WS 7.0.0.3 SMF.
  UTILEXCL 30.092  WMQGETTM, others, incorrectly multiplied by 16.
  TYPE60   30.082  INPUT EXCEEDED for ID=60 with no VVR segment.
  BLDSMPDB 30.081  Enhancement adds rundays=mon tue ... to list days.
  TYPE110  30.078  SMSxxxxx variables were 1024 times large.
  READDB2  30.077  Cleanup of WANTONLY, IFCID=STATS, 106, etc.
  TYPETPMX 30.075  READTIME kept in all, JOB/JESNR/JBL24 in TPMJBL24
  TYPE7072 30.069  New 1.13 CPUPDPTM/R723RTDM/RTDC/RTDT now populated.
  DAILYDSN 30.068  DAILYDSN now uses EDGRXEXT instead of EDGRDEXT.
  TYPE71   30.083  ERROR: DOMAIN ERROR, SAS 9.1.3 SP4 Only.

  Major enhancements/corrections added in MXG 30.02, dated Apr 15, 2012:

  BUILDPDB 30.042  SMF AUDIT REPORT
  Many     30.012  RUN STATEMENT HAS NO EFFECT message is removed.
  READDB2  30.031  Requesting IFCIDS=ACCOUNT with IFCIDS from SMF 102
  TYPE0    30.040  Variable DOWNTM was a missing value in PDB.IPLS.
  TYPE102  30.037  Support for BMC APPTUNE V6R3 SMF 102 records INCOMPAT
  TYPE102  30.038  Support for DB2 IFCIDs 357 and 358.
  TYPE102  30.055  Support for DB2 APAR PM37956 to SMF 102 IFCID 25
  TYPE110  30.008  CICS/TS 4.2 INVALID STILEN STID=116, zero obs STISJS
  TYPE119  30.009  Support for SMF 119 ST 6 z/OS 1.13 (INCOMPAT).
  TYPE21   30.014  Support for APAR OA33947 for TS1140 Tape Drive
  TYPE71   30.058  New vars added to RMF TYPE71 dataset by z/OS 1.13
  TYPE73   30.004  Some FICON-related variables were wrong values.
  TYPE73   30.054  ERROR: Zero divide in SMF 73 records, new FICON data.
  TYPE85   30.050  Support for SMF 85 records from z/OS 1.13 (INCOMPAT,
  TYPEBBMQ 30.047  Support for BMC Mainview for MQ Version 5.1 (INCOMPAT
  TYPEBVIR 30.057  Support for TS7700 Version 2.0a (INCOMPATIBLE)
  TYPEDB2  30.032  DB2 variable QWHDRQNM can contain an ipv6 address.
  TYPEEZSM 30.041  Support for EMC EzSM z/OS Storage Manager SMF record
  TYPEHSM  30.006  Support for HSM SMF z/OS 1.12 changes (COMPATIBLE)
  TYPEM204 30.002  MODEL 204 records could be output to wrong dataset.
  TYPENDM  30.039  NDM-CDI record 'XO' caused "UNKNOWN SUBTYPE" message.
  TYPENTSM 30.044  Updates to D062, D063, D060, VWRP, D059, D057, VWVS.
  TYPERMFV 30.043  Updates for RMF III RCD records without....
  TYPERSDA 30.035  RSD/FOLDERS name fields were increased to $250.
  TYPESVIE 30.051  Support for SYSVIEW PTF Test APAR TSD0145, for IMS.
  TYPETMD2 30.060  Support for TMON/DB2 V5, INCOMPATIBLE, for DB2 V10.
  TYPETMMQ 30.025  Support for TMON for MQ Version 2.2/2.3/2.4 INCOMPAT
  TYPEXAM  30.003  Spurious XAM INVALID CPU RECORD messages.
  UTILCPLG 30.026  %UTILCPLG will copy your .LOG and .LST files.
  VMACSMF  30.023  A third-party product creates invalid DB2 ID=101
  VMXGGETM 30.034  VMXGGETM only supported 512 subtypes.

  Major enhancements/corrections added in MXG 30.01, dated Feb 13, 2012:

  BUIL3005 30.011  MXG 29.29 BUILDPD3 for JES3 CRITICAL ERROR, REQUIRED.
                   PDB.JOBS incorrectly built with 29.29. JES 3 ONLY.
                   This change motivated the release of MXG 30.01.
  TYPE119  30.009  Support for SMF 119 ST 6 z/OS 1.13 (INCOMPAT).
                   No execution error, but data in TYP11906 is wrong.
  TYPE110  30.008  CICS/TS 4.2 INVALID STILEN STID=116, zero obs STISJS
                   Possible loss of subsequent statistics subtypes.
  TYPE21   30.014  Support for APAR OA33947 for TS1140 Tape Drive
  TYPE73   30.004  Some FICON-related variables were wrong values.
  TYPE102  30.001  QW0319FL, Encryption Type, format AES/DES reversed.
  ANALDB2R 30.007  PMSTA01/PMSTA02 DB2 Statistics, INTERVAL=DATE fixed.
  TYPEM204 30.002  MODEL 204 records could be output to wrong dataset.
  TYPEHSM  30.006  Support for HSM SMF z/OS 1.12 changes (COMPATIBLE)

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

      SAS Version 9.3 TS1M1 is RECOMMENDED for all PLATFORMS, because
      SAS Version 9.3 TS1M0 REQUIRES THE HOT FIX in SAS NOTE SN43828
      (for all platforms), and TS1M1 contains that Hot Fix.

      ***************************************************************
      As documented in Change 27.356, with SAS V9.3):
        The standard SAS JCL Procedure can be used for MXG:
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
      or you can continue to use the MXGSAS93 JCL Procedure example.
      ***************************************************************

      MXG 26.03 thru MXG 30.30 will execute under SAS Version 9.3, on
      all supported platforms, but as noted above, you need TS1M1.  With
      TS1M0, then the Hot Fix in SAS Problem Note SN43828 is REQUIRED to
      correct an error in the %MACRO compiler, which is SAS portable
      code, so that Hot Fix is required for ALL platforms.
       The %MACRO compiler error is in processing %LET statements. While
       only two MXG members failed repeatedly in MXG QA tests on z/OS,
       there were random %LET errors in ASCII QA tests, so ANY use of
       %LET statement on ANY platform are vulnerable to this error, as
       the %MACRO compiler is SAS portable code, used on all platforms.
       So this is NOT just an MXG error, but impacts ALL SAS programs.
      With the Hot Fix on TS1M0, the full MXG QA test stream executed,
      and there were no new warnings on z/OS.

      Unrelated to the above SAS Note/Hot Fix, ODS users will want to
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, that were fixed in MXG Version 29.06.
      See Changes 29.159 and 29.169.

      MXG 26.03 thru MXG 30.30 will execute under SAS V9.2, or with
      SAS V9.1.3 with Service Pack 4, on all supported SAS platform.
        SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
        the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
        SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform,
        but SAS V9.2 does execute on that platform.

      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level C" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I can not guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3, FOR BOTH OF US, TO AVOID FIXED PROBLEMS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
        SN43828 is REQUIRED.  See text of Change 29.159.
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
        Version 26.03 or later execute under SAS V9.3 on all platforms.

        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2 and V9.3
        are interchangeable and can be read/written by any of those
        versions, provided they are on the same platform.
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
          same "platform" and attempting to read/use the FORMAT catalog
          created on one of those "platforms" on the other "platform"
          will error out to remind you of that difference!
        SAS V9.3 did change ODS processing defaults and syntax that
        might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support V9.3 ODS, and MXG 29.06 is STRONGLY recommended for ODS
        with SAS V9.3.

      For SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
        V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
        and vice versa.

        MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      MXG QA tests are executed on z/OS with SAS V9.1.3 and V9.2 and
      on Windows XP with 32-bit INTEL, and on Windows Seven Ultimate
      32-bit and 64-bit OS on 64-bit hardware, but MXG is installed
      on many more hardware and software platforms: since they all work,
      we don't need to list them.  If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

III.  WPS Version requirement information:

      WPS Version 2.4   requires MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for "MXG Support for WPS Software"

IV.   MXG Version Required for Hardware, Operating System Release, etc.



    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2011        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11
      CICS-TS for Z/OS Version 2.2     Jan 25, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS for Z/OS Version 2.3     Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011        29.05*
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012        30.01*
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012        30.08
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013        30.30
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02A
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 Full plus Compressed.   Nov  1, 2010        28.07*
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011        28.28*
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011        29.07*
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011        30.07*
      DB2 10.1 DBID/OBID decode        Jan 21, 2013        30.30*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Webshpere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        27.01*
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004        26.01*
      IMS log 10.0                     Mar 06, 2007        26.01*
      IMS log 11.0                     Apr  1, 2010        28.02*
      IMS log 12.0                     Jan 23, 2012        29.29*
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for DB2 Version 5.0                     30.02
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07
       The Monitor for CICS TCE 3.4 (for CICS/TS 5.1)      30.30
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       APPTUNE V6R3 SMF 102                                30.037
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               26.02*
       IMF 4.4 (for IMS 9.1)                               27.07*
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       27.07
       IMF 4.6 a/k/a Mainview IMS                          30.09
       Mainview for MQ Version 4.4                         29.03
       Mainview for MQ Version 5.1                         30.02
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04
       Mainview for CICS Version 6.1                       26.26
       Mainview Auto Operator data file                    28.28
       Mainview for DB2 THRDHIST file                      20.20
       Mainview for TCP/IP                                 20.20
       Mainview for Batch Optimizer                        19.19
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07

V.    Incompatibilities and Installation of MXG 30.30.


 1. Incompatibilities introduced in MXG 30.30:

  a- Changes in MXG architecture made between 30.30 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.


VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.



Alphabetical list of important changes in MXG 30.30 after MXG 29.29:

  Dataset/
  Member   Change    Description

  ANALCOMP 30.286  Graphic comparison of values over time.
  ANALDB2R 30.007  PMSTA01/PMSTA02 DB2 Statistics, INTERVAL=DATE fixed.
  ANALDB2R 30.147  DB2 AUDIT reports updated for DB2PM Version 4.2
  ANALDB2R 30.176  New AUDIT= parms, PMACC02 standalone error fixed.
  ANALDB2R 30.185  Redesign to execute VFMT102 only once per ANALDB2R.
  ANALDB2R 30.186  New "MXG" DB2 reports MXGACC01 and MXGACC02.
  ANALDB2R 30.218  INTERVAL=xxxx wasn't supported, VMXGUM MXGERROR.
  ANALDB2R 30.219  Mapping of dBID/OBID values to names revised.
  ANALDB2R 30.241  Revised mapping of DBID and OBID objects to names.
  ANALGRID 30.126  Date range selection did not work.
  ANALID   30.042  SMF AUDIT REPORT - MAJOR ENHANCEMENT - IN BUILDPDB.
  ASMDBLKU 30.168  Enhancement to ASM program that recreates VB & VBS.
  ASMRMFV  30.105  Support for RMF III ASIG3 segments '13'x and '14'x.
  ASMRMFV  30.161  RMF III protection/messages for VSAM read I/O error.
  ASMRMFV  30.202  RMF III Enhancements and Fixes.
  ASMTAPEE 30.193  MXGTMNT Tape Mount Monitor no longer PINs UCBs.
  ASUM70PR 30.106  zIIP SHARE WEIGHTS calculated for each LPAR.
  ASUM70PR 30.266  LPARIFLS variable counts IFL engines in each LPAR.
  ASUM70PR 30.266  Variable LFARIFLS added to ASUM70PR datasets.
  ASUMDBSS 30.282  Revised comments and examples.
  ASUMTAPE 30.203  Support for JES3 Main Device Scheduler IAT5210/5918.
  ASUMUOW  30.166  Optional add PROGRAM and PROG1-PROGnn to PDB.ASUMUOW.
  BLDFORMT 30.191  JCL Example using CONFIMXG to create FORMAT library.
  BLDSMPDB 30.005  Using MXGINCL parameter was ignored.
  BLDSMPDB 30.081  Enhancement adds rundays=mon tue ... to list days.
  BLDSMPDB 30.255  WEEKKEEP, WEEKDROP now work as documented.
  BUIL3005 30.011  MXG 29.29 BUILDPD3 for JES3 CRITICAL ERROR, REQUIRED.
  BUILDPDB 30.042  SMF AUDIT REPORT
  BUILDPDB 30.260  PDB.JOBS variable ABENDS included some RETURNs.
  DAILYDSN 30.068  DAILYDSN now uses EDGRXEXT instead of EDGRDEXT.
  EXITCICS 30.130  DB2 V10 compressed record SUPPORT - "enhanced"-works!
  FORMATS  30.024  New format MG073FE decodes SMF73GEN and R79CGEN FICON
  GRAFDB2B 30.240  Graphic/tabular DB2 Buffer Size reports, ODS or GRAPH
  JCLSPLIT 30.287  Examples DECOMPRESS CICS/DB2 on z/OS for ASCII MXG.
  MXGNAMES 30.275  MXGNAMES/CONFIMXG supports a USER FORMAT library.
  Many     30.012  RUN STATEMENT HAS NO EFFECT message is removed.
  Many     30.225  New MXGEXIMSG macro variable for diagnostics.
  READDB2  30.031  Requesting IFCIDS=ACCOUNT with IFCIDS from SMF 102.
  READDB2  30.077  Cleanup of WANTONLY, IFCID=STATS, 106, etc.
  READDB2  30.144  PDBOUT with specific IFCIDS did not copy T102Sxxx.
  READDB2  30.257  IFCIDS=STATS fixed, use instead of IFCIDS=STATISTICS.
  READDB2  30.280  MXG 30.10 IFCID=STATS could still fail.
  SMFSRCH  30.269  Incorrectly tried to write to USERID.SMFOUT.DATA.
  TRNDRMFI 30.115  Revisions for TRNDRMFI using VGETWKLD.
  TYPE0    30.040 -Variable DOWNTM was a missing value in PDB.IPLS.
  TYPE102  30.001  QW0319FL, Encryption Type, format AES/DES reversed.
  TYPE102  30.037  Support for BMC APPTUNE V6R3 SMF 102 records INCOMPAT
  TYPE102  30.038  Support for DB2 IFCIDs 357 and 358.
  TYPE102  30.055 -Support for DB2 APAR PM37956 to SMF 102 IFCID 25.
  TYPE102  30.140  Support for IFCID 269,270 Audit, decodes uniques.
  TYPE102  30.169  Invalid IFCID=145 QWT02R1L=0 caused ABEND & LOOP.
  TYPE102  30.175  Support for IFCID=271 DB2 AUDIT PERMISSIONS trace.
  TYPE102  30.265  Support for DB2 Trace IFCIDs 361 and 362 populated.
  TYPE105  30.080  Support for GDPS SMF 105 now validated with SMF data.
  TYPE110  30.008  CICS/TS 4.2 INVALID STILEN STID=116, zero obs STISJS.
  TYPE110  30.078  SMSxxxxx variables were 1024 times large.
  TYPE110  30.170  Obs count in CICLDR reduced from 1.7M to 70,000.
  TYPE110  30.213  MXG 30.07 only.  CICS STID=30 WARNING message.
  TYPE110  30.278  TASZIPTM and TASELGTM documented, TASELGTM corrected.
  TYPE113  30.179  Formula changes from John Burg's SHARE presentation.
  TYPE113  30.201  Support for HIS zEC12 new Extended Counters, calcs.
  TYPE113  30.236  Spurious DEACCUMULATION RESET message not printed.
  TYPE113  30.274  Correction to DWINSORM/DWDASORM for one book CEC.
  TYPE115  30.064  Support for MQ QJST 7.01B Statistics Block.
  TYPE117  30.063  SMF 117 IMFL subtype SM17ACCT kept in WS 7.0.0.3 SMF.
  TYPE119  30.009  Support for SMF 119 ST 6 z/OS 1.13 (INCOMPAT).
  TYPE119  30.099  Support for CO:Z SMF 119 Subtypes 192 and 193.
  TYPE119  30.121  Additional formats to decode TYPE119 SSH fields.
  TYPE119  30.188  Support for SMF 119 subtype 48 thru 52 (SMTP).
  TYPE119  30.249  SMF ID-119 SUBTYPE=51 INPUT STATEMENT EXCEEDED.
  TYPE120  30.155  Support WebSphere Asynchronous Section 120 Subtype 9.
  TYPE120  30.155  Variable SM1209CX incorrect in TYP1209E.
  TYPE120  30.244  Support for WebSphere Version 8 ID=120 Subtype 10.
  TYPE1415 30.103  Support for z/OS 1.13-added RAS segment (COMPATIBLE).
  TYPE21   30.014  Support for APAR OA33947 for TS1140 Tape Drive.
  TYPE21   30.132  Corrections to SMF 21 calculations of compression.
  TYPE30   30.045  Debugging PUT _N_= CPUUNITS= CPUTCBTM= removed.
  TYPE30   30.119  Support for APAR OA39629 HICPUPCT/HICPUPGM TYPE30.
  TYPE60   30.082  INPUT EXCEEDED for ID=60 with no VVR segment.
  TYPE70   30.208  Support for APAR OA37803 Warning Track Interrupt.
  TYPE7072 30.069  New 1.13 CPUPDPTM/R723RTDM/RTDC/RTDT now populated.
  TYPE7072 30.182  Support for zNEXT EC12 processors with 101 engines.
  TYPE7072 30.212  Support for eC12 CRYPTO EXPRESS4S APAR OA37016.
  TYPE7072 30.264  Support for APAR OA39562 new TYPE70Y3 PKCS11 CEX4P.
  TYPE70EN 30.104  Variable SMF70CIN in TYPE70EN was 'ZIP', now 'IIP'.
  TYPE71   30.058 -New variables added to RMF TYPE71 dataset by z/OS 1.1
  TYPE71   30.083  ERROR: DOMAIN ERROR, SAS 9.1.3 SP4 Only.
  TYPE71   30.206  Support for APAR OA38660 eC12 SCM and Pgbl Large.
  TYPE73   30.004  Some FICON-related variables were wrong values.
  TYPE73   30.054 -ERROR: Divide by zero in SMF 73 records, new FICON
  TYPE74   30.072  Support for RMF 74 APAR OA36831 (COMPAT) SMF74NSS.
  TYPE74   30.207  Support for APAR OA39993 Interrupt Delay Time
  TYPE74   30.209  Support for APAR OA37826 Channel Path Types CIB, CFP.
  TYPE79   30.207  Support for APAR OA39993 Interrupt Delay Time
  TYPE80A  30.111  Debugging PUT 'DEBUG 1' is now disabled.
  TYPE80A  30.268  RACF317 detect BPX.DEFAULT.USER, invalid in z/OS 2.1.
  TYPE85   30.050  Support for SMF 85 records from z/OS 1.13 (INCOMPAT)
  TYPE99   30.259  Support for SMF 99 Subtype 12 and 14 HiperDispatch.
  TYPEBBMQ 30.047  Support for BMC Mainview for MQ Version 5.1 INCOMPAT
  TYPEBETA 30.237  Support for BETA93/97 Version 4.3.0 (INCOMPATIBLE).
  TYPEBETA 30.285  Support for BETA93 subtype 51.
  TYPEBVIR 30.057  Support for TS7700 Version 2.0a (INCOMPATIBLE).
  TYPECIMS 30.245  Support for BMC Mainview IMS 4.6 a/k/a IMF, CIMS.
  TYPECMA  30.070  Support for CA-Spool Subtype 12 (partial).
  TYPEDB2  30.032  DB2 variable QWHDRQNM can now contain an ipv6 address
  TYPEDB2  30.089  Support for DB2 V10 APAR PM24723 adds data IFCID=225.
  TYPEDB2  30.113  Support for DB2 V10 restructured QIST statistics.
  TYPEDB2  30.128  DB2 v10 QPACFLGS bit map revisions.
  TYPEDB2  30.133  Support for (optional) DB2 Netezza Accelerator data.
  TYPEDB2  30.138  ASG TMON/DB2 PTF TE03737 corrects INVALID DB2 RECORD.
  TYPEDB2  30.145  Variables CORRNAME/CORRNUM incorrect for QWHCATYP=4.
  TYPEDB2  30.173  Spurious INVALID QMDA SEGMENT message eliminated.
  TYPEDB2  30.194  QMDAACCT field LENACCT=246 caused INVALID 3rd SUBSTR.
  TYPEDB2  30.210  DB2 V10 APAR PN29124 detects IBM BIF INCOMPATIBLE.
  TYPEDB2  30.211  QISTCOLS now deaccumulated again.
  TYPEDB2  30.222  IFCID=239 DB2ACCTP sets DB2PARTY, QPACROLL, QPACRUSM.
  TYPEDB2  30.246  DB2STATS QWOSxxxx wrong if ZOSMETRICS=YES not set.
  TYPEDCOL 30.098  DCOLLECT BKUP fields added by z/OS 1.11 supported.
  TYPEDCOL 30.204  Support for APAR OA38980 ZFS dataset flag, FREEs.
  TYPEEJES 30.238  Support for Phoenix Software (E)JES SMF record.
  TYPEEZSM 30.041  Support for EMC EzSM z/OS Storage Manager SMF record.
  TYPEFERT 30.066  Support for new subtype 1 and 4 FERRET SMF records.
  TYPEHSM  30.006  Support for HSM SMF z/OS 1.12 changes (COMPATIBLE)
  TYPEIDMS 30.270  Corrections for IDMS PERFMON Version 17 and 18.
  TYPEM204 30.002  MODEL 204 records could be output to wrong dataset.
  TYPEMVCI 30.109  Support for Mainview CICS v64 CICS/TS 4.2 (COMPAT).
  TYPEMVCI 30.276  Support for Mainview CICS 6.5 for TS 5.1 COMPATIBLE.
  TYPENDM  30.039  NDM-CDI record 'XO' caused "UNKNOWN SUBTYPE" message.
  TYPENDM  30.220  Support for NDM-CD Subtype CX creates NDMCX dataset.
  TYPENMON 30.137  Updates to NMON/TOPAS Monitor for AIX and LINUX.
  TYPENMON 30.226  Support for MEMAMS Memory Object, French text.
  TYPENTSM 30.044 -Updates to D062, D063, D060, VWRP, D059, D057, VWVS.
  TYPENTSM 30.156  Terminal Service object fields reversed, 2003vs2008R.
  TYPENTSM 30.159  Support MicroSoft Exchange 2010 incompat changes.
  TYPEPMX  30.112  Variables TPMAJCT/TPMSCT too large by 100.
  TYPERACF 30.120  Support for RACF database Record 02G1.
  TYPERACF 30.162  RACF AUDITFID is RACF264 (TYPE80A) or AUDITID (RACF)
  TYPERMFV 30.043  Updates for RMF III RCD records.
  TYPERMFV 30.151  Additional Enhancements for RMF III processing.
  TYPERMFV 30.172  RMF III Enhancements.
  TYPERMFV 30.217  Reading RMF III data on ASCII - INVALID date message.
  TYPERSDA 30.035  RSD/FOLDERS name fields were increased to $250.
  TYPESAMS 30.073  Support for CA Vantage Stor Resc MGR 12.6.00 INCOMAT.
  TYPESASU 30.114  SAS User Records with SASPROC='SQL (63)' protected.
  TYPESVIE 30.051  Support for SYSVIEW PTF Test APAR TSD0145, for IMS.
  TYPETAPR 30.164  Support for six Tandem Prognosis data files.
  TYPETAPR 30.284  Support for additional PHYSVOL/VOLUME file fields.
  TYPETMD2 30.060  Support for TMON/DB2 V5, INCOMPATIBLE, for DB2 V10/
  TYPETMD2 30.107  Support for ASG/Landmark TMON DB2 PTFs TE03699/03718.
  TYPETMMQ 30.025  Support for TMON for MQ Version 2.2/2.3/2.4 INCOMPAT
  TYPETMO2 30.277  Support for TMON CICS 3.4 for CICS/TS 5.1 INCOMPAT.
  TYPETMS5 30.205  Variable ACTVOL added to TMS.TMS dataset.
  TYPETPMX 30.075  READTIME kept in all, JOB/JESNR/JBL24 in TPMJBL24
  TYPETPMX 30.216  MVS Solutions Thruput Manager SMF subtype 5 updates.
  TYPEVMXA 30.190  z/VM 6.1 BROKEN CONTROL RECORD if STSI is 152 bytes.
  TYPEVMXA 30.192  z/VM Linux Processor VXAPLSL0 dataset wrong values.
  TYPEVMXA 30.215  z/VM BROKE CONTROL record when MONWRITE concatenated.
  TYPEVMXA 30.254  Support for zVM new CRYPTO TYPE PRCAPMCT=10.
  TYPEVMXA 30.254  Support for zVM new HIS (SMF113) counters, zEC12.
  TYPEWPMO 30.110  Windows PERFMON data now supports any delimiter.
  TYPEWWW  30.163  Windows IIS Server Log, strange URIQUERY, looped.
  TYPEXAM  30.003  Spurious XAM INVALID CPU RECORD messages.
  TYPEZPRO 30.116  Support for Voltage SecureData for z/OS z/Protect.
  TYPEZVPS 30.154  Support XAM/ZVPS VCPU Virtual CPU segment XMUSVCPU
  VMXGCOPY 30.243  VMXGCOPY copies SAS datasets from multiple LIBNAMEs.
  UTILCPLG 30.026  %UTILCPLG will copy your .LOG and .LST files.
  UTILEXCL 30.092  WMQGETTM, others, incorrectly multiplied by 16.
  UTILEXCL 30.100  DO NOT USE UTILEXCL in MXG 30.03, "NON-FIRST" error.
  UTILEXCL 30.157  REPORT THREE-A IMACICEZ, IMACICE1, and IMACICE2.
  UTILEXCL 30.278  MXGNOTE on log identifies create date of IMACEXCL.
  UTILEXCL 30.283  Better support for UNKNOWN FIELDS to prevent 180.
  VFMT102  30.183  30.05/30.06 VFMT102 could have overlapped range.
  VFMT102  30.241  Revised mapping of DBID and OBID objects to names.
  VFMT102  30.279  VFMT102 mapping DBID/OBID/PSID safer algorithm.
  VGETALOC 30.135  Dynamic allocation of AUTOALOC=YES LIBNAMEs.
  VGETOBS  30.177  SAS 9.2 z/OS ONLY VGETOBS didn't recognize tape dset.
  VMACSMF  30.023  A third-party product creates invalid DB2 ID=101.
  VMXG2DTE 30.242  New CRITERIA= parameter inserts selection SAS code.
  VMXGALOC 30.131  New READONLY and CLEARLL parameters.
  VMXGALOC 30.273  SERIOUS ERROR if MONTH is used with VMXGALOC/UTILBLDP
  VMXGFIND 30.214  VMXGFIND to print all datasets had wrong title.
  VMXGGETM 30.034  VMXGGETM only supported 512 subtypes.
  VMXGINIT 30.148  FIXORDER dataset only created for dynamic allocate.
  VMXGINIT 30.171  Macro variables &PCICMNR and &WCICMNR reinstated.
  VMXGSUM  30.189  Use of %CMPRES replaced by %SYSFUNC which is in base.



  See member CHANGESS for all changes ever made to MXG Software.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 30.

====== Changes thru 30.292 were in MXG 30.30 dated Jan 21, 2013=========

Change 30.292 -JCL Proc Examples and Config members were added/aligned.
CONFIGN9       JCL Proc Examples MXGSAS92 and MXGSAS93 invoke CONFIGV9,
CONFIG9N       which has set option NLSCOMPATMODE for many years, but
CONFIGV9       now, SAS prints a warning when that option is enabled:
Jan 19, 2013    WARNING: SAS HAS BEEN STARTED IN NLS COMPATIBILITY MODE
Feb 18, 2013             NLSCOMPATMODE OPTION MAY BE DEPRECATED. ETC.
                         CONTACT YOUR SAS ADMMINISTRATOR. ETC.
              -Instead of MXGSASxx JCL PROC, using MXGNAMES/CONFIMXG in
               Change 27.356 has been the MXG JCL recommendation since
               that change, as it executes the site's SAS JCL procedure
               and uses the site's default options, and it does not
               print that warning message.  But MXGNAMES/CONFIG text
               must be used around // EXEC SAS in every MXG Job's JCL.
              -So you may still have to EDIT the MXGSAS92/MXGSAS93 JCL
               Proclib members to use the desired CONFIGxx member:
                  CONFIGV9 which sets   NLSCOMPATMODE, unchanged.
                  CONFIGN9 which doesn't set that option, new in 30.30.
                  CONFIG9N which sets NONLSCOMPATMODE, new in 31.01.
              -So why set NONLSCOMPATMODE?  Because SAS V9.2 ABENDED
               underscoring CALL SYMPUT$ text that is CALL SYMPUT( in
               code (deep inside VMXGSUM deep inside VMXGRMFI) and SAS
               Technical Support identified the error as documented in
               SAS Note 37974 (for SAS V9.2 only) which documents:
                 "NLSCOMPATMODE causes some CALL routines to generate
                  errors on MVS in some non-English environments. To
                  reproduce the error invoke SAS using the command below
                  and submit the statements that follow it.
                   ===> THE EXAMPLE IS A CALL SYMPUT <===
                  Currently the only fix for this is to issue the option
                  NONLSCOMPATMODE"
               So the new CONFIG9N member exists to set that option if
               you encounter this error.  The failure occurred at a site
               which had specified default values of:
                  NLSCOMPATMODE
                  LOCALE=EN_GB
               and all NLS issues to date impacted only sites outside
               the US that do not have LOCALE=EN_US.

Change 30.291  VPS Subsystem SMF ID=6 NOTE: INVALID ARGUMENT INPUT FUNCT
VMAC6          because SMF6RST/SMF6RSD contain 'C540404000000000'x which
Jan 18, 2013   isn't a valid SMFSTAMP8 value (time and julian date).
               The error message and the hex dump of the SMF record is
               now prevented by adding the double question mark to the
               informat side of the INPUT function in VMAC6. The value
               in variable READTIME in TYPE6 and PDB.PRINT datasets will
               be a missing value until a fix is available from VPS.
               This text will be update when that happens.  Discovered
               late on Friday, too late for VPS response for MXG 30.30.
   Thanks to William M. Orrach, LMCo, USA.

Change 30.290A Variable LSPRWKLD='LSPR*WORKLOAD*MATCH' created and kept
ASUM113        in ASUM113 dataset.
Jan 16, 2013
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 30.290  Corrections after ITRM review for MXG 30.30:
VMAC90        -VMAC90 variable DOWNTM and IPLTIME labeled and formatted.
VMAC119       -VMAC119 TYP11997 variable SSH_FCRIPV6 kept in place of
VMACVMXA       incorrectly spelled/kept SSH_FSRIPV6.
VMACBETA      -VMACVMXA STOLMODE is labeled.
ASUMTAPE      -VMACBETA Dataset Labels clarified for BETA7, BETA8 and
ASUM113        BETA22. Variable BETARTIME is now the datetime value with
Jan 16, 2013   BETARDATE no longer kept in BETA51 dataset.
              -ASUMTAPE Temporary dataset JES3MNTS is now deleted.
              -VMAC99 Variable S99CCCCECUTIL label, asterisk removed.
              -ASUM113 Variables SMF70CIN/CIX/CPA/HDM/ONT/PAT/CECSER
               CPUTYPE LPARWLMG are labeld, PAT and ONT formatted.
   Thanks to Chris Weston, SAS ITRM, USA.

Change 30.289 -RMF III Performance Enhancements, blocking, and Fixes
ASMRMFV       -INCOMPATIBLE.  ASMRMFV & VMACRMFV should always be used
EXZRBUWX       from the same MXG Version.  Using a new VMACRMFV to read
IMACRMFV       data created by an old ASMRMFV may not work. Specifically
JCLCRMFV       with this change, to populate the new variables in the
JCLRMFV        UWD files, you must use ASMRMFV and VMACRMFV with 30.289.
VMACRMFV       See MXG SOURCLIB member JCLASM3 for the example JCL to
VMXGINIT       assemble and link-edit the ASMRMFV program. Skipping this
Jan 20, 2013   action will result in many missing UWD file variables and
               is not recommended.
              -The SHD (Sample Header), RED (Resource Data), and UWD
               (USE/WAIT) RMF III tables are now blocked in the RMFBSAM
               output file by ASMRMFV for improved I/O performance.
              -UWD records are now extended with related data based on
               type to make them useful.  In the past these records had
               no identification of the address space, device, nor the
               enqueue that related to the USE/WAIT counts.  The table
               name now displays as UWDX in ASMRMFV output.
              -VMACRMFV has been changed to support these new blocked
               tables and the new UWD extended data.
              -NOTE: VMACRMFV will no longer accept old unblocked UWD
               records.  If found, these are deleted and an MXGERROR
               message issued once.  Processing continues.  The old
               records had no information to show which address space
               the USE/WAIT record was for and so had no practical
               value.
              -There is a new ZRBUWXCF dataset for UWD type X'0A' XCF
               Message entries that includes new variables:
                 UWDXCDEV='DEV NUM*OF PATH*W MSG PENDING'
                 UWDXCMAS='ASID OF*MEMBER*SENDING*MSG'
                 UWDXCHAS='ASID THAT*INITIATED*MSG OUT'
              -Validation of UWD entry flags and entry types is
               improved.  The UWD entry will be skipped for invalid data
               and no Abend will occur.
              -All ZRBUW* files include the following new variables:
                 UWDDELAY='DELAY*SAMPLES'
                 UWDREDID='PARENT*RED ID'
                 UWDSSN  ='UWD*SAMPLE*SEQUENCE*NUMBER'
                 UWDUSING='USING*SAMPLES'
                 UWDUWDLE='UWD*BASE*LENGTH'
                 UWDUWDLX='UWD*EXTENDED*LENGTH'
                 UWDVERG3='UWD*VERSION*NUMBER'
              -All ZRBUW* files now have the following address space
               variables from the related ASI table entry added:
                 ASIENIDX ASIJOBNA ASIASINR ASIFLAG1 ASIJCLAS ASIJOBS
                 ASIJESID ASIMSTS  TYPETASK
              -ZRBUWDEV, ZRBUWSTO, and ZRBUWMNT files now have the
               following variables from the related DVT table entry
               added:
                 DVTVOLI  DVTENIDX DVTDEVNR DVTFLAG1 DVTFLAG2 DVTMEXN
                 DVTTYP   DVTIDEN  DVTCUID  DVTLCUNR DVTFLAG3 DVTHPCO
                 DEVTYPE  DEVPLPA  DEVCOMM  DEVLOCL  DEVSWAP  DVTHPAV
              -The ZRBUWENQ file now has the following variables from
               the related ENT table entry added:
                 ENTENIDX ENTMAJNA ENTMINNA ENTSCOPE ENTFLAGS
              -The ZRBASI file has two new variables for Memory Object
               analysis:
                 ASITMO  ='TOTAL*MEMORY*OBJECTS'
                 ASITMOBY='TOTAL*MEMORY*OBJECT*BYTES'
              -The ZRBASM file has four new variables added in support
               of UWD extensions:
                 ASMUWDHL='UWD*HEADER*LENGTH'
                 ASMUWDAL='UWD ASI*EXTENSION*LENGTH'
                 ASMUWDDL='UWD DEV*EXTENSION*LENGTH'
                 ASMUWDEL='UWD ENQ*EXTENSION*LENGTH'
              -The RMFBASM file version is raised to X'02' from X'01';
              -A new final message RMFV999I is now issued at the end of
               ASMRMFV processsing.  The message shows the total number
               of WARNINGS, ERRORS, SEVERES (severe errors), and the
               final Return Code.  In the case of an abend the Abend
               Code and Reason Code are also shown.  The message appears
               in both SYSPRINT and in the JES JOB log.  This provides
               one message to check to get the final status of ASMRMFV.
              -A BYTES WRITTEN column is added to all ASMRMFV RMFV105I
               messages for each combination of DATA ACTION and RMF III
               table.  The column is displayed regardless of the
               BYTES/NOBYTES parameter setting. This shows what tables
               are contributing most to the RMFBSAM output file size.
               The byte count doesn't include the 4 bytes for each BDW
               (block descriptor word).
              -Support for the RMF III ARCHAIC PGP table is suppressed,
               but could be enabled if needed.  The PGP does NOT appear
               in ASMRMFV detail and summary reports when disabled.  The
               PGP is only generated and available in z/OS Compatibility
               Mode.  IBM support for Compatibility Mode ended in March
               2002 with the release of z/OS 1.3 as Goal Mode became
               required.  But it was safer to just suppress than to
               remove code that will never be executed.
              -ASMRMFV no longer abends when an invalid RED entry is
               found.  Instead the record is skipped.
              -ASMRMFV message RMFV014I is now always issued regardless
               of the DETAIL/NODETAIL setting.
              -New ASMRMFV message RMFV035E is now issued when errors
               are detected processing the SPG, RED, UWD, DSH, or SSH
               tables.  These are intended to attract the attention of
               the support person who might otherwise overlook the less
               obvious record SKIP counts.
              -NOTE: Message RMFV035E can occur when the ERBRMFxx
               PARMLIB member for RMF Monitor specifies a non-existent
               Storage Group in the SGSPACE ADD parameter.  RMF Monitor
               III message ERB329I indicates this condition: ERB329I
               III: ONE OR MORE STORAGE GROUP NAMES ARE NOT DEFINED IN
               SMS.  In this case the entire SPG table is skipped as the
               integrity of the entries cannot be trusted as confirmed
               by RMF Support.  Correct the ERBRMFxx start up member for
               RMF III as soon as possible and modify or restart RMF III
               to restore SPG table processing.  Corrupted SPG tables
               cannot be processed by TYPERMFV.
              -ASMRMFV message RMFV033E is now RMFV033S to indicate a
               severe error when an I/O error occurs.
              -The handling of unsigned halfword binary integers in RMF
               III table fields by ASMRMFV is corrected when the high
               order bit is on.
              -Prologue documentation in the ASMRMFV source has been
               updated to provide detail on BYTES WRITTEN column and the
               skipping of UWD records.
              -Member JCLRMFV in MXG SOURCLIB now shows examples of
               building an RMF Monitor III PDB by the Direct JCL method.
              -Member JCLCRMFV in MXG SOURCLIB now shows examples of
               building an RMF Monitor III PDB by the Batch TSO CLIST
               method.
    Thanks to Steve Dyck, The Canadian Depository for Securities, Canada
    Thanks to Neil Ervin, Wells Fargo, USA


Change 30.288  Velocity Software zVPS (a/k/a XAM) records are Variable
UXAMNRDW       Length CMS files but when first copied to their ftp site
Jan 15, 2013   so I could ftp to ASCII to test new data, the two-byte
               CMS record length field had been stripped, so I wrote
               this heuristic that uses the structure of the first 16
               bytes of each XAM logical record to create a readable
               "z/OS" VB file.  However, here is the correct way to
               create a "RECFMU" file from a CMS variable file.  This
               note has been added to the MXG member FTPING:

               23. Syntax to copy the XAM z/VM CMS Variable File to
                   RECFMU on z/VM:

               z/VM exec to pipe the XAM CMS Variable data file (which
               contains a two-byte record length) thru the BLOCK command
               to create a file with the two four-byte z/OS BDW and RDW
               fields; that output file can then be downloaded by ftp as
               BINARY to an ASCII system where the file can be read with
               SAS INFILE with RECFM=S370VBS and LRECL=32760.  The
               output filetype "RECFMU" is used as this data is the same
               date with preserved BDW/RDW on z/OS created with
               DCB=RECFM=U.

               parse arg fn ft fm

               'ACC FTPPOOL:MXG.XAMDATA x (FORCERW'

               'pipe < 'fn ft fm,
                 ' | block 32760 V',
                 ' | >' fn 'RECFMU X'


                1) The Parse arg fn ft fm is actual code.

                   It assumes you would start executing the EXEC with:

                     inputfilename inputfiletype inputfilemode

                   Parse arg pulls in the filename/type/mode that you
                   specified when you started the EXEC.

                2) Looking at FTPPOOL:MXG.XAMDATA,
                      FTPPOOL is the SFS filepool name.
                      MXG     is the filespace name (USERID)
                      XAMDATA is the subdirectory under the FTPPOOL root
                    Maybe a good PC analogy would be
                      filepool name = drive letter (such as C:);
                      USERID = a directory under C:(such as MXG)
                      subdirectory something under MXG (C:\MXG\XAMDATA)
   Thanks to Dewayne Thomas, Velocity Software, USA.

Change 30.287  Executing MXG on ASCII to read compressed CICS/DB2 SMF is
JCLSPLIT       generally much faster if you FIRST decompress SMF records
JCLSPLT1       on z/OS (using IBM ASM PGM=DFH$MOLS, PGM=DSNTSMFD, or SAS
JCLSPLT2       and EXITCICS - all call IBM's CSRCESRV ASM service to do
DFH$MOLS       the decompression) and then SECOND, you run MXG on ASCII
DSNTSMFD       to read that uncompressed SMF file.  The simpler process
Jan 19, 2013   of running MXG on ASCII to directly both read compressed
               SMF data AND to uncompress it is MUCH slower because the
               CSRCESRV doesn't exist on ASCII and the ASCII alternative
               byte-by-byte SAS code decompress algorithm is functional
               but it is VERY CPU intensive (by a factor of MANY times).

               Newsletter SIXTY-ONE had execution comparison results.

               Only if you have network contention when MXG reads the
               uncompressed data might your results be different; you
               should at least test this alternative.

               These members provide examples of how to parallelize
               the MXG "BUILDPDB" process and first decompress on z/OS.

               JCLSPLIT - changes are primarily comments but the split
                          of IO and MQ data is commented out as well as
                          the SYSIN for those datasets
               JCLSPLT1 - the same as JCLSPLIT but also contains steps
                          for DFH$MOLS and DSNTSMFD
               JCLSPLT2 - the same as JCLSPLT1 but uses temp dataset
                          names for the outputs, runs DFH$MOLS, DSNTSMFD
                          and then combines all the temp datasets with
                          IFASMFDP to be fed to MXG
               DFH$MOLS - JCL to run DFH$MOLS
               DSNTSMFD - JCL to run DSNTSMFD

Change 30.286  A new program that graphically compares values over time.
ANALCOMP       Any number of variables from any number of SAS datasets
Jan 14, 2013   are aligned for starting days, weeks, months, or years,
               with ODS Graphic's PROC SGPLOT (included in Base V9.3).
               V9.2 SGPLOT does require SAS/GRAPH. One of many examples:
                 Compare hourly CPU time for each Service and Reporting
                 Class, for two weeks in November, from MONTH.TYPE72GO:
                  %ANALCOMP(INDATA=MONTH.TYPE72GO,
                        VARS=CPUTM,
                        COMPINTV=WEEK,
                        COMPARE=11NOV12 18NOV12,
                        SUMMARY=YES,
                        XAXIS=HOUR,
                        DATETIME=STARTIME,
                        SORTBY=SYSTEM RPRTCLAS SRVCLASS);

Change 30.285  Support for BETA93 subtype 51 which had been overlooked.
EXTYBETJ       This record has 10 possible field formats, so there are
IMACBETA       ten variables BETAFIELDC/H/I/V/D/T/S/B/F/P created for
VMACBETA       Character/Hex/Integer/Variable/Date/Time/Small/Byte/Flag/
VMACBETA       Pool which are populated based on BETAFTYPE value.  But,
Jan 14, 2013   the Character type has both EBCDIC and HEX values so it
               must be displayed as a hex string, since the vendor does
               not identify which Field Names are text versus hex.

Change 30.284  Support for additional fields in PHYSVOL and VOLUME file.
VMACTAPR       Now, PHYSVOL has 67 variables and VOLUME has 71.
Jan 11, 2013
   Thanks to Xiaobo Zhang, Fiserv, USA.

Change 30.283  When UTILEXCL found an UNKNOWN FIELD, the circumvention
UTILEXCL       to skip over that field could generate 180 syntax errors,
Jan 11, 2013   depending on the syntax generated for the prior and/or
               the subsequent field.  This update revises the logic to
               provide a more reliable circumvention.  UNKNOWN FIELD
               message can occur when a back-level of UTILEXCL is used
               to process a new CICS version's dictionary, or when there
               are "user" fields created by the site with names other
               than "USER".  Sending the UTILEXCL log executed with
                _BLDDICT; _BLDEXCL; _RPTEXCL ;   to support@mxg.com
               is the correct "circumvention", as that allows MXG to
               add support for a user field or detect back-level.
   Thanks to Victoria Lepak, Aetna, USA.

Change 30.282  Comments updated to document all parameters.  The default
ASUMDBSS       SUMBY list includes SHIFT, so if you change the interval
VMXGDBSS       value to DATE, wanting one observation per day, you get
Jan 10, 2013   multiple observations for each SHIFT value.  You need to
               remove SHIFT from the SUMBY list to get daily output:
                 %VMXGDBSS(
                    D2STATIN=&PDBMXG..DB2STATS,
                    D2STATOT=&PDBMXG..ASUMDBSS,
                    D2GBPSIN=&PDBMXG..DB2GBPST,
                    D2GBPSOT=&PDBMXG..ASUMDBSG,
                    D2BPSIN =&PDBMXG..DB2STATB,
                    D2BPSOT =&PDBMXG..ASUMDBSB,
                    ASUMINTV=DATE,
                    SUMBY=QWHSSSID BEGTIME,
                    INVKBY=DAILYDBSS
                );
   Thanks to Stu Samuels, Blue Cross Blue Shield of Illinois, USA.

Change 30.281 -BUILD005/BUIL3005 used in ONLYJOBS (create only PDB.JOBS)
BUILD005       set a return/condition code four for a PROC COPY message
BUIL3005       "WARNING: IN= and OUT= are the same" that is eliminated
ONLYJOBS       by this change that creates an internal %SPINCOPY macro
ONLYJOBZ       that conditionally issues the PROC COPY only when they
Jan 19, 2013   are different (as they are in all other uses of BUILD005)
               For ONLYJOBS, they are correctly the same and the COPY
               is not needed nor wanted.
              -The original ONLYJOBS is now stored as ONLYJOBZ as a fine
               example of how to tailor BUILDPDB using the old-style
               macros, because the new ONLYJOBS now uses the newer and
               more powerful %UTILBLDP macro (but still needing some of
               those old-style macros) to create ONLY the datasets that
               are actually needed by BUILD005.
   Thanks to DJ Chen, Florida Department of Corrections, USA.

Change 30.280 -MXG 30.10 iteration, IFCIDS=STATS still failed even after
READDB2        Change 30.257, generating DB2STAT4 NOT SORTED ERROR, due
Jan  9, 2013   to my insufficient testing with only OBS=0.  You can use
               IFCIDS=STATISTICS with 30.10 to circumvent this error.
              -And the intended change to NOT create T102S106 unless it
               was requested went too far, since it was NOT created when
               106 was in the list of requested IFCIDS.  (30.01 can be
               circumvented by adding T102106=YES as an argument).
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 30.279  The VFMT102 mapping of DBID/OBID/PSID value to the DB2
VFMT102        name has been reset to the safer algorithm that uses
Jan  8, 2013   PROC SORT to remove duplicate values; recent attempts to
               construct the format and/or to use a MERGE have never
               completely removed the overlap in values; that code is
               kept in ZFMT102 from the last try until time and more
               guidance from IBM DB2 support is available.

Change 30.278 -The MXG-created TASZIPTM/TASELGTM variables in CICSTRAN,
VMAC110        CICS/TS 5.1, were only populated when UTILEXCL was used
UTILEXCL       to create an IMACEXCL, but are now populated in default
VMXGUOW        5.1 VMAC110 code, from IBM CPUTONCP/OFFLCPUT fields also
Jan  7, 2013   used to create CPUTONTM/CPUTONCN/OFFLCPUTM/OFFLCPCN in
Jan 13, 2013   Change 30.228 (CICS/TS 5.1 and APAR OA38409 is required).
               Labels are corrected to provide clearer documentation:
                 CPUTONTM='TASK TOTAL*CPU TCB TIME*ON CP ONLY'
                 CPUTONCN='TASK TOTAL*DISPATCHES*ON CP ONLY'
                 TASCPUTM='TASK TOTAL*CPU TCB TIME*ON BOTH*CP+ZIIP'
                    (This is NOT NEW - has always been the sum of
                     CP and (normalized) zIIP CPU time).
                 TASDSPCN='TASK TOTAL*DISPATCHES*ON BOTH*CP+ZIIP'
                 TASZIPTM='TASK*ZIIP ONLY*CPU TCB*TIME'
                 TASELGTM='TASK*ZIIP-ELIGIBLE*RAN ON CP*CPU TCB TIME'
                 OFFLCPTM='TASK*ZIIP-ELIGIBLE*RAN ON CP*CPU TCB TIME'
                 OFFLCPCN='TASK*ZIP-ELIGIBLE*RAN ON CP*DISPATCHES'
              -The calculation of TASZIPTM and TASELGTM were not shown,
               and TASELGTM WAS WRONGLY CALCULATED prior to this change;
               TASELGTM is equal to OFFLCPTM, but having created it, I'm
               now compelled to keep the two identical variables:
                 TASELGTM=OFFLCPTM;
                 TASZIPTM=TASCPUTM-CPUTONTM;
              -UTILEXCL now creates a new MXGNOTE in the IMACEXCL that
               identifies the creation date of that IMACEXCL on the SAS
               log when it is included, to confirm there is a tailored
               IMACEXCL in use.
              -ASUMUOW now keeps TASZIPTM TASELGTM and CPUTONTM.

Change 30.277  Support for TMON for CICS Release 3.4 for CICS/TS 5.1
EXMONTV        INCOMPATIBLY adds variables to existing datasets and
IMACTMO2       creates one new dataset:
VMACTMO2          DDDDDD   DATASET   DESCRIPTION
VMXGINIT          MONTV    MONITV    JVM SERVER STATISTICS
Jan  6, 2013  -Dataset MONITASK new variables:
                 TAU64HWM='USER 64 POOL HWM'
                 TAC64HWM='CICS 64 POOL HWM'
                 TASTCPUT='STANDARD*CP*CPU*TIME'
                 TASTCPUC='STANDARD*CP*COUNT'
                 TASTCPOT='OFFLOAD*ON*STD*CPU'
                 TASTCPOC='OFFLOAD*ON*STD*COUNT'
              -Dataset MONISYST new variables:
                 TIENCCTM TIHU64ID TIU64HWM TIHC64ID TIC64HWM TISTCPUT
                 TISTCPUC TISTCPOT TISTCPOC
              -Dataset MONIPA new variables:
                 PAACAPPL PAACMAJV PAACMICV PAACMINV PAACOPER PAACPLAT
                 PACECMCH PACECMDL PACLIPPO PACURTAS PAISIPNM PAMAXTAS
                 PAOADAT1 PAOADAT2 PAOADAT3 PAOADID  PAOAPPL  PAOASTRT
                 PAOCLIPA PAOCLIPP PAOFCTNM PAONETWK PAOPORTN PAOTCPSV
                 PAOTRAN  PAOTRNUM PAOUSER  PAOUSRCO PAPHAPPL PAPHCNT
                 PAPHNTWK PAPHSTRT PAPHTRAN PAPHTRNO PASOCIPH PAWBATNM
                 PAWBPINM PAWBPRON PAWBSVCN PAWBSVON PAWBURNM PASC64CC
                 PASC64CH PASC64FS PASC64GS PASC64SC PASC64UC PASC64UH
                 PADHDLC  PAWMQREC PACPUTOC PACPUTOT PAOFFLCC PAOFFLCT
                 PAMQGETC PAMQGETT PAMQGETC PAMQGETT PACLIPAD PAFCVSWC
                 PAFCVSWT PAFCXCWC PAFCXCWT PAISALWC PAISALWT PAISIOWC
                 PAISIOWT PAJVMTHC PAJVMTHT PAMQSRBC PAMQSRBT PAMXDLYC
                 PAMXDLYT PAROMODC PAROMODT PASOMODC PASOMODT PAT8CPUC
                 PAT8CPUT PATCALWC PATCALWT PATDELWC PATDELWT PATDILWC
                 PATDILWT PABFDGSC PABFTOTC PAECEFOC PAECEVNC PAECSEVC
                 PAECSIGC PAEICTOC PAISALOC PAMLXMLC PAMLXSSL PAPGCSTH
                 PATIASKC PATITOTC PAWBISSC PAWBSFCC PAWBSFTC PAWBSREL
                 PAWBSRSL PAWSACBC PAWSACGC PAWSAEPC PAWSATOC
              -Dataset MONIPI new variables:
                 PIPCDLL  PIPCDRL  PIPCLCC  PIPCXCC  PIPCDCC  PIPCRCC
                 PIPCRCL  PIICSCC  PIICSCD  PIICSRC  PIICSRD  PIWBROC
                 PIWBWOC  PIWBIRC  PIWBI1C  PIWBOSC  PIWBO1C  PIWBPRC
                 PIWBBOC  PIWBIWC  PIWBRDL  PIWBWDL  PIPGCTC  PIPGBCC
                 PIPGGCC  PIPGPCC  PIPGMCC  PIPGGCL  PIPGPCL  PIPGCCC
                 PIISALOC PIEICTOC PIECSIGC PIECEFOC PIECEVNC PIECSEVC
                 PITIASKC PITITOTC PIBFDGSC PIBFTOTC PIMLXMLC PIWSACBC
                 PIWSACGC PIWSAEPC PIWSATOC PIWBSFCC PIWBSFTC PIWBISSC
                 PIPRTXCD PIL9CPUC PIL9CPUT PIX8CPUT PIX8CPUC PIX9CPUT
                 PIX9CPUC PIT8CPUC PIT8CPUT PIXTDLYT PIXTDLYC PISTDLYT
                 PISTDLYC PIMXDLYC PIMXDLYT PICMDLYC PICMDLYT PIFCXCWC
                 PIFCXCWT PIFCVSWC PIFCVSWT PIISIOWC PIISIOWT PIJVMTHC
                 PIJVMTHT PIMQSRBC PIMQSRBT PITDILWC PITDILWT PITDELWC
                 PITDELWT PIROMODC PIROMODT PISOMODC PISOMODT PIMQGETC
                 PIMQGETT PIISALWC PIISALWT PITCALWC PITCALWT PICPUTOC
                 PICPUTOT PIOFFLCC PIOFFLCT PIPHCNT  PISC64CC PISC64FS
                 PISC64GS PISC64SC PISC64UC PIWMQREC
              -The SMF format SMF 110 "CICSTRAN" records that can be
               created by TMON don't contain the eight DFHRMI S001-S008
               fields, previously optional, now created by default in
               the IBM CICS/TS 5.1 SMF 110 records and thus expected in
               the default MXG VMAC110 code for 5.1, so you will need to
               use the UTILEXCL program to create a tailored IMACEXCL to
               process these SMF records from TMON Version 3.4.

Change 30.276  Support for Mainview for CICS Release 6.5 for CICS/TS 5.1
EXMVCITD       COMPATIBLY adds variables to CMRDETL and creates these
EXMVCITS       two new datasets:
IMACMVCI          DDDDDD   DATASET   DESCRIPTION
VMACMVCI          MVCITD   MVCITDQU  TD QUEUE
VMXGINIT          MVCITS   MVCITSQU  TS QUEUE
Jan  6, 2013  -New variables in CMRDETL for CICS/TS 3.2 and later:
                  T6EXCFLC='CFDT*LOCK*WAIT*COUNT'
                  T6EXCFLT='CFDT*LOCK*WAIT*TIME'
                  T6EXCFNC='CFDT*NONLOCK*WAIT*COUNT'
                  T6EXCFNT='CFDT*NONLOCK*WAIT*TIME'
                  T6EXLBC ='LSR*BUFFER*WAIT*COUNT'
                  T6EXLBT ='LSR*BUFFER*WAIT*TIME'
                  T6EXLSC ='LSR*STRING*WAIT*COUNT'
                  T6EXLST ='LSR*STRING*WAIT*TIME'
                  T6EXSTGC='STORAGE*WAIT*COUNT'
                  T6EXSTGT='STORAGE*WAIT*TIME'
                  T6EXTBC ='TS*BUFFER*WAIT*COUNT'
                  T6EXTBT ='TS*BUFFER*WAIT*TIME'
                  T6EXTMPC='TEMP*STG*WAIT*COUNT'
                  T6EXTMPT='TEMP*STG*WAIT*TIME'
               and new CMRDETL variables populated only in CICS/TS 5.1:
                  T6E68XCT='68*EXTENSIONS'
                  T6EAPPLN='APPLICATION*NAME'
                  T6ECECID='CEC*MODEL*ID'
                  T6ECECTP='CEC*MACHINE*TYPE'
                  T6ECHWMG='GCDSA*HWM'
                  T6ECTSKS='CURRENT*TASKS AT*TRAN*ATTACH'
                  T6EFCSWC='FC VSAM*STRING*WAIT*COUNT'
                  T6EFCSWF='FC VSAM*STRING*WAIT*FLAG'
                  T6EFCSWT='FC VSAM*STRING*WAIT*TIME'
                  T6EFCXWC='FC*EXCLUSIVE*WAIT*COUNT'
                  T6EFCXWF='FC*EXCLUSIVE*WAIT*FLAG'
                  T6EFCXWT='FC*EXCLUSIVE*WAIT*TIME'
                  T6EISAWC='IS*ALLOCATE*WAIT*COUNT'
                  T6EISAWF='IS*ALLOCATE*WAIT*FLAG'
                  T6EISAWT='IS*ALLOCATE*WAIT*TIME'
                  T6EMAJVR='APPL*MAJOR*VERSION*NUMBER'
                  T6EMICVR='APPL*MICRO*VERSION*NUMBER'
                  T6EMINVR='APPL*MINOR*VERSION*NUMBER'
                  T6EMPPTX='POLICY*THRESHOLDS*EXCEEDED'
                  T6EMTSKS='MXT*AT*TRAN*ATTACH'
                  T6EOFCPC='ELIGIBLE*CPU TIME*COUNT'
                  T6EOFCPF='ELIGIBLE*CPU TIME*FLAG'
                  T6EOFCPT='ELIGIBLE*CPU TIME'
                  T6EONCPC='STD*PROC*CPU TIME*COUNT'
                  T6EONCPF='STD*PROC*CPU TIME*FLAG'
                  T6EONCPT='STD*PROC*CPU*TIME'
                  T6EOPERN='OPERATION*NAME'
                  T6EPLATN='PLATFORM*NAME'
                  T6ERODLC='RO*TCB*DELAY*COUNT'
                  T6ERODLF='RO*TCB*DELAY*FLAG'
                  T6ERODLT='RO*TCB*DELAY*TIME'
                  T6ESC64F='TOTAL*BYTES*FREED'
                  T6ESC64G='TOTAL*BYTES*OBTAINED'
                  T6ESC64S='SHARED*STORAGE*GET MAINS'
                  T6ESCCGG='GCDSA*GET*MAINS'
                  T6ESCUGG='GUDSA*GET*MAINS'
                  T6ESOCPH='CIPHER*SELECTED'
                  T6ESODLC='SO*TCB*DELAY*COUNT'
                  T6ESODLF='SO*TCB*DELAY*FLAG'
                  T6ESODLT='SO*TCB*DELAY*TIME'
                  T6ETCAWC='TC*ALLOCATE*WAIT*COUNT'
                  T6ETCAWF='TC*ALLOCATE*WAIT*FLAG'
                  T6ETCAWT='TC*ALLOCATE*WAIT*TIME'
                  T6ETDELC='TD*EXTRA*LOCK*COUNT'
                  T6ETDELF='TD*EXTRA*LOCK*FLAG'
                  T6ETDELT='TD*EXTRA*LOCK*TIME'
                  T6ETDILC='TD*INTRA*LOCK*COUNT'
                  T6ETDILF='TD*INTRA*LOCK*FLAG'
                  T6ETDILT='TD*INTRA*LOCK*TIME'
                  T6EUHWMG='GUDSA*HWM'
              -An existing INVALID DATA error for T6ECNCNT, was found in
               MXG code and corrected; it did not affect anything else.

Change 30.275  MXGNAMES/CONFIMXG adds support for a USER FORMAT library.
VMXGCNFG        %LET MXGFMTU=DSNAME; dynamically allocates //USRFORMAT
Jan  5, 2013   and sets OPTIONS FMTSEARCH=(USRFORMAT LIBRARY) to search
               the user formats first, before the MXG format library.
               If you use CONFIMXG and you have an MXGNAMES DD in a PROC
               pointed pointed at a dataset AND you override the
               MXGNAMES DD  with //MXGNAMES DD * the following message
               will be in the JOBLOG - but it is not a failure
         IEF655I INVALID DSNAME SPECIFIED WHEN SYSIN OR SYSOUT SPECIFIED

====== Changes thru 30.274 were in MXG 30.10 dated Jan  3, 2013=========

Change 30.274  Variables DWINSORM & DWDASORM are set to zero in TYPE113
ASUM113        if this is a one book machine, if L4RP LE 0 (one book) or
VMAC113        SM1132MM='M10' (2818 - z114).
Jan  2, 2013
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 30.273  MXG 30.05-30.09.  VMXGALOC with MONTH argument did not
VMXGALOC       correctly calculate the preceding month; when run with
Jan  2, 2013   normal _TODAY, on Jan 1, 2013, the monthly data was
               written to November instead of December.  Using FORCEDAY
               of 1JAN2013 with MONTH did copy correctly.
   Thanks to Richard Krueger, Sentry Insurance, USA.

Change 30.272  MXG 30.09 only.  ERROR 48-59 FORMAT EBCDIC WAS NOT FOUND,
VMAC102        flagging the input of QWHSSSID.  This occurred only in a
VMACDB2        user-constructed program that %INCLUDEd VMAC102 alone, or
Jan  2, 2013   before VMACDB2 (but that SHOULD have worked correctly!).
               QWHSSSID and QWHSRELN were added to a PUT in DB2DECOM
               to identify the system/release, but they had not been
               input until after DB2DECOM.  In VMACDB2 there happened to
               be a LENGTH QWHSSSID $4 statement that avoided the error
               when it was %INCLUDEd first.  But now, both variables are
               removed from that diagnostic PUT statement.
   Thanks to Paul Volpi, UHC, USA.

Change 30.271 -Most of the _S102nnn dataset sort macros didn't delete
VMAC102        the _Wdddddd dataset after _Ldddddd dataset was built;
Jan  2, 2013   the %VMXGDEL(DDDDDD=102nnn) invocation was added to each
               of the _S102nnn macros.  Note that most of these "sort"
               macros for ID=102 DB2 Trace don't actually sort the data;
               most only copy the dataset with a DATA step, because the
               NODUP duplicate-removal that is normal in _Sdddddd macros
               requires data and time to validate the completeness of
               the BY list, but over time, all _S102nnn dataset sort
               macros will be changed to use PROC SORT NODUP.

Change 30.270  IDMS PERFMON Version 18 has a second segment subtype=4
VMACIDMS       record which was previously unknown and was creating an
Dec 27, 2012   additional observation in IDMSINS that had all of the
Jan  2, 2013   variable names from the first segment.  Second segment
               is now decoded and new variables kept in IDMSIMS dataset:
                 INSSYTI ='CPU*TIME'
                 INSCPTI ='SRB*TIME*ON CP'
                 INSZPTI ='SRB*TIME*ON ZIP'
                 INSUSTI ='USER*MODE*CPU*TIME'
                 INSENTI ='TOTAL*ENCLAVE*SRB*CPU*TIME'
              -Short third segment (PMHRLEN=68) from IDMS Version 17 is
               now protected.
   Thanks to Kim Westcott, NYS Office of Technology, USA.

Change 30.269 -SMFSRCH failed, writing to USERID.SMFOUT.DATA due to an
SMFSRCH        error in VMXGGETM introduced in Change 30.224 which lost
VMXGGETM       lost the & ahead of &SMFOUT, and testing of that change
VMXGSRCH       overrode SMFOUT= so the missing & was not detected.
Dec 27, 2012  -Then, an extraneous PUT statement in VMXGSRCH caused a
               22-322 syntax error (but the program continued to run).
               The PRINTIT parameter was not correctly implemented, with
               both a PROC PRINT and VMXGPRAL of the data found being
               printed.  Now only VMXGPRAL is printed if PRINTIT=YES.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 30.268  RACF317='BPX*DEFAULT*USER*USED?' is added to TYPE8028
VMAC80A        thru TYPE8065 to identify if the FACILITY class profile
Dec 25, 2012   BPX.DEFAULT.USER is being used; that facility will NOT
               exist in z/OS 2.1 (because it allowed many users of UNIX
               system services to share a UID and GID, no longer a good
               idea and FACILITY class profile BPX.UNIQUE.USER or other
               alternatives are REQUIRED with z/OS 2.1). RACF317 will be
               Y/N if a SMF80DTP=317 segment exists, otherwise, blank.
               Note that APAR OA37164 added detection in the Health and
               Migration Checks, for an alternative to determine if the
               profile is being used.
   Thanks to Randy Shumate, Reed Elsevier Technology Services, USA.

Change 30.267 -New IFCID 361 Audit Admin Authority (new with DB2 V10)
ANALDB2R       added to Audit reports with new AUDIT= parameter value
Dec 24, 2012   of ADMIN.
              -A fault in the logic for the multiple possible database
               and object names in the IFCID 145 records was fixed.

Change 30.266 -New variable LPARIFLS in PDB.ASUM70LP and PDB.ASUMCELP
VMXG70PR       and variables LPnIFLS in PDB.ASUM70PR and PDB.ASUMCEC now
Dec 23, 2012   counts the number of IFL engines allocated to each LPAR.
Dec 28, 2012   The existing NRIFLCPU variable is the number of IFLs
               in the CEC.
               DEDICATED IFL, OR SHARED IFL WITH WAIT COMPLETE=YES ARE
               ALWAYS 100% BUSY IN RMF TYPE 70 (TYPE70PR/ASUM70PR) DATA.
               For those environmens, z/VM MONWRITE (MXG TYPEVMXA) must
               be used to measure IFL utilization.
               For SHARED IFL with WAITCOMPLETE=NO, RMF 70 does capture
               actual utilization of IFL engines.
               See Newsletter FIFTY-EIGHT "1. MONWRITE" for comparison.
               The Wait Complete=YES is set when the box "Do not end
               time slice if a partition enters a wait state" was
               checked.
   Thanks to Andrew Petersen, CSC, AUSTRALIA.

Change 30.265  Support for DB2 Trace IFCIDs 361 and 362 populates the
FORMATS        existing T102S361 and T102362 datasets.
VMAC102
Dec 22, 2012

Change 30.264  Support for APAR OA39562 creates new TYPE70Y3 dataset for
EXTY70Y3       zEC12 processors new PKCS11 Crypto Co-Processor providing
VMAC7072       CEX4P measurements.  (Input statement corrected Jan 3
VMXGINIT       after IBM support finally clarified the 10 was 10'x.)
Jan  3, 2013

Change 30.263  For CICS records with multiple USER segments that are no
IMACICUS       longer populated nor needed, you can cause them to be
UTILEXCL       skipped (so variable USERCHAR will be blank) simply by
Dec 21, 2012   creating an IMACICUS member in your "USERID.SOURCLIB"
               that has only a comment to document that you are skipping
               over the USER segments.  This is only documentation.
   Thanks to James Olson, Dominion Resource Services, Inc, USA.

Change 30.262  TYPE1052 variable SM105LID is now converted to a one-byte
VMAC105        numeric hex value; IBM documented the two bytes as binary
Dec 19, 2012   but the actual field contains two EBCDIC characters for
               a one byte hex value (e.g., 'F1C1'x for 1Ax; the original
               MXG input as PIB2 created SMF105LID=61889 from 'F1C1'x.
   Thanks to Jeffrey A. Johns, UHC, USA.

Change 30.261  TMON/MQ latency variables QAMINLAT/MAXLAT/TOTLAT are now
VMACTMMQ       correctly input as STCK time values, and formatted with
Dec 19, 2012   TIME13.3, now that TMON support informed me they are STCK
Jan 17, 2013   units (so the values input with PIB8.6 informat are now
               divided to 4096 to convert from STCK).
   Thanks to Homayoun Riaza, United Health Group, USA.

Change 30.260  The count in variable ABENDS in PDB.JOBS was incorrect as
BUILD005       it could include jobs that ended with ABEND='RETURN'.  It
BUIL3005       now contains the correct count of STEPS that had either
Dec 13, 2012   a 'SYSTEM' or a 'USER' ABEND code, plus a count of one is
               added for jobs that had a PRE-EXECUTION error in a step
               (i.e., the step initiated but either was not allocated or
               was not program-loaded, ALOCTIME or LOADTIME are missing)
               and for this instance, variable ABEND='PREEXEC' is set.
   Thanks to Louis Deledalle, BNP Paribas, FRANCE.

Change 30.259A Formats $MG119ME and $MG119PM did not decode the
FORMATS        FCMechanism value A='A:AT_TLS' and $MG119ME value of 'T'
Dec 13, 2012   is corrected to T:TLS.
   Thanks to Richard Wendland, USBank, USA.

Change 30.259  Support for SMF 99 Subtype 12 and 14 HiperDispatch data.
EXTY99CC       New datasets created:
EXTY99CI        Subtype  DDDDDD   DATASET   DESCRIPTION
EXTY99CP          12     TY99CI   TYPE99CI  HD INTERVAL
EXTY99EH          12     TY99CC   TYPE99CC  HD CAPACITY
EXTY99EM          12     TY99CP   TYPE99CP  HD PROCESSOR
EXTY99EN          14     TY99EH   TYPE99EH  HD HEADER
EXTY99EP          14     TY99EP   TYPE99EP  HD PROCESSOR
EXTY99EQ          14     TY99EN   TYPE99EN  HD NODES
IMAC99            14     TY99EM   TYPE99EM  HD MQWP
VMAC99            14     TY99EQ   TYPE99EQ  HD MPWQ HNODE
VMXGINIT       These datasets have been tested with z/OS 1.12 data.
Dec 12, 2012   Every 10 seconds, five subtype 12 records are written
Jan  2, 2013   with the same SMFTIME but each is a 2 second duration
               with S99CCITOD containing the start of each interval.
              -Initially, a pair of subtype 14 records are written every
               five minutes, but APAR OA39058 changes that architecture
               to write only one record each interval.  Until I have
               test data with that APAR, the duplicate removal for
               TYPE99EH/EM/EQ in their _Sdddddd macro is not validated.
              -The IBM labels for S99EEPNL1/NL2 are reversed, so the MXG
               labels are now corrected to match data vs documentation:
                 S99EEPNL1   ='TOPOLOGY*NESTING*LEVEL 1*BOOK'
                 S99EEPNL2   ='TOPOLOGY*NESTING*LEVEL 2*CHIP'
   Thanks to Dave Cogar, Wells Fargo, USA.

Change 30.258  Duplicate obs were not removed from BVIR21 dataset by the
VMACBVIR       NODUP option in the PROC SORT in macro _SBVIR21 because
Dec 11, 2012   the BY list did not include ADHBAD and ADHSLOT.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY

Change 30.257 -If you specified IFCIDS=STATS, the sorts of the datasets
READDB2        input to the DB2STATS dataset were suppressed and steps
Dec 11, 2012   failed with variables not in order. You SHOULD use the
Jan  1, 2013   IFCIDS=STATS instead of IFCID=STATISTICS because STATS
               creates ONLY DB2STATS/DB2STATR/DB2STATB/DB2GBPST whereas
               IFCID=STATISTICS also writes these redundant datasets
               DB2STAT0/DB2STAT1/DB2STAT4/DB2ST225/DB2STATB) that are
               completely contained in PDB.DB2STATS; IFCIDS=STATS is now
               set as default instead of IFCID=STATISTICS.
              -READDB2 now invokes the _S102nnn sort macros so that the
               work copy is deleted after copy to minimize disk space.
               But this creates 23 lines of log messages for each data
               set instead of proc copy's two lines per data set.
               See Change 30.271.
              -Comments document where data is written for combinations
               of PDBOUT= and ACCTSORT= and IFCIDS=.
              -If you asked for IFCIDS=261, sorts on statistics caused
               errors when those dataset did not exist.  The test on the
               macro variable was checking the length and should have
               been checking the value.
   Thanks to Alyona Bertneski, JPM Chase, USA.

Change 30.256  Briefly, this change created variable MSUHARD, but that
VMAC30         was removed as a bad idea.
Dec 10, 2012
Dec 16, 2012

====== Changes thru 30.256 were in MXG 30.09 dated Dec  8, 2012=========

Change 30.255  If you used WEEKKEEP or WEEKDROP parameters and the
BLDSMPDB       length of the dataset name(s) specified was longer than
Dec  7, 2012   the current dataset name being checked (for example you
               said TYPE64: and the current dataset was IPLS) then the
               length of the first was greater than the second and an
               invalid substr length message was created.  Everything
               still ran correctly since it created a FALSE on the
               condition being tested but it did generate a bad return
               code when run in the background. A check on the length is
               now used in addition to comparing the values.
   Thanks to Robb Hermes, Sentry Insurance, USA.

Change 30.254 -Support for new CRYPTO TYPE PRCAPMCT=10 in VXPRCAPM.  The
VMACVMXA       UNDECODED message was printed, but then MXG failed with
Dec  5, 2012   INVALID BLOCK messages because the undecoded detection
Dec 19, 2012   didn't properly set the SKIP value, so subsequent INPUTs
Dec 20, 2012   were misaligned.  There are three sub-subtype values in
               PRCAPMMT of 8, 9, and 10, but only 10 has new variables
               now kept in VXPRCAPM dataset, and only sub-subtype 9 has
               been "data-tested".
               Previous Crypto cards have names for values in PRCAPMCT:
                PCICC PCICA PCIXCC CEX2A CEX2C CEX3A CEX3C
                  3     4     5      6     7     8     9
               but no names are identified for the new Crypto Type 10
               nor its three sub-subtypes in PRCAPMMT.
               The new PRCAPMCT=10 was observed on zEC12 processors and
               is thought to be a Crypto Express 4S.
              -Dec 20: PRCAPM support for PRCAPML4=0 records corrected a
               program loop.
              -Support for new HIS (SMF113) counters in zEC12 processor,
               eliminates "ERROR. PRCMFC HARDWARE COUNTER UNEXPECTED",
               message with CFVN=1 and CXVN=3, which fortunately was
               harmless to the rest of zVM processing.
   Thanks to Kim Morrell, Royal Canadian Mounted Police, CANADA.
   Thanks to Jim Dammeyer, State Farm Mutual Auto Insurance, USA.

====== Changes thru 30.253 were in MXG 30.09 dated Dec  4, 2012=========

Change 30.253  ONLY Dec 3 ASCII MXG 30.09, ONLY if MXG runs on AIX/unix.
dir3009.zip    That DIR3009.ZIP distribution file dated Dec 3 has files
Dec  4, 2012   that end with a single X'1A (EOF) character.  While that
               character is ignored on Windows, when that unzipped 30.09
               directory's files were copied from Windows to unix, those
               X'1A' characters were preserved, and when read on unix by
               SAS %INCLUDE, they caused SAS 180 SYNTAX errors (and may
               have printed a left-arrow for that character).  All X'1A'
               characters were removed from this Dec 4 DIR3009.ZIP file.

               Those X'1A characters are ERRORS in MY EDITing and should
               NOT exist (created when I mix up LF and CRLF profiles),
               and since I have done this before, the PROCSRCE program
               that creates the other MXG distribution files has a test
               for X'1A' characters, so those files are not exposed, but
               that dir3009.zip file is a direct zip of the .sas files
               in the MXG Sourclib directory.

               But, how did they slip thru?
               X'1A' are usually created AND detected when I email ASCII
               new/updated code to a z/OS test site, and that test fails
               when the translated X'1A' on EBCDIC is read by %INCLUDE.
               I correct these updated files, and then search all of MXG
               files for any others overlooked since the last search.

               But why didn't PROCSRCE's test find them in 30.09 QA?
               Because I've just discovered that X'1A'  is IGNORED by
               SAS V9 on Windows, whether read by %INCLUDE or an INFILE.
                  (And, since they ARE End Of File Markers, on Windows,
                   when found at the END of the file, they should be.)
               I cannot prove that PROCSRCE ever found a match; perhaps
               that test was added for safety, not realizing it wouldn't
               ever be true on Windows SAS.
               So I now searched all 30.09 files using SPF/PRO, and it
               DID find 5 files, but did NOT find EXTY74HO that caused
               the error!  BUT: EDITing EXTY74HO in that same session
               showed there WAS an X'1A' at the end of that file.  Now,
               it was clear that SPF/PRO can not be trusted to find all
               instances of '1A'x in a large directory.  But SPF/PRO is
               ancient, so I searched with nearly-as-old SPF/SE and it
               found these files in dir3009.zip that all ended with
               an X'1A' character, and which were all removed Dec 4:
                 aaaaaaaa achap32  achap99  asmrmfv  asmtapee copyrite
                 copywrit docver   docver30 doqa9364 ex102366 exty74ho
                 imac102  jcltes92 jcltess8 jcltess9 jcltest6 jcltest8
                 jcltest9 qa9364   qa93641  qa93642  qa93643  qa93644
                 qa93645  qa93646  qa93647  qa93648  qa93649  qadoc
                 qawps    qawps1   qawps2   qawps3   qawps4   qawps5
                 qawps6   qawps7   qawps8   tessothr tessusr1 testothr
                 testusr1 typetmo2 typetms5 vmac79   vmacbbmq vmacdb2
                 vmacdcol vmacommq vmactmnt vmactms5 vmacvmxa
   Thanks to Sterling James, DST Systems, USA.

====== Changes thru 30.252 were in MXG 30.09 dated Dec  3, 2012=========

Change 30.252  Variable R748AAS0 was created from R748AAST but was not
VMAC74         formatted with $MG0748C, nor was it LENGTH $1 nor was it
Dec 03, 2012   in the &MXGNOTRA list of character hex variables.
   Thanks to Patricia J. Jones, DST Systems, USA.

Change 30.251  ANALCPU compares two different week's TYPE72GO CPU time,
ANALCPU        creating one plot for each Service and Reporting Class,
Dec 03, 2012   with one line for each week, showing CPUTM vs STARTIME,
               which is aligned to midnight Sunday of each week.  These
               plots could show which service class CPU time increased
               or decreased, and show if he shape of the daily profile
               had changed between the two weeks.
               SAS/GRAPH is not used, but SAS Version 9 is because the \
               plots are created with PROC SGPLOT in Base SAS V9.

Change 30.250  Hardcoded PDB. in ANALZIPC caused ITSV with %CPSTART to
ANALZIPC       fail. Change 15.320 stated all hardcoded "PDB." LIBNAMEs
Nov 30, 2012   were to be replaced with "&PDBMXG.." to interface with
               ITSV, but these members have been overlooked and are now
               revised with no hardcoded PDB libnames:
               ANAL113  ANAL120  ANAL307X ANAL4HRS ANAL72GO ANAL80A
               ANAL91   ANALAAAA ANALABND ANALACF2 ANALALOC ANALAVAI
               ANALAVAL ANALBLSR ANALBNC1 ANALBNCH ANALCACH ANALCAPD
               ANALCISH ANALCPUV ANALDATE ANALDB2R ANALDB2T ANALDB2V
               ANALDBJO ANALDBJS ANALDBTR ANALDMON ANALEAS  ANALFIOE
               ANALGRID ANALHPCS ANALHTML ANALNAT  ANALNPMR ANALNSPY
               ANALPGM  ANALRACF ANALRAID ANALRMFR ANALS225 ANALSRVC
               ANALTMVT ANALUAFF ANALUOW  ANALUSAG ANALWHO  ANALXAMR
               ANALZIPC ANALZIPU ASUM4HRS ASUM72GO ASUM78CF ASUM94
               ASUMCICR ASUMCLDR ASUMRAID ASUMSMFI ASUMSTC  ASUMSTGP
               ASUMSYTA ASUMTAPE ASUMTCPT ASUMV11  ASUMV14  ASUMVMNT
               ASUMVTVM CHANGES  CICSSTAT COMPINTV COMPIPLS DB2PDB
               MRGDB2   NEWSLTRS VMXGINIT
   Thanks to Christelle Abily, Groupe Informatique Credit Mutuel, FRANCE

Change 30.249  SMF ID=119 Subtype=51 INPUT STATEMENT EXCEEDED RECORD due
VMAC119        to 80 byte fifth segment when MXG expected 88 bytes.  The
Nov 28, 2012   last two fields are now conditionally input.
   Thanks to Robert B. Richards, US Office of Personal Management, USA.

Change 30.248  Cosmetic.  SMF Header Messages didn't clearly identify
VMACSMF        back-to-back header/trailer nor header-to-trailer with no
Nov 27, 2012   intervening SMF record; text in messages was clarified.

Change 30.247 -Variable SMF70NRM (zIIP Normalization Factor) is now kept
VMAC7072       in TYPE70PR dataset.
VMAC78        -Variables R783PB, R783CUB, R783zzz in TYPE78CF are kept
Nov 22, 2012   so those raw values are available.
   Thanks to Erling Andersen, SMT Data A/S, DENMARK.

Change 30.246 -DB2STATS QWOSxxxx variables have value 4294967295 decimal
VMACDB2        ('FFFFFFFF'x) and variable QWOSFLG='F2'x, but IBM did not
Nov 22, 2012   document those bit values nor document the FFFFx values.
Nov 28, 2012   Change 26.201 has IBM notes about the proper APAR install
               to capture this RMF data, but it didn't note that you
               must set the DB2 option ZOSMETRICS=YES to populate them.
              -This change tests the first variables for the large value
               and if both are found, all 14 QWOSxxxx are set missing.
              -The four utilization values have values greater than 100
               as input, and there is no IBM documentation that the must
               be divided by ten, but now they are.
   Thanks to Charles Savikas, DCF, State of Florida, USA.

Change 30.245 -Support for BMC Mainview IMS 4.6, a/k/a IMF, a/k/a CIMS,
VMACCIMS       adds new zIIP and zAAP metrics to the CIMSTRAN dataset:
VMACIMS           TRXZTCPU='TOTAL*DEP RGN*APPL CPU'
Nov 21, 2012      TRXZONCP='TOTAL*DEP RGN*APPL CPU*ON CP'
                  TRXZAOCP='DEP RGN*ZAAP ELIGIBLE*RAN ON CP'
                  TRXZIOCP='DEP RGN*ZIIP ELIGIBLE*RAN ON CP'
                  TRXZFL1 ='TRXZFL1*FLAG'
                  TRXZTCPU='TOTAL*DEP RGN*APPL CPU'
                  TRXZONCP='TOTAL*DEP RGN*APPL CPU*ON CP'
                  TRXZAOCP='DEP RGN*ZAAP ELIGIBLE*RAN ON CP '
                  TRXZIOCP='DEP RGN*ZIIP ELIGIBLE*RAN ON CP'
              -The zIIP/zAAP values are NORMALIZED to the speed of the
               CP engines if your CPs are slower than Specialty Engines.
              -Note that ZTIME=YES must be specified in BBPARM IMFECP00
               member to populate zIIP/zAAP fields in the IMF records;
               the default value is NO.
              -Some missing value calculations observed in testing that
               could be protected in VMACCIMS and VMACIMS now are.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.

Change 30.244  Support for WebSphere Version 8 ID=120 Subtype 10 record
EXT12010       creates new TYP12010 dataset.
FORMATS
IMAC120
VMAC120
VMXGINIT
Nov 20, 2012
   Thanks to Mark Wittie, Fidelity Systems, USA.

Change 30.243  VMXGCOPY copies SAS datasets from MULTIPLE input LIBNAMES
VMXGCOPY       whereas PROC COPY only allows from a single input ddname.
Nov 20, 2012   Parameters:
               LIBNAMES=  One or more SAS data libraries to be read.
                          Each value is a "starting with" string, so PDB
                          reads ALL LIBNAMEs starting with PDB.
                          On zOS each libname must have been opened with
                          either a LIBNAME statement or a data step, or
                          it will not be found.
               OUTDD=     The output LIBNAME where output is written.
                          Default is WORK.
               DATASETS=  One or more SAS dataset names to be copied.
                          Each value is a "starting with" string, so the
                          string TYPE will select ALL datasets starting
                          with TYPE.  If a dataset is in multiple inputs
                          the output will contain ALL observations from
                          ALL of those datasets.
               NOBS=      the number of OBS to copy
               ZEROOBS    YES, all datasets are copied.  NO, datasets
                          with zero observations are NOT copied and
                          won't exist in the output LIBNAME.
               INCODE=    Optional argument with your SAS code to select
                          which observations to copy, PROVIDED THAT THE
                          variable(s) you use exist in ALL datasets.
                          For example,
                             INCODE=  IF SYSTEM=:'ABCD';

Change 30.242  New parameter CRITERIA= inserts SAS code for selection.
VMXG2DTE       For example, if you want to keep SMFINTRV data ONLY for
Nov 15, 2012   your started tasks, at a weekly or monthly level, and you
               want APPEND the new data, you would use:
                 %VMXG2DTE(DDIN=WEEK,DDOUT=WEEK,PDB=PDB,
                  DATASET=SMFINTRV,CRITERIA=TYPETASK=:'STC',APPEND=YES);
               or, if you want to use GDGs and a DATA step, use:
                 %VMXG2DTE(DDIN=WEEKIN,DDOUT=WEEK,PDB=PDB,
                  DATASET=SMFINTRV,CRITERIA=TYPETASK=:'STC');
               In either case, you don't supply the IF or the ending
               semi-colon; the text of CRITERIA= just needs to be a SAS
               expression that is TRUE for observations you want kept.

Change 30.241  There are cases where the object name can change within
ANALDB2R       a database ID and object ID and possibly cases where
VFMT102        the database name might change so timestamps are needed
Nov 21, 2012   to correctly build the formats to extract the correct
               database name and object name from the IFCID 105 and 107
               records.  This can create a massive format that requires
               a large amount of memory.  In one case on zOS with 16M
               input records it required 862MB to create the format
               and nearly as much to load it.  But, the only time you
               might need all of the records is when you are running
               an IO trace.  In the case of an Audit trace, you have
               to build an Audit table to tell DB2 which things you
               want to audit.  So, selection criteria for DBNAME and
               OBNAME are added to ANALDB2R to reduce the volume of
               records input to VFMT102.  You can select based on:
                 SYSTEM DB2 DBNAME and OBNAME
               By selecting only the needed DBNAMEs, the virtual storage
               needed for the format was less than 50 MB, so selection
               is ALWAYS wise to do.

               In addition, SYSTEM (z/OS execution system) is added as a
               criteria for ALL ANALDB2R reports (DBNAME and OBNAME are
               only available to VFMT102 datasets with DBID or OBID).

               Don't know what DBNAME/OBNAME(s) you have?  New report
               MXGDBIDS=ONLY provides the list of all combinations
               of SYSTEM QWHSSSID (DB2 SUBSYSTEM)DBNAME OBNAME using:
                    %ANALDB2R(PDB=SMF,MXGDBIDS=ONLY);
                    RUN;
              -Unrelated, new parameter MXGACC01OUT creates an output
               dataset that you name in that parameter from the MXGACC01
               PROC TABULATE.

Change 30.240  Graphic and tabular reports of DB2 buffer size and max
GRAFDB2B       usage, by DB2 Subsystem and Buffer Pool.  Will use either
NOV 10, 2012   SAS/GRAPH or ODS GRAPHICS for graphs and PROC TABULATE to
               create a tabular report.

               Documentation of parameters:
                 PDB=PDB             One or more PDB DD NAMES (LIBNAMEs)
                 SASGRAPH=NO         Create bar charts with SAS/GRAPH
                 ODSGRAPH=YES        Create bar charts with ODS Graphics
                 TABULATE=NO         Create a tabular report
                 INTERVAL=QTRHOUR    Any valid interval value

               SAS versions 9.2 and earlier will not work for ODS; 9.3
               is required for ODS graphics. If you are at 9.2 and don't
               specify SASGRAPH=YES, the tabulate report will be created
               instead.  If you specify SASGRAPH=YES but it is not
               installed, on SAS 9.3 or above, ODS GRAPHICS are used.
               Otherwise, only the PROC TABULATE report is created.

Change 30.239 -VMACIMS IMS Eyecatcher variables STREQxxxx had $HEX40.
VMACIMS        format but were correctly input as $EBCDIC4; the format
VMACRMFV       and listing in NOTRAN were removed.  Purely cosmetic.
VMAC120       -VMACRMFV variable ASMVER00 is now correctly INPUT $CHAR1
Nov 10, 2012   instead of $EBCDIC1 as it contains HEX text characters.
              -VMAC120 variable SM1209GS is now correctly INPUT $CHAR8
               instead of $EBCDIC1 as it contains HEX text characters.
               (Note: $CHARn is REQUIRED only for MXG execution on ASCII
               platforms - on z/OS $CHAR and $EBCDIC are identical.)

Change 30.238  Support for Phoenix Software International (E)JES SMF
EXTYEJES       Accounting Record creates new EJESSMF dataset.  MXG reads
IMACEJES       either the unique date format for ESMFTBGN or, after
TYPEEJES       EJES/14242 update, in (E)JES V5R3, the SMFSTAMP format,
TYPSEJES       transparently.
VMACEJES       New dataset:
VMXGINIT        dddddd   dataset   description
Nov 11, 2012    TYEJES   EJESSMF   (E)JES SMF ACCOUNTING
   Thanks to Mike Moyne, HHSYS, USA.

Change 30.237  Support for Version 4.3.0 BETA93/BETA97 (INCOMPATIBLE).
EXTYB97M      -BETA93: New variables added to BETA1 dataset:
EXTYB97N          BETAATYP='SEND*AS'
EXTYB97O          BETABODY='BODY*TEMPLATE*MEMBER'
EXTYB97P          BETABTYP='OUTPUT*TYPE'
EXTYBET7          BETABUFS='MAXIMUM*BUFFER*SIZE'
EXTYBET8          BETADCR ='DCR*NAME'
EXTYBETH          BETAFILE='MAIL*FILE*NAME'
EXTYBETI          BETAFROM='MAIL*FROM'
FORMATS           BETAIPAD='IP*ADDRESS'
IMACBE97          BETALINK='LINK*TEMPLATE*MEMBER'
IMACBETA          BETALTKN='LTOKEN*LIST*TOKEN'
VMACBE97          BETAMAXA='MAXIMUM*MAIL*ADDRESSES'
VMACBETA          BETAPORT='PORT*NUMBER'
VMXGINIT          BETARPLY='MAIL*REPLYTO'
Nov 13, 2012      BETASEXT='SOURCE*EXTENSION*NAME'
                  BETASFRM='SOURCE*FORM*NAME'
                  BETASUBJ='MAIL*SUBJECT'
                  BETATRMD='TRANSLATION*MODULE'
                  BETATRTB='TRANSLATION*TABLE'
              -BETA93: New $MGBETPT format maps these values of BETAPTYP
               in BETA1 dataset, which describes which of the sets of
               variables exist in this record:
                  '80'X='80X:DCR OF TYPE SYSOUT'
                  '40'X='40X:DCR OF TYPE MAIL'
                  '20'X='20X:DCR OF TYPE CLIST'
                  '10'X='10X:PRE-ALLOCATED DD NAME'
                  '08'X='08X:DCR OF TYPE VTAM/APPC'
                  '04'X='04X:DCR OF TYPE SUBSYS'
                  '02'X='02X:DCR OF TYPE TCP/IP'
              -BETA93: New Subtypes 7, 8, and 22 are documented but only
               the header variables exist in the new BETA7 BETA9 BETA22
               datasets until actual records are available.
              -BETA93: New Subtype 49 creates BETA49 dataset for Batch.
              -BETA97: New Subtype 25 creates BETA9725 dataset.
              -BETA97: New Subtype 50 creates BETA9750 dataset.
              -BETA97: New Subtypes 49 and 51 create BETA0751 but only
               header variables are created, awaiting test records.
   Thanks to Mrs. Karen Sendelback, Finanz Informatik, GERMANY.

Change 30.236  Cosmetic, spurious messages.  TYPE113 processing printed
VMAC113        messages ERROR: DEACCUMULATION DETECTED RESET when HIS
Nov  8, 2012   sampling was enabled for one minute every five minutes,
               because MXG did not use the SM113CF1 Start of Interval
               flag to bypass the test for negative deltas that printed
               these messages.  However, both TYPE113 and ASUM113 were
               correctly created because MXG's test for the output did
               work as designed. Now, SM1113CF1 flag is used to bypass
               the creation of these messages.
   Thanks to Erling Andersen, SMT Data A/S, DENMARK.

====== Changes thru 30.235 were in MXG 30.08 dated Nov  7, 2012=========

Change 30.235  Variable CFWAITTO='TOTAL CF*CPU*WAIT TIME' is created in
VMAC74         dataset TYPE74CF as the SUM OF(CFWAIT01-CFWAIT15) to
Nov  7, 2012   match existing CFBUSYTO total CPU busy time.
   Thanks to Joe Faska, Depository Trust, USA.

Change 30.234  First MXG 30.08, zEC12 ONLY, and ONLY with APAR OA37826,
VMAC74         which added the HO segment to the RMF 74 subtype 4 record
Nov  7, 2012     ERROR: INVALID DATA FOR CHAR4
                 INPUT STATEMENT EXCEEDED RECORD LENGTH.
               because that code was only syntax checked, awaiting data
               with that APAR installed, and CHAR4/ passed syntax but
               failed when data was read, as it should have been CHAR4.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 30.233 -TYPE70 variable CPUWAITM was wrong and was larger than
ADOC7072       CPUUPTM when HiperDispatch was active (SMF70PAT GT 0) but
VMAC7072       IRD was not active (SMF70ONT=DURATM for all engines).
Nov  7, 2012   MXG did not subtract parked time from CPUWAITM, BUT ONLY
Apr  1, 2013   CPUWAITM was wrong, and since CPUWAITM is NOT used in any
               other metrics, they WERE correct.  Only if you compared
               CPUUPTM with CPUWAITM would the error have been observed.
               This error was only significant at low utilizations when
               CP engines were parked; during peak intervals when all CP
               engines were NOT parked, the CPUWAITM value was correct.
              -But in examining the 70 records, observations in TYPE70PR
               have been found with SMF70PAT greater than SMF70ONT and
               DURATM by over 5 seconds; new code detects and resets
               SMF70PAT to SMF70ONT and zeros CPUWAITM when a small
               negative value (less than 0.10 seconds) is calculated.
               So both NEWWAIT and SMF70PAT in TYPE70PR are different.
               RMF development has confirmed that because ONT and PAT
               are retrieved independently with DIAGNOSE instructions,
               the can have different values, and RMF Reports use the
               same heuristic I implemented, to store ONT in PAT when
               PAT is greater than ONT.
              -Inserted Apr 2013:  A "WARNING. SMF70PAT GT ONT" message
               was previously printed, but since there is nothing that
               you can do with that information, as of MXG 31.02, it is
               no longer printed.
              -Variable CPUUPTM is now documented in ADOC7072:
                "Originally the CPU "UP" duration for calculation of
                 available capacity of all CP engines, and was the
                 product of NRCPUS*DURATM, but that was back when the
                 number of CP engines were static, at least between
                 IPLs.  Now, with IRD and HiperDispatch "varying" or
                 "parking" engines, NRCPUS is the AVERAGE (and
                 fractional) number of CP engines that were ONLINE
                 during this interval, i.e., that that were made
                 available to this z/OS system during this interval, so
                 the CPUUPTM=NRCPUS*DURATM now will vary and it is no
                 longer the "available for static capacity" up time."
   Thanks to Mark Cohen, EPVTECH, ITALY

Change 30.232  Hiperdispatch introduces some vagaries into percent CPU
GRAFWRKX       measurements.  PCTCPUBY in RMFINTRV is calculated based
Nov  6, 2012   on the average number of CPUs online but that may be
               something less than the actual number of CPs assigned
               to the LPAR. GRAFWRKX now produces 3 different CPU busy
               by workload charts.
                 % of the average number of CPUs online
                 % of the CPUs assigned to the LPAR
                 % of the LPAR SHARE (this can exceed 100% if an LPAR
                   is 'stealing' from other LPARs.)
   Thanks to Mark WIlliams, Marks and Spencer

Change 30.231 -Support for IFCID 219 populates existing T102S219 dataset
VMAC102        with new QW0219xx IFCID-specific variables.
Nov  5, 2012  -Support for IFCID 220 populates existing T102S220 dataset
Nov  8, 2012   with new QW0220xx IFCID-specific variables, but there are
               discrepancies between the IBM DSECT and the actual DATA
               and a PMR is opened with IBM to resolve. See Ch 33.064.
              -Support for IFCID 402 populates existing T102S402 dataset
               with new QW0402xx IFCID-specific variables, but IFCID 402
               is a statistics interval record with accumulated values,
               so you MUST invoke TYPS102 or use %READDB2 with PDBOUT=,
               or invoke _S102402 after dataset T102S402 is created, to
               do the deaccumulation.  And unlike the other DB2 V10
               interval statistics records, IFCID=402 is written at 15
               minute instead of 1 minute intervals.
              -Support for 4TH Waiter in T102S196 dataset added Nov 8.

====== Changes thru 30.230 were in MXG 30.08 dated Nov  5, 2012=========

Change 30.230  Variables LPnPAT were missing in PDB.ASUM70PR,PDB.ASUMCEC
VMXG70PR       (but SMF70PAT parked time was valid in PDB.ASUM70LP and
Nov  3, 2012   PDB.ASUMCELP datasets).  The LPnPAT variables were not in
               the RETAIN statements for the two datasets, so they have
               always been missing; this is not a new error!
   Thanks to Wayne Bell, UniGroup, USA.

Change 30.229  Support for DB2 NETEZZA Optional data has been read and
IMACDBNZ       some corrections were made in the DB2STATS/DB2NETZA.
VMACDB2       -These DB2STATS variables
Nov  2, 2012     Q8STSCPU Q8STSELA Q8STTCPU Q8STTELA Q8STACPU Q8STAELA
               were not divided by 4096.
              -These DB2STATS variables
                 Q8STACTV Q8STCCPU Q8STWCPU Q8STQUEM
               were incorrectly de-accumulated.
              -The Q8AC triplet was incorrectly input, causing all of
               the Q8ACxxxx variables in DB2ACCT (when enabled by the
               removal of the comment block in IMACDBNZ) to be wrong.
               And, the Q8ACNAME field is now INPUT and populated.
               IBM DB2 Analytics Accelerator IDAA uses Netezza.
   Thanks to Victoria Lepak, Aetna, USA.
   Thanks to William E. Howard, Aetna, USA.

Change 30.228  Support for CICS/TS 5.1, INCOMPATIBLE CHANGES, INSERTS.
UTILEXCL      -CICSTRAN has new fields inserted at the end of each
VMAC110        segment. The RMI fields that were formerly optional
Dec 30, 2011   are now created by default.                      CMODIDNT
Apr 25, 2012     TDILWTTM='TDILWTT*DURATION'                         403
May 28, 2012     TDILWTCN='TDILWTT*COUNT'                            403
Sep 25, 2012     TDELWTTM='TDELWTT*DURATION'                         404
Oct 15, 2012     TDELWTCN='TDELWTT*COUNT'                            404
Nov  1, 2012     ROMODDTM='ROMODDLY*DURATION'                        348
                 ROMODDCN='ROMODDLY*COUNT'                           348
                 SOMODDTM='SOMODDLY*DURATION'                        349
                 SOMODDCN='SOMODDLY*COUNT'                           349
                 ISALWTTM='ISALWTT*DURATION'                         319
                 ISALWTCN='ISALWTT*COUNT'                            319
                 TCALWTTM='TCALWTT*DURATION'                         343
                 TCALWTCN='TCALWTT*COUNT'                            343
                 SOCIPHER='SOCIPHER*COUNT'                           320
                 CECMCHTP='CECMCHTP*NAME'                            430
                 CECMDLID='CECMDLID*NAME'                            431
                 MAXTASKS='MAXTASKS*COUNT'                           433
                 CURTASKS='CURTASKS*COUNT'                           434
                 SC64CGCT='64-BIT*C*GETMAINS'                        441
                 SC64CHWM='64-BIT*C*STORAGE*HWM'                     442
                 SC64UGCT='64-BIT*USER*STORAGE*GETMAINS'             443
                 SC64UHWM='64-BIT*USER*STORAGE*HWM'                  444
                 SC64SGCT='64-BIT*SHARED*GETMAINS'                   445
                 SC64GSHR='64-BIT*SHARED*BYTES*GETMAINED'            446
                 SC64FSHR='64-BIT*SHARED*BYTES*FREEMAINED'           447
                 TASZIPTM='TASK*ZIP*CPU*TIME'                MXG-Created
                 TASELGTM='TASK*ZIP*ELIGIBLE*CPU TIME'       MXG-Created
                 CPUTONTM='TASK*TOTAL*CPU TIME*ON ZIP'               436
                 CPUTONCN='TASK*TOTAL*DISPATCHES*ON ZIP'             436
                 OFFLCPTM='TASK*ZIP*ELIGIBLE*RAN ON ZIP*CPU TIME'    437
                 OFFLCPCN='TASK*ZIP*ELIGIBLE*RAN ON ZIP*DISPATCHES'  437
                 ACAPPLNM='APPLICATION IN*APPLICATION*CONTEXT*DATA'  451
                 ACPLATNM='PLATFORM IN*APPLICATION*CONTEXT*DATA'     452
                 ACMAJVER='MAJOR VERSION IN*APPLICATION*CONTEXT*DATA'453
                 ACMINVER='MINOR VERSION IN*APPLICATION*CONTEXT*DATA'454
                 ACMICVER='MICRO VERSION IN*APPLICATION*CONTEXT*DATA'455
                 ACOPERNM='OPERATION IN*APPLICATION*CONTEXT*DATA'    456
                 MPPRTXCD='MPPRTXDC'                                 449
                 FCXCWTTM='WAIT TIME*FOR EXCLUSIVE*VSAM CI'          426
                 FCXCWTCN='WAIT COUNT*FOR EXCLUSIVE*VSAM CI'         426
                 FCVSWTTM='WAIT TIME*FOR*VSAM*STRING'                427
                 FCVSWTCN='WAIT COUNT*FOR VSAM*STRING'               427
              -TASCPUTM has always included the CPU time on zIIP/zAAPs,
               and thus can EXCEED the elapsed time when the specialty
               engine is faster than the CP engines, as documented in
               Change 29.076, and because previously the TASZIPTM was
               not separately recorded in CICSTRAN. Even though 5.1 DOES
               have the separate field, I chose to NOT change TASCPUTM,
               even though that is inconsistent with the "normal" MXG
               implementation of keeping the CP and zIIP/zAAP times in
               separate variables, because it seemed changing the value
               in TASCPUTM would have caused more impact to you.
              -CICSTRAN fields not created in 5.1 (are missing values)
                 DB2WAITM/DB2WAICN  189
                 J8CPUTM/J8CPUCN    260
                 J9CPUTM/J9CPUCN    267
                 MAXJTDTM/MAXJTDCN  277
                 CBSRVRNM           311
                 EJBSACCT           312
                 EJBSPACT           313
                 EJBCRECT           314
                 EJBREMCT           315
                 EJBMTHCT           316
                 EJBTOTCT           317
                 MLXSSCTM/MLXSSCCN  411 (not documented as gone by IBM)
              -CICSTRAN fields in 5.1 that have altered meaning:
               These fields now include the new GET64 CONTAINER and the
               PUT64 CONTAINER data values:
                 PGGETCCT               323
                 PGPUTCCT               324
                 PGGETCDL               326
                 PGPUTCDL               327
                 PGCRECCT               328
              -CICSEXCE dataset has two new values of EXCMNRIX of
                 GUDSA - Wait for GUDSA Storage
                 GSDSA - Wait for GSDSA Storage
              -CICS Statistics Interval now defaults to 1 hour versus 3.
              -CICLDG variables added:
                 LDGLLRRO='LIBRARY*LOAD*REQUESTS*RO TCB'
                 LDGLLTRO='TOTAL*LOADING*TIME*RO TCB'
              -CICM variables added:
                 MNGCECTP='CEC*MACHINE*TYPE'
                 MNGCECID='CEC*MODEL*NUMBER'
              -New STID=62, same as STID=60, outputs CICDS dataset.
               Eighteen TCBs exist in TS/5.1, but none are new.  The MXG
               TCB variables in CICDS dataset all have the two-character
               "TCB Name" text in their labels, and the MXG variable's
               suffixes (DSG, DS1, DS2 ... for QR, RO, CO ...) are
               listed in this table mapping the IBM 5.1 TCB Numbers:
    TCB Name:  QR RO CO SZ RP FO SL SO SP EP TP D2 S8 L8 L9 X8 X9 T8
  IBM TCB NR:   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
  MXG Suffix:   G  2  3  4  5  6  7  8  H  M  N  D  B  A  I  J  K  L
              -STID=101 adds two new variables to dataset CICWBG:
                 WBGATOMS='ATOMSERVICE*REQUESTS'
                 WBGJVMSV='JVMSERVER*REQUESTS'


Change 30.227  Documentation updates, to give better examples of how to
ADOCRMFI       define workloads in RMFINTRV.
UTILWORK
Oct 31, 2012

Change 30.226 -Support for AIX/LINUX NMON data with FRENCH language text
VMACNMON       and with fractional numbers with commas instead of the
Nov  1, 2012   expected period, found (so far ONLY) in "BBBP" records.
              -Support for MEMAMS Memory Object adds MSxxxxxx variables
               to the NMONINTV dataset.
   Thanks to Atsou Toulabo, GMF, FRANCE.
   Thanks to Giles Fontanini, GMF, FRANCE.
   Thanks to Olivier Fy, GMF, FRANCE.

Change 30.225  With more than about 40 workloads defined in RMFINTRV,
ANAL72GO       VMXGRMFI could fail due to macro variable string length
ANALDB2R       limits on list of variables.  And, if you workload prefix
ANALID         was too long, VMXGSUM (called by VMXGRMFI) could fail on
ASUM113        truncated variable names, causing variable not FOUND.
MULTIPDB       New MXGEXIMSG macro variable replaces all hardcoded
READDB2        arguments so that, when directed by support@mxg.com, you
SMFSRCH        can use this syntax
UTILNPRT          %LET MXGEXIMSG=YES;
VGETENG        to enable (logs) of print lines for diagnostics.
VGETLIBS
VGETOBS
VGETSORT
VGETWKLD
VMACID
VMXGFIND
VMXGINIT
VMXGOPTR
VMXGPRA1
VMXGPRNT
VMXGRMFI
VMXGSRCH
VMXGSUM
VMXGSUM
VMXGUOW
VMXGWORL
Oct 30, 2012

Change 30.224 -Documentation note on SMF backup when execution on ASCII.
ChangeS        Change 23.090 provided this technique to back up the SMF
VMXGGETM       file when executing MXG on ASCII (and note the file name
Nov  1, 2012   of the backup has the date/time):
                 DATA _NULL_;
                   DATE=TODAY();
                   TIME=TIME();
                   DATETXT='D'!!PUT(DATE,YYMMDD10.)!!'-'!!'T'!!
                           PUT(HOUR(TIME),Z2.)!!'-'!!
                           PUT(MINUTE(TIME),Z2.);
                  CALL SYMPUT('DATETXT',DATETXT);
                 RUN;
                 FILENAME SMF FTP ("'SYS4.SMF.YOUR.DAILY(0)'")
                  USER='xxxxxx'
                  HOST='xxxxxxxx'
                  DEBUG
                  S370VS
                  RCMD='SITE RDW READTAPEFORMAT=S BUFNO=35' /*for tape*/
                  LRECL=32760
                  PASS='xxxxxxxx';
                 FILENAME SMFBKUP
                   "D:\Users\365173\MXG\SMFDATA\SMF.HHPR.&DATETXT";
                 %LET MACFILE=
                   %QUOTE(
                      RDW=LENGTH+4;
                      BDW=RDW+4;
                      FILE SMFBKUP RECFM=N LRECL=32760;
                      PUT BDW &PIB.2. '0000'X RDW &PIB.2. '0000'X
                          SMFINFILE @;
                         );
                 RUN;
                 %INCLUDE SOURCLIB(BUILDPDB);
                 RUN;

               That is STILL the correct (and only SAFE way) to back up
               the file being read, in spite of a post to MXG-L that
               reported this error message using that technique:
                 "ERROR: The '/' INPUT/PUT statement option is
                 inconsistent with binary mode I/O.  The execution of
                 the DATA STEP is being terminated".
                 And, that text was found in SAS Note 3404, an ancient
                 note that was fixed in SAS Version 8.2.
               That error message was NOT due to the backup technique;
               there was a prior and unrelated syntax error that was the
               true cause of that binary mode I/O error message.
               But, a subsequent post suggested that RECFM=S370VBS could
               be used to create the ASCII backup file, BUT:
                 YOU CAN NOT USE RECFM=S370VBS on ASCII for OUTPUT.
               While you can write with that RECFM with no errors on the
               log, THE OUTPUT FILE CANNOT RELIABLY BE READ.  Sometimes
               it is valid, sometimes it is not, and there is no clue,
               until you try to read the backup file.
              -VMXGGETM is revised to support RECFM=N write of VBS data
               when it is executed on ASCII, so you could use
                 FILENAME SMFBKUP
                   "D:\Users\365173\MXG\SMFDATA\SMF.HHPR.&DATETXT";
                 %VMXGGETM(SMFOUT=SMFBKUP,NRECORD=MAX);
               as a standalone program to create a backup of your SMF.
   Thanks to Michael Mayne, HHSYS, USA.

Change 30.223  Support for user-created CICS variables TRANSU, PGMU,
UTILEXCL      USERU and USERDATU.  UTILEXCL must be executed to create
VMAC110       the IMACEXCL to input those fields, and the four IMACICxx
IMACICUW      members must be copied into your "USERID.SOURLIB" and the
Oct 26, 2012
   Thanks to Randall R. Schlueter, FirstData, USA.
   Thanks to Joan E. Nielsen, FirstData, USA.

Change 30.222  IFCID=239 DB2ACCTP observations did not set DB2PARTY nor
VMACDB2        QPACROLL nor QPACRUSM for the ID=101 SUBTYPE=1 records.
Oct 26, 2012

Change 30.221  Example HSM reports 3 and 4, Concurrent HSM Activity and
ANALHSM        Concurrent HSM Queued, are now sorted by datetime within
Oct 25, 2012   each HSM Function.
   Thanks to Rick Ralston, Humana, USA.

Change 30.220  Support for NDM-CD Subtype CX Certificate Expire subtype
EXNDMCX        creates new NDMCX dataset.
IMACNDM
VMACNDM
VMXGINIT
Oct 24, 2012
   Thanks to Douglas C. Walter, CitiBank, USA.
   Thanks to Brent Turner, CitiBank, USA.

Change 30.219  The mapping of DBID/OBID hex values to the actual name of
ANALDB2R       the database or table were not always decoded correctly
VFMT102        by the format created by VFMT102. In some cases IFCID 105
Oct 21, 2012   was written up to 30 seconds AFTER the trace record that
Nov  5, 2012   needed the 105 values, so a format based on timestamps
               cannot be used.  This iteration creates the format based
               on variables SYSTEM DB2SSSID QWHSACE DBID (or DBID OBID).
               NOTE: REGION=200M or larger may be required because this
               format is MUCH larger; the size is related to the number
               of observations in T102S105 and T102S107 datasets.
               Nov 4:  The Oct 21 iteration could cause duplicate values
               error when building the format; NODUPKEY replaced NODUP
               to circumvent the error, but this could cause some DBID
               and OBID values to remain HEX (i.e., unmapped).  We are
               still redesigning the entire mapping algorithm but not
               in time for today's MXG 30.08. Contact support@mxg.com if
               you want the redesigned mapping when it's ready.
   Thanks to Alyona Bertneski, JPM Chase, USA.

Change 30.218  In ANALDB2R, INTERVAL=xxxx wasn't supported, causing
ANALDB2R          MXGERROR: YOU SPECIFIED INTERVAL=HOUR
Oct 19, 2012      MXGERROR: AND DATETIME=QWACBSC BUT THAT
                  MXGERROR: DATETIME VARIABLE IS NOT IN THE SUMBY LIST
                  MXGERROR: VMXGSUM TERMINATED EXECUTION
               if you were using MXG 30.05 or earlier.  With later MXG
               versions INTERVAL= was ignored for the Accounting reports
               with no error message.  Now, if INTERVAL= is specified,
               but the correct datetime variable is not in your SORTBY=
               parameter, the datetime variable is added to SORTBY list.
              -But for DB2ACCTP, intervals are still calculated based on
               QWHSSTCK (the end of the interval), because QPACSCB did
               not exist originally.  While it could be now used, that
               would require significant updates to the ASUM and TRND
               members, and it is still possible for the PLAN/PACKAGE
               to fall into different intervals.
              -Statistic data is always summed using QWHSSTCK; since the
               interval duration for statistics in DB2 V10 is now fixed
               at one minute, changing to start versus end would not
               make much difference.
   Thanks to Ron Wells, Springleaf Financial Services, USA.

Change 30.217 -Reading RMF III data on ASCII platform generated INVALID
VMACRMFV       data messages when the (new) MXG00 record (created by the
Oct 18, 2012   new ASMRMFV to document its version) was read, but there
               were no errors in the other MXG-build RMF III datasets.
              -Unrelated, new variable INFILENX contains the DSNAME or
               ASCII filename of the input RMFBSAM file being read.
              -Macro variable &VMXGJFCB is created to extract the JFCB
               when TYPERMFV is executed on z/OS and to specify the
               RECFM=S370VBS and LRECL=3270 when executed on ASCII so
               those DCB attributes are not required on the FILENAME.
   Thanks to James Sterling, DST Systems, USA.

Change 30.216  Updates to MXG code for MVS Solutions Thruput Manager SMF
VMACTPMX       subtype 5 record added new fields to the SLMSLPER dataset
Oct 16, 2012   with SLM Job statistics, and corrected the input and the
               format for some duration variables that were resolved to
               seconds (TIME8. instead of my TIME12.2).
   Thanks to Ken Deering, MVS Solutions, Inc, USA.

Change 30.215  z/VM BROKEN CONTROL record error only when MONWRITE input
VMACVMXA       files were concatenated (but not always!) due to logic
Oct 16, 2012   error in MTREPR record's SKIP bytes handling.
   Thanks to David Campbell, SunTrust, USA.
   Thanks to Shannon Collinson, SunTrust, USA.

Change 30.214  Using VXMGFIND to print all datasets obs with found value
VMXGFIND       (e.g., all observations with JESNR=12345) selected all of
Oct 11, 2012   the desired observations, but the name of the dataset in
               title of each output were off by one dataset - the first
               didn't have a dataset name, and the name in the second
               title was the name of the first dataset, etc., due to a
               mislocated RUN; statement.

Change 30.213  MXG 30.07 only. CICS STID=30 WARNING messages were caused
VMAC110        by incorrectly inserted code, which also corrupted the
Oct 10, 2012   CICLDG statistics dataset.
   Thanks to Leonard DiCristofano, Anixter Inc, USA

Change 30.212  Support for APAR OA37016 for zEC12 CRYPTO EXPRESS4S adds
FORMATS        a new value 10 for Crypto Processor Type CEX4C, which is
VMAC7072       added to be decoded by the existing $MGRMFCX format, and,
Oct 11, 2012   unrelated, two instances of 'F5'x were changed to dashes.
              -New variable R7023MSK='VALIDITY*BIT*MASK' is created in
               dataset TYPE7002.

Change 30.211  Change 30.113 accidentally removed the de-accumulation of
VMACDB2        DB2STATS variable QISTCOLS in MXG 30.04, when three other
Oct  9, 2012   QISTxxxx variables were correctly removed.  QISTCOLS is
               now again de-accumulated.
   Thanks to Glenn Bowman, Wakefern, USA.

Change 30.210  Support for APAR PN29124 adds IFCID=366 BIF INCOMPATIBLE.
EX102366       The CHAR(decimal) function in DB2 V10 returns different
FORMATS        data than the same function in DB2 V9, and the IFCID=366
IMAC102        records identify SQL source code that MUST be changed to
VMAC102        support the new format.  The BIF INCOMPATIBLE option will
VMXGINIT       restore the CHAR function to its V9 behavior while your
READDB2        SQL guru's change their code for DB2 V10.
Oct 10, 2012  -READDB2's previous max IFCID of 350 raised now to 450.
   Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.
   Thanks to David McGrady, Blue Cross Blue Shield of Alabama, USA.

Change 30.209  Support for APAR OA37826 adds Channel Path Types CIB and
EXTY74HO       CFP Coupling Facility data in new TYPE74HO dataset with
FORMATS        both Local and Remote Channel Path Data for CIB & CFP.
VMAC74        -New Data Set TYPE74HO:
VMXGINIT         R744HAID='HOST*CHANNEL*ADAPTER*ID'
Oct  7, 2012     R744HAPN='HOST*CHANNEL*ADAPTER*PORT'
                 R744HCHF='R744HCHF*STATUS*FLAGS'
                 R744HCPI='CHANNEL*PATH*IDENTIFIER'
                 R744HFLA='R744HFLA*VALIDITY*BIT*MASK'
                 R744HLAT='CHANNEL*PATH*LATENCY*TIME'
                 R744HOPM='CHANNEL*PATH*OPERATION*MODE'
                 R744HPCP='PHYSICAL*CHANNEL*ID*PCHID'
                 R744HSAP='FOUR*I/O PROCESSOR*ACCESSIBLE'
                 R744HTAP='CHANNEL*PATH*TYPE*ACRONYM'

Change 30.208  Support for APAR OA37803 which adds Warning Track
VMAC7072       Interrupt Facility.
Oct  6, 2012  -TYPE70EC and TYPE70PR new variables:
                 SMF70WTI='DURATION*LP WAS YIELDED*DUE TO WTI'
                 SMF70WTS='WTI-S*RETURNED*WITHIN*GRACE*PERIOD'
                 SMF70WTU='WTI-S*UNABLE*TO RETURN*IN GRACE'

Change 30.207  Support for APAR OA39993 which adds Interrupt Delay Time
VMAC74         Facility duration.
VMAC79        -TYPE74 new variable:
Oct  6, 2012     SMF74IDT='INTERRUPT*DELAY*TIME*DURATION'
Jan  3, 2012     AVG74IDT='AVERAGE*INTERRUPT*DELAY*TIME*MILLISEC'
              -TYPE79 new variable:
                 SMF79IDT='Interrupt*Delay*Time*Duration'

Change 30.206  Support for APAR OA38660 which adds Storage Class Memory
VMAC71         (SCM) and Pageable Large Pages on EC12 (zEC12) Server,
VMAC75         which are also called "FLASH MEMORY".
VMAC78        -TYPE71 new variables:
Oct  6, 2012     SMF71ASM='MIN*AVAILABLE*NOT USED*SCM BLOCKS'
Nov 13, 2012     SMF71ASV='AVG*AVAILABLE*NOT USED*SCM BLOCKS'
Dec 25, 2012     SMF71ASX='MAX*AVAILABLE*NOT USED*SCM BLOCKS'
                 SMF71BSA='AVG*BAD*SCM BLOCKS'
                 SMF71BSM='MIN*BAD*SCM BLOCKS'
                 SMF71BSX='MAX*BAD*SCM BLOCKS'
                 SMF71C1A='AVG*HIGH VIRTUAL*COMMON*MEM PAGES'
                 SMF71C1M='MIN*HIGH VIRTUAL*COMMON*MEM PAGES'
                 SMF71C1X='MAX*HIGH VIRTUAL*COMMON*MEM PAGES'
                 SMF71C4A='AVG*HIGH VIRTUAL*COMMON*ON SCM'
                 SMF71C4M='MIN*HIGH VIRTUAL*COMMON*ON SCM'
                 SMF71C4X='MAX*HIGH VIRTUAL*COMMON*ON SCM'
                 SMF71L1A='AVG*1MB FRAMES*CANBE*USED*FIXED MEMOBJ'
                 SMF71L1M='MIN*1MB FRAMES*CANBE*USED*FIXED MEMOBJ'
                 SMF71L1X='MAX*1MB FRAMES*CANBE*USED*FIXED MEMOBJ'
                 SMF71L2A='AVG*1MB FRAMES*NOT USED*IN LFAREA'
                 SMF71L2M='MIN*1MB FRAMES*NOT USED*IN LFAREA'
                 SMF71L2X='MAX*1MB FRAMES*NOT USED*IN LFAREA'
                 SMF71L3A='AVG*1MB FRAMES*IN USE*IN LFAREA*BY FMEMOBJ'
                 SMF71L3M='MIN*1MB FRAMES*IN USE*IN LFAREA*BY FMEMOBJ'
                 SMF71L3X='MAX*1MB FRAMES*IN USE*IN LFAREA*BY FMEMOBJ'
                 SMF71L4A='AVG*1MB FRAMES*CANBE*USED*PAGEABLE/DREF'
                 SMF71L4M='MIN*1MB FRAMES*CANBE*USED*PAGEABLE/DREF'
                 SMF71L4X='MAX*1MB FRAMES*CANBE*USED*PAGEABLE/DREF'
                 SMF71L5A='AVG*1MB FRAMES*NOT USED*PAGEABLE/DREF'
                 SMF71L5M='MIN*1MB FRAMES*NOT USED*PAGEABLE/DREF'
                 SMF71L5X='MAX*1MB FRAMES*NOT USED*PAGEABLE/DREF'
                 SMF71L6A='AVG*1MB FRAMES*USED BY*PAGEABLE/DREF'
                 SMF71L6M='MIN*1MB FRAMES*USED BY*PAGEABLE/DREF'
                 SMF71L6X='MAX*1MB FRAMES*USED BY*PAGEABLE/DREF'
                 SMF71S1A='AVG*HIGH VIRTUAL*SHARED*MEM PAGES'
                 SMF71S1M='MIN*HIGH VIRTUAL*SHARED*MEM PAGES'
                 SMF71S1X='MAX*HIGH VIRTUAL*SHARED*MEM PAGES'
                 SMF71S5A='AVG*AUX SLOTS*HIGH*SHARED MEM ON DASD'
                 SMF71S5M='MIN*AUX SLOTS*HIGH*SHARED MEM ON DASD'
                 SMF71S5X='MAX*AUX SLOTS*HIGH*SHARED MEM ON DASD'
                 SMF71S6A='AVG*HIGH VIRTUAL*SHARED MEM*ON SCM'
                 SMF71S6M='MIN*HIGH VIRTUAL*SHARED MEM*ON SCM'
                 SMF71S6X='MAX*HIGH VIRTUAL*SHARED MEM*ON SCM'
                 SMF71TSA='AVG*4K SCM*BLOCKS AVAIL*TO ASM'
                 SMF71TSM='MIN*4K SCM*BLOCKS AVAIL*TO ASM'
                 SMF71TSX='MAX*4K SCM*BLOCKS AVAIL*TO ASM'
                 SMF71USA='AVG*SCM BLOCKS*IN USE'
                 SMF71USM='MIN*SCM BLOCKS*IN USE'
                 SMF71USX='MAX*SCM BLOCKS*IN USE'
              -TYPE75 new flag variables are created for bits, but only
               SCMPGTYP was added by this APAR - the other bits had not
               been previously decoded into flag variables:
                 MULTEXPO='MULTIPLE*EXPOSURE*DEVICE?'
                 DEVALTCU='DEVICE HAS*ALTERNATE*CONTROL*UNIT'
                 DEVVALID='DEVMODEL*IS VALID?'
                 SCMPGTYP='PAGE*SPACE*TYPE IS*SCM?'
                 Nov 13: The four variables were added to the KEEP list.
              -TYPE78PA dataset, new variables added Dec 25:
                 R782FIFRMIN ='MIN FRAMES*CAN BE USED*FIXED*MEMOBJ'
                 R782FIFRNTME='TIME STAMP*OF MIN*FIXED*MEMOBJ'
                 R782FIFRMAX ='MAX FRAMES*CAN BE USED*FIXED*MEMOBJ'
                 R782FIFRXTME='TIME STAMP*OF MAX*FIXED*MEMOBJ'
                 R782FIFRAVG ='AVG FRAMES*CAN BE USED*FIXED*MEMOBJ'
                 R782PAFRMIN ='MIN FRAMES*ARE USED*PAXED*MEMOBJ'
                 R782PAFRNTME='TIME STAMP*OF MIN*PGBL/DREF*MEMOBJ'
                 R782PAFRMAX ='MAX FRAMES*ARE USED*PGBL/DREF*MEMOBJ'
                 R782PAFRXTME='TIME STAMP*OF MAX*PGBL/DREF*MEMOBJ'
                 R782PAFRAVG ='AVG FRAMES*ARE USED*PGBL/DREF*MEMOBJ'
              -TYPE78PA dataset, these new AVG value variables should
               have been created, instead of their TOTL value variables,
               but their TOTL variables are still kept, to be safe.
                 SHBYAVG ='AVG*SHARED*ABOVE 2GB'
                 TOBYAVG ='AVG*ABOVE 2GB'
                 COBYAVG ='AVG*64BIT COMMON 2GB'
                 COMOAVG ='AVG*64BIT*COMMON'
                 LGMOAVG ='AVG*LARGE*MEMOBJ'
                 SHBYAVG ='AVG*SHARED*ABOVE 2GB'
                 SHMOAVG ='AVG*SHARED*ABOVE 2GB'
                 TOBYAVG ='AVG*ABOVE 2GB'
                 TOFRAVG ='AVG*1MB*FRAMES'
                 TOMOAVG ='AVG*64 BIT PRIVATE'
              -The APAR lists 79.11 as changed, but the APAR did not
               provide any details at that time.  This text will be
               revised when the APAR text has been updated by IBM.

Change 30.205  Variable ACTVOL is added to TMS.TMS dataset:
TYPETMS5         ACTVOL  ='ACTUAL*PHYSICAL*WHERE*VIRTUAL*OFFLOADED'
VMACTMS5       The '20'x bit in FLAG5 is also set when ACTVOL is
Oct  6, 2012   populated, but as that is redundant I did not create a
               new variable for that bit.
   Thanks to DJ Chen, Florida Department of Corrections, USA.

Change 30.204  Support for APAR OA38980 adds new variable to DCOLCLUS:
VMACDCOL         DCAZFS  ='ZFS*DATA*SET?'
Oct  6, 2012   and two new variables to DCOLVOLS dataset:
                 DCVFCYLS='FREE*CYLINDERS*ON VOLUME'
                 DCVFTRKS='FREE*TRACKS*ON*VOLUME'
   Thanks to Michael R. Mayne, Huntsville Hospital System, USA.

Change 30.203  Support for JES3 Main Device Scheduler IAT5210 & IAT5918
ASMTAPEE       mount messages adds these new variables to PDB.ASUMTAPE
ASUMTAPE         FIRST5210='FIRST*JES3*IAT5210*DATETIME'
VMACTMNT         LAST5210='LAST*JES3*IAT5210*RECORD'
Oct  8, 2012     NR5210  ='NUMBER*OF JES3*IAT5210*MESSAGES'
Nov 30, 2012     VOLF5210='FIRST*JES3*IAT5210*VOLSER'
Apr 10, 2013     VOLL5210='LAST*JES3*IAT5210*VOLSER'
                 FIRST5918='FIRST*JES3*IAT5918*DATETIME'
                 LAST5918='LAST*JES3*IAT5918*RECORD'
                 NR5918  ='NUMBER*OF JES3*IAT5918*MESSAGES'
               to measure the delay from JES3 MDS Mount/Allocate and the
               dismount event for those pre-execution JES3 tape mounts.
               The MXGTMNT monitor itself never sees those mounts, which
               occur prior to the job's execution on z/OS, but the above
               SYSLOG messages, plus the TYPE21 dismount records provide
               improved tracking of JES3 mount events.
              -ASMTAPEE was updated to create SMF subtype 8 records for
               these messages in this enhancement, which is ML-50.
              -Only data from the first and last of these JES3 messages
               are kept in PDB.ASUMTAPE, but you can create subtype 9
               records for each of these records if you need to see all
               of them, using the //MXGMSGID DD documented in ASMTAPEE.
              -Debugging PROC PRINTs in ASUMTAPE were removed Nov 30.
              -Added April 2013:
               INCOMPATIBLE: SORT ORDER OF PDB.ASUMTAPE was changed
               from BY DEVNR EVENTIME to BY JESNR DEVNR EVENTIME which
               could cause WEEKBLD/MONTHBLD to NOTSORTED fail, but only
               if your WEEKBLD/MONTHBLD is prior to Change 29.008, 20.01
               which made the NOBY option the default to eliminate all
               BY statements in those programs).  Just remove the
               BY statement in your tailored WEEKBLD/MONTHBLD.
   Thanks to Jim Dammeyer, State Farm Mutual Auto Insurance, USA.
   Thanks to Doug Medland, IBM Canada, CANADA.
   Thanks to Paul Williams, The Capital Group, USA.

Change 30.202 -RMF III Enhancements and Fixes
ASMRMFV       -Fix for invalid I/O error with messages RMFV033E and
Oct  3, 2012   RMFV007S and subsequent U0998 Abend.  There is a time
Oct  6, 2012   window where RMF III has opened a VSAM data set but not
               yet written the first sample set.  In this situation the
               number of sample sets is zero, but ASMRMFV did not
               correctly handle the condition and attempted to read a
               non-existent sample set causing the error.  In this
               condition the first and last sample timestamps are zero
               indicating a date of 1900.001.  ASMRMFV will now
               correctly issue message RMFV014I as it does for all
               date/time selection mismatch conditions and proceed
               without error to the next RMF III data set.
              -A new parameter SIZE (alias SZ) is added.  This option
               provides all the features of the existing NONE option
               that suppresses all output but in addition avoids reading
               any RMF III tables as input (except the DSH table).  The
               purpose of SIZE is to provide both RMF III index and disk
               space usage to allow optimum sizing of RMF III VSAM data
               sets.  Options INDEXES and SPACE are forced when SIZE is
               coded. The I/O activity and reporting with SIZE is much
               less compared to use of NONE.  NONE was intended to also
               provide a table contents inventory and so may still be
               useful in some scenarios.
              -The entire DSH table of 32756 bytes is now output not
               just the 256 byte header.  There is just one DSH record
               for each RMF III VSAM data set.
              -The Create Date is now added to message RMFV008I for
               non-VSAM data sets.  The JFCB (Job File Control Block)
               that is the source of this data always has the current
               date for all VSAM files and so Create Date is suppressed
               for them.
              -A new message RMFV034I will be produced to show the date
               and time of the LAST CLOSE for each RMF III VSAM file.
               Although the source field DSIGTODC in the DSH table is
               documented as "Time data set was created", it is clear
               from the begin and end sample time stamps that this date
               stamp is always later than end sample time stamp and so
               is consistent with a file being closed, not one that was
               just created.
              -The SAMPLES FILTERED count in message RMFV103I could be
               incorrect when an entire data set was filtered by date
               and time selection.
              -Prologue documentation in the ASMRMFV source has been
               updated to provide detail on the NONE and SIZE
               parameters.
              -Oct 6: Cosmetic: Message RMFV034I shows OPEN timestamp in
               the local time zone, and imbedded blanks in 9 other date
               and time fields.
     Thanks to Rodger Foreman, Trans Union, USA
     Thanks to Susan Graham, CapGemini, USA

Change 30.201  Variables SM1132MT and SM1132MM were blank because a test
VMAC113        for debugging (IF SYSTEM='MVSA' ...) was not removed, but
Oct  4, 2012   they were also not kept until now!
Oct  9. 2012  -Oct 9: Change 30.129 text is now available.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY

====== Changes thru 30.200 were in MXG 30.07 dated Oct  3, 2012=========

Change 30.200  DB2 V10 variable QWHCCV was incorrectly replaced by the
VMACDB2        value in new variable QWHCCTKN when the CTKN offset was
VMACDB2H       non-zero. QWHCCTKN is an IP address in this format with
Oct  2, 2012   an IP address, Port Number, and a timestamp:
                 162.123.25.218.44485.120605112901
                 -------------- ----- ------------
                   |             |     |
                   |             |     |-- Unique field ( timestamp real
                   |             |
                   |             |-- Port address
                   |
                   |- Requester IP Address
              -Only QWHCATYP=8 (REMOTE UOW) obs have QWHCCTKN in several
               test SMF files, and many of those =8 observations do not
               have a value, so MXG's incorrect value in QWHCCV does not
               appear to have been pervasive.
              -Previously, there was no "truncated offset" field for
               QWHCCV, the Correlation ID, and when IBM added the
               truncated offset field for QWHCCTKN, I misread the DSECT
               and thought that offset was for the Correlation ID so I
               INPUTed the new field at that offset into QWHCCV.  I now
               realize that that INPUT was for the new Correlation TOKEN
               field, QWHCCTKN, which is now correctly INPUTed and KEPT.
              -Now that QWHCCV has no truncated offset, it's length is
               restored to $12 instead of $128.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.

====== Changes thru 30.199 were in MXG 30.07 dated Oct  2, 2012=========

Change 30.199  DO NOT USE MXG 30.07 DATED OCT 1 OR EARLIER.  THOSE WERE
EXTY70PR       TEST ITERATIONS THAT UNFORTUNATELY HAD A SERIOUS ERROR
Oct  2, 2012   AND CREATED ZERO OBSERVATIONS IN TYPE70PR DATASET AND
               WAY TOO MANY OBS IN TYPE70SP, DUE TO MY ERROR IN MY QA.
               The EXTY70PR member OUTPUT to _WTY70SP incorrectly; that
               should have been (AND IS NOW) OUTPUT to _WTY70PR.

====== Changes thru 30.198 were in MXG 30.07 dated Oct  1, 2012=========

Change 30.198  These labels for these variable in VMACNMON are
VMACNMON       misleading and incorrect: they indicate "percentages"
Oct  1, 2012      APCPUUSER='PCPU_ALL*USER*PERCENT'
                  APCPUSYS ='PCPU_ALL*SYSTEM*PERCENT'
                  APCPUWAIT='PCPU_ALL*WAIT*PERCENT'
                  APCPUIDLE='PCPU_ALL*IDLE*PERCENT'
                  APCPUBUSY='PCPU_ALL*BUSY'
               but they are PHYSICAL CP counts: Their labels are now
               corrected to:
                  APCPUUSER='PHYSICAL*CP*USER'
                  APCPUSYS ='PHYSICAL*CP*SYSTEM'
                  APCPUWAIT='PHYSICAL*CP*WAIT'
                  APCPUIDLE='PHYSICAL*CP*IDLE'
                  APCPUBUSY='PHYSICAL*CP*ENTITLED'
   Thanks to Lennon L. Marchang, Coca-Cola Company, USA

Change 30.197  Support for user-created CICS variables TRANSU, PGMU,
UTILEXCL      USERU and USERDATU.  UTILEXCL must be executed to create
VMAC110       the IMACEXCL to input those fields, and the four IMACICxx
IMACICUR      members must be copied into your "USERID.SOURLIB" and the
IMACICUT      comment block therein removed.
IMACICUU
IMACICUV
Sep 25, 2012
   Thanks to Alex B. Nielsen, KMD, DENMARK.
   Thanks to Noach Holger, KMD, DENMARK.

Change 30.196  Variable QW0247DA was truncated to 8 bytes because it was
VMAC102       assigned $HEX16. format and only the first 200 bytes were
Sep 24, 2012  input with $VARYING200., but actual data length can be up
              to 4096, so the INPUT and FORMAT were revised.
    Thanks to Matthew Chappell, Dept. of Transport Main Roads, Australia

Change 30.195  Optional DB2 variable CORRNAME is created in the _DB2CORR
VMACDB2       macro defined in VMACDB2, with CORRNAME=SUBSTR(QHWCCV) so
Sep 24, 2012  its length was $12 when QWHCCV is $12. But Change 30.032
              (incorrectly!) increased QWHCCV to $128, causing CORRNAME
              to increase, which then could print warning messages
              about MULTIPLE LENGTHs.  Adding a LENGTH CORRNAME $8;
              statement to the MACRO _DB2CORR definition in VMACDB2
              corrected.  However, you should copy that definition into
              your IMACKEEP member so the same definition is always
              used at your site, and because some sites have needed to
              tailor the actual substringing.
             -Change 30.200 restored QWHCCV to the correct $12 length.
   Thanks to Alyona Bertneski, JP Morgan, USA.

Change 30.194  DB2 QMDAACCT field LENACCT1=246 caused the error message:
VMACDB2         INVALID THIRD ARGUMENT for SUBSTR(QMDAACCT,BEG,LENACCT1)
Sep 21, 2012   because the QMDAACCT INPUT was $VARYING200. LENACCT1 so
               the length of QMDAACCT was restricted by the $VARYING200.
   Thanks to Stephen Donahue, Fidelity Investments, USA.

Change 30.193  The MXGTMNT (ASMTAPEE) Tape Mount and Tape Allocation
ASMTAPEE       and SYSLOG monitor program has been enhanced.  The ML-49
Sep 20, 2012   level removes the requirement of having the tape UCBs
               PINNed.  This eliminates the previous requirement that
               your operators had to stop and restart the monitor when
               your tape drive configuration changed, and it eliminates
               the need for documenting that procedure for operators.
               The new monitor will now detect that a configuration
               change has been successfully completed and determine
               whether or not a tape device was involved.  If so, the
               monitor will automatically suspend processing, rescan the
               tape device's UCBs, and restart monitoring without user
               intervention.  Old and new levels of MXGTMNT can exist on
               multiple z/OS systems that share tape devices.  Systems
               with ML-49 will automatically detect the change, systems
               with prior versions will still need operator intervention
               when the tape device configuration is changed.

Change 30.192  zVM MONWRITE dataset VXAPLSL0 Linux Processor Utilization
VMACVMXA       variables PCTSYST PCTIDLE PCTINTR PCTSOFT PCTIOWT were
Sep 19, 2012   all incorrect, because the right-hand variable for each
Sep 20, 2012   of those percent calculations was NICEMODE instead of the
               individual xxxxMODE variable.
              -Variables PCTUSER/PCTNICE/USERMODE/NICEMODE were reversed
               in the INPUT statement so they too were wrong.
              -New PCTSTOL/STOLEMODE is created with the time when the
               z/VM Hypervisor had stolen the clock ticks.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 30.191  JOB to create/update the MXG FORMAT library when you use
BLDFORMT       CONFIMXG configuration with // EXEC SAS93, needed because
Sep 18, 2012   CONFIMXG sets DISP=SHR for LIBNAME LIBRARY:
                //S1  EXEC SAS93,CONFIG='MXG.SOURCLIB(CONFIMXG)'
                //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
                //SYSIN   DD *
                 LIBNAME LIBRARY CLEAR;
                 LIBNAME LIBRARY "&MXGFORMT" DISP=OLD;
                 %INCLUDE SOURCLIB(FORMATS);

Change 30.190  z/VM 6.1 data caused BROKEN CONTROL RECORD error because
VMACVMXA       the length of STSI in VXMTRTOP was increased from 40 to
Sep 17, 2012   at least 152 and MXG had $VARYING40., now $VARYING255.

Change 30.189  Use of %CMPRES in VMXGSUM was removed by Change 29.154 to
VMXGSUM        avoid APPARENT INVOCATION OF CMPRES MACRO messages (z/OS)
Sep 17, 2012   but unfortunately Change 30.158 (MXG 30.06) slipped its
               use back in VMXGSUM, so this change was going to just
               remove it and live with lots of blank in the error text
               we were compressing.  However, we have discovered that
               the %CMPRES macro can be replaced using %SYSFUNC:
                  %LET MESSAGE=%SYSFUNC(COMPBL(&MESSAGE));
               which eliminated the reference to SASAUTOS.
               However, the actual cause of this error is that your MXG
               was incorrectly installed; either your JCL or your CONFIG
               options are preventing MXG from accessing that macro from
               the SAS-provided SASAUTOS library.  Change 28.128 lists
               the many ways to correct this install error, but you MUST
               correct your JCL/CONFIG, as many other MXG programs
               depend on SASAUTOS.  VMXGSUM is protected ONLY because
               %CMPRES again was not required and could be removed, and
               because VMXGSUM is used in BUILDPDB and ASUMxxxx members
               that build PDBs.

Change 30.188  Support for SMF 119 Subtypes 48 thru 52 populate the SMTP
FORMATS        variables in those existing datasets.
VMAC119       -Oct 1: some datetime variables were not length 8.
Sep 16, 2012
Oct  1, 2012
   Thanks to Randy Shumate, Reed Elsevier Technical Services, USA.
   Thanks to Tom Erwin, Reed Elsevier Technical Services, USA.

Change 30.187  Variables CMF06SPL & CMF06SPH are input &PIB.2.1 because
VMACCMF        they were ten times too large in CMF06GDA dataset.
Sep 15, 2012
   Thanks to Alfred Sau, TJX, USA.
   Thanks to Kevin Luey, TJX, USA.

Change 30.186  Two "MXG" DB2 reports are added that are not in DB2PM.
ANALDB2R      -MXGACC01 is an interval summary report with your choice
Sep 15, 2012   of selection criteria that provides total and average
Sep 17, 2012   values for the important CPU and suspend and get-page
               variables for the buffer pools with average and max
               elapsed times.  MXGACC01=YES creates a summary by
               QWHSSTCK QWHSSSID QWHCATYP and QWHCAID. The datetime
               value will reflect the value in the interval parameter.
               If you use an interval of DATE/WEEK/MONTH the format of
               QWHSSTCK is adjusted to DATETIME7. and any other interval
               value it is adjusted to DATETIME13. If no interval is
               specified it is adjusted to datetime16.
                 Example 1:
                  %ANALDB2R(MXGACC01=YES,INTERVAL=DATE,
                    PMACC01=NO,PMACC02=NO,PMSTA02=NO);
                  creates a summary of all DB2ACCT records in the input
                  PDB.DB2ACCT dataset, at date interval.
                 Example 2:
                  %ANALDB2R(MXGACC01= IF QWHCATYP=4; ,INTERVAL=DATE,
                    PMACC01=NO,PMACC02=NO,PMSTA02=NO);
                  creates a summary of all CICS DB2 account records with
                  an interval of date.
              -MXGACC02=YES creates an unsorted detail report for every
               record in DB2ACCT.  Given the volume this is most likely
               NOT what you want to do, without some selection criteria.
                 Example 1:
                  %ANALDB2R(MXGACC02=IF ELAPSTM GT 60 AND QWHCATYP=4;,
                    PMACC01=NO,PMACC02=NO,PMSTA02=NO);
                  creates the detail report, but only for CICS DB2 that
                  executed for over 60 seconds.
   Thanks to Ron Wells, Springleaf Financial Services, USA.
   Thanks to Richard Brooks, Springleaf Financial Services, USA.

Change 30.185 -VFMT102 is invoked by READDB2/ANALDB2R to build formats
ANALDB2R       to decode the hex DBID and OBID values in the DB2 IFCID
READDB2        105/107 records, but it could be executed many times if
VFMT102        multiple IFCIDS or multiple reports were requested.  This
VMXGINIT       change prevents multiple executions within a single pass
Sep 15, 2012   of data by setting the global macro variable VFMT102 when
               it is run the first time, and testing it to prevent the
               re-execution.  If ANALDB2R/READDB2 is restarted in the
               same SAS session (possibly pointing to different data),
               VFMT102 will be re-executed.
              -Variable QW0145LN is printed instead of QW0145LO and $4.
               format is added for QW0145SC in ANALDB2R audit reports.

Change 30.184  New INCODE= parameter added to permit input selection.
ANALINIT       For example:
Sep 12, 2012    %ANALINIT(INCODE=IF DATEPART(READTIME) GE TODAY()-1;);
               would report on only jobs submitted since yesterday.

Change 30.183  MXG 30.05/30.06.  PROC FORMAT overlapping range error can
DOC            occur with READDB2/ANALDB2R.  Change 30.140 removed the
Sep 15, 2012   datetime from the format, but duplicates can exist if the
               input spans a very large time frame.  VFMT102 in 30.04 or
               earlier can be used, so it is stored in the new VFMT102X,
               created ONLY so that support@mxg.com can send that one
               (renamed) member if you encounter the error.  The VFMT102
               was altered in Change 30.185 so it cannot be sent without
               sending additional members to circumvent this error.
                 But: VFMT102X was removed in MXG 30.30.

Change 30.182  Support for zNEXT EC12 processors with 101 engines.
VMAC7072       There are no new variables kept in TYPE70 since all of
Sep  8, 2012   the CPU-specific variables for CPU 64 or higher have been
               output in TYPE70EN dataset since Change 28.175.

Change 30.181  The "Split 70" logic did not provide exits for four data
EXTY70EC       sets TYPE70EC, TYPE70EL, TYPE70EN, and TYPE70SP because
EXTY70EL       they were thought to be internal and temporary, but they
EXTY70EN       now have exits implemented so that users can make changes
EXTY70SP       to those four datasets if needed.
VMAC7072
Sep  7, 2012
   Thanks to Ruth Leonhardt, Xerox, USA.

Change 30.180 -Two problems both found in testing that does not impact
VMXGSUM        the output but can improve efficiency of execution.
Sep 7, 2012    Case 1:
                 %VMXGSUM(INDATA=PDB.DB2ACCT,
                    OUTDATA=DB2SUM,
                    SUMBY=QWHSSSID,
                    SUM=DB2TCBTM,
                    MAX=MAXCPU,
                    INCODE=MAXCPU=DB2TCBTM;
                 );
               In this case, the MXGSUM1 dataset contained all 500+
               variables from DB2ACCT when only 3 were needed, because
               the KEEP= list was not being applied to the output
               dataset.  Now, all variables in the parameter lists is
               added as a KEEP statement to reduce DASD space required.
               Case 2:
                 %VMXGSUM(INDATA=PDB.DB2ACCT,
                    OUTDATA=DB2SUM,
                    SUM=DB2TCBTM,
                    MAX=MAXCPU
                 );
               In this case, the MXGSUM2 dataset was created by the
               SORT and since there was no INCODE, the MAXCPU variable
               did not exist so the PROC MEANS failed with a variable
               not found error.  Now, the KEEP logic after the SORT is
               NOT suppressed when there is no first DATA step.
              -Cosmetic.  Deletion of temporary datasets used during the
               course of VMXGSUM moved from the end to the points in the
               code where they are no longer needed avoiding confusion
               of the programmer on when/where they should be deleted.

Change 30.179  Formula changes from John Burg's SHARE presentation.  For
ASUM113        the z196 (VN=2) 0.59 replaced 0.57, 1.67 replaced 1.6, &
VMAC113        0.61 replaced 1.00; the z10 (VN=1) 0.31 replaced 1.00.
Sep  3, 2012
Sep 17, 2012

Change 30.178 -Using a numeric variable in your SORTBY= tailoring option
ANALDB2R       caused ERROR 48-59 citing PUT @1 &SORT $CHAR16 text. That
Sep  2, 2012   $CHAR format is not only NOT needed here (prints SORTBY=
Sep  4, 2012   variable's value, format not needed because all possible
               variables here are MXG-formatted), it is THE PRESENCE of
               the $CHAR format that causes this error, so its REMOVAL
               eliminates this unintended consequence and oversight, and
               now numeric variables like CONNTYPE and QWHCATYP that
               exposed the error can be used in your SORTEDBY list, and
               they will be added in a new QA test of ANALDB2R.
              -In testing this change it was discovered that if you
               ran PMACC03 without all of the input datasets (DB2ACCTP,
               DB2ACCTB, DB2ACCTG) it would fail calling ASUMDB2p/b/g
               members for those datasets.  If the datasets do not exist
               now, there will be an MXGNOTE printed on the log telling
               you what was found, with processing to continue without
               the missing datasets.
   Thanks to Howard L. Curtis, Duke Energy, USA.

====== Changes thru 30.177 were in MXG 30.06 dated Sep  1, 2012=========

Change 30.177  SAS 9.2 z/OS ONLY VGETOBS didn't recognize tape datasets.
VGETOBS        On z/OS, SAS 9.2 returns a blank in DICTIONARY.TABLES for
Aug 30, 2012   the number of OBS in a tape dataset, which caused VGETOBS
               to return a blank value, but both SAS 9.1.3 and SAS 9.3
               returned a bogus set of non-blank characters that proved
               there was a tape dataset, so VGETOBS returned a one value
               (it found a tape dataset), and VGETOBS could print a log
               message that it had detected non-blank non-numeric text,
               (but only if the NOEXIMSG internal option was enabled to
               print suppressed log notes). Now, a blank value invokes a
               new test (VGETDSN length GT 0) for the dataset name that
               is used to return a value of one for a tape dataset.
   Thanks to Robert Stoffregen, Great Lakes Educational Loan Svcs, USA.

Change 30.176 -Some cosmetic changes to better document the records that
ANALDB2R       are being reported, and new options for the AUDIT= parm:
Aug 28, 2012     AUDIT=DML < runs as it currently does uses 143 and 144
Aug 31, 2012     AUDIT=DMLREAD - processes only IFCID 144 for DML
                 AUDIT=DMLWRIT - processes only IFCID 143 for DML
               and a missing semicolon was found.
              -Requesting PMACC02=YES by itself, after reading SMF plus
               executing the ASUMDB2x members, resulted in overlaying
               many old-style macros that caused error messages.  Those
               old-style substitution macros are now cleared in PMACC02.

Change 30.175  Support for IFCID=271 DB2 AUDIT PERMISSIONS trace record.
VMAC102        Dataset existed but none of the IFCID-specific fields
Aug 28, 2012   were input.

Change 30.174 -Allocation utilities VMXGALOC & VGETALOC permitted 8-byte
VGETALOC       dates formats for mmddyy, ddmmyy, and yymmdd, but mmddyy
VMXGALOC       and ddmmyy generate slashes in the constructed directory
Aug 28, 2012   names; this change allows 6 8 and 10 byte formats for the
Sep 16, 2012   mmddyy and ddmmyy but will replace them with the formats
               mmddyyd and ddmmyyd that use a - rather than a /, like
               the yymmdd format that already uses a - as documented.
              -VGETALOC uses %LEFT %macro supplied by SAS in SASAUTOS
               directory and MXG options in AUTOEXEU.SAS or AUTOEXEC.SAS
               include SASAUTOS and MAUTOSOURCE to "autocall" it, but
               %LEFT was not actually required in VGETALOC, so it was
               removed so VGETALOC would not fail even if the site did
               not have their SASAUTOS correctly allocated in AUTOEXEU.
              -GETDATERANGE= parameter will now accept a number of days
               relative to today to search.  For example:
                 %VGETALOC(GETDATERANGE=-5 -9,BASEDIR=C:\MXG,
                   DATEFMT=YYMMDD.);
                 will look for directories in C:\MXG with dates of
                 12-09-06 thru 12-09-02 inclusive.
               There is now also an MXGNOTE if any directories are not
               found.
   Thanks to Patricia J. Jones, DST Systems, USA.

Change 30.173  WARNING: "INVALID QMDA SEGMENT ACCOUNT values are blank"
VMACDB2        for records with QMDALEN=258, but QMDAASLN=110 (so there
Aug 27, 2012   really were only 110-56=54 possible data bytes remaining)
               were printed because MXG incorrectly used QMDASFLN=247 as
               the length of accounting data.  But these records don't
               contain JOB accounting data: text after QMDASFLN is an
               exact repeat of the first 28 bytes of the QMDA segment,
               QMDAPTYP,QMDAPVER,QMDAPREL,QMDAPMOD, and QMDAPLAT.
               Now, MXG uses QMDAASLN instead of QMDASFLN to print any
               warnings (so these false positives won't print), and the
               text that follows QMDASFLN is INPUT into QMDAACCT based
               on QMDAASLN.  But, since QMDAACCT has never been KEPT in
               PDB.DB2ACCT this change was really just cosmetic so the
               false warning won't be printed on the log.
   Thanks to Paul Billick, QVC, USA.

Change 30.172 -RMF III Enhancements, more:
VMACRMFV      -New variables are added to the ZRBCPU file:
Aug 28, 2012     CPUCAPAD CAPACITY*ADJUSTMENT*INDICATION
                 CPUCAPRS CAPACITY*CHANGE*REASON
                 CPUDTIME TIME*DELTA*BETWEEN 2*DIAG CALLS
                 CPUIMMSU IMAGE*CAPACITY*MSU*LIMIT
                 NOTE: CPUDTIME will be missing for LPARs running as VM
                       Guests.
              -New variables are added to the ZRBLCP file:
                 LPARCLUS LPAR*CLUSTER*NAME
                 LPARGRPM GROUP*MAXIMUM*LICENSE*UNITS
                 LPARGRPN CAPACITY*GROUP*NAME*FOR*LPAR
                 LPARONCS CENTRAL*STORAGE*ONLINE*IN MB
                 LPAROSNA OS*INSTANCE*NAME
                 LPARUPID USER*PARTITION*ID
                 NOTE: Variables LPARCLUS, LPARGRPN, LPARGRPM, LPARONCS
                 require RMF Monitor III data at the z/OS 1.12 Level to
                 be populated.
              -Change 29.013 for CPCGRPLM, text and the INPUT statement,
               were both reversed; the four byte variable is input first
               and then the reserved four bytes are skipped.

Change 30.171  I had removed references to CICS stats dataset CICMNR, as
VMXGINIT       IBM had never externalized that DSECT, so MXG had never
Aug 27, 2012   created any observations, and because it kept showing up
               as an exception on QA reports.  However, I also removed
               the dataset token macro variables &PCICMNR and &WCICMNR
               from VMXGINIT, which cause UNRESOLVED MACRO ERROR when
               the new VMXGINIT was used with MXG 30.02 or earlier.
               I should never have removed those macro variables and so
               they are restored to be defined in VMXGINIT.
   Thanks to Pat Hansen, ADP, USA.
   Thanks to Mike Chaves, ADP, USA.

Change 30.170  Large increase in CICLDR observations count, 1,700,000,
EXCICLDR       with only 70,000 CICSTRAN observations; there is one obs
Aug 27, 2012   for each program that has been active, but almost all of
               the observations have zero Fetch Count (LDRFC) so this
               change now output CICLDR observations ONLY if LDRFC is
               no zero; that test is located in the EXCICLDR exit member
               in case you ever want to change and output them all.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 30.169 -Dataset T102S083, IFCID=83, always had zero observations
FORMATS        due to an LE test for QWHSRELN that should have been GE.
VMAC102       -IFCID=145 record with unexpected QWT02R1L=0 ABENDed with
Aug 25, 2012   invalid DO loop value. The records are continuations for
Oct 12, 2012   an SQL command with a total of 98,567 characters, so that
               multiple SMF record are written, and the continuation SMF
               records do not contain the expected R2O segment, so MXG's
               logic was revised.  However, a problem has been opened
               with DB2 Support because the QW0145LE length-field is not
               correct, and there is no explicit offset field to the SQL
               text in both the initial and continuation records, so the
               MXG input is heuristic based on the available records and
               the actual SQL text length in each observation is in the
               MXG-calculated QW0145LNTXT variable.
              -Oct 12: IBM APAR PM74186 corrects the SQL length error.
              -These new-in-DB2-V10 QW0145 fields are INPUT and kept:
                 QW0145IS QW0145SI QW0145OBNUM QW0145ACNUM
                 QW0145LL QW0145LNTXT
               and format $MGD145I decodes the Isolation Level QW0145IS.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 30.168  Enhancement to ASM program that recreates RECFM=VB or VBS
ASMDBLKU       data from downloaded ASCII "RECFM=U" that is now reloaded
Aug 24, 2012   back to z/OS into 32760 byte chunks that ASMDBLKU reads
Aug 29, 2012   to reconstruct the original VB/VBS file (perhaps so you
               can terse it and send it on to a vendor), for sites that
               don't have SAS on z/OS (when you would instead use the
               MXG UDEBLOCK program to recreate valid VB/VBS files).
              -JCL PARM field values of PARM=VB or PARM=VBS are now
               supported.  The default is VBS if no PARM field is coded.
               PARM=VB creates RECFM=VB,LRECL=32756,BLKSIZE=0, while
               PARM=VBS creates  RECFM=VBS,LRECL=32760,BLKSIZE=0 as in
               prior versions of ASMDBLKU.  Any other PARM field values
               will result in error message DBLKU29S and termination
               with Return Code 16.
              -New message DBLKU29I shows PARM field value if present.
              -Message DBLKU25I now also shows the average LRECL of the
               input SMFIN file.
              -Message DBLKU26I now also shows the average LRECL of the
               output SMFOUT file.
              -New message DBLKU27I shows the number of input SMFIN file
               records that were read at the minimum and maximum LRECL
               values.  This provides an idea if the record lengths on
               input were biased toward these values.
              -New message DBLKU28I shows the number of output SMFOUT
               file records that were written at the minimum and maximum
               LRECL values.  This provides an idea if the record
               lengths on output were biased toward these values.
              -Maximum LRECL value for the output SMFOUT file was
               incorrect in message DBLKU26I.

Change 30.167  MXG 30.04-30.05. The Debugging PUT _N_= YYYYDDD= at line
VMACIMS        3826 is deleted, to eliminate the unwanted log messages.
Aug 24, 2012
   Thanks to David J. Schumann, Blue Cross of Minnesota, USA.

Change 30.166  Change 30.153 supported keeping PROGRAM and PROG1-PROGnn
ASUMCICX       variables in PDB.ASUMUOW, but its tailoring instructions
ASUMUOW        were incomplete, and you may need this updated IMACUOW.
IMACUOW        To add PROGRAM (and optional PROG1-PROGnn variables):
VMXGUOW        - you must update ASUMUOW to add (only) variable PROGRAM
Aug 24, 2012     to the MACRO _KUOWIDC definition,
               - you must update ASUMUOW to add PROGRAM, plus any of the
                 PROG1-PROGnn variables that you want kept, into your
                 MACRO _KUOWPTH definition,
               - if the PROGRAM name you want/need isn't the PROGRAM in
                 that last CICSTRAN in this UOW, then you will need to
                 use this new IMACUOW tailoring and start with Case 5 as
                 your MACRO _TRANUOW selection, but be aware there still
                 could be additional site-dependent mods required.
               This example adds PROGRAM and PROG1-PROG3:
                 %LET MACKEEP=%QUOTE(
                   MACRO _YESOBS %
                   MACRO _NOOBS %
                   MACRO _KUOWPTH
                       EXECAPPL PROGRAM PROG1-PROG3 %
                   MACRO _KUOWIDC
                       APPLID USER LUNAME SYSTEM TERMINAL USERCHAR
                       PROGRAM
                   %
                 );
                 %INCLUDE SOURCLIB(VMXGUOW);
                 _NOOBS
                 OPTIONS NODSNFERR NOVNFERR;
                 _SUOWCIC  /*SORT CICSTRAN DATA */
                 _SUOWDB2  /*SORT DB2 DATA */
                 _SUOWMQ   /*SORT MQ SERIES DATA */
                 _SUOWSPN  /* CREATE ASUMUOW DATASET */
                 %VMXGUOW;
                 _YESOBS
                 OPTIONS DSNFERR VNFERR;
               If you use ASUMCICX to summarize the PDB.ASUMUOW CICS in
               PDB.CICS output dataset, you may need to add PROGRAM to
               the _BSUxxxx macro, as also now documented in comments.
               The only code changed in this change was in IMACUOW, but
               that is only the addition of the new Case 5 example.
   Thanks to Charles Savikas, DCF, State of Florida, USA.

Change 30.165  Cosmetic.  Existing $MGTMDAC format assigned to QW0142AC,
VMAC102        to decode A/C/D to ALTER/CREATE/DROP. Note that when an
Aug 23, 2012   MXG $MGxxxxx character format is assigned to a variable,
               that variable must be in a LENGTH statement with the
               input length; in the absence of a LENGTH statement, the
               old $1 character variable is changed to the length of the
               longest text in the $VALUE statement for that format.

Change 30.164  Support for six Tandem Prognosis data files creates these
EXTAPCPU       six datasets;
EXTAPIPU
EXTAPJOB         DDDDDD  MXG         MXG                       CREATED
EXTAPOBJ         DATASET DATASET     DATASET                   FROM
EXTAPPHY         SUFFIX  NAME        LABEL                     INFILE
EXTAPVOL
IMACTAPR         TAPCPU  TAPRCPU     TANDEM PROGNOSIS CPU      TAPRCPU
TYPETAPR         TAPIPU  TAPRIPU     TANDEM PROGNOSIS IPU      TAPRIPU
TYPSTAPR         TAPJOB  TAPRJOBS    TANDEM PROGNOSIS JOBS     TAPRJOB
VMACTAPR         TAPOBJ  TAPROBJECT  TANDEM PROGNOSIS OBJECT   TAPROBJ
VMXGINIT         TAPPHY  TAPRPHYSVOL TANDEM PROGNOSIS PHYSVOL  TAPRPHY
Aug 24, 2012     TAPVOL  TAPRVOLUME  TANDEM PROGNOSIS VOLUME   TAPRVOL
JCLTEST9
Aug 26, 2012   The TYPETAPR or TYPSTAPR members will create all six MXG
Aug 31, 2012   datasets, reading each of the six input files, but the
Sep 25, 2012   individual datasets can be created with the _Tdddddd
               to create and the _Sdddddd token to sort each one.  See
               examples in comments in VMACTAPR.
              -Sep 25: DD MON YYYY HH:MM:SS format for CPU001 supported.

              -These problems need to be resolved by Prognosis vendor:

               JOBS fields: 014,034,040-044,082,083:

               a.  Invalid values in 014 - IR_ELAPTIME_STRING
                     1:29
                     109-05:50:31
                     48
               b.  Invalid values in 034 - IR_STARTTIM_STRING
                     Values of 19 AUG 2012 and 02 MAY 2012 but the
                     IR_STARTTIM_TIMESTAMP is the same these records.
               c.  What are the units, where's the decimal, one obs has:
                     040 IR_SENDRESP value 0.0185
                     042 IR_PERFORM  value 0.0104
                     043 IR_RESPTIME value 0.0185
                     044 IR_CPUSECS  value 133877 - if in microseconds,
                                 then 0.133877 is larger than response.
               d.  Range of values are strange:
                     082 IR_SEQNUM -   1617862657, 8, and 1628929
                     083 IR_ANCSEQNO - 1617861633, 0, and 1895169

               VOL  fields: 061,062,063

               e.  061 IR_FULLTIME_STRING     21 OCT 2605: 20:52:57
                   062 IR_FULLTIME_TIMESTAMP                      0
                   063 IR_FULLTIME_GMT_OFFSET                     0

               CPU fields 001/002 string and timestamp inconsistency:

               f.  CPU has IR Time String format 8/20/12 with the time
                   0:00 (no seconds), but format 20 Aug 2012 0:00:00 is
                   used in the other records.

               g.  CPU has IR Timestamp value 2.12212E+17, which doesn't
                   have enough digits to decode correctly; other records
                   have 212212195260000000 microseconds, which does have
                   enough digits and after adding the Tandem constant to
                   convert from proleptic time, is a valid GMT datetime.

              -Notes on data structure issues that are circumvented:

               -The record delimiter in the tandem file is the unix "LF"
                but that is changed to "CRLF" if the file is copied to a
                Windows platform.  Macro variable MXGCRLF transparently
                sets the TERMSTR option of the INFILE statement to use
                the correct delimiter.  It is set to TERMSTR=CRLF on WIN
                platforms, to TERMSTR=LF on all other ASCII platforms,
                and it is blank on z/OS.  It can be changed with %LET.
               -The clue you have the wrong record delimiter is an error
                "ARRAY EXCEEDED" that prints the first two records where
                you can see the text date field after the last IR header
                name is listed as another field in that first record.
               -The JOBS "comma-delimited" file has double quotes around
                all character fields, and some contain embedded commas,
                which required special handling due to MXG's use of SCAN
                function which has no DSD option.  A vendor option to
                to change the delimiter to a tab would have been nice.
                Double quotes were removed, and the commas restored.
               -GMT Offset is not provided in the IPU record.
               -All fields with "PERC" are labeled (MXG-style) "PCT".

Change 30.163  Windows IIS Server Log record with strange URIQUERY value
VMACWWW          C63BCB3DB05CA94A1ECF2B1C13C048097E3456C966691FE6EEB4168
Aug 21, 2012     D55EB32905A6221CB8CA5C525
Sep 28, 2012   that did not contain the expected equal sign caused MXG
               to loop; that unexpected text value is now protected.
              -Data records with ^M (CR) were created when IIS file was
               moved to AIX could be stripped using DOS2UNIX command,
               but can also be read with MXG using
                %LET MXGCRLF = TERMSTR= CRLF ;
               before the %INCLUDE of TYPEWWW, because this change added
               &MXGCRLF in the INFILE statement in VMACWWW.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 30.162  Documentation. The RACF field AUDITFID is MXG variable
VMAC80A        RACF264 in RACF event datasets TYPE8028/29/30/44/45/8055,
VMACRACF       created from SMF 80 records, a 16-byte $HEX32 formatted
Aug 21, 2012   variable because it contains both hex and text:
                   e.g.: 'C8C6E2F0F0F93D0B00000000004D385B'X.
               and the RACF field AUDITFID is MXG variable AUDITID in
               dataset RACF0900 from IRRDBU00 RACF UNLOAD UTILITY data,
               a $32 character variable with the above hex as text.
               Both variables have been in MXG for years, but I have
               added "AUDITFID" text to both variable's label.
   Thanks to Mark Jacobs, Time Customer Service, USA.

Change 30.161 -RMF III Further Enhancements:
ASMRMFV       -A new message RMFV033E is issued when a VSAM Read Error
Aug 19, 2012   occurs to show the current and maximum Relative Record
               Number, RRN, of the RMF III record being read, and the
               return/reason codes from the failed read operation.  This
               message will aid in the investigation of sporadic VSAM
               read I/O errors that go away when ASMRMFV is rerun.  We
               will use these messages to circumvent the error.
              -NOTE: We have never had a VSAM Read error repeat with a
               rerun; if you error with ABREAD please add a //SYSUDUMP,
               and send the dump to support@mxg.com so we can resolve.
              -The SHOWCB macro calls that collect RMF III VSAM file
               attributes have been consolidated to a single call to
               reduce code path length.
              -New parameter ABREAD/NOABREAD lets you control ASMRMFV's
               action when a VSAM read I/O error does occur:
               -ABREAD is the default and duplicates the current ASMRMFV
                behavior: a USER 0998 abend occurs on the first instance
                of a VSAM read I/O error and no further data is written
                to the RMFBSAM output file by ASMRMFV.  Alias is ABR.
               -NOABREAD suppresses the above abend and the action taken
                depends on the data being read.  Alias is NOABR.  On the
                first read of an RMF III VSAM data set the action is to
                close this VSAM dataset and then open the next RMF VSAM
                file (if any).  Otherwise, if the error occurs on a
                subsequent read for sample set data, the problem sample
                set is skipped and ASMRMFV attempts to read the next
                sample set from the same data set (if any).
               -ASMRMFV ends with Return Code=12 if NOABREAD is in
                effect and a read I/O error has occurred.
               -Program prologue documentation is updated to discuss
                ABREAD and NOABREAD and new Return Code 12.
               -With either ABREAD or NOABREAD, the output RMFBSAM file
                is likely to be missing data after a read I/O error.
               -NOTE: When ASMRMFV is being executed under the CLRMFV
                CLIST, the abend (if ABREAD in effect) is trapped, and
                with either ABREAD or NOABREAD, CLRMFV will eventually
                end with Return Code=12 after a VSAM read I/O error.
                You could use the JCL COND parm to test for RC=12 in the
                subsequent PDB build, if you want to also terminate the
                creation of the RMF III PDB datasets after a VSAM error.
    Thanks to Rodger Foreman, TransUnion, USA
    Thanks to Betty Wong, Bank of America, USA

Change 30.160 -ASMIMSL7: ASMIMSL6, to bypass 0C7 ABEND due to ARRVDATE
ASMIMSL7       containing invalid Packed Decimal data, by skipping the
ASMIMSL8       0C7'ing-records so the rest of the log can be read.  If
Aug 18, 2012   invalid ARRVDATE is found, a new error "NOPD" message
Aug 30, 2012   will be written to the job log with the first 25 bytes of
               the record in hex.  Since we have added this diagnostic,
               no reports of NOPD messages have been reported.
              -ASMIMSL8: ASMIMSL7 ABEND 0C4 occurred when an INQUEUE
               record had zero record length in the first four bytes, in
               a record that was to be discarded due to other errors
               (dupe key).  This iteration deletes the defective record
               without the 0C4 ABEND.
              -We have been unable to replicate either the 0C4 or 0C7
               condition with files from three runs, so it appears the
               source is a corrupted INQUEUE file, and since a VERY
               small number of records are being recycled, the safest
               solution now would be to eliminate the use of INQUEUE
               for a few cycles to confirm that was the culprit, and
               then it can be reintroduced while watching the job logs
               for MXG error messages, in case the corruption reoccurs.

Change 30.159  Support for Microsoft Exchange 2010 incompatible changes
VMACNTSM       to MSEXCHANGEIS and MSEXCHANGEIS MAILBOX objects. Creates
Aug 18, 2012   variables MSIS0001-MSIS0051 MSISCQTH in MSEXCHIS dataset,
               and in dataset MSEXCHPU variables MSPU0001-MSPU0074 and
               new per-second rate variables MSGDLVPS MSGRECPS MSGSNTPS
               MSGSUBPS (whose new per-sec values are also converted to
               per-minute and stored in the existing per-minute
               variables MSGDLVPM MSGRECPM MSGSNTPM MSGSUBPM).
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.

Change 30.158 -VMXGSUM in 30.05 could leave temporary datasets KEEPDATA
VMXGSUM        KEEPERS VAR1 VARS or VAR2 in the //WORK library, which
Aug 15, 2012   had no impact on your MXG programs, but as they were also
Sep  4, 2012   left behind in the MXG QA job, they were seen as "real"
               MXG datasets and created DOCVER entries.
              -New handling of error conditions when interactive: rather
               than terminating the SAS Session, global macro MXGOPTKILL
               that is set in VMXGOPTK (the macro that drives the keep
               logic and is part of VMXGSUM) gracefully shuts down the
               VMXGSUM execution but preserves the interactive session.
              -Messages about too-long-text were revised.

Change 30.157  New REPORT THREE-A for IMACICEZ, IMACICE1, and IMACICE2
UTILEXCL       tailoring members now identifies the number of fields and
Aug 13, 2012   the lengths that must be updated in those three members.
               It may be necessary to use the MCTSSDRL field in the DO
               groups for these three optional segments.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 30.156 -Variables TOTLSESS ACTVSESS INACSESS in TERMSERV dataset
EXNTICAS       for the Terminal Services object were input in that order
IMACNTSM       in Windows Server 2003 (NTVERSN='5.2'). In Windows Server
VMACNTSM       2008-R2 (NTVERSN='6.1') the order was changed to ACTVSESS
VMXGINIT       INACSESS TOTLSESS, so now, one of two INPUT statements is
Aug 10, 2012   executed, based on NTVERSN.
              -Support for ICA Session object creates ICASESSN dataset.
                 dddddd   dataset   description
                 NTICAS   ICASESSN  ICA Session
   Thanks to ???, ???, ???
   Thanks to Mark Friedman, Demand Technology, USA.

Change 30.155 -Support for the WebSphere Asynchronous Section in subtype
EXT1209A       nine records creates new TYP1209A dataset
IMAC120          dddddd  dataset   description
VMAC120          T1209A  TYP1209A  WebSphere Subtype 9 ASYNC
VMXGINIT       These variables in TYP1209A and TYP1209E correspond and
Aug  9, 2012   can be used to compare observations in those datasets:
Oct 16, 2012       TYP1209A   TYP1209E
                   SM1209GP   SM1209CG
                   SM1209GQ   SM1209CR
                   SM1209GR   SM1209CS
                   SM1209GT   SM1209CU
                   SM1209GV   SM1209CV
              -Unrelated, variable SM1209CX was found to have been
               incorrectly divided by 4096, in TYP1209E dataset.
              -Oct 16: The August change also corrected variables
               SM1209DL, SM1209DM, and SM1209DN service units.
   Thanks to Joseph L. Babcock, JPM Chase, USA.
   Thanks to Tom Bubnash, SSA, USA.
   Thanks to Babatunde Ashiru, SSA, USA.
   Thanks to Jim Hare, Shared Services, CANADA.

Change 30.154  Velocity Software ZVPS (a/k/a XAM) new User Record with
EXXAMUSV       with USERTYPE='VCPU' creates new dataset:
FORMATS          dddddd  dataset   description
IMACXAM          XAMUSV  XMUSVCPU  Virtual CPU per User Statistics
VMACXAM        Dataset XMUSVCPU contains the USEACT and USEINT variables
VMXGINIT       plus Virtual CPU Address (VMDCPUAD) and Engine Type in
Aug  9, 2012   VMDPUTYP, decoded by new MGXAMTY format (CP, ZIIP, etc),
               so there is one observation for each USERID and VMDCPUAD
               for each MONWRITE interval.
   Thanks to Patricia Hansen, ADP, USA.
   Thanks to Mike Chaves, ADP, USA.

====== Changes thru 30.153 were in MXG 30.05 dated Aug  8, 2012=========

Change 30.153 -See Change 30.166. Documentation updated.
VMXGUOW       -PROGRAM names PROG1-PROGnn are created (TRAN1-TRANnn),
Aug  8, 2012   with the HOWDEEP= argument (default 10) setting the "nn"
               to be created, but you must also use KUOWIDC to list the
               variables you want to be kept.  You can put the statement
                 MACRO _KUOWIDC PROG1=PROG9 %  in IMACKEEP tailoring, or
               use %LET MACKEEP= MACRO _KUOWIDC PROG1-PROG9 %; in SYSIN.
              -Documentation of CICS transaction counts:
                An observation in CICSTRAN cay be only one of many CICS
                "segments" that make up a "unit of work", UOW, a "real"
                transaction. Counting the number of observations in the
                CICSTRAN dataset does NOT tell you how many actual CICS
   Thanks to Charles Savikas, DCF, State of Florida, USA.
                "transactions", or "units-of-work" were executed.
                MRO trans typically have at least two observations in
                  the CICSTRAN dataset for a unit of work: one is from
                  the TOR region/applid and one is from the AOR region.
                In ASUMCICS dataset (summarized CICSTRAN), the variable
                  NUMTRANS is the number of CICSTRAN observations, i.e.,
                  the inflated count of MRO CICS segments.
                In ASUMCICX dataset (summarized ASUMUOW), the variable
                  NUMTRANS is the number of ASUMUOW observations, i.e.,
                  the "correct" count of transactions/units-of-work).
                In ASUMUOW dataset, (created from CICSTRAN/DB2ACCT/MQ):
                  MROTRAN - Count of CICSTRAN observations in this UOW,
                            inflated segment count.
                  DB2TRAN - Count of DB2ACCT observations in this UOW.
                  MQTRAN  - Count of MQMACCT/MQMACCTQ obs in this UOW.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 30.152  A strange SAS compiler error, if you used the _KDCODSN
VMACDCOL       "KEEP= exit" for dataset DCOLDSET, intending to add some
Aug  6, 2012   new variables and to DROP= some existing variables:
                MACRO _KDCODSN NEWVAR1 NEWVAR2 DROP= OLDVAR1 OLDVAR2 %
               This compiler error is unique to the VMACDCOL structure,
               and is circumvented by relocating the &MXGFILNM macro
               variable to a different place in the source code.
              -The SAS compiler erroneously expanded that _KDCODSN macro
               token TWICE, causing the first instance of DROP= to apply
               to all of the NEW variables in the second instance of the
               expansion, so NONE of the new variables were kept.  This
               error was precipitated by Change 29.296, which added a
               new-style macro variable token, &MXGFILNM, at the end of
               each KEEP= list (so you could add variable INFILENM to
               all DCOLLECT datasets).  Apparently, even when &MXGFILNM
               is blank, when it is the last token before the _KDCODSN
               token, then if _KDCODSN is not blank, the SAS old-style
               macro compiler expanded that macro token TWICE.  But, by
               relocating that &MXGFILNM text to a separate line, before
               the last variable line in the MACRO _VDCODSN KEEP= list,
               so it is no longer immediately prior to _KDCODSN token,
               that second unwanted expansion is avoided and your normal
               _Kdddddd tailoring works as expected.  The error was in
               both SAS 9.2 and 9.3 on Windows and z/OS SAS 9.1.3 SP4.
   Thanks to Paul Maradin, HP, USA.

====== Changes thru 30.151 were in MXG 30.05 dated Aug  6, 2012=========

Change 30.151  Additional Enhancements for RMF III processing.
VMACRMFV      -ZRBASM file was not output to the PDB when TYPSRMFV
Aug  4, 2012   member was used to build an RMF Monitor III PDB.
              -Macro call to _SZRBASM was missing from _SRMFV macro.
              -_BZRBASM macro for ZRBASM file misspelled ASMJESID
               variable as ASIJESID causing SAS error during PDB build.
              -Change 27.100 altered the EXZRBLCP macro to conserve disk
               space for inactive logical processors by suppressing
               output to the ZRBLCP file when LCPUPDTM was zero (which
               includes LPARs that are categorized as PHYSICAL).
               However, all processor entries for PHYSICAL LPARs are
               required to determine the number of physical engines on a
               CEC for an engine type such as a ZAAP or ZIIP.  One or
               more of these can legitimately be inactive during an RMF
               III MINTIME interval.  The number of physical engines for
               each engine type is required to compute Physical % UTIL
               as in the RMF III CPC panel.  Entries for PHYSICAL
               LPARs are now always output regardless of activity.
              -Variable SSHRMFVN (RMF version number) added to these MXG
               created RMF III "PDB" SAS datasets:
               ZRBSVPP,  ZRBSVPW,  ZRBSVPC,  ZRBSVPZ,  ZRBSVPR, ZRBSVPG.
              -Variable SSHSMPNR (number of valid MINTIME samples) added
               to these RMF III PDB datasets:
               ZRBGEI,   ZRBCFC,   ZRBCFI,   ZRBCPD,   ZRBCPU,
               ZRBLCP,   ZRBCSR,   ZRBDVT,   ZRBENC,   ZRBENT,
               ZRBSHD,   ZRBPGP,   ZRBRED,   ZRBRCDB,  ZRBRCDS,
               ZRBRCDR,  ZRBOPD,   ZRBSPG,   ZRBSVPP,  ZRBSVPW,
               ZRBSVPC,  ZRBSVPZ,  ZRBSVPR,  ZRBSVPG,  ZRBUWDEV,
               ZRBUWSTO, ZRBUWJES, ZRBUWHSM, ZRBUWENQ, ZRBUWMNT,
               ZRBUWMSG.
              -Variable SSHGOMNT (Gatherer MINTIME option) added to
               these RMF III PDB files:
               ZRBGEI,   ZRBASI,   ZRBCFC,   ZRBCFI,   ZRBCPD,
               ZRBCPU,   ZRBLCP,   ZRBCSR,   ZRBDVT,   ZRBENC,
               ZRBENT,   ZRBSHD,   ZRBPGP,   ZRBRED,   ZRBRCDB,
               ZRBRCDS,  ZRBRCDR,  ZRBRCDT,  ZRBRCDX,  ZRBRCDD,
               ZRBOPD,   ZRBSPG,   ZRBSVPP,  ZRBSVPW,  ZRBSVPC,
               ZRBSVPZ,  ZRBSVPR,  ZRBSVPG,  ZRBUWDEV, ZRBUWSTO,
               ZRBUWJES, ZRBUWHSM, ZRBUWENQ, ZRBUWMNT, ZRBUWMSG.
    Thanks to Randy Hewitt, HP Canada, Canada

Change 30.150  NDM-CDI record 'EX' caused "UNKNOWN SUBTYPE" log messages
VMACNDM        and no DSECT is yet received to decode the 40 bytes of
Aug  3, 2012   hex zeros at the end of the record, but the front end has
               the same fields as the NDMDT record so the 'EX' record is
               output in NDMDT, pending receipt of documentation.
   Thanks to Paul Volpi, UHC, USA.

Change 30.149  The KEEPALL=YES default is used in most MXG code because
VMXGSUM       it is usually safer, as it protects if there is an INCODE=
Aug  3, 2012  argument that can reference a variable that is not in one
Aug  7, 2012  of the parameter lists.  However, in some invocations of
              VMXGSUM, it caused a VARIABLE NOT FOUND error that caused
              PROC MEANS to fail, when a variable did not exist, due to
              an error in the VMXGSUM logic that only rebuilt the KEEP
              list after the first data step when KEEPALL=NO.  Now, that
              rebuild is always executed with either NO or YES.
             -VMXGSUM was redated Aug 7; the above logic was revised.
   Thanks to Robert Kirkland, MedMutual, USA.

Change 30.148  The %SYMEXIST() function now detects that macro variable
VMXGINIT       MXGSOURC exists ("MXGNAMES" dynamic allocation was used,
Aug  1, 2012   which requires FIXORDER dataset to be created to print
               the //SOURCLIB DSNAMEs messages at MXG startup), so the
               FIXORDER creation can be bypassed for static allocation.
               And FIXORDER is not compressed when it is created, to
               suppress a cosmetic warning messages about size increase.

Change 30.147  The DB2 AUDIT reports were reformatted to match reports
ANALDB2R       in OMEGAMON XE for DB2 Performance Monitor Version 4.2.
VFMT102        Since the detail and trace formats are essentially the
Jul 31, 2012   same, PMAUD03 now simply invokes PMAUD02.

               AUDIT= parameter is expanded to support these options:
                 DDFTRAN - DDF TRANSLATION   .
                 ESTTRST - Establish Trusted Context
                 CRTTRST - Create Trusted Context
                 KERBERO - KERBEROS/ENCRYPTED Connection

               Change 30.140 revised VFMT102 to eliminate time; this
               change removes the timestamp when VFMT102 is called.

               The LINESIZE option is now set to 200 at the beginning
               and then reset to the original value at the end of
               ANALDB2R, as some of the reports can get very wide.
   Thanks to Alyona Bertneski, JPMorgan, USA.

Change 30.146  Cosmetic/maybe.  The %DO loop variable &I was changed to
VMXGDSNL       the more "unique" &DSNL to possibly avoid conflict with
Jul 31, 2012   user code that was wrapped around VMXGDSNL in TYPEQACS.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 30.145  Variable CORRNAME and CORRNUM were incorrectly decoded
VMACDB2        for QWACATYP=4 (CICS) connections.
Jul 31, 2012

Change 30.144 -If you specified PDBOUT=PDB and asked for specific IFCIDS
READDB2        e.g. IFCIDS=ACCOUNT 105 107 269, the T102Sxxx datasets
Jul 31, 2012   were not copied to the PDBOUT= destination.
              -If you used the LDB2xxx parameters to limit the variables
               kept or dropped and used the syntax:
                 LDB2ACC=PDB//KEEP/varlist
               the // did not work as documented; a space was required,
               but this change now properly supports // or / / as the
               null argument.

Change 30.143 -These variables, which should have been a MAX value, were
VMXGDBSS       incorrectly summed:
Jul 31, 2012     ASUMDBSS - QB1TVPL QB2TVPL QB3TVPL QB4TVPL QB1TCBA
                            QB2TCBA QB3TCBA QB4TCBA
                 ASUMDBSB - QBSTVPL QBSTCBA
               They now contain the MAX value of the end-of-interval
               values, across each summary interval.
              -In addition, because DB2 V10 writes fixed one-minute data
               and so those variables are end-of-interval values, these
               average value variables are now created:
                 ASUMDBSS - AVG1VPL AVG2VPL AVGTVPL AVGTVPL AVG1CBA
                            AVG2CBA AVGTCBA AVGTCBA
                 ASUMDBSB - AVGTVPL AVGTCBA
              -Labels were created for these four variables:
                  ASUMDBSS -  THRDFTPT THRDUSE TOTTHRD
                  ASUMDBSB -  READS

Change 30.142  %VMXGPRNT, which "PROC PRINTs" with both the LABEL and
VMXGPRNT       VARIABLE as heading, is enhanced to allow FMTLST= option
Jul 31, 2012   to specify the printed format.  See ANAL113 for example.

Change 30.141 -XAM/ZVPS XAMTCP record contains 0.0.0.0 for IPADDR in all
VMACXAM        observations as that is what is in the record.
Jul 31, 2012  -Values in AVERAGTM='TOTALTIME/TOTALACKED IN FAL' and the
               values in TOTALTIM='TOT ROUND TRIP TIME(MS)' in XMTCPAPP
               dataset are large negative values in many records.
              -Both problems will be forwarded to the vendor.
              -Variable NAMENODE is now kept in XMTCPAPP dataset.
   Thanks to Andrew Petersen, CSC, AUSTRALIA.

Change 30.140 -Support for IFCID 269 and 270 populates existing T102S269
FORMATS        and T102S270 datasets with QW0269xx/QW0270xx variables.
VFMT102       -Formats created for some QW0269xx/QW0270xx variables.
VMAC102       -VFMT102 revised to eliminate the time values.
Jul 31, 2012  -SQL Text long-variables have multiple blanks removed with
               COMPBL function.
   Thanks to Alyona Bertneski, JPMorgan, USA.

Change 30.139  The label for PIRSHELF is corrected to "SHELF", which I
VMAC110        now know is a z/OS Unix name for a directory, primarily
Jul 30, 2012   used for Web service binding files.
   Thanks to Dale Slaughter, Transamerica, USA.

Change 30.138  ASG TMON/DB2 creates invalid DB2 101 records that causes
VMACDB2H       MXG to print ERROR: INVALID DB2 101 RECORD messages, but
Jul 27, 2012   since the ASG records have their header segment at the
Aug  3, 2012   start of the record, whereas IBM's header segment is at
               the end of the record, I've updated these error messages
               to identify "ASG-CREATED" and to identify the ASG fix of
               TE03737 in the error messages. These records are DELETED.
               Change 30.023 detected these errors, but printed ALL of
               the defective records; this change limits printing to 3.
   Thanks to Marty Pruden, Purina Nestle, USA.

Change 30.137  Updates to NMON/TOPAS Monitor for AIX and LINUX.
EXNMONDF      -All BBBP single-value-per-line configuration entries for
EXNMONEN       the lsconf, lparstat, lsattr EL, vmstat V, and vmstat S
EXNMONLP       subtypes are now output in NMONBBBP dataset.  All labels
EXNMONMP       now contain the subtype name. Variables from each subtype
EXNMONVM       are grouped in the LABEL statement so they are adjacent
IMACNMON       when printed.  Variables BBBP001-BBBP0146 now exist.
VMACNMON      -These "BBBP,ending" multi-value-per-line entries are
VMXGINIT       output in these new datasets:
Jul 28, 2012     DDDDDD  DATASET          DESCRIPTION
Aug 17, 2012     NMONDF  NMONBBBPENDDF    BBBP,ending df m
Sep 13, 2012     NMONLP  NMONBBBPENDLP    BBBP,ending lparstat h
                 NMONMP  NMONBBBPENDMP    BBBP,ending mpstat d
                 NMONVM  NMONBBBPENDVM    BBBP,ending vmstat i
              -The "BBBP,ending" single-value-per-line entries from the
               "ending vmstat v" and "ending vmstat s" subtypes are
               output in this new dataset:
                 DDDDDD  DATASET          DESCRIPTION
                 NMONDF  NMONBBBPENDING   BBBP,ending vmstat v and s
              -Entries PCPUnn and SCPUnn create TEMPCPUNP and TEMPCPUNS
               that are merged into existing NMONCPUD, detail CPU
               metrics by CPUNR.
              -Entries PCPU_ALL and SCPU_ALL_ are input and variables
               retained and added to NMONINTV.
              -Entries DISKRIO, DISKWIO, DISKAVGRIO, DISKAVGWIO are now
               supported, and variables of the same name are added to
               the NMONDISK dataset.
              -The internal logic for the DISKxxxxN "suffixed" records,
               written when there are more disk devices than will fit on
               a single record, is restructured to use a 2-elment array
               instead of a separate explicit DO group for each suffix.
               These arrays support 50 suffixed records with 512 devices
               per record, versus the original fixed 21 suffixes.
              -ERROR: ARRAY Subscript Out Of Range - DISKSERV DISKSVCTM
               DISKWAIT DISKWAITTM objects corrected, and protection for
               "NANQ" text for "not a number" for BBBPENDLP04, Aug 17.
              -Sep 13: BBBPENDVM05 increased to 64 bytes.

Change 30.136  These TYPE50 OSA/Express READ variables (ATTCHTYP=4 only)
VMAC50           TY50PCIR TY50PCIV TY50PCIT TY50PCIU TY50PDFR
Jul 25, 2012  are missing if SUBCHPOL is not 'READ'; IBM had changed
               the value to "RD/n" without documentation. The MXG test
               is now revised to detect READ if SUBCHPOL starts with RD.
   Thanks to John McLaughlin, Bank of America, USA.

Change 30.135  %VGETALOC is a new macro for use with AUTOALOC=YES (that
VGETALOC       VMXGALOC option creates directory names containing date)
Jul 24, 2012   that lets you select (getdaterange=,typeofdata=) a group
               of "PDBs"/directories that are to be read, constructing
               a "SET" statement in a DATA-step using VMXGSET.

               For example:
                 %vgetaloc(getdaterange=01jul12 24jul12,
                   typeofdata=daily,
                   basedir=c:\mxg,
                   datefmt=date7.
                 );
                 data jobs;
                 %vmxgset(dataset=jobs);

               will search the c:\mxg directory for all directories with
               a name that contains a date in ddmmmyy format, selects
               those with date between 01Jul12 and 24Jul12 inclusive,
               and allocates them as PDB1- PDB24 as there are 24 dates
               in your selection criteria.  These libnames are passed to
               VMXGSET which build the logical SET statement to read all
               24 LIBNAMEs for the JOBS dataset you requested in VMXGSET
                 set pdb1.jobs pdb2.jobs pdb3.jobs ... pdb24.jobs;
               (i.e., the number of libnames found by vgetaloc).

Change 30.134  Cosmetic/Spurious.  ANALDB2R printed note from VMXGVERS
ANALDB2R       that you were using a backlevel ANALDB2R, because that
Jul 24, 2012   statement at the bottom of ANALDB2R still had 30.02 in
               both 30.03 and 30.04.  While the MXG QA stream has a test
               for VMXGVERS value, the line was in lower case and the QA
               test expected upper case.  Now, the QA test looks first
               for lower case and then for version number.
               Since there is a %PUT with the ANALDB2R last update date,
               the currency of this ANALDB2R member was confirmed on the
               SAS log, so this was only a cosmetic error.  But it gets
               this change text because the user had to waste his time
               to report the potential problem due to my error!
   Thanks to R. van der Zande, KLM, THE NETHERLANDS.

Change 30.133  Support for (optional) DB2 Netezza for Accelerator data.
IMACDBNZ       IBM DB2 Analytics Accelerator IDAA product uses Netezza.
VMACDB2       -Similar to MXG support for optional CICS data segments,
Jul 23, 2012   support for optional Q8AC DB2 Accounting variables is in
               a comment block in the new IMACDBNZ member that contains
               the code, labels, and formats, so none of the Netezza
               variables will exist in DB2ACCT, until you copy IMACDBNZ
               into your "USERID.SOURCLIB tailoring library and then
               remove that comment block.
              -Because the volume of DB2 statistics records is small,
               the Netezza Q8ST DB2 Statistics variables are created in
               the DB2STATS dataset (so you can tell if the Netezza APAR
               PM50434 has been installed!) as well as in DB2NETZA.
              -See Change 30.229.
   Thanks to Jan Tielmans, KBC, BELGIUM.
   Thanks to Christa Neven, KBC, BELGIUM.

Change 30.132  Corrections to SMF 21 calculations for compression ratios
VMAC21         and circumvention for records with byte count fields that
Jul 22, 2012   unexpectedly contain zeros.  When the compressed bytes in
Aug  7, 2012   SMF21MDR or SMF21MDW are zero, the compression ratio can
               not be calculated. In some records, uncompressed bytes in
               SMF21BR/DBR/MCR and SMF21BW/DBW/MCW are zero, which also
               caused confusion as to which variable should be used.
               This was circumvented by calculating the uncompressed
               byte counts as:
                 BYTEREAD=MAX(BYTEREAD,SMF21DBR,SMF21MCR,0);
                 BYTEWRIT=MAX(BYTEWRIT,SMF21DBW,SMF21MCW,0);
               and using those values as the numerator of SMF21CRR/CRW,
               when SMF21MDR/SMF21MDW are nonzero.
               A problem is opened with IBM to understand the zeroes.
              -Aug 7: Variable OPEN is always blank may not be new.
               Sites have DCBOFLG='00'X in ID=21 SMF records, but the
               ID=14/15  DCBOFLGS field is valid.  The 14/15 is written
               at z/OS CLOSE, but your CA-1/RMM/TLMS tape management
               product still owns the DCB, so they may be clearing the
               DCB byte before the type 21 record is written (which can
               be HOURS later than the CLOSE event). The type 21 write
               only copies control block values with no logic/changes.
               In TYPE21 DCBOFLG is only used to populate variable OPEN
               with INPUT or OUTPUT, so now, the BYTEWRIT and BYTEREAD
               counts are compared and OPEN is populated based on the
               larger of the two values.  Zero or equal will blank OPEN.
   Thanks to Scott Barry, SBBWorks Inc, USA.
   Thanks to Michael Creech, Lender Processing Services, USA.

Change 30.131  Two new parameters are added to enhance VMXGALOC:
VMXGALOC        READONLY - if set to YES the code that deletes old
BLDSMPDB                   directories is suppressed.
IMACINIT        CLEARALL - if set to YES, ALL previously allocated
Jul 22, 2012              LIBNAMEs are cleared. YES is the default.
Sep 16, 2012
               With these changes, you can do reporting for multiple
               days/weeks in a single SAS session.

               Examples:
               -To run reports based on today's runs:
                 %VMXGALOC(BASEDIR=xxx,READONLY=YES,CLEARALL=YES,
                           TRENDING=DAILY);
                which allocates all of the current LIBNAMES that were
                created with today's run, then you can run your reports.

               -To go back to an earlier date, like June 11, 2012:
                 %VMXGALOC(BASEDIR=xxx,READONLY=YES,CLEARALL=YES,
                           TRENDING=DAILY,FORCEDAY=11JUN12);
                which clears all of "todays" allocation and the correct
                LIBNAMEs for June 11, are then allocated.

               FORCEDAY will now accept a relative number of days as
                TODAY()-NN where NN is the number of days to go back.

               BLDSMPDB - z/OS only, if you asked to WTD or MTD and also
               asked to use WEEKTAPE or MNTHTAPE, an ABEND will now be
               generated since this structure is not supported by the
               sequential engine on z/OS. Also, if you were running WTD,
               BLDSMPDB incorrectly tried to start the week one day too
               early; that has been corrected.  No data was lost but the
               data may not have been in the week where you expected to
               find it for the first day of the week.

               IMACINIT - applies only if you are running BLDSMPDB with
               AUTOALOC=YES.  A new example VMXGALOC invocation is in
               comments in the IMACINIT member.  Copy IMACINIT into your
               "USERID.SOURCLIB" tailoring library, REMOVE the comments
               around that VMXGALOC invocation, EDIT it to match your
               BLDSMPDB arguments, and then, since IMACINIT is always
               invoked at MXG startup, all of these "PDB" LIBNAMEs
                 PDB MON TUE WED THU FRI SAT SUN SPIN
                 WEEK1-WEEK5 MONTH TREND SPIN CICSTRAN DB2ACCT
               will always be allocated.
              -Sep 16: Comments updated, no code was changed.
   Thanks to Mynard Holloway, Spectrum Health, USA.
   Thanks to Robb Hermes, Sentry Insurance, USA.

Change 30.130 -EXITCICS Version 3 correctly decompresses DB2 compressed
EXITCICS       SMF records (which version 1 didn't always do), continues
Jul 19, 2012   to also decompress CICS SMF records, and this version no
Aug  4, 2012   longer needs the IBM CICS macro library for the assembly.
              -EXITCICS is the z/OS ASM source code and ASM/LKED steps
               that create the CICSIFUE "Infile Exit" load module that
               decompresses DB2 V10 and/or CICS/TS 3.2+ compressed SMF
               records.  It has never failed for CICS records, and while
               many DB2 sites have used it successfully, a small number
               of DB2 sites had errors reading compressed records; those
               errors are corrected in this updated EXITCICS member. The
               complete instructions for creating and installing the
               exit are in the comments in the EXITCICS member.
              -Version 2 briefly existed and it corrected the DB2 errors
               but it still needed the DFHSMFDS macro.
   Thanks to Richard Anderson, SAS z/OS Technical Support CARY, USA.

Change 30.129  Support for new zNEXT CPU MF counters EXTEND157-EXTND207
ASUM113        and revised calculations for all of the formulas.
VMAC113        There were 48 EXTEND counters initially and now there are
Jul 20, 2012   80 EXTEND counters, thru EXTND207.
Aug 31, 2012  -Calculations updated from JP Burg's August 29 2012 text.
Sep 17, 2012  -Corrections made Sep 17:
Oct  9, 2012   1. Line 271 in VMAC113 was missing the 0.65.
               2. Labels in VMAC113 for EXTND159-162 are now L4 vs L$.
               3. The 151- and 148= typos in both ASUM113 and VMAC113
                  for the MEMP calculation are corrected.
               4. The LPBUSY in ASUM113 was changed to LPARBUSY; LPBUSY
                  is the variable in VMAC113 but it's LPARBUSY in
                  ASUM113 as documented in Change 28.226.
               Oct 9 update:
              -Labels for the EXTNDnnn counters were revised based on
               SA23-2261-02.  Note that there are three sets of labels
               for the z/10, z/196 and z/114, and the zEC12, but SAS can
               only use the last label for a variable, the active labels
               are now for the zEC12, but the other labels can be seen
               in the VMAC113 LABEL statement.
              -z/EC12 only defines counters thru counter 179, but MXG
               was misled to create counters up to 207, but since they
               will likely exist sometime, variables thru EXTND207 are
               created by this change, IN 30.05 AND REQUIRED FOR z/EC12
               processors - an "ARRAY SUBSCRIPT OUT OF RANGE" error will
               occur without this change.

Change 30.128 -DB2 V10 changed the QPACFLGS bit map; variables QPACDBRM
VMACDB2        and QPACPACK no longer exist (so they are always blank in
Jul 16, 2012   QWHSRELN GE 10 observations), and new flag variable, only
               in Version 10 and later are created and populated:
                 Variable   Label                        from QPACFLGS
                 QPACROLL='THIS IS A*ROLLUP*QPAC?'          01X bit
                 QPACRUSM='THIS IS A*SUMMARY*ROLLUP*QPAC?'  02X bit
              -Documented in DB2 Macro Library member DSNDQWAS:
                 If QPACROLL is on, the Package Record contains ONLY
                 the QPKG and QPAC segments, but the QXPK, QBAX and QTXA
                 segments do not exist, so a ROLLUP record will always
                 have missing values for these SQL/DML QXPK variables
                    QPSELECT QPINSRT QPUPDTE QPDELET QPDESC QPPREP
                    QPOPEN   QPCLOSE QPFETCH QPLOCK  QPCALL
                 and QBAC and QTXA fields will also be missing values in
                 the DB2ACCTP dataset.
              -Documented in DB2 Macro Library member DSNDQPAC:
                 If QPACRUSM = ON, the following fields are invalid:
                  QPACCRNT QPACINSP QPACPAC  QPACPKNM QPACCOLN QPACPKID
                  QPACCONT QPACSCB  QPACSCE  QPACBJST QPACEJST QPACASCH
                  QPACAANM QPACAAFG
                 IF QPACRUSM = OFF, the following fields are invalid:
                  QPACCRNT QPACPAC  QPACSCB  QPACSCE  QPACBJST QPACEJST
                 IF QPACRUSM = OFF, the following fields are the last
                 non-zero value for a thread rolling data into this QPAC
                  QPACASCH QPACAANM QPACAAFG
   Thanks to Jane Stock, USPS, USA.

Change 30.127  Variable BLKSIZE was missing when SMF21LB bit was not on.
VMAC21
Jul 13, 2012

Change 30.126  Selection of data by a range of explicit DATE values did
ANALGRID       not work, but all of the keywords for date selection were
Jul 12, 2012   correct.
   Thanks to Raff Rushton, Kaiser Permanente, USA.

Change 30.125  Variable UMLRECL in dataset DCOLMIGS, LRECL of the
VMACDCOL       migrated dataset, is now INPUT and kept.  It was
Jul 10, 2012   added by z/OS 1.12 but overlooked.
   Thanks to Brian Harvey, HCL America, USA.

====== Changes thru 30.124 were in MXG 30.04 dated Jul  4, 2012=========

Change 30.124  z/VM variable VMDFLREO should not have been divided by
VMACVMXA       DELTATM (which is normally 60 seconds, so the values in
Jul  3, 2012   VMDFLREO were 1/60th, or 1/DELTATM too small).
   Thanks to Sam Bass, McLane Company, USA.

Change 30.123 -Change 28.226 noted that TYPE113 variable SM113CPT is
VMAC113        only populated if SM113VN2 GE 2 (i.e., z196 or later) but
VMAC7072       that change did not note that as a result, SMF70CIN is
Jul  3, 2012   also blank when SM113VN2 is not 2.  However, if both 113
               and RMF 70 records are processed together, (or as long as
               PDB.TYPE70PR exists when ASUM113 is executed), then the
               merge of the 70 data with the 113 data will populate both
               SMF70CIN and SM113VN2.
              -In investigating the above, TYPE113 variable DELTATM was
               found to sometimes be too small; MXG must calculate the
               interval duration from adjacent records because IBM does
               not create it, and the incorrect use of FLOOR(DIF(x)) was
               found to be the culprit; DELTATM is now correct but is no
               longer "made pretty" with an integer value.  The small
               value for DELTATM caused both the count in LPARCPUS to be
               grossly wrong in some cases (12 vs 2!) and LPBUSY could
               also be incorrect.
              -But, "valid" small values of DELTATM have been observed
               in some as-yet-not-fully-understood cases where SMF 113
               records are written extremely close in time. While the
               deaccumulated counters look to be correct in these cases,
               as they are not full intervals, I recommend that all of
               your observations in PDB.ASUM113 that have DELTATM less
               than the expected interval duration (e.g., DELTATM LT 890
               if the expected data is 15 minute interval) be deleted
               before you analyze the HIS data. USE TYPS113E vs TYPS113.
              -VMAC7072: Cosmetic.  Change 30.106 typo in the LABEL for
               ZIPSHARE caused UNINIT VARIABLE ZPTSHARE that is fixed.
   Thanks to Roger Lowe, Northern Territory Government, AUSTRALIA

====== Changes thru 30.122 were in MXG 30.04 dated Jul  4, 2012=========

Change 30.122  NRECORD=MAX generated an error; the code was looking for
VMXGGETM       a null value but now accepts MAX and either null or MAX
Jul  2, 2012   will set the counter to the value of MXGOBS.

Change 30.121  Enhancements/Additions to $MG119xx FORMATS for TYPE119.
FORMATS        New formats $MG119CI $MG119CO $MG119MA $MG119MO $MG119TY
VMAC119        are created and assigned to appropriate variables.  Some
Jun 29, 2012   old formats $MG119AM $MG119CC $MG119PL $MG119ST $MG119RF
               were defined, but not assigned to all variables.  Formats
               $MG119CC and $MG119PL are identical, but as they were
               assigned separately to different variables, they have to
               be kept in FORMATS.  $MG119FA and $MG119RF were also
               identical, but neither was assigned so $MG119FA has been
               removed from FORMATS.
   Thanks to Martyn Jones, Deutsch Bank, GERMANY.

Change 30.120  Support for RACF Database Record 02G1 creates RACF02G1
EXRAC2G1       dataset with Custom User Data.
IMACRACF
VMACRACF
VMXGINIT
Jun 28, 2012
   Thanks to Steve Carlson, Univ of California Office of President, USA.

Change 30.119  Support for APAR OA39629 adds two variables to SMF 30
BUILD005       subtypes 2,3,4,5 (kept in TYPE30_V/TYPE30_4/TYE30_5 and
BUIL3005       in PDB.SMFINTRV, PDB.STEPS and PDB.JOBS datasets):
VMAC30           HICPUPCT='HIGH*TASK*CPU*PECENT'
Jun 28, 2012     -For interval records, the largest percentage of CPU
                  time used by any task in this address space, rounded
                  to the nearest integer. A value of 25 indicates that
                  the most CPU intensive task in this address space was
                  dispatched on a physical processor for 25% of the SMF
                  interval time.
                 -For step-end, the value is the largest reported
                  interval if the step crosses an interval boundary.
                 -For job-end, the value is the largest reported
                  interval value for any step.
                 -The percentage value in the record is calculates as:
                     TCB time * 100/ interval time.
                 HICPUPGM='HIGH*TASK*PROGRAM*NAME'
                 -Program name running in the task that used the largest
                  percentage of CPU time in this address space. This
                  field corresponds to HICPUPCT.
                 -A value of blanks indicates that no task reported any
                  CPU time in the address space, or that the CPU time
                  could not be obtained.
                 -A value of '????????' indicates that the program name
                  could not be obtained for the task that reported the
                  highest percentage of CPU time.
                 -Additional information from IBM in the APAR text:
                   -These new fields are intended to identify the
                    largest consuming task when multiple tasks are
                    active in an address space. One may compute the
                    address space task percentage from existing fields
                    in the SMF 30 record but one has no insight
                    currently into usage within the address space. If
                    the total CPU percentage is on the order of 50%, the
                    task may struggle to be served well particularly if
                    it has a mediocre dispatching priority or the system
                    is running in horizontal mode (HiperDispatch not
                    enabled). If the address space percentage is 50% and
                    the largest task percentage is 15%, there is little
                    concern that the task will be unable to progress as
                    long as it is properly classified in WLM.
                   -IBM will provide guidance to our customers that
                    establishing a list of candidates to monitor and
                    determining any increase in percent dispatched for
                    the evolving list over time (perhaps every six to
                    twelve months) should be part of the capacity
                    planning process.  Our current recommendation is to
                    take note of address spaces with programs that are
                    dispatched at least 25% of an interval for intervals
                    of at least 5 minutes.

Change 30.118  Unused Change Number.

Change 30.117  Documentation of MXG internal syntax.  The example code
UDDDDDD        in VMACXXXX shows this syntax for the dataset label
UTILVREF         (LABEL='dddddd: description of dataset'
VMACXXXX       but it was never documented that the "dddddd" token in
Jun 25, 2012   the label can NOT contain a blank (a blank causes the
               UDDDDDD program to fail building $MGDDDDD and $MGDDDSN
               formats).  A comment was added in the VMACXXXX example,
               test for a blank was added to both UDDDDDD and UTILVREF,
               but as these programs are ONLY used internally during the
               MXG QA process to create documentation, these errors
               won't be observed by MXG users.

Change 30.116  Support for Voltage SecureData for z/OS z/Protect SMF.
EXZPR01        These new datasets are created:
EXZPR02
EXZPR03          DDDDDD  MXG     MXG
EXZPR04          DATASET DATASET DATASET
EXZPR05          SUFFIX  NAME    LABEL
EXZPR16
FORMATS          ZPR01   ZPRO01  ZPR01: Z/PROTECT DISPATCHER STARTUP
IMACZPRO         ZPR02   ZPRO02  ZPR03: Z/PROTECT SHUTDOWN EVENT
TYPEZPRO         ZPR03   ZPRO03  ZPR03: Z/PROTECT OPERATOR COMMAND EVENT
TYPSZPRO         ZPR04   ZPRO04  ZPR04: Z/PROTECT ABEND EVENT
VMACZPRO         ZPR05   ZPRO05  ZPR05: Z/PROTECT RAW OPERATION DATA
VMXGINIT         ZPR16   ZPRO16  ZPR16: Z/PROTECT INTERVAL AGGREGATIONS
Jun 30, 2012   In dataset ZPRO16, variable ZPRTTYPE identifies which of
               the seven possible aggregates is reported:
                  1='1:OVERALL TOTALS'
                  2='2:TOTALS BY USER'
                  3='3:TOTALS BY CRYPTID'
                  4='4:TOTALS BY JOBNAME'
                  5='5:TOTALS BY USERID AND CRYPTID'
                  6='6:TOTALS BY JOBNAME AND CRYPTID'
                  7='7:TOTALS BY USERID AND JOBNAME'


Change 30.115 -VMXGRMFI - The TRENDING section of VMXGRMFI now uses
ADOCTRND       VGETWKLD to ensure that all workloads, old and new, are
GRAFTRND       preserved. This allows you to add new workloads but then
GRAFWRKX       remove or rename old workloads, while preserving your
MNTHRMFI       historical data for the old workloads that may no longer
TRNDRMFI       exist in RMFINTRV, but will still exist in TRNDRMFI.
UTILBLDP      -VGETWKLD - Now will get the workload names, labels and
UTILCPLG       periods for use in VMXGRMFI from multiple sources.  New
VGETWKLD       parameter datasets lets you specify as many datasets for
VMXGALOC       input as may be needed, but the purpose is to allow the
VMXGRMFI       specification of DATASETS=WORK.RMFINTRV TREND.TRNDRMFI so
Jun 21, 2012   that if you have added or deleted or renamed workloads,
Jun 26, 2012   the old ones in TREND will be carried forward, rather
Jul  2, 2012   than being dropped.  New design is also used in GRAFWRKX,
               but this is intended for internal MXG usage.
              -ADOCTRND - New documentation section 4 showing how to
               backload past RMFINTRV data into TRNDRMFI.
              -GRAFTRND now is only an invocation of GRAFWRKX with
               appropriate arguments.
              -GRAFWRKX - sort order for TRNDRMFI was incompatible with
               the SORT order for GRAFWRKX so a PROC SORT was added.
              -MNTHRMFI now is only an invocation of VMXGRMFI with
               appropriate arguments.
              -TRNDRMFI now is only an invocation of VMXGRMFI with
               appropriate arguments.
              -TRNDRMFN now is only an invocation of VMXGRMFI with
               appropriate arguments.
              -UTILBLDP - COSMETIC ONLY - realign code to make it easier
               to understand
              -UTILCPLG - did not correctly parse out the LOG/LIST names
               and if not preceded by a RUN; statement it could execute
               at unexpected times because of timing issues in the macro
               language.
               If the directory pointed to did not contain a \ or a /
               (os dependent) it was not added and could result in an
               error during the copy process.
              -VMXGALOC - If you specified FIRSTRUN=YES and also were
               trying to run with WTD processing, the allocation of the
               WEEK libname for the current week did not happen.
   Thanks to Mynard Holloway, Spectrum Health

Change 30.114  SAS User SMF Records with SASPROC='SQL (63)', 'APPEND ('
VMACSASU       values were unexpected (and unknown to SAS Support) and
Jun 19, 2011   caused SASPROD='UNKNOWN'.  Now, the paren is detected and
               only the SAS Procedure text name is stored in SASPROC, so
               the SASPROD will be "known".
   Thanks to Erling Andersen, SMT, DENMARK.

Change 30.113 -DB2 V10 restructured the DB2STATS (100-1) QIST segment,
VMACDB2        but this was overlooked (perhaps because there are no
Jun 19, 2011   vertical change bars in IBM DB2 DSECTS!) causing invalid
               values for QIST variables.  The restructure removed these
               QIST variables so they will have missing value in V10:
                 QISTWFMU QISTWFCU QISTWFCK QISTWFMX QISTWF04 QISTW04K
                 QISTWF32 QISTW32T
               and V10 created these new variables in PDB.DB2STATS:
                 QISTIMAC QISTIMSC QISTIMAH QISTIMSH QISTSIAC QISTSISC
                 QISTSIAH QISTSISH QISTWFRHIG QISTWFRCUR
              -In validating this change, these QIST and QISE variables
               should not have been deaccumulated:
                 QISTWCTO QISTW32K QISTW4K
                 QISEDLRU QISESQCA QISESQKB QISESQKA QISESQCB QISEKSPG
                 QISEKSPA
               The IBM DB2 DSECTs don't always identify which fields are
               accumulated; only actual data driven thru the DIF() logic
               will prove or disprove field contents (a negative value
               or 4x10**9 value prove the field is NOT accumulated), so
               data with non-zero values are required to validate MXG.
   Thanks to Victoria Lepak, Aetna, USA.
   Thanks to Valerie J. Chisholm, Aetna, USA.

Change 30.112 -Thruput Manager datasets TPM16S and TPM16J, variables
VMACTPMX       TPMAJCT and TPMSCT were too large by 100; they were INPUT
Jun 19, 2012   as PIB4. but are now input as PIB4.2.
              -In addition, TPMAJCT in TYPE16S is an accumulated value,
               but the value in TPMSCT will be the step value (with PTF
               TMT6218) so there is no real need to deaccumulatate
               TPMAJCT to get the individual step CPU time in TPMSCT.
               However, now realizing TPMAJCT is accumulated, if you use
               TYPSTPMX or _STPM16S to sort dataset TPM16S, this change
               will deaccumulate TPMAJCT, and the TPM16S label will
               indicate that its value is deaccumulated.

Change 30.111  RACF TYPE801 debugging PUT 'DEBUG 1' was not disabled.
VMAC80A
Jun 19, 2012
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.
   Thanks to Jens Mohring, Huk-Coburg, GERMANY.

Change 30.110  Only Windows PERFMON data that was comma-delimited was
VMACWPMO       correctly decoded; a hard-coded ',' is now &DLMWPMO so
Jun 17, 2012   that your delimiter is always used in parsing text.
   Thanks to Florent Boulesteix Inovans, Ca-Caagis, FRANCE.

Change 30.109  Support for Mainview CICS v64 CICS/TS 4.2 (COMPATIBLE).
EXMVCICP      -New variables added to dataset CMRDETL dataset:
IMACMVCI         T6ERSFLG1 T6ERSFLG2 T6ERSFNCNT T6E67ID T6E67XCT
VMACMVCI         T6EECSEC  T6EPHNWD  T6EPHAPL T6EPHATT T6EPHTSN T6EPHTID
VMXGINIT         T6EPHCNT  T6EADPID  T6EADPD1 T6EADPD2 T6EADPD3
Jun 16, 2012  -New dataset decoded for File Segment for PROGRAM:
                 dddddd    dataset     description
                 MVCICP    CMRFPROG    MAINVIEW CICS FILE PROGRAM

Change 30.108  Reading RMM EDGS records on ASCII caused INPUT STATEMENT
VMACEDGS       EXCEEDED RECORD LENGTH error if MORTYPE='FFFFFFFFFF'X.
Jun 15, 2012   The $EBCDIC8 input set the value '000000000000'X, so now
               a separate input with $CHAR8 is used for those tests.
   Thanks to Rick Raiton, US Airways, USA.

Change 30.107  Support for ASG/Landmark TMON DB2 PTFs TE03699/TE03718
EXTMD2XB       which add segments to the PK, TB, and TG records creating
EXTMD2XG       these three new datasets:
EXTMD2XK         DDDDDD     Dataset   Description
IMACTMD2         TMD2XK     TMD2PKS   Thread Package Accounting Segments
VMACTMD2         TMD2XB     TMD2TBS   Thread BP Accounting Segments
VMXGINIT         TMD2XG     TMD2TGS   Thread GBP Accounting Segments
Jun 10, 2012

Change 30.106  zIIP SHARE WEIGHTS are now calculated for each LPAR in
VMAC7072       all four datasets created by ASUM70PR.
VMXG70PR      -For the ASUM70PR and ASUMCEC datasets, with different
Jun  9, 2012   variable names for each LPAR, the variable names are
                  LPnZHARC ='LPAR  n*ZIP SHARE*CURRENT*WEIGHT*PCT'
                  LPnZHARE ='LPAR  n*ZIP SHARE*INITIAL*WEIGHT*PCT'
              -For the ASUM70LP and ASUMCELP datasets, with only one
               set of variables, the names are:
                 ZIPSHARE='ZIP*INITIAL*SHARE*WEIGHT'
                 ZIPSHARC='ZIP*CURRENT*SHARE*WEIGHT'
               Since SMF70ACS is currently always zero for zIIPs, the
               two variables have the same value, but logic is in place
               that will use SMF70ACS if it is non-zero.
   Thanks to Rodger Foreman, TransUnion Corp, USA.
   Thanks to Lindholm Orjan, VOLVO, SWEDEN.

Change 30.105  Support for RMF III ASIG3 segments with '13'x and '14'x
ASMRMFV        segment level that is undocumented and added 376 bytes.
VMACRMFV       This caused  MXG variables for Service Class, Report
Jun  8, 2012   Class, Workload, and Resource Group data extensions to be
               invalid.
              -ASMRMFV space message RMFV030I could have invalid values
               for HARBA, HURBA, and AVAIL fields when the input RMF
               Monitor III VSAM data set was non-EF and exceeded 2 GB in
               size.  Subsequent message RMFV031I would have invalid
               percentages for USED and AVAIL fields possibly exceeding
               100 percent.  NOTE: Assembly and link-edit of ASMRMFV is
               optional for MXG users with only EF RMF III VSAM data
               sets or only non-EF data sets not exceeding 2 GB in size.
               Otherwise, reinstall of ASMRMFV is strongly recommended
               to resolve this issue.  o Warren Cravey, Fidelity
   Thanks to Warren Cravey, Fidelity, USA.

Change 30.104 -Variable SMF70CIN in TYPE70EN was incorrectly set to the
VMAC7072       value 'ZIP', but that is now SMF70CIN='IIP', consistent
Jun  8, 2012   with SMF70CIN in other MXG datasets.
              -For zIIP engines, in dataset PDB.TYPE70PR, the variable
               NEWWAIT contains the CPUWAITM for SMF70CIN='IIP'.
              -In PDB.TYPE70EN, variable CPUWAITM is valid for CP and
               IIP engine's wait time.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 30.103 -Support for z/OS 1.13-added (COMPAT) RAS (Reliability,
VMAC1415       Availability, Serviceability) segment adds flag variables
Jun  5, 2012   that are $HEX2. formatted.  Because I don't expect these
               new variables to be of great import, separate bit-level
               variables aren't created, but these are the values:
               SMF14RFG0
                '1.......'B='DCBE reject flags present'
                '.1......'B='PARTREL flags present'
               SMF14RASDATA0
                '1.......'B='DCBE invalidated because EXCP and no
                             foundation extension present.
                '.1......'B='DCBE invalidated because DSORG is not PS,
                             PO OR DA.
                '..1.....'B='DCBE invalidated because storage is not
                             addressable.
                '...1....'B='DCBE invalidated because DCBE storage is
                             not in key of caller.
                '....1...'B='DCBE invalidated because the DCBEID is not
                             'DCBE'.
                '.....1..'B='DCBE invalidated because it is not at least
                             the minimum length required (56 bytes)
                '......1.'B='DCBEHIARC flags set but DCBDCBE is zeros.
               SMF14RASDATA1
                '1.......'0=Partial release not called by CLOSE because
                            VIO data set
                '.1......'1=Partial release not called by CLOSE because
                            task is abending.
                '..1.....'2=Partial release not called by CLOSE because
                            not opened for output
                '...1....'3=Partial release not called by CLOSE because
                            EXCP DCB but no direct access device section
                            present.
                '....1...'4=Partial release not called by CLOSE because
                            even though opened for output, last I/O was
                            not output
                '.....1..'5=Partial release had an I/O error
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 30.102  These DB2xxxxx variables were not MGBYTES formatted, and
VMACDB2        had incorrect labels.
Jun  5, 2012     NDB2STOR ALLOWSTR THRDUSE  QWOSDRSU QWOSDVSU
   Thanks to Robert M. Dahlia, SunTrust, USA.

Change 30.101  The TITLE7 statement was repeated, so the title line that
ANALDDCN       should have reported duplicate bytes DUPBYTES was not
Jun  4, 2012   printed.
   Thanks to Tom White, Dell, USA.

Change 30.100  UTILEXCL in MXG 30.03 was defective and the IMACEXCL that
UTILEXCL       it created did not input JMVTIMCN which caused errors,
Jun  4, 2012   usually the "NON-FIRST-TRANSACTION RECORD NUMBER" error.
   Thanks to Victoria Lepak, Aetna, USA.

Change 30.099  Support for CO:Z SMF 119 Subtypes 192 and 193 records.
EXT119X2       Four new datasets are created:
EXT119X3         DDDDDD  DATASET   DESCRIPTION
EXT119M2         T119X2  TY119192  CO:Z SFTP SERVER LOG
EXT119M3         T119M2  TY119M92  CO:Z SFTP SERVER LOG MESSAGES
IMAC119          T119X3  TY119193  CO:Z SFTP CLIENT LOG
VMAC119          T119M3  TY119M93  CO:Z SFTP CLIENT LOG MESSAGES
VMXGINIT       Jun 18: RACFUSER added to KEEP for T119M2/T119M3 as it is
Jun  3, 2012   in the BY list for both datasets.
Jun 18, 2012
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 30.098  New fields added to DCOLLECT BKUP records (COMPATIBLY) by
VMACDCOL       z/OS 1.11 are now created in DCOLBKUP dataset:
Jun  2, 2012    UBLFS  ='LARGE*FORMAT*SEQ*DATASET?'
                UBNEWNM='NEWNAME*SPECIFIED?'
                UBF_RETAIN_SPCD='RETAIN*SPECIFIED?'
                UBF_NEVER_EXP='NEVER*EXPIRE?'
                UB_RETAINDAYS='SPECIFIED*RETAINDAYS*VALUE'
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 30.097  Velocity Software XAMCPUTO dataset contains totals, but
VMACXAM        did not contain a count of CPUS.  Variable NRCPUS is now
Jun  2, 2012   created, and forced to be an integer using
                  NRCPUS=FLOOR(0.1+(DURATM/(STOPTIME-STARTIME)));
   Thanks to Andrew Petersen, CSC, AUSTRALIA.

====== Changes thru 30.096 were in MXG 30.03 dated May 30, 2012=========

Change 30.096  Support for ZEN OSA MONITOR PTF ZOM1322 that INCOMPATIBLY
VMACZOSA       increased the length of ZOSALINK from 13 to 17 bytes.
May 29, 2012
Jun  1, 2012

Change 30.095  RMF III Enhancements.
ASMRMFV       -A new table called MXG is now created which contains
VMACRMFV       ASMRMFV assembly and execution data.  The MXG table is
EXZRBASM       created internally by ASMRMFV and is not a true RMF
VMXGINIT       Monitor III table.  The MXG table contains 49 variables
May 29, 2012   that describe both the assembly and the execution
               environment of ASMRMFV.  This data can be used either as
               an audit trail or as a problem diagnostic aid.  VMACRMFV
               can also use this data for conditional logic decisions.
               Only 1 MXG table observation will appear in the new
               ZRBASM file for each run of ASMRMFV, so there is minimal
               overhead.
              -Two new extensions are added by ASMRMFV to the ASI
               (address space) and ENC (enclave) table records with
               WORKLOAD and RESOURCE GROUP information.   These are in
               addition to existing extensions for SERVICE CLASS and
               REPORT CLASS data.   VMACRMFV adds a total of 14
               variables for this new information to the ZRBASI and
               ZRBENC files.
              -New ZRBASI variables are: ASIWNM  ASIWDE  ASIGNM ASIGDE
               ASIGMN  ASIGMX  ASIGLT.
              -New ZRBENC variables are: ENCWNM  ENCWDE  ENCGNM ENCGDE
               ENCGMN  ENCGMX  ENCGLT.
              -All ASMRMFV added data extensions now only include the
               part of the information that is actually documented.  In
               some cases internal control block values specified a much
               greater length and caused problems in VMACRMFV.
              -ASMRMFV message RMFV000I now contains information on the
               environment at the time of assembly.
              -ASMRMFV message RMFV001I now contains information on the
               environment at the time of execution.
              -Corrected ASMRMFV comments to note that the optional
               RMFFILT output data set can NOT be used as input to a MXG
               PDB build.  RMFFILT does not contain any DSH or SSH
               records that would be needed.
              -ASI table data extensions for very old releases of RMF
               Monitor III V4.3.0 or below (pre 1994) will no longer be
               attempted by ASMRMFV.  ASI table data will still be
               output but without the extensions in this case.  The
               header structure of these ancient records is not
               compatible with the data extension process.
              -Corrected a problem where SERVICE CLASS or REPORT CLASS
               extensions for ASI or ENC table were incorrect when the
               respective data indexes were zero.  These values should
               have been missing, but instead were populated with data
               from the prior ASI entry.  This was a limited condition.
              -Code path length reductions were made to two subroutines
               for ASI and ENC table processing in ASMRMFV by using
               existing FINDxx subroutines.
              -The ASIENTMX and ASIENTLN fields are now corrected in
               ASMRMFV to show the true count and length in an ASI table
               record.
              -The ENCG3TLN field is now corrected in ASMRMFV to show
               the true total length in an ENC table record.
              -ASMRMFV now validates that input data sets are VSAM RRDS
               with warning message RMFV017W issued if a data set is
               non-VSAM or is VSAM but a non-RRDS type.  In this case no
               abend occurs, but final return code CC=4 is set, and
               processing of the next input data set continues.
              -ASMRMFV now issues warning message RMFV017W if an input
               VSAM data set has a non-standard CISIZE or RECSIZE.  IBM
               intends that RMF Monitor III data sets be allocated with
               the ERBVSDEF Clist which specifies the correct CISIZE and
               RECSIZE values of 32768 and 32752 respectively.  Use of
               other values can result in a file that is unusable by RMF
               Monitor III.
              -A S0C4 Abend in ASMRMFV CPU table processing is corrected
               that occurred when no other LPAR data was present.  This
               was most likely when a z/OS guest was running under z/VM.
              -VMACRMFV did not correctly input the OSDKASID and
               OSDPLIST fields from Summary Information section in the
               OPD table.
              -The following RMF Monitor III table records are now
               blocked for efficiency in ASMRMFV output: CPD, CSR, ENT,
               OPD, and SPG.  This improvement results in up to 90%
               reduction or more in output record count.  However, this
               means there are multiple data segments in each record
               which can affect existing logic in any user modified
               EXZRBxxx exit routines for the respective table.
               VMACRMFV is upgraded to handle the additional data
               entries in the blocked tables.
              -Tutorial: Your tailoring logic in EXdddddd dataset exits
               to control output of an MXG dataset needs this structure
               to always be safe:
                 IF something THEN DO;
                   OUTPUT _Wdddddd;
                 END;
               and can't use a DELETE, RETURN, nor "IF something;" logic
               because when "something" is true, they stop the read of
               this current record, skipping any un-read segments from
               being tested for "something".
              -Validity checking for the CPD, CSR, DVT, ENT, OPD, and
               SPG tables in ASMRMFV for excessive or invalid header and
               entry length is improved.  When anomalies are detected
               the entire table will be skipped. This should be a very
               rare event.
              -Prologue documentation in ASMRMFV source code has been
               updated as needed including more discussion on skipped
               records and entry blocking.
              -NOTE: An assembly and link of each new ASMRMFV member is
               ALWAYS STRONGLY recommended, keeping ASMRMFV and VMACRMFV
               in sync, to create AND populate the new variables, enable
               table record entry blocking, and implement other related
               fixes/enhancements in this change.
              -HOWEVER: Using the new VMACRMFV to process RMFBSAM data
               created with the prior ASMRMFV program should not fail
               unless invalid records are found, but all new variables
               will have missing values.

Change 30.094 -SMF 113 counters were stored in the MXG DEFAULT=5 length,
ASUM113        but the four sets of counters can contain very large data
VMAC113        values, so variables BASICnn,PROBSTnn,CRYPTOnn,EXTNDnnne
May 28, 2012   are now stored in LENGTH 8, and the PROC MEANs in both
               VMAC113 and ASUM113 now specify /INHERIT so the longer
               length attribute will be preserved; comparison of short
               and long length showed the longer length was needed as
               there were some (smaller) values with shorter length.
              -Variable SM113CST is removed from BY macro _BTY113 and
               that macro matches the final sort order of PDB.TYPE113.
               SM113CST was needed in the BY list for the intermediate
               sorts but did not exist in the final PDB.TYPE113.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 30.093  If production jobs create reports that are sent to a data
ANALDB2R       set or a report archive facility, but there was no data
May 28, 2012   matching your selections, the result is an empty file or
               a nonexistent report.  While MXG's SASLOG tells you that
               happened (obscurely?), now, a message that no report was
               produced is written to the output destination for these
               reports: PMACC01 PMACC02 PMSTA02 PMAUD01 PMAUD02 PMAUD03

Change 30.092  If you have IMACEXCL in your "USERID.SOURCLIB", these new
UTILEXCL       CICSTRAN duration variables were 16 times too large:
May 24, 2012     ISIOWTTM WMQGETTM MAXTTDTM T8CPUTTM MLXSSCTM JVMTHDTM
                 WMQASRTM RMITOTTM RMIOTHTM RMIDB2TM RMIDBCTM RMIEXDTM
                 RMIMQMTM RMICPSTM RMITCPTM
               because UTILEXCL had generated incorrect code to convert.
                 Durations input as &PIB.4.6 use  X=16*X;
                 Durations input as &PIB.8.6 use  X=X/4096;
                 The incorrect syntax was         X=16*X/4096; for 8.6.
   Thanks to Victoria Lepak, Aetna, USA.

Change 30.091  Typoed character P in column one caused INPUT EXCEEDED in
VMACSVIE       SVSUBTYP=27 records that had segment 21 data.
May 24, 2012
Jun  5, 2012
   Thanks to Sam Knutson, GEICO, USA.

Change 30.090  Variable FERTREMI incorrectly contained the Local instead
VMACFERT       of the Remote IP Address.
May 22, 2012
   Thanks to Terry Back, Experian, USA.
   Thanks to Jerome Vitner, Experian, USA.

Change 30.089  Support for DB2 V10 APAR PM24723 for IFCID=225 SMF ID=100
VMACDB2        Subtype=4, which COMPATIBLY adds new storage metrics that
May 22, 2012   are output in both DB2ST225 and DB2STATS datasets.
   Thanks to Kerry J. Sommers, John Deere, USA.
   Thanks to Ralph Baechle, John Deere, USA.

Change 30.088  MQMLOG datetime variables were on GMT clock; there is no
VMAC115        offset field, but these maximum values must be less than
May 17, 2012   the SMFTIME, so the variable GMT115TM is calculated from
               SMFTIME-QJSTIOMAXIOT1 and used to adjust datetimestamps
               to the local time zone.
   Thanks to Joe Faska, Depository Trust, USA.

Change 30.087  Variable TOTDEVHR in TYPE74CA had non-missing values that
VMAC74         were wrong when CACHIOTT was zero or missing; an MXG typo
May 14, 2012   set non-existent variable name TOTDEVNR to missing when
               variable TOTDEVHR should have been set to missing value.
   Thanks to Sharon Moir, JP Morgan Chase Bank, USA.

Change 30.086  Change 28.276 added BEGTIME= ENDTIME= parameters to
ANALHSM        ANALHSM but, in the first step, the BEGTIME and ENDTIME
May 12, 2012   MACRO variables were set to the beginning of the data
               and the end of the data so that those values could be
               placed in the title lines of the reports.  So all
               subsequent use of those macro variables and checks for
               their existence would be based on the timespan of the
               actual data.  To make matters worse, in REPORT 5 and
               REPORT 6, the BEGTIME and ENDTIME datetime values were
               being compared to TIME values for FSRTIMR and FSRTIME
               so no data could ever be selected for those reports.
               With this change the date/times for the report headings
               are changed to BEGREPT and ENDREPT avoiding the
               conflict with BEGTIME and ENDTIME selection and in
               reports 5 and 6 datetime values are constructed as
               they are in ASUMHSM so that the correct data can be
               selected for the reports. There are also now MXGNOTEs
               that will tell you when you have started processing the
               data for each report and another if no data was found
               for the report.
   Thanks to Paul Volpi, UHC, USA.

Change 30.085  Cosmetic.  UNMODSMF time is now aligned under SMFTIME to
VMACSMF        make comparisons easier, and the _N_ value of LAST RECORD
May  9, 2012   IN GROUP message is no longer a missing value.

Change 30.084  ODS operator RS=NONE added to prevent wrapping of HTML
VMXGODSO       statements (specific to z/OS but causes no problem for
May  9, 2012   ASCII ODS operations; only set for HTML output).

Change 30.083 -MXG 30.02, z/OS Only, SAS 9.1.3 SP4 Only:
VMAC71           ERROR: DOMAIN ERROR.
May  9, 2012     ERROR: TERMINATION DUE TO FLOATING POINT EXCEPTION
               occurred in a PROC MEANS of DATA=TYPE71 in JCLTEST9.
               This error did NOT occur with SAS 9.3 nor on ASCII SAS.
               The Floating Point Exception resulted from MXG INPUTing
               SMF71TLS field as RB4 when the field is binary (PIB4),
               and a value of '00000AD1'x read as RB4 produced a value
               that was a negative with E75 exponent, but it was only
               when that value was subsequently read by PROC MEANS that
               the error surfaced.
   Thanks to John Loch, HP, USA.

Change 30.082  Type 60 record with no VVR segment (for a VVDS) caused an
VMAC60         INPUT EXCEEDED RECORD LENGTH error on 3 days, and then
May  7, 2012   didn't. MXG now tests to verify a VVR segment exists (and
               VVRLEN will be a missing value in these observations) but
               why these records were created is unknown.
   Thanks to Peter Krijger, ANZ National, NEW ZEALAND.

Change 30.081  Enhancement adds rundays=mon tue wed ... to list the days
BLDSMPDB       of the week when BLDSMPDB is to actually be executed; on
May  7, 2012   any other day, the program will terminate with MXGNOTEs.
               The default, daily, is unchanged.
   Thanks to Mynard Holloway, Spectrum Health, USA.

Change 30.080  Actual GDPS records exposed wrong guesses I made when I
VMAC105        wrote code from the documentation: GDPS datetimestamps in
May  4, 2012   SM105STM/DTM/SST/SCT are reversed-SMFSTAMP8 with DATE
Jun  4, 2012   first, so simple SMFSTAMP8 format can't be used; DURATM
               field is packed decimal not binary and needs divide by an
               undocumented 10; the two RPO duration variables SM105SAR
               and SM105SIR also needed an undocumented divide by ten;
               the Product section's two variables are input and kept.
              -Jun 4: IBM stored blanks for SM105SCD and SM105SCT which
               caused INVALID data error. Test for blanks circumvents,
               while a PMR is opened for the invalid data.
   Thanks to Jeffrey A. Johns, UHC, USA.
   Thanks to Paul Volpi, UHC, USA.

Change 30.079  Cosmetic. Using EXEC SAS,CONFIG=CONFIMXG and MXGNAMES,
VMXGINIT       DSNAMES in the //SOURCLIB concatenation are dynamically
May  4, 2012   allocated in reverse order to their concatenated order,
               and dataset SASHELP.VEXTFL, which MXG reads to print the
               DSNAMES on the log at initialization, is also reversed.
               A PROC SORT of VEXTFL by DESCENDING LEVEL was inserted to
               get the MXG list in correct order when CONFIMXG was used.
               When MXGSAS93 and "static" allocation is done in JCL, the
               value of LEVEL is zero and the DSNAMES are in the right
               order; the sort doesn't alter that correct listing order.

Change 30.078  CICS Statistics storage variables in Change 29.221 were
VMAC110        thought to be in GB, and were multiplied by 1073741824,
May 28, 2012   but they are in MB, so they were 1024 times too large.
               These variables are now multiplied by only 1048576 to
               convert MB to bytes for the MGBYTES format:
                  SMSDSASZ SMSHWMDS SMSCSIZE SMSFSTG  SMSHWMFS SMSLWMFS
                  SMSLFA   SMSGDCUL SMSGDHWL SMSGDCUR SMSGDHWM SMTHWMPS
   Thanks to Homayoun Riaza, United Health Group, USA.

Change 30.077 -READDB2 internal parsing was revised to correctly process
READDB2          %LET MACKEEP=
May  3, 2012       MACRO _WDB2ACP DB2ACCTP.DB2ACCTP %
                   MACRO _SDB2ACP                   %
                 ;
                 %READDB2(IFCIDS=ACCOUNT STATS,
                          WANTONLY=DB2ACCT DB2ACCTP DB2STATS DB2STATB,
                          PDBOUT=YES,LDB2ACC=DB2ACCT,LDB2STB=PDB);
               to create only DB2ACCT.DB2ACCT, DB2ACCTP.DB2ACCTP,
               PDB.DB2STATS and PDB.DB2STATB datasets in those LIBNAMEs.
              -IFCID=STATS creates only/both PDB.DB2STATS & PDB.DB2STATB
               but Change 27.322 incorrectly listed only DB2STATS so the
               comments in READDB2 were clarified.
              -Minor logic changes: DB2STATB routing was suppressed with
               STATS, and SMF IDs to be read message only showed 101.
              -Cleanup 106 message, detritus in WORK when IFCID=STATS is
               used (newish STATS creates ONLY the PDB.DB2STATS dataset)
               with PDBOUT=YES.

Change 30.076  If USERADD= specified 102.xxx, but the length of xxx was
UTILBLDP       less than 3 (e.g. 102.23 instead of 102.023), incorrect
May  2, 2012   macro token _C10223 instead of _C102023 was created which
               caused unreferenced macro error.  Not reported by a user.
               Correction was when &LENGTH(&STRING2) was 1 or 2.

Change 30.075 -Variables JOB JESNR JBL24 are now kept in TPMJBL24.
VMACTPMX      -Variable READTIME is now kept in all TPMJBLxx datasets,
May  2, 2012   since READTIME as well as JOB and JESNR are required to
               uniquely identify a "JOB".
              -Variable TPMPCSDIFFER is now input as IB because it can
               contain negative values.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 30.074  Cosmetic.  WARNING: MULTIPLE LENGTHS FOR BY VARIABLE LCU
ANALFIOE       is removed with LENGTH DEFAULT=&MXGLEN added in the DATA
Apr 28, 2012   step that creates LCU from LCUID in TYPE78CF.  There was
               no error because the two lengths were 5 and 8 and LCU is
               only a 2-byte binary number.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 30.073  Support for CA Vantage Storage Resource Manager 12.6.00,
VMACSAMS       INCOMPAT: SAMSLGVR='X' in new records; MXG tested GE '6'
May 29, 2012   when SAMS code was last updated.  SAMSPOOL fields were
               restructured, from 4 to 8 bytes, some from PD to PIB.
               New variables created in SAMSPOOL dataset:
                 SAMSSYSP='SYSPLEX*WHERE*VANTAGE*RUNS'
                 SAMSLPAR='LPAR NAME*WHERE*VANTAGE*RUNS'
                 SAMSSUBS='SUBSYSTEM*WHERE*VANTAGE*RUNS'
                 SAMSHASL='LOCAL*HASH*VALUE'
                 SAMSHASG='GLOBAL*HASH*VALUE'
   Thanks to Robert Brosnan, Goldman Sachs & Co., USA.

Change 30.072  Support for RMF 74 APAR OA36831 which COMPATIBLY adds new
VMAC74           SMF74NSS='SKIPPED*SAMPS*INVALID*DELTA VALUE'
Apr 21, 2012   to TYPE74 dataset.

Change 30.071  VMACTPX, written before _Vdddddd old-style macro were
VMACTPX        designed, is updated to define and use those alternative
Apr 21, 2012   tokens to control what's kept in MXG datasets.
   Thanks to Erling Andersen, SMT Data, DENMARK.

Change 30.070  Support for CA-Spool Subtype 12 creates CNA9CX dataset,
EXCMA0CX       but only creates the seven variables that were recognized
IMACCMA        by format and content with the subtype 11.  Additional
VMACCMA        data fields will be decoded when documentation received.
VMXGINIT
Apr 21, 2012
   Thanks to Orjan Lindholm, Volvo, SWEDEN.

Change 30.069  These new in z/OS 1.13 TYPE72GO vars were not populated
VMAC7072        CPUPDPTM R723RTDM R723RTDC R723RTDT
Apr 20, 2012   because the test was 32 when only 24 bytes were added.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 30.068  RMM dataset EDGRDEXT was expected, but the "D" and "V"
VMXGDSN        records were combined into the "X" record, so DAILYDSN
Apr 20, 2012   was revised to use EDGRXEXT instead of EDGRDEXT.
   Thanks to Jeff Dyke, USDA, USA.

Change 30.067  LUNAME added where possible to SMF ID=119 example report.
ANAL119
Apr 19, 2012

Change 30.066  New version of Ferret record is supported for subtype 1
VMACFERT       and 4, based on test data without the vendor's DSECT.
Apr 20, 2012  -FERRET subtype 1 record with length of third triplet 80
               caused INPUT STATEMENT EXCEEDED because that segment was
               82 bytes in prior records. A LENLEFT test to protect was
               added, but removing the +2 appears to realign subtype 1.
              -FERRET subtype 4 record removed the +6 bytes at start.
   Thanks to Bruce Sloss, PNC Bank, USA.

Change 30.065  Vendor segment for ETFR ID=80 SMF record caused MXG to
VMAC80A        have INPUT STATEMENT EXCEEDED RECORD.  Previous FRI=02
Apr 18, 2012   had an extra byte (in 2004 when ETFR segment was last
               updated!) that is not there now, DO Group bypassed.
   Thanks to J. Grasing, Metropolitan Life, USA.

Change 30.064  Support for new MQ QJST 7.01B Stats Block adds 4 sets of
VMAC115        ten variables with log statistics for each of up to four
Apr 18, 2012   logs in the MQLOG dataset.
   Thanks to Joe Faska, Depository Trust, USA.

Change 30.063  The SMF 117 subtype 'IMFL' new variable SM17ACCT with the
VMAC117        'ACCOUNT*ORIGIN' is input and kept when it exists in the
Apr 17, 2012   WebSphere 7.0.0.3 SMF record.
   Thanks to Fabio Ottaviani, EPVTECH, ITALY.

====== Changes thru 30.062 were in MXG 30.02 dated Apr 15, 2012=========

Change 30.062  TYPE70 variable ENHDATAR='ENHANCED*DAT*ARCHITECTURE?" is
VMAC7072       now created from Bit 7 of SMF70PRF.
Apr 12, 2012
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 30.061  BETA93 subtype 25 records support is revised to match the
VMACBETA       data records. The documentation for 4.1 release is wrong,
Apr 12, 2012   as there are not 256 reserved bytes at the end, which
               caused INVALID DATA FOR BETASTRT messages, and support
               for the 4.2 was wrong, causing INPUT STATEMENT EXCEEDED
               RECORD LENGTH errors.

Change 30.060  Support for TMON/DB2 V5, INCOMPATIBLE, only for DB2 V10.
EXTMD2BA       Completely restructured records with new dataset names
EXTMD2BB       and new variable names, so your reports will have to be
EXTMD2BC       revised to use new MXG dataset names and variable names.
EXTMD2BD       The new product suffix is TMD2, replacing TMDB, so you
EXTMD2BE       will need to change your input DDname to //TMD2IN and
EXTMD2BF       your MXG %INCLUDEd program to TYPETMD2 or TYPSTMD2.
EXTMD2BG
EXTMD2BH        DDDDDD   MXG     MXG                          SIMILAR TO
EXTMD2BJ        DATASET  DATASET DATASET                        OLD TMDB
EXTMD2BK        SUFFIX   NAME    LABEL                           DATASET
EXTMD2BL
EXTMD2DA        TMD2BA   TMD2BA  SET CURRENT SQLID
EXTMD2DB        TMD2BB   TMD2BB  End of Identify
EXTMD2DC        TMD2BC   TMD2BC  End of Signon
EXTMD2DE        TMD2BD   TMD2BD  Authorization Failure
EXTMD2DW        TMD2BE   TMD2BE  Explicit GRANT/REVOKE
EXTMD2IB        TMD2BF   TMD2BF  DDL on Audited Object
EXTMD2ID        TMD2BG   TMD2BG  Write on Audited Object
EXTMD2IG        TMD2BH   TMD2BH  Read on Audited Object
EXTMD2II        TMD2BJ   TMD2BJ  Utility started
EXTMD2IP        TMD2BK   TMD2BK  Utility Change
EXTMD2IT        TMD2BL   TMD2BL  Utility End
EXTMD2PK        TMD2DA   TMD2DA  INTERVAL SYSTEM STATISTICS      TMDBDA
EXTMD2QS        TMD2DB   TMD2DB  Thread Accounting Data          TMDBDB
EXTMD2SD        TMD2DC   TMD2DC  DB2 Command Activity
EXTMD2SL        TMD2DE   TMD2DE  Exception Definition/Event
EXTMD2ST        TMD2DW   TMD2DW  DB2/IRLM Messages
EXTMD2TB        TMD2IB   TMD2IB  Interval BP Statistics          TMDBDAB
EXTMD2TD        TMD2ID   TMD2ID  Interval DDF Statistics         TMDBDAF
EXTMD2TG        TMD2IG   TMD2IG  Interval GBP Statistics
IMACTMD2        TMD2II   TMD2II  Interval IFCID Statistics
TYPETMD2        TMD2IP   TMD2IP  Interval Data Set Statistics
TYPSTMD2        TMD2IT   TMD2IT  Interval IFI Trace Dest
VMACTMD2        TMD2PK   TMD2PK  Thread Package Accounting       TMDBDBK
VMXGINIT        TMD2QS   TMD2QS  SQL Analyzer Statistics
Apr 10, 2012    TMD2SD   TMD2SD  System Deadlock Detail
                TMD2SL   TMD2SL  System Deadlock/Timeout Victim
                TMD2ST   TMD2ST  System Timeout Detail
                TMD2TB   TMD2TB  Thread BP Accounting            TMDBDBB
                TMD2TD   TMD2TD  Thread DDF Accounting           TMDBDBF
                TMD2TG   TMD2TG  Thread GBP Accounting
               All datasets have been extensively validated with test
               data records, but with 10,000 new lines of source code,
               there is some possibility of overlooked items.
                  The original VM/XA MONWRITE support was also 10K lines
                  and took 150 hours across 10 days.  This project took
                  only 5 days and about 50 hours, in part because you
                  can teach an old dog new tricks, but also because the
                  vendor "$$" aggregation file was used to generate each
                  INPUT line for each variable, with its INFORMAT and
                  LABEL; most of the rest of the time was spent
                  comparing each line with the DSECTS to find the
                  reserved fields that were not in the $$ file and to
                  find the undocumented bytes added for fullword
                  alignment.
               MXG previous support for pre-V5 TMON/DB2 did not support
               any of the 'Bx' records (because no one sent sample data
               records indicating they wanted those records supported!),
               but since ASG Technical Support provided samples of EVERY
               record type, ALL records, including the records that are
               new in V5 (DB2 Command, Deadlock/Timeout, DataSet Status,
               and the new Interval and Thread data) are supported and
               ALL have been data-tested (so hex-containing strings, the
               times and datetimes should be correctly formatted).
               Check with ASG Customer Support that you have all PTF's
               installed; not all datetimestamps were converted to the
               local time zone, and some alignment corrections in new
               records.

Change 30.059 -BLDSMPDB uses an execution of VGETSORT to build a list of
BLDSMPDB       the datasets for weekly and monthly processing.  In the
Apr  9, 2011   case of monthly it was looking at the WEEK LIBNAME rather
               than the WEEK1 LIBNAME.  On ASCII this was not a problem
               since both WEEK and WEEK1 existed albeit pointing at the
               same directory, but on zOS that was not necessarily the
               case.  VGETSORT was changed to point at WEEK1.
              -When monthly/weekly was not being run and AUTOALOC was
               set to NO, BLDSMPDB displayed a message that WEEK and
               month LIBNAMES contained a date range that could have
               been in error or not even existence.  Message is now
               suppressed when AUTOALOC=NO.
              -Value of SORTEDBY is forced to NO when the length of
               MXGNOBY is greater than 0 to suppress the BY statements
               in WEEKLY/MONTHLY processing to optimize performance.
               Change 29.008 removed BY processing for WEEK/MONTH in
               old WEEKBLD/MONTHBLD logic, so BLDSMPDB is consistent.

Change 30.058 -New variables added to RMF TYPE71 dataset by z/OS 1.13
VMAC71         that were overlooked:
Apr  2, 2012      SMF71L7M='MIN 1MB*FIXED*FRAMES*NOT IN USE'
                  SMF71L7X='MAX 1MB*FIXED*FRAMES*NOT IN USE'
                  SMF71L7A='AVG 1MB*FIXED*FRAMES*NOT IN USE'
                  SMF71TLS='TOTAL*NUMBER OF*LOGICAL*SWAPS'
              -SMF71LFA, added in MXG 30.01 was incorrectly aligned.
              -And, starting with z/OS 1.13 the Swap Placement Section
               does not exist, so the below 66 variables won't exist, so
               you could DROP them all from your TYPE71 dataset when all
               your systems are at that level, with this statement in
               the //SYSIN stream that builds your TYPE71 dataset:
                 %LET MACKEEP=  MACRO _KTY71  DROP=
                   SWAPTO PHYAUXTO LOGEXTTO LOGAUXTO PHYEXTTO EXTAUXTO
                   SWAPTI PHYAUXTI LOGEXTTI LOGAUXTI PHYEXTTI EXTAUXTI
                   SWAPWT PHYAUXWT LOGEXTWT LOGAUXWT PHYEXTWT EXTAUXWT
                   SWAPAS PHYAUXAS LOGEXTAS LOGAUXAS PHYEXTAS EXTAUXAS
                   SWAPRS PHYAUXRS LOGEXTRS LOGAUXRS PHYEXTRS EXTAUXRS
                   SWAPDW PHYAUXDW LOGEXTDW LOGAUXDW PHYEXTDW EXTAUXDW
                   SWAPVR PHYAUXVR LOGEXTVR LOGAUXVR PHYEXTVR EXTAUXVR
                   SWAPNQ PHYAUXNQ LOGEXTNQ LOGAUXNQ PHYEXTNQ EXTAUXNQ
                   SWAPEX PHYAUXEX LOGEXTEX LOGAUXEX PHYEXTEX EXTAUXEX
                   SWAPUS PHYAUXUS LOGEXTUS LOGAUXUS PHYEXTUS EXTAUXUS
                   SWAPNS PHYAUXNS LOGEXTNS LOGAUXNS PHYEXTNS EXTAUXNS
                 % ;
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 30.057  Support for TS7700 Version 2.0a (INCOMPATIBLE, due to
FORMATS        insertion of new fields and increases in lengths of some
VMACBVIR       existing fields, impacting BVIR30 and BVIR32 datasets).
Apr  1, 2012  -New variable in dataset BVIR30:
                  AVGCPUSE='CPU*USAGE*PERCENT*AT END OF*INTERVAL'
              -New variables in dataset BVIR33:
                  DVMECC00='00*MEDIA*TYPE*CONTAINER*COUNT'
                    5 more new variables
                  DVMECC07='07*MEDIA*TYPE*CONTAINER*COUNT'
                  DVMTC010='POOL 01 MEDIA 0*MEDIA*TYPE*CONTAINER*COUNT'
                    254 more new variables
                  DVMTC327='POOL 32 MEDIA 7*MEDIA*TYPE*CONTAINER*COUNT'
              -FORMATS was updated for new media types JC, JY and JK.
   Thanks to Louis Deledalle, BNPPARIABAS, FRANCE
   Thanks to Perry Lim, Union Bank, USA.

Change 30.056 -The DSNBRECD observation for a VOLSER created from the
TYPETMS5       first DSNB record could have wrong values for variables
VMACTMS5         DSNBUSRU DSNBTMSI DSNBECAT DSNBABND DSNBISCA DSNBDFXU
Apr  4, 2012     DSNBWSCA DSNBDFLT
               because those variables had values from the TMSREC-DSNB.
               Now, the DSNB values are temporarily stored, the DSNB for
               the TMSREC DSN is created with those variables populated
               from the corresponding TMSREC variables, and then the
               DSNB variables are restored from temp storage.
              -The values for DSNBECAT and DSNBWSCA in the DSNB created
               from the TMSREC were reversed.
              -Value for TRTCH 'D0'x set DEVTYPE of 3590 but it's 9840,
               and some additional DEVTYPE values were enhanced to show
               the EF3/EF3M/EF3X/EE3/EE3M/etc descriptor text.
              -In diagnosing the error, I also observed an inconsistency
               in MXG logic for TMSREC observations that have SCR='Y',
               i.e., Scratch List VOLSERs: MXG did not create the pseudo
               DSNB observation for the TMSREC DSN for scratched volumes
               but all of the real DSNB observations are output, with no
               flag they are on a Scratch Volume, as that is a TMSREC
               and not a DSNBREC attribute.  Now, that pseudo DSNB obs
               is created for SCR='Y' volumes, and new variable SCRFLAG
               is created in DSNBRECD so DSNBs on Scratch volumes can
               be identified.
   Thanks to Scott Rowe, Social Security Administration, USA.

Change 30.055 -Support for DB2 APAR PM37956 to SMF 102 IFCID 25 added
FORMATS        several new variables, two of which are decoded by new
VMAC102        formats.
VMACDB2H      -Cosmetic: VMACDB2H updated to prevent two "MISSING" value
Mar 28, 2012   calculation messages.
   Thanks to Paul J. Larsson, Aetna, USA.
   Thanks to Victoria Lepak, Aetna, USA.

Change 30.054 -ERROR: Divide by zero in SMF 73 records occurred in the
VMAC73         new FICON Extended Data segment when SMF73PTI=0, which
Mar 29, 2012   occurs for CHPIDs that are not ONLINE.  The new MXG code
               failed to test SMF73PTI before the division (even though
               all other divides where!).  Because TYPE73 observations
               WERE only output if ONLINE='Y' and VALIDPTH='Y', these
               segments that caused the divide by zero were not output,
               so there was no impact on the contents of TYPE73 dataset.
               All SMF73PTI divides are now protected.
              -HOWEVER: The IBM Channel Path report does list CHPIDs
               that are OFFLINE but have VALIDPTH='Y', so the logic in
               VMAC73 is changed so that observations with EITHER the
               ONLINE='Y' OR the VALIDPTH='Y' are output, in case you
               actually need to see that a CHPID is offline.  This will
               cause a small increase in the number of observations that
               are output in TYPE73 (256 CHPIDs are possible; in this
               site's data, 59 were online and valid path, and 7 more
               were valid path only that are now also output).
   Thanks to Christine Ya DeClercq, DEXIA, BELGIUM.

Change 30.053 -Two variables were named CALTYPE, one in dataset VXSYTSPT
VMACVMXA       that is a one-byte flag, and one in VXMTRPAG & VXSTOATC
Mar 21, 2012   which is a four byte field containing PAGE or SPOL, but
Apr  2, 2012   the second was truncated to one byte by the first.  Since
               CALTYPE in VXSYTSPT is a flag that is unlikely to be used
               I have renamed it to CALTYPEP to eliminate truncation.
              -Variable HFQUCT in VXBYUSR wasn't properly deaccumulated.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 30.052  Some packed decimal variables notably TPTDBIO were not
VMACIMS        protected for a full hex-zero field value; the needed
VMACIMSA       "double question mark" has been inserted in each INPUT.
Mar 21, 2012   Where the value is hex zero (because IBM did NOT prime
               the field as a valid PD field) there is no impact on the
               value of those variables as they will be a missing value
               with or without the ??, but this change will eliminate
               the INVALID DATA message and associated hex record dump.
   Thanks to Paul Volpi, UHC, USA.

Change 30.051  Support for SYSVIEW PTF Test APAR TSD0144, for IMS data.
EXSV34ES       Only SYSVIEW IMS records with that APAR can be read with
EXSV34SU       this update; revisions to subtypes 34 and 35 were made.
IMACSVIE      -New SV34ESS and SV34SUMM datasets are created.
VMACSVIE      -Change 29.273 found LTERM names 'FDFFFFFF'x, which is the
VMXGINIT       indicator the transaction originated in MQ and entered
Mar 30, 2012   IMS via OTMA: in this case, there isn't an LTERM, but the
Apr  2, 2012   next 8 bytes is the TPIPE name (e.g. CSQ800B9, which is
Apr 26, 2012   in LUNAME field), so that TPIPE name is now used for the
Jun  4, 2012   LTERM name.  Some records for OTMA transactions have the
               LTERM name for TCP/IP port number.  MXG keeps the hex
               value in IMTR_TRN_LTERM_HEX and stores LUNAME into LTERM.
              -In IMS V9, DBIOTIME and LOCKTIME fields are only valid in
               records from DBCTL subsystems, so those fields are set to
               a missing value when they are not valid.
              -Jun 4: two variables are no longer divided by /4096 :
                 IMTR_CLK_MPP_CPU
                 MQRR_OBJ_INTERVAL
   Thanks to Martin Trinkler, CSC, ENGLAND
   Thanks to Arthur G. Hurlston, CSC, ENGLAND

Change 30.050  Support for SMF 85 records from z/OS 1.13 (INCOMPAT, due
VMAC85         to new value of R85PVRM='1130'.
Mar 20, 2012
   Thanks to Joachim Sarkoschits, DATAEV eg, GERMANY.

Change 30.049  An extra semi-colon in the non-graphics PROC PLOT caused
ANALCNCR       an error and was removed.
Mar 19, 2012
   Thanks to Steve Dyck, Canadian Depository, CANADA.

Change 30.048  If you specified a 9-character SAS date literal value, eg
VGETDDS        12MAR2012, only the first 7 characters were used, causing
Mar 19, 2012   the constructed Julian Date to be incorrect as 2020072.
   Thanks to Brian Harvey, HCL America, USA.

Change 30.047  Support for BMC Mainview for MQ Version 5.1 (INCOMPAT).
EXBBMQAL       MXG did not protect for changed segment lengths so this
IMACBBMQ       update is required to read 5.1 data records.  The new
VMACBBMQ       RTIN='EA'x record has not been tested, but it will create
VMXGINIT       observations in new dataset BBMQALTS; some variables will
Mar 18, 2012   be changed to datetime variables instead of character
               when test data is available.

Change 30.046 -If you specified SUPPRESS=110, that did not suppress the
UTILBLDP       creation of CICSTRAN, which requires //CICSTRAN to exist.
Mar 18, 2012  -If CICSTRAN was suppressed, ASUMUOW/ASUMCICX were still
               invoked, causing errors.
              -New values for suppress of DB2STAT CICSSTAT were added so
               you can separately suppress the statistical datasets.
   Thanks to Chip Parsons Ingram Books, USA.
   Thanks to Paul Volpi, UHC, USA.

Change 30.045  Debugging PUT _N_= CPUUNITS= CPUTCBTM= removed; added for
VMAC30         testing of Change 29.025.
Mar 14, 2011
   Thanks to Murali K. Inuguru, CSC, India.

Change 30.044 -Updates to D062, D063, D060, VWRP, D059, D057, VWVS.
VMACNTSM      -VMware.Guest.CPU
EXNTDTAL        VWGCUSPC doesn't exist, removed.
EXNTDIRS        VWGCSWTM /*SWAP*WAIT*(MILLISECONDS) */ added.
EXNTSRMD      -VMware.Host.CPU - the two Core utilization fields
IMACNTSM        VWHCCORA and VWHCCORB were mislabeled as CPU utilization
VMACNTSM       Pending newdata/newnames updates to QLSS QLSE
VMXGINIT        QLSS: MSSQL:SQL STATISTICS
Mar 11, 2012    QLSE: MSSQL:USER SETTABLE
Apr 15, 2012   New objects are now supported in Apr 15 iteration:
                NTDTAL DTS.ALERTEVENT               -   4 DTAL.... vars
                NTDIRS DIRECTORYSERVICES            - 164 DIRS.... vars
                NTSRMD SERVICEMODELSERVICE 3.0.0.0  -  33 SRMD.... vars
               User-found corrections after Mar 11 iteration:
                vmware_guest_virtualdisk - keep D0590007-13.
                vmware_host_storagepath - length of D0630009
                  changed to $128. This is actually the concatenation of
                  three 32+ byte worldwide names (WWN). In my data they
                  are delimited by periods but I'm not sure that will
                  always be the case so let the user parse.
                VMware.Host.Aggregate -  Add VWGCVMGU to keep list
                VMWARE.GUEST.RESCPU - ELSE removed, dropped host/guest.
                VMware.Host.CPU - Changed VWHCCPU to integer
                VMWARE.HOST.MEMORY - vwhmtotc was too large
   Thanks to Jim Quigley, ConEd, USA.

Change 30.043  RMF III dataset ZRBASI Report Class Name/Description vars
VMACRMFV       ASIRNM and ASIRDE can have hex zero values, because IBM
Apr 13, 2012   relocated the fields; SVPDCL is now 144 vs the documented
               and expected length of 76.  Now, ASIRNM is tested for hex
               zero and the INPUT moved when found true.
              -Same change made for ZRBENC for ENCRNM and ENCRDE.
              -Compatibility fix for RCDSDI field in RCD table record.
               In older versions of ASMRMFV the offset to the RCDSD
               (Subsystem Delay) section of the RCD record can be
               incorrect causing an INPUT LENGTH EXCEEDED error and
               VMACRMFV termination.  This fix recalculates the value of
               RCDSDI using other known valid fields.
              -RCD table flag variable RCDEFLAG is input as character,
               but is actually a hexadecimal value.  Format $HEX2.  is
               added for this variable for a correct display.  NOTE:
               Variable RCDSDPH contains the decoded value of RCDEFLAG
               for ease of use.
              -Compatibility fix for ASIRNM/ASIRDE variables in ZRBASI
               file and ENCRNM/ENCRDE variables in the ZRBENC file.  The
               Service Class data extension used to build these files
               can have a length of 144 bytes instead of the documented
               length of 76 bytes.  This caused VMACRMFV to input the
               following Report Class data extension incorrectly so that
               these fields had bad values.  This fix accommodates a
               length of 144 or 76 for the Service Class extension.
              -The indexing variable to input the RCDSD array entries
               was _I_ when it should have been _J_.  The _I_ subscript
               was already being actively used.
              -Length checks used to validate input for the Service
               Class and Report Class data extensions in the RCD table
               were too short.
    Thanks to Matthew Chappell, Dept. of Transport Main Roads, Australia

Change 30.042 -SMF AUDIT REPORT.  The existing _RPTID report in BUILDPDB
ANALID         is significantly enhanced, and new variables are created
FORMATS        in the PDB.SMFRECNT to provide more detail of counts and
IMACSMFF       percentages of records and bytes in your SMF data.  Each
VMACID         obs summarizes an ID.SUBTYPE (described by new $MGSMFID
VMACSMF        format), but records with Subsystem or Product Version
VMXGINIT       (DB2A V10, CICSPROD TS4.2, RMF 1.12) are reported at that
Apr 14, 2012   level of detail. Plus, all obs have the min/max SMF time,
May 12, 2012   and any compressed records (DB2,CICS) are flagged!
May 28, 2012  -The temporary WORK.ID dataset is created and summarized
Jul  4, 2012   to create the PDB.SMFRECNT used for the report, and the
May  6, 2013   new variables increase its size, but it is temporary, so
               only //WORK space is used.  For BUILDPDB, the INCREASE in
               work space required is 25 CYL per Million SMF records.
               When %ANALID(PDB=SMF) is executed standalone, 60 CYL of
               //WORK space is needed per Million SMF records.
               That small increase in BUILDPDB is because the old ID
               dataset was compressed by default when it should not
               have been; compression doubled its size (due to the small
               number of variables), but even the new ID is 9% larger if
               compressed, so the COMPRESS=NO Dataset Option is used for
               the WORK.ID dataset to minimize its space requirement.
              -If work space is an issue, you can disable creation of
               the WORK.ID dataset with %LET SMFAUDIT=ZEROID in //SYSIN.
              -If you want the original ID dataset without new variables
               and you are not changing the MACRO _KTYID, then you would
               use %LET SMFAUDIT=NO; in //SYSIN.
              -If you want to add new or drop existing variables in the
               ID dataset, or you want to change the MACRO _KTYID, you
               MUST use the SMFAUDIT=YES default, and use MACRO _KTYID
               to KEEP new or DROP old variables, and you must add the
               COMPRESS=NO option in your replacement MACRO _KTYID as
               shown below.  To create new variables, your SAS code to
               create them would be in MACRO _ETYID, as shown in this
               syntax example (and as documented in member DOCMXG):
                  %LET MACID=
                    %QUOTE(MACRO _KTYID
                                 DATE TIME
                                 DROP=SMFTIME
                                 COMPRESS=NO
                           %
                           MACRO _ETYID
                                 DATE=DATEPART(SMFTIME);
                                 TIME=TIMEPART(SMFTIME);
                                 FORMAT DATE DATE9. TIME TIME12.2;
                                 OUTPUT _WTYID;
                           %
                         );
                  %INCLUDE SOURCLIB(TYPEID);
                  RUN;
               Note that %QUOTE() must be used; %STR() fails.
              -The new Audit Report goes to PRINT by default, but it can
               be redirected to ODS, on ASCII with this //SYSIN syntax:
                %LET MACKEEP=%QUOTE(
                  MACRO _RPDBID
                   %ANALID(ODSTYPE=HTML,ODSPATH=E:,ODSFILE=ANALID.HTML);
                  %
                 );
                 %INCLUDE SOURCLIB(BUILDPDB);
               or on z/OS, you would use this syntax:
                %LET MACKEEP=%QUOTE(
                  MACRO _RPDBID
                   %ANALID(ODSTYPE=HTML,ODSPATH=MY.PDSE,ODSFILE=ANALID);
                  %
                 );
                 %INCLUDE SOURCLIB(BUILDPDB);
              -You can also produce the SMF AUDIT REPORT directly from
               an SMF file using:
                 %ANALID(READSMF=YES,PRINT=YES,PERCENTS=YES,PDBOUT=PDB)
               to create all reports and the PDB.SMFRECNT dataset, and
               additional arguments ODSTYPE=,ODSPATH=,ODSFILE= can be
               specified on the %ANALID invocation for ODS/HTML output.
              -VMACSMF was revised to create variable SUBSYSTEM for DB2,
               CICS, MQ records (100-102,110,115-116), for 26's (JES2/3)
               for 30s (JES3,TSO,STC,OMVS,etc.), for 6's (JES2/JES3/EXTW
               PSF/PRINTWAY/CADI/BUNDLE/SAR/EXD), and PRODVERSION for
               DB2 (V10), CICS (TS/4.2), RMF (ZV011300), and MQ (7.10).
               This means that those variables are populated when the
               IMACFILE/&IMACFILE exit is taken, so you can use them to
               select those records by SUBSYSTEM/PRODVERSION either for
               MXG processing, or if you want to write SMF records out
               to a separate SMF file; see comments in IMACFILE.
               Note May 6 2013: other attributes, such as COMPRESSED and
               DB2 ACCUMAC status have been added to the report but this
               text may not always be timely.
              -Format $MGSMFID maps IBM SMF TYPE numbers and Subtype to
               describe each record/subtype.  User SMF records will be
               counted by ID and subtype (if the subtype bit is on in
               the USER record's SMF header), but with no explanation,
               or counted just by ID if the subtype bit is NOT on in the
               USER SMF record, but you can create your own description
               of USER SMF record that will be added to $MGSMFID format
               by using the IMACSMFF member in your tailoring library,
               following it's comments for syntax of your USER records.
               After you SAVE your IMACSMFF member into your tailoring
               library, you then need to update the MXG format library
               by running
                   //LIBRARY DD DISP=OLD
                   %INCLUDE SOURCLIB(FORMATS);
               which will update the MXG Format Library.
               If you can not update the site's format library, you
               can create this new format in a separate dataset and
               use OPTIONS FMTSEARCH=(MYLIB LIBRARY); in the ANALID job.
              -Macro variable SMFAUDIT is defined in VMXGINIT.
              -To summarize the overall options:
                 READSMF=YES  read SMF, create WORK.ID or PDB.ID, create
                              PDB.SMFRECNT, delete WORK.ID or keep
                              PDB.ID.
                 READSMF=NO   read WORK.ID/PDB.ID, create PDB.SMFRECNT,
                              delete WORK.ID or keep PDB.ID.
                 PRINT=ONLY   read only PDB.SMFRECNT to print report.

              -This rewrite of the _RPTID report was precipitated by:
                 The previously posted error that caused LARGE INCREASE
                 in elapsed run time when BUILDPDB had any output "PDB"
                 data libraries (//PDB, //CICSTRAN, //DB2ACCT, etc.) on
                 on tape or in sequential format.
                 That error is corrected in this change.
                 But, to document the error and a circumvention:

                 VERY long elapsed times in BUILDPDB if output PDB data
                 libraries (//PDB, //CICSTRAN, //DB2ACCT) are on TAPE:
                 PROC SQL reads the DICTIONARY.COLUMNS internal dataset,
                 but if any LIBNAME is on tape, the ENTIRE tape is read.
                 Site with 35 million CICSTRAN observations on tape took
                 3.5 hours to read SMF and then spend 3.1 hours in this
                 PROC SQL, just to create the report of ID counts; this
                 problem was introduced in MXG 29.03, Change 28.089.
                 If you do not have MXG 30.02 with this Change 30.042,
                 this Circumvention eliminates long elapsed times:
                   Insert this statement
                     %LET MACKEEP=  MACRO _RPDBID  _RPDBIDO  %  ;
                   in your //SYSIN DD input, or this macro definition
                     MACRO _RPDBID  _RPDBIDO  %
                   in your IMACKEEP tailoring member. This will revert
                   the SMF TYPE report to only count records.
              -This change replaced PROC SQL with %VMXGOBS to correct
               the elapsed run time error, and all other uses of PROC
               SQL with DICTIONARY.COLUMNS have a specific LIBNAME, so
               they had no exposure.
   Thanks to Jim Hayes, Huntington National Bank, USA.
   Thanks to Marty Pruden, Purina Nestle, USA.
   Thanks to Michael Rhoades, Purina Nestle, USA.
   Thanks to Michael Oujesky, Bank of America, USA.
   Thanks to MP Welch, SAS Institute, USA.

Change 30.041  Support for EMC EzSM (z/OS Storage Manager) SMF record.
EXEZSM01       Preliminary support - problems in record have opened a
EXEZSM02       discussion with the vendor, but still no response when
EXEZSM03       MXG 30.02 was created.
EXEZSM04
EXEZSM05
EXEZSM06
EXEZSM07
IMACEZSM
TYPEEZSM
TYPSEZSM
VMACEZSM
VMXGINIT
Mar  7, 2012

Change 30.040 -Variable DOWNTM was a missing value in PDB.IPLS dataset
VMAC0          after Change 29.032 used only ID=90 ST=8/10 to identify
VMAC90A        a true system IPL; the DOWNTM=IPLTIME-PREVTIME was not
VMACSMF        calculated for subtype 10 and the operator entered DTIME
Mar  9, 2012   value was incorrectly used for the subtype 8 IPL PROMPT.
              -Examination of events at a true IPL show that SMF records
               0 8 22 90 are written prior to the IPL event, and ID 2,3
               can be written on other systems at other times, so these
               records are all NOT used to set PREVSYS/PREVTIME.
              -VMAC90A was updated to contain DOWNTM and IPLTIME in the
               TYPE9008 and TYPE9010 datasets, for consistency.
              -Dataset PDB.IPLS was revised to contain the old variables
               from the ID=0, even though it is created from ID=90/8-10.
   Thanks to Jorge Fong, NYC Information Technology, USA.

Change 30.039  NDM-CDI record 'XO' caused "UNKNOWN SUBTYPE" log messages
VMACNDM        because 'XO' was not in the test for supported subtypes,
Mar  6, 2012   but code was in place to output them in NDMDT dataset, as
               it is the same record structure.  Now, they are output.
   Thanks to Betty Wong, Bank of America, USA.

Change 30.038  Support for DB2 IFCIDs 357 and 358; those datasets are
VMAC102        now populated with the IFCID-specific variables.
Mar  6, 2012
   Thanks to Terry L. Berman, DST Systems, USA.

Change 30.037  Support for BMC APPTUNE V6R3 SMF 102 records (INCOMPAT).
VMAC102        These numeric variables were increased from 2 to 4 bytes
Mar  6, 2012   causing mis-alignment of all subsequent variables:
                 QBMCSCTN QBMCSTMT QBMCSOPN QBMCOPNN
               and these two new variables are inserted and now input:
                 QBMCTXTH='SQL*TEXT*HASH'
                 QBMCIMPK='IMPLICIT*QUALIFIER*KEY'
               and QBMCSQID QBMCIMPQ contain ASCII rather than EBCDIC.
               BMC APPTUNE ID=102 IFCIDS are 8004x-800Bx & 8133x-8136x.
               Only the 8133x record has been validated.
   Thanks to Christa Neven, KBC, BELGIUM.

Change 30.036  On the first day of the month, the MTD value was
VMXGALOC       calculated correctly but the MONTH value was the prior
Mar  2, 2012   month.
   Thanks to Ruth Larsen, Computer Associates, USA.

Change 30.035  RSD/FOLDERS name fields were increased to $250, causing
VMACRSDA       the AUDDNAME and other AUDDxxxx fields to be missing as
Mar  2, 2012   those fields were located after the AUDFxxxx variables.
   Thanks to Christa Neven, KBC, BELGIUM.
   Thanks to Marc Heremans, KBC, BELGIUM.

Change 30.034  VMXGGETM is used to select SMF records by ID and SUBTYPE,
VMXGGETM       but only supported 512 subtypes; BMC's APPTUNE product
Mar  2, 2012   creates SMF 102 records with IFCIDS 8000x to 8136x which
               caused VMXGGETM to fail with ARRAY ERROR.  This change
               increases the array to support 33078 (8136x) to protect
               the BMC records, keeping the REGION size to about 84MB.
               (VMXGGETM is also used in JCLTESTx to create SMFSMALL, so
               I don't want new users to die with insufficient REGION in
               their first MXG test job.  Setting the array size to the
               max possible 65536 for the two-byte field needed 150MB.)
   Thanks to Christa Neven, KBC, BELGIUM.
   Thanks to Wim Hermans, KBC, BELGIUM.

Change 30.033  Cosmetic.  Missing value calculation for PHSTARTM when it
VMAC110        was missing is protected for ID=110 MNSEGCL=5 Resource
Mar  1, 2012   Record (dataset CICSRDS).
   Thanks to Tom Buie, Southern California Edison, USA.

Change 30.032 -Stored LENGTH of QWHxxxxx variables now $128 in DB2ACCT.
VMACDB2        This text was re-written Mar 27, but no code was changed.
VMACDB2H       These DB2 Variables are all now stored as LENGTH $128:
Feb 29, 2012     QLACLOCN QLSTLOCN QMDALOCN QPACAANM QPACASCH QPACCOLN
Mar  4, 2012     QPACLOCN QPACPKID QWHCAID  QWHCCTKN QWHCEUID QWHCOAUD
Jun  8, 2012     QWHCOPID QWHCROLE QWHCTCXT QWHDRQNM QWHDSVNM QWHSLOCN
Oct  3, 2012   because IBM has increased those lengths (history below)
Mar 28, 2013   and now many of these variables do contain more than
               eight bytes, especially if you have distributed systems
               with those long open-system name fields.
               But with the (MXG DEFAULT) COMPRESS=YES option enabled,
               these stored lengths can be increased, so no data values
               are truncated, without significant DASD space increase,
               since most of those nine-plus bytes are still blank.
              -However, you can change those lengths if, for example,
               the CPU cost of compress is more expensive than the DASD
               disk space cost. See NEWSLETTER SIXTY, Section VI.7,
               in member NEWSLTRS for the complete documentation in
               "Changing the length of MXG variables", which shows
               this syntax can be used (only) for character variables.
                 //SYSIN DD *
                  %LET MACFILE=
                    %QUOTE( LENGTH
                            VAR1 VAR2 VAR3
                            $8 ;
                           );
                  %INCLUDE SOURCLIB(whatever);
               Some History:
               In 2004, IBM increased the length of several fields and
               MXG Change 22.196 in 2004 increased INPUT to $128 for
                 QWHSLOCN QWHCAID QWHCOPID QWHCEUID QWHDRQNM QWHDSVNM
               but that change noted that they were not stored as $128,
               because in 2004 some MXG sites still had SAS V6 that did
               not support COMPRESS=YES, which is required to increase
               stored length without DASD increases (as most bytes are
               still blanks).
               Sometime after 2004, IBM increased header variables
                 QWHSLOCN and QWHDSVNM and MXG increased INPUT length.
               MXG Change 24.136 in 2006 increased these INPUTs to $128
                 QWHCAID  QWHCOPID QPACCOLN QPACLOCN QPACPKID
                 QLACLOCN QLSTLOCN QMDALOCN QWACNID
               This change, 30.032 increased these INPUTs to $128
                 QWHCEUID QWHCTCXT  QWHCROLE QWHCOAUD QWHDRQNM
                 QPACASCH QPACAANM
               This change, 30.032 increased the stored lengths of all
               of the DB2 variables listed above that were not already
               kept as $128.
              -Note added Jun 8:  Some DB2 fields can contain an IP
               address, Port Number, and a timestamp in this format:
                 162.123.25.218.44485.120605112901
                 -------------- ----- ------------
                   |             |     |
                   |             |     |-- Unique field ( timestamp real
                   |             |
                   |             |-- Port address
                   |
                   |- Requester IP Address
               One example is QWHCCTKN the new Correlation Token in V10.
              -Note added Oct 3, 2012: QWHCCV was restored to $12 by
               Change 30.200.
              -DB2 variable QWHDRQNM can now contain an ipv6 address,
               which is longer than the default kept $16 length, causing
               right-most characters to be truncated.  Change 22.196 in
   Thanks to Fred Wondra, Balboa Insurance, USA.
   Thanks to Mark Nakatani, WiPRO, USA.
   Thanks to Jim Meurer, Transamerica, USA.

Change 30.031  Requesting IFCIDS=ACCOUNT with IFCIDS from SMF 102 could
READDB2        cause zero observations in some or all of the T102Snnn
VMXGDEL        datasets that were requested.  This error was in 29.29
Feb 24, 2012   and probably earlier MXG READDB2s.
Mar  4, 2012  -Cosmetic.  READDB2 accepts IFCIDS=1 or 2 for STATISTICS
               and 3 for ACCOUNT and prints all selected IFCIDS in its
               feedback list of what will be selected by READDB2.
               Requesting ACCOUNT processes IFCIDs 3 and 239.
               Requesting Statistics processes IFCIDs 1 2 202 225 230.
              -A strange compiler error, only in SAS V9.2, inserted a
               blank when MACRO _LDB2PAT &PDBOUT..DB2GBPAT % was at the
               bottom of that list of macro definitions, causing compare
               of WORK .DB2GBPAT with WORK.DB2GBPAT to be different, so
               VMXGDEL incorrectly deleted that dataset. Relocating that
               one line to the top of the list of MACROs happened to
               circumvent the error, but that was far too fragile, since
               another line relocation could reinstate the error, and as
               VMXGDEL is the only part of MXG that does exact compares
               of dataset macro tokens that could be impacted by a blank
               after the DDNAME/LIBNAME, it now removes the blank.
   Thanks to Christopher Bray, Experian Information Solutions, USA.

Change 30.030  Variable VMDSTATE is now decoded by $MGVXADS format.
FORMATS            VALUE $MGVXADS
VMACVMXA           '00'X='00X:IDLE'
Feb 23, 2012       '08'X='08X:SUSPENDED'
                   '2C'X='2CX:UNKNOWN'
                   '37'X='37X:TEST IDLE'
                   '42'X='42X:READY FOR SELECTION'
                   '4D'X='4DX:SELECTED FOR PROCESSING'
                   '58'X='58X:REVIEW IDLE'
                   '63'X='63X:REVIEW SUSPENDED'
                   OTHER=?< $HEX2. ?>
                   ;
   Thanks to Joe Faska, Depository Trust, USA.

Change 30.029  ODS macro enhanced with USERTEXT= argument so you can add
VMXGODSO       options to the generated ODS statement.
Feb 23, 2012

Change 30.028  RMF III dataset ZRBASI Report Class Name/Description vars
VMACRMFV       ASIRNM and ASIRDE can have hex zero values, because IBM
Feb 23, 2012   relocated the fields; SVPDCL is now 144 vs the documented
               and expected length of 76.  Now, ASIRNM is tested for hex
               zero and the INPUT moved when found true.
              -Same change made for ZRBENC for ENCRNM and ENCRDE.

Change 30.027  Variable SM1209BM, WebSphere Version Number, defaulted to
VMAC120        length $7 from the original equation, but as it can now
Feb 22, 2012   have a value of '7.0.0.15', its length is now set to $8.
   Thanks to Rudolf Sauer, T-Systems International GmbH, GERMANY

Change 30.026  %UTILCPLG will copy your .LOG and .LST files, adding the
UTILCPLG       date-time into the new file name, when you run MXG on
Feb 17, 2012   Windows or Unix platforms in BATCH execution, so you can
               archive and identify each MXG job's log/list files.
               The %UTILCPLG; statement must be the last statement in
               your xxxxxxxx.sas batch program; the log filename will be
               xxxxxxxx-16FEB12-19-51.LOG.  The new named files are kept
               in the execution directory by default, but arguments let
               you store them in other destinations.
   Thanks to Chip Parsons, Ingram Books, USA.

Change 30.025  Support for TMON for MQ Version 2.2/2.3/2.4 INCOMPATIBLE.
VMACTMMQ       All three version's LMRKVRSN field changed from binary to
Feb 16, 2012   EBCDIC.  Version 2.4 changed the fixed offset of @37 to
Feb 24, 2012   @81 but that was NOT documented. The actual data segments
Mar  1, 2012   content was not changed in these three iterations, and
Mar  5, 2012   only Version 2.2 and 2.4 have been validated with data.
              -ASG TMON for MQ variables REGNTIME,QAINTS,QAINTE,QAOPENTM
               and QACLOSTM were all on the GMT clock, while all other
               datetimestamps are on the LOCAL clock.  This change uses
               the ENDTIME (LOCAL) and the REGNTIME (GMT) to calculate
               the GMT offset (REGNTIME can be scores of milliseconds
               later than ENDTIME due to differing resolutions):
                 GMTOFFTM=100*FLOOR((REGNTIME-ENDTIME+10)/100);
               and then the GMT datetimes are converted to LOCAL using
                 REGNTIME=REGNTIME-GMTOFFTM;
              -The label for REGNTIME was wrong; it is corrected to be:
                 REGNTIME='DACLK*WHEN RECORD*WAS WRITTEN'
   Thanks to Homayoun Riazi, UHC, USA.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Michael Ellingson, UHC, USA.
   Thanks to James D. Lieser, UHC, USA.

Change 30.024  New format MG073FE decodes SMF73GEN and R79CGEN FICON
FORMATS        Express "Generation", precipitated by Martin's MXG-L post
VMAC73         and Pat's update request and Brian's reminder to include
VMAC79         79's, with some values below provided by Cathy.
Feb 17, 2012   Dec 2:  IBM confirmed reports print the hex value, so MXG
Nov  5, 2012   now formats SMF73GEN as hex to be consistent with that
Dec  2, 2012   undocumented-by-IBM design, but RMF Level 2 has NOT been
               able to document if any of the unknown values below exist
                  01X='01X:FEX OP@1GBPS'
                  02X='02X:FEX OP@2GBPS'
                  03X='03X:FEX2/FEX4 AUTO@1GBPS'
                  04X='04X:FEX2/FEX4 AUTO@2GBPS'
                  05X='05X:FEX4 OP@4GBPS'
                  06X='06X:????'
                  07X='07X:FEX8 AUTO@2GBPS'
                  08X='08X:FEX8 AUTO@4GBPS'
                  09X='09X:FEX8 OP@8GBPS'
                  0AX='0AX:????'
                  0BX='0BX:????'
                  0CX='0CX:????'
                  0DX='0DX:????'
                  0EX='0EX:????'
                  0FX='0FX:????'
                  10X='10X:????'
                  11X='11X:FC_S'
                  12X='12X:????'
                  13X='13X:FC_S*FICON EXPRESS8S'
               Nov 5: Decimal value 17 and 19 were found by IBM's Martin
               Packer although others in IBM support are apparently not
               aware of those undocumented values.
               Dec 2: APAR OA40204 reports 'FC_?' or blank value may be
               printed for channels dynamically added; restart of the
               RMF address space will correct to FC_S.
               Dec 11: IBM RMF Level 2 confirmed that RMF reports show
               value '13' unexplained for FICON Express 8S so the MXG
               format was expanded to include that descriptions in the
               FORMATS member and above.
   Thanks to Dr. H. Pat Artis, Performance Associated, USA.
   Thanks to Brian Currah, Independent Consultant, CANADA.
   Thanks to Martin Packer, IBM, ENGLAND.
   Thanks to Cathy Cronin, IBM, USA.
   Thanks to Linda Berkeley, DISA, USA

Change 30.023  A third-party product creates invalid DB2 ID=101 records.
VMACDB2        MXG's error message cites 1994's Change 12.220 and APARs,
VMACSMF        because IBM made the same error (IFCID=239 as subtype 0
Feb 14, 2012   versus correct subtype=1) back then.  This change reads
               the DB2 Header and uses the IFCID to set the SUBTYPE for
               ID=101 to circumvent the product's error, so the customer
               won't have to wait for their vendor to fix their record.
               The error occurs in both DB2 V9.1 and DB2 V10.1 records;
               in V10.1, IBM (finally!) populates the first byte of the
               SMF header for ID=100/101 with the "record has subtypes"
               bit, but that enhancement was not made in this product.
               The MXG customer chose to not identify the third-party.
               March 7: MXG customer reports vendor corrected the error.
               But this change is robust and will be left in place.
               July 27: See Change 30.137.  This change was NOT robust!

Change 30.022  Cosmetic.  Format $MGDB2PK was associated with variable
VMACDB2        QPACAAFG but was lost in 29.29 and 30.01.  It is restored
Feb 14, 2012   now but FORMAT QPACAAFG $MGDB2PK.; can be used in your
               DB2 reports to "print pretty".
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

====== Changes thru 30.021 were in MXG 30.01 dated Feb 13, 2012=========

Change 30.021 -Numerous updates for processing RACF Unload under ASCII.
EXRAC130       Variables input as $EBCDIC should have been $CHAR in 0500
EXRAC207       and later records; double-question-mark protection for
EXRAC208       missing values has been added.
EXRAC280      -New ACCOUNT variable is created in RACF0220 and RACF0260
EXRAC2B0       as length $40 containing both ACCOUNT1 and ACCOUNT2.
EXRAC508      -Structural support for new RECTYPE values defines all the
EXRAC5B0       macros and creates/updates the members to create datasets
IMACRACF       for 0130,0207,0208,0280,02B0,0508 and 05B0, but in this
VMACRACF       iteration, none of those records are yet decoded; only
VMXGINIT       variable ZDATE is kept in those new datasets.
Feb 12, 2012
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

Change 30.020  Support for MacKinney Systems VTAM SWITCH USER SMF RECORD
EXVTSW01       creates these four datasets:
EXVTSW02         DDDDDD     DATASET   DESCRIPTION
EXVTSW03
EXVTSW04         VTSW01     VTAMSW01  USER SIGNON EVENT
IMACVTSW         VTSW02     VTAMSW02  USER SIGNOFF EVENT
TYPEVTSW         VTSW03     VTAMSW03  SESSION START EVENT
TYPSVTSW         VTSW04     VTAMSW04  SESSION STOP EVENT
VMACVTSW       This support has not yet been data-validated.
VMXGINIT
Feb 10, 2012
   Thanks to Eric R. Carlson, Kroger

Change 30.019  Cosmetic.  Both members incorrectly had RACFIN as the DD
TYPERACF       name, but the correct DDNAME was always IRDBU00 to read
TYPSRACF       the unloaded RACF Database, as that is also the program
Feb 10, 2012   name used to create the unloaded file.
   Thanks to Donald Williams, UNC Health Care System, USA.

Change 30.018 -Cosmetic, but confusing.  The label for TYPE4224 variable
VMAC42         AORMEMNM contained "RENAMED" but the corrected label and
Feb  9, 2012   events are AORMEMNM='ADDED OR*REPLACED*MEMBER*NAME'.
              -New variable ADDREPLA contains A or R for ADD/REPLACED.
              -Dataset TYPE4225 is created for RENAMEs.
   Thanks to Joe Kimberly, Yellow Freight, USA.

Change 30.017  MXG 29.29 ITRM.  ERROR: DATASET DB2ST225 IS NOT SORTED.
DOC            ITRM SAS Note 45583 documents the error and ultimate fix,
Feb  9, 2012   but it is circumvented, simply, by inserting
                 %LET EPDBOUT=_SDB2225;
               as the first statement in your //SYSIN DD.

Change 30.016  RMF III dataset ZRBLCP did not remove duplicates when it
VMACRMFV       was sorted; variables LPARNAME LPARNUM LCPUADDR were
Feb  8, 2012   added at the end of MACRO _BZRBLCP to correct.
   Thanks to Wayne Bell, UniGroup, USA.

Change 30.015  MXG 29.29.  JCL Proc examples had a trailing comma on the
MXGSAS         new (unused, for the future) //MXGTEMP DD statement that
Jan 24, 2012   needed to be removed.

Change 30.014 -Support for APAR OA33947/OA339448 which adds four fields
ASUMTAPE       to the TYPE21/PDB.TAPES (tape dismount) dataset:
VMAC21            SMF21MCR='BYTES*READ*BY*CHANNEL'
Feb  8, 2012      SMF21MCW='BYTES*WRITTEN*BY*CHANNEL'
                  SMF21MDR='BYTES*READ*BY*DEVICE'
                  SMF21MDW='BYTES*WRITTEN*BY*DEVICE'
              -ASUMTAPE was enhanced to also add these four variables,
               plus SMF21CRR and SMF21CRW to PDB.ASUMTAPE.
              -These fields exist with the APAR (record is longer), but
               they are only populated for IBM System Storage TS1140
               Tape Drive, device type 3592 Model E07, which has three
               new 3592 media types (MEDIA11/12/13) and two new
               recording formats EFMT4 (enterprise format 4) and EEFMT4
               (enterprise encrypted format 4).  MEDIA11/MEDIA12 have a
               non-compressed capacity of 4000 GB and MEDIA13 500 GB.
   Thanks to Scott S. Throckmorton, SPRINT, USA.
   Thanks to John A. Napuarno, SPRINT, USA.

Change 30.013  If you specified RUNWEEK=YES on zOS you may have gotten
BLDSMPDB       an MXGWARN message about overlaying weekly datasets. If
Feb  8, 2012   you are using fixed allocations for your weekly datasets
               this is normal and can be ignore but, if you are using
               GDGs (recommended) and/or putting the weekly to tape it
               is not needed.  BLDSMPDB now looks (on zOS) to see if
               you specified WEEKTAPE=YES or are writing to a GDG and
               then suppresses the copying of the weekly PDBs.
   Thanks to Peter Farrell, Commerce Bank of Kansas, USA.

Change 30.012  Cosmetic.  Removal of the annoying and useless SAS note
VGETOBS        RUN STATEMENT HAS NO EFFECT ON PROC SQL, by the insertion
Feb  8, 2012   of a QUIT statement after each PROC SQL. Members touched:
                  VGETFMT  VGETLABL VGETLEN VGETLIBS VGETOBS  VGETVAR
                  VMXGCNFG VMXGDSNL VMXGENG VMXGLBIN VMXGOPTR VMXGPPDS
                  VMXGUOW  ANALID
   Thanks to Nick Johns, Sainsbury's Supermarkets Ltd, ENGLAND.

Change 30.011  CRITICAL ERRROR FOR JES3 BUILDPD3 users with MXG 29.29:
BUIL3005       Line 483 in BUIL3005 MUST BE CHANGED TO (MULTIDD=' ').
Feb  8, 2012   That line in 29.29 had MULTIDD='Y' which caused the PDB
               library datasets PDB.JOBS/PDB.STEPS/PDB.PRINT to all be
               COMPLETELY WRONG. Change 29.263 correctly made the change
               to the BUILD005 member for JES2 but was reversed in the
               JES3 BUIL3005 member.
   Thanks to Rob Hermes, Sentry Insurance, USA.

Change 30.010  Variable STFBIT06 was incorrectly set equal to STFBIT05.
VMAC7072       Variable STFBIT07='SMF70GAU*VALID?' is created and kept.
Feb  8, 2012
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 30.009 -Support for SMF 119 Subtype 6 z/OS 1.13 INCOMPAT. Doesn't
VMAC119        cause an error, but values in 2nd and subsequent segments
VMXGIPV6       are trashed because MXG did not protect for a change in
Jan 31, 2012   length of the subtype 6 record.
Feb  7, 2012  -Subtype 2 TTAPLDAT variable supported.
Jul 12, 2012  -Support for all IPV6 addresses in TYPE119 datasets, using
               the VMXGIPV6 %macro to convert the $CHAR16 hex field into
               the 39-character format. Some IPV6 addresses did exist in
               variables with names ending in 6, but this new suite of
               variable's names end with IPV6.
              -Only these SMF 119 subtypes have been validated with data
                  1,2,3,5,6,7,10,20,21,70 and 72.
              -The subtype 2 record has an old note suggesting that
                 Because this information duplicates all information
                 contained in the TCP connection initiation (subtype 1)
                 record, only collect the TCP connection termination
                 record (subtype 2).
              -Jul 13:  Variable UCLIPV6 was not kept until now; it was
               incorrectly spelled UCLIPB6 but could be added using
               _KT11910.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
   Thanks to Robert Hamilton, Chemical Abstracts Service, USA.
   Thanks to Jose Neto, Public Authority Civil Info, KUWAIT.
   Thanks to Arylon Brooks, Verizon Wireless, USA.
   Thanks to Scott S. Throckmorton, SPRINT, USA.

Change 30.008  CICS/TS 4.2 ERROR INVALID STILEN for STID=116 Statistics
VMAC110        record was an MXG coding error exposed by the 156 bytes
Jan 31, 2012   of new data that MXG had overlooked, causing the CICSJS
               dataset to have no observations created, and possible MXG
               skipping subsequent statistics segments in that record.
               New variables added to CICSJS dataset are:
                 SJSGCPOL='GC*POLICY'
                 SJSHEAPC='CURRENT*HEAP'
                 SJSHEAPI='INITIAL*HEAP'
                 SJSHEAPM='MAXIMUM*HEAP'
                 SJSHEAPO='HEAP*OCCUPANCY'
                 SJSHEAPP='PEAK*HEAP'
                 SJSHVMCL='JVM*CREATION*DATETIME*LOCAL'
                 SJSJVMCG='JVM*CREATION*DATETIME*GMT'
                 SJSMAJCP='TOTAL*CPU IN*MAJOR*GC'
                 SJSMAJFR='STORAGE*FREED*BY*MAJOR GC'
                 SJSMAJGC='MAJOR*GC*COLLECTIONS'
                 SJSMINCP='TOTAL*CPU IN*MINOR*GC'
                 SJSMINFR='STORAGE*FREED*BY*MINOR GC'
                 SJSMINGC='MINOR*GC*COLLECTIONS'
                 SJSSYTHN='NR WAITING*ON*SYS*THREAD'
                 SJSSYTHP='PEAK*WAITING*ON SYS*THREAD'
                 SJSSYTHU='SYSTEM*THREAD*USE*COUNT'
                 SJSSYTTM='TOTAL*WAIT*SYSTEM*THREAD'
                 SJSSYTCN='WAITS ON*SYSTEM*THREAD'
   Thanks to Thomas H. Puddicombe, CSC, USA.

Change 30.007  PMSTA01/PMSTA02 DB2 Statistics reports with INTERVAL=DATE
ANALDB2R       created multiple observations for each date because SHIFT
VMXGDBSS       was in the SUMBY= list in VMXGDBSS.  That SUMBY argument
Jan 29, 2012   is now a parameter with the current default values and
               uses the new parameter in ANALDB2R when required by the
               requested INTERVAL value. Also, errors in page numbering
               were cosmetic - no data was skipped - just page numbers
               were, due to an extra LINK in the heading routine.
   Thanks to Charles Savikas, DCF, State of Florida, USA.

Change 30.006  Support HSM USER SMF changes (COMPATIBLE) in z/OS 1.12.
VMACHSM       -Dataset HSMDSRST:
Jan 29, 2012    DSRFRBKT DSRFRBKF DSRFRRCT DSRFRRCF
              -Dataset HSMFSRBO:
                FSRF9ATT FSRSRCDV FSRRETDY FSRDLMD  FSRDLUD  FSRBDATE
                FSRDATRD FSRDLMD  DSRDATED
              -Dataset HSMFSRST:
                FSRF9ATT FSRSRCDV FSRRETDY
                FSRDLMD  FSRDLUD  FSRBDATD FSRDATRD FSRDLMD
              -Dataset HSMVSRST:
                VSRFRBKT VSRFRBKF VSRFRRCT VSRFRRCF VSRDATED
              -Dataset HSMWWFSR:
                WFSRCONT WFSRDATR WFSRRMTS WFSRDATE WFSRDATS WFSRRSTS
                WFSRRETS WFSRXMNT WFSRHOST WFSRF9AT
              -These existing variables still contain julian date values
                 DSRDATE  FSRDLM   FSRDLU   FSRBDATE FSRDATR  VSRDATE
               but new corresponding SAS DATE variables are now created
               with DATE9. format (prints 29JAN2012) for prettiness and
               so they can be directly subtracted for delta-days:
                 DSRDATED FSRDLMD  FSRDLUD  FSRBDATD FSRDATRD VSRDATED
               These date variables were never kept; they are now kept
               and are now SAS Date Variables with DATE9. format.
                 WFSRDATR WFSRDATS WFSRDATE
               Variable FSRDATE is always missing; it was sometimes
               missing and sometimes 0 (which printed 01JAN1960).
              -Datasets HSMFSRTP and HSMWWVOL had no observations so
               they have not been validated.
   Thanks to Randall R. Schlueter, First Data Corporation, USA.

Change 30.005  If you used UTILBLDP to create your BUILDPDB code and
UTILBLDP       you used the MXGINCL parameter to include members that
BLDSMPDB       were not in the default list, they were ignored.  Now
Jan 29, 2012   they will not be ignored.  They can alternatively be in
               the INCLAFTR= parameter (where they wouldn't have been
               ignored).  When BLDSMPDB used the output of UTILBLDP as
               as the source of the BUILDPDB code, it didn't use the
               AUTOINC= parameter, but now it does.  With this change
               members can be included after the BUILDPDB step from one
               one of these three parameters:
               UTILBLDP - MXGINCL or INCLAFTR
               BLDSMPDB - AUTOINC
               But, if the same member appears in more than one it will
               be executed more than once.
              -MXGINCL should primarily be used to remove these members
               that are automatically included:
                 ASUMUOW  ASUMCICX ASUM70PR ASUMCACH ASUMTAPE
                 ASUMTMNT ASUMTALO ASUMDBAA ASUMDBSS
               One or more can be removed if you choose.  The same is
               true of the AUTOINC parameter in BLDSMPDB, but when you
               build the BUILDPDB code with UTILBLDP, that parameter is
               not used.
   Thanks to Peter Farrell, Commerce Bank of Kansas, USA.

Change 30.004  Some FICON-related variables values were wrong in TYPE73.
VMAC73         RMF documentation implied that DURATM should be used for
Jan 27, 2012   the interval duration, but the Channel Path Measurement
               Interval SMF73PTI should have been used, and subtraction
               from EOC and ETC were also wrong. Fortunately, the input
               variables to these calculated variables are in dataset
               TYPE73 so they can be recalculated with this SAS code:
                 CHFRATE=SMF73EOC/SMF73PTI;
                 IF SMF73EOC GT 0 THEN CHFACTV=SMF73EOS/SMF73EOC;
                 ELSE SMF73EOC=.;
                 CHFDFER=SMF73EOD/SMF73PTI;
                 CHFXRATE=SMF73ETC/DURATM;
                 IF SMF73ETC GT 0 THEN CHFXACTV=SMF73ETS/SMF73ETC;
                 ELSE SMF73ETC=.;
                 CHFXDFER=SMF73ETD/SMF73PTI;
               without rebuilding the TYPE73 dataset from SMF records.
               And the RMF documentation will (hopefully) be revised.
   Thanks to Steve Olenik, IBM System z Processor Performance, USA.

Change 30.003  Spurious XAM INVALID CPU RECORD messages were due to a
VMACXAM        mislocated SKIP=0; statement if SEGLEN=100.  This MXG
Jan 27, 2012   error caused XAMCPUBY to have only one observation.
   Thanks to Robert Obee, IMSHealth, USA.

Change 30.002  Change 29.238 typo in line 250:
VMACM204        IF ID= _M204LOG OR _IDM204L  THEN DO;
Jan 27, 2012   was corrected to
                IF ID= _M204LOG OR ID= _IDM204L  THEN DO;
               So that the correct Model 204 dataset was output.
   Thanks to Steve Bagshaw, Marks & Spencer, ENGLAND.

Change 30.001  MXG Format MGD319F had reversed decoding the Encryption
FORMATS        type.  The correct values are: '00'X:DES, '40'X:AES.
VMAC102       -Variable QW0319UR is created from first bit of QW0319FL,
Jan 25, 2012   QW0319FLL is now used for the input of QW0319FL (so that
               any new bits are available), and QW0319FL will be either
               '00'X or '40'X (unless IBM changes its definition).
   Thanks to Jason Bierman, Great Lakes Educational Loan Services, USA.

LASTCHANGE: Version 30.
=========================member=CHANGE29================================
 /* COPYRIGHT (C) 1984-2012 MERRILL CONSULTANTS DALLAS TEXAS USA */

        MXG Version 29.29 is  dated Jan 23, 2012, thru Change 29.307.
Second  MXG Version 29.29 is  dated Jan 18, 2012, thru Change 29.301.
First   MXG Version 29.29 was dated Jan 17, 2012, thru Change 29.298.
        MXG Version 29.09 was dated Jan  4, 2012, thru Change 29.291.
        MXG Version 29.08 was dated Dec 20, 2011, thru Change 29.284.
        MXG Version 29.07 was dated Nov 24, 2011, thru Change 29.262.
Second  MXG Version 29.07 was dated Nov 21, 2011, thru Change 29.259.
First   MXG Version 29.07 was dated Nov 14, 2011, thru Change 29.253.
        MXG Version 29.06 was dated Sep  8, 2011, thru Change 29.204.
First   MXG Version 29.06 was dated Sep  1, 2011, thru Change 29.198.
        MXG Version 29.05 was dated Jul 11, 2011, thru Change 29.151.
        MXG Version 29.04 was dated May 17, 2011, thru Change 29.116.
Final   MXG Version 29.03 was dated Apr 19, 2011, thru Change 29.094.
First   MXG Version 29.03 was dated Apr 11, 2011, thru Change 29.086.
Early   MXG Version 29.03 was dated Apr  4, 2011, thru Change 29.077.
        MXG Version 29.02 was dated Mar  1, 2011, thru Change 29.050.
        MXG Version 29.01 was dated Feb  4, 2011, thru Change 29.022.
First   MXG Version 29.01 was dated Feb  3, 2011, thru Change 29.020.
Annual  MXG Version 28.28 was dated Jan 18, 2011, thru Change 28.331.
        MXG Newsletter FIFTY-SEVEN is dated Jan 18, 2011.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 29.29 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 29.29.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

=======================================================================


I.  MXG Version 29.29 dated Jan 23, 2012, thru Change 29.307.

    Major enhancements added in MXG 29.29, dated Jan 23, 2012

  TYPEIMS  29.307  Support for IMS Version 12: Adds ZIIP/ZAAP CPU times.
  RMFINTRV 29.305  INTERVAL=SHIFT generated warnings & incorrect output.
  TYPETMS5 29.304  USER ABEND 1234 can be bypassed for TMSCLEAN input.
  IMACICRD 29.302  Comment within comment block if default used.

    Major enhancements added in MXG 29.29, dated Jan 18, 2012

  TYPENDM  29.301  Old Version 4.7 "PS" record INPUT STATEMENT EXCEEDED.
  TYPERMFV 29.300  Wrong ASMRMFV in first 29.29, VMACRMFV updated.

    Major enhancements added in MXG 29.29, dated Jan 17, 2012

  VMACSMF  29.290  USER ABEND 69 due to invalid SMFTIME now bypassed.
  TYPENDM  29.295  NDM/Connect-Direct V5.0 added jobname/jctjobid.
  TYPEXAM  29.294  Support for VNDNIC, LPARNW, USVCPU segments.
  TYPE110  29.293  Support for CICS Statistics STID=143 and 144.
  ASMDBLKU 29.289  ASMDBLKU, ASM version of UDEBLOCK, revised.
  ASMRMFV  29.297  Continued RMF III enhancements.
  TYPERMFV 29.297  Continued RMF III enhancements.
  TYPEDCOL 29.296  DCOLLECT support updated to execute on ASCII.
  BLDSMPDB 29.292  Support for execution under unix.
  VMXGALOC 29.292  Support for execution under unix.
  VMXGPPDS 29.298  Compare contents of multiple PDS/PDSE libraries.

    Major enhancements added in MXG 29.08, dated Dec 22, 2011

  ANALGRID 29.284  Color-intense grid of "hot spots" of any variable.
                   (Examples http://www.mxg.com/downloads, ANALGRID.)
  ASUM4HRS 29.268  %MACRO calculates "Four Hour" running average values
                   (or running average for any number of hours).
  VMAC30   29.281  CPUTASKALLTM and PCTTASKTIME added SMFINTRV/TYPE30_V.
                   ("Task Time" is recommended by IBM for analysis).
  ASMTAPEE 29.280  "YOU SPECIFIED ASCENV" Assembly error with z/OS 1.13.
                   (MXGTMNT does NOT need to be reassembled on 1.13)
  TYPE16   29.264  Support for DFSORT z/OS 1.13 COMPAT new variables.
  TYPESVIE 29.273  Support for SYSVIEW subtypes 34 and 35.
  TYPETLMS 29.269  Support for CA TLMS tape library 2003 record changes.
  TYPETMS5 29.274  CA-1 TMS Extended Format TMC records have no impact.
  TYPE120  29.272  SM1209CI and SM1209CX can be negative.
  MXGSASxx 29.265  MXGTEMP temporary DDNAME/FILENAME added to MXG JCL.
  ASMRMFV  29.279  RMF III RCD INPUT STATEMENT EXCEEDED error.

    Major enhancements added in MXG 29.07, dated Nov 24, 2011

  TYPEIMST 29.230  Further updates to IMS56FA transaction processing.
  SMFSRCH  29.236  SMFSRCH, search SMF records for text, print all obs.
  TYPE7072 29.220  Support for z/OS 1.13 (WAS IN MXG 29.03 or later).
  TYPETMO2 29.244  Support for TMON/CICS V3.3 (mostly COMPATIBLE) TCE.
  TYPEQACS 29.208  Support for IBM i-series (AS400), more than 32 CPUs.
  TYPEDB2  29.213  Support for DB2 V10 IFCID 225 Subtype4 INCOMPATIBLE.
  TYPETPMX 29.211  Support for Throughput Manager APAR TMT6214, st=16.
  TYPEBETA 29.233  Support for BETA93 Version 4.1.0 subtype 25 changes.
  TYPEAXWY 29.231  Support for Axway CFT/ESA (Cross File Transfer) SMF.
  TYPEPOC  29.219  Support for Tivoli Workload Schedulr Ver 8.3 INCOMPAT
  TYPEFERT 29.247  Support for ZEN FERRET V2.3 (INCOMPATIBLE).
  TYPEMPLX 29.247  Support for ZEN IMPLEX V5.1 (COMPATIBLE)
  TYPEZOSA 29.247  Support for new ZEN OSA MONITOR V1.3 SMF records.
  TYPEITRV 29.223  Support for APAR OA37114, ITRF (OMEGAMON IMS V420)
  TYPE70x  29.239  Variable SHIFT (used as "ZONE") added to all RMF.
  TYPEDB2  29.209  DB2 V10 ID=100 ST=1 INVALID HEADER.
  TYPEVMXA 29.207  z/VM MONWRITE Broken Control Rec if 2.14 (SCALL) rec.
  TYPE102  29.235  IFCID=22 in Change 28.234 wrong in DB2 V9.
  TYPSXAM  29.249  TYPSXAM didn't sort all XMdddddd datasets to the PDB.
  ASUM113  29.243  Calculation of ESTSCP1M incorrectly had small values.
  ASMRMFV  29.217  Enhanced RMF III RCDSD section support, CHAR->NUM fix
  TYPE120  29.240  Length of Character Variable SMF1209FH can't change.
  TYPEaaaa 29.238  All USER SMF have MACRO _IDaaaa nnn as SMF record id.
  TYPE16   29.232  DFSORT variables ICEMNVLX, ICEMNVLY, ICEMNVLZ wrong?
  TYPETPMX 29.229  TPMCA7JN, TPMPI, and TPMDUEOT may be wrong.
  TYPE1415 29.226  False ERROR.TYPE1415.DEFECTIVE.EXTENDED... log msg.
  TYPEDB2  29.225  INVALID DB2 V10 QMDA segment for QMDAPTYP='JCC'.
  TYPE80A  29.223  New TOKENIDs starting with NOxxxx (NOCPUTIMEMAX, etc)
  TYPE110  29.221  CICS Statistics datasets CICDB2GL,CICSMDSA, corrected
  TYPE119  29.215  Variables T119STCK/TISSTCK/TIESTCH were still GMT.
  TYPE78PA 29.214  Values in TYPE78PA ending with TOTL could be wrong.
  TYPE845  29.212  Invalid JES3 JMF SMF 84 Subtype 1 Segmented Records.

    Major enhancements added in MXG 29.06, dated Sep  8, 2011

  SAS V9.3 29.159  Support for SAS Version 9.3 - SAS Hot Fix E80004:
    SAS V9.3 Hot Fix E80004 (for SAS Problem Note SN43828) is REQUIRED
    to correct an error in the %MACRO compiler, which is SAS portable
    code, so the Hot Fix is required for ALL platforms for SAS V9.3.
      The %MACRO compiler error is in processing %LET statements.
      While only two MXG members actually failed in MXG QA tests, ANY
      use of %LETs can fail in MXG (or in your own %MACRO code).

  MANY     29.169  MXG ODS HTML ASCII examples failed if no PATH=.
    Seen first with SAS V9.3; complete revision of MXG ODS HTML examples
    with new %macros with consistent arguments, etc, for all platforms.
  TYPEVMXA 29.172  Support for APAR VM64961, SMF 113 in z/VM MONWRITE!!
  TYPE113  29.176  Support for APAR OA36816, SMF 113 HIS DATALOSS parm.
    IBM now recommends SMF 113 always be created.
  TYPEIMST 29.162  Validation of TYPEIMST, many changes for IMS56FA.
    Finally: IMS Transaction CPU/Response from ONE IBM IMS LOG RECORD.
  TYPEADAB 29.189  Support for Software AG's ADABAS SMF user record.
  TYPECFS  29.186  Support for InfoSphere Classic Federation Server SMF.
  TYPE23   29.177  Support for APAR OA35175, logstream stats in SMF 23.
  TYPE30   29.175  Support for APAR OA35617, SMF30CRM VELOCITY MNGED?
  TYPE30   29.174  Support for APAR OA34895, EXCP/IOTM Missed, SMF Lock.
  TYPE57   29.173  Support for APAR OA36966, JES3 expanded NJEJOBNO.
  TYPEIDMS 29.156  Support for IDMS/R Performance Monitor Version 18.
  TYPEVMXA 29.163  z/VM Crypto Record (5,10) with PRCAPMCT=6 error.
  TYPE115  29.161  MXG 29.03-MXG 29.05 dataset MQMCFMGR was wrong.
  TYPEDM   29.158  NDM-CDI Version 5 new fields supported.
  TYPE110  29.155  CICS/TS 4.2  Statistics variables overlooked, added.
  VMXGSUM  29.154  AUTOCALL %macro's %CMPRES/%QCMPRES removed.
  TYPE111  29.153  UNDECODED CTGRECID message, possible CPU loop.
  TYPE7072 29.152  VMSYSTEM='Y' RMF records validated, and revised.
  RMFINTRV 29.194  Stats on Page Dataset Slot Usage added to RMFINTRV.
  ASUM113  29.193  zVM MONWRITE VXPRCMFC (SMF 113 for z/VM) included.
  ASUMUOW  29.188  Case 4 example prevents blank TRANNAME in ASUMUOW.
  ASMRMFV  29.187  Do not use ASMRMFV in MXG29.05, fails with 0C4 ABEND.
  GRAFWRKX 29.185  Workload RMFINTRV graph's update uses new workloads.

    Major enhancements added in MXG 29.05, dated Jul 11, 2011

  TYPE110  29.135  Support for CICS/TS 4.2. CICSTRAN supported in 29.03.
  TYPE110  29.149  Support for CICS/TS 4.2. MNSEGCL=5 requires  29.05.
  TYPE120  29.136  Support for WebSphere WAS 8.0 (COMPATIBLE).
  TYPE70   29.127  Support for z/OS 1.12 VMGUEST option, CPU Time in 70.
  TYPEIMST 29.144  IMS Transactions in IMS56FA, replaces JCLIMSL6!!!
  TYPETIMS 29.123  Support for TMON/IMS Version 3.0 (INCOMPATIBLE).
  TYPEPOEX 29.134  Support for Informatica's POWER EXCHANGE SMF record.
  TYPEDB2  29.140  New LUUVTIME instead of QWACBSC for start time.
  TYPE90A  29.142  Enclave variables decoded in TYPE9030 dataset.
  TYPEVMXA 29.133  z/VM LPARNAME, LPNUMBER kept in PDB.VMXAINTV.
  UTILARCH 29.137  New UTILARCH archives data (like Outlook archive).
  TYPEDB2  29.131  DB2PARTY added to DB2ACCTP, Rollup impact documented.
  TYPEDB2  29.128  DB2 INVALID DISTRIUTED HEADER message corrected.
  TYPEDB2  29.121  QWHADSGN/QWHAHAMN were sometimes blank.
  TYPE102  29.125  DB2 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED error.
  TYPEVMXA 29.129  MXGERROR DM 5 RC 10 UNDECODED PRCAPMCT due to IBM.
  TYPEXAM  29.126  XAM variables in VXSYTEP2 were not all input/kept.
  TYPE111  29.124  Variables CTGIAREQ/CTGLALRQ revised keeps.
  ANALDB2R 29.145  Performance and Reporting Enhancements

    Major enhancements added in MXG 29.04, dated May 17, 2011

  TYPE105  29.100  Support for GDPS Global Mirror V3R8 SMF 105 record.
  DB2ACCT  29.111  DB2 CICS TRAN name could be wrong, now from QWHCCV.
  TYPEIMSA 29.110  the exit _IMSTRN invocation was accidentally removed.
  BUIL3005 29.106  JES3 PDB.JOBS variable JOBCLAS8 has after change.
  VMXGSRCH 29.103  RESULTS=FINDVAR finds all datasets with a variable.
  TYPE70PR 29.098  Counts ICFCPUS/IFLCPUS/IFACPUS/ZIPCPUS too high.
  TYPE110  29.097  INPUT EXCEEDED 110-2 MNSEGLC=5 with DPL segment

    Major enhancements added in MXG 29.03, dated Apr 19, 2011

  TYPE110  29.094  1st MXG 29.03 ONLY. CICSTRAN CPUTM plus fields WRONG.
  TYPE116  29.057  Support for Websphere for z/OS MQ Version 7.0.1.
  TYPE115  29.057  Support for Websphere for z/OS MQ Version 7.0.1.
  TYPEBBMQ 29.056  Support for MainView MQ (MVMQ) Version 4.4.
  TYPEQACS 29.078  Support for OS/400, AS/400 Version 7.1 (INCOMPATIBLE)
  TYPE110  29.076  CICS CPUTM exceeds ELAPSTM, zAAP/zIIP Equivalent time
  TYPE120  29.081  Support for User Field in SMF 120 Subtype 9 record.
  TYPETPMX 29.071  Support for Throughput Manager subtype 10 and 16.
  TYPENTSM 29.075  Support for 62 new objects and 1425 new NT metrics.
  UTILVREF 29.075  MXG now creates DATASET names up to 32 characters.
  BUILDPDB 29.068  MXG 28.28-29.02. ABEND=JCL obs missing in PDB.JOBS.
  TYPERACF 29.067  RACF UNLOAD dataset RACF0270 UID limit variables.
  TYPEBETA 29.059  Support for Beta 93 Version 4.2 subtypes 25/50.
  TYPE30   29.058  Variable CPUCEPTM always now set to a missing value.
  MONTHxxx 29.052  SAS 9.1.3 Only.  %QCMPRES needed versus %CMPRES.
  TYPE85   29.093  INPUT STATEMENT EXCEEDED st 79, z/OS 1.12.
  ASUM70PR 29.092  ZIPCPUS/IFACPUS included parked time.
  TYPEVMXA 29.092  z/VM new PDB.VXINTUSR sums all engines for each VM.

    Major enhancements added in MXG 29.02, dated Mar  1, 2011

  VSETMNTH 29.041  POSSIBLE LOSS OF MONday DATA IN FEBRUARY MONTHLY PDB.
                   (Unfortunately, EVEN with the newest MXG 29.01).
               The MXG2828 or MXG2901 ftp credentials are still valid;
               you can download 29.02 and copy the two members you need
               (VSETMNTH, and BUILDxxx or BLDSMPDB), or you can ftp
               only those specific files to correct the error, for this
               month and for future months, or you can install 29.02.
               Without these updated members/29.02, future MONTHly's can
               also be missing one or more day's PDBs in your MONTH PDB.
               The complete details are in Change 28.041, below.

  TYPENDM  29.042  Support for NDM-CDI Version 5 records (COMPATIBLE).
  VMACDB2H 29.037  DB2 V9.1 false "INVALID DISTRIBUTED HEADER" message.
  TYPE30   29.034  Invalid data for SMF30RGT is true, circumvented.
  TYPECIMS 29.033  Support for IMF Version 4.5 is in place.
  TYPE0    29.032  PDB.IPLS, now, DOES always report a SYSTEM IPL.
  TYPEDB2  29.031  DB2 V9.2 only, most QBGxxx variables DB2GBPST wrong.
  TYPEVMXA 29.026  Support for zVM APAR VM64794 (COMPATIBLE).
  TYPE30   29.025  Small negative CPUUNITS now set to zero.
  TYPE26J2 29.024  Cosmetic: INREASON NOT DECODED messages corrected.

    Major enhancements added in MXG 29.01, dated Feb  4, 2011

                   These two impacted MONTHLY build:
  MONTHBLD 29.017  SERIOUS ERROR CORRECTED: last day's PDB skipped.
  BLDSMPDB 29.017  LIBNAME WEEK1 not found corrected.

                   These two eliminate possibility of NOTSORTED errors:
  BLDSMPDB 29.008  SORTEDBY=NO default to eliminate NOTSORTED exposure.
  WEEKBLD  29.008  MXGNOBY default to eliminate NOTSORTED exposure.
  MONTHBLD 29.008  MXGNOBY default to eliminate NOTSORTED exposure.

  TYPEENDV 29.012  Support for Endeavor Version 14 (INCOMPATIBLE).
  TYPE111  29.001  Support for IPIC creates obs in TY111CXI.
  TYPE115  29.015  Support for MQ Version 7 compression statistics.
  TYPE89   29.002  Support for APAR OA31615, zIIP/zAAP times added,
                   and false error messages are eliminated.

    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

      MXG 26.03 thru MXG 29.09 will execute under SAS Version 9.3, on
      all supported platforms, but SAS V9.3 Hot Fix E80004 is REQUIRED
      (for SAS Problem Note SN43828) to correct an error in the %MACRO
      compiler, which is SAS portable code, so the Hot Fix is required
      for ALL platforms for SAS V9.3.
       The %MACRO compiler error is in processing %LET statements. While
       only two MXG members failed repeatedly in MXG QA tests on z/OS,
       there were random %LET errors in ASCII QA tests, so ANY use of
       %LET statement on ANY platform are vulnerable to this error, as
       the %MACRO compiler is SAS portable code, used on all platforms.
      With Hot Fix E80004, the full MXG QA test stream executed with no
      errors, and there were no new warnings on z/OS.  Users of ODS will
      want MXG 29.06, because SAS V9.3 did expose incompatibilities in
      MXG code for ODS reporting, now corrected in MXG Version 29.06.
      See Changes 29.159 and 29.169.
        To find the Hot Fix for all platforms, open http://www.sas.com,
        and then search SAS Notes for 43828 (NOT SN-43828, NOT E80004),
        and then Pull Down the Hot Fix tab.

      MXG 26.03 thru MXG 29.29 will execute under SAS V9.2, or with
      SAS V9.1.3 with Service Pack 4, on all supported SAS platform.
        SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
        the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
        SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform.

      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level B" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I can not guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2/V9.3, FOR BOTH OF US, TO AVOID FIXED PROBLEMS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.3:
        SAS Hot Fix SN43828 is required; see text of Change 29.159.
        With that hot Fix, MXG Versions 26.03 or later should execute
        under SAS V9.3 on all platforms without error.
        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2 and V9.3
        are interchangeable and can be read/written by any of those
        versions, provided they are on the same platform.  (On ASCII,
        the 32-bit and 64-bit SAS versions are NOT the same "platform".)
        SAS V9.3 did change ODS processing defaults and syntax that
        might cause errors with MXG 29.05 or earlier; MXG 29.06,
        Change 29.160 documents the major revisions made in MXG to fully
        support V9.3 ODS, and MXG 29.06 is STRONGLY recommended for ODS
        with SAS V9.3.

      For SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
        V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
        and vice versa.

        MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      MXG QA tests are executed on z/OS with SAS V9.1.3 and V9.2 and
      on Windows XP with 32-bit INTEL, and on Windows Seven Ultimate
      32-bit and 64-bit OS on 64-bit hardware, but MXG is installed
      on many more hardware and software platforms: since they all work,
      we don't need to list them.  If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

III.  WPS Version requirement information:

      WPS Version 2.4   requires MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for "MXG Support for WPS Software"

IV.   MXG Version Required for Hardware, Operating System Release, etc.



    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Product's
                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06
      z/OS 1.13                        Sep 30, 2010        29.03
      z/OS 1.13 - MXGTMNT only         Dec 15, 2010        29.08
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11
      CICS-TS for Z/OS Version 2.2     Jan 25, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS for Z/OS Version 2.3     Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011        29.05
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02A
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 Full plus Compressed.   Nov  1, 2010        28.07*
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011        28.28*
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011        29.07*
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      Webshpere MQ Series 7.0          ??? ??, 2009       *28.06
      Websphere MQ Series 7.1          MAR 12, 2011        29.03
      Websphere MQ Series 8.0          Jun 24, 2011        29.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      WebSphere 8.0                    Jul 17, 2011        29.05
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        27.01*
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      z/VM    6.2                      Dec  2, 2011        29.04
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004        26.01*
      IMS log 10.0                     Mar 06, 2007        26.01*
      IMS log 11.0                     Apr  1, 2010        28.02*
      IMS log 12.0                     Jan 23, 2012        29.29*
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
       NTSMF 4.0                       Mar 15, 2011        29.03
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       The Monitor for CICS/TS V2.3 for CICS/TS 3.1        22.08

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               26.02*
       IMF 4.4 (for IMS 9.1)                               27.07*
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       27.07
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10
       XAMAP 4.1                                           29.07

V.    Incompatibilities and Installation of MXG 29.29.


 1. Incompatibilities introduced in MXG 29.29:

  a- Changes in MXG architecture made between 29.29 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINSTT for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.


VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.



Alphabetical list of important changes in MXG 29.29 after MXG 28.28:

  Dataset/
  Member   Change    Description

  Many     29.169  MXG ODS HTML ASCII examples failed if no PATH=.
  ANALDB2R 29.145  Performance and Reporting Enhancements
  ASMDBLKU 29.289  ASMDBLKU, ASM version of UDEBLOCK, revised.
  ASMRMFV  29.187  Do not use ASMRMFV in MXG29.05, fails with 0C4 ABEND.
  ASMRMFV  29.217  Enhanced RMF III RCDSD section support.
  ASMRMFV  29.279  RMF III RCD INPUT STATEMENT EXCEEDED error.
  ASMTAPEE 29.280  "YOU SPECIFIED ASCENV" Assembly error with z/OS 1.13.
  ASUM113  29.193  zVM MONWRITE VXPRCMFC (SMF 113 for z/VM) included.
  ASUM113  29.243  Calculation of ESTSCP1M incorrectly had small values.
  ASUM4HRS 29.268  %MACRO calculates "Four Hour" running average values
  ASUM70PR 29.092  ZIPCPUS/IFACPUS included parked time.
  ASUMMIPS 29.237  Calculation of ZIPUSED and ZIEUSED incorrect.
  ASUMUOW  29.007  Doc: variables required for ASUMUOW/ASUMCICX.
  ASUMUOW  29.009  ASUMUOW fails is //CICSTRN,//DB2ACCT on tape.
  ASUMUOW  29.188  Case 4 example prevents blank TRANNAME in ASUMUOW.
  BLDSMPDB 29.008  SORTEDBY=NO default to eliminate NOTSORTED exposure.
  BLDSMPDB 29.017  LIBNAME WEEK1 not found corrected.
  BLDSMPDB 29.246  A dash in filename text tripped up %UPCASE().
  BLDSMPDB 29.292  Support for execution under unix.
  BUIL3005 29.106  JES3 PDB.JOBS variable JOBCLAS8 has after change.
  BUILDPDB 29.068  MXG 28.28-29.02. ABEND=JCL obs missing in PDB.JOBS.
  DB2ACCT  29.111  DB2 CICS TRAN name could be wrong, now from QWHCCV.
  DB2ACCTP 29.053  Doc. QWACxxxx variables in DB2ACCTP always missing.
  EXITCICS 29.064  Rare (one-site) error in INFILE exit corrected.
  GRAFWRKX 29.185  Workload RMFINTRV graph's update uses new workloads.
  IMACICRD 29.302  Comment within comment block if default used.
  JCLSPLIT 29.241  Example to split SMF had 102 records copied twice.
  MONTHBLD 29.008  MXGNOBY default to eliminate NOTSORTED exposure.
  MONTHBLD 29.017  SERIOUS ERROR CORRECTED: last day's PDB skipped.
  MONTHxxx 29.052  SAS 9.1.3 Only.  %QCMPRES needed versus %CMPRES.
  MXGSASxx 29.265  MXGTEMP temporary DDNAME/FILENAME added to MXG JCL.
  RMFINTRV 29.005  Doc: INTERVAL=QTRHOUR became default in 28.01.
  RMFINTRV 29.194  Stats on Page Dataset Slot Usage added to RMFINTRV.
  RMFINTRV 29.305  INTERVAL=SHIFT generated warnings & incorrect output.
  SAS V9.3 29.159  Support for SAS Version 9.3 - SAS Hot Fix SN43828.
  SMFSRCH  29.236  SMFSRCH, search SMF records for text, print all obs.
  TYPE0    29.032  PDB.IPLS, now, DOES always report a SYSTEM IPL.
  TYPE102  29.125  DB2 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED error.
  TYPE102  29.235  IFCID=22 in Change 28.234 wrong in DB2 V9.
  TYPE105  29.100  Support for GDPS Global Mirror V3R8 SMF 105 record.
  TYPE110  29.076  CICS CPUTM exceeds ELAPSTM, zAAP/zIIP Equivalent time
  TYPE110  29.094  1st MXG 29.03 ONLY. CICSTRAN CPUTM plus fields WRONG.
  TYPE110  29.097  INPUT EXCEEDED 110-2 MNSEGLC=5 with DPL segment
  TYPE110  29.135  Support for CICS/TS 4.2 was in 29.03.
  TYPE110  29.155  CICS/TS 4.2  Statistics variables overlooked, added.
  TYPE110  29.221  CICS Statistics datasets CICDB2GL,CICSMDSA, corrected
  TYPE110  29.293  Support for CICS Statistics STID=143 and 144.
  TYPE111  29.001  Support for IPIC creates obs in TY111CXI.
  TYPE111  29.124  Variables CTGIAREQ/CTGLALRQ revised keeps.
  TYPE111  29.153  UNDECODED CTGRECID message, possible CPU loop.
  TYPE113  29.060  z196 Est Finite CPI, Est SCPL1m calcs revised.
  TYPE113  29.080  New variables and label revisions.
  TYPE113  29.176  Support for APAR OA36816, SMF 113 HIS DATALOSS parm.
  TYPE115  29.015  Support for MQ Version 7 compression statistics.
  TYPE115  29.057  Support for Websphere for z/OS MQ Version 7.0.1.
  TYPE115  29.161  MXG 29.03-MXG 29.05 dataset MQMCFMGR was wrong.
  TYPE116  29.057  Support for Websphere for z/OS MQ Version 7.0.1.
  TYPE119  29.215  Variables T119STCK/TISSTCK/TIESTCH were still GMT.
  TYPE120  29.081  Support for User Field in SMF 120 Subtype 9 record.
  TYPE120  29.136  Support for WebSphere WAS 8.0 (COMPATIBLE).
  TYPE120  29.240  Length of Character Variable SMF1209FH can't change.
  TYPE120  29.272  SM1209CI and SM1209CX can be negative.
  TYPE1415 29.226  False ERROR.TYPE1415.DEFECTIVE.EXTENDED... log msg.
  TYPE16   29.232  DFSORT variables ICEMNVLX, ICEMNVLY, ICEMNVLZ wrong?
  TYPE16   29.264  Support for DFSORT z/OS 1.13 COMPAT new variables.
  TYPE19   29.183  Variables SMF19TRK and SMF19TRM were wrong.
  TYPE23   29.177  Support for APAR OA35175, logstream stats in SMF 23.
  TYPE26J2 29.024  Cosmetic: INREASON NOT DECODED messages corrected.
  TYPE30   29.025  Small negative CPUUNITS now set to zero.
  TYPE30   29.034  Invalid data for SMF30RGT is true, circumvented.
  TYPE30   29.058  Variable CPUCEPTM always now set to a missing value.
  TYPE30   29.174  Support for APAR OA34895, EXCP/IOTM Missed, SMF Lock.
  TYPE30   29.175  Support for APAR OA35617, SMF30CRM VELOCITY MNGED?
  TYPE57   29.173  Support for APAR OA36966, JES3 expanded NJEJOBNO.
  TYPE70   29.127  Support for z/OS 1.12 VMGUEST option, CPU Time in 70.
  TYPE7072 29.077  z/OS under z/VM: MXG messages, nonexistent RMF data.
  TYPE7072 29.152  VMSYSTEM='Y' RMF records validated, and revised.
  TYPE7072 29.220  Support for z/OS 1.13 (REQUIRES MXG 29.03 or later).
  TYPE70PR 29.098  Counts ICFCPUS/IFLCPUS/IFACPUS/ZIPCPUS too high.
  TYPE70x  29.239  Variable SHIFT (used as "ZONE") added to all RMF.
  TYPE78PA 29.214  Values in TYPE78PA ending with TOTL could be wrong.
  TYPE80A  29.223  New TOKENIDs starting with NOxxxx (NOCPUTIMEMAX, etc)
  TYPE845  29.212  Invalid JES3 JMF SMF 84 Subtype 1 Segmented Records.
  TYPE85   29.093  INPUT STATEMENT EXCEEDED st 79, z/OS 1.12.
  TYPE89   29.002  Support for APAR OA31615, zIIP/zAAP times added.
  TYPE89   29.178  Variable CECSER in 89 now contains only 4 positions.
  TYPE90A  29.142  Enclave variables decoded in TYPE9030 dataset.
  TYPEADAB 29.189  Support for Software AG's ADABAS SMF user record.
  TYPEAXWY 29.231  Support for Axway CFT/ESA (Cross File Transfer) SMF.
  TYPEBBMQ 29.056  Support for MainView MQ (MVMQ) Version 4.4.
  TYPEBETA 29.059  Support for Beta 93 Version 4.2 subtypes 25/50.
  TYPEBETA 29.233  Support for BETA93 Version 4.1.0 subtype 25 changes.
  TYPEBVIR 29.006  Variables DVRTBV01-32 incorrectly formatted.
  TYPECFS  29.186  Support for InfoSphere Classic Federation Server SMF.
  TYPECIMS 29.033  Support for IMF Version 4.5 is in place.
  TYPEDB2  29.031  DB2 V9.2 only, most QBGxxx variables DB2GBPST wrong.
  TYPEDB2  29.121  QWHADSGN/QWHAHAMN were sometimes blank.
  TYPEDB2  29.128  DB2 INVALID DISTRIUTED HEADER message corrected.
  TYPEDB2  29.131  DB2PARTY added to DB2ACCTP, Rollup impact documented.
  TYPEDB2  29.140  New LUUVTIME instead of QWACBSC for start time.
  TYPEDB2  29.209  DB2 V10 ID=100 ST=1 INVALID HEADER.
  TYPEDB2  29.213  Support for DB2 V10 IFCID 225 Subtype4 INCOMPATIBLE.
  TYPEDB2  29.225  INVALID DB2 V10 QMDA segment for QMDAPTYP='JCC'.
  TYPEDCOL 29.296  DCOLLECT support updated to execute on ASCII.
  TYPEDM   29.158  NDM-CDI Version 5 new fields supported.
  TYPEENDV 29.012  Support for Endeavor Version 14 (INCOMPATIBLE).
  TYPEFERT 29.247  Support for ZEN FERRET V2.3 (INCOMPATIBLE).
  TYPEIDMS 29.156  Support for IDMS/R Performance Monitor Version 18.
  TYPEIMS  29.307  Support for IMS Version 12: Adds ZIIP/ZAAP CPU times.
  TYPEIMSA 29.110  the exit _IMSTRN invocation was accidentally removed.
  TYPEIMST 29.144  IMS Transaction Detail in new IMS56FA dataset!!
  TYPEIMST 29.162  Validation of TYPEIMST, many changes for IMS56FA.
  TYPEIMST 29.230  Further updates to IMS56FA transaction processing.
  TYPEITRV 29.223  Support for APAR OA37114, ITRF (OMEGAMON IMS V420)
  TYPEMPLX 29.247  Support for ZEN IMPLEX V5.1 (COMPATIBLE)
  TYPENDM  29.010  NDMPRCNM/NDMPRCNO/NDMSTEP now kept where they exist
  TYPENDM  29.042  Support for NDM-CDI Version 5 records (COMPATIBLE).
  TYPENDM  29.295  NDM/Connect-Direct V5.0 added jobname/jctjobid.
  TYPENDM  29.301  Old Version 4.7 "PS" record INPUT STATEMENT EXCEEDED.
  TYPENTSM 29.075  Support for 62 new objects and 1425 new NT metrics.
  TYPEPOC  29.219  Support for Tivoli Workload Schedulr Ver 8.3 INCOMPAT
  TYPEPOEX 29.134  Support for Informatica's POWER EXCHANGE SMF record.
  TYPEQACS 29.078  Support for OS/400, AS/400 Version 7.1 (INCOMPATIBLE)
  TYPEQACS 29.208  Support for IBM i-series (AS400), more than 32 CPUs.
  TYPERACF 29.067  RACF UNLOAD dataset RACF0270 UID limit variables.
  TYPERMFV 29.013  CPCGRPLM and LCPUPOLR variables were wrong.
  TYPERMFV 29.297  Continued RMF III enhancements.
  TYPERMFV 29.300  Wrong ASMRMFV in first 29.29, VMACRMFV updated.
  TYPESVIE 29.273  Support for SYSVIEW subtypes 34 and 35.
  TYPETIMS 29.123  Support for TMON/IMS Version 3.0 (INCOMPATIBLE).
  TYPETLMS 29.269  Support for CA TLMS tape library 2003 record changes.
  TYPETMNT 29.248  INVALID ARGUMENT TO SUBSTR IN SYSLOG IEC205I message
  TYPETMO2 29.244  Support for TMON/CICS V3.3 (mostly COMPATIBLE) TCE.
  TYPETMS5 29.274  CA-1 TMS Extended Format TMC records have no impact.
  TYPETMS5 29.304  USER ABEND 1234 can be bypassed for TMSCLEAN input.
  TYPETPMX 29.071  Support for Throughput Manager subtype 10 and 16.
  TYPETPMX 29.211  Support for Throughput Manager APAR TMT6214, st=16.
  TYPETPMX 29.229  TPMCA7JN, TPMPI, and TPMDUEOT may be wrong.
  TYPEVMXA 29.014  z/VM MONWRITE "exit" at EOF to detect ftp failure.
  TYPEVMXA 29.026  Support for zVM APAR VM64794 (COMPATIBLE).
  TYPEVMXA 29.092  z/VM new PDB.VXINTUSR sums all engines for each VM.
  TYPEVMXA 29.129  MXGERROR DM 5 RC 10 UNDECODED PRCAPMCT due to IBM.
  TYPEVMXA 29.133  z/VM LPARNAME, LPNUMBER kept in PDB.VMXAINTV.
  TYPEVMXA 29.163  z/VM Crypto Record (5,10) with PRCAPMCT=6 error.
  TYPEVMXA 29.172  Support for APAR VM64961, SMF 113 in z/VM MONWRITE!!
  TYPEVMXA 29.207  z/VM MONWRITE Broken Control Rec if 2.14 (SCALL) rec.
  TYPEXAM  29.126  XAM variables in VXSYTEP2 were not all input/kept.
  TYPEXAM  29.294  Support for VNDNIC, LPARNW, USVCPU segments.
  TYPEZOSA 29.247  Support for new ZEN OSA MONITOR V1.3 SMF records.
  TYPEaaaa 29.238  All USER SMF have MACRO _IDaaaa nnn as SMF record id.
  TYPSXAM  29.249  TYPSXAM didn't sort all XMdddddd datasets to the PDB.
  UTILARCH 29.137  New UTILARCH archives data (like Outlook archive).
  UTILVREF 29.075  MXG now creates DATASET names up to 32 characters.
  VMAC102  29.242  On ASCII COMPRESS turned off, QW0145TX maybe trashed.
  VMAC30   29.281  CPUTASKALLTM and PCTTASKTIME added SMFINTRV/TYPE30_V.
  VMACDB2H 29.037  DB2 V9.1 false "INVALID DISTRIBUTED HEADER" message.
  VMACSMF  29.079  MXG will ABEND if SMFTIME is invalid.
  VMACSMF  29.290  USER ABEND 69 due to invalid SMFTIME now bypassed.
  VMXGGETM 29.224  Enhancements to select records with LOOKFOR=text.
  VMXGMPDB 29.292  Support for execution under unix.
  VMXGPPDS 29.298  Compare contents of multiple PDS/PDSE libraries.
  VMXGPRNT 29.250  INSTREAM replaces TMPPRNT.SAS for ASCII restrictions.
  VMXGSRCH 29.103  RESULTS=FINDVAR finds all datasets with a variable.
  VMXGSUM  29.054  Macro variable DSETEXST redefined.
  VMXGSUM  29.154  AUTOCALL %macro's %CMPRES/%QCMPRES removed.
  VSETMNTH 29.041  POSSIBLE LOSS OF MONday DATA in FEBRUARY MONTHLY PDB.
  WEEKBLD  29.008  MXGNOBY default to eliminate NOTSORTED exposure.


  See member CHANGESS for all changes ever made to MXG Software.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 29.

====== Changes thru 29.307 were in MXG 29.29 dated Jan 23, 2012=========

Change 29.307  Support for IMS 12: ADDS ZIIP/ZAAP TIME TO IMS LOG DATA!
VMACIMS        IBM changes were COMPATIBLY made, used RESERVED fields,
Jan 21, 2012   and those CPU times were added by APAR PM36273.
               These new variables are now created in IMS01/IMS01M:
                  MSGOD62I='APPC*DEST*TYPE'
                  MSGOD62A='APPC*DETT*ADDR'
                  MSGIHSQN='SUBPOOL*HSQN*NM'
                  MSGFMTNM='MFSMODNAME'
                  MSGEWTKN='WLM*TOKEN TO*C2*CORRELATOR'
               These new variables are now created in IMS07 and IMS0708:
                  DLRXICAL='ICAL*CALLS'
                  DLRXDGUR='DATABASE*GUR*CALLS'
                  DLRFLAG4='DLRFLAG4'
                  DLRAZAAP='ZAAP*ZIIP*CPU*TIME'
               This new variable is now created in IMS07 and IMS0708:
                  LINTSUB2='IMS08*SUBTYPE*ADDITIONAL'
               These two variables are now created in IMS56FA:
                  DLRGUR  ='DL/I*GUR*CALLS'
                  TPEZAAP ='ZAAP*ZIIP*CPU*TIME'
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Jerome Bachmeier,, UHC, USA.

Change 29.306  DEBUG=1 was on in several XAM file processing sections,
VMACXAM        causing log messages but no actual errors in processing.
Jan 20, 2012
   Thanks to Clayton Buck, UniGroup, USA.

Change 29.305  Using INTERVAL=SHIFT for RMFINTRV generated MXG WARNINGS
VMXGDUR        and produced incorrect output, because TYPE75 addition in
VMXGINIT       Change 29.194 didn't test that INTERVAL value.  But after
VMXGRMFI       the VMXGRMFI fix for SHIFT, and because VMXG70PR uses the
VMXGSUM        same macros, both summary programs were tested with all
Jan 22, 2012  -For RMFINTRV, all "Normally used" INTERVAL= values from
               SECOND thru FOURHOUR were correct, but for long-duration
               values of EIGHTHOUR thru ANNUAL, variable STARTIME was a
               missing value, and an "invalid" string did not circumvent
               by setting INTERVAL=DETAIL as documented.  Changes had to
               be made to VMXGRMFI where END versus START had been used.
              -For ASUM70PR and ASUM70LP datasets, there were no errors,
               but both ASUMCEC and ASUMCELP had populated-but-wrong
               STARTIME values (close, but wrong) for long-durations.
              -VMXGDUR was the culprit with inconsistent ENDTIME values
               returned when FLORCEIL was CEIL for long duration values.
               (No one reported errors, other than SHIFT, "NEVER USED?")
              -VMXGINIT added new &MXGDURTM a global macro.
              -Other members that invoked VMXGDUR were verified to only
               expect START values, so they didn't need revision here.
              -VMXGSUM cosmetic: INTERVAL=NONE is no longer printed when
               no INTERVAL= was specified, as NONE could be confusing.
   Thanks to Scott Wiig, US Bank, USA.

Change 29.304  Change 29.195 sets USER ABEND 1234 if TYPETMS5 reads data
VMACTMS5       that is not a TMC (because the results are wrong when the
Jan 20, 2012   file was created by TMSGRW.)  But TYPETMS is also used to
               read the output of the TMSCLEAN program, to list scratch
               volumes, so this change allows you to disable that ABEND
               when you know the file is not a TMC, with this syntax:
                 //SYSIN DD *
                 %LET MXGABND=1;
                 %INCLUDE SOURLIB(TYPETMS5);
               You will still get the ERROR message on the log that the
               file was not a TMC as an alert, without the ABEND.
   Thanks to Robert Carballo, ACS, USA.

Change 29.303  Since MXG 27.06, DB2PM-like Statistics Short Report has
ANALDB2R       had wrong Total GETS and Buffer Totals Hit Ratios values.
Jan 19, 2012   The SUM statement in line 18777 repeated QB1
                 GETS =SUM(QB1TGET,QB1TGET,QB1TGET,QB1TGET,0);
               but should have summed all four buffer counts:
                 GETS =SUM(QB1TGET,QB2TGET,QB3TGET,QB4TGET,0);
   Thanks to Paul Billick, QVC, Inc, USA.

Change 29.302  CICSTRAN: If your old IMACEXCL member included IMACICRD,
IMACICRD       but you didn't have an IMACICRD in 'USERID.SOURCLIB',
Jan 19, 2012   (listed as required in the UTILEXCL job's report), then
               the new default IMACICRD in MXG 29.29 was %INCLUDEd, but
               it had a comment within the commment block (that I had
               missed in my QA tests) that caused a 180 SYNTAX ERROR.
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

====== Changes thru 29.301 were in MXG 29.29 dated Jan 18, 2012=========

Change 29.301  NDM-CDI Version 4.7 "PS" record INPUT STATEMENT EXCEEDED.
VMACNDM        Change 29.295 input PSSGPE1D offset, added in V5.0, from
Jan 18, 2012   two reserved bytes, but (old) 4.7 PS records have '4040'x
               in those two bytes, and the NEXT two bytes are zero.
               Since NDM-CDI records don't contain a version number, the
               the logic was revised to test the value of the offset vs.
               the record length to circumvent the error.
   Thanks to Raff Rushton, IBM Global Services, USA.

Change 29.300  First 29.29 ONLY: RMF III PROCESSING WAS BROKEN.
ASMRMFV        Fixed in 29.29 dated Jan 18:
VMACRMFV       so that version contains these two corrected members.
Jan 18, 2012  -The VMACRMFV member in MXG 29.29 failed when reading DVT
EXZRBDVT       data with ERROR: INPUT STATEMENT EXCEEDED RECORD LENGTH,
Jan 22, 2012   because updates made to VMACRMFV for the new ASMRMFV did
               not work with RMFBSAM files created with the old ASMRMFV.
               This change to VMACRMFV revised the DVT logic so that
               records created by the old or the new ASMRMFV program are
               correctly processed.
              -The ASMRMFV member in MXG 29.29 was NOT the updated code,
               even though it had "Jan 14, 2012, Change 29.297" in the
               comments and log messages; it was the ASMRMFV from 29.05
               that had none of the last six month's enhancements, and
               it had an R in column 1 of the fourth line which caused
               the assembly to fail with errors, in the first iteration.
              -This change MAY be INCOMPATIBLE - the new VMACRMFV might
               ABEND with RCD data in RMFBSAM files created by earlier
               ASMRMFV versions, so the ONLY safe implementation is to
               assemble the Jan 18 ASMRMFV and use that new program to
               read the VSAM RMF file to create the RMFBSAM output file,
               and then use the new VMACRMFV to read that RMFBSAM file.
               (If your existing ASMRMFV load module was created from
               an MXG version earlier than MXG 29.05, the new VMACRMFV
               should execute without an ABEND, but no guarantee.)
               Added Jan 22:
              -ZRBDVT now only outputs DEVICES WITH ACTIVITY, where the
               activity is calculated/tested in EXZRBDVT exit member:
                 ACTIVITY=SUM(DEVACTTM,IORATE,DEVIOQTM,
                              DVBUSYTM,CUBUSYTM,SWPODLTM);
                 IF ACTIVITY GT 0 THEN DO;
                   OUTPUT _WZRBDVT;
                 END;
               Tutorial: Your tailoring logic in EXdddddd dataset exits
               to control output of an MXG dataset needs this structure:
                 IF something THEN DO;
                   OUTPUT _dddddd;
                 END;
               and can't use a DELETE, nor "IF something;" statements,
               because they stop the read-current-record, and cause SAS
               to read the next record, so any remaining segments in a
               record with more than one observation per record would be
               skipped and the output observation count could be small.
              -By only outputing active devices in ZRBDVT with detail
               device-level-per-minute data, it's more practical to use
               the RMF III detail DVT dataset for DETAIL I/O STATISTICS.
   Thanks to Jack Schudel, University of Florida, USA.
   Thanks to Rodger Foreman, TransUnion Corp, USA.

Change 29.299  Cosmetic installation issues with first MXG 29.29.
FTP           -The file size of ter2929.ter was incorrect in the emailed
SENDDATA       instructions sent on the 17th. 27,319,296 was correct for
Jan 18, 2012   that iteration.
              -Appendix A in the download instructions failed on JES3:
                 IAT4401  LOCATE FOR STEP=STEP2OF2 DD=INFILE
                          DSN=MERRILL.V2929.TERSED
                 IAT4404 DATASET NOT FOUND ON MAIN PROCESSOR A
               because that DSN was dynamically allocated in the PGM=FTP
               step, but JES3 doesn't know that.  The example is changed
               to define the DSN in a DD statement, so the new example
               now works on both JES2 and JES3. This is not a new issue,
               but had not been previously reported, probably because
               JES3 techies knew how to resolve this JES3 "feature"!
   Thanks to Harald Haug, OBERFINANZDIREKTION KARLSRUHE, GERMANY.
   Thanks to James E. Lund, Texas A&M University, USA.

====== Changes thru 29.298 were in MXG 29.29 dated Jan 17, 2012=========

Change 29.298  VMXGPPDS utility reads PDS and PDSE datasets, originally
VMXGPPDS       to print text in two-column format.  It is now enhanced
Jan 15, 2012   to output the Index entry for each PDS member, keeping
               these variables in a dataset for each PDS/PDSE library:
                 MEMBER='MEMBER*NAME'
                 DSNAME='DATASET*NAME'
                 CDATE='CREATE*DATE'
                 MDATE='MODIFIED*DATE'
                 TIME='MODIFIED*TIME'
                 USERID='USER*ID'
                 INITLINE='INITIAL*LINES'
                 NOWLINE='CURRENT*LINES'
               with an example showing how it can be used to compare the
               members (i.e., which is most recent?) in different PDS or
               PDSE libraries. Both text and load libraries can be read,
               but index information is only usable for text PDS/PDSEs.

Change 29.297  Detail and Summary reports from ASMRMFV have been
ASMRMFV        reformatted for improved legibility, content, and
VMACRMFV       clarity.  Message RMFV105I is updated by the changes.
Jan 12, 2012  -When the DVT is selected in ASMRMFV the entries are now
               blocked up to use as much as possible of a 32K logical
               record.  The number of DVT records output was reduced by
               99.5% during testing.  The actual data volume is
               unchanged.  This was to reduce I/Os for performance.
              -A new ASMRMFV report column DATA ACTION shows the data
               destination for each table as: OUTPUT, FILTER, or SKIP.
              -A new ASMRMFV report column ENTRIES COUNT shows the
               number of logical table entries processed.  The meaning
               of an entry varies with the RMF III table type.  See
               source code documentation for more details.
              -The minimum and maximum LRECL output are now shown for
               filtered and skipped records if the optional RMFFILT
               and/or RMFSKIP DD statements are provided.
              -Input table counts are supported up to 999,999,999.
              -Output record and entry counts are supported up to
               99,999,999,999.
              -A new message RMFV032E is added to show the error code
               from the IBM decompression routine ERB3RDEC should a
               failure occur.  In this case the start and end time of
               the problem RMF III sample set is also shown.  This
               should be a rare event.
              -The discussion on final ASMRMFV return codes is expanded.
              -A discussion is added on how RMF Monitor III options
               affect the data contents in tables.
              -Prologue documentation in source is updated to include
               discussion on new ASMRMFV column headings.
              -VMACRMFV is changed to support blocked DVT entries in
               input records.
              -In VMACRMFV the DEVTYPE variable length has been
               corrected to 12 bytes.
              -In VMACRMFV the calculation of the DEVACTTM variable has
               been changed to avoid excessive Missing Value counts from
               SAS.
               These are available only with RMF z/OS 1.9 and up.  They
               will be missing values for older releases.
              -Nine new data variables are added to the ZRBDVT file:
               DVTFLAG3 - Flag Byte
               DVTHPAVB - Device Is HyperPAV Base Device (Y/N/?)
               DVTHPCON - Number Configured HyperPAV Aliases for LSS
               DVTHPSM  - Number of Successful PAV Samples
               DVTHPNUM - Accumulated Number of HyperPAV Aliases
               DEVALCH  - Number of Alias Exposures Has Changed (Y/N)
               DEVLCUOK - LCU Number Is Valid (Y/N)
               DEVPAV   - Multiple Exposure Device(Y/N)
               DEVVDASD - Virtual DASD (Y/N)
               The first 5 variables are available only with RMF z/OS
               1.9 and up.  They will be missing values for older
               releases. The last 4 variables are available to all MXG
               users with RMF Monitor III.
              -A new option ZERODVT/NOZERODVT has been added to ASMRMFV.
               The default is NOZERODVT and will filter out the initial
               DVT entry for each MINTIME interval.  This entry is all
               binary zeros and has no value in a PDB.
              -VMACRMFV will also check for a zero initial DVT entry and
               skip processing for it if detected.
              -These are companion programs and the same maintenance
               level of each must be used for successful results, i.e.,
               you MUST assemble the ASMRMFV program to use the VMACRMFV
               in 29.29.

Change 29.296 -DCOLLECT support updated to execute on ASCII platforms,
VMACDCOL       by conditionally specifying RECFM=S370VBS when MXG is
VMXGINIT       executed under ASCII.  (On z/OS that DCB parm is set by
Jan 14, 2012   the DSCB at OPEN; S370VBS reads V/VB/or VBS RECFMs.)
              -Variable ZTIME added to all keep lists (zEE time when zEE
               dataset was created) so that multiple executions of the
               IDCAMS DCOLLECT process can be differentiated by time.
              -The alternative to differentiate multiple executions of
               DCOLLECT is to use the variable INFILENM, which contains
               the "dsname/file-name" of the input data, but INFILENM
               is only "input" and is not kept in any DCOL dataset. You
               could add INFILENM to any DCOL dataset(s) with syntax
                 %LET MACKEEP=  MACRO _KDCOLxx  INFILENM  %  ;
               (and repeat the MACRO _KDCOLxx for each dataset) in your
               //SYSIN, but this new alternative is now created:
              -New macro variable &MXGINFIL is created with null value
               in VMXGINIT, and is added to the KEEP= list for all DCOL
               datasets.  So you could then insert this statement
                 %LET MXGINFIL=INFILENM;
               in your SYSIN stream, and variable INFILENM will be kept
               in all of the DCOLLECT datasets
   Thanks to Nick Johns, Sainsbury's Supermarkets Ltd, ENGLAND.

Change 29.295  Version 5.0 of NDM/Connect-Direct added jobname and the
VMACNDM        JES JCTJOBID to the PS and RJ records.
Jan 14, 2012
   Thanks to Peter L., whose company won't allow him to be cited.

Change 29.294 -Support for Velocity Software segments VNDNIC, LPARNW,
EXXMLPAR       and protection for USVCPU segment (no data of interest):
EXXMDNIC         dddddd   dataset
VMACXAM          XMDNIC   XMVNDNIC
VMXGINIT         XMLPAR   XMLPARNW
Jan 11, 2012  -Some values in XMLPARNW look wrong, and test data doesn't
               contain fields PCTMGTM nor PCTLOGICAL.
   Thanks to Robert Obee, IMSHealth, USA.

Change 29.293 -Support for CICS Statistics STID=144 adds new dataset
VMAC110        CICEPR.
Jan 10, 2012  -STID=143 message SKIP=4 with STILEN=156 was eliminated.
               There was no new data in the record.
   Thanks to Joachim Sarkoschitz, DATAEV, GERMANY.

Change 29.292  Execution under unix is now supported, having found and
BLDSMPDB       protected for these variants between WIN and UNIX:
VMXGALOC      -The XWAIT option is only supported on WIN, causing error
Jan 14, 2012   conditions on UNIX and zOS but is now protected.
              -If NOT EXIST does not work on UNIX, so the logic now used
               is %SYSFUNC(FILEEXIST(FILENAME)) which returns a zero if
               the file does not exist, or a 1 when the file exists.
                 Using SYSFUNC also allows the MXGNOTES to only appear
                 when we actually create or delete a directory.
              -md (or MD) is not recognized on UNIX as make directory so
               the full mkdir command name (in lower case) is now used.
              -rmdir (rd) is used to remove directories under Windows,
               but the UNIX command is rm with different subparameters:
                on Windows the command is rd /q /s
                on UNIX the equivalent is rm -r
              -These changes do not impact z/OS execution of BLDSMPDB.
               They have been tested under AIX 5.3, RedHat LINUX, and
               should work on all xNIX platforms.
   Thanks to Ruth Larsen, CA Technologies, USA.

====== Changes thru 29.291 were in MXG 29.09 dated Jan  4, 2011=========

Change 29.291  Lines 541 & 542 were missing a second close-parenthesis,
ANALGRID       some arguments were not UPCASE'd, and some selection
Jan 14, 2012   arguments were not printed on the log when used.
               Examples added and footnotes formats match grid formats.
   Thanks to David Bixler, FISERV, USA.

Change 29.290 -Invalid SMFTIME (Julian date 366 in 2011) in IBM BVIR SMF
VMACSMF        record (HISTORY FILE FOR TS7700 VTS TAPE SYSTEM) caused
Jan  2, 2012   a USER ABEND 69, because MXG logic for a bad SMFTIME was
VMACBVIR       intended to catch the reading of a non-SMF file.  This is
VMACNAF        the FIRST time an actual customer has ever ABENDed due to
               my choice, which I now realize is too harsh, so now, only
               the ERROR message is printed by default. You can enable
               the ABEND with %LET MXGABND=1; in your SYSIN.
                  (BVIR records are supported in MXG's TYPEBVIR code.)
              -A second SMF record type, from VTAM SuperSession product,
               also caused the USER ABEND 69 because its Julian date had
               an invalid Julian date of 637 in 2012! Two in two days!!
                  MXG's TYPENAF supports those SMF records, but the last
                  update was in 2005, and they have been incompatibly
                  changed, with new subtypes and inserted data fields;
                  MXG will be updated when doc is available.
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Jorge Fong, NYC Information Technology, USA.

Change 29.289  The ASMDBLKU program is an ASM version of UDEBLOCK, that
ASMDBLKU       constructs a valid VBS file on z/OS from a V/VB/VBS file
Dec 30, 2011   that was previously downloaded to an ASCII platform, as
               that file is just a serial stream of bytes that cannot
               be "back-loaded" and read on z/OS.  You upload the file
               from your ASCII platform back to z/OS, and then UDEBLOCK
               or ASMDBLKU will read those chunks and reconstruct those
               records into a valid VBS file on z/OS.  This would likely
               be needed only if IBM or another vendor needs for you to
               send the VBS file for a problem, and you only have the
               downloaded file.  UDEBLOCK required SAS on z/OS while
               ASMDBLKU doesn't. Additionally, UDEBLOCK was functional
               but VERY expensive for DASD space, since it created a
               single block for each record and wrote one record per
               track.  ASMDBLKU is smarter and wastes no DASD space.
               Multiple enhancements were made to the original ASMDBLKU:
              -The SMFOUT file is now generated as a true RECFM=VBS file
               so no DCB overrides in JCL are required to process it
               subsequently into a PDB build.
              -QSAM blocking is now used so that SMFOUT disk space
               requirements are significantly less than before when only
               one record per 32K block was output.
              -The PGSER macro system service SVC call to zero the
               output buffer after each I/O was replaced with MVCL logic
               thus providing up to a 64% CPU time reduction seen in
               testing.
              -The SMFOUT file now has DCB BLKSIZE=0 to use System
               Determined BLKSIZE.  Up to a 41% further reduction in
               disk space usage was determined in testing.
              -SMFIN and SMFOUT files now use DCB BUFNO=20 to reduce
               elapsed time with up to a 33% time reduction seen in
               testing.  There was some corresponding increase in below
               the line storage, but the program ran successfully with
               REGION=2M.
              -Most ASMDBLKU messages are reformatted for improved
               clarity, legibility, and content.
              -There are now separate and distinct messages for length
               errors for the SMFIN physical block, BDW, and RDW values
               respectively.  Previously, these types of error were not
               disclosed.
              -Length error messages now show the invalid length value
               and the related record number.
              -The SMFIN file is now checked for RECFM=U and DSORG=PS
               prior to any processing.
              -SMFIN and SMFOUT byte counts are now accumulated and
               reported.  SMFOUT byte counts do NOT include the BDW
               fields added by QSAM.  Up to 19 decimal digit totals are
               supported (9,999,999,999,999,999,999).
              -Minimum and maximum LRECL values read from the SMFIN file
               are now reported as message DBLKU25I.
              -Minimum and maximum LRECL values written to the SMFOUT
               file are now reported as message DBLKU26I.
              -A missing DD statement for SMFIN or SMFOUT now generates
               Return Code 16 as a severe error.
              -Two character Return Codes are now displayed.  Before
               Return Codes higher than 8 were not supported.
              -Record counts for SMFIN and SMFOUT files are now scaled
               up to 9 decimal digits (999,999,999).
              -Message DBLKU30I indicating final utility status is now
               the last message displayed.
              -Message DBLKU30I ended message is consistent in
               appearance and format with DBLKU00I started message.
              -PRINT OFF/PRINT ON added to suppress printing of the
               change log during assembly.
              -Prologue comments outside of the assembler source have
               been updated.

Change 29.288  Reserved Change.
Dec 30, 2011

Change 29.287  Many VMWARE objects were revised to contain xxxxVMHO and
EXNTDTSC       xxxxVMGU (Host and Guest names), changing NRNAMES, which
IMACNTSM       caused MXG NRNAMES Messages.  New DTS.ALERTCONFIG object
TYPENTSM       is supported.
VMACNTSM
VMXGINIT
Dec 31, 2011

Change 29.286  Variable LPARCPUS was incorrectly typo'd as LPARCPU. Been
ANAL113        this way since 2010, so I assume either no use, or users
Dec 22, 2011   recognized and fixed the typo without report to support,
               so Thomas gets this citation for finding the old error.
   Thanks to Thomas Puddicombe, CSC, USA.

Change 29.285  Presumed error in back level SAS 9.2 TS0202M2 on z/OS, as
FORMATS        NO error with 9.3 TS0202M3 nor 9.1.3/SP4 nor 9.3 on z/OS.
CREATEBC       A split line in EBCDIC text for $MGZOSVT caused no error
PROCSRCE       when PROC FORMATS created $MGZOSST/$MGZOSVT, but the two
Dec 22, 2011   formats could not be loaded when TYPEZOSA was executed by
               TESTUSR1.  The original ASCII text had a unexpected '0A'x
               character (Line Feed) in that line, but that only caused
               the EBCDIC text to be split there; no unprintable text
               character was created in EBCDIC, and the longer right
               hand value was still valid syntax, and was handled fine
               on all other z/OS SAS versions.
              -However, the unexpected '0A'x in ASCII text reminded me
               to look for other unprintables in the EBCDIC text, and
               three values ('01'x,'1C'x,'1D'x) are now detected in the
               PROCSRCE/CREATEBC QA members, and corrected before EBCDIC
               members are created for distribution.  Fortunately, none
               of these characters cause execution errors.
   Thanks to Scott Wiig, US Bank, USA.

====== Changes thru 29.284 were in MXG 29.08 dated Dec 20, 2011=========

Change 29.284  ANALGRID creates a color-intense grid report of the value
ANALGRID       of any variable, with time intervals as columns and date
Dec 20, 2011   as the row, to visually identify "hot spots".  This is
               based on the original design that was contributed by Bob.
               See http://www.mxg.com/downloads, ANALGRID for examples.
   Thanks to Robert A. Obee, IMS Health, USA.

Change 29.283  MXG 29.06-29.07. RMFINTRV with INTERVAL less than QTRHOUR
VMXGRMFI       created an invalid PDB.RMFINTRV dataset with too many obs
Dec 20, 2011   but with ERROR: INCONSISTENT RMF DATA printed on the log.
               Change 29.194 added TYPE75 summary data to RMFINTRV, but
               had INTERVAL=QTRHOUR instead of INTERVAL=&INTERVAL.
   Thanks to Yves Terweduwe, CIPAL, BELGIUM.

Change 29.282  The example summary of TYPE72GO to create ASUM72GO was
ASUM72GO       updated to support "SYNC59" data written at :59 or :00
Dec 20, 2011   intervals.
   Thanks to Brian Carter, HP Enterprise Services, ENGLAND.

Change 29.281  New CPUTASKTIMETM=ADDRESS*SPACE*DISPATCHED*TASK CPU TIME
VMAC30         and PCTTASKTIME=PCT WHEN*TASK WAS*DISPATCHED*ON PHYSICAL
BUILD005       variables are created in TYPE30_V and PDB.SMFINTRV data
BUIL3005       sets, to report the interval percentage of time when an
Dec 18, 2011   address space was dispatched on a physical processor.
               PCTTASKTIME can exceed 100% when multiple tasks are
               used for parallelism; values more than 25% are probably
               of most interest. You can create the variables from your
               PDB.SMFINTRV (or TYPE30_V) dataset, using:
                 CPUTASKGCPTM=CPUTCBTM-CPUASRTM-CPUENCTM-CPUDETTM;
                 CPUTASKZAPTM=(CPUIFATM-CPUEFATM-CPUDFATM)*256/SMF30ZNF;
                 CPUTASKZIPTM=(CPUZIPTM-CPUEZITM-CPUDZITM)*256/SMF30SNF;
                 CPUTASKTIMETM=CPUTASKGCPTM+CPUTASKZAPTM+CPUTASKZIPTM;
                 IF INTRVLTM GT 0 THEN
                   PCTTASKTIME=100*CPUTASKTIMETM/INTRVLTM;
   Thanks to Bernie Pierce, IBM, USA.

Change 29.280 -z/OS 1.13 ASM ERROR when assembling ASMTAPEE/MXGTMNT:
ASMTAPEE        "YOU SPECIFIED ASCENV=AR OR ANY ON THE SYSSTATE MACRO.
Dec 20, 2011     THE OPEN MACRO SUPPORTS ONLY ASCENV=P."
               But there is NO NEED to ASM a new load module under 1.13;
               your currently executing MXGTMNT module works just fine!

              -This IBM note (migration guide) is the ONLY clue of the
               incompatible change, which impacts OPEN/CLOSE macros, but
               doesn't mention any by name:
                DFSMSdfp: Accommodate 64-bit & AR mode rules enforcement
                in DFSMS macros; required if you have code that invokes
                DFSMS macros (but not all!).  Before z/OS V1R13, many
                DFSMS macros that did not support 64-bit or AR mode did
                not react to being invoked in 64-bit or AR mode, and
                generated code that might have been invalid in 64-bit or
                AR mode. Starting with z/OS V1R13, these macros are
                changed to issue an assembly-time message and suppress
                expansion if they are invoked in 64-bit or AR mode."

              -But as noted above, you didn't really need to ASM.  Now,
               from MXG's "asmguy", his comments on this change:

                Nothing is going to happen to an existing site using
                MXGTMNT and in fact the modification I have to make for
                this does not result in any change to the executable
                code.

                The SYSSTATE macro is an assembler directive - it sets
                a flag that tells any macros that support AR mode
                (Access Register, used for cross memory access) to use
                their AR mode compatible expansion. Macros that don't
                have an AR mode expansion used to ignore this because
                they had nothing to do, and it's always the coder's
                responsibility to make sure that when those non-AR
                compatible macros are executed, that the system is not
                in AR mode.  This is similar to switching back and forth
                from 24-bit to 31-bit mode: some macros can't tolerate
                31-bit mode.  Nothing has really changed though; it is
                still the coders responsibility to make sure the system
                is not in AR mode and macros that can't tolerate AR mode
                still can't, except now IBM is requiring the coder to
                explicitly set SYSSTATE to indicate to the assembler
                that the system is not in AR mode.
                Of course this is all very silly because the assembler
                can't know ahead of time that the system is or isn't in
                AR mode.  So regardless of whether or not SYSSTATE is
                coded this way the system still could be in AR mode,
                OPEN/CLOSE will still expand the same way, and if the
                system really is in AR mode OPEN/CLOSE will abend when
                executed.
                So the bottom line is that nothing has changed except
                our need to do something for no reason at all.
               -This ASMTAPEE is now ML-48 in the MXGTMNT startup msg.
   Thanks to Thomas Maguire, CitiGroup, USA.

Change 29.279 -ASMRMFV incorrectly calculated the RCDSDI offset, causing
ASMRMFV        an INPUT STATEMENT EXCEEDED RECORD LENGTH error, when an
Dec 13, 2011   RCD Table Record had an RCDSD Subsystem Delay array, but
               the record didn't have an RCDRD Response Time array.
              -Also a formatting error in message RMFV102I was corrected
               *** END OF DATA *** showing record input count.
   Thanks to Scott Chapman, American Electric Power, USA.

Change 29.277  NPM VCS segment with an invalid fifth ECSA segment (with
VMAC28         buffer size of 180 Kbytes), and without the DATA segment
Dec  8, 2011   for buffer size 64Kbytes.  The segment length is the 176
               expected length, so this circumvention skips the invalid
               segment if size is 180 and doesn't input the last data
               segment; when IBM fixes the record, the circumvention
               does not need to be removed.
               APAR OA38371 will correct the error, ETA Feb, 2012.
   Thanks to Karen Florup, Bank of America, USA.

Change 29.276  RMF III dataset ZRBASI variable ASIPER, PERIOD, is input
VMACRMFV       where ASIDMN, DOMAIN, was previously located. ASIDMN is
Dec  8, 2011   set to zero, its value ever since domains departed z/OS.

Change 29.275  The CLRMFV Clist will now check for non-zero Return Codes
CLRMFV         from the TSO LISTCAT LEVEL command.
Dec  8, 2011  -3 messages indicating the error, the data set name level,
               and the Return Code are now issued.
              -In addition, the first 4 lines of LISTCAT output for the
               error condition are displayed.
              -Prior to this change CLRMFV could issue a non-zero MAXCC
               message at completion and the reason was difficult to
               determine when LISTCAT was involved.
              -A non-zero LISTCAT Return Code is most commonly caused by
               a data set name level that does not exist.
   Thanks to Rodger Foreman, Acxiom CDC, USA.

Change 29.274  CA-1 TMS "Extended Format TMC Catalog" records are COMPAT
VMACTMS5       with ALL versions of MXG, as there was NO change in the
Dec  7, 2011   TMC's 340 byte record's length. The text of Change 28.040
               that thought there were new length(s) was wrong and gone.

Change 29.273 -Support for subtypes 34 and 35 of SYSVIEW for IMS creates
EXSV34DA         dddddd   dataset   description
EXSV34TR         SV34TR   SV34TRAN  Subtype 34 Transaction
EXSV35EV         SV34DA   SV34DAC   Subtype 34 DAC Segment
EXSV35TR         SV35TR   SV35TRAN  Subtype 35 Transaction
IMACSVIE         SV35EV   SV35EVNT  Subtype 35 Event Segment
VMACSVIE      -There are errors in the subtype 34 and 35 that I have
VMXGINIT       circumvented in this iteration, and SYSVIEW support has
Dec  7, 2011   confirmed the errors in the 34 and are looking at similar
               errors in the 35 record; both will likely be corrected in
               a future PTF from CA.  The value in IMRA_DBIOTIME is
               appears to be defective, also.
   Thanks to Anthony G. Hurlston, CSC, USA.

Change 29.272 -Variable SM1209CI and SM1209CX can be negative, but they
VMAC120        were INPUT as PIB, so a negative field becomes a large
Dec  7, 2011   positive value in MXG.  They are now input as IB.
               IBM Support reports than when work does not complete,
               ENDTIME isn't populated, and since CI is calculated as
               END-START, you get a negative value. But you can also get
               a negative value of -1 if WebSphere was unable to reach
               its internal service that supplies the END time: for
               example, an in-flight transaction when the server was
               configured to "Drain" work during termination, but that
               transaction still could have completed normally, so all
               of the other fields could be completely valid.
               IBM chose to NOT suppress these records even when they
               might contain incomplete values, because many other data
               values could be useful in diagnosing problems, and there
               should be relatively few of these records.  You probably
               should filter these records from your daily reporting
               totals, but rather than testing for a negative value in
               CI/CX, which have valid transaction data, IBM Support
               suggests to exclude transactions that have any value in
               the minor code, SM1209CJ, and perhaps to simply count the
               number that were excluded.
              -Variable SM1209BM now has value '7.0.0.15' instead of the
               value '7.0.0.*' when the fourth byte was GT 9.
   Thanks to Wayne Bell, UniGroup, Inc, USA.

Change 29.271  Variable R799CNF bit 3 now creates R799CPD='Y' if the
VMAC79         connect/pending/disconnected time is not valid.  All
Dec  6, 2011   other bits were already decoded into unique variables.
   Thanks to Heimir Hauksson, Barclays, ENGLAND

Change 29.270  Variable POUNAL was incorrectly multiplied by 4096 when
VMACQACS       it should have been multiplied by 1024 to convert KB to
Dec  6, 2011   bytes.
   Thanks to Thierry Wehrle,  BNP Paribas, FRANCE

Change 29.269  CA TLMS tape library records were changed sometime since
VMACTLMS       2003 when the MXG TYPETLMS was last updated, causing the
Dec  5, 2011   TYPETLMS dataset to contain mostly trashed field as MXG
               INPUT BAUNIQUE and BAVOL1ST as PIB4 but they appear to
               be only 2-byte fields.
   Thanks to Gene Palmer, CitiGroup, USA

Change 29.268  The new ASUM4HRS %macro calculates "Four Hour" running
ASUM4HRS       Average Values of the variable(s) you chose, but any
VGETFMT        integer number of hours can be used instead of "Four".
VGETLABL      -New VGETFMT/VGETLABL/VGETLEN internal macros retrieve the
VGETLEN        FORMAT, LABEL, and LENGTH of a variable so that the new
VMXGDUR        Average Value variable will have the same attributes as
VMXGSUM        the inputted variable.
VMXGPARS      -VMXGDUR,VMXGSUM adds duration tokens for EIGHTHR and
Dec 13, 2011   TWELVEHR.  These duration tokens now can be used:
                 ANNUAL, SEMIANN, QUARTER, MONTH, WEEK, DATE, SHIFT,
                 TWELVEHR, EIGHTHR, FOURHOUR, THREEHR, TWOHOUR, HOUR,
                 HALFHOUR, TWENTYMIN, QTRHOUR, TENMIN, FIVEMIN,
                 THREEMIN, TWOMIN, MINUTE OR SECOND, or DETAIL.
              -VMXGPARS now parses at two blanks to create a new line.

Change 29.267  Variable MPL72, the average number of concurrent resident
VMXGRMFI       ASIDs, is now created in PDB.RMFINTRV dataset.  Variables
Nov 29, 2011   APPCAVG and APPCMAX to count those ASIDs are also added.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.266  In TYPE70PR dataset, variables SMF70MSU and SMF70LAC are
VMAC7072       output in each TYPE70PR obs, but from the one TYPE70 obs
Nov 29, 2011   for "THIS" LPAR, so they are repeated for all LCPUADDRs
               in this LPARNAME (being kept here only so they can be in
               ASUM70PR).  Since they are z/OS-only relevant, they are
               now only populated in the SMF70CIN='CP' observations as
               their non-missing value in obs for VM, ZIIPs, etc, was
               unexpected and unwanted.
   Thanks to Lars Fleischer, SMT Data, DENMARK.

Change 29.265A MXG 29.07 corrections found during ITRM validation.
VMAC42        -Macro token PSUVMXA added in Change 29.120 was misspelled
VMACCIMS       as PSUMVXA in the GLOBAL statement in VMXGINIT.
VMACNTSM       Also, the hardcoded PDB. in MACRO _LTYVMXA PDB.VMXAINTV
VMACTPMX       in the (optional) ASUMVMXA member was corrected to the
VMXGINIT       default &PVMAINT macro destination DD for VMXAINTV.
Nov 29, 2011  -TYPECIMS variables TRNSTRTA/TRNSTARTU/TRNSTOPA/TRNSTOPU
               are no longer kept in CIMSTRAN as they are GMT offsets
               that are already used to convert times to local zone.
              -Variable VWGMACBY was accidentally removed from the NTSMF
               dataset VMWGUMEM.
              -TYPETPMX variables JBL54051,JBL55044-JBL55051 were always
               missing values, DKROCOND=WARN printed warnings due to
               typos in the variable name in the assignment statements.
               All of the JBL54xxx and JBL55xxx are also now labeled.
              -TYPE42 variables SMF42PTE and SMF42PTS are now labeled.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 29.265  Temporary DDNAME/FILENAME MXGTEMP is added to the MXG JCL
VMXGCNFG       for z/OS for future cases when more than one temporary DD
MXGSAS         is required. Currently, only SMFSRCH uses that DDNAME.
Nov 25, 2011

Change 29.264  Support for DFSORT for z/OS 1.13 adds COMPATIBLY two new
VMAC16         variables to TYPE16 dataset:
Nov 25, 2011     ICEMCPUZE='ZIIP*ELIGIBLE*CPU*TIME'
                 ICEMCPUZP='ZIIP*ACTUAL*CPU*TIME'

Change 29.263  Variables SMF30JQT/SMF30RQT/SMF30HQT/SMF30SQT are missing
BUILD005       values in PDB.SPUNJOBS for jobs that had TYPE30_5 job
BUIL3005       term obs with MULTIDD='Y' (which have only EXCP counts.)
Nov 25, 2011   And those TYPE30_5 with MULTIDD='Y' shouldn't ever have
               been used in BUILDPDB logic; MXG uses the step records
               for EXCP counts and only wanted the TYPE30_5 values from
               the "real" TYPE30_5 that has MULTIDD=' '.  So this change
               deletes MULTIDD='Y' observations during processing of the
               TYPE30_5 records in BUILDPDB and BUILDPD3.
   Thanks to Esther Remiro, La Caixa, SPAIN.

====== Changes thru 29.262 were in MXG 29.07 dated Nov 24, 2011=========

Change 29.262  First MXG 29.07 Only, and only if IMACEXCL is tailored to
VMAC110        read exclude fields.   WARNING: UNBALANCED QUOTES message
Nov 23, 2011   was printed, BUT ALL DATASETS WERE CREATED CORRECTLY.
               There were no unbalanced quotes, but 29.07 had introduced
               new " &CICXLTR " syntax into the existing PUT '***ERROR'
               statement printed when MXG detects there are excluded
               fields that are not supported in your IMACEXCL tailoring;
               the enhancement prints your selection statements from the
               current IMACEXCL member in use to help error resolution.
               And for reasons I know not now, that macro reference was
               the cause of the spurious warning.  Now SYMGET('CICXLTR')
               is used to retrieve the text for the PUT statement.
   Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.

Change 29.261 -An incomplete comment in Change 29.147 caused the new and
VMAC0          "true" IPLs datasets WORK.TYPE0 and PDB.IPLS to have ZERO
Nov 23, 2011   observations since that change in MXG 29.06.  That this
               error was accidentally discovered when trying to diagnose
               the unbalance quote warning in Change 29.262, by counting
               the two comment tokens ( /* */ ) separately to see if the
               counts are equal (because often unbalanced quote errors
               result from unbalanced comments, or new comments wrapping
               around commented text) suggests that few sites have IPLs
               that needed to be reported!
              -An incorrect pair of single quotes was changed to single
               quote in optional IMACICBB code, discovered the same way
               when counting quotes.  The pair was inside the comment
               block, and it's been there a long time; either tailoring
               users caught it and fixed it when enabling that optional
               CICS segment, or nobody uses this optional segment.
   Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.

Change 29.260  At only one site, the EXITCICS decompression of DB2 V10
VMACDB2H       records created records with INVALID HEADER values that
EXITCICS       caused STOPOVER ABEND.  This change thought the SMF data
Nov 23, 2011   was valid and added protection for the "truncated" data
Dec 18, 2011   segments, but that protection, while safe, was not needed
               and the problem in the SAS INFILE exit code in EXITCICS
               is being investigated by SAS Technical Support.  The DB2
               V10 compressed records can be uncompressed using the IBM
               utility program xxxxxxx until the problem is resolved,
               but this is most strange as MANY sites are successfully
               reading compressed DB2 (and CICS!) records with EXITCICS.

               This is the text of the original change:
               DB2 V10 record with INVALID HEADER caused STOPOVER ABEND.
               The ID=101 SUBTYPE=1 record had invalid offsets that are
               now protected.  The starting INPUT location was compared
               with the LENGTH of the record, but in this case, while
               the start offset happened to be less than the LENGTH,
               the length of data to be input was beyond the LENGTH,
               causing the STOPOVER ABEND.  Now both the start and end
               of each of these truncated name fields is validated and
               an error message "INVALID DB2 RECORD QWHC=...." printed.
               This text will be updated when an APAR/PTF is known.
   Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.

====== Changes thru 29.259 were in MXG 29.07 dated Nov 21, 2011=========

Change 29.259  Cosmetic. Diagnostic PUTLOG statement in IFCID=140 code
VMAC102        was left and printed A_N_= nnn .... on the SAS log for
Nov 18, 2011   each IFCID=140 record, but no other impact.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 29.258  Comparison of I/O Connect Times in RMF 74 and SMF 30 show
BUILD005         DEVCONTM SMF74CNN - DEVICE CONNECT TIME   2,058,143 sec
BUIL3005         SMF30AIC          - DASD CONNECT          2,150,200 sec
IMAC30IO         IOTMTOTL SMF30TCN - ASID IO all ASIDs     1,482,821 sec
VMAC30           IOTMTODD SMF30DCT - DD IO all ASIDS       1,253,434 sec
Nov 18, 2011     IOTMNODD  MXGcalc - TOTL not in DDs         229,387 sec
               RMF DEVCONTM and RMF SMF30AIC match quite closely, but
               that "hardware" IOTM captured in RMF and in SMF30AIC is
               much larger (2150200-1482821= 677,379 sec) than the IOTM
               that is captured in SMF30TCN, Address Space IOTM Total.
               To investigate, variable in TYPE30/JOBS/STEPS/SMFINTRV
                 IOTMNOCA='CONNECT*TIME*NOT CAPTURED*IN IOTMTOTL'
               is created to see if the cause of this uncaptured IOTM
               can be identified/correlated.  This text will be updated
               when more is known (including my asking IBM).
                 Some initial investigation with different data shows
                 -Of 9881 records with non-zero SMF30AIC, 1867 had a
                  negative IOTMNOCA, but only 40 were more than -10 sec
                  and the max negative was 2 jobs at -3 minutes.
                  MOST OF THESE WERE PROGRAM=DSNYASCP although our old
                  friend IFASMFDP had instances of -37, -17 and -12 sec.
                 -Of the other 7119 with positive IOTMNOCA, 592 were
                  greater than 3 seconds, AND ALL WERE PROGRAM=BPXPRFC.
                  which is the first step of an OMVS Spawned Address
                  Space Substep.  This suggests that the use of I/O by
                  USS-OMVS is ONE source of NOT-Captured IOTM in 30s.
                  There are many OMVS I/O counters in the OMVS segment
                  in SMF 30s, but none have the I/O Connect Time.
                 -But, a third sites data looking at DB2 and ADABAS jobs
                  shows large positive uncaptured values for ADABAS but
                  for DB2 jobs, large negative uncaptured, i.e., time in
                  SMF30TCN is LARGER than the time in SMF30AIC.
                 -This issue is under discussion with IBM z/OS folks;
                  I think that IOTM for USS is captured in AIC but not
                  in IOTM, and there are errors in which address space
                  records IOTM when there are "partner" database ASIDs,
                  but the total IOTM are correct.  We'll see!!

                    JOB     INTBTIME    IOTMTOTL   SMF30AIC   IOTMNOCA

                  DB2JOB01  13:14:00.15  0:10:23.25  0:00:42.06  -581.19
                  DB2JOB01  13:29:00.16  0:09:08.14  0:02:49.97  -378.16
                  DB2JOB01  13:44:00.16  0:07:51.57  0:01:34.28  -377.29
                  DB2JOB01  14:14:00.17  0:10:44.91  0:00:23.18  -621.73
                  DB2JOB01  14:29:00.21  0:10:22.25  0:00:55.89  -566.35

                  ADABAS72  13:14:00.05  0:02:46.90  0:12:50.75   603.85
                  ADABAS71  13:29:00.09  0:01:40.57  0:08:55.19   434.61
                  ADABAS72  13:29:00.09  0:03:54.11  0:16:02.57   728.45
                  ADABAS72  13:44:00.04  0:03:32.12  0:16:39.49   787.37
                  ADABAS72  13:59:00.02  0:03:05.23  0:16:01.69   776.46
                  ADABSD72  14:14:00.07  0:02:48.06  0:15:40.71   772.64
                  ADABSD72  14:29:00.05  0:02:05.13  0:11:20.71   555.58

   Thanks to Meral Temel, Garanti Teknoloji, TURKEY.

Change 29.257  WMQGETTM was not divided by the 4096 factor needed for
VMAC110        CICS 8-byte time durations, so it was a little too large!
Nov 17, 2011
   Thanks to Robert C. Crawford, USAA, USA.

Change 29.256  Change 29.120 revisions to ASUMVMXA were not included in
ASUMVMXA       that change until today.
Nov 17, 2011

Change 29.255  z/VM datasets VXSUMIOD and VXDEVTOT created by _SIODDEV
VMACVMXA       were left in //WORK, and dataset macros _LSUMIOD/_LDEVTOT
VMXGINIT       were not defined nor were &PSUMIOD nor &PDEVTOT; all are
Nov 16, 2011   now defined and used so they now default to //PDB.
               _RPT36 was revised to use _LDEVTOT as its input dataset.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 29.254  IMF variable ARRVTIME has resolution to only one decimal
VMACCIMS       place, but "newer" variable TRNARVTH time has two decimal
Nov 19, 2011   places, so ARRVTIME is now revised to use the DATE part
               of original ARRVTIME but with TRNARVTH's value for TIME.
   Thanks to Ken Jones, Xwave, CANADA.

====== Changes thru 29.253 were in MXG 29.07 dated Nov 14, 2011=========

Change 29.253  Preliminary support for Velocity Software Version 4.1 has
VMACXAM        eliminated warning messages about new segments, and most
Nov 14, 2011   new data fields are decoded, and this level set has been
               validated with data records thru MXG's QA job stream.
   Thanks to Douglas C. Walter, Citigroup, USA.

Change 29.252  The new SM120XP/SM120XZ times are in microseconds rather
VMAC120        than the (strange) duration units that MXG decoded. Also,
Nov 14, 2011   the MXG code caused INVALID ARGUMENT messages if executed
               on ASCII; those fields had not been translated to EBCDIC
               before they were used in the INPUT function.
              -The undocumented SM120XZ field is the CPU time that has
               been offloaded by WebSphere to zIIP engines, and it is so
               labeled now.
   Thanks to Millard Stephens, FMR, USA.
   Thanks to Warren Cravey, FMR, USA.
   Thanks to Raj Ramachandran, IBM, USA.

Change 29.251  Support for Demand Technology Performance Sentry NTSMF V4
EXNTDTSA       adds three new objects that create three new datasets:
EXNTVMWA         dddddd   dataset   description
EXNTVWVS         NTDTSA   DTSALRTR  DTS.AlertRecipient
IMACNTSM         NTVMWA   VMWAREh   VMWARE
VMACNTSM         NTVWVS   VMWHVSPH  VMWARE.HOST.VSPHEREREPLICATION
VMXGINIT      -Existing VMWARE objects were INCOMPATIBLY changed by the
Nov 12, 2011   insertion of a separate field for the 2nd instance field.
               Previously a single field contained both instance values,
               separated by a '::', that MXG parsed in the two instance
               variables.  MXG now detects NRNAMES=2 and uses separate
               fields when they exist, but that new NRNAMES value causes
               error messages (and no observations output), if you read
               NTSMF V4 (new)  records with MXG prior to 29.07.
                 These segments have two fields stored for xxxxINST/INS2
                     VWGC VWHC VWGD VWHD VWGN VWHN VWHS
                 These segments have one field that is still parsed to
                 populate the two xxxxINST and xxxxINS2 instances:
                     VWGA VWHA VWGM VWHM VWGS
              -New variables xxxxVMHO (VM*HOST), xxxxCPU (CPU*NUMBER),
               xxxxVMGU (VM*GUEST) are created from new fields added at
               the end of many existing VMWARE records.
              -Many new variables were added to existing VMWARE datasets
               in Version 4, too many to list here, but you can find all
               in VMACNTSM after the text "ADDED BY CHANGE 29.251" in
               the KEEP= list for all datasets.

Change 29.250  Windows SEVEN restricts writes to the root, program file,
VMXGPRNT       and other directories.  VMXGPRNT writes text/code to file
Nov 10, 2011   TMPPRNT and then %INCLUDEd TMPPRNT, but the MXG default
               file C:\MXGTEMP.SAS was in the root directory, so it was
               restricted from access.  The circumvention was to change
               filename TMPPRNT to INSTREAM, which is the MXG ddname
               specifically designed (and used internally by MXG) to
               dynamically create SAS code and/or MXG macro definitions
               "instream" and then %INCLUDE them.  TMPPRNT was never
               needed, but the original contribution was left asis.
                 FWIW: Even with the error, all datasets were printed;
                 The error prevented the printing of the variable name
                 along with its label, which is the ONLY reason you want
                 to use VMXGPRNT/VMXGPRAL, and why I saw the error, as
                 I use VMXGPRAL all the time, especially to understand
                 all of the variables in a new dataset I've just built.

Change 29.249  TYPSXAM example to create and sort all datasets to PDB
TYPSXAM        did not sort all fifty-six datasets.  The structure of
Nov 10, 2011   MXG support for XAM is different because XAM has five
               INFILEs that create fifty-six datasets.  Each infile has
               a macro pair _TXAMfff and _SXAMfff where _TXAMfff reads
               infile fff to create all fff datasets and _SXAMfff sorts
               the fff datasets to the PDB.  But, the _SXAMfff macros
               have not been updated in a long time so the newer XAM
               datasets were not in the XAM PDB data library.
               The simple resolution is to replace the five _SXAMfff
               macro invocations in TYPSXAM with the _SXAM product sort
               macro that sorts ALL of the XAM product's datasets (and
               all of the _Sxxxx product sort macros are validated to
               sort all datasets as part of MXG's robust QA jobstream).
                 An additional problem is avoided: the _SXAMDEV token
                 name is used for both the data set sort token and for
                 the _SXAMfff "infile fff" token.  Using _SXAM and not
                 using the _SXAMfff tokens avoids a major redesign and
                 new (INCOMPATIBLE) naming conventions.
   Thanks to Debbie Mattos, Lockheed Martin, USA.

Change 29.248  INVALID ARGUMENT TO SUBSTR in SYSLOG IEC205I message text
VMACTMNT       in ASMTAPEE/MXGTMNT tape mount/syslog monitor SMF record.
Nov  9, 2011   Parsing to INPUT the mmm after TOTALBLOCKS=mmm into the
               SYSLBLKS variable in TYPESYMT dataset expected 16 bytes
               and failed when there were fewer characters for mmm.  Now
               the parse stops at the first blank character.
                  This change in format of the IEC205I message occurred
                  after PTF UA90604, in APAR OA90604, which included
                  IFG0194J, which contains message IEC205I.
                  The prior PTF level was UA60149.
                  APAR OA38051 now documents:
                    Unnecessary information on the third line of IEC205I
                    Characters *HAS will appear after spaces
                  and it was these unexpected characters instead of
                  blanks that led to this MXG circumvention change.
   Thanks to Clayton Buck, UniGroup, USA.

Change 29.247  Support for ZEN FERRET, ZEN IMPLEX and ZEN OSA user SMF
EXFERSAW       records from William Data Systems GmbH products.
EXZOSAEV      -VMACMPLX - ZEN IMPLEX V5.1 adds two new variables
FORMATS        ESMFHCMN (CPC*NAME) and ESMFHLNM (LPAR*NAME) to its
IMACFERT       header (COMPATIBLY) and those variables are kept in all
IMACZOSA       ZEN IMPLEX datasets.
VMACFERT      -VMACZOSA. Support for ZEN OSA MONITOR V1.3 SMF record,
VMACMPLX       creates TYPEZOSA dataset with separate observations for
VMACZOSA       each value segment in each SMF record.  All four subtypes
VMXGINIT       (CHAN,LPAR,I/O,QUEUE) have the same record structure with
Nov 10, 2011   a fixed suite of OSA descriptors and one or more value
Dec 16, 2011   segments; MXG creates a separate observation for each of
               the value segments in each SMF record. Variable ZOSARESC,
               the resource name is EBCDIC text in the I/O and QUEUE
               record, but because it is a hex string in the CHAN record
               it's value is instead kept in variable ZOSARESH.
              -VMACFERT.  Support for ZEN FERRET V2.3.  INCOMPATIBLE.
               -Datasets FERRETCP, FERETEE, FERETRT datetime field was
           1    changed from mm/dd/yy to ddMONyy, so prior MXG versions
                will fail due to this INCOMPATIBLE change.
               -Two new fields have been added to the RTP and CP data
                section, a flag byte which indicates the type of history
                and a field showing the transmission priority.
               -Support for new Session Awareness Section creates new
                FERRTSAW dataset, although some minor issues have just
                been opened.
                -The key section for SAW has PLU and SLU, but those
                 fields are also in the data segment
                -Offset value to SAW is 106, but segment starts in byte
                 109; the offset value should be 112, and three less to
                 get to the SAS byte location of that offset.
   Thanks to Bruce Sloss, PNC Bank, USA.
   Thanks to Ronald Delp, PNC Bank, USA.

Change 29.246  If a filename in macro variable &PDB had a DASH, this
BLDSMPDB       compiler error was caused when %UPCASE(&PDB) was used:
Nov  8, 2011    "ERROR: A character operand was found in the %EVAL
                 function or %IF condition where a numeric operand is
                 required. The condition was: %upcase(&runday) eq
                 %upcase(&pdb) and %length(&rerun) ne 0 "
               because that DASH was not "masked" and was thus seen as
               a mathematical minus and not a part of the filename.
               This is obscure, to say the least, but SAS documents that
               neither %UPCASE() nor %STR() macro functions mask special
               characters, and that %QUPCASE() should be used instead.
               But in this specific test, the UPCASE() was never needed
               as both arguments were previously LOWCASED() which DOES
               mask special characters.  But the &RUNDAY EQ &PDB test
               cannot be used because that dash will still look like a
               minus sign, so the circumvention/re-design now uses
               IF %QUOTE(&RUNDAY) EQ %QUOTE(&PDB) to mask the DASH and
               successfully compile.
   Thanks to Mitchell Loren, Los Angeles County Education, USA.

Change 29.245  Change 29.195 added a test TMSCTL=:'TMSCTL#' to protect
VMACTMS5       when a non-TMC file is read, but that PoundSign was not
Nov  8, 2011   recognized with some character sets, so the test is now
               shortened to TMSCTL='TMSCTL' to avoid a false positive.
   Thanks to Akre Trond Maurita, EDB, NORWAY.

Change 29.244  Support for TMON/CICS V3.3 (mostly COMPATIBLE) TCE data.
VMACTMO2      -TMON/CICS V3.3 increased MRO's TAMRSYID field from 4 to 8
Nov 10, 2011   bytes, to hold the IPIC CONNID.  Unfortunately, while MXG
               does use segment length to keep aligned with each of the
               repeated MRO segments, inserting 4 bytes (instead of new
               8 bytes at the end) shifts/trashes the TAMRxxxx variables
               in the MONIMRO dataset due to this INCOMPATIBLE change,
               but there are no error messages nor condition code set,
               so V3.3 is INCOMPATIBLE ONLY IF YOU USE MONIMRO dataset;
               MXG Version 29.07 is required for V3.3 only for MONIMRO.
               And, fortunately, MONIMRO is very rarely used in reports.
               TMON records with earlier MXG versions will not cause
               errors nor ABENDS, just bad data in one seldom used
              -TAMRFLG1 and TAMRFLG2 fields are listed in V3.3 as new
               but were previously input and kept in MONIMRO dataset.
              -The DSECT for the header showed an optional, inserted
               40-byte extended-common-header segment, that would have
               made all V3.3 records incompatible, but, fortunately,
               that segment will NOT exist in V3.3 records.  And, more
               fortunately, MXG is updated to support its existence, so
               if/when it appears in a future record, it won't be an
               incompatible change.

Change 29.243  Calculation of ESTSCP1M had (0.57*(0.1*RNI)) but that was
ASUM113        a typo, now corrected to    (0.57+(0.1*RNI)). MXG's error
VMAC113        caused very small values in ESTSCP1M.
Nov  2, 2011
   Thanks to Dave Cogar, Wells Fargo Bank, USA.

Change 29.242  ONLY if executing MXG on ASCII, and ONLY if MXG default
VMAC102        option COMPRESS=YES was changed to COMPRESS=NO (which
Nov  1, 2011   causes SQL text to be broken into 100 byte chunks that
Nov  3, 2011   are output in dataset T102T14x instead of T102S14x), the
               DB2 Audit variables QW0140TX,QW0141TX,QW0142TX,QW0145TX
               were only readable text in the last segment or if there
               were less than 100 bytes of SQL text, because MXG's logic
               for this "chunking" algorithm was written long ago and it
               was only validated back then on z/OS.  MXG INPUT those
               fields with $EBCDIC100, but that INPUT should have been
               with $CHAR100, and then the INPUT function with $EBCDIC
               informat does that translation to readable text.
               And variable QW0124T's INPUT was also corrected.
   Thanks to Lars Fleischer, SMT Data, DENMARK.
   Thanks to Jorgen Lund, SMT Data, DENMARK.

Change 29.241  The example to split SMF records into 5 groups output DB2
JCLSPLIT       ID=102 records in "B" DB2 output file, and then failed to
Oct 28, 2011   add 102 to the NOTYPE list in the "E" group (ALL OTHER),
               so all 102s were output in both "B" and "E" output files.
               The 102 is now added to the NOTYPE list in "E".
   Thanks to Jennifer D. Ayers, WVOT Data Center, USA.

Change 29.240  The length of new variable SM1209FH could not be changed
VMAC120        as described in Change 29.081.  That text was rewritten.
Nov  8, 2011

Change 29.239  Variable SHIFT (also used as "ZONE") is now created in
VMAC7072       all of the RMF datasets, from STARTIME.
VMAC71
VMAC73
VMAC74
VMAC75
VMAC76
VMAC77
VMAC78
VMAC79
Oct 27, 2011
   Thanks to Frank Lund, EDB ErgoGroup, NORWAY.

Change 29.238  Change 25.142 and Change 28.211 identified USER SMF
VMACARB        VMAC's using "MACRO _xxxxID nnn%" instead of "MACRO
VMACDLMN       _IDxxxx nnn%" but those changes did not revise those
VMACDMON       members to use the more-recent-and-preferred  _IDxxxx
VMACHURN       syntax.  All VMAC's are now updated to support both forms
VMACM204       of the _ID macro to tell MXG what SMF record number to
VMACNSPY       process as product xxxx, but only to be consistent, just
VMACPDSM       in case we needed to generate them internally in MXG.
VMACRMDS       Note that using UTILBLDP is recommended to read multiple
VMACROSC       SMF records, and by using it's USERADD=xxxx/nnn argument
VMACRTE        set the SMF IDs, you do not need the _ID definitions in
VMACTSOM       your IMACKEEP tailoring.
VMACVVDS      -But some inconsistencies in _IDxxxx macron names exist:
VMACWYLA        Arbiter can write each of its subtypes with a separate
VMACWYLB         SMF record ID (_IDARB00-IDARB0C).
VMACX37         VMACM204 has _IDM204L and _IDM204S for Log/Since-Last.
Oct 26, 2011    VMACTSOM has _IDTSOMC and _IDTSOMS for Command/System.
                VMACHSM  has _IDHSMDS and _IDHSMD1 for Daily/FSR Stats.
                VMACHBUF was in 25.142 but had been updated to _IDHBUF.
                VMACWYLB was in 25.142 but had been updated to _IDWYLB.

Change 29.237  The calculation of ZIPUSED and ZIEUSED did not include
ASUMMIPS       the divide by CAPZIPRT*100.
Oct 24, 2011
   Thanks to Bernhard Bablok, Allianz Managed Operations, GERMANY.

Change 29.236  SMFSRCH is a VERY slick new tool to print all SMF records
COMPALL        that contain a specific "LOOKFOR" character text string.
COMPALLN       All SMF records are scanned for the "LOOKFOR" text
SMFSRCH          - using IF INDEX(_INFILE_,"LOOKFOR") syntax -
TYPESMF        and selected SMF records are written to the temporary
VMXGGETM       DDNAME/filename of MXGTEMP, from where TYPESMF program
VMXGPRAL       reads them to create every possible MXG dataset that can
VMXGSRCH       be built from SMF records, including "USER" SMF records.
Nov 11, 2011   Then, ONLY the observations in those datasets that have
               a variable containing the "LOOKFOR" text are printed.
                (This extra filtering is needed because some datasets
                 created from the selected records won't contain that
                 "LOOKFOR" text.  Consider if LOOKFOR=USERID, TYPE 30-4
                 records with that USERID will be selected and TYPE30_D
                 dataset will have many observations, one per DD name,
                 but the USERID field is not kept in dataset TYPE30_D,
                 so this final filtering prevents those unwanted "false
                 positive" observations from being printed.)
               The selected SMF records can be kept by making //MXGTEMP
               a permanent dataset, and the selected MXG-created SAS
               datasets can also be kept.
              -The //MXGTEMP DD may need to be added to your JCL.
              -SMFSRCH creates all possible datasets that can be created
               from IBM or USER SMF records.  IBM fixed-numbered records
               are automatically output, but only the USER SMF records
               that have a "MACRO _IDxxxx nnn % definition in IMACKEEP
               or in IMACxxxx will create observations (BUT: you can use
               the USERADD=xxxx/nnn argument to tell MXG the nnn you use
               for product xxxx and those datasets can be populated).
              -SMFSRCH reports the counts/sizes of SMF records input and
               selected, and maps USER SMF records to their product if
               the_IDxxxx macro was found.
              -New parameters added to VMXGGETM, used in new SMFSRCH:
                BEGTIME= earliest datetime to be selected
                ENDTIME= latest   datetime to be selected
                INCODE=  A stub of code executed after the header
                         is read
                LOOKFOR= text string to be searched in each SMF record
              -TYPESMF executes all TYPExxxx member that read any SMF
               records, reading SMF once for each TYPExxxx member, so
               it is only used in SMFSRCH to read the selected records.
              -VMXGPRAL's TITLE "PRINT OF FIRST MAX OBS.." corrected.
   Thanks to Jeffrey Dyke, USDA, USA.

Change 29.235  Change 29.125 (MXG 29.05-29.06) corrected DB2 IFCID=22
VMAC102        error with DB2 V10, but did not work for DB2 V9.  And, in
Oct 19, 2011   testing this update the T102I022 dataset was found to be
               in serious need of realignment.
   Thanks to Tom Buie, Southern California Edison, USA.

Change 29.234  Cosmetic.  Messages that EXCLUDED FIELDS are revised to
VMAC110        print the value of the triplets (dictionary records) that
Oct 19, 2011   are defined in your IMACEXCL tailoring, to make it easier
               to see that your UTILEXCL missed a dictionary record.

Change 29.233  Support for BETA93 Version 4.1.0: Subtype 25 was changed,
VMACBETA       with fields removed, causing wrong or missing values in
Oct 18, 2011   dataset BETA25, plus INVALID DATA FOR BETASTRT messages.
               These variables are now missing/blank with 4.1.0:
                 BETACPU  BETAELAP BETAEND  BETAETKN BETALTKN
                 BETAOWNR BETARTKN BETASTRT BETAVIOR BETAVIOW
               Additionally, missing value messages for some datetimes
               are circumvented by testing DATE GT 0 before calcs.
   Thanks to Michael Brenning, Finanz Informatik, GERMANY.

Change 29.232  DFSORT variables ICEMNVLX,ICEMNVLY, and ICEMNVLZ are not
VMAC16         documented as to their units, but data shows they are in
Oct 15, 2011   KB and not Bytes, so they are now multiplied by 1024 to
Oct 25, 2011   convert to bytes, and then so MGBYTES format will print
               16M rather than 16K previously printed. IBM has privately
               verified that the units are 16M and plan to update their
               DFSORT documentation to show the units attribute.
   Thanks to Neil Ervin, Wells Fargo Bank, USA.

Change 29.231  Support for Axway CFT/ESA (Cross File Transfer) two SMF
EXAXWAY        record formats ("2.3" and "2.4" but "2.3" format records
FORMATS        (8-byte vs 32-byte fields) are created/creatable with the
IMACAXWY       current CFTMON 2.6.4.  As there is no version number and
TYPEAXWY       the two records have same length, three one-byte fields
TYPSAXWY       that must be blank in 2.4 are used to identify version of
VMACAXWY       the record.  The 2.4 code with 32-byte fields is INPUT
VMXGINIT       first so the kept variables will be the longer length.
Oct 15, 2011
Nov 17, 2011
   Thanks to Richard Wendland, US Bank, USA.
   Thanks to Claude Breault, Centre de Services Partages Quebec, CANADA.

Change 29.230  Comparison of BMC IMF FA and IBM 56FA IMS Log records.
ASUM56FA      -Variable IMSRECCH added to CIMSTRAN to capture that IMS
EXIMS56C       log sequence number at the end of each IMS log record; it
FORMATS        was already in IMF56FA.  In TYPECIMS variable IMSRECNR is
IMACIMS        the _N_ sequence number and is NOT input from the record.
TYPEIMST      -IMS56FA records are written as pairs for a single IMF FAx
VMACCIMS       log record. The pair have the same ARRV and STRT times,
VMACIMS        and are written 5 milliseconds apart at transaction end.
VMXGINIT      -See the new IMS Technical Note in NEWSLETTER FIFTY-NINE
Oct 11, 2011   for a detail explanation of what is captured in IMS56FA
Oct 21, 2011   transaction event records, and a comparison with IMF.
Oct 27, 2011  -ASUM56FA program (still in testing) is added to MXG.

Change 29.229 -Variable TPMCA7JN is now input &PIB.2. + 2 versus &PIB.4.
VMACTPMX      -Variable TPMPI was decimal 243 for 'F3'x which is EBCDIC
Oct 11, 2011   numeric/character three. INPUTing TPMPI as $EBCDIC1 would
Oct 15, 2011   create a character variable with value '3', but TPMPI is
               a numeric variable, so the field into TPMPICH $EBCDIC1.,
               but then TPMPI=INPUT(TPMPICH,1.); will preserve TPMPI to
               remain a numeric variable, but with value 3 versus 243.
              -Datetime variable TPMDUEOT is now correctly populated but
               that variable can have a missing value.
   Thanks to Tren Csuy, Humana, USA.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 29.228  Variables SMF30SNF and SMF30ZNF, the zAAP and zIIP
BUILD005       factors that were used to normalize those Engine's CPU
BUIL3005       time are now kept in PDB.JOBS.  This updates Change
Oct 11, 2011   28.139.
Nov 17, 2011   Nov 17:  (DROP=_26NJE) was added to DATA TYPE26J2 to
               ensure dropping of those NJE variables from PDB.JOBS,
               if those variables were still somehow in SPIN26.
   Thanks to Jim S. Horne, Lowe's Companies, USA

Change 29.227 -Revised code to read HP MeasureWare NT records with new
VMACMWNT       fields added in GLOG record:
Oct  8, 2011      PKDSKPCT='PEAK*DISK*PERCENT'
                  PKDSKTIM='PEAK*DISK*TIME'
               and with the MXG code restructured to match the changed
               fields in the REPORT command used to extract the data.
              -DDMMYY8 format revised to DDMMYY10 for those dates.
   Thanks to Frank Tonneau, KBC Global Services NV, BELGIUM.
   Thanks to Geert Debatselier, KBC Global Services NV, BELGIUM.

Change 29.226  False ERROR.TYPE1415.DEFECTIVE EXTENDED INFO SEGMENT
VMAC1415       could print for a record without an Extended Segment. MXG
Oct  7, 2011   code now tests SMF14XSG first to validate existence.
   Thanks to Herbert Sweeney, Verizon Data Services, USA.

Change 29.225  INVALID THIRD ARGUMENT OF SUBSTR message and hex dump of
VMACDB2        the record was caused by DB2 V10 record with INVALID QMDA
Oct  7, 2011   segment for QMDAPTYP='JCC' - invalid because it does not
               match the DSNDQMDA DSECT in the DB2 Macro Library.  Now,
               the first three records are detected and MXGWARN messages
               are printed on the log, while a PMR will be opened.
   Thanks to Kim Morrell, RCMP, CANADA.

Change 29.224 -Utility VMXGGETM selects SMF records for counts or to be
VMXGGETM       written, and is enhanced with new arguments SYSTEM=,
Oct  3, 2011   BEGTIME=, and ENDTIME=, to select SMF records by SYSTEM
Oct 24, 2011   and/or ranges of SMFTIME values.  This could alternately
               be done with the powerful but obscure %LET MACFILE= logic
               (the "instream" equivalent of IMACFILE EDIT tailoring).
              -LOOKFOR=text, added: selects SMF records with that text.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.223  Support for APAR OA37114, ITRF (OMEGAMON IMS V420 TRF)
VMACITRF       TRFOUT record adds five new variables (COMPATIBLY) that
Oct  2, 2011   are output in MXG dataset ITRFMSG.
                  MI      ='SPA*INDICATOR*PSTMI'
                  MSRC    ='MESSAGE*SOURCE*FLAG*PSTFLAG1'
                  SCHF1   ='QUICK*SCHEDULED*PSTSCHF1'
                  SPAL    ='CURRENT*SPA*SIZE'
                  VSFLG   ='PRIMED*MSG*INDICATOR*PSTVSFLG'

Change 29.222  New tokenid values are now decoded in TYPE80A:
VMAC80A           TOKMEMLI='MEMLIMIT'
Oct  2, 2011      TOKSHMEM='SHMEMMAX'
               These "NO" value tokens have no data values so they are
               output in TYPE80TK with their TOKDANAM to record that the
               option was in effect, suppressing a NOT DECODED message:
                 NOCPUTIMEMAX  NOFILEPROCMAX NOPROCUSERMAX NOTHREADSMAX
                 NOMMAPAREAMAX NOASSIZEMAX
   Thanks to Angelito Lontoc, Northern Territory Government, AUSTRALIA.

Change 29.221 -CICS Statistics dataset CICDB2GL fields that were not
FORMATS        identified as new were overlooked, but are now added:
VMAC110           D2GPSIGN='PARTIAL*SIGNONS'
Oct  3, 2011      D2GCTHCR='COMD*THREAD*CREATES'
Oct 16, 2011      D2GPTHCR='POOL*THREAD*CREATES'
                  D2GREHIT='REUSELIMIT*HIT*COUNT'
              -Statistics Dataset CICSMDSA variable SMSDSAIN indexes the
               type of DSA, but values of '00'x have been found for RDSA
               EUDSA, and ERDSA, so the SMSDSANM (DSA Name) is used to
               set their value in SMSDSAIN to '04'x, '86'x, and '08'x
               when '00'x is found, and the FORMAT $MGCICDS (which maps
               SMFDSAIN to the name of the DSA) is updated with values
               '09'x (ECDSA), '8D'x (GCDSA) and '7F'x (ESDSA) that were
               undocumented in the CICS Data Areas.  Variable SMSDSAIN
               existed before variable SMSDSANM, the actual DSA Name, so
               with these undocumented and '00'x values in SMSDSAIN, the
               variable SMSDSANM should be used instead of SMSDSAIN to
               identify which DSA name is being reported in CICSMDSA.
              -The CICSMDSA variables for "ABOVE THE BAR" storage were
               wrong; they are in (undocumented, but now obvious) units
               of 1 GB, so they are now converted to bytes and formatted
               with MGBYTES to print the correct storage values:
               NOTE: ABOVE WRONG, THEY ARE IN MB NOT GB. CHANGE 30.094.
                These variables are DSA-specific and corrected:
                  SMSDSASZ SMSHWMDS SMSCSIZE SMSFSTG SMSHWMFS SMSLWMFS
                  SMSLFA
                These variables are in the header of the CICSMDSA record
                and thus repeated in each observation for the interval,
                but are also corrected:
                 SMSGDCUL SMSGDHWL SMSGDCUR SMSGDHWM
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 29.220  Support for z/OS 1.13.  REQUIRES MXG 29.03 or later.
VMAC7072      -VMAC7072.  IBM now stores 'FF' character ('C6C6'x !) for
VMAC71         the CPUID (SMF70CID) for engines that don't exist in the
Mar 24, 2011   CPU Data Section, which MXG saw as 50886 decimal, which
VMAC23         caused ARRAY SUBSCRIPT OUT OF RANGE error.  MXG logic
Apr  2, 2011   relocated the initialization of the two arrays that used
VMAC113        CPUID as the subscript, and created a DO group to only
VMAC6          process the CPU Data Sections with valid CPUID number.
VMAC42        -VMAC71.  TEST for OFFSWAP GE 0 AND NRSWAP GE 0 caused
VMAC64         INPUT STATEMENT EXCEEDED.  That test should have been GT
Sep 30, 2011   for a long time (since SWAP datasets went away!!).
               Accidentally didn't fail with prior z/OS but was wrong.
               Cosmetic: SWAPAUX calculation was moved back inside the
               DO group for (now non-existent) SWAP counts so that it
               doesn't cause a Missing Values message.
              -VMAC23.  Two new triplets are decoded, for the new Spin
               Lock and Bind Breakdown Instrumentation sections, but
               both are currently "For Internal Use Only".
              -VMAC6. The Reserved 16-bytes in SMF6INDC=7 Extended Mode
               segment contains SMF6IPV6, currently just input and not
               kept nor decoded.  SMF6URIL, added by OS25152 is not in
               the Pre-GA SMF Manual.
              -VMAC42. New variables added to several datasets:
                 SMF42GRU='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
                 SMF42GRJ='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
                 SMFA2GRJ='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
                 SMFA2GRU='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
                 SMF42JQ2='READ REQS*RETRIED FOR*CASTOUT*LOCK'
                 SMF42JRC='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
                 SMFA2JQ2='READ REQS*RETRIED FOR*CASTOUT*LOCK'
                 SMFA2JRC='READ REQS*RETRIED FOR*CASTOUT*LOCKS'
                 These fields were added by APAR OA30300.
              -VMAC64. New variable added to TYPE64:
                 SMF64RLM='CA-S*RECLAIMED*IN ESDS*SINCE CLOSE/EOV'
              -VMAC7072. New ID=72 Subtype 5 adds 13 new datasets:
                dddddd  Dataset   Description
                TY725A  TYPE725A  RMF III SERIALIZATION DELAY
                TY725B  TYPE725B  RMF III CMS LOCK DELAY
                TY725C  TYPE725C  RMF III CMS ENQUEUE DEQUE LOCK DELAY
                TY725D  TYPE725D  RMF III CMS LATCH LOCK DELAY
                TY725E  TYPE725E  RMF III CMS SMF LOCK DELAY
                TY725F  TYPE725F  RMF III LOCAL LOCK DELAY
                TY725G  TYPE725G  RMF III CML LOCK OWNER DELAY
                TY725H  TYPE725H  RMF III CML LOCK REQUESTOR DELAY
                TY725I  TYPE725I  RMF III GRS LATCH SET CREATOR DELAY
                TY725J  TYPE725J  RMF III GRS LATCH REQUESTOR DELAY
                TY725K  TYPE725K  RMF III GRS ENQUEUE STEP DELAY
                TY725L  TYPE725L  RMF III GRS ENQUEUE SYSTEM DELAY
                TY725M  TYPE725M  RMF III GRS ENQUEUE SYSTEMS DELAY
              -VMAC7072. New variables added to TYPE70XT dataset:
                 R7023CRT='EXEC TIME*ALL OPS*4096-BIT*CRT-FMT'
                 R7023CRC='NUMBER OF*ALL OPS*4096-BIT*CRT-FMT'
              -VMAC71.  New variable added to TYPE71:
                 SMF71LFA='LARGE*FRAME*AREA*SIZE'
               All Logical Swap and ESTORE variables are now reserved.
              -VMAC113. New variables added to TYPE113
                 SM1132MM='MACHINE*MODEL'
                 SM1132MT='MACHINE*TYPE'

Change 29.219  Support for Tivoli Workload Scheduler For z/OS Ver 8.3 is
FORMATS        completely incompatible with numerous changes to many of
IMACOPC        the tracklog file's records.
VMACOPC       -The _OPCVER macro is no longer used, since this update
Sep 24, 2011   supports the current version.  However, it may have to
Sep 27, 2011   be reinstated in the future since IBM still does not
Nov 14, 2011   provide the version number in each record.
              -There are numerous instances in different MT0TYPE records
               that end with a 4-byte field of hex zeros where the next
               MTDTYPE/MTDOPER pair were expected. Probably APAR-able,
               but it was more expeditious to detect and delete them in
               MXG than to take the time to document them for a PMR.
              -Invalid TRL 29 record caused INVALID ARGUMENT messages;
               the internal %DT macro now tests the incoming arguments
               and if the date or time is missing, RETURNs, preventing
               those cosmetic messages.  With or without those messages
               the date values returned were and are missing values.
              -Nov 14:
                 This is not a used record type so the error will not
                 be pursued until a customer who actually needs this
                 record type raises the issue.
              -There are one new MTD segment, MTDTYPE=16 that is not
               not documented in SC32-1261-03.
              -MTD17 segment is decoded.
   Thanks to Louis Deledalle, BNP Paribas, FRANCE

Change 29.218  Variable CNT30REC is added to PDB.STEPS dataset to count
BUILD005       the number of physical SMF 30 records created for this
BUIL3005       step (which were all consolidated into this observation).
Sep 22, 2011

Change 29.217  Corrected and improved support for the RCDSD section in
ASMRMFV        RMF III RCD data is provided.
VMACRMFV      -ASMRMFV now correctly calculates the length of the RCDSD
Sep 20, 2011   array that before could cause a SAS INPUT LENGTH ERROR in
Sep 27, 2011   VMACRMFV processing.
Nov  2, 2011  -ASMRMFV now correctly handles an RCDSD when a Class with
Nov 20, 2011   zero periods is detected.  An RCDSD cannot exist in this
EXZRBRCP       case because the RCDSD pointer is part of the period data
NOV 13, 2013  -VMACRMFV formats for the variables RCDRGCAP and RCDRCGD
               were reversed.
              -New variables RCDBPMI and RCDSDPH are added to the
               ZRBRCDD file by VMACRMFV.
              -VMACRMFV now reads both the Begin-To-End and Execution
               Phase data for each RCDSD entry.  Current documentation
               for RMF III did not clarify that each RCDSD entry is
               actually a pair of arrays for these two Phases.
              -ASMRMFV when processing a CFI Table with the RMF III
               CFDETAIL option in effect, did not correctly handle the
               condition where no connections exist for a CF Structure.
               This resulted in a corrupted CFI Table record and an SAS
               INVALID DATA message during VMACRMFV processing.
              -When the number of records output for a RMF III table
               exceeded 16,277,215 the output record counter in ASMRMFV
               would wrap to zero resulting in a very low incorrect
               count for that table type.  The total record count output
               by ASMRMFV would then not match the input record count
               from VMACRMFV.
              -VMACRMFV did not count the 4 byte RDW (Record Descriptor
               Word) in its report of bytes read but ASMRMFV did. Now,
               the RDW length is added so that the VMACRMFV byte count
               matches the ASMRMFV byte count.  However, as neither
               ASMRMFV nor VMACRMFV knows how many blocks were written,
               both byte counts will not include the 4-byte BDWs (Block
               Descriptor Word) for each block.
              -The RMF Monitor III version id variable names are now
               more consistent with the naming pattern of xxxVERG3.
               RCDVERS is now RCDVERG3 (RCD version id).  OPDVER is now
               OPDVERG3 (OPD version id).  SPGVER is now SPGVERG3 (SPG
               version id).
              -A new variable SVPRTC (Response Time Unit Code) is added
               to files with Service Policy data.  It is the decoded
               value of SVPRTU.  This indicates the response time units
               for a goal.  Values are I=Milliseconds, S=seconds
               M for Minutes, H for Hours, and ? for Unknown.
              -Added SPACE/NOSPACE parameter option:
               -SPACE displays two new messages RMFV030I and RMFV031I
                for each RMF Monitor III VSAM data set processed.
               -Message RMFV030I shows HARBA (High Allocated Relative
                Byte Address), HURBA (High Used Relative Byte Address),
                and AVAIL (Available Free Space in Bytes).
               -Message RMFV031I shows percent of Allocated Space Used
                and percent of Allocated Space Available (Free).
               -Both standard & extended format (EF) VSAM data sets are
                supported, but RMFV030I message format varies slightly
                to accommodate the much larger data sets possible in EF
                mode.
               -Assembler symbolic variable &SPACE can be changed by
                users prior to assembly from the distributed default of
                'Y' (SPACE in effect) to 'N' (NOSPACE in effect).
               -In conjunction with the existing INDEXES parameter SPACE
                is intended to assist MXG users in properly sizing their
                RMF Monitor III data sets.
               -Program prologue comments documentation was updated.
              -Nov 20, 2011:
               Change 29.204 (29.05) changed these version variables
                 PGPVERG3 CPDVERG3 CPUVERG3 CSRVERG3 CFIVERG3 ENCG3VER
                 OPDVERG3 SPGVERG3 CPUVERNU SVPDVN   SVPRTU
               from NUM to CHAR, which would create errors combining
               PDBs built with different MXG Versions, so they are now
               changed back to their original numeric nature.  This code
               change was NOT in MXG 29.07 dated Nov 14.
              -Nov 13, 2013:  Exit member EXZRBRCP is no longer called
               as ZRBRCP dataset is no longer output, because ZRBRCS and
               ZRBRCR now include ZRBRCP variables.
   Thanks to Neil Ervin, Wells Fargo Bank, USA.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 29.216  Cosmetic.  The comment in JCLIMSL6 that two %LETs are
JCLIMSL6       needed to set MACKEEP with _IMSVERS was wrong, as it is
TYPEIMSB       only in the STEP04 step that the _IMSVERS must be set.
Sep 19, 2011   In TYPEIMSB, the %INCLUDE of VMACIMS and IMACKEEP and
               the comment "to get _IMSVERS" was removed because that
               program has no dependency on any of the IMS macros.
   Thanks to Trevor Ede, HP, NEW ZEALAND.

Change 29.215  Variables T119STCK, TISSTCK and TIESTCK weren't converted
VMAC119        from GMT to LOCAL, but now are.
Sep 19, 2011
   Thanks to Robert Stoffregen, Great Lakes Higher Education Corp., USA.

Change 29.214  Almost cosmetic. In subtype 2 (TYPE78PA dataset) eight
VMAC78         variables ending with TOTL were mislabeled as samples but
Sep 19, 2011   they are the total memory for all samples, so they are
               now correctly labeled and added to MGBYTES format to show
               they contain memory values. Variables LGMOMIN/TOFRMIN are
               RB8 floating point fields, but they can contain hex value
               7FFFFFFFFFFFFFFFx (presumably on systems that don't have
               large memory frames), so they are now set missing (rather
               than decimal values 7.237E75!).  Some datetimestamps are
               no populated (hex zeros for TODSTAMP8), so they are set
               to a missing value (automatically, by SAS).
   Thanks to Tony P. Steward, CSC, ENGLAND.

Change 29.213  Support for DB2 V10 IFCID 225 (Subtype=4) INCOMPATIBLE.
CLEARDB2       The IFCID 225 record contains important storage metrics,
EXDB2225       and is written each statistics interval.  In DB2 V8, it
READDB2        was a trace record (ID=102,IFCID=225), creating T102S225
VMACDB2        dataset. In V9, it became a statistics interval record
VMXGINIT       (ID=100,SUBTYPE=4) creating DB2STAT4 dataset, but with
Sep 20, 2011   the same suite of 8-byte field/MXG-variable names, and
Sep 23, 2011   because it was then recognized as useful, those QW0225xx
               variables were added transparently into PDB.DB2STATS from
               either DB2 V8 T102S225 or DB2 V9 DB2STAT4 datasets.
               But now, DB2 V10 completely and incompatibly restructured
               (but also significantly enhanced the storage metrics) in
               the IFCID=225 record, still writing it as SUBTYPE=4, with
               some fields preserved, but with many new fields with long
               names, that I now use for MXG variable names, rather than
               struggling to create unique two-character suffixes and
               8-byte names (but two new prefixes are needed for the new
               separate storage used by DBM1 & DIST address spaces, so
               those sets of variable's names are QWA225xx/QAB225xx.
              -For DB2 V10, IFCID=225 records are output in PDB.DB2ST225
               dataset, and all variables in DB2ST225 are automagically
               merged into PDB.DB2STATS dataset with all these programs:
                 TYPEDB2/TYPSDB2/BUILDPDB/READDB2(IFCIDS=STATISTICS).
              -With DB2 V10, the PDB.DB2STAT4 dataset will have zero
               observations from DB2 V10 data, since it is populated
               only from DB2 V9 IFCID=225 records.
              -Test data from the same DB2 Subsystem (QWHSSSID), when
               the release changed from V8 to V10, had negative CPUTM in
               that statistics interval, because there is no field in a
               DB2 Header that clearly identifies when a DB2 subsystem
               is started (i.e., unlike CICS records, that have the JOB
               and READTIME). Normally, a restart resets QWHSISEQ to a
               smaller value, but in this case, that sequence number was
               larger in the V10 record than the prior V8 record!  So,
               MXG now tests both QWHSISEQ and SEQCHECK to circumvented
               the IBM omission.  That SEQCHECK test in the "bad" data
               interval did identify the problem, so the previous test
               of SEQCHECK GT 0 was enhanced to 0 LT SEQCHECK LE 5 to
               confirm the inteval is valid with no restart.
   Thanks to Betty Wong, Bank of America, UDS.

Change 29.212  Invalid JES3 JMF SMF 84 Subtype 1 Segmented Records.
VMAC84         After long discussions with JES3 SMF 84 Support Folks, I
Sep 16, 2011   understand how JMF creates multiple, segmented records
Oct 11, 2011   when there are more entries (FCTs) that will fit in one
               SMF record.  I can probably circumvent the absence of the
               JMF PROD section (source of start/end times!) that is NOT
               written in the 2nd and subsequent segments, but ONLY if I
               add post-processing steps to sort and to populate those
               missing values, and ONLY if there are no missing segments
               in the SMF file.
              -BUT, there is NO WAY that I can directly process each of
               these segmented records, because sections (FCT ENTRY) are
               truncated and split (a/k/a "spanned" in JES3 circles) and
               written in two separate physical SMF records, but there
               are no length fields to identify how many bytes were in
               which record.
              -Processing these JMF segmented records will require a new
               MXG design, to first reconstruct legitimate VB records
               without truncated sections, and then process those SMF
               records in a separate process. I get to do this because
               IBM regards this as "working as documented".
              -But, fortunately, JMF records are not typically created
               every day; they tend to be turned on and then off for a
               study, so we can live with waiting a day to process all
               of the JMF records from a study.  And, this one very
               small glitch in just one part of one subtype of the VERY
               comprehensive JES 3 Monitoring Facility is now bypassed,
               so all the rest of the JMF datasets are fully usable,
               all of the other segments of this subtype 1 record, and
               even those first 78 FCT entries are output; MXGWARN notes
               on the SAS log alert you there were FCT segments missed.

              -The specific case investigated: There were more FCT than
               would fit in one SMF record. FCT entries are variable
               length sections with many optional subsections.  JMF
               created 4 physical SMF records, segment numbers 1-4:

               -The First segment has JMF PROD, JMF GENE, R84JES3O and
                R84IRBSC offsets populated and has no FCT entries.
               -The Second segment doesn't have JMF PROD nor JMF GENE
                (needed for Interval Start and End times), and has only
                R84FCTO, which points to a valid FCT "Header" section
                (but R84FAWLN is the TOTAL length of all FCTs, and in
                R84FCTN=250 is the total count of all FCTs in all segs;
                what's needed here is how many FCTs are in THIS record!
                This second segment then contains 78 complete FCT entry
                sections, with R84FSEQN 1 thru 78, but then, only the
                first part of FCT number 79 was written in this SEGNR=2
                SMF record: the last 72 bytes were truncated.
               -The Third segment also has no JMF PROD nor GENE sections
                and does NOT contain an FCT Header section; it contains
                only FCT entries, but it's data area STARTS with those
                last 72 bytes of FCT entry number 79, and then FCT entry
                number 80 thru 187 are contained in this SEGNR=3 record.
               -Finally, the Fourth Segmented Record is like the third,
                no PROD/GENE/FCT Header, only FCT entries, but its data
                area (happens?) to start with FCT Entry R84FSEQN=188's
                byte one, and then FCTs 189 thru 250 are complete in the
                SEGNR=4 JMF record.
               -Unrelated to the above issues, truncated subtype 2
                records were discovered; IBM APAR OA37982 is now open to
                correct that error.
   Thanks to Lucy F. Trabulus, Bank of America, USA.

Change 29.211  Support for Throughput Manager APAR TMT6214, corrects the
VMACTPMX       invalid subtype 16 triplets when there were more than 76
Sep 21, 2011   steps in a job.  Those invalid triplets caused the ERROR:
               INPUT STATEMENT EXCEEDED RECORD.  The APAR corrects the
               error by creating multiple "continuation" records when
               when there are more than 76 steps, and installing their
               APAR eliminates the INPUT STATEMENT EXCEEDED ERROR.
               A new version of MXG is NOT required to support the APAR.
               But, to create observations in TPM16J dataset, you need
               Change 29.200, in MXG 29.06, to correct an unrelated MXG
               coding error that caused zero observations to be created.
               And, job-info variables were only added to the TPM16J
               dataset by THIS change, which will be in MXG 29.07, or
               can be requested now via email from support@mxg.com).
              -Support for Subtype 5 PCS segment is added, with those
               variables added to the existing TPMSLM dataset when the
               PCS segment is present.  The variable names are taken
               verbatim from the DSECT, so most are longer than the old
               8-byte ASM DSECT field names.

Change 29.210  The spelling of most variables available in this header
IHDRTMVS       exit for selection were wrong.  And, variable LMRKJOBC is
VMACTMVS       NOT the JOB name of the Landmark Monitor for z/OS, but is
Sep 14, 2011   the SYSTEM ID of that system, so it's label is corrected,
               and it can be used to select by SYSTEM.
   Thanks to Sam Bass, McLane Co., USA.

Change 29.209  DB2 V10 ID=100 SUBTYPE=1 with INVALID HEADER caused INPUT
VMACDB2H       EXCEEDED RECORD LENGTH error.  The defective record had
Sep 14, 2011   0122x (290 decimal) for the offset to the un-truncated
               QWHSOPID field, with that QWHSTYP=2 starting in byte 5375
               but 5375+290=5665, while the LENGTH of the data portion
               was only 5534 bytes.  Protection for this invalid header
               field has been added for all of the "untruncated" fields
               in the QWHSTYP=2 Header segment. IBM might be contacted.
   Thanks to Tom Pierce, LabCorp, USA.

Change 29.208  IBM i-Series (AS400) with more than 32 CPUs create two
VMACQACS       records in QAPMSYSC dataset (IBM "QAPMSYSCPU") for each
Sep 14, 2011   interval, with the first 32 engines in the first record
               and the second 32 engines in the second record.  You must
               now invoke the _SQAPSYC macro after your _TQAPSYC macro
               when you read the QAPMSYSC infile:
                 %INCLUDE SOURCLIB(VMACQACS);
                 _TQAPCON
                 _TQAPSYC
                 _SQAPSYC
               as the _SQAPSYC macro now sums those two records to
               create a single observation per interval, with the
               (corrected) PCTCPUBY percentage, and the new variable
               SCPUSUM with the total CPU time for all online engines.
   Thanks to Karen Florup, Bank of America, USA.

Change 29.207  MONWRITE Broken Control Record error due to incomplete
VMACVMXA       decoding of the 2.14 (SCLALL) Schedule Domain record.
Sep 13, 2011   The error message gives no clue the cause is the 2.14.
               This is the first MONWRITE file in a long time that had
               SCL (Schedule) domain records enabled; they are rarely
               turned on due to large volume, and provide low-level
               trace-like event data that requires pretty deep knowledge
               of z/VM internals to be useful, but now they too are
               supported.
   Thanks to David J. Schumann, Blue Cross of Minnesota, USA.

Change 29.206  Cosmetic.  VMXGSUM now dies gracefully with an MXGERROR:
FORMATS        message if there is no input dataset to process.
VMACEDGR
Sep 13, 2011
   Thanks to

Change 29.205  Cosmetic.  New format MGEDGCF decodes variable COMEFROM
FORMATS        to identify which variable will be missing when invalid
VMACEDGR       dates (e.g., 2000/000) are found in RMM records.
Sep 13, 2011
   Thanks to

====== Changes thru 29.204 were in MXG 29.06 dated Sep  8, 2011========

Change 29.204 -Support for RMF III RCD data, promised in Change 29.187,
EXZRBRCX       is now completed.  The new ZRBRCDX dataset contains the
IMACRMFV       Response Times for Reporting Classes and the existing
VMACRMFV       ZRBRCDT datasets is updated with Response Times for the
VMXGINIT       Service Classes.
Sep  7, 2011  -BY lists BZRTRCS/RCR/RCP/RCD were revised.
Sep 13, 2011  -Cosmetic changes, PCT, Version, etc.

Change 29.203  The labels for variables PC24RHWM and PC24SHWM for the
VMAC110        "Below 16MB" areas had ERDSA and ESDSA but those labels
Sep  7, 2011   should have been RDSA and SDSA.
   Thanks to Steven Kimball, Aetna, USA.
   Thanks to Victoria Lepak, Aetna, USA.

Change 29.202  The _IDEDGSA macro default value should be 512 but it was
VMACEDGS       left with 8Ax (138) after a test with user's data, and if
Sep  7, 2011   you have an ID=138 record in your SMF file, JCLTEXTx will
               fail (INPUT STATEMENT EXCEEDED).
   Thanks to Walter Noniewicz, State of Connecticut, USA.

Change 29.201 -Support for DB2 V10 restructured IFCID=217 record, which
VMAC102        caused T102T217 and T102U217 to have zero observations,
Sep  7, 2011   but (fortunately) the incompatible record format did NOT
               cause an execution error.  Dataset T102S217 now has only
               one unique variable, and new QW0217AL and QW0217AS ASIDs
               were added to T102T217 & T102U217 datasets respectively.
               Dataset T102V217 always has zero observations (after V8).
              -Unrelated, many offseg+lenseg LE LENGTH segment tests are
               corrected to offseg+lenseg-1; the incorrect test could
               have prevented reading legitimate segments.
   Thanks to Betty Wong, Bank of America, UDS.

Change 29.200  No observations were created in TPM16J dataset because
VMACTPMX       the MXG test comparing segment offset+length with the
Sep  7, 2011   record length was off by one, preventing input/output.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 29.199  The %SYSPROD(GRAPH) function doesn't validate that the
GOPTIONS       product is installed; it only confirms that the SETINIT
DOC            licenses SAS/GRAPH.  The MXG test in VMXGINIT to set
VMXGINIT       GOPTIONS for SAS/GRAPH examples in MXG GRAFxxxx members
Sep  4, 2011   (that was added without a change number in MXG 28.05)
               is true when the SETINIT said yes, but GOPTIONS/PATTERNn
               statements fail when SAS/GRAPH isn't actually present,
               with a 180 syntax error on the GOPTIONS statement, since
               those procedure-specific statements can't compiled if the
               product isn't installed. The new PROC PRODUCT_STATUS will
               list all products that are installed, but its use would
               require a PROC PRINTTO to trap its output to a file, a
               DATA step to read that file, and new %macro variable and
               logic, just to set these (optional!) SAS/GRAPH options.
               So, to prevent a 180 error in VMXGINIT, these statements
           GOPTIONS COLORS=(R B G CYAN MAGENTA ORANGE GREY BROWN BLACK);
           PATTERN1 V=S;  PATTERN2  V=L1; PATTERN3 V=R1; PATTERN4 V=X1;
           PATTERN5 V=L2; PATTERN6  V=R2; PATTERN7 V=X2; PATTERN8 V=L3;
           PATTERN9 V=R3; PATTERN10 V=X3;
               are no longer set in VMXGINIT, but are moved into the new
               GOPTIONS member, and all GRAFxxxx members were updated to
               set them with %INCLUDE SOURCLIB(GOPTIONS);
              -Also, MXG macro variables SASGRAF and SASSTAT are removed
               from VMXGINIT; they were never referenced in any MXG code
               and were set by %SYSPROD(), so they too could be wrong.
   Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.

====== Changes thru 29.198 were in MXG 29.06 dated Sep  1, 2011========

Change 29.198  iSERIES variable GDES21 was multiplied by 4096, but it
VMACQACS       should have been multiplied by 1024; when GDES11 is all
Aug 31, 2011   nines, GDES21 contains the storage assigned to the LPAR.
   Thanks to David Bixler, FISERV, USA.

Change 29.197  Two new segments in Velocity Software XAM Version 4.1 CPU
VMACXAM        record are decoded (PRCINS,PRCDIA) but not output as they
Aug 31, 2011   are repeated and hence need new datasets created, and the
               new STOASC (DEV) and new SYTLCK (SYS) weren't documented;
               these four segments were protected for the NEW SEGMENT
               messages but were not decoded.  See Change 29.253.

Change 29.196  MXG calculation of GMTOFF30 in SMF 30 records could be
VMAC30         off by 0.01 second, only for positive GMT Offsets, but
Aug 31, 2011   that impacted the BUILDPDB logic that combines MULTIDD=Y
               records for a step, when there were intervening SMF 30s
               from a different job in between the MULTIDD=Y records.
               The MULTIDD=Y records don't contain SMF30IST, so GMTOFF30
               must be retained from the prior non-MULTIDD record, but
               in this case, SMF30IST was 0.07 with SMF30ISS 0.073983 in
               the non-MULTIDD, but an intervening step's non-record had
               SMF30ISS of 0.075983 with SMF30IST of 0.08, causing MXG's
               (failing) fuzzy logic use GMTOFF30 of .01 in MULTIDD=Ys
               from the first step.  This caused BUILDPDB to not include
               the EXCP/IOTM counts in PDB.SMFINTRV for the MULTIDD's,
               so while TYPE30_V had 26 million EXCPs, only 24 million
               were in PDB.SMFINTRV for that day's DB2 intervals.
               The real culprits, aside from MXG's failing fuzzy logic,
               is the absence of GMTOFF in SMF 30 records, the absence
               of SMF30IST in the MULTIDD=Y records, and SMF30ISS being
               an 8-byte (LOCAL) TODSTAMP with microsecond resolution,
               while SMF30IST (GMT) is an 8-byte SMFSTAMP with only 10
               millisecond resolution.  The correction for MXG's logic
               error is to first use ROUND(SMF30ISS,.01) before its
               comparison with SMF30IST so both have 10 millisecond,
               rounded, values, so GMTOFF30 is correctly calculated for
               both positive and negative GMT offsets.
               A formal request to IBM SMF30 development to add the long
               overdue GMT Offsset has again been made so that MXG logic
               is not needed to compensate for its absence.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 29.195  MXG now terminates reading TMS data with USER ABEND 1234
VMACTMS5       and an ERROR message if the input file is not the TMC.
Aug 30, 2011   The TMSGRW TMS utility program creates 340 byte records
               that MXG read, but they produced incorrect results.
               MXG support requires the TMC data as its input file.
   Thanks to Srini Anne, State of California, USA.

Change 29.194  Statistics on Page Datasets are added to RMFINTRV (so if
VMXGRMFI       your DB2 DBAs add massive buffers and eat up all of your
Aug 27, 2011   page datasets, you'll at least be able to prove why the
               system died for lack of paging space!).  New variables:
                 MAXCOMN ='MAXIMUM*COMMON*SLOTS USED'
                 MAXLOCL ='MAXIMUM*LOCAL*SLOTS USED'
                 MAXPLPA ='MAXIMUM*PLPA*SLOTS USED'
                 NRDSLOCL='ACTIVE*LOCAL*DATASETS'
                 PCTLOCL ='AVERAGE*PERCENT*SLOTS USED*ALL LOCALS'
                 PCTMAXLO='MAXIMUM*PERCENT*SLOTS USED*ANY LOCAL'
                 PCTCOMN ='PERCENT*COMMON*SLOTS USED'
                 PCTPLPA ='PERCENT*PLPA*SLOTS USED'
                 SIO75CNT='PAGING*SIO*COUNT'
                 SLOTCOMN='COMMON*SLOTS*DEFINED'
                 SLOTLOCL='LOCAL*SLOTS*DEFINED'
                 SLOTPLPA='PLPA*SLOTS*DEFINED'
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.193 -ANALZPCR with PDB=SMF reads 113s as well as the others
ANALZPCR       and invokes ASUM113.
UTILBLDP      -UTILBLDP adds SMF 113 processing, conditionally:
Aug 27, 2011   If BUILDPDB EQ YES and USERADD does not contain 113 it is
               added to USERADD, and if INCLAFTR doesn't contain ASUM113
               it is added there.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.192  If the length of text in the list of DDNAMEs passed into
UTILCONT       UTILCONT exceeded 256 bytes, the list was truncated and
Aug 26, 2011   remaining datasets were not read.  Increased to 32000.
   Thanks to David Bixler, FISERV, USA.

Change 29.191  Windows 7 may error when attempting to write files to the
DOC            root directory (e.g., C:\ if that is your boot directory)
Aug 24, 2011   or to the c:\windows or the c:\program files directories,
               with a message about "Insufficient authorization to use".
               The error may be circumvented if the program is "run as
               authorized", but some MXG examples of ASCII syntax had
               "c:\filename.xxx" that could cause the error, so all
               instances of that syntax were revised to explicitly
               have a directory name (e.g. "c:\mxg\filename.xxx').
               In addition, some ASCII LIBNAME examples (which always
               point to a directory rather than a file) did not have
               a final slash character (LIBNAME PDB 'C:\PDB';) and thus
               were unclear that the syntax requires a directory name.
               Those examples are now changed to include a final slash
               (LIBNAME PDB 'c:\pdb\';) to reinforce that the object is
               a directory and not a filename.

Change 29.190  In this "JCLSPLIT" example, CICSTRAN was incorrectly sent
BLDSPSMA       to //WORK DD instead of the correct //CICSTRAN DDname.
JCLSPSMA
Aug 23, 2011
   Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.

Change 29.189  Support for Software AG's ADABAS SMF User record creates
EXADUSER       sixteen new datasets:
EXADPARM
EXADSTG          DDDDDD     MXG       MXG
EXADIODD         DATASET    DATASET   DATASET
EXADTHRD         SUFFIX     NAME      LABEL
EXADFILE
EXADCMD          ADUSER     ADABUSER  ADABAS USER RECORD
EXADCSP          ADPARM     ADABPARM  ADABAS PARM RECORD
EXADCSG          ADSTG      ADABSTG   ADABAS STG RECORD
EXADCSB          ADIODD     ADABIODD  ADABAS IODD RECORD
EXADCSF          ADTHRD     ADABTHRD  ADABAS THRD RECORD
EXADLOK          ADFILE     ADABFILE  ADABAS FILE RECORD
EXADMSGB         ADCMD      ADABCMD   ADABAS CMD RECORD
EXADMSGC         ADCSP      ADABCSP   ADABAS CSP RECORD
EXADMSGH         ADCSG      ADABCSG   ADABAS CSG RECORD
EXADREV          ADCSB      ADABCSB   ADABAS CSB RECORD
IMACADAB         ADCSF      ADABCSF   ADABAS CSF RECORD
TYPEADAB         ADLOK      ADABLOK   ADABAS LOK RECORD
TYPSADAB         ADMSGB     ADABMSGB  ADABAS MSGB RECORD
VMACADAB         ADMSGC     ADABMSGC  ADABAS MSGC RECORD
VMXGINIT         ADMSGH     ADABMSGH  ADABAS MSGH RECORD
Aug 24, 2011     ADREV      ADABREV   ADABAS REV RECORD
              -Datasets ADPARM, ADSTG, ADTHRD, ADFILE, and ADCMD are now
               decoded and validated with SMF records; the others have
               been coded but are untested with actual data records.
              -Datasets ADABTHRD and ADABFILE do not have fields that
               identify the Thread/File; counters ADTHRDNR and ADFILENR
               are created as the sequence number in each record, but in
               the test data, only the first instance in each record has
               a non-zero count (but there are many instances in each
               record with zero counts that perhaps should be deleted).
   Thanks to Wayne Campos, Corelogic, USA.

Change 29.188 -Blank TRANNAME in ASUMUOW occurred with MXG 28.05 that
IMACUOW        were not present with MXG 28.04, so new Case 4 example is
VMXGUOW        created to handle this sequence of DB2/CICS/MQ records.
Aug 23, 2011   Precipitated possibly by our changes to VMXGUOW, as the
               only site difference is that remote program definitions
               with a remote tranid on them are used.
              -New debugging TRACEUOW=TRAN option was added/needed to
               diagnose this problem: at the endpoint, it tells you
               everything there is to know about that particular UOW
               when the TRANNAME comes up blank.
              -All of the macros that are typically tailored are now
               defined in the IMACUOW member, and you should EDIT that
               member into your "USERID.SOURCLIB(IMACUOW) and make your
               tailoring there, and should NOT now ever have VMXGUOW in
               your "USERID.SOURCLIB" tailoring library.
   Thanks to Dave Campbell, SunTrust, USA.

Change 29.187 -MXG 29.05 only.  ASMRMFV could fail with 0C4 ABEND. Under
ASMRMFV        some conditions, IBM did not create a Period Data
VMACRMFV       Extension for a Report Class in the RCD record. The count
Aug 23, 2011   field was unexpectedly zero, causing a loop counter to
Sep  1, 2011   become negative, and the 0C4 during an MVCL command.
               This condition was never observed during testing.
              -This ASMRMFV properly outputs the RCD records, but the
               MXG code in VMACRMFV has not yet been updated to read
               those records, and prior VMACRMFV could fail trying to
               read the new RCD output, so this VMACRMFV skips over any
               RCDG3 records.  If you want those data, contact support
               since the VMACRMFV updates should be done by the time you
               read this text.
   Thanks to Neil Ervin, Wells Fargo Bank, USA.
   Thanks to Jason, Bierman, Great Lakes Higher Education Corp., USA.

Change 29.186  Support for InfoSphere Classic Federation Server Account
EXCFSACC       user SMF record creates two new datasets:
EXCFSACV
IMACCFS
FORMATS          DDDDDD     MXG       MXG
TYPECFS          DATASET    DATASET   DATASET
TYPSCFS          SUFFIX     NAME      LABEL
VMACCFS
VMXGINIT         CFSACC     CFSACCT   INFOSPHERE CLASSIC FEDSRVR CPU
Aug 15, 2011     CFSACV     CFSVIOL   INFOSPHERE CLASSIC FEDSRVR VIOLATE
               These possible violations are formatted in MGCFSTY:
                 101:NOT AUTH TO ISSUE A DROP TABLE FOR TABLE
                 102:NOT AUTH TO ISSUE A DROP INDEX FOR TABLE
                 103:NOT AUTH TO ISSUE A DROP VIEW FOR VIEW
                 104:NOT AUTH TO ISSUE A DROP PROCEDURE FOR STORED PROC
                 200:NOT AUTH TO CREATE TABLE
                 201:NOT AUTH TO CREATE INDEX
                 202:NOT AUTH TO ISSUE THE CREATE VIEW STATEMENT
                 203:NOT AUTH TO ISSUE THE CREATE PROCEDURE STATEMENT
                 300:NOT AUTH TO ISSUE A SELECT STATEMENT FOR TABLE/VIEW
                 301:NOT AUTH TO ISSUE AN UPDATE STATEMENT FOR TABLE
                 302:NOT AUTH TO ISSUE AN INSERT STATEMENT FOR TABLE
                 303:NOT AUTH TO CALL STORED PROCEDURE
                 403:NOT AUTH TO ISSUE A DELETE STATEMENT AGAINST TABLE
                 500:NOT AUTH TO ISSUE GRANT STATEMENT
                 501:NOT AUTH TO ISSUE REVOKE STATEMENT
   Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
   Thanks to Jim Poletti, Edward D. Jones, USA.

Change 29.185  GRAFWRKX used the old IMACWORK workloads to graph the
GRAFWRKX       workload variables and had work1-work99 parameters
Aug 13, 2011   for the new.  This change removes the need to specify
               workload parameters unless you want to alter the order
               in which the bars are stacked. Support for the old
               IMACWORK workloads is removed but VGETWKLD is used to
               capture all of the workloads unless you specify WORK1-
               WORK99 values. If you do not specify WORKx values the
               workloads are stacked alphabetically from bottom of the
               bar to the top. Except that uncaptured will ALWAYS be
               at the bottom.  If you specify WORK1-x workloads then
               the bars are stacked bottom to top starting with WORK1
               and going up numerically. You can still use the old
               IMACWORK definitions but the parameters are dead and
               do not function.

Change 29.184  GRAFRMFI used the old IMACWORK workloads to graph the
GRAFRMFI       workload variables and had no provision for the new
VGETWKLD       VMXGRMFI sets of workload variables.  It now uses
Aug 13, 2011   VGETWKLD to find the workloads that are defined in
               your RMFINTRV dataset (whichever method is used) and
               uses those workloads and labels to graph the workload
               variables.

               This is part of the ODS change 29.169, but the change in
               the member are so extensive that it warranted a separate
               change.
               Numerous issues corrected in this change/circumvention:
              -TIME VALUE NOT VALID FOR TIME FORMAT.  SAS V9.3 only.
               if all obs had a missing value for a TIME variable, that
               WARNING was printed; circumvented with WHERE clause, but
               that raised another WARNING about WHERE CLAUSE changing.
               The more insidious problem was the structure:
                PROC GPLOT;
                PLOT A
                PLOT B
                PLOT C
                PLOT D
                PLOT E ....
                Which worked fine unless all the obs had missing values
                for one of the variables. For example, if A has all
                missing values, then, instead of skipping over B, it
                made a copy of A.  Even worse, IF B C D E all had
                missing values, then you got 5 copies of A instead of
                the 1 you really wanted.
                The solution was to change the structure to:
                 PROC GPLOT;
                 PLOT A
                 PROC GPLOT;
                 PLOT B
                 PROC GPLOT;
                 PLOT C
                 PROC GPLOT;
                 PLOT D
                 PROC GPLOT;
                 PLOT E ....
                It runs a little slower but it eliminated that problem
                as well as the warning about the where clause changing.
                WARNING:  This routine can produce hundreds of graphs;
                the number is a function of the number of system, days,
                and workloads.
               -Code to execute from any populated RMFINTRV dataset:

                  %GRAFRMFI(PDB=WORK,
                            ODSTYPE=HTML,
                            ODSPATH=c:\HTMLTEST,
                            ODSFILE=GRAFRMFIBODY.HTML);

Change 29.183  Variable SMF19VLI never existed and is no longer created.
VMAC19         This is an overlay for SMF19TRK and SMF19TRM which were
Aug 13, 2011   invalid prior to this correction.
   Thanks to Neal Musitano, Jr., Department of Veterans Affairs, USA.

Change 29.182 -Invalid ASP.NET Applications record caused ERROR: INPUT
EXNTNEDP       STATEMENT EXCEEDED RECORD LENGTH (record had NRDATA=40
IMACNTSM       but header said 75 should exist, which is what MXG
VMACNTSM       expected).  Circumvention detects number of words in the
VMXGINIT       NT SMF record and deletes with an MXGERROR: message.
Aug 11, 2011  -New Object .NET DATA PROVIDER FOR SQLSERVER supported
              -Segments ACSR,SQGS,SQDA,SQSS,QLSS and SQBS have IDPROCES
               and SQLVERSN variables added.
              -After circumvention code was implemented, user found out
               the data file had been truncated during ftp transfer, but
               I left the update in place since it was tested and safe.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 29.181  %ANALDB2R argument PMIOS05 was not %UPCASED by MXG, so no
ANALDB2R       IO SUMMARY REPORT was produced if  PMIOS05=yes  was used.
Aug 11, 2011
   Thanks to Howard L. Curtis,  Progress Energy, LLC, USA.

Change 29.180  Harmless MXGWARN: DURATM=INTERVAL WAS SPECIFIED message
ASUMMIPS       is eliminated; DURATM was in the SUM= list when it should
Aug 10, 2011   not have been.
   Thanks to Bernhard Bablok, Allianz, GERMANY.

Change 29.179  Undefined TOKEN= $ZEKE_Z with TOKENID=59674 now skipped,
VMACTPMX       as are all of the defined-but-not-used ZEKE fields.
Aug 10, 2011
   Thanks to Scott Wiig, U.S. Bank, USA.

Change 29.178  Variable CECSER, a 6-byte text variable with only the
VMAC89         left four positions populated, with two blanks at the
Aug  9, 2011   right end, is now created in TYPE89 and TYPE892 datasets
               to match CECSER in the RMF TYPE70xx data.  SMF89SER is a
               three-byte character variable containing text in hex with
               format $HEX6., so it printed '0178E0', including the 01x
               CPUID value.  But CECSER in RMF records is only the text
               '78E0  ' value, and that is now the value in CECSER in
               the TYPE89 and TYPE892 datasets.
   Thanks to Warren Cravey, FMR, USA.

Change 29.177  Support for APAR OA35175, logstream statistics in SMF 23,
EXTY23LS       creates new TYPE23LS dataset with these new data:
IMAC23           SMF23LFA='AMOUNT*OF EACH*BUFFER*ALLOCATION'
VMAC23           SMF23LFG='VARIOUS*FLAGS'
VMXGINIT         SMF23LFH='HWM*BUFFER*ALLOCATION'
Aug  9, 2011     SMF23LFL='CURRENT*BUFUSEWARN*IN EFFECT'
                 SMF23LFM='CURRENT*DSPSIZMAX*IN EFFECT'
                 SMF23LFT='TOTAL*BUFFER*STORAGE*CURRENTLY*USED'
                 SMF23LSL='LENGTH*OF LOGSTREAM*NAME'
                 SMF23LSN='LOGSTREAM*NAME'
                 SMF23LF1='BUFUSEQARN*FROM THE*GLOBAL*OPTION?'
                 SMF23LF2='DSPSIZMAX*FROM THE*GLOBAL*OPTION?'
               APAR OA37002 (see NEWSLTRS) adds new DSPSIZMAX argument
               for SMFPRMxx to set logstream buffer size(s).
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 29.176 -APAR OA36816 adds bit to SM113CF1 in SMF 113 HIS record
FORMATS        that is now decoded by $MG113FL format to display:
Aug  9, 2011   '08X:LOST COUNTER DATA' when SM113CF1 is printed.
              -And it adds new option of interest to HIS SMF 113 users:
                 The DATALOSS parameter for the F HIS command has been
                 enhanced to control what action is taken by HIS when
                 any type of instrumentation data is lost. Prior to this
                 enhancement, the DATALOSS parameter only reacted to
                 sampling data lost due to a buffer overflow. The
                 DATALOSS parameter now reacts to instrumentation data
                 lost due to a Loss Of Sample Data Measurement Alert and
                 a Loss Of Counter Data Measurement Alert.  By
                 specifying DATALOSS=IGNORE these types of
                 instrumentation data loss can now be ignored, and the
                 instrumentation run may continue.

Change 29.175  Support for APAR OA35617 documents two new SMF30PF2 bits
VMAC30         creating SMF30CRM (ASID IS VELOCITY GOAL MANAGED) and
Aug  9, 2011   SMF30PIN (INCOMPLETE WLM DATA?), one-byte flag variables.
               SMF30PIN was just observed (overlooked) and now created.
               The APAR documents SMF30CRM with this note:
                 the address space matched a classification rule which
                 specified "manage region using goals of both", which
                 means it is managed towards the velocity goal of the
                 region.  But, transaction completions are reported
                 and used for management of the transaction service
                 classes with response time goals.  This option should
                 only be used with CICS TORs, the associated AORs
                 should remain at the default "manage region using
                 goals of transaction".

Change 29.174  Support for APAR OA34895 adds new EXCP/IOTM SMF 30 fields
IMAC30IO       (transparently) with step/interval total I/O Count and
VMAC30         I/O Connect times (new MXG variables EXCPMISS/IOTMMISS)
Aug  9, 2011   with counts that would have also been in a DD segment(s),
Aug 27, 2011   but weren't, because an SMF Lock (to update the TIOT for
VMAC434        serialization) could not be obtained. The xxxxMISS counts
VMAC40         ARE included in the asid/step totals, EXCPTOTL/IOTMTOTL,
               read directly from the SMF record, but were not counted
               in any of its DD segments, so they are ALSO already in
               EXCPNODD/IOTMNODD, the "NOT COUNTED IN DD SEGMENT" vars
               MXG creates with EXCPNODD=EXCPTOTl-EXCPTODD.
                 All of the above is true, WITH OR WITHOUT this change.
               This change only creates the new variables and keeps them
               in datasets in TYPE30_V, TYPE30_4, TYPE30_5, TYPE30_6 and
               PDB.SMFINTRV, and in BUILDPDB's PDB.STEPS/PDB.JOBS (where
               member IMAC30IO controls which SMF 30 I/O variables are
               kept in the those BUILDPDB/BUILDPD3 datasets.  These new
               "missed" variables would be useful to at least partially
               explain steps with large values in NODD and TOTL fields,
               if the xxxxMISS values are non-zero.  See NODD in ADOC30.
              -Compiler faker added in VMAC434/VMAC40.
              -Transparently added, but if you (incorrectly) have an old
               VMAC30 in your tailoring library, that will cause
                ERROR: EXCPMISS NOT FOUND in BUILDPDB at MXGSUM3.
   Thanks to Christa Neven, KBC Global Services, BELGIUM.

Change 29.173  Support for APAR OA36966 for JES3 expands NJEJOBNO to
VMAC57         four bytes in SMF 57 record.
Aug  9, 2011

Change 29.172  APAR VM64961 adds SMF 113 Hardware Monitor counters to
EXPRCMFC       the z/VM MONWRITE data on z/10 and later processors. PTFs
VMACVMXA       will be available for z/VM 5.4 and z/VM 6.1 and 6.2.
Aug  8, 2011   Dataset VXPRCMFC contains the same variable names as
               TYPE113, but there is no SYSTEM variable in z/VM so it
               wasn't added into ASUM113.  This support was in MXG
               29.04, but undocumented.

Change 29.171  The example WEEKBLDT had four instances of _WKBLD that
WEEKBLDT       should have been spelled _WEEKBLD; they caused a SAS
Aug  7, 2011   180 syntax error, after creating WEEK.TYPE72 dataset.
   Thanks to Ron Wells, American General Finance, USA.

Change 29.170  The insertion of the _TODAY old style macro caused
BLDSMPDB       the forceday option to fail.
Aug  7, 2011
   Thanks to Cletus McGee, ALFA Insurance, USA.

Change 29.169  MXG examples that use ODS HTML on ASCII that did not have
ANAL72GO       a PATH= statement failed with
ANALACTM         ERROR: a COMPONENT C:\.... IS NOT A DIRECTORY."
ANALAVAI       but only in QA Tests with SAS V9.3; no user had reported
ANALDB2B       this error, which can occur with SAS V9.1,V9.2, or V9.3,
ANALHTML       nor had we seen the error with earlier SAS Versions.
ANALIDMS       SAS Note SN15046 says to eliminate the error you should
ANALINIT       use this recommended syntax on ASCII platforms:
ANALPKGS           ODS HTML PATH="C:\mxg\"(URL=NONE) body="temp.html";
ANALRAID       Previously, MXG had inconsistent ODS examples; this
ANALRANK       change formalizes MXG support to create HTML output.
ANALS225      -We use two new %macros VMXGODSO/VMXGODSC to OPEN/CLOSE
GRAFCEC        ODS output in our examples, and they can be used in your
GRAFRAID       report programs, to create HTML output. The macros can be
GRAFRMFI       invoked on z/OS to send html output to either a PDSE or
GRAFTAPE       to a ZFS filesystem, or on ASCII to .html files.
GRAFWLM       -A consistent set of macro variables are used in arguments
GRAFWRKX       so %LET's can be used to change ODS argument's values.
VMXGODSO       change revised all of the MXG members with ODS examples.
VMXGODSC      -SAS ODS inconsistencies we discovered and handle:
Aug 14, 2011   the URL= must be either a quoted string or unquoted NONE,
               and the STYLE= and TRANTAB= arguments are unquoted.
              -SAS HTMLBLUE default does not break PROC PRINT output
               lines, requiring scrolling across to see all variables.
               ODS LISTING; will change the default back to what you
               were used to for all interactive output.

Change 29.168  Velocity Software XAM variable PERFCPU is now in seconds
VMACXAM        and formatted TIME12.2 in datasets XMHSTAPP and XMHSTSFT.
Aug  1, 2011   Those datasets contain HSTAPP resource usage of a group
               of processes that form an application (in snmpd.conf or
               ESATCP 'guessing'). If you want to look at individual
               processes, you would use dataset VXVSISFT instead.
   Thanks to Joe Faska, Depository Trust, USA.

Change 29.167  MXG example reports using PDB.RMFINTRV only recognized
VGETWKLD       workload names created with (now archaic) IMACWORK logic.
Aug  1, 2011   The VGETWKLD internal macro will parse the workload names
               created by the (now-recommended) WORKnn= arguments that
               should be used to define workload names in RMFINTRV.

Change 29.166  For DB2 Version 8.1, dataset DB2GBPST was mostly wrong as
VMACDB2        two 4-byte reserved fields (after QBGLXR and QBGLMR) were
Aug  1, 2011   not input, causing all subsequent variables to be wrong.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.

Change 29.165 -Variable POSIT was incorrectly zero, as only the first 8
VMACRACF       bytes of the 10-byte POSITCH field were INPUT as numeric.
Jul 31, 2011  -Vars OTHRSPEC/OTHRSPE1 are renamed to FRSTSPEC/OTHRSPEC
               and re-labeled.
   Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
   Thanks to Christopher Roberts, Euroclear, BELGIUM.

Change 29.164  Variables S17FBKNM S17SEXNM S17FMFNM are now kept in the
VMAC117        S117THRD dataset.
Jul 31, 2011
   Thanks to Fabio Massimo Ottaviani, EPVTECH, ITALY.

Change 29.163  MXG 29.05, Change 29.129 for z/VM Crypto Record (5,10),
VMACVMXA       from z/VM 5.4, if PRCAPMCT=6, because that subtype does
Jul 29, 2011   NOT have the undocumented 32 bytes found in 4 and 8, and
               this was the first instance of that subtype.  Since MXG
               can so readily circumvent the IBM error (see 29.129), and
               since this is an (ancient?) z/VM 5.4 record, fixing the
               doc does not have (appropriately, IMO) high priority, as
               this is a fairly obscure event - how many do use crypto
               on z/VM systems, especially z/VM 5.4 systems.
   Thanks to Tom Draeger, Aurora Health Care, USA.

Change 29.162 -Corrections/enhancements to TYPEIMST (IMS56FA TRANSACTs):
VMACIMS       -STRTTIME and ARRVTIME were reversed in MXG logic.
Aug  2, 2011  -But, after fixing, ARRVTIME can be greater than STRTTIME:
               - Case 1: WFI and PWFI, because the UOR Start Time begins
                 when the previous transaction completes, then the
                 program waits for the next message to appear, so the
                 STRTTIME=ARRVTIME is the wait time of the program.
               - Case 2: Message Switch; the first transaction's
                 STRTTIME should be greater than the ARRVTIME unless
                 it is a WFI; see case 1, but the Message Switch
                 transaction afterward will have the UOR STRTTIME of
                 the first transaction, therefore the ARRVTIME of the
                 message will be greater than the STRTTIME.
               In both cases, IF ARRVTIME GT STRTTIME then QUEUETM=0
               and SERVICETM=RESPTM and STRTTIME=ARRVTIME to match IMF.
              -Comparison of QUEUETM/INPQUETM between IMS56FA and IMS
               has differences of up to 0.1 seconds, because ARRVTIME in
               IMF has only to 0.1 second resolution while in IMS56FA it
               has TODSTAMP resolution; this also caused similar small
               differences between RESPTM/RESPNSTM variable's values.
              -PROGTYPE in prior data was a one-byte text character, but
               in IMS56FA it is a more robust bit map, so the data value
               in the 56FA record is now input into PROGTYHX with $HEX2.
               format, then PROGTYPE is constructed as a test character.
               One-byte flag variables are created from PROGTYHX bits:
                 BMP='BMP?'
                 DBCTL='DBCTL?'
                 IFP='IFP?'
                 JAVA='JAVA?'
                 MODE='MODE*MULTI*OR*SINGLE?'
                 MPP='MPP?'
                 REMOTE='REMOTE?'
                 WFI='WFI?'
              -These variables are now not kept in IMS56FA dataset:
                 TPCPTICH TPCPSOXN
               and removed from the BY list for that dataset, as they
               do not exist in that record.
              -NMSGPROC=1 is set ONLY if CALLMSGU is GT 0 because 56FA
               records are also written for a Message GU-CALL that did
               not get a message from the IMS Message QUEUE; for MPPs
               these show only a small CPU time, TPLTERM is blank, and
               no calls are counted at all.
              -TPLTERM was renamed LTERM in IMS56FA dataset.
              -IMSVERSN is set to 10.1 instead of 10.10.
              -Either SYSABEND or USRABEND, but not both, are populated;
               COMPCODE='00000C4000'X correctly set SYSABEND='0C4';
               but also incorrectly set USRABEND='U16E3' (i.e. 16,000+).
              -If there are no GU calls to the message queue, then there
               is no ARRVTIME, so neither QUEUETM nor RESPTM exist; they
               are both set to missing values when CALLMSGU LE 0.
              -IBM APAR PK773284 TPEXTIME IN X'56FA' TRANSACTION LEVEL
               STATISTICS RECORD IS INVALID WHEN THE UNIT OF WORK ABENDS
               exists to correct this intermittent problem:
                  TPEXTIME is IMSCPUTM in MXG IMS56FA dataset; values
                  'FFFFFFFBAFBA5708'x &'FFFFFFFCC4B4F0C8'x occurred in
                  two transactions with SYSABEND='0C4' (but the other
                  0C4's had zero values.  MXG prints an error message
                  for the first five instances, and sets IMSCPUTM to a
                  missing value when an invalid CPU time value is found.
   Thanks to Rudolf Sauer, T-Systems, GERMANY

Change 29.161  MXG 29.03-MXG 29.05, dataset MQMCFMGR was wrong, with 64
VMAC115        identical outputs of only the first segment for each SMF
Jul 29, 2011   ID=115 record, if QESTSTR was non-blank in that segment,
               so there were MANY more obs created than should have been
               and many valid segments were not output.
   Thanks to Paul Volpi, UHC, USA.

Change 29.160  VMXGFIND failed when dataset names created by SAS were
VMXGFIND       32-characters, because VMXGFIND added a prefix of text
Jul 28, 2011   "LIBNAME_" to that SAS-created dataset name.  Now, if
               only a single input LIBNAME is found, that prefix is
               omitted and when there is more than one libname, if the
               result exceeds 32 characters, only the first 32 are used.

Change 29.159 -Support for SAS Version 9.3 requires SAS Hot Fix SN43828.
FORMATS        This error in SAS Portable Code, in compiling the %macro
Jul 26, 2011   %LET statement, and the %SYSRPUT and %SYSLPUT statements,
               could impact SAS V9.3 on ALL platforms, although it was
               only detected in MXG QA tests on z/OS, in the members
               ANALCNCR and VMXGRMFI, both of which invoke %VMXGSUM.
               The compiler error caused misalignment between the left
               half (variable name) and the right half (value) of the
               %LET statement.
              -On ASCII, 32-bit and 64-bit SAS versions are different
               operating systems, even on the same platform; so separate
               "bit-specific" FORMAT directories are required, but the
               same FORMATs can be used for V9.2 or V9.3 for the same
               "bit" version. Member FORMATS errored when I tried to run
               it under 32-bit V9.3, writing to a V9.2 64-bit directory.
              -On both ASCII and z/OS, SAS Data Libraries can be read or
               written by either V9.2 or by V9.3, and on ASCII, under
               either 32-bit or 64-bit environments.

Change 29.158  NDM-Connect Direct CT Version 5 record has 4 new fields.
VMACNDM        There is no version value in the record, but there is a
Jul 26, 2011   new offset to 2 of the 4 new fields, so that offset is
               used to conditionally assume all four are present.
                 NDMJOBID='JCTJOBID'
                 NDMJOBNM='JCTJBNAM'
                 NDMRIP6 ='IPV6*ADDRESS'
                 NDMTYPFK='TYPE*FILE*KEY'
   Thanks to Eric R. Carlson, Kroger, USA.

Change 29.157  MXG 29.06 QA tests clean ups:
VMAC7072      -VMAC7072: These variables removed from DROP statement
Jul 24, 2011             LCPUDEXD-LCPUDEXZ LCPUDEVA-LCPUDEUI
                         LCPUWAXD-LCPUWAXZ LCPUWAVA-LCPUWAUI
               because they never existed; QA test enabled DKROCOND=WARN
               which caused spurious warning messages.

Change 29.156  IDMS/R Performance Monitor for Version 18 adds variables:
VMACIDMS      -Dataset IDMSTAS:
Jul 24, 2011      TASCPTI ='SRB*TIME*ON*CP'
                  TASENTI ='ENCLAVE*SRB*CPU*TIME'
                  TASSYTI ='CPU*TIME*ON*CP'
                  TASTITI ='TCP*CPU*TIME'
                  TASUSTI ='USER*MODE*CPU*TIME'
                  TASZPTI ='SRB*TIME*ON*ZIP'
               Initial observations were that
                  TASSYTI (.920) = TASTITI (.777) + TASENTI (.143)
                    CPU          =    TCB             ENCL SRB
                  TASCPTI (.016)
                  TASZPTI (.127)
                  TASENTI (.0007)
              -Added to all datasets, and inserted into the header, so
               it caused INVALID DATA FOR PMHSDATE messages:
                  SMFHJOB ='PM*JOB*NAME'
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 29.155  CICS/TS 4.2 Statistics variables now input:
VMAC110        Dataset CICISR:
Jul 24, 2011      ISRTDBYR='IPCONN*PS*TD*REQS*BYTES*RECEIVED'
                  ISRTDBYS='IPCONN*PS*TD*REQS*BYTES*SENT'
                  ISRTDREQ='IPCONN*PS*TRANSIENT*DATA*REQUESTS'
                  ISRTSBYR='IPCONN*PS*TS*REQS*BYTES*RECEIVED'
                  ISRTSBYS='IPCONN*PS*TS*REQS*BYTES*SENT'
                  ISRTSREQ='IPCONN*PS*TEMP*STORAGE*REQUESTS'
                  ISRUNSUP='ISR*UNSUPPORTED*REQUESTS'
               Dataset CICWBR:
                  WBRATOMS='URIMAP*ATOMSERVICE*NAME'
                  WBRAUTHE='URIMAP*AUTHENTICATE*USE'
                  WBRREDIR='URIMAP*REDIRECTION*TYPE*USE'
                  WBRSOCPK='URIMAP*SOCPOOL*PEAK*IN*POOL'
                  WBRSOCRC='URIMAP*SOCKETS*RECLAIMED*FROM POOL'
                  WBRSOCTO='URIMAP*SOCKETS*TIMEDOUT*WHILE INPOOL'
                  WBRSOCTV='URIMAP*SOCLOSE*TIMEOUT*VALUE'
                  WBRSOCUR='URIMAP*SOCPOOL*CURRENT*IN*POOL'
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 29.154  Circumventions for a macro errors ONLY in archaic SAS V8,
VMXGSUM        that were also perfectly cloned into WPS V8 architecture.
Jul 24, 2011   While SAS V8 is no longer supported by SAS Institute and
               while MXG officially does not always work under V8, these
               errors encountered in VMXGSUM from VMXGRMFI in BUILDPD3
               with both SAS V8 and WPS were circumvented in MXG, and
               could be useful in avoiding AUTOCALL issues in SAS V9s:
              -%IF %LENGTH(&A &B) GT 0 THEN %DO incorrectly returned 1
               when &A and &B were both null with V8/WPS but returned 0
               with all SAS V9s. The error was circumvented by replacing
               the test string of multiple macro variables with single
               ORed tests of each macro variable, to avoid the exposure.
              -The SAS provided-in-SASMACRO-library AUTOCALLed %macro
               functions %CMPRES/%QCMPRES (which call %QLEFT, %VERIFY,
               %QTRIM, %LEFT, %QLEFT, %VERIFY and %TRIM) were removed
               from VMXGSUM, as they were never actually needed, and
               their removal circumvented V8 and WPS macro errors.
                 I had thought they were needed to compress blanks from
                 the %macro arguments, which are limited to 65584 bytes,
                 and long ago longer argument errors had occurred, but
                 that error occurs when the %macro is invoked, prior
                 to these functions execution.  Hindsight is beautiful.
   Thanks to Scotie Mills, TI, USA.

Change 29.153  UNDECODED CTGRECID and CPU loop caused by Change 29.001,
VMAC111        which incorrectly calculated the SKIP value of bytes to
Jul 19, 2011   be skipped in the SMF ID=111, CTGRECID=7 record.
   Thanks to Victoria Lepak, Aetna, USA.

Change 29.152  VMSYSTEM='Y' (Change 29.127) support was revised when RMF
VMAC7072       70 records were read.  A divide by zero (creating TYPE70
Jul 19, 2011   from WORK.SORT70SP, because ONTM(LCPUADDR+1) was zero,
               because the VMSYSTEM='Y' records do NOT populate the
               "on time" in SMF70ONT (which populates ONTM array, and I
               believe this is a defect that IBM needs to correct, and
               a PMR has been opened to address this and other issues).
               However, knowing SMF70ONT is NOT populated, MXG code was
               revised and SMF70ONT=DURATM when VMSYSTEM='Y', which then
               corrected calculations of PCTCPUBY for these new records,
               and logic was revised to correctly capture the actual
               LPARNAME of the z/OS system that was running under z/VM.

====== Changes thru 29.151 were in MXG 29.05 dated Jul 11, 2011========

Change 29.151  Support for RCD record in ASMRMFV is completed in time to
ASMRMFV        be included in MXG 29.05, but I procrastinated and did
Jul 10, 2011   not complete the updates in VMACRMFV to actually process
               and create the new variables.  You can safely install the
               new ASMRMFV program to create the RMFBSAM file with RCD
               data, so that it could be examined when the VMACRMFV has
               been updated. Contact support@mxg.com if you want the
               updated VMACRMFV when it's ready.  This change will be
               revised when RCD support is completed.
               Jan 18, 2012: MXG 29.29 DATED JAN 18, 2012 IS REQUIRED
               TO PROCESS RCD RECORDS.  YOU MUST USE THE NEW ASMRMFV
               AND THE UPDATED VMACRMFV TO READ RCD DATA.
Change 29.150  New ONLYJOBS program creates 'only' the PDB.JOBS dataset
ONLYJOBS       (but also creates PDB.STEPS, PDB.PRINT, which are needed
Jul  9, 2011   to create PDB.JOBS, and creates PDB.SMFINTRV, which may
               be useful for long running jobs, from SMF 6/30/26, with
               selection for only some JOB names in the example.
   Thanks to Jerry Ellis, Liberty Mutual, USA.

Change 29.149  CICS/TS 4.2 (SMFPSRVN=67), INVALID VALUE FOR PHTRANNO,
VMAC110        in MNSEGCL=5 record; eight bytes were inserted by 4.2.
Jul  7, 2011   See Change 29.135, which added Support for CICSTRAN and
               CICS Statistics records (which was in MXG 29.03 but was
               not announced).  This change is required for CICS/TS 4.2
               if your site creates MNSEGCL=5 (dataset CICSRDS) records,
               but luckily it only causes messages and hex record dumps;
               it does NOT cause an ABEND.
   Thanks to Tom Buie, Southern California Edison, USA.

Change 29.148  DATEFMT= parameter added to both BLDSMPDB and VMXGALOC to
BLDSMPDB       control the format of the date in the directories created
VMXGALOC       by VMXGLOC.  The default of DATE7 does not allow you to
Jul  7, 2011   sort the directories into an order that puts the
               directories in calendar order.  The only formats that
               would do that are JULIAN and YYMMDD but the code will
               accept: DATE MMDDYY DDMMYY YYMMDD and JULIAN with
               whatever length you specify.  If you use one of the
               MMDDYY etc formats and you specify MMDDYY8. you will get
               07-05-11 but if you use MMDDYYN8. you will get 07052011.

Change 29.147  Change 29.032 revised dataset PDB.IPLS to only report a
VMAC0          true SYSTEM IPL, but the IPLTIME from SMF 90 is on GMT,
Jul  5, 2011   so this change uses the SMFTIME of the SMF 90 record for
               IPLTIME so it is always on the Local time zone.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.

Change 29.146  Support for RCD record.
ASMRMFV
Jul  5, 2011

Change 29.145  Revisions (again!) to enhance DB2 processing, especially
ANALDB2R       with large volumes of DB2 SMF data.
ASUMDB2A      -Macro variable DB2RSELA added in VMXGINIT.
ASUMDB2B      -New parameters in ANALDB2R:
ASUMDB2G       BUFFDETL=NO - suppresses reading the DB2ACCTB/DB2ACCTG
ASUMDB2P       JOB=        - select only records with JOB=xxxxxxx
TRNDDB2A      -Values for Class 3 Suspension in ANALDB2R reports were
TRNDDB2B       corrected. Values for Global Contention are still being
TRNDDB2G       reviewed.
TRNDDB2P      -If selection criteria are specified in ANALDB2R:
VMXGINIT        With PDB=SMF they are passed to READDB2
Jul  5, 2011    With PDB=PDB they are passed to ASUMDB2x members in the
READDB2          DB2RSELA macro variable so that only records that meet
                 the criteria are summarized.
                Performance improvement in ANALDB2R:
                 IF PMACC01=YES and PMACC02 NE YES
                  Suppresses buffer data and ASUMs of buffer data
                 If DB2ACCTP has 0 OBS suppress ASUMDB2P
              -New parameter in READDB2
                JOB=        - select only records with JOB=xxxxxxx
              -Some changes in ASUMDB2x/TRNDDB2x members are cosmetic to
               eliminate UNINIT messages; others are to pick up the time
               ranges of the records for heading and sorting and adding
               of a thread count for calculating averages.  KEEPALL=YES
               reinstated in ASUMDB2P,ASUMDB2G,ASUMDB2B, and ASUMDB2A so
               that ANALDB2R can be used with user-tailored ASUMDB2x
               datasets (i.e., with dropped variables) without messages
               about UNINIT variables.
              -In TRNDxxxx, variable THREADs added to SUM list so that
               ANALDB2R could be executed against Trend datasets.
   Thanks to Neil Ervin, Wells Fargo Bank, USA.

Change 29.144 -IBM IMS Log 56FAx records ARE INDIVIDUAL TRANSACTIONS!
IMACIMST       Finally, you can track individual IMS transaction CPU and
TYPEIMST       Response times, without using the MXG circumventions
VMACIMS        (JCLIMSL6/ASMIMSL6/TYPEIMSA/TYPEIMSB, or IMS0708 data),
Jul  2, 2011   and without ANY sorting/merging/etc.  And, the IMF56FA
               dataset contains the ARRVTIME of the transaction, which
               is NOT contained in IMS0708 dataset, although it is
               contained in the IMSTRAN from JCLIMSL6.
              -The TYPEIMST member builds only the IMS56FA.IMS56FA
               dataset.
              -MOST variable names are changed from the prior IMS56FA
               dataset, so its variables are now identical to those in
               the "circumvention" datasets IMS0708/IMSTRAN so that your
               existing reports should work without error or with minor
               revisions.
              -Most of the DLRxxxxx variables in dataset IMS0708 do not
               exist in the IMS56FA dataset, and variables DTOKEN
               IMSACCQ6 IMSSQ6TM LINTPSB LINEPGM LINTSY2 LINTSUM are
               also missing/blank in IMS56FA, but all of the really
               important variables are present.
              -References to IMS Version 11.0 were corrected to 11.1.
              -References to IMS Version 10.0 were corrected to 10.1.
              -Numerous duration variables in the LCODE=45x statistics
               records are now correctly divided by 4096.
   Thanks to Raymond J. Smith, UHC, USA.

Change 29.143  Extremely strange: INVALID ARGUMENT FOR MOD function and
VMACEXC1        ERROR.VMACEXC2.2 INVALID DEVCLASS/DEVTYPE IN 30 DD, but
Jul  1, 2011   the DEVCLASS and ARGUMENT were both valid, and this was
               deep in the middle of a BUILDDB run.  Fortunately, the
               search for the INVALID ARGUMENT message found this note:
                 SAS Problem Note 13269: Various numeric functions may
                 return incorrect results.
                 The result returned by some numeric functions may be
                 incorrect.  This problem can occur if the result of
                 the function is assigned to a variable that is also
                 used as an argument to the function.  The functions
                 affected are:
                   BETA, COALESCE, COMB, CONVX, CONVXP, DATDIF, DUR,
                   DURP, GEOMEAN, GEOMEANZ, HARMEAN, HARMEANZ, IQR,
                   LARGEST, LOGBETA, MAD, MEDIAN, MOD, ORDINAL, PCTL1,
                   PCTL2, PCTL3, PCTL4, PCTL5, PERM, PROBDF, PVP,
                   RXMATCH, SMALLEST, YRDIF and YIELDP.
                 The function may also incorrectly return a missing
                 value and issue a NOTE to the SAS log reporting that
                 one of the arguments to the function is invalid.
                 The SAS Note states:
                   THIS PROBLEM IS FIXED IN SAS 9.1.3 SERVICE PACK 2
                   AND SAS 9.2.
                 BUT THE ERROR WAS UNDER SAS V9.1.3 WITH SP 4!!!
                However, the text in the SAS Note and the MOD statement
                identified in the error message agreed; the same named
                variable was the input and the output
                  BLKSIZE=MOD(BLKSIZE,32768);
                so the code now uses a different variable name, and the
                error was eliminated!!!
   Thanks to Jean-Denis Lacourse, CGI, CANADA.

Change 29.142 -Additional bits in SMF 90 Subtype 30 are now decoded:
VMAC90A           SMF9030C='ENCLAVE*SERVICE*CLASS*RESET'
Jul  1, 2011      SMF9030D='ENCLAVE*QUIESCED'
                  SMF9030E='ENCLAVE*RESUMED'
                  SMF9030H='ORIGINAL*INDEPENDENT*ENCLAVE'
                  SMF9030K='ENCLAVE*OWNER'
              -Variable PRODUCT is added to all TYPE90nn datasets.
   Thanks to Siegfried Trantes, Gothaer-Systems, GERMANY.
   Thanks to Willi Weinberger, Gothaer-Systems, GERMANY.
   Thanks to Sabine Richard, Gothaer-Systems, GERMANY.

Change 29.141  Skipped Change Number.

Change 29.140  Some DB2 Trace Records IFCID 6/7 have QWHSSTCK events
VMACDB2        before the QWACBSC start time in their DB2ACCT and
VMACDB2H       DB2ACCP observations.  IBM DB2 support answer:
Jun 29, 2011     "The logic in DB2 does full thread allocation and then
                  clocks the begin time for the transaction.  If an I/O
                  is required during allocation, you may see a 6/7 pair
                  outside the transaction bounds.  So in the end, this
                  appears to be working without error."
               But the time value in QWHSLUUV in these transaction DOES
               precede the first IFCID 6, showing that the actual start
               time WAS captured when the LUUV was created, and that
               the LUUV creation event should be used for QWACBSC time.
               That suggestion is under discussion with IBM.
               While waiting, new variable LUUVTIME is created in both
               DB2ACCT and DB2ACCTP to be used in place of QWACBSC when
               analyzing DB2 trace records.  For QWHCATYP=8 REMOTE UOW
               transactions, LUUV is not a valid time value, but for
               those records, LUUVTIME is set equal to QWACBSC so that
               all observations have a usable LUUVTIME for match up
               with other records.
               Note that for DB2PARTY='R' or ='P' (Rollup, Parallel),
               LUUVTIME can be MUCH earlier than QWACBSC, because in
               those records QWACBSC NOT the transaction start time, as
               is documented in Change 29.131.
               Note also that variable ACE rather than QWHSACE should
               be used to match up transactions; for DB2PARTY='P' obs,
               ACE is set to QWACPACE, which is constant for all of
               the records for that transaction (while QWHSACE in the
               parallel records is not consistent).

Change 29.139  RACF variables RES25TEA-RES25TEF, RES25MEA-RES25MEF in
VMAC80A        dataset TYPE8020 and CLASNAME-CLASNAM5 in TYPE8024 from
Jun 29, 2011   DTP=43 segments were wrong because the segment count
               variables NR25SEGS and NR43SEGS were never reset to 0
               for a new record.
   Thanks to Lars Fleischer, SMT Data, DENMARK.

Change 29.138  If you use a LIBNAME statement to allocate a tape SAS
zOS Only       data library and VGETENG is invoked before any datasets
Jun 25, 2011   are written to the tape, you may get a 413-18 error from
               zOS indicating a failure to correctly open the dataset.
               Your job will still get a CC=0 so it is not a serious
               error, but it is an annoying warning message.
                  LIBNAME TEST V9SEQ;
                  %VGETENG(DDNAME=PDB);
               Will cause:
                  ERROR: OPEN FAILED. ABEND CODE 413. RETURN CODE 18.
               This can be suppressed by writing a 0 OBS 0 VARS dataset
               to the tape immediately after the LIBNAME, using
                 LIBNAME TEST V9SEQ;
                 DATA TEST.A;RUN;
                 %VGETENG(DDNAME=PDB);
                to suppress the message (although it will also put a
                very small additional dataset on the tape).

Change 29.137  UTILARCH - Archival of SAS datasets from a data library,
UTILARCH       similar to the way OUTLOOK archives its EMAIL store.
Jun 25, 2011   All observations for chosen datasets dated earlier than
               the chosen archive date are written to the archive data
               library (which could be new, or archived observations
               can be appended to an existing archived dataset), and
               the observations that were archived are then removed
               from the original input dataset (which can be rewritten
               or could be written to a new "unarchived" data library).
               You can specify:
                 INDD=      LIBNAME of the input data library.
                 OUTDD=     LIBNAME of the output un-archived, reduced
                            dataset.  If OUTDD is NOT specified, the
                            unarchived observations replace the dataset
                            in the INDD library.  OUTDD is required if
                            INDD is on TAPE or DASD sequential format.
                 INARCHIVE= LIBNAME of the current archive data library.
                            If the dataset(s) selected exist in OUTDD,
                            newly archived observations are APPENDed.
                 ARCHIVE=   The new archive data library.  This could
                            be the same as INARCHIVE, as long as they
                            are not tape nor sequential format on DASD.
                 DATEVAR=   The name of the date variable to be tested.
                 KEEPDAYS=  The number of days of detail data to keep
                            unarchived.  Obs more days old are archived.
                 KEEPDATE=  The date literal (01JAN2011) to keep; obs
                            earlier than this date are archived.
                            Either KEEPDAYS or KEEPDATE but not both
                            must be specified.
                 ARCHDAYS=  The number of days of data to keep in the
                            archive.  If not specified, the archive
                            will continue to grow in size.
                 ARCHDATE=  The date literal (01JAN2010) of the oldest
                            date to be kept in the archive.
                            Either ARCHDAYS or ARCHDATE or NEITHER, but
                            not both, must be specified.
                 DATASETS=  one or more SAS datasets to be archived

               If the datevar is gt TODAY()-KEEPDAYS, the OBS is
               written back to the detail.  If it is lt that value
               but GT today()-sum(keepdays,archdays) it is written
               to the archive (if archdays is specified - if it is
               not specified the archive grows to infinity.)
   Thanks to Brian A. Harvey, HCL America, USA.

Change 29.136  Support for WebSphere WAS 8.0 (COMPATIBLE).  These new
VMAC120        variables are added to dataset TYP1209E:
Jun 25, 2011      SM1209FK='CLASSIFICATION*ONLY*TRACE?'
Jul 17, 2011      SM1209FM='SMF*REQUEST*ACTIVITY*ENABLED?'
                  SM1209FN='SMF*REQUEST*ACTIVITY*TIMESTAMP?'
                  SM1209FO='SMF*REQUEST*ACTIVITY*SECURITY?'
                  SM1209FP='SMF*REQUEST*ACTIVITY*CPU DETAIL?'
                  SM1209FQ='PROPAGATE*TRANSACTION*NAME?'
                  SM1209FR='STALLED*THREAD*DUMP*ACTION'
                  SM1209FS='CPUTIMEUSED*DUMP*ACTION'
                  SM1209FT='DPM*DUMP*ACTIO'
                  SM1209FU='TIMEOUT*RECOVERY'
                  SM1209FV='DISPATCH*TIMEOUT*VALUE'
                  SM1209FW='QUEUE*TIMEOUT*VALUE'
                  SM1209FX='REQUEST*TIMEOUT*VALUE'
                  SM1209FY='CPUTIMEUSED*LIMIT*VALUE'
                  SM1209FZ='DPM*INTERVAL*VALUE'
                  SM1209GA='MESSAGE*TAG*VALUE'
                  SM1209GF='CPU*USAGE*OVERFLOW?'
                  SM1209GG='CEEGMTO*UNAVAILABLE?'
                  SM1209GH='LENGTH*OBTAINED*AFFINITY*RNAME'
                  SM1209GI='OBTAINED*AFFINITY*RNAME'
                  SM1209GJ='LENGTH*ROUTING*AFFINITY*RNAME'
                  SM1209GK='ROUTING*AFFINITY*RNAME'
              -Variable SM1209CE is expanded to 16 bytes.
              -Variables SM1209DX and SM1209DZ are deprecated; they are
               still set, but use SM1209GF and SM1209GG because DX/DZ
               may not exist, since the z/OS Request Info Section
               (and the Platform Neutral Request Info Section) might not
               be present if this is Async Work.
              -New values added to format MG1209T for SM1209CK and to
               format MG1209C for SM1209EM.
              -Jul 17: Updated VMAC120 was moved into SOURCLIB.  This
               Change was NOT included in MXG 29.05 dated Jul 11, 2011.
   Thanks to David Follis, IBM, USA.

Change 29.135  Support for CICS/TS 4.2 was available in MXG 29.03 but
VMAC110        not announced until today when it became GA.  See Change
Jun 24, 2011   29.063 for details.

Change 29.134  Support for Informatica's POWER EXCHANGE SMF record adds
EXPOEXCL       five new datasets:
EXPOEXDB
EXPOEXEX         DDDDDD  MXG       MXG
EXPOEXFI         DATASET DATASET   DATASET
EXPOEXLI         SUFFIX  NAME      LABEL
FORMATS
IMACPOEX         POEXLI  POEXLIST  POWER EXCHANGE LISTENER
TYPEPOEX         POEXEX  POEXEXPT  POWER EXCHANGE EXCEPTION
TYPSPOEX         POEXFI  POEXFILE  POWER EXCHANGE FILE ACCESS
VMACPOEX         POEXDB  POEXDB2   POWER EXCHANGE DB2
VMXGINIT         POEXCL  POEXCLIE  POWER EXCHANGE CLIENT
Jun 24, 2011   Only POEXLIST and POEXCLIE datasets have been validated
               with data records, and these problems have been reported
               to the vendor's support team:
               a. The STCK fields are in GMT but there is no GMT Offset;
                  it is possible to use Fuzzy Logic to compare END time
                  when it is populated (see below) to calculate a GMT
                  Offset, but well-written SMF records always contain
                  the GMT Offset that is in effect when the event
                  records are created, when they contain time/date-times
                  on the GMT clock.
               b. The records contain Subtypes but BIT 1 in SMFxFLG is
                  not set; the SMF Manual Table 13-2 documents that bit
                  that should be set for records containing Subtype.
               c. The Reserved Field at offset 290 in the General
                  section is only 28 bytes, but was documented as 32
                  bytes.
               d. For the Client Records:
                  1. In the General section, the Character START/END are
                     LOCAL zone, but they are identical to each other
                     and are the same as SMF time (except that SMFTIME
                     has higher resolution).  The STCK START/END are GMT
                     zone, and are also identical to each other.
                  2. In the Extended section, the STCK START/END times
                     are not populated.
                  3. The Reserved Field in the General Section contains
                     an IP address in character format.
                  4. The Client IP Address is not populated.
                  5. The Client User ID contains hex rather than EBCDIC
                     text; I don't know if that is correct or not, but
                     if it contains HEX it needs to be documented.
               e. For the Listener Records:
                  1. The START fields are many days/hours prior to the
                     SMF TIME, and are constant for each JOB.  The CHAR
                     field is Local Time Zone, the STCK field is GMT
                     Time Zone.
                  2. The SMF times are at 5 minute intervals, but are
                     not synchronized with TIME OF DAY, as all interval
                     records should be.
                  3. The END TIME fields (both CHAR and STCK) are not
                     populated, so it is NOT possible to use Fuzzy Logic
                     to reset the Start Time to the local clock.
   Thanks to Bobbie Justice, Kohl's, USA.

Change 29.133 -Variables LPARNAME and LPNUMBER are added and are kept in
ASUMVMXA       PDB.VMXAINTV and PDB.ASUMVMXA.  But the LPNUMBER in z/VM
VMACVMXA       data is NOT the "LPARNUM" variable in TYPE70PR from RMF.
Jul  5, 2011   In TYPE70PR, variable LPARNUM is a z/OS assigned sequence
               number that has no connection with the actual Partition
               number of each LPAR, which is precisely what is stored by
               MONWRITE in its LPNUMBER variable.  In TYPE70PR, there is
               a variable PARTISHN, but that is the actual Partition
               that wrote that SMF 70 record, and since the IFL LPARs do
               not write SMF records, there is no possible way to match
               the z/VM MONWRITE LPNUMBER to the IFL LPAR data.
               However, merging the TYPE70PR IFL observations with the
               MONWRITE data does not need the LPNUMBER/LPARNUM; the
               data can be merged by matching the LPARNAME and ENDTIME.
               Jul 26: See MXG Newsletter FIFTY-EIGHT VM Technical Notes
               for comparison of synchronized MONWRITE and RMF data.
               And, only SHARED IFLs have actual utilization; DEDICATED
               IFLs always report 100% utilization in TYPE70PR/ASUM70PR.

Change 29.132 -When sending the output to HTML, PROC GCHART creates
GRAFCEC        files with the name GCHART GCHART1 GCHART2 etc.  If you
GRAFWRKX       send the output of both routines to the same place, the
UTILWORK       second one overwrites the output of the first.  Added a
Jun 22, 2011   NAME= to all the GCHARTS so the charts created by
Jul  5, 2011   GRAFWRKX will be GRFWRK GRFWRK1 etc and the ones from
               GRAFCEC will be GRFCEC GRFCEC1 etc.
              -If COMPAT=YES was incorrectly specified (COMPAT went away
               years ago), UTILWORK generated an RMFINTRV member with
               USEREPRT and USECNTRL set to COMPAT=YES, causing VMXGRMFI
               to look for performance groups.  Now, COMPAT=GOAL is set.
              -If run on ASCII in the background, your session will stop
               to display every graph being produced - a real pain in
               the butt. This can be suppressed using the GOPTIONS
               NODISPLAY; option and a graphics catalog will still be
               created.  So you may want something like:
                 GOPTIONS NODISPLAY;
                 PROC GCHART GOUT=MYGRAPHS DATA=whatever;
                  VBAR whatever;
                 Run;
                 GOPTIONS DISPLAY;
                 FILENAME HTML 'C:\MXG\';
                 ODS HTML PATH=HTML BODY='BODY.HTML' FRAME='FRAME.HTML'
                  CONTENTS='CONTENTS.HTML';
                 PROC GREPLAY IGOUT=MYGRAPHS NOFS;REPLAY _ALL_;
                 RUN;
                 ODS HTML CLOSE:
                 RUN;
               The graphs will be constructed and HTML put in C:\MXG\.
               Clicking on FRAME.HTML will display the graphs after the
               background task is complete.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.131  When DB2 ROLLUP is specified, DB2ACCT and DB2ACCTP will
VMACDB2        have two observations, the Originating and the Rollup,
Jun 21, 2011   but only DB2ACCT created DB2PARTY to identify which.
               This changes creates DB2PARTY in DB2ACCTP dataset.

               In DB2ACCT, with Parallelized DB2 and ROLLUP specified:
               -In the DB2PARTY='O' observation, QWACBSC/QWACESC are the
                start and end times, but in DB2PARTY='R' record, both
                BSC and ESC are set to the END time of the transaction.
               In DB2ACCTP, with Parallelized DB2 and ROLLUP specified:
               -In the DB2PARTY='O' observation, QPACSCB/QPACSCE both
                are missing values, and in DB2PARTY='R' record, both
                are set to the END time of the transaction.
               -Parallelization is only recognizable because the value
                in QPACSCT (and in QPACZITM if zIIPs exist) are much
                larger than the ELAPSTM in the DB2ACCT 'O' observation.
               In both DB2ACCT and DB2ACCTP, population of variables is
               inconsistent between the 'O' and 'R' record; in ACCTP the
               QPACPKID is blank in the 'O' but populated in the 'R',
               while most other QPACxxxx variables have values in both.
               In ACCT, the QBnxxxx and QXxxxxx variables are missing in
               the 'R', but most other variables are populated in both.
   Thanks to Glen Bowman, Wakefern, USA.

Change 29.130 -Cosmetic - if you were running with AUTOALOC=YES, a SAS
BLDSMPDB       warning was generated when a PROC COPY was used to copy
Jun 21, 2011   the contents of PDB to the day of the week. That is now
               suppressed unless AUTOALOC=NO.
              -New parameter AUTOTRND= added to allow you to add or
               subtract the TRNDxxxx members that are invoked when
               trending is being done.  Default TRNDxxxx members are:
               TRNDCEC TRNDCELP TRNDCICX TRNDDB2A TRNDDB2P TRNDDBSS
               TRNDRMFI TRND72GO TRNDTMNT TRNDTALO

Change 29.129  z/VM 5.4 Crypto Record (5.10) with PRCAPMCT=8 printed
VMACVMXA       ***MXGERROR DM 5 RC 10 UNDECODED PRCAPMCT=8 WAS SKIPPED
Jun 15, 2011   *ERROR* PROBABLE DATA LOSS DUE TO MONWRITE FAILURE.
               and subsequent misalignment, due to 32 undocumented bytes
               for that crypto subtype. Investigating further.
               IBM has confirmed the documentation of this record is in
               error; the MXG code and this change will be updated when
               the IBM correction is available.
   Thanks to Victoria Lepak, Aetna, USA.

Change 29.128  NOTE: DB2 INVALID DISTRIBUTED HEADER DELETED message if
VMACDB2H       QWHDSVNM length (QWHDLOSL) was greater than 16 bytes even
Jun 15, 2011   after Change 29.036 due to error calculating LENLEFT.
   Thanks to Lorena Ortenzi, UniCredit Group, ITALY.
   Thanks to Paolo Uguccioni, UniCredit Group, ITALY.

Change 29.127  Support for z/OS 1.12 VMGUEST option to add CPU time to
VMAC7072       the RMF 70 records for z/OS systems running under z/VM.
Jun 14, 2011   New variable VMGUEST='Y' is added to PDB.TYPE70PR dataset
               if this z/OS is run under z/VM with the VMGUEST option
               specified in Monitor I options (in your ERBRMFxx member).
               Two observations in PDB.TYPE70PR exist with the option;
               one with LPARNAME='PHYSICAL' that contains the Dispatch
               CPU Time of z/VM itself for this z/OS system, and one
               with the LPARNAME='VMSystem' for the z/OS CPU TIME.
               In the RMF Reports:
                 The header of the Partition Data section provides data
                 about the z/VM partition running the z/OS guest, with
                 'VMSystem' reported as the MVS PARTITION NAME field.
                 The IMAGE CAPACITY field displays the CPU capacity
                 available to the z/VM partition; NUMBER OF VMSystem
                 PROCESSORS presents the number of processors that are
                 assigned to the z/VM partition. All other header fields
                 in the RMF report will be N/A.  The partition data
                 reports data of the z/OS system running as z/VM guest.
                 The CPU time used by z/VM itself is reported as
                 partition name '*VMSystem*'. In the reported partition
                 data, the physical processor utilization represents the
                 logical processor utilization of the z/VM partition.

Change 29.126  Data set VXSYTEP2 variables kept that were not input:
VMACXAM           SYTEP1FL  ECMCPBT  ECMCPBTB
Jun 13, 2011   and variables input that were not kept:
Jun 15, 2011    SYTEP2FL $CHAR1.  /*SYTEP1*FLAGS*/
                CSCCMCMB  &RB.4.  /*MAXIMUM*INTERNAL*BUS*CYCLES*PERSEC*/
                CSCCMCMC  &RB.4.  /*MAXIMUM*CHANNEL*WORK*UNITS*PERSEC*/
                CSCCMCMM  &RB.4.  /*MAXIMUM*WRITES*PERSEC*/
                CSCCMCMR  &RB.4.  /*MAXIMUM*READS*PERSEC*/
                CSCCMCMU  &RB.4.  /*BYTES*PER*DATA*UNIT*/
                ECMBCBCC  &RB.4.  /*BUSY*CYCLES*USED FOR*I/O*/
                ECMCCWUC  &RB.4.  /*CHPATH*DATA*UNITS*TOTAL*/
                ECMCCWU   &RB.4.  /*CHPATH*DATA*UNITS*LPAR*/
                ECMCDWUC  &RB.4.  /*CHPATH*WRITE*DATA*UNITS*TOTAL*/
                ECMCDWU   &RB.4.  /*CHPATH*WRITE*DATA*UNITS*LPAR*/
                ECMCDURC  &RB.4.  /*CHPATH*READ*DATA*UNITS*TOTAL*/
                ECMCDUR   &RB.4.  /*CHPATH*READ*DATA*UNITS*LPAR*/
               SYTEP2FL is now kept in place of SYTEP1FL, ECMCPBT/B are
               no longer kept and the other twelve are now kept.
               Jun 15: All references to WORKUNITS and WORK*UNITS in the
               variable labels was changed to DATA*UNITS; while Barton
               documented them as WORKUNITS in the PL/1 descriptors that
               are the only XAM documentation, apparently later in the
               Velocity reports/documentation they are now called DATA
               UNITS so I've changed the labels as requested.
   Thanks to Patricia Hansen, ADP, USA.

Change 29.125  DB2 SMF 102 IFCID 22 INPUT STATEMENT EXCEEDED if length
VMAC102        of QW0022AN,'ACCESS INDEX NAME' was greater than 18, due
Jun 10, 2011   to error in MXG logic in handling truncated name fields.
               Also, for DB2 V10, QW0022PA was incorrectly read as PIB2
               which caused the new CY/NP/F2/TT variables to be wrong.
   Thanks to Joe Babcock, Bank of America, USA.

Change 29.124  Variables CTGIAREQ and CTGLALRQ were incorrectly kept in
VMAC111        dataset TY111CXI, but those fields do not exist in the
May 28, 2011   subtype 07 record, so they have been removed from that
               dataset's KEEP list.  They do exist in subtypes 01/02/03
               so they were sometimes populated and sometimes missing in
               TY111CXI dataset, depending on the order of subtypes in
               the SMF record.  These three different subtype sequences
               have been observed in SMF 111 records, for no apparent
               reason, but as each subtype is independent, with this
               MXG correction, there is no impact on different orders:
                 00  01  05 04 06 07 03
                 07  00  01 05 04 06 03
                 00  07  01 05 04 06 03
   Thanks to Gordon E. Griffith, Edward Jones, USA.
   Thanks to Jeana M. Bechtel, Edward D. Jones, USA.

Change 29.123  Support for TMON/IMS Version 3.0 (INCOMPATIBLE).  New
EXTIMCM1       variables added to TIMSCM, TIMSCP, and TIMSCT datasets.
EXTIMCM2       Six new datasets, one for each of the three segments in
EXTIMCM3       the CM and CP records are created.  The datasets TIMSCM,
EXTIMCP1       TIMSCM1, TIMSCM2, TIMSCM3, TIMSCO, TIMSCP, TIMSCP1,
EXTIMCP2       TIMSCP2, TIMSCP3, and TIMSCT were validated with data;
EXTIMCP3       no other subtypes were examined for changes.
IMACTIMS
VMACTIMS
VMXGINIT
May 28, 2011
   Thanks to Santosh Kandi, J.C. Penney, USA.

Change 29.122  Lengths of variables CUVENDOR $3 and CUSERIAL $12 are now
VMAC74         set in a length statement.  Because they were created by
May 27, 2011   a SUBSTR function, their default length was set from the
               length of the input variable, which was $28.
               Change 25.155 noted that the SUBSTR function sets length
               from the input variable, while SCAN and other functions
               default to $200.  The length for these SUBSTR could be
               set at compile time, because the third argument is fixed,
               but it isn't, so the LENGTH statement sets the length.
   Thanks to Rudolf Sauer, T-Systems, GERMANY

Change 29.121  MXG 28.28-29.04.  DB2 Data Sharing Variables QWHADSGN and
VMACDB2H       QWHAMAMN were blank if there was a Distributed Header for
May 27, 2011   DB2ACCT or DB2ACCTP datasets.  All DDF records have a
               QWHSTYP=16 segment, but they can exist in other records.
   Thanks to Paul Volpi, UHC, USA.

Change 29.120  Updates discovered during ITRM Dictionary Build:
ASUMVMXA      -VMACTPMX. By list _BTMP10 variable TPMCMLNN (MSU) should
VMAC82         have been TPMCMLNM (LPAR NAME).
VMACTPMX      -VMAC82.   Labels 21th/22th/23th/31th/32th/33th corrected.
VMACVMXA      -VMACVMXA
VMXGINIT       Macro _SUSELOF had disappeared from the _DELTALL macro,
May 26, 2011   now reinstated.
Jun 22, 2011   Variable SCKRZWCT was a typo and does not exist.
Nov 17, 2011   Variables NBAD113 and RESETCTR are DROPped.
               Variable CURALLOC does not exist and reference removed.
               Variable PLXCPUCN was a typo and does not exist.
               Variable VL3CAF label is now CAPABILITY vs CAPACILITY.
              Nov 27, 2011: These updates were not made until today:
              -ASUMVMXA. Macro variable PSUVMXA now defined in VMXGINIT
               rather than in ASUMVMXA, and existing macro _LVMAINT is
               for the location of VMXAINTV and the old _LTYVMXA token
               is removed.
   Thanks to Chris Weston, ITRM Development, USA.

Change 29.119 -The below segment of an INPUT statement was accidentally
QASAS          left in the middle of a LABEL statement:
VMACQACS         DSSRLN  ='DISK*UNIT*SERIAL*NUMBER'
May 23, 2011          DSPTROP    &PIB.8. /*TOTAL*PATH*READ*OPERATIONS*/
Jul  6, 2011          DSPTWOO    &PIB.8. /*TOTAL*PATH*WRITE*OPERATIONS*/
                      DSWWWNN    $CHAR8. /*WORLD*WIDE*NODE*NAME*/
                 DSSRVT ='DISK*SERVICE*TIME'
               but it did NOT generate a compiler error, because the SAS
               delimiter for label text is the equal sign.  It did cause
               variables DSPTROP DSPTWOO & DSWWWNN to have blank labels,
               and it created a very long label for variable DSSRLN that
               SHOULD have been detected in the QA LONG LABEL tests, but
               wasn't, because the QASAS still had the archaic TYPEQAPM
               executed AFTER the current TYPEQACS, so the old QAPMDISK
               (with only 74 variables and none of the above new ones)
               overwrote the new (103 variables) QAPMDISK dataset in QA.
              -Removing the ancient TYPEQAPM member from the QA stream
               caused these datasets to no longer be created/documented
               in the DOCVER member (but this is only cosmetic); those
               datasets have not been actually available in years).
                QAPMASYN QAPMBSC  QAPMDDI  QAPMECL QAPMFRLY QAPMIDLC
                QAPMJOBS QAPMLAPD QAPMPOOL QAPMRWS QAPMSTND
                QAPMSTNL QAPMSTNY QAPMX25
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 29.118  Change 29.084 deleted temporary MXGENG dataset because
UTILCONT       %VGETENG was thought to only create two macro variables,
VGETENG        but UTILCONT/VMXGSIZE had undocumented invocations of
VMXGSIZE       %VGETENG that required that dataset to exist.  The new
May 18, 2011   CLEANUP=YES/NO is added to all three members to allow
               the dataset to be kept and deleted later when needed.
   Thanks to Paul Naddeo, FISERV, USA.

Change 29.117 -ASCII only, CICSTRAN variables RTYPE/RRTYPE should have
UTILEXCL       been input with $EBCDIC informat in VMAC110/UTILEXCL.
VMAC110       -VMACSVIE, variable CNTL_TIME in SV03THRE dataset is now
VMACSVIE       converted back from GMT to local time zone.
May 18, 2011  -VMACSVIE, variable DB2_PROGRAM in SV27DB2 is $ASCII.
              -VMACSVIE, variable SCUCRSTG is no longer formatted.
              -VMACSVIE stores CICS task number as PIB4 and not PD4 so
               these variables inputs were changed:
                 CNTL_TASKNUMBER LASTTRANNUM TRANNUM OTRANNUM EXS_MNTNO
              -VMACSVIE, variable THRS_GROUP and THRS_CLASS corrected.
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

====== Changes thru 29.116 were in MXG 29.04 dated May 17, 2011========

Change 29.116  The SQL Statement Number in all of the original SQL Trace
FORMATS        IFCIDS 53,58,59,60,61,64,65,66 plus 125,183, and 247 have
VMAC102        been wrong (fixed value of 16448 usually) ever since they
May 14, 2011   were relocated and increased from 2 to 4 bytes in DB2 V8.
               In making this update, several overlooked variables are
               also now output in these T102Snnn DB2 trace datasets, and
               several new formats were created to decode them.
   Thanks to Joachim Sarkoschitz, DATEV, GERMANY.


Change 29.115  Arguments PDB= and PDBOUT= were not UPCASED, causing  the
GRAFWRKX       PDB=trend to not be recognized.  Now they are.
May 10, 2011

Change 29.114 -Testing JCLSIMPL default example exposed macro language
BLDSMPDB       syntax errors corrected in this BLDSMPDB:
VMXGDBSS
May 10, 2011      NOTE: Line generated by the macro variable "RERUN".
May 15, 2011       20     "
                          -
                          77
                   ERRROR 77-185: Invalid number conversion on ""d.

              -Tests also exposed errors in VMXGDBSS where SHIFT was not
               being created in ASUMDBSx datasets, causing a later
               failure when the ASUMs were executed.
              -New PDB=NONSMF argument added to BLDSMPDB to support the
               new JCLSMOTH non-SMF processing in Change 29.105.
   Thanks to Vinnie Falzone, The Prudential, USA.

Change 29.113  Variables CTGLALRQ (Lifetime) and CTGIAREQ (Interval) in
VMAC111        TY111CXI dataset were reversed.
May 10, 2011
   Thanks to Gordon E. Griffith, Edward Jones, USA.

Change 29.112  Documentation only.  This paragraph was added:
IMACACCT         If you have created a SPIN data library and then decide
May  5, 2011     to DROP ACCOUNTn and LENACCTn variables that were kept
                 originally, you will need to copy and DROP the unwanted
                 ACCOUNTn and LENACCTn variables from the three datasets
                 SPIN30_1, SPIN30_5, and SPIN26, and copy & DROP the
                 unwanted SACCTn variables from SPIN30_4, and then copy
                 the revised datasets back into your SPIN data library.
                 Otherwise, the unwanted will still be in both the SPIN
                 and the PDB JOBS/STEPS/PRINT datasets.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA

Change 29.111  For CICS Attach, the CICS TRAN name is extracted from the
VMACDB2        QMDACORR field, but that value is sometimes wrong and the
May  4, 2011   correct CICS TRAN name exists instead in QWHCCV field, so
               MXG now uses QWHCCV as the source of CICS TRAN.
               A PMR will be opened with IBM to determine if this is an
               IBM error, since DSNWMSGS states that QWHCCV/QMDACORR are
               supposed to be the same.
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 29.110  The invocation of the dataset exit token _EIMSTRN was
TYPEIMSA       accidentally removed from TYPEIMSA in MXG 28.28, but is
May  4, 2011   in now reinstated.
   Thanks to Craig Collins, State of Wisconsin DOA, DET, USA.

Change 29.109  PDB.DB2STATS vars QXRWSDEL/QXRWSFET/QXRWSINS/QXRWSUPD
VMACDB2        were incorrectly kept in both DB2STAT0 and DB2STAT1 and
May  4, 2011   were not deaccumulated in _SDB2ST0.
   Thanks to Jane S. Stock, USPS, USA.

Change 29.108 -Invalid UARG record was not true; the MXG test for NWORDS
VMACNMON       LE 5 should have been LE 4.  Additionally, the UARGTYPE=2
May  4, 2011   UARG record now sets THCOUNT=1 so that observations will
               be created in the PDB.NMONUARG dataset.
              -INVALID ARGUMENT error messages are caused by invalid VM
               record that has the second word T0001, an interval marker
               which should contain data values, but the invalid record
               instead contains the field descriptions. MXG now detects
               and prints a clear error message referencing this change.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 29.107  Format MG099TC is updated to decode 70+ new trace codes
FORMATS        added by z/OS 1.12 for the SMF 99 variable S99TCOD.
May  4, 2011
   Thanks to Michael Oujesky, Bank of America, USA.

Change 29.106  JES3 PDB.JOBS variable CLASS is the 8-byte JOBCLASS when
BUIL3005       the job was read-in, from the TYPE26J3 purge record, IBM
May  3, 2011   field SMF26CLN. CLASS is stored into JOBCLASS when CLASS
               is non-blank (i.e., when a Purge Record exists).  But the
               job class can be changed in exits, in particular, in the
               IATUX29 exit; that new JOBCLAS8 value is in the SMF 30
               records, so this change now keeps JOBCLASS8 in the JES3
               PDB.JOBS dataset, where it's label will be
                 JOBCLAS8='JES3*8-BYTE*JOBCLASS*AFTER*IATUX29'
               If no purge record was found by BUIL3005, the value in
               JOBCLAS8 from the 30 record is stored into JOBCLASS.
   Thanks to Jeff Ramsay, ArcelorMittal, USA.

Change 29.105  JCLSIMPL and JCLSPxxx examples use UTILBLDP/BLDSMPDB and
BLDSIMPL       are THE now-recommended z/OS jobs for a "SIMPLE" BUILDPDB
BLDSPMTH       or the "SPLIT SMF" family of "BUILDPDB" jobs.
BLDSPOTH
BLDSPSMA       JCLSIMPL creates a "simple", PDB library, with one job
BLDSPSMB       that reads the SMF file, showing how to add an SMF record
BLDSPSMC       and invoking all of the default ASUMxxxx members to build
BLDSPSMD       a "single", default PDB data library from raw SMF data.
BLDSPSME       You could do the same with BUILDPDB and the EXPDBxxx exit
BLDSPUOW       members, but these more recent utility macros are now the
BLDSPWEK       recommended way to build/tailor a simple BUILDPDB:
JCLSIMPL         UTILBLDP - defines what data is to be created in a PDB.
JCLSPCPY                    You can add, subtract, or change what's kept
JCLSPGDG                    by each of these jobs use UTILBLDP to create
JCLSPLIT                    a specific suit of MXG datasets in a PDB
JCLSPMTH                    built from SMF data records.
JCLSPOTH         BLDSMPDB - flexible job manager creates day/week/etc
JCLSPSMA                    PDBs using the UTILBLDP execution preceding
JCLSPSMB                    its invocation to define the PDB contents.
JCLSPSMC                    Processes SMF and non-SMF data records.
JCLSPSMD
JCLSPSME       JCLSPxxx is a family of jobs to read "split" subsets of
JCLSPUOW       SMF and other data records to parallelize the BUILDPDB,
JCLSPWEK       using the above+ UTILBLDP and BLDSMPDB members:
VMXGALOC        JCLSPGDG - run once to create GDGs, and then never again
VMXGPARS                   unless there is a need to alter a GDG base or
May 16, 2011               to change dataset names.
Nov  9, 2011    JCLSPLIT - first job in daily stream - standalone -
                           splits the daily SMF into pieces for
                           subsequent processing
                        SMF.ALL      - All SMF for archive
                        SMF.CICS     - SMF 110.1
                        SMF.DB2      - SMF 101/102
                        SMF.IO       - SMF 14/15/42/61/65/66/74/240/241
                        SMF.MQ       - SMF 115/116
                        SMF.SPLITPDB - All other SMF records
                JCLSPSMA/JCLSPSMB/JCLSPSMC/JCLSPSMD/JCLSPSME can be run
                 concurrently to process the split SMF files:
                 JCLSPSMA - Read only CICS SMF 110, create:
                      CICSTRAN.CICSTRAN CICSBAD.CICSBAD.
                 JCLSPSMB - Read only DB2 SMF 101/102, create:
                   PDB: DB2ACCT  DB2ACCTB DB2ACCTG DB2ACCTP DB2ACCTR
                        ASUMDB2A ASUMDB2B ASUMDB2G ASUMDB2P ASUMDB2R
                 JCLSPSMC - Read only I/O records, create:
                   PDB: TYPE1415 TYPE42AD TYPE42AU TYPE42CC TYPE42CU
                        TYPE42CV TYPE42DS TYPE42EX TYPE42NF TYPE42NU
                        TYPE42SC TYPE42SR TYPE42TO TYPE42VL TYPE42VS
                        TYPE42VT TYPE42XR TYPE42XV TYPE42S1 TYPE42S2
                        TYPE42S3 TYPE42S4 TYPE42D1 TYPE42D2 TYPE42D3
                        TYPE42D4 TYPE42L1 TYPE42L2 TYPE42P1 TYPE42P2
                        TYPE42P3 TYPE42X1 TYPE42X2 TYPE42X3 TYPE42X4
                        TYPE4220 TYPE4221 TYPE422A TYPE4222 TYPE4223
                        TYPE4224 TYPE424A TYPE4225 TYPE4226 TYPE4237
                        TYPE6156 TYPE64   TYPE64X  TYPE74   TYPE74CA
                        TYPE74ID TYPE74CF TYPE74CO TYPE74LK TYPE74ME
                        TYPE74OM TYPE74PA TYPE74ST TYPE74DU TYPE74SY
                        TYPE74TD TYPE746B TYPE746F TYPE746G TYPE747P
                        TYPE747C TYPE748  TYPE748A TYPE748R TYPE748X
                        HSMDSRST HSMFSRBO HSMFSRST HSMFSRTP HSMDSRFU
                        HSMVSRFU HSMVSRST HSMWWFSR HSMWWVOL
                 JCLSPSMD - Read only MQ records, create:
                  PDB:  MQCFSTAT MQMACCT  MQMACCTQ MQMBUFER MQMCFMGR
                        MQMLOG   MQMMSGDM MQMQUEUE
                 JCLSPSME - Read all remaining SMF, create:
                       ASUM70GC ASUM70GL ASUM70LP ASUM70PR ASUMCEC
                       ASUMCELP ASUMTALO ASUMTAPE CICEODRV CICINTRV
                       CICREQRV CICRRTRV CICSEXCE CICSYSTM CICUSSRV
                       DB2GBPAT DB2GBPST DB2STAT0 DB2STAT1 DB2STAT2
                       DB2STAT4 DB2STATB DB2STATR DB2STATS DDSTATS
                       IPLS     IPLSMF   JOBS     NJEPURGE PRINT
                       RMFINTRV RMFWKLRV SMFINTRV SMFRECNT SPIN26
                       SPIN30TD SPIN30_1 SPIN30_4 SPIN30_5 SPIN6
                       SPINRMFI SPINTALO SPUNJOBS STEPS    TAPEMNTS
                       TAPES    TYPE0203 TYPE23   TYPE30MR TYPE30MU
                       TYPE30OM TYPE30_6 TYPE7    TYPE70   TYPE7002
                       TYPE70EN TYPE70PR TYPE70X2 TYPE70Y2 TYPE71
                       TYPE72   TYPE7204 TYPE725A TYPE725B TYPE725C
                       TYPE725D TYPE725E TYPE725F TYPE725G TYPE725H
                       TYPE725I TYPE725J TYPE725K TYPE725L TYPE725M
                       TYPE72DL TYPE72GO TYPE72MN TYPE72SC TYPE73
                       TYPE73L  TYPE73P  TYPE75   TYPE77   TYPE78
                       TYPE78CF TYPE78CU TYPE78IO TYPE78PA TYPE78SP
                       TYPE78VS TYPE89   TYPE892  TYPE89I  TYPESTAT
                       TYPESYMT TYPESYSL TYPETALO TYPETARC TYPETMNT
                       TYPETSWP
                 JCLSPOTH - DCOLLECT, TMC.
                 JCLSPUOW - after JCLSPLTA and JCLSPLTB have run,
                            build PDB.ASUMUOW from CICSTRAN and DB2ACCT,
                            build PDB.CICS from PDB.ASUMUOW.
                            Nov 9:  (+1) instead of (0) for PDB and SPIN
                            DDnames, and DISP/SPACE parameters added
                 JCLSPCPY - Copies these datasets into PDB library:
                            ASUMCACH CICS     ASUMUOW  ASUMDB:
                 JCLSPWEK - weekly job using BLDSMPDB to drive the bus
                 JCLSPMTH - monthly job using BLDSMPDB to drive the bus

               BLDSPxxx members are for ASCII execution to create the
               same suite of PDB datasets. except that there is no
               GDG nor SPLIT members.
                 BLDSPSMA - Read only CICS SMF 110, create:
                      CICSTRAN.CICSTRAN CICSBAD.CICSBAD.
                 BLDSPSMB - Read only DB2 SMF 101/102, create:
                   PDB: DB2ACCT  DB2ACCTB DB2ACCTG DB2ACCTP DB2ACCTR
                        ASUMDB2A ASUMDB2B ASUMDB2G ASUMDB2P ASUMDB2R
                 BLDSPSMC - Read only I/O records, create:
                   PDB: TYPE1415 TYPE42AD TYPE42AU TYPE42CC TYPE42CU
                        TYPE42CV TYPE42DS TYPE42EX TYPE42NF TYPE42NU
                        TYPE42SC TYPE42SR TYPE42TO TYPE42VL TYPE42VS
                        TYPE42VT TYPE42XR TYPE42XV TYPE42S1 TYPE42S2
                        TYPE42S3 TYPE42S4 TYPE42D1 TYPE42D2 TYPE42D3
                        TYPE42D4 TYPE42L1 TYPE42L2 TYPE42P1 TYPE42P2
                        TYPE42P3 TYPE42X1 TYPE42X2 TYPE42X3 TYPE42X4
                        TYPE4220 TYPE4221 TYPE422A TYPE4222 TYPE4223
                        TYPE4224 TYPE424A TYPE4225 TYPE4226 TYPE4237
                        TYPE6156 TYPE64   TYPE64X  TYPE74   TYPE74CA
                        TYPE74ID TYPE74CF TYPE74CO TYPE74LK TYPE74ME
                        TYPE74OM TYPE74PA TYPE74ST TYPE74DU TYPE74SY
                        TYPE74TD TYPE746B TYPE746F TYPE746G TYPE747P
                        TYPE747C TYPE748  TYPE748A TYPE748R TYPE748X
                        HSMDSRST HSMFSRBO HSMFSRST HSMFSRTP HSMDSRFU
                        HSMVSRFU HSMVSRST HSMWWFSR HSMWWVOL
                 BLDSPSMD - Read only MQ records, create:
                  PDB:  MQCFSTAT MQMACCT  MQMACCTQ MQMBUFER MQMCFMGR
                        MQMLOG   MQMMSGDM MQMQUEUE
                 BLDSPSME - Read all remaining SMF, create:
                       ASUM70GC ASUM70GL ASUM70LP ASUM70PR ASUMCEC
                       ASUMCELP ASUMTALO ASUMTAPE CICEODRV CICINTRV
                       CICREQRV CICRRTRV CICSEXCE CICSYSTM CICUSSRV
                       DB2GBPAT DB2GBPST DB2STAT0 DB2STAT1 DB2STAT2
                       DB2STAT4 DB2STATB DB2STATR DB2STATS DDSTATS
                       IPLS     IPLSMF   JOBS     NJEPURGE PRINT
                       RMFINTRV RMFWKLRV SMFINTRV SMFRECNT SPIN26
                       SPIN30TD SPIN30_1 SPIN30_4 SPIN30_5 SPIN6
                       SPINRMFI SPINTALO SPUNJOBS STEPS    TAPEMNTS
                       TAPES    TYPE0203 TYPE23   TYPE30MR TYPE30MU
                       TYPE30OM TYPE30_6 TYPE7    TYPE70   TYPE7002
                       TYPE70EN TYPE70PR TYPE70X2 TYPE70Y2 TYPE71
                       TYPE72   TYPE7204 TYPE725A TYPE725B TYPE725C
                       TYPE725D TYPE725E TYPE725F TYPE725G TYPE725H
                       TYPE725I TYPE725J TYPE725K TYPE725L TYPE725M
                       TYPE72DL TYPE72GO TYPE72MN TYPE72SC TYPE73
                       TYPE73L  TYPE73P  TYPE75   TYPE77   TYPE78
                       TYPE78CF TYPE78CU TYPE78IO TYPE78PA TYPE78SP
                       TYPE78VS TYPE89   TYPE892  TYPE89I  TYPESTAT
                       TYPESYMT TYPESYSL TYPETALO TYPETARC TYPETMNT
                       TYPETSWP
                 BLDSPOTH - DCOLLECT, TMC.
                 BLDSPUOW - after JCLSPLTA and JCLSPLTB have run,
                            build PDB.ASUMUOW from CICSTRAN and DB2ACCT,
                            build PDB.CICS from PDB.ASUMUOW.
                 BLDSPWEK - weekly job using BLDSMPDB to drive the bus
                 BLDSPMTH - monthly job using BLDSMPDB to drive the bus

Change 29.104 -Interval summarization of CICS Statistics CICLDR dataset
ASUMCLDR       in PDB.ASUMCLDR and Trending in TREND.TRNDCLDR is useful
TRNDCLDR       to track CICS Program Loader activity.
TRNDCELP      -Trending for ASUMCELP and ASUM70LP per-LPAR datasets,
TRND70LP       adds zIIP, zAAP, and IFL statistics.
May  1, 2011
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.103  New option RESULTS=FINDVAR will find every dataset in
VMXGSRCH       every allocated LIBNAME, or in specific LIBNAMES, that
May  1, 2011   contains any of the variables listed in VARS= argument.
Jul  8, 2011   With FINDVAR option, the VALUE= argument is ignored.
               Jul 2011: COUNT option was restored in code, was lost.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.102  Change 29.052 documented this MONTHxxx error 180-322:
ANALDB2R
MONTHASC        NOTE: Line generated by the macro function "SUBSTR".
MONTHBL3        18     ;SET MON.XXXXXX TUE.XXXXXX WED.XXXXXX THU.XXXXXX
MONTHBLD                ---
MONTHDSK                180
READDB2         ERROR 180-322: Statement is not valid or it is used out
UTILBLDP                     of proper order.
VMXGSUM
May  2, 2011  was caused by the %CMPRES macro (in SASAUTOS) generating
              a line of code when it should have stored that text in a
              macro variable, and that this "SAS V9.1.3 ONLY" error was
              circumvented by replacing %CMPRES with %QCMPRES.  But this
              error is also in SAS V9.2, both ASCII and z/OS platforms,
              on May 1, but not on May 2.  On May 1, a Sunday, with the
              default STARTDAY of MON, the to-be-generated SET statement
              has the (maximum) of six daily and five weekly elements,
              which tripped up %CMPRES, while %QCMPRES worked fine.
              But on May 2, with only five week tokens to be generated,
              both %CMPRES and %QCMPRES worked fine.

             -Detailed traces with all possible %MACRO debugging options
              failed to reveal the actual cause of the error.

             -But, the SAS documentation for %CMPRES and %QCMPRES states

              "The %CMPRES and %QCMPRES macros compress multiple blanks
               and remove leading and trailing blanks.  If the argument
               might contain a special character or mnemonic operator:

                  & % ' " ( ) + - * / < > = ¬ ^ ~ ; , # blank
                  AND OR NOT EQ NE LE LT GE GT IN

               use %QCMPRES.

               %CMPRES returns an unquoted result, even if the argument
               is quoted.

               %QCMPRES produces a result with the special characters
               and mnemonic operators masked, so the macro processor
               interprets them as text instead of as elements of the
               macro language."

              Since all MXG uses of %CMPRES are objects of a %LETs for a
              text string, and since some of those text strings can have
              those special characters, all %CMPRES are now %QCMPRES.
   Thanks to Rodger Foreman, Acxiom, USA.

Change 29.101  Support for z/VM 6.2, COMPATIBLE RECORD CHANGES BY IBM.
EXIODMDE       IBM's MONWRITE/MONDATA file changes WERE COMPATIBLE, but
EXISFILC       MXG code might fail if you create SYTLCK (0.23) records;
EXISFISA       See note at bottom to read 6.2 data with prior MXG code.
EXISFISC       z/VM 6.2 MONWRITE is a MAJOR enhancement, with these 19
EXISFNOD       new records (VXPRCMFC has the z/OS SMF 113 Counters!):
EXMTRILC        DMN REC  DDDDDD DATASET  DESCRIPTION
EXMTRISC         1   23  MTRISC VXMTRISC ISFC End Point Configuration
EXMTRSSI         1   24  MTRILC VXMTRILC ISFC Logical Link Configuration
EXMTRTOP         1   25  MTRSSI VXMTRSSI SSI Configuration Information
EXPRCMFC         1   26  MTRTOP VXMTRTOP System Topology
EXPRCTOP         4   11  USERLS VXUSERLS Guest Relocation Started
EXSSISCH         4   12  USERLS VXUSERLS Guest Relocation Ended
EXSSISLT         5   13  PRCMFC VXPRCMFC CPU-Measurement Facility
EXSSISMI
EXSSISCS         5   14  PRCTOP VXPRCTOP System Topology
EXSSIXDI         6   31  IODMDE VXIODMDE Minidisk Activity
EXSSIXLK         9    1  ISFISC VXISFISC ISFC End Point Status Change
EXUSERLS         9    2  ISFISA VXISFISA ISFC End Point Activity
EXUSERLS         9    3  ISFILC VXISFILC ISFC Logical Link Def Change
FORMATS          9    4  ISFNOD VXISFNOD ISFC Logical Link Activity
IMACVMXA        11    1  SSISSC VXSSISSC State Change Synch Activity
VMACVMXA        11    2  SSISMI VXSSISMI State/Mode Information
VMXGINIT        11    3  SSISCH VXSSISCH State Change/Event
May  6, 2011    11    4  SSISLT VXSSISLT Slot Definition
Oct 22, 2011    11    6  SSIXLK VXSSIXLK XDISK Serialization Sample
Nov  2, 2011    11    7  SSIXDI VXSSIXDI XDISK Activity
               and with changes to these 36 existing datasets:
                0  VXSYTPRP (0.02) VXSYTRSG (0.03) VXSYTSHS (0.07)
                   VXSYTUSR (0.08) VXSYTUWT (0.12) VXSYTSCP (0.13)
                   VXSYTXSG (0.14) VXSYTCUM (0.17) VXSYTLCK (0.23)
                1  VXMTREPR (1.01) VXMTRSYS (1.04) VXMTRPRP (1.05)
                   VXMTRDEV (1.06) VXMTRMEM (1.07) VXMTRSPR (1.09)
                   VXMTRDDR (1.14) VXMTRUSR (1.15) VXMTRCCC (1.18)
                2  VXSCLSHR (2.09) VXSCLIOP (2.11)
                3  VXSTORSG (3.01) VXSTORSP (3.02) VXSTOASP (3.04)
                   VXSTOADD (3.21)
                4  VXUSELON (4.01) VXUSELOF (4.02) VXUSEACT (4.03)
                   VXUSEINT (4.04) VXUSEATE (4.09)
                5  VXPRCCFN (5.06) VXPRCCFF (5.07) VXPRCAPC (5.09)
                6  VXIODVON (6.01) VXIODVSW (6.21)
                8  VXVNDSES (8.01)
               10  VXAPLSDT (10.02)
              -Dataset VXPRCMFC is created with TYPE113 variable names,
               including all of the metrics from John Burg's papers, so
               the existing ASUM113 dataset can be used to summarize the
               new hardware counters from either z/VM or z/OS records.
              -The sort order was changed on some existing datasets that
               had not previously been validated for the NODUP option.
               The _Bdddrrr "BY LIST" macro for each dataset has been
               validated to ensure that  PROC SORT NODUP; BY _Bdddrrr;
               removes duplicates; some existing dataset's _Bdddrrr list
               was insufficient and had to be extended to ensure the
               physical adjacency of duplicate records.
                 The validation reads the same MONWRITE file twice and
                 the _SVMXA macro sorts all datasets. The SAS log
                 message for each sort is examined to ensure that
                 exactly one half of the input observations were
                 reported as duplicates.
              -The validation of the BY LIST with NODUP is NOT because
               MONWRITE has a duplicate record problem; it is required
               for the DIF() validation of the MXG deaccumulation logic.
               Because MONWRITE records contain accumulated values, the
               deaccumulation logic (a DATA step in the _Sdddrrr macro)
               uses the same "BY LIST" _Bdddrrr macro as the NODUP did.
               The deaccumulated datasets are then examined with PROC
               MEANS for MIN.  If a non-accumulated field (cardinal,
               min, max, end point) is deaccumulated, or if its sort
               order is not correct, its minimum value will be negative.

              -This change was a significant project; there were 3417
               source lines inserted, and 730 lines deleted in the main
               VMACVMXA code member, which now has 24,653 lines.  The
               update took from Monday thru Saturday, 40-50 hours.
               I documented the original VM/XA MONWRITE development in
               1988, 150 hours across 10 days for 75 datasets and 15,000
               lines, I think, but I can't find that note right now!

              -Not new in z/VM 6.2, but it has always been the case that
               when the same MONWRITE data file was read twice, two MXG
               created datasets had an odd number of observations, where
               an even number should have been created. The two datasets
               VXMTREPR (1.01) and VXMTRDDR (1.14) records are written
               at MONITOR START, but prior to the MTRSYS (1.04), which
               contains the GMT Offset (SYSZONE) value.  MXG deletes
               records with SYSZONE missing, because the MRHDRTOD can't
               be converted to local time and thus is unknown.
               But because SYSZONE is retained so it can be used for all
               other records in this collect, if data from a different
               system is concatenated, the new system's 1.01 record will
               use the non-missing SYSZONE from the prior system and was
               output with the wrong MRHDRTOD value.  Fortunately, IBM
               has added SYSZONE field to 1.01 MONITOR START record so
               the MXG logic now exploit that addition and will use the
               1.01 for MONITOR START when it contains SYSZONE.

              -Also not new in z/VM 6.2, there is no SYNC option to make
               MONWRITE interval records synchronized with TIME of DAY;
               the intervals when the MONITOR SAMPLE INTERVAL or the
               MONITOR START command is issued.  A formal requirement
               has just been submitted, and this text will be updated if
               IBM accepts that request.  In the interim, this example
               from IBM can be used to STOP and reSTART the monitor with
               TOD synchronization to second zero of the next minute:

                 /* Make the monitor intervals start on second zero */
                 'CP MONITOR STOP'
                 Parse value time('N') with hh ':' mm ':' ss .
                 mm=mm+1      /* Wait for the next minute*/
                 If ss=59 then mm=mm+1    /*May need a bit more time*/
                 If mm>60 then do         /* Overflow to the hour*/
                   mm=mm-60
                   hh=hh+1
                 end
                 'WAKEUP' hh':'right(mm,2,0)':00'  /*Wait*/
                 'CP MONITOR START'                /*Start the monitor*/
                 Exit

                 Note:  changing the  mm=mm+1  to  hh=hh+1
                    and changing to   'WAKEUP' hh':00:00'

                 will cause MONWRITE data to be on an hourly boundary.

              -CIRCUMVENTION TO SKIP MONWRITE 0.23 SYTLCK RECORD:
               To process z/VM 6.2 records with MXG 29.03 or earlier,
               this code will skip all 0.23 records:
               //SYSIN DD *
                 %LET MACVMXX=
                   %QUOTE(
                     IF MRHDRDM=0 AND MRHDRRC=23 THEN DO;
                       INPUT +SKIP @;
                       SKIP=0;
                       MRHDRDM=-99;
                       MRHDRRC=-99;
                       GOTO MWENDIT;
                     END;
                   );
                 %INCLUDE SOURCLIB(....);

Change 29.100  Support for GDPS Global Mirror V3R8 SMF ID=105 record,
EXTY1051      which creates these two new datasets:
EXTY1052       dddddd  Dataset   Description
IMAC105        TY1051  TYPE1051  GDPS SESSION DATA
VMAC105        TY1052  TYPE1052  GDPS LOGICAL SUBSYSTEM DATA
VMXGINIT
Apr 28, 2011
   Thanks to Paul Volpi, UHC, USA.

Change 29.099 Omegamon User SMF "OMCI" record tested for versions before
VMACOMCI      testing for SUBTYPE and RECSUBTY, and records from the old
Apr 27, 2011  version 420 printed error messages that that version was
              unknown.  But these were ID=112 records with SUBTYPE=203
              and RECSUBTY=0, which are "112s" and not "OMCI", so the
              code now accepts '420' for version but also deletes these
              non-OMCI records ahead of the version test.
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 29.098  Variables ICFCPUS, IFLCPUS, IFACPUS, ZIPCPUS, only in the
VMXG70PR      PDB.ASUMCEC dataset, were wrong (too high, they were the
Apr 27, 2011  SUM across all LPARs with those specialty engines).
   Thanks to Otto Burgess, OPM, USA.

Change 29.097 INPUT STATEMENT EXCEEDED (on z/OS), INVALID FLOATING POINT
EXCICRDD      (on ASCII) SMF 110 subtype 1 MNSEGCL=5 records, if any DPL
IMAC110       DPL Resource Segments exist (i.e., MNR5NUMX GT 0).
VMAC110       DPL segments, new in CICS/TS 4.1, were not input, causing
VMXGINIT      mis-alignment, but they now create new CICSRDPL dataset.
Apr 26, 2011  Also, new variables added by CICS/TS 4.1 are now output
              in the existing CICSRDS dataset that were overlooked.
   Thanks to Paul Volpi, UHC, USA.

Change 29.096  Documentation only. APAR PK99058 corrects Tivoli Storage
VMAC42        Manager z/OS Server Accounting Record CPU usage field,
Apr 25, 2011  (variable CLICPUTM in TYPE42AD), in TSM Version 5.5 only,
              which had failed to populate that field.
   Thanks to Jacob Nudel, Thomson Reuters, USA.

Change 29.095  Parameter DALYKEEP= added to bldsmpdb to control which
BLDSMPDB      dataset are selected by the PROC COPY from the PDB into
Apr 22, 2011  the Day-Of-Weed dataset, and can be a SELECT statement or

====== Changes thru 29.094 were in MXG 29.03 dated Apr 19, 2011========

Change 29.094  MXG 29.03 Dated APR 11: ALL CICSTRAN TIME VARIABLES WRONG
VMAC110        (if you did NOT use UTILEXCL to create IMACEXCL).  A mass
Apr 19, 2011   change command went awry and inserted 16* in all of the
               time duration variables in blocks of "fall thru" code for
               CICS/TS 3.2 or later.  This SHOULD have printed the MXG
               ***ERROR VMAC110: CPU 10X LARGER THAN ELAPSED.
               See Change 29.076 for the CPU 10X LARGER enhancement.
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

Change 29.093  INPUT STATEMENT EXCEEDED for subtype 79; value '1120' was
VMAC85         added to the two tests for variable R85PVRM in the block
Apr 18, 2011   that reads subtype=79, support z/OS 1.12 INCOMPAT change.
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 29.092  Variables ZIPCPUS and IFACPUS in PDB.ASUMCEC/PDB.ASUM70PR
VMXG70PR       were the average number online, but that included parked
Apr 13, 2011   time.  They are now corrected to count the number of
               AVERAGE*ONLINE*NOTPARKED specialty engines.  Variables
               NRZIPCPU and NRIFACPU are the number installed.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 29.091  If MXG's default COMPRESS=YES is changed to COMPRESS=NO,
VMAC102        all SQL Text variables are broken into 100 byte chunks
Apr 13, 2011   and multiple observations are created in the T102Tnnn
               datasets, but the last two characters of each chunk have
               been missing since DB2 V8.1 changed the structure of
               the length fields; MXG still subtracted 2 bytes which it
               should not have. DB2 SQL text is created in these IFCIDS:
               63 124 140 141 142 145 168 which are now all corrected.
   Thanks to Mark Tomlinson, Lloyds Banking, ENGLAND.
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.

Change 29.090  Typo for the IMS08D and IMS0A08 datasets _Wdddddd entries
VMACIMS        had _VIMS08 _KIMS08 which are now _VIMS08D _KIMS08D and
Apr 13, 2011   _VIMS0A8 and _KIMS0A8 respectively.  Since the _VIMS08
               and _VIMS08D keep the same variables, the IMS0708 dataset
               was not impacted, and, fortunately, no one uses IMS0A78.
   Thanks to Rudolf Sauer, T-Systems, GERMANY

Change 29.089 -The z/VM MONWRITE dataset PDB.VXBYUSR has one observation
VMACVMXA       for every VMDCPUAD (CPU ADDRESS) configured for each VM,
VMXGINIT       so it doesn't have the interval total for each machine.
Apr 13, 2011   The new PDB.VXINTUSR sums PDB.VXBYUSR to create one obs
               for each interval for each machine, counting configured
               (ENGCONFG) and online (ENGONLIN) engines.
              -Variables VMDVTMP VMDTTMP VMDVTMS VMDTTMS are correctly
               deaccumulated with this change.
   Thanks to Ron Lewis, State Street Bank, USA.

Change 29.088  These "user id" variables are added to TMDBDB2 dataset
VMACTMDB        DBHCEUID DBHCEUTX DBHCEUWN
Apr 12, 2011   (and should have been added a long time ago!).
   Thanks to Patricia Abel, Regie des rentes du Quebec, CANADA.
   Thanks to Liliane Paquet, Centre de services partages Quebec, CANADA.

Change 29.087  Comments in IMACIMS7 and IMACIMS7 for _IMSVERS values are
IMACIMS        inconsistent; 10.1 or 11.1 were listed, but the values
Apr 12, 2011   needed are only 10.0 and 11.0 (so the misleading values
               worked fine!).
               And Change 28.311 did not change the datasets created;
               that change only restructured the internal IMS processing
               code to separate and then recombine the TM and DBCTLs.
   Thanks to Daniel Strgarsek, SAS Institute, GERMANY.

====== Changes thru 29.086 were in MXG 29.03 dated Apr 11, 2011========

Change 29.086  The QA conflict report from DOCVER showed SYSTEM was $8
ANALID         in PDB.SMFRECNT, but SYSTEM is always $4.  After 2 hours
Apr 10, 2011   of tests with inserted PROC CONTENTS, I found it only
               occurred when there were no observations in TYPEID, which
               is normal for the QASAS job that creates DOCVER, and then
               remembered that when the old PROC FREQ was replaced with
               the enhanced ANALID (with PROC TABULATE to capture both
               counts and bytes), an extra step was needed to create the
               PDB.SMFRECNT (because PROC TABULATE didn't, with no obs),
               and finally found the statement SYSTEM='        '; that
               should have been SYSTEM='    '; to set its length to $4.

Change 29.085 -Revision to limit search to the LIBNAME requested and a
VMXGSRCH       missing semicolon was inserted, although no syntax error
Apr 10, 2011   was reported.
              -If VARS= is specified without VALUE=, the results are the
               list of datasets that contain that variable.

Change 29.084 -Temporary dataset MXGENG is now deleted by VGETENG.
VGETENG       -Variables QWHSACE QWHSMTN QWACACE ACE are now consistent
VMACDB2        LENGTH 5 and FORMAT HEX8 addresses, QWARACE is LENGTH 8
VMAC102        and FORMAT HEX16 in VMACDB2/VMACDB2H/VMAC102.
VMACDB2H      -Variables TOKLEN and TOKVERS in VMAC80A are labeled.
VMAC80A       -Variable CTGAPPLQ is labeled, comments for CTGAPLID now
VMAC111        match in VMAC111.
Apr 10, 2011
   Thanks to Chris Weston, SAS/ITRM Development, USA.

Change 29.083 -Variable QWAXOTSE was added twice in three places; it was
ANALDB2R       not detected because it was zero in the test SMF data.
Apr  9, 2011  -May 1: The formula for calculating the average time (per
May  1, 2011   thread) that was "not accounted for" was revised, thanks
               to this equation provided by IBM DB2 Support in response
               to a customer PMR, i.e., the Class 2 Elapsed times minus
               the sum of Class 2 CPU and Class 3 Suspension durations:
                  AVG=(
                    /*** CLASS 2 ELAPSED ***/
                   SUM(QWACASC+QWACSPEB+QWACUDEB+QWACTRET+QWACTREE,0)
                    /**** CLASS 2 CPU ****/
                   -SUM(QWACAJST,QWACSPTT,QWACUDTT,QWACTRTT,QWACTRTE,0)
                   /**** CLASS 3 SUSPENSIONS ****/
                   -SUM(QWACAWTL,QWACAWTI,QWACAWTR,QWACAWTW,QWACAWTE,
                        QWACALOG,QWACAWAR,QWACAWDR,QWACAWCL,QWACAWTP,
                        QWACCAST,QWACAWTG,QWACAWTJ,0))/THREADS;
              -The Accounting Trace Reports had many fields missing in
               the headers because they had not been listed in the
               SORTBY= arguments.
              -For the ACCOUNTING reports, selection was not being done.
               If you specified DB2=DB20 you still got all of the data
               for all of the subsystems.
   Thanks to Neil Ervin, Wells Fargo Bank, USA.

Change 29.082A Using PDB.ASUMCEC/PDB.ASUMCELP is STRONGLY RECOMMENDED
ASUM70PR       because PDB.ASUM70PR/ASUM70LP CAN BE TERRIBLY WRONG for
Apr  9, 2011   many of the LPAR-Specific Variables, when IRD is active
               and/or Hiperdispatch is enabled.  In those environments,
               only the "LPn" variables for the "THIS LPAR" observation
               (i.e., "THIS SYSTEM") in "SYSTEM-LEVEL" ASUM70PR/ASUM70LP
               datasets are always valid. These LPAR-Specific variables:
                 LPnNRPRC  LPnDUR  LPnLAC  LPnONT  LPnPAT  LPnWST
                 LPCTnBY   LPCTnOV
                 LPnZIUTM  LPnZIKTM LPnIFUTM LPnIFKTM
               will be WRONG in the ASUM70PR/ASUM70LP observations from
               the "OTHER LPARs", because those LPAR-Specific variables
               are based on SMF70ONT/SMF70PAT, which are ONLY valid in
               the "THIS LPAR" observation.

               This PROC PRINT shows the six ASUM70PR observations from
               each of six SYSTEMs, with the set of LPAR-Specific fields
               for LPAR 2 (SYSA).  You can see that ONLY the observation
               in ASUM70PR for SYSTEM=SYSA, the "THIS LPAR, THIS SYSTEM"
               observation, are valid and match the ASUMCEC observation:
               (Note that not ALL of the variables are WRONG!).


         SYSTEM   LP2NAME  LP2DUR      LP2UPDTM    LP2UEDTM    LP2MGTTM
                           ******
          SYSK     SYSA   6:00:00.01  1:21:32.11  1:21:00.97  0:00:31.14
          SYSA     SYSA   2:33:48.28  1:21:31.41  1:21:00.27  0:00:31.14
          SYSC     SYSA   6:00:00.43  1:21:32.38  1:21:01.24  0:00:31.14
          SYSD     SYSA   6:00:00.30  1:21:32.50  1:21:01.36  0:00:31.14
          SYSG     SYSA   6:00:01.16  1:21:32.21  1:21:01.07  0:00:31.14
          SYST     SYSA   6:00:00.09  1:21:32.20  1:21:01.07  0:00:31.14
         ASUMCEC:  SYSA   2:33:48.28  1:21:31.41  1:21:00.27  0:00:31.14


         SYSTEM   LPCT2BY  LPCT2OV  PCTL2BY  PCTL2OV  LP2NRPRC  LP2BDA
                  *******  *******                    ********
          SYSK     22.64   0.14416  22.6486  0.14416    6.0       8
          SYSA     53.00   0.33744  22.6521  0.14421    2.6       8
          SYSC     22.64   0.14416  22.6495  0.14416    6.0       8
          SYSD     22.65   0.14417  22.6502  0.14417    6.0       8
          SYSG     22.64   0.14416  22.6479  0.14416    6.0       8
          SYST     22.64   0.14416  22.6490  0.14416    6.0       8
         ASUMCEC:  53.00   0.33744  22.6454  0.14416    2.6       8


         SYSTEM   LP2SHARC  LP2SHARE   LP2LAC    LP2MSU   LP2MSUHR
                                       ******
          SYSK     16.2389     13        .       129.378    129.378
          SYSA     16.2420     13      29.2360   129.360    129.398
          SYSC     16.2389     13        .       129.385    129.383
          SYSD     16.2389     13        .       129.388    129.387
          SYSG     16.2389     13        .       129.381    129.374
          SYST     16.2389     13        .       129.381    129.380
         ASUMCEC:  16.2420     13      29.2360   129.360    129.360


         SYSTEM     LP2CSF     LP2ONT       LP2WST       LP2ZIPTM
                               ******       ******
          SYSK       10G     6:00:00.01  3:59:14.35    0.00:18.94
          SYSA       10G     2:33:47.23  0:33:06.46    0.00:18.94
          SYSC       10G     6:00:00.43  3:59:15.35    0.00:18.94
          SYSD       10G     6:00:00.30  3:59:15.46    0.00:18.94
          SYSG       10G     6:00:01.16  3:59:15.21    0.00:18.94
          SYST       10G     6:00:00.09  3:59:14.81    0.00:18.94
         ASUMCEC:    10G     2:33:47.23  0:33:06.46    0.00:18.94

         SYSTEM          LP2ZIUTM      LP2ZIKTM      LP2ZIWTM
                         ********      ********      ********
          SYSK          2:00:00.00             .    1:59:41.11
          SYSA          1:59:57.87    0:00:00.00    1:59:38.98
          SYSC          2:00:00.14             .    1:59:41.25
          SYSD          2:00:00.10             .    1:59:41.20
          SYSG          2:00:00.39             .    1:59:41.49
          SYST          2:00:00.03             .    1:59:41.13
         ASUMCEC:       1:59:57.87    0:00:00.00    1:59:38.98

               The non-LPAR-Specific variables ARE VALID; it's ONLY the
               variables identified above that can be WRONG.

              -And, for ASUMCEC to ALWAYS BE RIGHT, you MUST have READ
               the PDB.TYPE70PR observations FOR ALL LPARS (ALL SYSTEMS)
               as input to ASUM70PR when you create PDB.ASUMCEC/CELP.
              -This change was ONLY documentation; no code was changed.
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 29.082  The default ASUM70GC/ASUM70GL interval was hard coded at
VMXG70PR       HOUR, which matched the default for ASUMCEC/ASUMCELP, but
Apr  9, 2011   now INTERVAL=&CECINTRV is used so the group data interval
               matches the CEC interval data, if you change CECINTRV.
               With hindsight, these two datasets should have been named
               ASUMCEGC and ASUMCEGL because both are summarized at the
               CEC level (e.g., by CECSER, and NOT by SYSPLEX SYSTEM),
               but it's too late to change dataset names now.
              -New variable MAX70NSW, the maximum percent of time when
               the LPAR was soft-capped, is now created in PDB.ASUM70GL,
               as the hourly average in SMF70NSW could mask intervals
               that were capped.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 29.081 -Support for SMF 120 Subtype 9 User Field SM1209FH creates
VMAC120        that variable in dataset TYP1209E.  While up to 5 user
VMXGINIT       segments of 2048 bytes each per record can be created,
Apr  8, 2011   this change keeps only the first segment, and only the
Nov  8, 2011   first 12 bytes of the optional field are kept in SM1209FH
               although temporary variable SM1209F input all 2048 and is
               to be used as the source of SM1209FH, which can contain
               HEX, EBCDIC or ASCII text.  The MXG default is ASCII, to
               match the original test data that was received, but that
               can be tailored if you have EBCDIC or HEX data values.
              -Variable SM1209FB is the data length in SM1209FH, and the
               variable SM1209FF contains the user-chosen datatype, and
               temporary variable SM1209F was input with $VARYING2048.,
               so if your 12-bytes were EBCDIC instead of MXG's ASCII
               default, then you would insert this statement
                  SM1209FH=INPUT(SM1209F,$EBCDIC12.);
               in your EXT1209E to input the text as EBCDIC, and/or
               you could use your installer's chosen SM1209FF datatype
               value to conditionally input as ASCII/EBCDIC/SUBSTR/etc.
              -The length of a character variable can NOT be changed in
               a dataset exit member EXddddd.  Only numeric variables
               can have their length changed in a dataset exit member,
               as SAS uses the first instance for character length and
               the last LENGTH statement for numeric variables.
              -The existing IMACFILE/MACFILE exit is taken before the
               LENGTH statements in all VMACs are compiled, so it could
               be used to change length of SM1209FH with this syntax:
                 //SYSIN DD *
                  %LET MACFILE=  %QUOTE( LENGTH SM1209FH $40; );
                  %INCLUDE SOURCLIB(BUILDPDB);
               in the job that reads the SMF 120 records.  However that
               is not the real purpose of the IMACFILE exit, and it may
               already exist for record selection, and the insertion of
               the LENGTH statement could cause non-fatal messages with
               UNINITIALIZED VARIABLE SM1209FH if the program that is
               %INCLUDEd doesn't process SMF 120 records. Using MACFILE
               is totally slick but not righteous; there's a better way.
              -Nov 8:  This change creates macro variable &VARSM1209FHLN
               in VMXGINIT and uses it   LENGTH SM1209FH $&VARSM1209LN;
               in VMAC120, so that the default of 8 can be more easily
               changed (for example, to $40) and converted to EBCDIC:
                 //SYSIN DD *
                  %LET MACKEEP=
                    %QUOTE  (
                       MACRO  _ET1209E
                         SM1209FH=INPUT(SM1209F,$EBCDIC12.);
                       %%
                            );
                  %LET VARSM1209FHLN=12;
                  %INCLUDE SOURCLIB(BUILDPDB);
              -Nov 8: Change text was completely rewritten.
   Thanks to Larry Gray, Lowe's Companies, USA.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 29.080 -New variables from Meral's excellent SHARE paper at
VMAC113        http://share.confex.com/share/116/webprogram/authort.html
Apr  7, 2011   are created in TYPE113 and ASUM113 datasets:
Apr 19, 2011     DWINSORM='DIR WRITES*L1 INST CACHE*FROM REMOTE'
                 DWDASORM='DIR WRITES*L1 DATA CACHE*FROM REMOTE'
               with different equations for z10 vs z196 calculation.
              -These original z10 counters were defined as:
                EXTND128='DIRWRIT*TO L1-I*RETURNED*FROM L2'
                EXTND129='DIRWRIT*TO L1-D*INSTLD*FROM L2'
               but the z196 reversed contents so the labels are changed
                EXTND128='DIRWRIT*TO L1-D*RETURNED*FROM L2'
                EXTND129='DIRWRIT*TO L1-I*INSTLD*FROM L2'
               with the Data count in 128 and the Instructions in 129.
               Since there is no way to have two different labels for
               the same SAS variable, I chose to use the z196 choice,
               hoping z10 users will find this note.  Fortunately, all
               calculations use the sum of this pair of counters, so the
               impact is minor unless you are looking in great detail
               level for the old z10 processor.
               Apr 19: SM113DOL corrected to SM113DON.
   Thanks to Meral Temel, Garanti Teknoloji, TURKEY.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 29.079  MXG will now ABEND if SMFTIME is invalid.  Occasionally,
VMACSMF        using the SAS ftp access method, SAS would stop after
Apr  7, 2011   writing a horrendous SAS log (6 MILLION PAGES, not lines)
               of MXG messages "FIRST RECORD IN GROUP SYSTEM= SMFTIME=".
               The rerun was always successful, suggesting the error is
               in the ftp Server, but this enhancement will stop the MXG
               job by detecting that missing value in SMFTIME.
               SAS was executing under Windows/XP with Service Pack 3.
   Thanks to Bruce Orr, U.S. Customs and Border Protection, USA.

Change 29.078  Support for OS/400, AS/400, Version 7.1 INCOMPAT (due to
FORMATS        IBM change in the LRECL for QAPMDISK file to 539).
VMACQACS       Only the QAPMCONF/QAPMDISK/QAPMJOBL/QAPMPOLL/QAPMSYSL
Apr  7, 2011   files have been validated with 7.1 records, so it is
               possible other files may also be INCOMPATIBLE.  There
               are also a number of new files that are not supported,
               until a user needs those data and provides test files.
              -Dataset QAPMCONF, new variables:
                 GDESF1T  GDESF1S  GDESFT  GDESG1-  GDESG9   GDESGA
                 GDESHT   GDESMT   GDESPF
               and new formats are created in FORMATS member, so that
               you must update your format library.
              -Dataset QAPMCONF, new variables
                 DSPTROP DSPTWOO DSWWWNN
               In addition, variable DSIOARN was documented and INPUT as
               $EBCDIC15., but data in the records show only 10 bytes so
               the INPUT was reduced and PMR was opened with IBM Support
               to determine the true length of the field.
   Thanks to Paul Naddeo, FISERV, USA.
   Thanks to David Bixler, FISERV, USA.

Change 29.077 -Executing z/OS under z/VM caused MXG to print 3 messages:
VMAC7072        MXGNOTE:CPUID SECTION ERROR. INVALID RECORD ... DELETED.
Apr  2, 2011   but the TYPE70 observation had already been output in the
               TYPE70SP dataset (thanks to the "Split 70s" redesign, so
               nothing was lost).  Under z/VM, the CPUID segment of the
               RMF 70 record does not exist.  The revised message reads:
                 MXGNOTE: RMF70 CPUID SECTION DOES NOT EXIST
                 THIS IS NORMAL IF z/OS IS EXECUTING UNDER Z/VM.
                 OTHERWISE THIS IS AN INVALID RMF 70 RECORD.
              -Prior to z/OS 1.12, the PRCS/PRDS segments of the RMF
               70 record did not exist when z/OS was run under z/VM.
               But in z/OS 1.12, APAR OA35675 captures the CPU dispatch
               time of both the z/OS partition and the z/VM "overhead".
               See Change 29.127 which added support for that APAR.
              -On the topic of z/OS under z/VM, past Newsletters noted:
               - To construct the configuration and recording of TYPE78
                 data, RMF must read the IOCDS data set, but under z/VM,
                 the IOCDS is not available to z/OS, so some type RMF 78
                 records will not exist.
               - Under z/VM, the RMF I/O Queueing Activity Report shows
                 only the static configuration data.
              -And IBM's Running Guest Operating Systems documents that:
                -When you analyze the z/OS environment, remember that
                 you have two operating systems running in a single
                 processor. Both z/VM and z/OS are vying for the basic
                 system resources, such as processor, I/O, storage, and
                 paging. Each is generating its own accounting
                 information, and each is supplying its own performance
                 information.
                -Remember that z/OS is unaware that it is running as a
                 guest under z/VM. What the z/OS guest thinks is
                 real-time is actually the time-of-day clock and
                 processor timer facility.  Elapsed time as measured by
                 the time-of-day clock is accurate. The guest's virtual
                 processor timer (VPT) runs whenever the guest is
                 dispatched or is in a voluntary wait state. It does not
                 run if the guest is in a CP wait state. Thus, when z/VM
                 dispatches another virtual machine and later dispatches
                 the z/OS guest, z/OS does not realize it had stopped
                 running.
                -Information about guest system performance is
                 frequently published in Washington System Center
                 flashes. Contact your marketing team for obtaining
                 flashes that pertain to your particular installation.
              -And IBM's RMF Programmer's Guide documents for z/VM:
                -Partition Defined Capacity Used Percent is zero.
              -And IBM's RMF Reports Manual documents for z/VM:
               -When Channel Path Measurement Facility (CPMF) is not
                available, for example, on z/OS systems running as z/VM
                guests, RMF uses sampled data from SRM so that the
                reported channel utilization is only an approximate
                value. With increasing channel speed, the channel
                utilization value becomes more and more inaccurate.
                Therefore, in such cases, RMF does not provide accurate
                values of FICON channel utilization.  Beginning with
                z990 processors, the channel data from SRM is no longer
                available. As a result, the channel utilization data on
                a z/OS system running as z/VM guest, is not reported.
               -In the DEV and DEVV reports, LCU will be blank if this
                is a non-dedicated device in a z/VM guest system
                environment.
               -Running in a z/VM guest environment, these RMF reports:
                  Partition Data Report
                  LPAR Cluster Report
                  Group Capacity Report
                do not exist (because TYPE70PR has zero observations).
                Dataset TYPE70 variable VMSYSTEM='Y' for z/OS under VM.
               -For the CPU Activity Report:
                If RMF is running as a guest under z/VM, it only reports
                the z/OS busy time percentage. If you want to measure
                partition utilization (as well as the individual CPU
                utilization of the single guests, namely LPAR busy time
                percentage), you need to use a z/VM monitor.
   Thanks to MP Welch, Aprize, USA.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 29.076  CICS CPUTM can significantly exceed ELAPSTM if you have
VMAC110        "knee-capped, i.e. slow" CP engines with zIIP/zAAPS.
Apr  1, 2011   The specific case had CPUTM=25 and ELAPSTM=5 on a CP with
               a zAAP that was 10 times faster (or that CP was 10 times
               slower!).  CICS Support responded to the PMR documenting
               that CICS uses the TIMEUSED macro to capture CPU time:
                 "Note: TIMEUSED returns normalized CPU time.  Some
                 servers are configured with System z(TM) Application
                 Assist Processors (zAAPs) or IBM System z9® Integrated
                 Information Processor and IBM System z10(TM) Integrated
                 Information Processors (zIIPs), which run at a faster
                 speed than the normal CP processors.  In this case,
                 zAAP time and zIIP time is normalized to the equivalent
                 time it would take to run on a normal CP when
                 accumulated into total CPU time. "
               The specific case had CPUTM=25 and ELAPSTM=5 on a machine
               with a zAAP that was 10 times faster (or a CP that was 10
               times slower!), which printed a recently added MXG ERROR
               message "CPUTM MUCH LARGER THAN ELAPSED".  This message
               was added to enhance MXG's detection of mis-aligned SMF
               records when CICS fields were excluded or optional fields
               were added.  Previously, the only way for MXG to catch
               mis-alignment was to test that TASKNR was a valid packed
               decimal or that STRTTIME was a missing value, but both of
               those fields are at the beginning of the segment, and
               some combinations of EXCLUDEd fields with optional data
               segments passed those tests as the record was read, but
               the CICSTRAN dataset contained invalid values for fields
               later in the record, but that was only after the MXG job
               had completed and the user analyzed the data.  This test
               was added for more robust detection, but the original was
               only for CPUTM GT 2*ELAPSTM, which in this specific case
               was a spurious ERROR message.  I have changed the test to
               CPUTM GT 10*ELAPSTM and added a note in the message that
               this could be normal if you have knee-capped CP engines.
              -These CPU time variables in CICSTRAN recorded those 25
               Normalized CPU seconds: TASDSPTM (USRCPUT), KY8CPUTM,
               L8CPUTTM, and the total CPUTM, for this transaction that
               obviously spent some serious time on the zAAP engine.
   Thanks to Hugo L. Michel, Prince Georges County, MD, USA.
   Thanks to Dan Zachary, IBM CICS Support, USA.

Change 29.075 -Support for NTSMF's 62 new objects and 1425 new metrics.
EXNTD001       And, a MAJOR redesign in MXG architecture, isolated now
EXNTD062       to the NTSMF product support, but a possible harbinger
IMACNTSM       of future MXG support: DATASET NAMES UP TO 32 CHARACTERS,
VMACNTSM       with that dataset name being the OBJECT name (with blanks
VMXGINIT       and periods changed to underscores). The "dddddd" dataset
Mar 31, 2011   tokens for the new datasets are "NTD001-NTD062", and the
VMXGINV        variable/metric names use the D001 part of the dddddd
UTILVREF       token as their prefix, and are sequentially numbered,
               e.g. D0010001-D00010008 are the 8 variable names for the
               dataset with NTD001:_NET_CLR_NETWORKING, and the labels
               for the metrics are the metric name, shortened to forty
               characters with asterisks inserted for the SPLIT='*' SAS
               operand (to split labels when printing).
               Previously, I created unique dataset names and variable
               names that were arbitrarily limited to 8 characters, but
               this design was implemented by the MAKENTSM code member
               that programmatically generates all of the structural
               code that is then cut/pasted to add the new datasets and
               their exit members.  The _UNTDISC utility provides the
               cut and paste text for the metric names, that become the
               labels for each variable; that is (and will always be) a
               manual process, as that's how I discover what new metrics
               are created, and get an understanding of each new object.
               It is also where the conversion of values to be
               consistent (like converting KB fields to bytes) and
               assignment of MXG formats (like MGBYTES to those
               converted fields, both for the "print pretty" aspect, but
               more importantly, to document (in PROC CONTENTS) the
               variables that contains storage units) that requires
               human knowledge is done.  The new objects are listed in
               IMACNTSM rather than here!
              -The increase of DATASET name required revisions to the
               internal programs VMXGINV and UTILVREF that create the
               DOCVER members; for datasets with names longer than 9,
               DOCVER now has two lines, one for the DATASET name and
               a second line for the DATASET label.  Additional updates
               were needed in a number of the internal QA programs to
               support the longer dataset names.

Change 29.074  MXGWARM: MORE THAN 20 DUPLICATE LABELS, for TYPE8224 with
VMAC82         SMF82DCN, MORE THAN 20 UNAUTH DUPE for TYPE8225 are notes
Mar 30, 2011   that you had more than the 20 I thought was enough.  With
               a max of 36 now observed, I've increased to 40 the number
               of these variables that are kept in the two datasets.
                  But, with MXG's default of COMPRESS=YES, why have any
                  limit at all: there really isn't any real cost of DASD
                  space, if the extra variables are all blanks.
               If this is really a normal need, to know each of the
               instances of the duplicate KEY, when there might be more
               than 40, then MXG would create a new dataset with one
               observation per instance, and free itself from any
               array-size constraints!
   Thanks to Bruce Hewson, Citibank N.A., SINGAPORE.
   Thanks to Alan Yang, Citibank N.A., SINGPORE

Change 29.073  Documentation comments (ONLY) were updated to show how
READDB2        to create ONLY the PDB.DB2STATS dataset, with no other
Mar 28, 2011   datasets written to the PDB library.  It should also be
               noted that, to create observations in PDB.DB2STATS, both
               DB2STAT0 and DB2STAT1 must have observations; DB2STAT4
               can have zero observations.
   Thanks to Jane S. Stock, USPS, USA.

Change 29.072 -Documentation comments (ONLY) were updated to show how
UTILBLDP       the MACFILEX argument can be used to skip unwanted SMF
Mar 28, 2011   records and subtypes.
Apr  7, 2011  -Some MXGWARN were changed to MXGNOTE and text revised.
   Thanks to Nicholas Ward, CentreLink, AUSTRALIA.

Change 29.071  Support for Throughput Manager subtypes 10 and 16 records
EXTPM10        creates new datasets:
EXTPM16S         dddddd  Dataset  Description
EXTPM16J         TPM10   TPM10    Description
IMACTPMX         TPM16S  TPM16S   Step Termination
VMACTPMX         TPM16J  TMP16J   Job Termination
VMXGINIT
Mar 28, 2011

Change 29.070  Replaced by Change 29.220.
Mar 24, 2011

Change 29.069  The DB2 Report of TOP users of resources was revised to
ANALDB2T       report separately for each DB2 SubSystem.
Mar 24, 2011
   Thanks to Ron Wells, American General, USA.
   Thanks to Rick Brooks, American General, USA.

Change 29.068  MXG 28.28-29.02.  Many ABEND='JCL' jobs had ABEND='   '
BUILD005       and all variables from TYPE26J2 were blank or missing in
Mar 24, 2011   the PDB.JOBS dataset.  Change 28.304 unintentionally
               output all TYPE26J2 obs with SYSEXEC LE ' ' to the
               PDB.NJEPURGE dataset, so they were not used to build the
               PDB.JOBS obs.  Instead, only the Purge records that have
                 INREASON IN ('JR','JT','SR') AND SYSEXEC LE ' '
               are (now, correctly) output in PDB.NJEPURGE.  Fortunately
               since purge records with SYSEXEC LE ' ' did NOT execute,
               there was no actual loss of resources, except for the
               counting JCL errors.
   Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.

Change 29.067  RACF UNLOAD utility dataset RACF0270 (OMVS) decodes these
VMACRACF       ten variables for UID limits:
Mar 28, 2011      ASSIZEMAX  ='MAXIMUM*ASID SIZE FOR UID'
                  CPUTIMEMAX ='MAXIMUM*CPU TIME*FOR UID'
                  FILEPROCMAX='MAXIMUM*CTIVE/OPEN FILES*FOR UID'
                  MEMLIMIT   ='MAXIMUM*SIZE OF*NON-SHARED*MEMORY'
                  MMAPAREAMAX='MAXIMUM*MAPPABLE STORAGE*FOR UID'
                  PROCUSERMAX='MAXIMUM*PROCESSES*FOR UID'
                  SHMEMAX    ='MAXIMUM*SIZE OF*SHARED*MEMORY'
                  THREADSMAX ='MAXIMUM*THREADS*FOR UID'
   Thanks to Ed Webb, SAS Institute, USA.

Change 29.066  Duplicate formats $MG119SU were sourced in FORMATS; the
FORMATS        last read was used correctly.  The first is now $MG119ST
VMAC119        and is used to decode SSH_FSCMD, SSH FTP Subcommand.
Mar 16, 2011
   Thanks to MP Welch, Aprize, USA.

Change 29.065  SMF 111 CTG variable CTGAPLID is conditionally INPUT for
VMAC111        dataset TY111CXI, but always INPUT for TY111GD dataset;
Mar 16, 2011   when it existed in GD but not in CXI, but only when the
               GD segment preceded the CXI segment in a physical record,
               the value from the GD segment was carried forward into
               the CXI dataset.  Now, the value is blanked after output
               in the GD segment to prevent being carried forward.
   Thanks to Gordon E. Griffith, Edward D. Jones, USA.
   Thanks to Jim Poletti, Edward D. Jones, USA.
   Thanks to Jeana M. Bechtel, Edward D. Jones, USA.

Change 29.064  The INFILE Exit for Compressed CICS and DB2 records did
EXITCICS       not always work, sometimes causing an I/O Error message.
Mar 16, 2011   Code that had been moved in testing was restored.
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 29.063  Support for CICS/TS 4.2 was available in MXG 29.03, but
UTILEXCL       was announced in Change 29.135.  This change was Reserved
VMAC110        until the product became GA on June 24.
Mar 15, 2011   These new variables are added to the CICSTRAN dataset:
Apr  2, 2011     ECSEVCCT='SYNCHRONOUS*EMISSION*EVENTS'
Jun 24, 2011     OADID   ='ORIGINATING*ADAPTER*ID'
                 OADATA1 ='ORIGINATING*ADAPTER*ID*DATA 1'
                 OADATA2 ='ORIGINATING*ADAPTER*ID*DATA 2'
                 OADATA3 ='ORIGINATING*ADAPTER*ID*DATA 3'
                 PHNTWKID='PREVIOUS*HOP*DATA*NETWORKID'
                 PHAPPLID='PREVIOUS*HOP*DATA*APPLID'
                 PHSTARTM='PREVIOUS*HOP*TASK*STARTIME'
                 PHSTARCN='PREVIOUS*HOP*TASK*STARTS'
                 PHTRANNO='PREVIOUS*HOP*DATA TRANS*SEQ NR'
                 PHTRAN  ='PREVIOUS*HOP*DATA*TRANSACTION*ID'
                 PHCOUNT ='PREVIOUS*HOP*DATA*COUNT'
              -UTILEXCL needed revisions because new fields inserted in
               the middle of the record that were unknown to UTILEXCL
               were not correctly handled in the prior UTILEXCL, which
               created an IMACEXCL that had syntax errors that could be
               visibly seen (the IBM field after the (last) new field
               was NOT preceded by an INPUT statement.)  This was NOT
               an incompatibility with CICS/TS 4.2, but using the prior
               UTILEXCL with CICS/TS 4.2 dictionary records did cause
               the syntax error when that new IMACEXCL was used.
              -New Statistics STID=19, Dataset CICSMD, exactly the same
               fields as STID=6 in this iteration.
              -New Statistics STID=20, Dataset CICSMT, exactly the same
               fields as STID=5.
              -New Statistics STID=29, existing Dataset CICSMDSA
                 SMSVABYT='ALLOCATED TO*PRIVATE*MEMORY*OBJECTS'
                 SMSVHBYT='HIDDEN IN*PRIVATE MEMORY*OBJECTS'
                 SMSVGBYT='HWM USABLE*IN*PRIVTE MEMORY*OBJECTS'
                 SMSPMOBJ='PRIVATE*MEMORY*OBJECTS'
                 SMSFGFAI='FROMGUARD*FAILURES'
                 SMSFGBYT='FROMGUARD*FAILURE*SIZE'
                 SMSSHBYT='SHARED*FROM*LARGE MEMORY*OBJECTS'
                 SMSHSBYT='HWM SHARED*IN*LARGE MEMORY*OBJECTS'
                 SMSSHOBJ='SHARED*MEMORY*OBJECTS'
                 SMSASPMO='AUX*SLOTS*BACK*64-BIT*PRIVATE*MEMORY'
                 SMSHSPMO='HWM AUX*SLOTS*BACK*PRIVATE*MEMORY'
                 SMSRFPMO='REAL FRAMES*BACK*64-BIT*PRIVATE*MEMORY'
                 SMSHRPMO='HWM REAL FRAMES*BACK*PRIVATE*MEMORY'
                 SMSLMOBJ='LARGE*MEMORY*OBJECTS'
                 SMSLPINR='LARGE PAGES*BACKED IN*REAL STORAGE'
              -New fields in STID=48, Dataset CICTSQ:
                 A12TSQDL='QUEUES*AUTO*DELETED'
                 A12TSCTR='CLEANUP*TASK*RUNS'
              -New fields in STID=142, Dataset CICEPG:
                 EPGEVLNO='EVENT*LOST*NO*ADAPTER'

Change 29.062 -UNKNOWN OPTION VNVERR should have been spelled VNFERR in
ASUMUOWT       VMXGUOW.  The error only occurs when ASUMUOWT is used for
VMXGUOW        TMON CICS input.  ASUMUOWT was not called in MXG QA job
Mar 15, 2011   or I would have caught this typo; that will be corrected.
Mar 18, 2011  -Debugging option TRACEUOW(YES) was left on in ASUMUOWT,
               causing many thousands of lines FIRST.UOWICCHR= ...
               to be printed on the log.
   Thanks to Frank Lund, EDB ErgoGroup, NORWAY.

Change 29.061  Variables PCTZAPBY, PCTZALBY, PCTZIPBY, PCTZILBY are
VMACRMFV       added to dataset ZRBCPU.  These represent the Physical
Mar 13, 2011   and Logical Busy Percentage for ZAAP and ZIIP engines
               respectively.
   Thanks to Rodger Foreman, Acxiom, USA.

Change 29.060  Two calculations for z196 Est Finite CPI and Est SCPL1M
ASUM113        were revised by John Burg in his March SHARE session:
VMAC113          IF BASIC01 GT 0 THEN DO;
Mar 13, 2011       ESTFINCP=((BASIC03+BASIC05)/BASIC01)*(.57+(0.1*RNI));
                 END;
                 IF SUM(BASIC02,BASIC04,0) GT 0 THEN DO;
                   ESTSCP1M=((BASIC03+BASIC05)/(BASIC02+BASIC04))*
                            (0.57*(0.1*RNI));
                 END;

Change 29.059  Support for Beta 93 Version 4.2 new subtypes 25 and 50
EXTYBETF       creates two new datasets:
EXTYBETG          dddddd     Dataset   Description
IMACBETA          TYBETF     BETA25    93 SPOOL ACCESS
VMACBETA          TYBETG     BETA50    93 WEB BROWSER LOGON/LOGOFF
VMXGINIT
Mar 13, 2011
   Thanks to Andreas Menne, Finanz Informatik, GERMANY.

Change 29.058  Variable CPUCEPTM is now set to a missing value in all of
VMAC30         the datasets that contain it (TYPE30_4,TYPE30_V,TYPE30_5,
Mar 11, 2011   PDB.STEPS,PDB.JOBS, where it was flat out WRONG, and in
               PDB.SMFINTRV, where it was validly deaccumulated, but is
               not needed).  The error, starting in Change 22.326, was
               that CPUCEPTM was an ACCUMULATED CPU time and was NOT the
               CPU time of the interval, step, or job. In Change 22.326
               MXG did deaccumulate it, but only in PDB.SMFINTRV, and in
               that process, lost the value of the first interval.  IBM
               corrected their error, creating a new deaccumulated field
               MXG variable CPUCIPTM, added in Change 23.329, which was
               kept in all of the above datasets since that 2006 change.
               But then in 2007, forgetting that it was completely wrong
               I carelessly kept it in PDB.STEPS and PDB.JOBS.  While it
               might be better to just remove the variable, it is safer
               to now set CPUCEPTM to a missing value, and hope/presume
               that if/when you notice it is missing, that you will have
               first searched CHANGESS and will have found this text to
               tell you to use CPUCIPTM instead.  Note that CPUCIPTM is
               already contained in CPUTCBTM so you would only even want
               to use it when examining the components of CPUTCBTM.
               An obscure comment in VMAC30 notes that the variables
                 CPUASRTM CPUENCTM CPUDETTM CPUIFETM CPUEFETM CPUDFETM
                 and CPUCIPTM are all included in CPUTCBTM.
   Thanks to Alfred Holtz, Medco, USA.
   Thanks to Charles D'Angelo, Medco, USA.
   Thanks to Alex Pasterick, Medco, USA.

Change 29.057  Support for Websphere for z/OS MQ Version 7.0.1 (COMPAT).
EXTY116C      -SMF 115 record, dataset MQMMSGDM, new variables:
IMAC116           QMSTPUBS QMSTSTUS QMSTSUB QMSTSUBR QMSTTCB QMSTTCTL
VMAC115           QTSTETHW QTSTETTO QTSTPHIG QTSTPLOW QTSTPNOS QTSTPTO1
VMAC116           QTSTPTO2 QTSTPTO3 QTSTSDUR QTSTSEXP QTSTSHI1 QTSTSHI2
VMXGINIT          QTSTSHI3 QTSTSLO1 QTSTSLO2 QTSTSLO3 QTSTSPHW QTSTSTOT
Mar 12, 2011      QTSTTMSG
Apr 19, 2011  -SMF 116 record, datasets MQMACCT1 and MQMQUEUE:
               New variables added from both WQ and WTAS segments:
                  WTASCTCT WTASCTET WTASCTN  WTASCTSR WTASSQCT WTASSQET
                  WTASSQN  WTASSTCT WTASSTET WTASSTN  WTASSUCT WTASSUET
                  WTASSUN  WTASSUSC WTASSUSL
                  WQCBCT   WQCBET   WQCBN    WQCLCFD  WQCLSUET WQCLSUN
                  WQCLTOSR WQOPCFD  WQOPSUET WQOPSUN  WQOPTOSR WQP1TOSR
                  WQPUBCN  WQPUTOSR WQSELCOU WQSELMXL
               New MQCFSTAT dataset has one obs with these 5 variables
                  WQCFCOUN  &PIB.4.  /**TIMES*IN THE*ROUTINE*/
                  WQCFSYCN  &PIB.4.  /**SYNC*REQUESTS*/
                  WQCFSYET  &PIB.4.6 /**SYNC*ELAPSED*TIME*/
                  WQCFASCN  &PIB.4.  /**ASYNC*REQUESTS*/
                  WQCFASET  &PIB.4.6 /**ASYNC*ELAPSED*TIME*/
               with those statistics for the Coupling Facility, if used,
               for each of the five MQ Verbs (variable WQVERB);
                  OPEN CLOSE GET PUT PUT1
               and for each of the thirteen MQ requests (WQREQSTY):
                  LOCK     UNLOCK   WRITELC  SIGXCF   SIGCF    READ
                  WRITE    STARTMON STOPMON  NEW      MOVE     MOVEENT
                  DELETE
               but observations are ONLY created in MQCFSTAT if there
               are non-zero counts in one of the statistics variables.
               Apr 19: VMAC110 QJSTDRE1/3 corrected to QJSTDRQ1/3
   Thanks to Victoria Lepak, Aetna, USA.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 29.056  Support for MainView MQ (MVMQ) Version 4.4 (INCOMPAT);
VMACBBMQ       MXG code had not been updated since 2007 and many new
Mar 13, 2011   fields were inserted in 'E6'x (dataset BBMQQUES) record,
               the 'E5'x (dataset BBMQCHAN)  record was completely
               revised with several new fields, and the 'E1'x (dataset
               BBMQQMGR) had new fields added at the end.  The VERSREL
               value in the 4.4 records contains 4.2, so the logic to
               detect MVMQ Version was change to use the Length ENTL
               field.  This iteration suppresses checking for compress
               bit while EXITMNVW is examined for possible error.
   Thanks to James Swwinarski, Credit-Suisse, SWITZERLAND.

Change 29.055  JCLUOWV, an example to read DB2 & CICS data that creates
JCLUOWV        PDB.ASUMUOW using SAS Views was altered by Change 28.220
Mar  9, 2011   but undocumented; the default ASUMDB2x members that were
               %INCLUDed were changed, creating different PDB.ASUMDB2x
               datasets.  While any or all of the ASUMs are optional, it
               was not my intent to create different datasets, so the
               default original ASUMs are restored, with this note:
       /*ANY OR ALL OF THE BELOW SUMMARIZING ASUMDB2X ARE OPTIONAL.   */
       /*THE PAIR INCLUDED BY DEFAULT ARE THE ORIGINAL PAIR, KEPT FOR */
       /*CONSISTENCY, BUT AS ASUMDB2P CAN BE VERY EXPENSIVE, YOU MIGHT*/
       /*NOT WANT TO EXPEND THOSE RESOURCES TO SUMMARIZE PACKAGES, AND*/
       /*YOU MIGHT FIND SUMMARIZING DB2STATS WITH ASUMDBSS TO BE BOTH */
       /*USEFUL AND CHEAP (SINCE THOSE ARE INTERVAL DATASETS).        */
       %INCLUDE SOURCLIB(ASUMDB2A); /*BUILD PDB.ASUMDB2A FROM DB2ACCT*/
       %INCLUDE SOURCLIB(ASUMDB2P); /*BUILD PDB.ASUMDB2P FROM DB2ACCTP*/
       /*%INCLUDE SOURCLIB(ASUMDB2B); BUILD PDB.ASUMDB2B FROM DB2ACCTB*/
       /*%INCLUDE SOURCLIB(ASUMDB2G); BUILD PDB.ASUMDB2G FROM DB2ACCTG*/
       /*%INCLUDE SOURCLIB(ASUMDBSS); BUILD PDB.ASUMDBSS FROM DB2STATS*/
   Thanks to Carolyn Saul, West Virginia Office of Technology, USA.

Change 29.054 -STRING variable length was increased to 1000 to support
ASUMDB2A       potentially longer arguments.
ASUMDB2B      -Macro variable DSETEXST=NO, defined/set in VMXGINIT, was
ASUMDB2G       incorrectly re-defined in VMXGSUM, ASUMDB2A, ASUMDB2B,
ASUMDB2P       ASUMDB2G and ASUMDB2P, preventing it from being changed
VMXGSUM        to YES by ANALDB2R, the only place it is currently used.
Mar 13, 2011   Re-definitions are now removed from those five members.
                 With DSETEXST=NO, VMXGSUM calls VGETOBS to determine if
                 the input dataset exists, gracefully failing was an MXG
                 message if it doesn't.  With DSETEXST=YES, when the
                 existence is already known, VGETOBS is bypassed, saving
                 a read of the full input dataset if it happens to be
                 on tape or in sequential format on disk.
               Because the redefinition text was DSETEXST=&DSETEXST,
               SAS errors about RECURSIVE REFERENCE to DSETEXST could
               have occurred, although (fortunately) none were reported.

Change 29.053  Documentation. Since DB2 Version 7.1, when DB2ACCTP data
TYPEDB2        was moved to SMF 101 Subtype 1, there has been no QWAC
Mar  4, 2011   segment for Packages.  The KEEP list for DB2ACCTP still
               had variables QWACBSC QWACESC and QWACWLME, which have
               been missing values in DB2ACCTP since then. I could drop
               them, but if I do, someone out there with an old report
               program that referenced them, would then fail, so they
               will still be kept (but if you are real picky, you can
               easily drop them by putting this macro definition
                 MACRO _KDB2ACP DROP=QWACBSC QWACESC QWACWLME %
               in your IMACKEEP member in your "USERID.SOURLIB").
   Thanks to Wayne Bell, UniGroup, Inc, USA.

Change 29.052  The newest MONTHxxx fails, z/OS ONLY, SAS 9.1.3 only.
MONTHBLD       %CMPRES must be changed to %QCMPRES.  As often is the
Mar  3, 2011   case with %MACRO errors, the error message gives no clue:
                 NOTE: LINE GENERATED BY THE MACRO FUNCTION "SUBSTR".
                 ;SET MON.XXXXXX WEEK1.XXXXXX WEEK2.XXXXXX WEEK3.XXXXXX
                  ___
                  ___
                  ___
                  180
                  180
                  180
                 ERROR 180-322: STATEMENT IS NOT VALID OR IT IS USED OUT
                 OF ORDER.
               The %CMPRES function was added to print the generated SET
               statement, for diagnostics, to verify the results of the
               7x7 tests (7 Startdays, 7 Rundays), but was added after
               the z/OS MONTHxxx logic verification, and while it works
               just fine on SAS 9.2, the 9.1.3 %CMPRES function fails,
               inserting a semicolon that terminated the %LET statement.
               The stronger %QCMPRES function works on SAS 9.1.3.
               May 1: See CHANGE 29.102.  Error occurred on SAS V9.2.
   Thanks to Kim Tyson, Toyota, USA.

Change 29.051  Variable STORCLAS can be uninitialized, with hex zeroes
VMAC42        for some system datasets (SYS1.MANX,SYS1.PROCLIB); now,
Mar  2, 2011  hex zeros are translated to blanks.
   Thanks to John R. Paul, Highmark, USA.

====== Changes thru 29.050 were in MXG 29.02 dated Mar  1, 2011=========

Change 29.050  DB2 IFCID 319, ACCESS CONTROL AUTH EXIT PARMS, specific
FORMATS        to IFCID=319 fields, are now decoded and output; three
VMAC102        formats are created to decode three variables.

Change 29.049  The interval DELTATM was not summed when there was more
ASUM113        than one engine for a type of engine causing LPARBUSY
Feb 25, 2011   to exceed 100%. The sum of the DELTATM across engine type
Feb 28, 2011   is now stored in DELTASUM and used for LPARBUSY, while
               DELTATM has the interval duration and is used for the
               (now corrected) calculation of LPARCPUS.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 29.048  Macro variable MXGCIXT is created and inserted after all
VMXGCICI       of the CICS Statistics WORK.INTxxxx datasets have been
VMXGINIT       created (summarized), so they could be copied to a
Feb 25, 2011   permanent data library.

Change 29.047  DB2 variables QWACZIS1 QWACZIS2 QWACZIEL QWACZITR are now
VMXGUOW        added to PDB.ASUMUOW when DB2ACCT data is found.
Feb 25, 2011

Change 29.046  On z/OS only (a LIBNAME is always needed on ASCII):
DOC            if your program starts with an ASUM/TRND member, or it
Feb 25, 2011   invokes VMXGSUM, and the internal macro VGETOBS is used
               (to detect the presence or absence of input datasets,
               intended to conserve resources and avoid strange errors),
               there are two potential exposures:

               SAS - if the LIBNAME is on tape, we cannot detect that,
               and the PROC SQL will read the entire tape volume(s) to
               populate the DICTIONARY.TABLES internal table we use.

               WPS - WPS does not populate dictionary.tables until the
               LIBNAME(s) are opened, which causes these error messages:
                  NOTE: No rows were selected
                  NOTE: RUN has no effect in proc sql ... immediately.
                  MXGERROR: WEEK.JOBSKED DOES NOT EXIST.  VMXGSUM WILL
                  MXGERROR: BE STOPPED.
                  NOTE: Procedure SQL step took :
               In this case, you must have a LIBNAME statement for each
               data library to cause that table to be populated.
               Alternatively, you could also use PROC DATASETS
               DDNAME=xxxxx; to populate the table.

               In both cases, inserting %LET DATAEXST=YES; as the first
               SYSIN statement eliminates VMXGSUM's call to VGETOBS to
               verify the dataset exists.  However, if they don't exist,
               that will cause VMXGSUM to then fail for that reason.
   Thanks to Kare Martin Torsvik, Ergogroup, NORWAY.
   Thanks to Atle Mjelde, Ergogroup, NORWAY.

Change 29.045  TRNDRMFI example TRENDINT should have been INTERVAL.
TRNDRMFI       UTILRMFI %IF J LT 5 should have been %IF &J LT 5.
UTILRMFI
Feb 27, 2011
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

Change 29.044  ASM utility to convert a PC "RECFM=U" V/VB/VBS file that
ASMDBLKU       was uploaded to z/OS into a readable "RECFM=V/VB/VBS"
Feb 25, 2011   dataset.  This is the ASM equivalent of the SAS UDEBLOCK
               for sites that don't have a z/OS SAS license.

Change 29.043 -If you needed to rerun a specific day, and you use the
BLDSMPDB       AUTOALOC=YES option, the FORCEDAY parameter was not found
Feb 24, 2011   in the macro; it is now properly defined. To rerun with
               AUTOALOC=YES, the syntax is forceday=ddmmmyy, where the
               ddmmyy is the date to be rerun (e.g., 21feb11).
              -If you need to rerun a day and AUTOALOC=YES is NOT used,
               specify rerun= the day of the week to be rerun, MON, etc.
   Thanks to Cletus McGee, ALFA Insurance, USA.

Change 29.042  NDM-CDI Version 5 records are read without actual errors,
VMACNDM        but the test file contained 'XO' records, which printed
Feb 24, 2011   "NDM. HEADER ONLY" messages because no records had been
               available for validation.  These records are now decoded
               and are output in NDMDT dataset.

Change 29.041  Your FEB MONTHly PDB could be missing MON data, if your
VSETMNTH       MONTHBLD/MONTHBL3/MONTHASC/MONTHDSK has a %%VSETMNTH(),
MONTHBLD       i.e., if the Last Change is  28.125 thru 29.017, i.e.,
MONTHBL3       if it was copied from MXG 28.04 thru 29.01 (yes, that
MONTHDSK       new version that was supposed to have fixed the MONTHs).
MONTHASC       YOUR MONTHXXX IS SAFE IF IT DOES NOT CONTAIN %%VSETMNTH.
MONTHWEK       It depends on the MONTHxxx member, the version it came
Feb 27, 2011   from, and the STARTDAY of your week (MXG default is MON):

               NOTE: THERE IS NO ERROR MESSAGE; THE JOB DOES NOT FAIL.

               1. IF YOU USE MONTHBLD/MONTHBLD/MONTHASC/MONTHDSK:

                 The possible combinations that are good or bad:

                 Using MONTHBLD or MONTHBL3:

                 From version:     MXG 29.01       MXG 28.04-MXG 28.28
                 (Last Change)   Change 29.017    Change 28.125-28.324.
                 STARTDAY       SUN       MON        SUN       MON
                 VSETMNTH     OLD  NEW  OLD  NEW   OLD  NEW  OLD  NEW
                               X   ok   ok   ok    ok    X    X    X

                 Using MONTHASC or MONTHDSK:

                 From version:          MXG 28.04-MXG 29.01
                 (Last Change)         Change 28.125-28.324.
                 STARTDAY                 SUN       MON
                 VSETMNTH               OLD  NEW  OLD  NEW
                                        ok    X    X    X
                              X: MON's PDB data will be missing.

               The safe correction, of course, is to "drop in" MXG 29.02
               before Tuesday's MONTHxxx, but I realize that's unlikely!

               To correct, you MUST download the new VSETMNTH file
               - VSETMNTH.SAS (ASCII) or VSETMNTH.EBC (z/OS) - and copy
               into your tailoring library.
                 With MONTHBLD/MONTHBL3 from MXG 29.01, the new VSETMNTH
                 is all that is required.
                 If your MONTHBLD/MONTHBL3 was from 28.04-28.28, then
                 you can download the new member and cut your list of
                 the datasets you create (i.e., from 1st MACRO _DSET to
                 the end of your MONTHBLx) and replace the default list
                 in the new MONTHBLx), or you can EDIT your MONTHxxx
                 (see below) to change the CALL SYMPUT.

                 With MONTHASC/MONTHDSK from 28.04 including 29.01,
                 you can download the new member and cut/paste your list
                 of datasets (see preceding note), or you can EDIT your
                 MONTHxxx (see below) to change the CALL SYMPUT.

                 To EDIT/fix MXG's error in MONTHBLD/MONTHBL3 pre 29.01
                 or the MXG error in MONTHASC/MONTHDSK from 28.04-2901:
                 Change the one line:
                  CALL SYMPUT('LASTDAY',PUT(TODAY,WEEKDATE3.));
                 to
                  CALL SYMPUT('WEEKDATR',PUT(TODAY,WEEKDATE3.));

               The ftp credentials you already have for 28.28 or 29.01
               are still valid, so you can either download MXG 29.02 and
               copy those new members to your Tailoring Library from it,
               or you can download only the specific files you need:
                 The files with .sas are ASCII for MXG ASCII execution.
                 The files with .ebc are EBCDIC (to avoid any code page
                 translation issues), but they must be moved as binary
                 to a PDS with DCB attributes of RECFM=FB and LRECL=80.

               And, what do you do when it after March 1st when you find
               this needed correction?  Download/EDIT as described in
               the preceding paragraphs for your BUILDxxx programs and:

                -If the rerun is during the same processing week, then
                 simply EDIT your MONTHxxx and change the statement
                   TODAY=TODAY();
                 to
                   TODAY='01MAR2011'D;
                 (as is documented in the ADOCMNTH member).

                -If the rerun is not until the NEXT week, then you would
                 use the MONTHWEK member (z/OS) or the MONTHASW (ASCII)
                 member (from your current MXG version - it doesn't use
                 the defective VGETMNTH that created all this flail),
                 cut/paste your list of datasets to be created, and then
                 read the last 5 WEEKly PDBs to rebuild your MONTHly.

               2. IF YOU USE BLDMSPDB:

                 You must have the new BLDSMPDB and VSETMNTH, then:

                 To rebuild the past month's PDB on z/OS or on ASCII
                 with AUTOALOC=NO (default), but ONLY if you are in the
                 first week of the new month:

                   %BLDSMPDB(RUNDAY=NO,RUNWEEK=NO,RUNMNTH=FORCE,
                             FORCEDAY=01MAR11);

                 To rebuild the past month's PDB on ASCII with
                 AUTOALOC=YES (ASCII ONLY), but ONLY  if you are in the
                 first week of the new month:

                   %BLDSMPDB(AUTOALOC=YES,RUNDAY=NO,RUNWEEK=NO,
                             RUNMNTH=FORCE,FORCEDAY=01MAR11);

                 To rebuild the past month when it is beyond the first
                 week of the month:

                 With AUTOALOC=NO:

                    LIBNAME WEEK6 'your sixth week';
                    %LET USEWEEKS=YES;
                    %BLDSMPDB(RUNDAY=NO,RUNWEEK=NO,RUNMNTH=FORCE,
                              FORCEDAY=01MAR11);

                 With AUTOALOC=YES:

                    %LET USEWEEKS=YES;
                    %BLDSMPDB(ALOCWEEK=YES,RUNDAY=NO,RUNWEEK=NO,
                              RUNMNTH=FORCE,FORCEDAY=01MAR11);

               3. IF YOU USE BLDNTPDB:

               To rerun the current month, whether during the week with
               the first of the month, or a following week, use:

              %BLDNTPDB(RUNDAY=NO,RUNNTINT=NO,RUNWEEK=NO,RUNMNTH=FORCE);

               To rerun a prior month, you must ensure the correct week
               pdbs are allocated to week1 thru week5, and then us:

              %BLDNTPDB(RUNDAY=NO,RUNNTINT=NO,RUNWEEK=NO,RUNMNTH=FORCE,
                           FORCEDAY=01MAR11);

               Additional changes were made by this enhancement.
               -New macro variable (if you set it to) USEWEEKS=YES:
                 -drives logic in VSETMNTH to use only the WEEKly PDBs
                  when the rerun is in the week after the week with the
                  first of the month.
                 -allocates LIBNAME WEEK6 because some months need
                  to read six months of weeklies when a MONTH PDB is
                  created only from the past weekly pdbs.
               -Documentation in BLDSMPDB for RUNMNTH=FORCE, RERUN=YES,
                and FORCEDAY='date' are corrected and updated.
               -The default WEEKs kept is now 12 in both BLDSMPDB and
                VMXGALOC, but I recommend a MUCH LARGER number of WEEK
                PDBs be kept for historic reasons, with all of the PDB
                datasets (and only a few, if any, kept in MONTHly PDBs).
               -I believe only SUN and MON are commonly used for the
                Startday, but the below table shows all of the possible
                datasets that could have been missing prior to this
                change:

                Table of which PDB's are missing with bad VSETMNTH:

                Eg.: On Feb 1 and Mar 1, which are RUNDAY=TUE, the
                table shows that "mon" PDB will be missing from your
                MONTH PDB if your week starts on SUNDAY, or that the
                "tue" PDB will be missing if MONDAY is STARTDAY, but
                in the worst case, it shows six dailies could have
                been skipped in building the monthly.

            Your          RUNDAY = DAY OF 1st of MONTH
            Week      MON    TUE    WED    THU    FRI    SAT    SUN
            Start:
              SUN     mon    tue    wed    thu    fri    su-fr  ok
              MON     ok     tue    wed    thu    fri    sat    mo-sa

              TUE     tu-su  ok     wed    thu    fri    sat    sun
              WED     mon    we-mo  ok     thu    fri    sat    sun
              THU     mon    tue    th-tu  ok     fri    sat    sun
              FRI     mon    tue    wed    fr-we  ok     sat    sun
              SAT     mon    tue    wed    thu    sa-th  ok     sun
   Thanks to Michael Creech, Lender Processing Services, USA.

Change 29.040  Variables MAXVMSIZ and VMDSSIZE in dataset XAMUSR were
VMACXAM        incorrectly input as PIB.4. instead of RB.4. so the
Feb 23, 2011   formatted value printed as 1164M instead of 3071M.
               While XAM apparently prints 3072M, the actual RB value
               in the record, '48BFFFFF'x is only  3221225216 while the
               actual bytes in 3072M (megabyte) is 3221225472.
   Thanks to Craig Collins, State of Wisconsin DOA, DET, WISCONSIN.

Change 29.039  Format MGRMFCX, dataset TYPE7002 variable R7023CT and
FORMATS        dataset TYPE70X2 variable R7024CT, Crypto Processor Type,
Feb 23, 2011   was incorrect, expecting 'F5'x EBCDIC numbers in hex, but
               the actual values are hex (e.g.,'05'x); the hex value was
               printed; now the decoded '05X:PCIXCC' will be printed.
   Thanks to Giuseppe Giacomodonato, EPV Tech, ITALY.

Change 29.038  Variable ASISDCCP in dataset ZRBASI is now a percentage,
VMACRMFV       as labeled; and divided by total samples.  Previously, it
Feb 22, 2011   was the (numerator) sample count.
   Thanks to Scott Wiig, USBank, USA.

Change 29.037  DB2 V9.1, MXG 28.28-29.01, may print false messages about
VMACDB2H       INVALID DISTRIBUTED HEADER DELETED.  The header is valid,
Feb 21, 2011   but the test added in Change 28.326 (to detect a truly
               invalid header that ONLY exists in DB2 V10.1 and that is
               to be corrected by APAR PM32425) was off by one byte for
               DB2 V9.1 records.  For either release, nothing is really
               "deleted"; the only impact is that the INPUT of variable
               QWHDRQNM, the Requestor Location Name, is skipped, so the
               "DELETED" in the message is changed to "QWHDRQNM SKIPPED"
               and the V10 APAR is printed in the message text.
   Thanks to Lorena Ortenzi, UniCredit Group, ITALY.

Change 29.036  Julian dates of 1999/000 with COMEFROM=7 printed harmless
VMACEDGR       messages that the date was invalid, but should have NOT
Feb 18, 2011   printed the message; instead the invalid date is stored
Mar 13, 2011   into RDEXPDCH as character, and RDEXPDTO is set missing,
Mar 20, 2011   and the test covers COMEFROM=7/48/53 now.
               Mar 13: DATEDATE=1999/366 now also protected.
   Thanks to Douglas C. Walter, Citigroup, USA.
   Thanks to Brent Turner, Citigroup, USA.

Change 29.035  SAS compiler error when _NNTSM was invoked to substitute
COMPALLN       _NULL_ replacement tokens, and a _NULL_ definition had
VMACNTSM       only one space between the macro name and "_NULL_" text:
Feb 17, 2011       MACRO _WNTWFP _NULL_ %%
               Inserting an extra blank so that the definition now reads
                   MACRO _WNTWFP  _NULL_ %%
               eliminated this error (with full diagnostic options on,
               the generated code could be seen to be in error, with the
               next line in the source being 'swallowed' into _WNTWFP.)
               The error was replicated with other _NULL_'s in VMACNTSM.
               All of the VMACxxxx that define _NULL_'s with similar
               syntax were revised to eliminate the exposure, and some
               members either did not define _Nxxxx or did not have
               correct syntax (e.g., the MACRO keyword was missing).
               to have two blanks.  And, in the process, I discovered
               several members did not have correct syntax for their
               _NULL_ definitions( the MACRO keyword was missing).
               these VMACxxxx members were corrected:
               16   DECS 113  HURN SUIN OMVT
               WPMO TMVS SVIE AIM3 19   NTSM ZTPM FITA VIOP UNIC ULTM
               TPF  SUNS SRMH SARR RSDF RSDA PMTR MVCI MRKV MPLX MOUN
               MBO  INMV IISL GUTS FDR  AIXT 97   42   109  CISM
               The error occurred with both PC SAS V9.2 and V9.1.3,
               but only on Windows (both XP and Seven, 32 and 64 bit).
   Thanks to Lars Fleischer, SMT Data, DENMARK.

Change 29.034  Invalid data for datetime variable SMF30RGT caused error
VMAC30         message and hex dump, and left SMF30RGT a missing value.
Feb 17, 2011   Datetime variable SMF30RGT (IXCARM REGISTER event) is
               input from two IBM fields, SMF30RGT (the time part) and
               SMF30RGD (the julian date part), but while SMF30RGT had
               a valid time value, SMF30RGD was null (i.e., hex zeros).
               The error is circumvented by inserting double question
               marks for the INPUT of SMF30RGT, while IBM will be
               contacted to correct their invalid data value in the
               Automatic Restart Management (ARM) segment of SMF 30-5.

Change 29.033  Support for IMF Version 4.5 is in place; there were no
VMACCIMS       changes in the IMS F9/FA records between 4.4 and 4.5.
Feb 14, 2011

Change 29.032 -Dataset PDB.IPLS now DOES always report a SYSTEM IPL, but
FORMATS        previously that was not true.  PDB.IPLS is created from
VMAC0          SMF type zero records, but ID=0 are written both when SMF
VMAC90A        is started (at SYSTEM IPL), and when SMF is RESTARTED
VMACSMF        (after an SMF address space ABEND, I/O error, etc).  This
Feb 13, 2011   is NOT new; at least since 1992, member ADOC0 has noted
               (albeit obscurely) that the ID=0 doesn't always report a
               system was IPL'd.
              -A true System IPL writes either an ID=90 subtype 8 (IPL
               PROMPT) or ID=90 subtype 10 (IPL SRM).  Now, VMAC0 reads
               ID=0, ID=90.8 and ID=90.10 records, initially outputting
               all in dataset TYPE0, but when TYPE0 is sorted by _S0
               (the product sort macro, invoked by BUILDPDB/PD3/TYPS0),
               now these two datasets are created:
                 PDB.IPLS   - actual system IPLS - ID=90.8 or 90.10 obs
                 PDB.IPLSMF - all SMF ID=0 observations.
              -But, note that when SMF has to be restarted, there were
               SMF records that could not be written and were lost, and
               no ID=7 record would have been written.
              -VMACSMF required update because SMF ID=90 records do not
               have their subtype in the standard SMF header.
              -Cosmetic.  TYPE90nn datasets now have variable CMDMVS to
               identify which command created the record, and CMDMVS is
               formatted with MG090CM to describe the command.
              -Format MG090CM was updated for new commands.
              -These "bogus IPL" events were overlooked because IBM has
               done such a fine job in those 19 years to eliminate
               unscheduled IPLs, that tracking them became unimportant!
               It was only after SMF ABENDs due to a non-IBM product
               required restarting the SMF address space that this need
               to redesign MXG's PDB.IPLS dataset surfaced.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 29.031  DB2 V9.1 only; most QGBxxx variables in DB2GBPST were not
VMACDB2        correct; MXG had correct INPUT for V8.1 and V10.2 but did
Feb  9, 2011   not have a separate INPUT segment for 9.1, and MXG missed
               the restructure in DB2 V9.1.
   Thanks to Rachel Holt, Fidelity Systems, USA.
   Thanks to Lori Masulis, Fidelity Systems, USA.

Change 29.030 -For DB2 connections (DBMDPTYP='DSN', variable DBMDACCT is
VMACTMDB       input and kept in TMDBDB2 dataset; for Client connections
Feb  9, 2011   these variables are now kept in TMDBDB2 dataset:
Feb 18, 2011     DBMDPLAT $EBCDIC18.  /*CLIENT*PLATFORM*/
                 DBMDAPPL $EBCDIC20.  /*CLIENT*APPLICATION*NAME*/
                 DBMDATID  $EBCDIC8.  /*CLIENT*AUTH*ID*/
                 DBMDSFLN    &PIB.1.  /*DDCS*ACCOUNT*SUFFIX*LENGTH*/
                 DBMDSUFX $EBCDIC200. /*DDCS*ACCOUNT*SUFFIX*/
              -TMDB Version 4.1 BF/BG/BH/BI/BJ/BK/BL/BM records were off
               by 2 bytes, causing DATABASE NAME and other fields to be
               misaligned.
              -Feb 18.  Revisions to BI record's restructure.
   Thanks to Liliane Paquet, Centre de services partages Quebec, CANADA.
   Thanks to Patricia Abel, Regie des rentes du Quebec, CANADA.
   Thanks to Ernie Amador, UC Davis Health System, USA.

Change 29.029  Variable KW18SP03 was input but not kept nor labeled.
VMAC80A
Feb  9, 2011
   Thanks to Kim Westcott, NYS Office of Technology, USA.

Change 29.028  Yet another NDM 'RT' subtype INPUT EXCEEDED error because
VMACNDM        the records do not match the documentation, offsets are
Feb  8, 2011   inconsistent (PACCT/SACCT sometimes -3, sometimes +1),
               ACCT values that are not EBCDIC, two segments after ACCT
               that are undocumented, with wide variances in the data
               from sites running the same CDI versions, so this change
               stops reading at the end of the fixed portion of the data
               record, and only looks for the CPUTIME= text string at
               that point in the record.  If you REALLY, REALLY, need
               the NDMRT variable data, or the undocumented fields to be
               decoded, be prepared to open a support issue with the CDI
               vendor and have them contact me with their DSECT/data.

Change 29.027  Cosmetic.  Several variables were incorrectly spelled in
ADOC110        the documentation of CICS variables.
Feb  7, 2011
   Thanks to Clayton Buck, UniGroup, USA.

Change 29.026  Support for zVM APAR VM64794 adds variables to dataset
VMACVMXA       VXMTRSYS, and new format $MGVXENS to decode new variable
Feb 11, 2011   SYSESTAT (Ensemble Status).
   Thanks to Al Holtz, MEDCO, USA.
   Thanks to Frank Bright, MEDCO, USA.

Change 29.025  Small negative values for CPUUNITS in type 30 subtype 4
VMAC30         records have been observed in steps with CPUTCBTM=0, when
Feb  7, 2011   the calculated ZIPUNITS (using normalized CPUZIPTM) is
Nov  3, 2011   greater than the SM30CSUL (original CPU+zIIP+zAAP units).
               While not significant, MXG now forces CPUUNITS=0 when
               CPUTCBTM=0. The maximum negative CPUUNITS value was -169,
               but with LOSU_SEC=30018, that is only 0.009 CPU seconds.
               Nov 3: Original text corrected; negative CPUUNITS weren't
               set to zero, but CPUUNITS was set to zero if CPUTCBTM was
               zero.  So small negative values (-1.59 in one record in 8
               million type 30s) could still occur if CPUTCBTM non-zero.
               And, they printed a debugging message with _N_= CPUUNITS=
               that should have been and is now disabled.

Change 29.024  MXG-created variables INREASON and SOURCE were blank when
VMAC26J2       INDEVICE=Nnnn.RDm and INTRDR=' ', printing messages that
Feb  5, 2011   INREASON NOT DECODED. INREASON='RD' and SOURCE=INDEVICE
Mar 24, 2011   is now set.  INREASON and SOURCE are "my" variables that
               were only used in understanding NJE Purge Records and are
               not actually used for anything.
               Mar 24: SOURCE=INDEVICE wasn't set for INTRDR='Y'.
   Thanks to Jack Schudel, University of Florida, USA.
   Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.

Change 29.023  Using GTF input, IFCID 3 (DB2ACCT) observations were not
VMACDB2        output, and a (spurious) INVALID PROD section message was
Feb  5, 2011   printed.  The OFFSMF value has to be changed when GTF is
               input, but the logic for ID=101 SUBTYPE=0 was incorrect.
   Thanks to Tony Curry, BMC, USA.

====== Changes thru 29.022 were in MXG 29.01 dated Feb  4, 2011=========

Change 29.022  After Change 28.146 (MXG 28.04+), Buffer Hit Ratio on the
VMXGDBSS       %ANALDB2R(PDB=SMF,...) statistics reports were 100 times
Feb  4, 2011   too large.  In MXG-built datasets BPHITRAT is a fraction
               (e.g., .952), but in DB2PM reports IBM prints 95.2.  But
               Change 28.146 incorrectly multiplied by 100 when creating
               the PDB.ASUMDBSS dataset, and then ANALDB2R multiplied.
               This change restores the correct fractional value in the
               ASUMDBSS dataset and lets ANALDB2R still do the multiply.
   Thanks to Ron Wells, American General, USA.
   Thanks to Rick Brooks, American General, USA.

Change 29.021  Variables SMF89DTO and SMF89HOF were accidentally removed
VMAC89         from dataset TYPE892, and should not have been.  Since
Feb  4, 2011   they are needed by Al's LCS Product, MXG 29.01 refreshed.
Mar 12, 2011   Mar 12: Variables SMF89SIF,SMF89LPV,SMF89LCR are kept.

====== Changes thru 29.020 were in MXG 29.01 dated Feb  3, 2011=========

Change 29.020  The definition of MACRO _NEDA, to null all datasets, was
VMACEDA        missing the MACRO preceding the _WEDAxxx token.
Feb  3, 2011
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 29.019  Sample ACF2 reports looked for PDB.ACF2ARR when the real
ANALACF2       dataset created by TYPSACF2 is named PDB.ACF2AR.
Feb  3, 2011
   Thanks to Vitullo Carmen, State of Delaware, USA.

Change 29.018  Calculation of MEMP for z196 now subtracts the two
ASUM113        counters EXTND152 and EXTND155, per John Burg's SHARE
VMAC113        paper, which I had overlooked since last August.
Feb  3, 2011   BUT: FEB 18:  The revised calculation was ONLY in the
Feb 18, 2011   VMAC113 in 29.01; I forgot the calculation is repeated
               for the z196 code in ASUM113 until today when it was
               discovered, because, without the correction, the RNI
               values for z196 were larger than for the same workload
               on the z10 when they should be about the same.
   Thanks to Meral Temel, Garanti Teknoloji, TURKEY.
   Thanks to Adnam Can, Garanti Teknoloji, TURKEY.

Change 29.017 -SERIOUS: MONTHBLD/MONTHBL3/MONTHASC in 28.28 will skip
MONTHBLD       reading the last day's PDB library (the JAN 2011 MONTH
MONTHBL3       will be MISSING the MON PDB's observations).
MONTHASC       This new statement added by Change 28.324
ADOCMNTH          CALL SYMPUT('WEEKDATR',(PUT(LASTDAY,WEEKDATE3.)));
BLDSMPDB       MUST be corrected to:
Feb  3, 2011      CALL SYMPUT('WEEKDATR',(PUT(TODAY,WEEKDATE3.)));
               That is the permanent correction.
              -BUT, to RERUN JAN 2011 NOW, since it is already Feb 2,
               you must ALSO replace the existing statement
                   TODAY=TODAY();       with
                   TODAY='01FEB2011'D.
               just for the JAN REBUILD (and then restore that statement
               before you run the next month's build).
                 MONTHBLx normally must execute on the 1st day of the
                 next month; but comments in MONTHBLx point to ADOCMNTH,
                 for instructions on how to rerun on a different day of
                 the month; as long as you rebuild during this week,
                 there is no change needed to the JCL for the JOB.
                 If you don't see this until NEXT week, then you need
                 to read the instructions for the required JCL change
                 when you need to rebuild a MONTHly in a later week
                 than the normal week with the 1st day of the month.
              -BLDSMPDB: LIBNAME WEEK1 NOT FOUND when runmnth=yes. Can
               be circumvented by adding LIBNAME WEEK1 statement with
               this syntax to rebuild JAN 2001:
                 libname week1 'c:\mxg\week1\';
                 %bldsmpdb(runday=no,runweek=no,runmnth=force);
               An undocumented requirement of VSETMNTH needs WEEK1,
               which is now LIBNAME'd to the same directory as WEEK.
              -I personally apologize for my failure to validate these
               changes made by MXG Change 28.324.
              -Cosmetic, but possibly confusing.  The %PUT statement
               that prints the date selections printed "LT", but the
               actual and correct test is for "LE".
   Thanks to Robb Hermes, Sentry Insurance, USA.
   Thanks to Wanda Prather, FRTIB, USA.

Change 29.016  When the _SMF macro was redesigned to store DB2 IFCID in
VMACSMF        SUBTYPE, and READDB2 was revised to generate tests using
Feb  2, 2011   the SUBTYPE instead of IFCID, the _DB2GTF macro was not
               updated, so %READDB2(INFILE=GTF,IFCIDS=xxx) failed to
               output any observations. Macro  _DB2GTF is now revised.
   Thanks to Tony Curry, BMC, USA.

Change 29.015  Support for Version 7, which (COMPATIBLY) added three
VMAC115        sets of eight variables providing compression statistics,
Feb  1, 2011   one set for each of the three algorithms, although only
               the first algorithm's variables are currently populated.
   Thanks to Martyn Jones, Euroclear, BELGIUM.

Change 29.014  A new "exit", macro variable &EOFVMXA, for MWINPUT file,
VMACVMXA       it inserted at the EOF of reading that MONWRITE data so
VMXGINIT       users can take action if the input file is empty or has
Jan 29, 2011   invalid (no Control Record) contents.  MONWRITE data is
               ftp'd to the MXG platform, but an ftp failure causes an
               empty file, which MXG processes without error, but that
               has not observations created; that is reported in MXG's
               "SUCCESSFULLY READ" message as having zero records.
               This exit allows you to insert your own code to detect
               there was a failure and you create your own log message
               and then ABORTing the MXG job to externalize the error.
               For example, the exit could be used with this syntax:
                 %LET EOFVMXA=
                 %QUOTE(
                 IF NRDRRECS LE 0 OR NRCRTOTL LE 0 OR
                    NRBYTOTL LE 0 THEN DO;
                 PUT ' ';
                 PUT '#####################################';
                 PUT 'ERROR: Z/VM MONWRITE FILE IS INVALID.';
                 PUT '#####################################';
                 PUT '>>>> CONTACT z/VM Support ON-CALL <<<< ';
                 PUT '#######################################';
                 PUT '# DETAILS:';
                 PUT '#######################################';
                 PUT //" MXG &MXGVERS FOUND THESE COUNTS:"
                  //+5 'THERE WERE ' NRDRRECS ' MONITOR RECORDS '
                  //+5 'FROM ' NRCRTOTL ' CONTROL RECORDS WHICH '
                  //+5 'CONTAINED ' NRBYTOTL COMMA15. ' BYTES, ( '
                            NRBYTOTL MGBYTES. 'B)';
                 PUT '#######################################';
                 PUT '#######################################';
                 ABORT ABEND 16;
                 END;
                 ELSE
                    );
                 %INCLUDE SOURCLIB(TYPEVMXA);
              -Note that after your DO/END group, the "ELSE" is required
               because the exit is inserted ahead of an existing PUT.
              -Also note that the first line of the sample PUT statement
               has double quotes around the text; this is required so
               that the &MXGVERS macro variable's value is printed. With
               single quotes only the text MXGVERS would be printed.
   Thanks to Frank Bright, MEDCO, USA.
   Thanks to Frank Bright, MEDCO, USA.

Change 29.013 -Variable CPCGRPLM in ZRBCPU is only four bytes but MXG
VMACRMFV       input as 8 bytes; the commented +4 is moved ahead of the
Jan 30, 2011   input and the informat changed to PIB4.
              -Variable LCPUPOLR was incorrectly input from two bits in
               the first byte of LCPUCHIN; it is the last bit of first
               byte and first byte of second byte (which is now input
               and kept as LCPUCHI2).
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

Change 29.012  Support for Endeavor Version 14 (INCOMPATIBLE because MXG
VMACENDV       did not test the segment length and 20 bytes were added),
Jan 31, 2011   causing many missing variables in ENDVERAC dataset.  The
               fields added are now decoded and seven variables created.
   Thanks to Rob D'Andrea, CIS, ENGLAND.

Change 29.011  Cosmetic. Variables with DATETIME value were stored as
VMACIMS        length 5 instead of length 8, which can truncate times
ASUMSYTA       up to 4 seconds.
VMACBE91        DATASET     MEMBER     VARIABLE
VMACCYFU        ASUMTAPE    ASUMSYTA    REALMSMF
VMAC28          BETA91C     VMACBE91    BE91CSST
VMACPMTR        PERFMETR    VMACPMTR    STARTIME
VMACPW          PWPDPD      VMACPW      ENDTIME
VMACSHDW        PWPDPDI     VMACPW      ENDTIME
VMACTMVS        SHADOW05    VMACSHDW    SM05LGTM
VMAC90A         TMVSCO      VMACTMVS    IPLTIME
VMACVMXA        TYPE9033    VMAC90A     SMF9033T
VMACXAM         TYPE9034    VMAC90A     SMF9034T
Jan 28, 2011    VXSYTSPT    VMACVMXA    SRXATOD
                XAMSYVSW    VMACXAM     VQSCTTOD

Change 29.010  Variables NDMPRCNM, NDMPRCNO, and NDMSTEP were not kept
VMACNDM        in all datasets where they exist in the "NDMPRC" header
Jan 25, 2011   or in the "Record" data segment; the table in comments at
               the top of VMACNDM has been updated with a new column to
               identify the datasets that have those variables, and all
               datasets that are decoded now contain these variables.
   Thanks to Michael Oujesky, Bank of America, USA.

Change 29.009  VMXGUOW fails if //CICSTRAN or //DB2ACCT is on tape, with
VMXGUOW        MXG 28.06 thru MXG 28.28, but the error is circumvented
Jan 24, 2011   if you add LIBNAME statements to tell MXG it's on tape:
Jan 31, 2011     //SYSIN DD *
                    LIBNAME CICSTRAN V9SEQ;
                    LIBNAME DB2ACCT  V9SEQ;
                    %LET PCICTRN=CICSTRAN;
                    %LET PDB2ACC=DB2ACCT;
                    %LET MACKEEP=  MACRO _NOOBS % MACRO _YESOBS %
                    %INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
              -Prior to Change 28.204, VMXGUOW only tested existence of
               the _Ldddddd dataset token, but in 28.204, a test for the
               existence of that LIBNAME was added (so we could tell you
               what you did wrong when you didn't have one).  But under
               z/OS, if the LIBNAME had not been referenced in this SAS
               session, it is not in DICTIONARY, and MXG fell thru to
               use WORK for the LIBNAME, but as WORK.CICSTRAN did not
               exist (your data was in CICSTRAN.CICSTRAN on tape), MXG
               failed with NOT FOUND BY VARIABLES and MXGWARNS.
              -In this revision, the EXTFILES table is scanned and if
               the &PCICTRN "ddname" is found, _LCICTRN is set to
               CICSTRAN. Likewise, _LDB2ACC and _LMONTSK are set to the
               normal defaults if not found.
              -In all cases, if the LIBNAME pointed to does not exist,
               VMXGUOW will still fail.
   Thanks to Hugo L. Michel, Prince Georges County, MD, USA.

Change 29.008 -WEEKBLD/MONTHBLD: to eliminate NOTSORTED errors, MXGNOBY
VMXGINIT       is now specified in VMXGINIT so there will be no testing
BLDSMPDB       of the sort order of the input, and no NOTSORTED error.
Feb  3, 2011  -BLDSMPDB: SORTEDBY=NO is now specified as the default.
               (Also, LIBNAME=WEEK1 was in error and changed to WEEK.)
              -Previously, you had to define MXGNOBY with this statement
                  %LET MXGNOBY= MACRO _BY %  MACRO _SORTBY %  ;
               in your //SYSIN DD, to disable the sort testing and the
               interleave of input observation in sort order.  That will
               still work fine, but no longer needed with this change.
               Although I can't see a reason why you would want to go
               back to the NOTSORTED exposure, you can redefine macro
               MXGNOBY as null with this syntax to reinstate sorting:
                  %LET MXGNOBY=  ;
              -The exposure occurs when MXG has to change the sort order
               of a dataset when it is built, and that dataset with new
               sort order is combined in WEEKBLD/MONTHBLD with datasets
               that were created with the previous sort order.
              -The only reason MXG ever changes the sort order is when
               the initial order was insufficient to remove duplicates
               with the NODUP option of PROC SORT.  Errors can occur if
               your old WEEKBLD has the old sort order (TYPE72DL in MXG
               28.28), or if MXG failed to update the new order in its
               WEEKBLD/MONTHBLD member (DB2STATS in MXG 28.28)
              -MXG does not require the WEEKLY and MONTHLY datasets to
               be sorted; no report programs should ever expect ordered
               data as there is no way to guarantee someone else didn't
               sort the dataset after it was first created.
              -Building sorted output is only a possible performance
               benefit: if subsequent programs happen to use the same
               order in their PROC SORT, SAS is smart enough to bypass
               the unneeded sort, and that was the original purpose for
               creating WEEKBLD/MONTHBLD in sort order.  And, because
               the "daily" datasets were already sorted, the WEEKBLD and
               MONTHBLD programs preserved that sort order with a BY
               statement, without re-sorting.
              -However, it turns out that disabling the sort order test
               and building the output as the concatenation of the input
               datasets instead of interleaving observations to preserve
               the sort order is a REAL performance benefit: benchmarks
               show a reduction of about 12% of the CPU time with the
               MXGNOBY enabled.

Change 29.007  Documentation if CICSTRAN variables are EXCLUDEd/DROPPED.
ASUMUOW        This isn't new behavior, and has been in place long time.
ASUMCICX       For ASUMUOW to execute, these BY-VARIABLES are REQUIRED:
Jan 21, 2011         TRANNAME STRTTIME ENDTIME NETSNAME
                     UOWID    UOWIDCHR UOWTIME
                  There is no circumvention; ASUMUOW fails without them.
                  These KEPT variables from CICSTRAN aren't required for
                  execution, but MXGWARN messages will be printed if
                  these variables do not exist in your CICSTRAN:
                     APPLID USER LUNAME SYSTEM TERMINAL USERCHAR
                  This list is defined in MACRO _KUOWIDC, which you can
                  redefine to keep only your variables to eliminate the
                  MXGWARN messages.
               For ASUMCICX to execute, these BY-VARIABLES are REQUIRED:
                  APPLID OPERATOR USER TERMINAL STRTTIME TRANNAME
                  SYSTEM SHIFT
                  If any do not exist, ASUMCICX fails.
                  This list is defined in MACRO _BSUCICS and some can be
                  removed, but you could end up with useless output if,
                  for example, you didn't keep STRTTIME.
               If some of these variables are not kept, you can redefine
               _KUOWIDC and _BSUCICS to list only those that exist.
               For example, these variables are removed from CICSTRAN:
                   USER OPERATOR TERMINAL USERCHAR
               Then you would add the MACRO _KUOWIDC and _BSUCICS into
               the %LET MACKEEP= in your current JOB:
                  //UOWCICX  EXEC MXGSAS92
                  //CICSTRAN DD DSN=YOUR.CICSTRAN,DISP=SHR
                  //DB2ACCT  DD DSN=YOUR.DB2ACCT,DISP=SHR
                  //PDB      DD DSN=NEW.ASUMUOW,DISP=(,CATLG),...
                  //SYSIN DD *
                   %LET PCICTRN=CICSTRAN;
                   %LET PDB2ACC=DB2ACCT;
                   %LET MACKEEP=
                     MACRO _KUOWIDC APPLID LUNAME SYSTEM %
                     MACRO _BSUCICS APPLID STRTTIME TRANNAME SHIFT %
                     MACRO _NOOBS % MACRO _YESOBS %
                   ;
                   %INCLUDE SOURCLIB(ASUMUOW);
                   %INCLUDE SOURCLIB(ASUMCICX);
   Thanks to Hugo L. Michel, Prince Georges County, MD, USA.

Change 29.006  Variables DVRTBV01-DVRTBV32, Returned Borrowed Volumes,
VMACBVIR       were incorrectly formatted $MGBVIPT but $MGBVIPO is the
Jan 21, 2011   correct format to decode when printed.
   Thanks to Doug Boettcher, Atco I-Tek, CANADA.

Change 29.005  Documentation of INTERVAL= change in default RMFINTRV.
RMFINTRV       INTERVAL=DETAIL in MXG 27.27 became INTERVAL=QTRHOUR in
Jan 19, 2011   MXG 28.01, Change 28.046, in MXG default RMFINTRV member,
               but that was not documented, carelessly, but also because
               I didn't think anyone used MXG's default RMFINTRV member.
               I expected each site to have their own tailored RMFINTRV
               with both INTERVAL= and WORKnn= (maps Service Classes to
               WORKLOADs) definitions, and thus my default would only be
               used by new sites, and only before they read the INSTALL
               instructions to tailor those RMFINTRV definitions, so I
               could change the interval with impunity.  Well, almost!
               I replaced DETAIL with QTRHOUR because DETAIL creates an
               observation for every RMF start, including those short
               interval at each IPL that have VERY high CPU Busy and are
               outliers on normal interval graphs and reports, whereas
               INTERVAL=QTRHOUR creates equal intervals and smooth data.
               But, with DETAIL, you get an observation with the exact
               STARTIME of each interval, and if SYNC59 is in use, those
               startimes were of 59:00 14:00 29:00 44:00. But SYNC59=YES
               is the default for Real Intervals, so changing from the
               INTERVAL=DETAIL to INTERVAL=QTRHOUR, for SYNC59 sites,
               changed their STARTIMEs to 00: 15: 30: & 45: when they
               "dropped-in" MXG 28.28 after MXG 27.27.  Tailoring their
               RMFINTRV with INTERVAL=DETAIL restored original values.

Change 29.004  ISO format dates with 19990000 for "never expire" are now
VMACEDGR       detected and the DATE variable is set missing.
Jan 20, 2011
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 29.003  If you have ancient JCL with //SASAUTOS DD DSN=&&NULLPDS,
VMXGGETM       MXG 28.28 UTILGETM ran much longer (10x) because it did
Jan 19, 2011   not read the (new in 28.28) %DATATYP macro function from
               the SAS-provided AUTOCALL PDS. The ERROR message didn't
               stop the read of the large SMF file, but the message
               wasn't the expected APPARENT MACRO %DATATYPE NOT FOUND.
               Because of the way %DATATYP was used, the error was:
                ERROR: Character operand was found in the %EVAL function
                      ... where %DATATYP(&NRECORD) NE NUMERIC ....
               The JCL &&NULLPDS token was removed many MXG versions ago
               for unrelated problems and lack of need, but I was not
               aware that the &NULLPDS stopped the AUTOCALL search, but
               only recent MXG versions actually use macros (%TRIM) from
               that library. But the %DATATYP was added ONLY to detect
               that you had mistyped an alphabetic text for NRECORD=,
               and only in your own %VMXGGETM invocation (UTILGETM has
               NRECORD=50), so we shot ourselves in the foot adding it.
               And ONLY to prevent a less-than-clear warning message.
               DATATYP is no longer used; the logic is in a data step.

Change 29.002 -APAR OA31615 was NOT supported by MXG 28.28 as claimed.
VMAC89         That APAR will cause many INVALID SMF89CTZ log messages,
Jan 20, 2011   but the job does NOT ABEND (unless the log fills!).
Jan 21, 2011  -MXG detection of records with Invalid Intersect Segments
Feb  3, 2011   had no limit on the number of Invalid Record messages,
               but also falsely detected some valid records as invalid.
               The MXG test was corrected so only true Invalid segments
               are detected, and only the first 3 are printed on log.
              -But, feedback from IBM has clarified the new intersect
               data in new TYPE89I dataset, and MXG was wrong to carry
               the PRODxxxx variables from the Usage Data Section; those
               variables were removed from the KEEP= list, and from the
               Sort Order in MACRO _BTY89I, which now uses the CPO-CPI
               and IPO-IPI variables to order and remove duplicates, and
               is sequenced SMF89UST SMF89IST within those variables.
              -Unrelated to the APAR, these variables in subtype 2 have
               never been populated and are no longer kept in TYPE892:
                 MACHTIME SMF89UET SMF89UST
   Thanks to Jim Poletti, Edward D. Jones, USA.
   Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.
   Thanks to Scott Barry, SBBWorks Inc, USA.
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.

Change 29.001  Support for SMF 111 IPIC now creates obs in TY111CXI.
VMAC111        No observations were created because MXG incorrectly had
Jan 19, 2011   them to be in CTGRECID=2 when they are CTGRECID=7, so the
Jan 24, 2011   code for IPIC was relocated to that correct subtype, and
               obs are now created.
              -Warning added when a new subtype is detected.
              -Change 28.329 for SMF 111 was NOT included in 28.28 as
               originally claimed.
   Thanks to Jim Poletti, Edward D. Jones, USA.
   Thanks to Jeana M. Bechtel, Edward D. Jones, USA.
   Thanks to Gordon E. Griffith, Edward D. Jones, USA.

LASTCHANGE: Version 29.
=========================member=CHANGE28================================
 /* COPYRIGHT (C) 1984-2011 MERRILL CONSULTANTS DALLAS TEXAS USA */

Annual  MXG Version 28.28 is  dated Jan 18, 2011, thru Change 28.331.
        MXG Newsletter FIFTY-SEVEN is dated Jan 18, 2011.
Prelim  MXG Version 28.28 was dated Jan 12, 2011, thru Change 28.326.
Interim MXG Version 28.09 was dated Jan 11, 2011, thru Change 28.325.
        MXG Version 28.08 was dated Dec 13, 2010, thru Change 28.297.
        MXG Version 28.07 was dated Nov  5, 2010, thru Change 28.265.
        MXG Version 28.06 was dated Oct  7, 2010, thru Change 28.239.
        MXG Version 28.05 was dated Aug 18, 2010, thru Change 28.187.
        MXG Newsletter FIFTY-SIX was dated Aug 18, 2010.
First   MXG Version 28.05 was dated Aug 17, 2010, thru Change 28.186.
        MXG Version 28.04 was dated Jul  5, 2010, thru Change 28.152.
        MXG Version 28.03 was dated May 25, 2010, thru Change 28.114.
        MXG Version 28.02 was dated Apr 14, 2010, thru Change 28.081.
        MXG Version 28.01 was dated Mar  9, 2010, thru Change 28.047.
        MXG Version 27.27 was dated Jan 20, 2010, thru Change 27.361.
        MXG Version 27.27 was the   2010 "Annual Version".
        MXG Newsletter FIFTY-FIVE was dated Jan 20, 2010.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 28.28 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 28.28.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

=======================================================================


I.  MXG Version 28.28 dated Jan 18, 2011, thru Change 28.331.

    Major enhancements added in MXG 28.28, dated Jan 18, 2011

  TYPEDB2  28.326  Invalid DB2 V10 Distributed Header protected in MXG.
                   There will be an IBM APAR, but this change is needed
                   to avoid the ABEND with earlier MXG versions, so, now
                      MXG 28.28 IS NOW REQUIRED FOR DB2 V10.1
                   to ensure your daily jobs doesn't ABEND.
                   APAR PM32425 has been opened, no PTF as of Feb 21.

  WEEKBLD  28.324  Weekly exposure to DATASET TYPE72DL NOT SORTED.
  MONTHBLD 28.324  Monthly exposure to DATASET TYPE72DL NOT SORTED.
  BLDSMPDB 28.324  BLDSMPDB exposure to DATASET TYPE72DL NOT SORTED.
                  -If you have tailored those members and TYPE72DL is
                   built, you need to EDIT those members per the text
                   in that Change to avoid the possible ABEND of your
                   weekly or monthly build jobs.

  EXITCICS 28.298  EXITCICS decompresses SMF 100,101,102,110 and 112.
                   MXG enhanced INFILE exit for CICS now supports DB2.

  TYPE89   28.331  INVALID DATA FOR SMF89CZT if APAR OA31615 installed.
  TYPE111  28.329  CTG records had zero observations in TY111CXI "IPIC".
  JCLINSTT 28.328  Complete JCL example to ftp/unterse/install on z/OS.
  TYPENDM  28.327  Connect Direct/NDM 'RT' record INCOMPATIBLY changed.
  TYPE102  28.325  DB2 SQL-text variables only 100 bytes if COMPRESS=NO.
  TYPEIMSA 28.311  Support for IMS/DBCTL transactions in IMSTRAN.
  TYPEIMS7 28.310  Support for IMS/DBCTL transactions in IMS0708.
  TYPE0    28.313  Variable CVTTZ in TYPE0 could be one second wrong.
  BUILDPDB 28.305  PDB.NJEPURGE did not contain all NJE-variables.
  ANALDUPE 28.308  Removal of Duplicate SMF (or any) records.
  TYPEVMXA 28.315  PFXCPUAD in VXSYTCUM is the LCPUADDR, no CPUID.
  TYPEVMXA 28.307  Short LINUXKRNL MONWRITE record caused errors.
  UTILGETM 28.312  No Reporting Class data in SMFSMALL with NRECORD=10.
  TYPE89   28.304  SMF 89 with no usage segment INPUT EXCEEDED error.
  TYPE30   28.302  TYPE30MU duplicate records exist, non-dupes removed.
  TYPETCP  28.300  TYPETCP (SMF 118) Port Numbers (Dec) wrong on ASCII.
  TYPE70EN 28.299  Wrong values for CPUID=0 in PDB.TYPE70EN.

    Major enhancements added in MXG 28.08, dated Dec 13, 2010

  TYPE119  28.293  Support for OpenSSH SMF 119 subtypes 96-98.
  TYPE113  28.279  "Near duplicate" ASUM113 intervals are corrected.
  TYPE89   28,282  Support for APAR OA31615, adds zIIP/zAAP CPU times.
  TYPENMON 28.275  Support for NMON FCREAD/FCWRITE/XFERIN/XFEROUT record
  TYPETNG  28.273  Support for more than 9999 instances in CA NSM/TNG.
  TYPETMVT 28.287  Support for ASG-TMON for VTAM subtype 'SX' record.
  TYPE110  28.285  CICS Statistics Subtype 2 STID=143 corrected.
  ASUMUOWT 28.284  ASUMUOWT (for ASG-TMON MRO) revised to use VMXGUOW.
  ASUMCICR 28.281  Count/average response time by DATE for each APPLID.
  DB2ACCT  28.277  NETSNAME/UOWTIME only created for QWHCATYP=4 (CICS).
  TYPE89   28.272  SMF89HOF/SMF89DTO for SCRT don't use last 3 nybbles.
  WEEKBLD  28.269  TYPE72DL NOT SORTED after Clock Set Back.
  ANALDBJS 28.290  DB2 analysis adds JESNR and REAdTIME to DB2ACCT.
  TYPE6156 28.289  Variables GATLIMIT and GATCNT added to TYPE6156.
  UTILNPRT 28.268  Identify non-print chars, for SAS Enterprise Guide.

    Major enhancements added in MXG 28.07, dated Nov  5, 2010

  TYPEDB2  28.264  Support for DB2 Version 10. COMPLETELY INCOMPATIBLE:
                    MXG 28.06 was required to process the V10 data, but
                    now, MXG 28.07 has full support plus the below
                    documentation.
  TYPEOMMQ 28.263  Support for IBM/OMEGAMON XW MQ flat file (INCOMPAT)
  TYPEMIM  28.262  Support for CA MIM RESOURCE SHARING R11.7 (COMPAT)
  GRAFCEC  28.261  SAS/GRAPH example charts CEC Utilization by engine
  TYPETPX  28.260  IP address and Port Number now decoded in TPX SMF.
  UTILEXCL 28.259  Spurious "WRONG LENGTH OF 200 FOR CMRDATA"
  TYPE120  28.258  Support for WebSphere ID=120 SUBTYPE=20 records
  ANALID   28.257  ERROR: VARIABLE IDANDSUM ... with PDB,DISP=OLD
  EXITCICS 28.251  ASMA144E Begin-to-continue due to char in col 72.
  READDB2  28.250  COPYONLY logic now works.
  VMXGSUM  28.249  VMXGSUM enhanced with MODE and MEDIAN statistics
  TYPE110  28.247A Example using _Kdddddd to create new datasets revised
  TYPE30   28.246  New CPITCxTM/CPISRxTM wrong in MXG 28.06.
  TYPE7072 28.246  CP eng 64-95 vars shouldn't have been kept in TYPE70.
  TYPESTC  28.244  STC/STK/Oracle VSM user SMF records support revised.
  TYPE7072 28.242  In-Ready Work Unit SMF70U00-U15, etc were all wrong.

    Major enhancements added in MXG 28.06, dated Oct  7, 2010

  TYPEWSMQ 28.233  Support for WebSphere MQ Version 7 Accounting Data
  TYPEDB2  28.222  ITRM only, DB2STAT4 NOT SORTED ERROR.
  ASUMDB2- 28.220  DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
  TRNDDB2- 28.220  DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
  EXITCICS 28.223  Support for DB2 V10 Compressed SMF records.
  DFH$MOLS 28.223  JCL example to use IBM CICS decompression utility.
  TYPEITRF 28.227  INPUT STATEMENT EXCEEDED RECORD LENGTH type=17x.
  TYPEIMFS 28.193  Full support for IMF records in SMF format.
  TYPE113  28.226  Variable LPBUSY,LPARBUSY replaced LPARCPU.
  TYPE74   28.212  TYPE74ID (small) created, saves pass of TYPE74CA.

    Major enhancements added in MXG 28.05, dated Aug 18, 2010

    The z196 processor with more than 64 engines REQUIRES MXG 28.05.

    A z196 with LESS THAN 64 engines DOES NOT require MXG 28.05, as
    long as the operating system is z/OS 1.11 or earlier.

    z/OS 1.12 REQUIRES MXG 28.05.

    DO NOT USE MXG 28.04 WITH z/OS 1.12 RMF data records.

    IBM Maintenance APARs OA30563,OA33976 REQUIRES MXG 28.05.

  Many     28.175  Support for z/OS 1.12 (REQUIRES MXG 28.05).
                   DO NOT USE MXG 28.04 WITH z/OS 1.12 DATA - INCOMPAT.
  TYPE70   28.175  Support for z196: REQUIRED ONLY WITH GT 64 ENGINES.
                   (Lots of new data added compatibly.)
  TYPE113  28.166  Major revision - TYPE113 - John Burg's SHARE 2010.
                   (Calculation of RNI, new z196 fields, new metrics).
  TYPE119  28.175  Support for SMF 119 new subtypes 32-37 and 48-52.
  TYPEITRF 28.162  Support for ITRF V420 IF2 (COMPATIBLE).
  TYPECTCP 28.160  Support for CleverView GMT offset, CTCPIPAD fixed.
  TYPE42   28.158  Support for APAR OA31648 TYPE42D1/D3 buff get retries
  TYPEVM   28.157  Support for VM ACCOUNT ID='09' ISFC record.
  TYPE102  28.156  Support for IFCID=27 specific variables.
  TYPENMON 28.176  Support for SARMON - Solaris SAR in NMON format.
  IMACCADI 28.172  Support for CA-Dispatch V11 SMF 6 INCOMPATIBLE.
  TYPETPFC 28.152  Support for zTPFC TPF Continuous Monitoring updates.
  TYPEZCOS 28.151  Support for zCost AutoSoftcapping V 1.5.00 SMF.
  UTILPDSL 28.179  Utility to read PDS/PDSE directories of a concat.
  BLDSMPDB 28.177  Continued minor enhancements.
  IMACZDAT 28.174  Example to set ZDATE when you rebuild a past PDB.
  ANALCAPD 28.169  Estimate the impact of a Defined Capacity Limit.
  MULTIPDB 28.168  Create a PDB library with all datasets from many PDBs
  TYPEIMS  28.165  LCODE=56x TPCPSSTY09x INPUT STATEMENT EXCEEDED.
  TYPE110  28.154  Improved detection of EXCLUDED CICS fields.
  TYPEXAM  28.153  XAM TCP dataset's TOTCPU incorrectly divided by 100.
  TYPE42   28.150  Type 42 subtype 15 correction for TYPE42S1 dataset.

    Major enhancements added in MXG 28.04, dated Jul  5, 2010

  TYPE113  28.140  Major revision to SMF 113 support, TYPE70PR vars add.
  ANALDB2R 28.146  Major enhancement to DB2PM-like reporting.
  TYPESVIE 28.138  Support for SysView Subtype 3 records.
  TYPEIMFS 28.137  Support for BMC IMF records written in SMF format.
  TYPE120  28.133  Support for WebSphere SMF 120 Subtype 20, untested.
  TYPESAVR 28.127  Support for revised CA $AVERS SMF record (INCOMPAT).
  TYPEMXI  28.126  Support for Rocket Software MXG User SMF record.
  TYPENTSM 28.119  Support for Performance Sentry NTSMF Version 3.1.4.4.
  TYPEMVAO 28.118  Support for BMC Mainview Auto Operator data file.
  TYPE102  28.116  Support for SMF 102 IFCID 263 decodes unique fields.
  BLDSMPDB 28.125  Support for Week/Month if first-day-of-week NOT MON.
  CONFIGVx 28.128  ERROR APPARENT MACRO TRIM NOT RESOVED: DOCUMENTATION.
  VMXGSRCH 28.147  Kewl Tool. Find all instances of VARIABLE='VALUE'.
  BUILDPDB 28.139  Recently added SMF30xxx variables kept in PDB.STEPS.
  UTILWORK 28.123  Utility for TYPE72GO to assist workload definitions.

    Major enhancements added in MXG 28.03, dated May 25, 2010

  TYPEWPMO 28.086  Support for Windows Performance Monitor PERFMON file.
  TYPECTCP 28.108  Support for CleverView for TCP/IP TN3270 SMF subtype.
  TYPE80A  28.107  TOKDANAM LDAPHOST,BINDDN,BINDPW,APPLNAM,UTYPE,JPNUM.
  TYPE92   28.106  SMF92PPN, Path Name, was blank.
  VMXGSUM  28.105  Optional KEEPWEEK/MNTH/YEAR/DAYS/AFTER keeps TRENDs.
  TYPE7072 28.099  Variable CPULHKTM, CPU TIME Lock Promoted, TYPE72GO.
  VMXGSET  28.098  DSETOPT= optional argument for data set options.
  SMFRECNT 28.089  BUILDPDBs PDB.SMFRECNT now has bytes and counts.
  TYPE110  28.087  Internal Decompression Algorithm use now ERROR:'d.
  TYPECIMS 28.084  BMC IMF INPUTCLS and LASTCLAS variables restored.
  READDB2  28.083  READDB2/ANALDB2R did not honor MACDB2H/MACKEEP.
  FORMATS  28.082  UDDDDDD, all and $MGDDDSN updated.

    Major enhancements added in MXG 28.02, dated Apr 14, 2010

  TYPE113  28.075  John Burg formulas for TYPE113 HIS data are added.
  VMXGINIT 28.079A Test for NOWORKINIT and USER ABEND 990 were REMOVED.
  VMXGINIT 28.081  OPTIONS VARLENCHK=NOWARN eliminates SAS V9.2 WARNINGS
  VMXGINIT 28.057  ERROR MACRO %ABORT IS NOT IMPLEMENTD, SAS 8.2 ONLY.
  TYPE84   28.077  Support for all JES3 JMF TYPE84 subtypes.
  ASMIMSL6 28.066  Support for IMS Version 11 (INCOMPATIBLE).
  TYPEIMS7 28.066  Support for IMS Version 11 (INCOMPATIBLE).
  TYPEMVCI 28.065  Support for BMC CICS CMRDETL C660 for CICS/TS 4.1
  TYPEDB2  28.051  Support for DB2 APAR PK62161 new SQL Counters.
  TYPETMNT 28.079  WARNING: TOTAL LENGTH OF VARIABLES MUST BE LT 32760.
  TYPEDB2  28.073  DB2STATS had missing values for QW0225 variables.
  TYPE42   28.072  TYPE42X4 Above the BAR LRU dataset variables wrong.
  BUILDPDB 28.071  PDB.STEPS/PDB.JOBS duplicates if FLUSHED steps.
  MXGSAS92 28.070  SAS 9.2 TS2M2 DSNAMES may have changed
  TYPERMVV 28.048  RMFV CPUG3 was misaligned in z/OS 1.11

    Major enhancements added in MXG 28.01, dated Mar  9, 2010

 Error circumvention:
  EXIT112  28.027* Do NOT assemble EXIT112 for SMF 110/112, use EXITCICS
 Errors fixed:
  ASMTAPEE 28.041  Do NOT use ASMTAPEE ML-45/46, CPU SPIKE: ML-47 fixed.
  TYPEVMXA 28.025  MXG CPU Loop in TYPEVMXA, new CEX3C PRCAPMCT=9 crypto
  TYPECIMS 28.028  BMC IMF INPUT STATEMENT EXCEEDED, short record.
  TYPEEDGR 28.029  RMM datetime vars have always been wrong time zone.
  TYPE120  28.038  SMF 120 SUBTYPE 9 INPUT STATEMENT EXCEEDED RECORD
  ANALZPCR 28.021  Major fixes/enhancements for complex zPCR models.
  TYPE0    28.009  INVALID DATA FOR CVTTZ in z/OS 1.11 Type 0 fixed.
  ASUMTAPE 28.008  SPIN.SPINSYSL dataset could grow forever.
 New stuff:
  VMXGFIND 28.012  Kewl tool, find all obs in all datasets meeting test,
                   (like all obs with JOB='CICS' in all PDB datasets).
  TYPESTC  28.005  Support for Sun StorageTek VSM Version 6.2 and 7.0.
  TYPE89   28.015  Support for z/TPM SMF 89 record, subtype wrong byte.
  TYPENTSM 28.042  New Sentry VM 3.1.4.3 adds VMWARE objects/metrics.
  TYPE30   28.031  z/OS 1.11 GA added variables to SMF 30 and SMF 71.
  VMXGINIT 28.023  New MXGERROR/USER ABEND 990 if NOWORKINIT is enabled.
  TYPEZTPF 28.043* zTPF has major revisions in Performance Data
  TYPETMS  28.040  CA-1 Retention and VMRECORD extensions, need data.
 Changes:
  TYPE74   28.039  R7451RID now one byte, R7451FLG/TYPE74CA overlays.
  BUILDPDB 28.037  PDB.SMFINTRV will have EXCP/IOTM counts for FLUSHED.
  TYPE103  28.036  TYPE1032 deaccum needed PORTNR, label changed.
  VGETOBS  28.034  %TRIM() references here removed, still in VMXGSUM.
  IMACICMR 28.032  Protect 200-byte CMRDATA on CICS/TS 3.2 (s/b 256).
  VGETDDS  28.014  Colon in DDNAMES= worked only with DDNAMES=PDB:)
  TYPEDB2  28.010  Variable SHIFT (from QWHSSTCK, END) kept in datasets.


    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

      MXG 28.28 executes best with SAS V9.2, or with SAS V9.1.3 with
      Service Pack 4, on any supported SAS platform.
        SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
        the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.

      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level B" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2;
      While many MXG programs (accidentally) will still execute under
      V8.2, I can not guarantee that all of MXG executes error free.
      PLEASE INSTALL V9.2 ASAP, FOR BOTH OF US, TO AVOID FIXED PROBLEMS.

      MXG Software has not executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      SAS V8 or later, but any of those data libraries can be read or
      updated by the SAS Versions that MXG Supports, above.


      For SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,
        but it still uses the CONFIGV9 configuration file.

        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2:
          The standard SAS JCL Procedure can be used for MXG:
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
          instead of using the MXGSAS92 JCL Procedure example.
        ****************************************************************

        SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
        V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
        and vice versa.

        MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.

        SAS Version 9.2 requires z/OS 1.7 or later, both officially as
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.

      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as a absolute minimum level when that SAS Version was last
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      MXG QA tests are executed on z/OS with SAS V9.1.3 and V9.2 and
      on Windows XP with 32-bit INTEL, and on Windows Seven Ultimate
      both 32-bit and 64-bit OS on 64-bit hardware, but MXG is installed
      on many more hardware and software platforms: since they all work,
      we don't need to list them.  If SAS executes so does MXG.

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

III.  WPS Version requirement information:

      WPS Version 2.4   requires MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for "MXG Support for WPS Software"

IV.   MXG Version Required for Hardware, Operating System Release, etc.



    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02
      z/OS 1.12                        Aug 17, 2010       *28.05
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11
      CICS-TS for Z/OS Version 2.2     Jan 25, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS for Z/OS Version 2.3     Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02A
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DB2 10.1 Tolerate                Oct  1, 2010        28.06
      DB2 10.1 Full plus Compressed.   Nov  1, 2010        28.07*
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011        28.28
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      MQ Series 7.0                    ??? ??, 2009       *28.06
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      WebSphere 7.0                    Oct  7, 2010        28.06
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        27.01*
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004        26.01*
      IMS log 10.0                     Mar 06, 2007        26.01*
      IMS log 11.0                     Apr  1, 2010        28.02*
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk by the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       The Monitor for CICS/TS V2.3 for CICS/TS 3.1        22.08

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               26.02*
       IMF 4.4 (for IMS 9.1)                               27.07*
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10

V.    Incompatibilities and Installation of MXG 28.28.


 1. Incompatibilities introduced in MXG 28.28:

  a- Changes in MXG architecture made between 28.28 and prior versions
     that can introduce known incompatibilities.

    1. -The WEEKBLD/MONTHBLD may fail with TYPE72DL NOT SORTED if you
        have a tailored WEEKBLD/MONTHBLD that references TYPE72DL.  The
        only prevention is to change the sort order in WEEKBLD/MONTHBLD
        BEFORE you create your weekly with 28.28 to this order:
           MACRO _DSET TYPE72DL %
           MACRO _BYLIST  SYSPLEX SYSTEM SYSNAME STARTIME %
        to eliminate the exposure to this rare possible error.
       -Or, the WEEKBLD/MONTHBLD sort order testing can be disabled
        (as documented in comments) using:
          //SYSIN DD *
           %LET MXGNOBY=  MACRO _BY  %    MACRO _SORTBY  %  ;
           %INCLUDE SOURCLIB(MONTHBLD);
       -Or with BLDSMPDB, specify SORTEDBY=NO to disable the sort test.
       See Change 28.324.

    2. -If you use ASUMDB2x or ASUMDBSx datasets, see Change 28.220.

    3. -If you have tailored MXG DB2 Processing using _NDB2 and then
        invoke _SDB2STS (to create PDB.DB2STATS), you must also have
        MACRO _WDB2ST4  DB2STAT4  %   inserted AFTER the _NDB2 so that
        the PDB.DB2STAT4 dataset exists when PDB.DB2STATS is created.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINST9 for
    SAS Version 9.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.


VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.



Alphabetical list of important changes in MXG 28.28 after MXG 27.27:

  Dataset/
  Member   Change    Description

  Many     28.175  Support for z/OS 1.12 (COMPATIBLE)
  ANALCAPD 28.169  Estimate the impact of a Defined Capacity Limit.
  ANALDB2R 28.004  Extreme Detail DB2 Trace Report PMTRC01 revised.
  ANALDB2R 28.146  Major enhancement to DB2PM-like reporting.
  ANALDB2R 28.214  ANALDB2R report select did not honor BEGTIME/ENDTIME.
  ANALDBJS 28.290  DB2 analysis adds JESNR and REAdTIME to DB2ACCT.
  ANALDUPE 28.308  Removal of Duplicate SMF (or any) records.
  ANALID   28.257  ERROR: VARIABLE IDANDSUM ... with PDB,DISP=OLD
  ANALZPCR 28.021  Major fixes/enhancements for complex zPCR models.
  ASMIMSL6 28.066  Support for IMS Version 11 (INCOMPATIBLE).
  ASMTAPEE 28.041  Do NOT use ASMTAPEE ML-45/46, CPU SPIKE: ML-47 fixed.
  ASUMCICR 28.281  Count/average response time by DATE for each APPLID.
  ASUMDB2- 28.220  DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
  ASUMTAPE 28.008  Large size SPIN.SPINMOUN,SPIN.SPINSYSL found, shrunk.
  ASUMTAPE 28.008  SPIN.SPINSYSL dataset could grow forever.
  ASUMUOW  28.124  WTIRIOTM in PDB.ASUMUOW could be larger than IRESPTM.
  ASUMUOWT 28.284  ASUMUOWT (for ASG-TMON MRO) revised to use VMXGUOW.
  BLDSMPDB 28.125  Support for Week/Month if first-day-of-week NOT MON.
  BLDSMPDB 28.177  Continued minor enhancements.
  BLDSMPDB 28.218  Includes ASUMDBAA/TRNDDBAA caused errors, replaced.
  BUILDPDB 28.037  PDB.SMFINTRV will have EXCP/IOTM counts for FLUSHED.
  BUILDPDB 28.071  PDB.STEPS/PDB.JOBS duplicates if FLUSHED steps.
  BUILDPDB 28.139  Recently added SMF30xxx variables kept in PDB.STEPS.
  BUILDPDB 28.305  PDB.NJEPURGE did not contain all NJE-variables.
  CONFIGVx 28.128  ERROR APPARENT MACRO TRIM NOT RESOVED: DOCUMENTATION.
  DB2ACCT  28.277  NETSNAME/UOWTIME only created for QWHCATYP=4 (CICS).
  DFH$MOLS 28.223  JCL example to use IBM CICS decompression utility.
  EXIT112  28.027* Do NOT assemble EXIT112 for SMF 110/112, use EXITCICS
  EXITCICS 28.223  Support for DB2 V10 Compressed SMF records.
  EXITCICS 28.251  ASMA144E Begin-to-continue due to char in col 72.
  EXITCICS 28.298  EXITCICS decompresses SMF 100,101,102,110 and 112.
  FIXTRNCD 28.049  TRANSCODE attribute can be added to old PDBs
  FORMATS  28.082  UDDDDDD, $MGDDDDD and $MGDDDSN updated.
  GRAFCEC  28.261  SAS/GRAPH example charts CEC Utilization by engine
  IMACCADI 28.172  Support for CA-Dispatch V11 SMF 6 INCOMPATIBLE.
  IMACICMR 28.032  Protect 200-byte CMRDATA on CICS/TS 3.2 (s/b 256).
  IMACZDAT 28.174  Example to set ZDATE when you rebuild a past PDB.
  JCLINSTT 28.328  Complete JCL example to ftp/unterse/install on z/OS.
  JCLTEST9 28.330  Prelim 28.28 only, default ASUMUOW could fail.
  MULTIPDB 28.168  Create a PDB library with all datasets from many PDBs
  MXGSAS92 28.070  SAS 9.2 TS2M2 DSNAMES may have changed
  READDB2  28.083  READDB2/ANALDB2R did not honor MACDB2H/MACKEEP.
  READDB2  28.211  COPYONLY argument wrote ALL SMF records.
  READDB2  28.250  COPYONLY logic now works.
  SASAUTOS 28.194  Invalid 'BA'x in TRIM member on z/OS ERROR 22.
  SMFRECNT 28.089  BUILDPDBs PDB.SMFRECNT now has bytes and counts.
  TRNDDB2- 28.220  DB2 Summary ASUMDBxx and Trending TRNDDBxx revisions.
  TYPE0    28.009  INVALID DATA FOR CVTTZ in z/OS 1.11 Type 0 fixed.
  TYPE0    28.313  Variable CVTTZ in TYPE0 could be one second wrong.
  TYPE102  28,206  APPTUNE SMF 102 IFCID 8133 invalid offset ERROR.
  TYPE102  28.116  Support for SMF 102 IFCID 263 decodes unique fields.
  TYPE102  28.156  Support for IFCID=27 specific variables.
  TYPE102  28.325  DB2 SQL-text variables only 100 bytes if COMPRESS=NO.
  TYPE103  28.036  TYPE1032 deaccum needed PORTNR, label changed.
  TYPE110  28.087  Internal Decompression Algorithm use now ERROR:'d.
  TYPE110  28.134  INVALID STIDLEN=0 after STID=116 was harmless, fixed.
  TYPE110  28.154  Improved detection of EXCLUDED CICS fields.
  TYPE110  28.247A Example using _Kdddddd to create new datasets revised
  TYPE110  28.285  CICS Statistics Subtype 2 STID=143 corrected.
  TYPE111  28.329  CTG records had zero observations in TY111CXI "IPIC".
  TYPE113  28.075  John Burg formulas for TYPE113 HIS data are added.
  TYPE113  28.140  Major revision to SMF 113 support, TYPE70PR vars add.
  TYPE113  28.166  Major revision - TYPE113 - John Burg's SHARE 2010.
  TYPE113  28.226  Variable LPBUSY,LPARBUSY replaced LPARCPU.
  TYPE113  28.279  "Near duplicate" ASUM113 intervals are corrected.
  TYPE116  28.221  WebSphere MQ 7.01 INVALID WQ SEGMENT error messages.
  TYPE119  28.175  Support for SMF 119 new subtypes 32-37 and 48-52.
  TYPE119  28.293  Support for OpenSSH SMF 119 subtypes 96-98.
  TYPE120  28.038  SMF 120 SUBTYPE 9 INPUT STATEMENT EXCEEDED RECORD
  TYPE120  28.133  Support for WebSphere SMF 120 Subtype 20, untested.
  TYPE120  28.258  Support for WebSphere ID=120 SUBTYPE=20 records
  TYPE30   28.031  z/OS 1.11 GA added variables to SMF 30 and SMF 71.
  TYPE30   28.246  New CPITCxTM/CPISRxTM wrong in MXG 28.06.
  TYPE30   28.302  TYPE30MU duplicate records exist, non-dupes removed.
  TYPE42   28.072  TYPE42X4 Above the BAR LRU dataset variables wrong.
  TYPE42   28.150  Type 42 subtype 15 correction for TYPE42S1 dataset.
  TYPE42   28.158  Support for APAR OA31648 TYPE42D1/D3 buff get retries
  TYPE6156 28.289  Variables GATLIMIT and GATCNT added to TYPE6156.
  TYPE70   28.175  Support for z196: INCOMPAT ONLY WITH GT 64 ENGINES.
  TYPE7072 28.099  Variable CPULHKTM, CPU TIME Lock Promoted, TYPE72GO.
  TYPE7072 28.242  In-Ready Work Unit SMF70U00-U15, etc were all wrong.
  TYPE7072 28.246  CP eng 64-95 vars shouldn't have been kept in TYPE70.
  TYPE70EN 28.224  TYPE70EN PCTCPUBY was 100% for a parked CP engine.
  TYPE70EN 28.299  Wrong values for CPUID=0 in PDB.TYPE70EN.
  TYPE74   28.039  R7451RID now one byte, R7451FLG/TYPE74CA overlays.
  TYPE74   28.208  R7451TIM wrong, R7451CT3/CT4/PRT/PWT also wrong.
  TYPE74   28.212  TYPE74ID (small) created, saves pass of TYPE74CA.
  TYPE80A  28.107  TOKDANAM LDAPHOST,BINDDN,BINDPW,APPLNAM,UTYPE,JPNUM.
  TYPE84   28.077  Support for all JES3 JMF TYPE84 subtypes.
  TYPE89   28,282  Support for APAR OA31615, adds zIIP/zAAP CPU times.
  TYPE89   28.015  Support for z/TPM SMF 89 record, subtype wrong byte.
  TYPE89   28.272  SMF89HOF/SMF89DTO for SCRT don't use last 3 nybbles.
  TYPE89   28.304  SMF 89 with no usage segment INPUT EXCEEDED error.
  TYPE89   28.331  INVALID DATA FOR SMF89CZT if APAR OA31615 installed.
  TYPE92   28.106  SMF92PPN, Path Name, was blank.
  TYPECIMS 28.028  BMC IMF INPUT STATEMENT EXCEEDED, short record.
  TYPECIMS 28.084  BMC IMF INPUTCLS and LASTCLAS variables restored.
  TYPECTCP 28.108  Support for CleverView for TCP/IP TN3270 SMF subtype.
  TYPECTCP 28.160  Support for CleverView GMT offset, CTCPIPAD fixed.
  TYPEDB2  28.010  Variable SHIFT (from QWHSSTCK, END) kept in datasets.
  TYPEDB2  28.051  Support for DB2 APAR PK62161 new SQL Counters.
  TYPEDB2  28.073  DB2STATS had missing values for QW0225 variables.
  TYPEDB2  28.222  ITRM only, DB2STAT4 NOT SORTED ERROR.
  TYPEDB2  28.264  Support for DB2 Version 10. COMPLETELY INCOMPATIBLE.
  TYPEDB2  28.326  Invalid DB2 V10 Distributed Header protected in MXG.
  TYPEEDGR 28.029  RMM datetime vars have always been wrong time zone.
  TYPEIMFS 28.137  Support for BMC IMF records written in SMF format.
  TYPEIMFS 28.193  Full support for IMF records in SMF format.
  TYPEIMS  28.131  IMS Log 56X record subtype 15x INVALID DATA/STOPOVER.
  TYPEIMS  28.165  LCODE=56x TPCPSSTY09x INPUT STATEMENT EXCEEDED.
  TYPEIMS7 28.066  Support for IMS Version 11 (INCOMPATIBLE).
  TYPEIMS7 28.310  Support for IMS/DBCTL transactions in IMS0708.
  TYPEIMSA 28.311  Support for IMS/DBCTL transactions in IMSTRAN.
  TYPEITRF 28.162  Support for ITRF V420 IF2 (COMPATIBLE).
  TYPEITRF 28.227  INPUT STATEMENT EXCEEDED RECORD LENGTH type=17x.
  TYPEMIM  28.262  Support for CA MIM RESOURCE SHARING R11.7 (COMPAT)
  TYPEMVAO 28.118  Support for BMC Mainview Auto Operator data file.
  TYPEMVCI 28.065  Support for BMC CICS CMRDETL C660 for CICS/TS 4.1
  TYPEMXI  28.126  Support for Rocket Software MXG User SMF record.
  TYPENDM  28.327  Connect Direct/NDM 'RT' record INCOMPATIBLY changed.
  TYPENMON 28.176  Support for SARMON - Solaris SAR in NMON format.
  TYPENMON 28.275  Support for NMON FCREAD/FCWRITE/XFERIN/XFEROUT record
  TYPENTSM 28.042  New Sentry VM 3.1.4.3 adds VMWARE objects/metrics.
  TYPENTSM 28.119  Support for Performance Sentry NTSMF Version 3.1.4.4.
  TYPEOMMQ 28.263  Support for IBM/OMEGAMON XW MQ flat file (INCOMPAT)
  TYPERMVV 28.048  RMFV CPUG3 was misaligned in z/OS 1.11
  TYPESAVR 28.127  Support for revised CA $AVERS SMF record (INCOMPAT).
  TYPESTC  28.005  Support for Sun StorageTek VSM Version 6.2 and 7.0.
  TYPESTC  28.005  Support for Sun StorageTek Version 6.2 and 7.0
  TYPESTC  28.244  STC/STK/Oracle VSM user SMF records support revised.
  TYPESVIE 28.138  Support for SysView Subtype 3 records.
  TYPETCP  28.300  TYPETCP (SMF 118) Port Numbers (Dec) wrong on ASCII.
  TYPETMNT 28.079  WARNING: TOTAL LENGTH OF VARIABLES MUST BE LT 32760.
  TYPETMS  28.040  CA-1 Retention and VMRECORD extensions, need data.
  TYPETMS5 28.148  TMS DEVTYPE was blank for TRTCH 'F0'x thru 'FF'x.
  TYPETMVT 28.287  Support for ASG-TMON for VTAM subtype 'SX' record.
  TYPETNG  28.216  NSM RH018 defective records with zero values.
  TYPETNG  28.273  Support for more than 9999 instances in CA NSM/TNG.
  TYPETPFC 28.152  Support for zTPFC TPF Continuous Monitoring updates.
  TYPETPX  28.260  IP address and Port Number now decoded in TPX SMF.
  TYPEVM   28.157  Support for VM ACCOUNT ID='09' ISFC record.
  TYPEVMXA 28.025  MXG CPU Loop in TYPEVMXA, new CEX3C PRCAPMCT=9 crypto
  TYPEVMXA 28.307  Short LINUXKRNL MONWRITE record caused errors.
  TYPEVMXA 28.315  PFXCPUAD in VXSYTCUM is the LCPUADDR, no CPUID.
  TYPEWPMO 28.086  Support for Windows Performance Monitor PERFMON file.
  TYPEXAM  28.153  XAM TCP dataset's TOTCPU incorrectly divided by 100.
  TYPEZCOS 28.151  Support for zCost AutoSoftcapping V 1.5.00 SMF.
  TYPEZTPF 28.043* zTPF has major revisions in Performance Data
  UTILBLDP 28.209  INCLAFTR=BUILD005,BUILDPDB=NO failed.
  UTILEXCL 28.259  Spurious "WRONG LENGTH OF 200 FOR CMRDATA"
  UTILGETM 28.312  No Reporting Class data in SMFSMALL with NRECORD=10.
  UTILNPRT 28.268  Identify non-print chars, for SAS Enterprise Guide.
  UTILPDSL 28.179  Utility to read PDS/PDSE directories of a concat.
  UTILWORK 28.123  Utility for TYPE72GO to assist workload definitions.
  VGETDDS  28.014  Colon in DDNAMES= worked only with DDNAMES=PDB:)
  VGETOBS  28.034  %TRIM() references here removed, still in VMXGSUM.
  VMXGFIND 28.012  Kewl tool, find all obs in all datasets meeting test.
  VMXGINIT 28.023  MXGERROR/USER ABEND 990 if NOWORKINIT is enabled.
  VMXGINIT 28.057  ERROR MACRO %ABORT IS NOT IMPLEMENTD, SAS 8.2 ONLY.
  VMXGINIT 28.081  OPTIONS VARLENCHK=NOWARN eliminates SAS V9.2 WARNINGS
  VMXGSET  28.098  DSETOPT= optional argument for data set options.
  VMXGSRCH 28.147  Kewl Tool. Find all instances of VARIABLE='VALUE'.
  VMXGSUM  28.105  Optional KEEPWEEK/MNTH/YEAR/DAYS/AFTER keeps TRENDs.
  VMXGSUM  28.249  VMXGSUM enhanced with MODE and MEDIAN statistics
  WEEKBLD  28.324  WEEKBLD/MONTHBLD/BLDSMPDB dataset TYPE72DL NOT SORTED

  See member CHANGESS for all changes ever made to MXG Software.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 28.

====== Changes thru 28.331 were in MXG 28.28 dated Jan 18, 2011=========

Change 28.331  INVALID DATA FOR SMF89CZT if APAR OA31615 is installed.
VMAC89         Change 28.282 claimed support, but without test data, and
Jan 15, 2011   the error was because MXG input SMF89CNO as two bytes but
               it is a four byte field, causing the misalignment.
               Jan 19: I didn't get records in time for 28.28 and this
               change did NOT correct this error, but Change 29.002 did.
   Thanks to Scott Barry, SBBWorks, USA.

Change 28.330  Prelim 28.28 default ASUMUOW in JCLTEST9 (does NOT read
VMXGUOW        ANY input) failed, on all platforms with SAS V9.1.3 or on
Jan 15, 2011   SAS V9.2 on z/OS.  There is NO error if you have IMACUOW
               tailored to create observations in PDB.ASUMUOW.  The
               error message is a NO BY VARIABLES ERROR, but the actual
               error was a DATA SET NOT FOUND error that was masked by
               the OPTIONS NODSNFERR in VMXGUOW.  Changes 28.316/28.284
               added logic to print an MXGWARN when there was no input,
               by creating a second dataset in an existing DATA step,
               but that second dataset is NOT created when OPTIONS OBS=0
               is set and the first dataset is a /VIEW, unless SAS V9.2
               on Windows/Unix is used.  The SAS defect was fixed only
               for ASCII V9.2, but is now reopened by SAS Tech Support.
               But MXG code was revised to eliminate the second dataset,
               and tests now are for dataset existence rather than for
               non-zero observations.
               And why didn't MXG QA catch the error? Because we tailor
               IMACUOW to create observations, which didn't fail.
   Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA

Change 28.329  CTG records had zero observations in TY111CXI "IPIC"
VMAC111        because MXG's length test was incorrect.  The Version 8
Jan 14, 2011   documentation has several new fields that are now input
Jan 19, 2011   if the record length test is satisfied.
               Jan 19: The VMAC111 was NOT updated in time for MXG 28.28
               because I had no test data for validation; this update is
               now made, but there are still no observations in either
               TY111CXI or TY111CXE datasets because there are no SMF
               data with values CTGRECID=2 being created.
   Thanks to Jim Poletti, Edward Jones, USA.

Change 28.328  New JCLINSTT member is the recommended z/OS install JCL
JCLINSTT       with these four steps to "drop-in" the new version
INSTALL         FTPMXG
Jan 13, 2011       FTP DOWNLOAD TER2828.TER FILE FROM THE MXG FTP SITE.
                UNTERSE
                   UNTERSE THE DOWNLOADED TER2828.TER FILE.
                ALOCUSID
                   ALLOCATE THE MXG.V2828.USERID.SOURCLIB PDS LIBRARY.
                FORMATS
                   ALLOCATE AND CREATE MXG.V2828.MXG.FORMATS LIBRARY.

Change 28.327 -Connect Direct 'RT' record's format was changed; while
VMACNDM        offsets for the PACCT and SACCT exist and are populated,
Jan 12, 2011   the ACCT fields do NOT exist, and instead a text string
Jan 13, 2011   inside double quotes ('7F'x) is at the end of the record.
               This change detects the quote pair and stores that text
               in new NDMRTDAT text variable.  However, some 'RT' don't
               have the quote pair, so a length test will skip over the
               data at the end but will still output the RT record.
              -And short RT records, less than the 216 bytes have been
               found and are printed on the log and skipped.
              -The 'AE' family of records UID and XUSER fields are now
               input $EBCDIC64 as they were expanded.
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
   Thanks to G. Bosker, Rabobank Nederland, THE NETHERLANDS.

====== Changes thru 28.326 were in Prelim MXG 28.28 dated Jan 12, 2011==

Change 28.326  Invalid DB2 Distributed Header has QWHDPRID shifted right
VMACDB2H       by two bytes, causing INPUT EXCEEDED error when QWHDPRID
Jan 12, 2011   had non-null value in the last two bytes, as those bytes
               were expected to contain the OFFSET to QWHDRQNM when they
               are non-zero.  The defective records are now detected by
               '0000'X value in the first two bytes of QWHDPRID, the
               header is skipped, new variable QWHDBAD is set to one,
               and an error message is printed for the first three.
               IBM has accepted a PMR and will have an APAR to correct.
               This change protects the Invalid Header so the APAR is
               NOT required for MXG.
               APAR PM32425 corrected the problem.
   Thanks to Joe Babcock, JPMC, USA.

Change 28.325  Since Change 22.108, DB2 SQL-text variables are only 100
VMAC102        bytes if COMPRESS=NO is specified.  The normal length of
Jan 11, 2011   32000 with YES must be reduced with NO because massive
               disk space could be required.
               But you can change this behavior by using
                  //SYSIN DD *
                   %LET SASCHRLN=32000;
               even if you have specified COMPRESS=NO.
              -Two variables had default lengths of 4000 and 5000 set by
               &SASC4000 and &SASC5000, but they now use &SASCHRLN to be
               consistent.
              -The list of variables was updated in the text of 22.108.
   Thanks to Joachim Sarkoschits, DATAEV eG, GERMANY.

Change 28.324 -WEEKBLD/MONTHBLD dataset TYPE72DL NOT SORTED ERROR, if a
MONTHASC       WEEKBLD/MONTHBLD member is in your "USERID.SOURCLIB".

              -Inserted Jan 24, 2011, after MXG 28.28 was created:
               Similar DB2STATS NOT-SORTED ERROR in Change 29.008, but
               you can Circumvent/eliminate sorting as shown below.

MONTHASW       The TYPE72DL wasn't reported by a user, but was found in
MONTHBL3       in QA tests when PDBs built by old and new versions were
MONTHBLD       combined, because the sort order in WEEKBLD/MONTHBLD for
MONTHBLS       TYPE72DL was erroneously different in VMAC7072/BUILDPDB.
MONTHDSK       The only prevention, if WEEKBLD/MONTHBLD exists in your
MONTHWEK       USERID.SOURCLIB, is to change the _BYLIST, before you run
WEEKBL3        WEEKBLD or MONTHBLD with MXG 28.28, to this order
WEEKBL3D          MACRO _DSET TYPE72DL %
WEEKBL3T          MACRO _BYLIST  SYSPLEX SYSTEM SYSNAME STARTIME %
WEEKBLD        which is the new default in MXG's WEEKBLD/MONTHBLDs.
WEEKBLDD       -Alternatively, you can disable sort order and tests in
WEEKBLDT        WEEKBLD/MONTHBLD using this example (from comments):
Jan 10, 2011        //SYSIN DD *
Jan 15, 2011        %LET MXGNOBY= MACRO _BY %  MACRO _SORTBY %  ;
Jan 16, 2011        %INCLUDE SOURCLIB(WEEKBLD);
               -With BLDSMPDB, add SORTEDBY=NO, to bypass sort test.
              -MONTHWEK was updated Jan 15 with a RUN; added.

Change 28.323 -New SX record support caused DIVISION BY ZERO because of
VMACTMVT       a typo that caused SXHRTA to be a missing value.
Jan 10, 2011  -SXBV1/BV2/BV3/BV4/HRTD/NRTTD/HRT/SXNRTT variable were
               incorrectly input as PIB4 vs PIB4.6 and were incorrectly
               converted (i.e., the 1024 multiplier to convert those
               durations into seconds/fractions was nonexistent for SX,
               but was in place for the existing SI variables.)
   Thanks to Paul Volpi, UHC, USA.

Change 28.322  z/TPF records SB, DB, and DE had incorrect length for
VMACZTPF      reserved fields that are now corrected and validated
Jan 10, 2011  with data records.
   Thanks to Bob Wilcox, HP, USA.

Change 28.321  Harmless DIVIDE BY ZERO in a 7-second-long RMF interval
VMAC7072      when there was a WLM Policy switch that causes SMF70DSA
Jan  9, 2011  sample count to be zero; all divides are now protected.
              Harmless because the created variable was not used in a
              subsequent calculation, and is missing either way.
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

Change 28.320 -LPARBUSY calculation in PDB.ASUM113 was wrong if the CPs
ASUM113        are slower than your zAAPs/zIIPs, because the SM1132CP
Jan  7, 2011   (speed) of the last engine (the zIIP or zAAP) was used.
               And with multiple engine types, even at same speed, it
               makes more sense to create separate observations for
               each SMF70CIN/SM113CPT engine type for each interval.
               But SM113CPT is only populated in 113s from z196, and
               SMF70CIN is only populated if there's PDB.TYPE70PR data,
               so the actual separation is by SM113CPT and SM1132SP to
               ensure the correct speed is used to calculate LPARBUSY.
              -For z10, SMF70CIN in PDB.ASUM113 is populated from the
               TYPE70PR data, but the logic was not always correct. Now
               SYSTEM=SMF70STN is used to select the correct LCPUADDR,
               the sort order was changed to match correctly, and then
               the SMF70CIN value is used to populate SM113CPT for the
               z10 processors. (For z196 SM113CPT is already there.)
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

Change 28.319  Support for IODQDS segment in Velocity Software XAM data
EXXAMQDS       creates new XMIODQDS dataset.
IMACXAM
VMACXAM
VMXGINIT
Jan  6, 2011
   Thanks to Francois VanCoppenolle, PVGROUP, BELGIUM

Change 28.318  MXGs test for EXCLUDEd fields in CICS/TS 4.1 tested for
VMAC110        LT 330 fields OR LT 2640 bytes, but since the default
Jan  5, 2011   record has 337 fields and 2668 bytes, a false detection
               of EXCLUDED fields was not possible.  Additionally, the
               primary flag of EXCLUDEd fields is an invalid TASKNR, as
               it is a packed decimal field whose shift is detectable.
               But, the MXG test and comments were corrected.
   Thanks to Patricia Hansen, ADP, USA.

Change 28.317  In analysis of the impact of possible capping values, if
ANALCAPD       the desired CAP was exceeded, those excess MSU had to go
Jan  5, 2011   somewhere: this modification keeps track of the excess
               MSU and spreads them out across the following intervals
               up to the level of the desired CAP until they are all
               used up.
   Thanks to Dick Arnold, Commerce Bank of Kansas, USA.

Change 28.316  If you fail to reset the _NOOBS and _YESOBS tokens before
VMXGUOW        you run ASUMUOW, no observations were processed, but with
Jan  5, 2011   no explanation.  Now, when zero observations are detected
               an MXGWARN message is printed to explain why there was no
               output observations created in ASUMUOW.

Change 28.315 -The "CPU ADDRESS" PFXCPUAD in dataset VXSYTCUM is not the
VMACVMXA       "VM" CP address of 00-0Fx, but is the LCPUADDR in the CEC
Jan  5, 2011   causing VXSUMCPU to contain many spurious observations.
               This correction for the unexpected PFXCPUAD values is to
               deaccumulate by PFXCPUAD, but then sum by ENDTIME for the
               merge to create VMXAINTV.  Fortunately, the only variable
               in VXSYTCUM is the LPAR Management Time LCUMGTM, and in
               spite of the spurious observations, the value in VMXAINTV
               was correct before and after this change; the increase in
               observations during summarization just looked wrong!
              -Division by zero in creating VXAPLTCB was because the BY
               list did not include SUBTASKN.
   Thanks to Frank Bright, MEDCO, USA.
   Thanks to Nick Said, MEDCO, USA.

Change 28.314 -%UTILBLDP(SUPPRESS= 6 26 30 110 DB2,BUILDPDB=YES) caused
UTILBLDP       ERROR: FILE WORK.TYPE30MR DOES NOT EXIST.  TYPE30MR is
Jan  4, 2011   now protected when SUPPRESS 30 is requested.
              -If SMF 6 26J2/26J3 AND 30 are suppressed, BUILD005 is not
               executed.
              -If 26 (instead of 26J2/26J3) is specified, 26J2 is used,
               with a note.
              -A new QA report now compares the suppressed records list
               of dddddd tokens with the list of datasets created by the
               SMF record to ensure UTILBLDP is updated when needed.
   Thanks to Charles Savikas, DCF, State of Florida, USA.

Change 28.313 -Variable CVTTZ in TYPE0 could be one second wrong, for
TYPE0          some time zones, because the CEIL/FLOOR functions that
TYPE28         are needed in MXG to create integer Time Zone deltas were
TYPEEPIL       omitted when CVTTZ was added to the record.  The CVTTZ
TYPEHPDM       field is documented in the CVT as if it is the actual GMT
TYPEMVCI       offset, but its value of 1.048576 seconds per binary bit
TYPENTCP       is not an integer value; IBM actually uses the 8-bytes in
TYPEOMCI       CVTLDTO with 1 microsecond resolution for the GMT offset.
TYPETIMS      -The CVTTZ field is the first 4 bytes of CVTLDTO, so those
TYPETMDB       CEIL/FLOOR functions are used to create exact GMT Offset;
TYPETPX        their absence in TYPE0 caused a search for all MXG code
Jan  3, 2011   with CVTTZ-based GMT offset, which found some members
               needed corrections.  Luckily, some of the vendor records
               store an integer value, so MXG's use of CEIL/FLOOR is not
               always required, but MXG now uses them consistently.
               Fortunately, in most cases below, the GMT Offset was not
               used to convert (when all timestamps are already LOCAL),
               so only the GMT Offset variable might have been wrong.
               And by only one second:
              -VMAC0:   CVTTZ    had no CEIL/FLOOR.
              -VMAC28:  NPMGMTTZ had only (wrong) PIB.4., no floor.
              -VMACEPIL OMGMTOFF CEIL/FLOOR functions reversed.
              -VMACHPDM SOVHTZOS no 1.048576 multiply, no CEIL/FLOOR
              -VMACMVCI T6ECVTTZ CEIL/FLOOR functions reversed.
              -VMACNTCP MONCVTTZ only PIB.4, no multiply, no CEIL.
              -VMACOMCI SMCVTTZ  CEIL/FLOOR functions reversed.
              -VMACTIMS CHGMTA   no CEIL/FLOOR
              -VMACTMDB GMTOFFTM no CEIL/FLOOR
              -VMACTPS  TPXCVTTZ CEIL/FLOOR functions reversed.
               Note: CVTLDTO is not externalized; APAR OA23267 listed a
               value of FFFE6053 1927B4DE for a 31 hour offset, but that
               value is 30.99500413 hours, .005 hours or 0.35 seconds
               instead of the one microsecond resolution expected.  But,
               the error in that APAR apparently impacted both the hour
               and the seconds; examination of current CVTLDTO values
               FFFFAF88 -6 hours  FFFFAF88 A2800000    -21600.000000
               FFFFBCF1 -5 hours  FFFFBCF1 DCC00000    -18000.000000
               FFFFCA5B -4 hours
               show full microsecond resolution produces exact integers.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.

Change 28.312  The default "SMFSMALL" file for testing SMF processing
UTILGETM       created by UTILGETM writes only 10 records for each SMF
Dec 31, 2010   ID and SUBYTPE, so the TYPE72GO dataset had only the
               first 10 service classes and NO reporting classes.  The
               default NRECORD=50 is now set so there should be at least
               some Reporting Class observations in SMFSMALL (which was
               increased from 4 to only 19 cyl, so it's still SMALL).
   Thanks to Ken Jones, Xwave, CANADA.

Change 28.311  Support for IMS/DBCTL transactions made in Change 28.310
TYPEIMSA       are implemented in the JCLIMSL6/ASMIMSL6 IMS processing.
TYPEIMSB      -TYPEIMSA was revised to split and separately process the
VMACIMSA       IMS/TM from the IMS/DBCTL transactions.
Dec 31, 2010  -TYPEIMSB was corrected to correctly work on ASCII SAS,
               and ancient code blocks were removed for IMS Version 5!
              -VMACIMSA revised to create IMS07D/IMS08D for DBCTL.
              -Some code blocks for _IMSVERS LE 6.1 were removed.
   Thanks to Ojnan Lindholm, Volvo, SWEDEN.

Change 28.310  Support for IMS/DBCTL transactions created by TYPEIMS7 in
EXIMS07D       IMSTRAN.IMS0708 is revised.  While IMS/DBCTL transactions
EXIMS08D       were correct, identifiable by PROGTYPE='D', DBCTL records
FORMATS        also created thousands of spurious observations that had
TYPEIMS7       PROGTYPE=' ', but, fortunately, had no resources, so they
TYPEIMSD       only wasted disk space!  Now, VMACIMS splits the 07/08
VMACIMS        records (DLRUSSN GT 0 for DBCTL) to create separate pairs
VMXGINIT       in IMS07/IMS08 and IMS07D/IMS08D datasets that are then
Dec 31, 2010   separately sorted and combined by different algorithms to
               eliminate the spurious observations. TYPEIMS7 can create
               datasets for all IMS log records, or you can select which
               records are read to populate only desired IMS datasets.
               These tailoring macros allow you to define the LIBNAMEs
               that will be used; all default to WORK.  See examples in
               the comments in TYPEIMS7 member.

                 DDNAME    DDNAME.DATASET      DATASET DESCRIPTION
                 TOKEN
                &WIMS78    IMS0708.IMS0708     IMS/TM,IMS/DBCTL TRANS
                &WIMSBMP   IMSBMPS.IMSBMPS     BMP EXECUTIONS
                &WIMSA78   IMS0A78.IMS0A78     IMS/TM CPIC TRANSACTIONS
                &WIMSOTH   IMSOTHER.IMSOTHER   ALL OTHER IMS LOG RECORD

              -VMACIMS creates the new IMS07D and IMS08D datasets from
               which the IMSDBCTL dataset is created by TYPEIMSD.
              -FORMAT $MGIMFPT adds ' '='BLANK:UNMATCHED', because the
               mismatched 08/07s can exist and now will be output and
               can be seen with that value if you print PROGTYPE.
                 However, if you want to tabulate PROGTYPE, because it
                 is a character variable, you must add the /MISSING
                 option to see the formatted value tabulated:
                 PROC FREQ DATA=IMSTRAN.IMS0708;TABLES PROGTYPE/MISSING;
              -Some code blocks for _IMSVERS LE 6.1 were removed.
              -Member TYPEIMSD is replaced by TYPEIMS7 and contains only
               comments.  The original TYPEIMSD had the IMS/DBCTL logic
               for the 07/08, but it did not handle IMS/TM transactions.
   Thanks to Ojnan Lindholm, Volvo, SWEDEN.

Change 28.309  The Raid Rank ID variables R745RRID and R748RRID are now
VMAC74         formatted with HEX4. as both RMF and HDS internals show
Dec 27, 2010   the hex value in printed reports.
   Thanks to Ron Hawkins, HDS, USA.

Change 28.308  Removal of duplicate SMF records (now, ANY non-VSAM z/OS
ANALDUPE       data file). See MXG Newsletter FIFTY-SEVEN, MXG TECH NOTE
UNDUPSMF       TWO for benchmarks of the four alternatives, and read the
Dec 23, 2010   ANALDUPE discussion of why MP's discovery that the SAS
               MD5 Hash Function is an elegant and efficient solution to
               remove duplicates from ANY z/OS file, not just SMF data.
               For comparison, see the timings in UNDUPSMF, the original
               de-dupe program.
   Thanks to MP Welch, Aprize, Inc, USA.

Change 28.307  A short LINUXKRNL'02'x20101 MONWRITE segment caused error
VMACVMXA       messages on the log of broken data, but MXG recovery was
Dec 23, 2010   successful.  The invalid segment had MRHDRLEN=140 with
               NRCPUS=2, so it had only 44 bytes for the two sets of 9
               4-byte per-CPU counters. The short record is detected and
               the second CPU observation is not output, but there are
               no MXG messages on the log; if/when a user notices the
               same problem we'll then pursue a problem report with IBM.
   Thanks to MP Welch, Aprize, Inc, USA.

Change 28.306  Change 28.277 corrected NETSNAME from QWHCTOKN when there
VMAC116        was no period in QWHCTOKN; that same correction is now
Dec 21, 2010   made in SMF 116 when there is no period in QWHCNID.
   Thanks to Nick Varvarigos, IBM Global Services, CANADA.

Change 28.305 -PDB.NJEPURGE did not contain all NJE-related SMF 26 Purge
BUILD005       records; MXG only output INREASON=JR or JT records into
VMAC26J2       that dataset, so INREASON=SR records were not output.
Dec 21, 2010   Now, all TYPE26J2 with SYSEXEC blank and any JES2 Offload
Jan  3, 2010   Purge Records are output in PDB.NJEPURGE.
              -All TYPE26J2 variables are now kept in PDB.NJEPURGE.
              -Variable INREASON='RD' is now set for purge records that
               have INDEVICE of INTRDR, STCIRDR and TSOINRDR; previously
               INREASON was blank.
              -Blank INREASON will now print the first three instances.
              -Jan 3:  BUILD005 revised; it had added all of the _NJE26
               variables to the PDB.JOBS dataset, wasting space, and the
               dataset SPIN26 had also kept RDRTM SUBSYS.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 28.304  SMF 89 subtype 1 with no usage segment had INPUT EXCEEDED
VMAC89         RECORD LENGTH error, because Change 28.282 added test for
Dec 20, 2010   new data in line 390, but the test was GE 195 but should
               have been GE 205.  Only one record with no usage occurred
               in 160,000+ records, but MXG now detects and output these
               records in TYPE89.  They can be identified because both
               PRODTCB and PRODSRB are missing values.  If a problem is
               opened with IBM and a response is received, this note
               will be updated.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.

Change 28.303  Printed output location was shifted to accommodate longer
ANAL119        host names and URLs, and to avoid print overlay of the
Dec 17, 2010   remote IP address on detail reports when reading IPHOSTS.
   Thanks to Dave Ireland, USDA National IT Center, USA.

Change 28.302  The BY list for dataset TYPE30MU was insufficient and it
VMAC30         removed some non-duplicated observations.  Adding vars
Dec 17, 2010   STEPNR STEPNAME PRODTCB PRODSRB SMFRECNR MULCEGNR to the
               BY list eliminates the false duplicate removal, and by
               adding after SMFTIME, they won't cause NOTSORTED errors.
               However, there ARE duplicate TYPE30MU segments from the
               same SMF record that are now kept only because MULCEGNR,
               (segment position in each record) are different.  You can
               examine these duplicated segments with this example:
                 %INCLUDE SOURCLIB(TYPE30);
                 PROC SORT DATA=TYPE30MU OUT=SORT30MU;
                  BY READTIME JOB JESNR INITTIME SUBTYPE
                     PRODOWNR PRODNAME PRODQUAL PRODID
                     SMFTIME  STEPNR   STEPNAME PRODTCB PRODSRB;
                 DATA DUPES;
                  SET SORT30MU;
                  BY READTIME JOB JESNR INITTIME SUBTYPE
                     PRODOWNR PRODNAME PRODQUAL PRODID
                     SMFTIME  STEPNR   STEPNAME PRODTCB PRODSRB;
                  IF FIRST.PRODSRB AND LAST.PRODSRB THEN DELETE;
                 PROC PRINT;
                 TITLE DUPLICATE SEGMENTS IN TYPE30MU;
   Thanks to Christa Neven, KBC Global Services, BELGIUM.

Change 28.301  WPS does not provide the %DATATYP %macro, added in 28.06
VMXGGETM       to detect non-numeric typed values for NRECORD argument
Dec 20, 2010   in %VMXGGETM call.  VMXGGETM is used only to create the
               SMFSMALL file or to count records/bytes in an SMF file.
               That change was only to replace an obscure failure with
               a successful run by forcing NRECORD to the OBS value.
               That enhancement is now bypassed when executed under WPS.
   Thanks to Matt Henson, McMaster-Carr Supply Co., USA.

Change 28.300  TYPETCP (SMF 118) Port Numbers (IN DECIMAL) were wrong if
VMACTCP        MXG was executed on ASCII because the input was PIB2. but
Dec 14, 2010   must be the &PIB.2. macro variable to resolve correctly.
               Having found this one exposure precipitated a search of
               all MXG members and these members also had to be fixed;
               fortunately, almost all of these members are ancient and
               no longer used so there was no impact except consistency:
               TTXPDS  XIBMFDP  XGTFANAL TYPSIMS1 TYPEIMS1 VMACZTPF
               VMACTPF VMACTMVS VMACSMSX TYPESRLI PRODTESW PRODTEST
               IDMSLOG IDMSLO57 IDMSJRLN ANALCM29 ANALCM27
   Thanks to Cristian Molero, MConsulting Bvba, BELGIUM

Change 28.299  Wrong values (neg PCTCPUBY +) in PDB.TYPE70EN for CPUID=0
VMAC7072       if SMF70PAT was non-zero in any engine, because SMF70PAT
Dec 14, 2010   was kept in both TYPE70EC and TYPE70EL, which are MERGEd
               to create PDB.TYPE70EL, but it only should have been kept
               in TYPE70EC.  Having the same named variables in datasets
               that are merged can have unintended consequences if they
               are not in the BY list for the merge.
               Fortunately, the PDB.TYPE70EN (one obs per engine) is not
               (yet) used to create the per-engine values in PDB.TYPE70.
               And, only software developers like Don are even likely to
               ever need the level of detail from RMF 70s in TYPE70EN.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 28.298 -EXITCICS decompresses SMF 100,101,102,110 & 112 records,
EXITCICS       The previously reported errors with SMF 112s and EXIT112
EXIT112        were not in the CICSIFUE exit code, but in VMAC112 due to
VMAC112        IBM's change of FOCVER='V560' backwards to FOCVER='V420'
Dec 18, 2010   (with NO change in the record itself), which caused MXG's
               tests for GE 'V560' to fail and misalign the decompressed
               record. With the exit, the ABEND was incorrectly blamed
               on the Exit, or, processing uncompressed records caused
               zero observations in the T112xxxx datasets.
               Member EXITCICS invokes the CSRCESRV function; this note
               here so a search for it will find this change text.
              -VMAC112 was revised for FOCVER='V420'.
              -The EXIT112 member is now only comments to use EXITCICS.
              -EXITCICS added DB2 100,101,102s support in MXG 28.06.
   Thanks to Dick Arnold, Commerce Bank of Kansas City, USA
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA

====== Changes thru 28.297 were in MXG 28.08 dated Dec 13, 2010=========

Change 28.297  WANTONLY=DB2ACCT, now works; it worked fine if there was
READDB2        a blank before the comma. Now in QA TESTREAL. Found this
TESTREAL       when I tried to use it in ANALDBUT, so Tom gets 2nd cite!
Dec 12, 2010
   Thanks to Tom Glaser, MasterCard, USA.

Change 28.296  Analysis of DB2 DSNUTIL executions, by combining DB2ACCT
ANALDBUT       observations with QWHSPLAN='DSNUTIL' with DB2 Trace data
Dec 12, 2010   IFCIDs 23,24,25 to add UTILNAME, UTILPHAS, and UTILID
               variables to the DB2ACCT observation for each DSNUTIL
               execution.  The output WORK.DSNUTIL dataset is created.
   Thanks to Tom Glaser, MasterCard, USA.

Change 28.295  Analysis of WHO deleted your DB2 data, combining TYPE6156
ANALWHO        and DB2ACCT. If you have the DDL Audit Trace its easy:
Dec 10, 2010   %ANALDB2R(PMACC01=NO,PMACC02=NO,
                         PMSTA02=NO,PMAUD02=YES,AUDIT=DDL);
               and this program would not be needed.
               However, ANALWHO selects the z/OS Dataset name from
               the TYPE6156 datasets, from which you can find the time
               when the z/OS dataset was deleted, but those records will
               have only the job name of the DB2 DBM1 address space.
               By adding DB2ACCT you can narrow in on who did it to the
               DB2 table in that time period, with QXDRPDB or QXDRPTA or
               QXDRPIC GT 0.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.294  Variables CPUZIETM and CPUIFETM added to summarization
ASUMSMFI       of PDB.SMFINTRV to create PDB.ASUMSMFI.
Dec 10, 2010
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.293 -Support for OPENSSH SMF 119 subtypes 96-98 creates new
VMAC119         dataset   ddddd    description
VMACSMF         TYP11996  T11996   OpenSSH Server Transfer Complete
Dec  9, 2010    TYP11997  T11997   OpenSSH Client Transfer Complete
                TYP11998  T11998   OpenSSH Login Failure
              -Technically, these new subtypes are INVALID SMF records
               because BIT 1 in SMFxFLG, which is the IBM indicator that
               the record contains subtypes, is not ON, causing VMACSMF
               to see these as SUBTYPE=0.  Now, VMACSMF forces the input
               of SUBTYPE for ALL SMF ID=119 records.
   Thanks to John McKown, Health Markets, USA.

Change 28.292  New MODATE option PROC PRINTs the found datasets in order
VMXGSRCH       of the Modify date, so the search results are printed in
Dec  8, 2010   the same order they appear on the SAS log.  The MODATE=NO
               default prints the datasets alphabetically, as before.
               MODATE=YES was used to debug the multi-step TYPETMS5 code
               by selecting a VOLSER to follow, especially since the
               variable name that contains "volser" is different in
               different temporary WORK datasets.
               Additional parameters were also added to allow you to
               limit which datasets and which variables to be searched
               and printed, if you don't want to see all of them.
               New parameters:
                MODATE=NO   Change to YES to sort on modify datetime
                DATASET=    A list of full or partial datasets to be
                            searched for the string
                VARS=       A list of full or partial variable names
                            to be searched/printed

Change 28.291 -Cosmetic. SUBTYPE for DB2 ID=102 can be greater than 255,
VMACSMF        but previously they were set to missing value so UTILGETM
Dec  8, 2010   did not report them.  For actual ID=102 processing, MXG
               uses the IFCID value so this had no real impact.
              -Cosmetic. Back-to-back ID=2 did not print the LAST RECORD
               IN GROUP message.  SMFHDRCN now keeps track.
              -Reminder for reading only part of an SMF file:
               While using OPTIONS FIRSTOBS=100 OBS=500; can sometimes
               used, to read only those input records, if there is any
               post-processing (deaccumulate, sort, etc.) it won't work!
               Instead, use %LET SMFEXIT= FIRSTOBS=100 OBS=500; which
               will used those on the INFILE and thus only impact which
               records are read, not touching the global options.

Change 28.290  New DB2 analysis adds JESNR and READTIME to DB2ACCT by
ANALDBJS       reading PDB.JOBS and PDB.JESNR and sequencing DB2ACCT
Dec  8, 2010   by JOB and SMFTIME to propagate those variables.
   Thanks to Jane Stock, USPS, USA.

Change 28.289  Variables GATLIMIT and GATCNT are now KEPT in TYPE6156 so
VMAC6156       that changes in GDG limits can be observed.
Dec  8, 2010
   Thanks to Jorge Fong, NYC Information Technology, USA.

Change 28.288  Cosmetic.  If no observations are found with the searched
VMXGSRCH       values, now, a note that no observations were found is
Dec  7, 2010   printed on the log.

Change 28.287  Support for ASG-TMON for VTAM subtype 'SX' creates new
ANALTMVT       TMVTSX dataset with the "Session Extended Information".
EXTMVTSX       New member ANALTMVT replicates for ASG-TMON VTAM reports.
IMACTMVT
VMACTMVT
VMXGINIT
Dec  6, 2010

Change 28.286  Variables QAINTS and QAINTE, interval start/end datetimes
VMACTMMQ       should have been kept in TMMQQAA dataset, and now are.
Dec  6, 2010
   Thanks to Homayoun Riazi, United Health Group, USA.

Change 28.285  CICS STID=143 sub-subtype printed message that six bytes
VMAC110        of new data was skipped, but there was no new data;  MXG
Dec  3, 2010   incorrectly input ECCEVCAP as only 4 bytes, when it is 8,
               so ECCEVCAP/ECCCAPFA/ECCEMIFA in CICECC Statistics Data
               set were wrong, and the subtract of 146 is now 152 after
               that correction.
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 28.284 -VMXGUOW was enhanced to detect that all input tokens
ASUMUOWT       (_LCICTRN _LMONTSK _LDB2ACC) do not exist, or it will
VMXGUOW        construct the macros based on the presence or absence
VGETENG        of the corresponding &P****** macro.  If for example
Dec  3, 2010   &PCICTRN is empty or the DDNAME is not found, the
               _LCICTRN macro is set to CICSTRAN.  If it is found,
               the macro is set to &PCICTRN..CICSTRAN.  If neither
               CICSTRAN nor MONITASK exist, a warning is printed,
               but the output ASUMUOW dataset is created with OBS=0.
              -ASUMUOWT (for TMON instead of CICSTRAN input) will now
               call VMXGUOW, so there is only one macro to maintain;
               this obsoletes VMXGUOWT as no longer required.
              -VGETENG NOEXIMSG=YES added as a default. NOEXIMSG=NO
               suppresses the MXGNOTE on the log as it does in the
               other %VGET macros.
   Thanks to Ken Goodis, Emblem Health, USA.

Change 28.283  Many RACF segments have a variable containing CLASS*NAME
VMAC80A        for that specific RACFTYPE/SMF80DTP, but some had only
Dec  2, 2010   "CLASS*NAME" for their label value.  Now, the RACFTYPE
               value is included to make the LABEL value unique.
   Thanks to John Matson, EPSON, USA.

Change 28.282 -Support for APAR OA31615 which adds zIIP & zAAP CPU TIME
EXTY89I        to dataset TYPE89, and which adds new Intersect Data that
IMAC89         creates new TYPE89I dataset for Measured Usage reporting.
VMAC89        -Variable SMF89SYN is added to each of the BY lists as the
VMXGINIT       last variable; if you have duplicate SYSTEM names in your
Dec  2, 2010   SYSPLEX, then SMF89SYN will be different than SYSTEM.

Change 28.281  PDB.ASUMCICR dataset contains the count/average response
ASUMCICR       time by DATE for each REGION/APPLID, and can be created
Dec  1, 2010   from transaction detail MONITASK or CICSTRAN or ASUMUOW
               datasets, or the summary PDB.CICS dataset (built by
               ASUMCICS/ASUMCICX), or, if the input is WEEK.ASUMCICR or
               if INDATA= MON.ASUMCICR ... SUN.ASUMCICR, the prior sums
               will be re-summed to include partial days for each DATE.
               And, if NODATE=YES, is specified, whatever input is in
               the INDATA= argument will be summarized only by APPLID,
               (in case your manager thinks a weekly average of all of
               the week's transactions in a region is a useful metric!).
               The PDB.ASUMCICR dataset also summarizes TASCPUTM.
                 Note: These values may be of little use, if your site
                 uses Multi-Region-Option MRO and you read transaction
                 detail datasets (MONITASK/CICSTRAN), where the counts
                 will be inflated and false, since each one of the
                 multiple observations of an MRO transaction (one TOR,
                 one-to-many AOR, one-to-many DOR/FOR obs) will each be
                 counted as a separate "transaction", which they aren't!
                 On the other hand, if there are very few MRO trans, and
                 your APPLIDs are stable, these counts/averages might be
                 useful for tracking quantity and response.
   Thanks to Ken Goodis, Emblem Health, USA.

Change 28.280  The XCF Path report added the TRANSFER TIME column, and
ANALRMFR       some BY lists with repeats of SYSNAME were corrected.
Nov 30, 2010
   Thanks to Bruce Hewson, Citibank N.A., SINGAPORE.

Change 28.279  ASUM113 used SMFTIME to define each interval, but SMFTIME
VMAC113        can have multiple values in the records for an interval;
Nov 29, 2010   it can take a second to write all of the records for one
               interval.  If SMFTIME had different .01 second values,
               ASUM113 incorrectly created "near duplicate" observations
               with wrong values.  As no "start of interval" flag exists
               in SMF 113 records, this revision uses the time value in
               the SM113CPU=0 and SM113CST=1 and SM113CPT=0 observation
               to populate SM113STM, the Interval Start Time, for each
               interval.  An additional error when the GMT OFFSET was
               was positive that could cause a one-second error in the
               converted timestamps was corrected.
   Thanks to Adnan Can, Garanti Teknoloji, TURKEY.

Change 28.278  Cosmetic.  Variable CPGRPJOI is FORMATed DATETIME21.2.
VMACRMFV
Nov 28, 2010
   Thanks to Matthew Chappell, Dept. of Transport Main Roads, AUSTRALIA

Change 28.277  Variables NETSNAME and UOWTIME are created in DB2ACCT so
VMACDB2H       that DB2 observations with QWHCATYP=4, i.e., CICS, can be
Nov 25, 2010   merged with CICSTRAN to create PDB.ASUMUOW.  Those vars
Nov 29, 2010   are now populated ONLY for DB2ACCT observations from CICS
               (i.e. QWHCATYP=4).  Changes to NETSNAME creation in DB2
               in MXG 28.05 caused non-CICS DB2ACCT obs to have changed
               values in last 4 characters that caused no harm except
               to show up as differences in PROC COMPARE, but as there
               is no value in creating NETSNAME for these observations,
               to avoid confusion, they are no longer populated.
              -However, some values of NETSNAME were not correctly
               created, if the last four characters happened to contain
               a period in those hex values.  The logic was revised to
               only scan the first 16 bytes of QWHCTOKN for the period.
              -Also, if there WAS a period in the first 16 bytes, then
               the resultant NETSNAME value was non-blank in the last
               four bytes; now it is populated with only the first 16
               bytes of QWHCTOKN in that instance.
              -These MXG errors could cause PDB.ASUMUOW to have fewer
               observations than it should.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Matthew Chappell, Queensland Dept of Transport, AUSTRALIA.

Change 28.276  ASUMHSM enhanced with optional macro to select HSM data
ANALHSM        to be summarized, and ANALHSM also enhanced to support
ASUMHSM        selection with BEGTIME/ENDTIME.
Nov 18, 2010
Dec 11, 2010
   Thanks to Doug Medland, IBM Global Services, USA.

Change 28.275 -Support for NMON FCREAD/FCWRITE/XFERIN/XFEROUT records
EXNMONFC       creates new dataset PDB.NMONFC for the Fibre Channel data
VMACNMON       for AIX and Linux.
VMXGINIT      -Support for NMON DISKXRFER (disk transfer reads per sec)
Nov 17, 2010   creates new variable DISKXRFR in PDB.NMONDISK.
Dec  2, 2010  -Support for DISKBUSY/READ/WRITE/XFER/BSIZE/SERV/WAIT with
Dec  9, 2010   suffixes thru 21.
              -Invalid UARG record with only four fields and the fourth
               containing text of  PPID COMMAND THCNT USER GROUP COMMAND
               is detected and printed on the log and deleted.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 28.274  NMON variables COMMMAND and FULLCOMD lengths increased to
VMACNMON       512 bytes to capture the full text of commands, and the
Nov 17, 2010   elements of the WORDS array are also increased to $512.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 28.273  MXG support for CA NSM/TNG only output 4-digit values in
VMACTNG        the generated %LET statements with number of Instances,
Nov 13, 2010   creating %LET xxxxxx=12E3; which is not valid syntax for
               the macro language.  The %LET counters now put 6 digits.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 28.272  SMF fields SMF70HOF/SMF89HOF/SMF89DTO for SCRT are NOT
VMAC7072       documented that the last 3 nybbles of those 8-byte TOD
VMAC89         Clock fields can be non-zero but are NOT used by SCRT.
Nov 13, 2010   MXG input those fields, which caused fractional seconds
               that did not exactly match SCRT reports.  Now knowing the
               idiosyncrasy of these fields, MXG now zeros those last
               three nybbles prior to their input to match SCRT.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
   Thanks to Charles E. Hackett, SCRT-IBM, USA.

Change 28.271  Site tailoring created temporary variable named COUNTER
VMAC113        in CICS exit years ago, but when they added SMF 113 to
Nov 11, 2010   their daily BUILDPDB, it died because that name was used
               as an ARRAY name in VMAC113, an unacceptable use.
               While the site easily renamed their temporary variable to
               avoid the conflict, I changed COUNTER to CNTR113.

Change 28.270  Documentation.  The successful JCLTEST9 execution prints
JCLTEST9       UNINITIALIZED variable messages in two places.  There are
Nov 11, 2010   335, mostly with variable names AD0nnxxx immediately
               prior to NOTE: Dataset WORK.SV01EV01 has 0 observations.
               There are 120 more with various names before the
               NOTE: Dataset WORK.AIXPTXIN has 0 observations.
   Thanks to Andrew Woods, Interactive Data, ENGLAND.

Change 28.269  TYPE72DL NOT SORTED error after setting the Clock Back
WEEKBL3        for DST, combining daily PDBs all created by the same MXG
WEEKBL3D       Version!  Discovered GMTOFF72 was in BY list in VMAC7072
WEEKBLDD       for TYPE72DL/TYPE72GO/TYPE72MN/TYPE72SC datasets, but not
WEEKBLDT       in the WEEKBLDs.  Have now added GMTOFF72 after STARTIME
WEEKBLD        in all WEEKBLDs.
Nov  8, 2010   Jan 16,2011: Now, see Change 28.324.

Change 28.268  Utility program identifies all non-printable characters
UTILNPRT       in the formatted value of all character variables in all
Nov  8, 2010   SAS datasets in a SAS data library.  SAS Enterprise Guide
               before 4.22 failed on non-printable DB2 data, so this was
               written to examine what variables could cause problems.
                  Most variables that contain hex data in characters
                  are formatted with $HEX precisely to eliminate the
                  non-printables, or $EBCDIC field's '00'x are changed
                  by MXG to blanks.  But some variables have mixtures of
                  EBCDIC and HEX; while these could be formatted $HEX,
                  sometimes that EBCDIC text is useful in PROC PRINTs,
                  and it would be lost in hex characters with $HEX, so
                  I leave the variable unformatted, leading to this kind
                  of exposure, hence the utility.
               If you have a problem, just add a FORMAT vvvvvvvv $HEXnn.
               statement in the EXdddddd exit for the dataset, where nn
               is twice the length of the character variable.
   Thanks to Stephen Hughes, Excellus, USA.

Change 28.267  Optional argument NOEXIMSG=YES added so that messages
VGETENG        could be suppressed when not wanted, used internally by
Nov  5, 2010   other MXG programs that use VGETENG.

Change 28.266  MXG's IEBUPDTE-for-ASCII SAS program to create a source
IEBUPDTE       directory of files from an IEBUPDTE-format input file now
Nov  4, 2010   looks for either './ ' or '.XY' in columns 1-3 to flag a
               new "member", so the PRODTEST member can be read directly
               without EDITing those '.XY' into the './ ' that is needed
               by the z/OS PGM=IEBUPDTE.
                 The MXG source library has to have '.XY' inside these
                 members that contain a PDS in IEBUPDTE-format, because
                 there might still be someone actually using
                 PGM=IEBUPDTE on z/OS to create their MXG.SOURCLIB PDS,
                 if they chose to download the (ARCHAIC) ebcvvnn.ebc
                 EBCDIC MXG install file to z/OS, as those './ ' would
                 create unwanted new PDS members on z/OS.
               On z/OS the tervvnn.ter tersed-PDS MXG Install File
               should be downloaded instead.

              -The SHAREBUFFERS options caused no harm but no value as
               it's for performance when writing in-place, so it was
               removed.
              -The INFILE option TERMSTR=CRLF is now in comments, as it
               doesn't exist in SAS V9.1.3 nor WPS, and it is only
               needed if this IEBUPDTE program is executed on unix to
               read a windows-created CRLF-terminated text file.
               On unix, TERMSTR=LF is the default text line terminator.
   Thanks to MP Welch, Aprize, Inc, USA.

====== Changes thru 28.265 were in MXG 28.07 dated Nov  5, 2010=========

Change 28.265  ASUMCACH failed INVALID ARGUMENT TO FUNCTION INPUT with
ASUMCACH       DEVMODEL='3380K' (i.e., with alpha character) when the
Nov  4, 2010   new statement MODEL=INPUT(DEVMODEL,HEX8.) was executed.
               Now, that statement is protected if DEVMODEL is not a hex
               value (e.g., MODEL=3380x for DEVMODEL='3380K'.
   Thanks to Tom Heller, CINCOM, USA.

Change 28.264  Support for DB2 Version 10. COMPLETELY INCOMPATIBLE:
EXDB2ACR       MXG 28.06 was required to process the V10 data, but now,
EXDB2ACW       MXG 28.07 has full support plus the below documentation.
FORMATS
IMACDB2       -DB2 V10 Records can be compressed.  Member EXITCICS is
VMACDB2        updated to decompress SMF 110-1 and SMF 100,101,102s.
VMACDB2H
VMACSMF       -INVALID DATA FOR QWHSRELN is proof you have DB2 V10 SMF;
VMXGINIT       QWHSRELN is not a valid "PK" value; it now has 'A1'x, so
VMXGWORL       VMACDB2H was revised.  The value is 10.1, not 10.0.
Jun 16, 2010  -And INPUT STATEMENT EXCEEDS RECORD error ABENDs may occur
Jun 19, 2010   because fields were inserted rather than added at the end
Jun 21, 2010   where MXG would have automatically skipped them.
Nov  4, 2010
              -Subtype in SMF Header INCOMPATIBLY increased from one to
               two bytes (because that's what it should have been all
               along.  However, only SMF 100 and 101 records populate
               the subtype in the SMF Header. VMACSMF was updated to get
               the DB2 version and then input the subtype correctly.
               (MXG has always stored the IFCID value in SUBTYPE for the
               DB2 102 trace records, since they don't have a subtype.)
              -New DB2ACCGW dataset is created for each QWAR segment,
               which can be used to correlate rollup records.
              -Multiple SMF 100 Subtype 1 (DB2STAT1) IFCID=2 records are
               now supported.  These records contain only QBST or QBGL
               segments and are written when more than 25 buffer pools
               are used in an interval.
              -Macro _SDB2STS was redesigned to correct DUPLICATE MERGE
               VALUES errors that occurred only if DB2 was restarted, by
               removing QWHSACE QWHSMTN from the _BDB2STS "BY list", by
               interleaving the four input datasets to create STATSGROUP
               to use as merge variable (QWHSSTCK cannot be used as it
               not exact in all four records for each interval), and by
               conditionally merging T102S225 (DB2 V8) if it exists.
               The _SDB2STY macro is now a null macro and no longer
               used.  The new sort order for the PDB.DB2STATS dataset is
               now SYSTEM QWHSSSID QWHSSTCK.  A cosmetic enhancement to
               VMXGWORL, NOWARN=YES, is used to suppress the MXGNOTEs
               when a tested dataset is known to not always exist (used
               for T102S225 in this change).
              -Many new variables added to DB2ACCTx/DB2STATx by V10:
               DB2ACCT:
                QLACRLNU QWACPCTT
                QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
               DB2ACCTP:
                QPACAWLH QPACANLH QPACRLNU
                QWACPQRY QWACAWLH QWACARLH
               DB2ACCTB:
                QWACPCTT QWACPQRY QWACAWLH QWACARLH
               DB2ACCTP:
                QPACAWLH QPACANLH QPACRLNU
                QWACPCTT QWACPQRY QWACAWLH QWACARLH
               DB2ACCTG:
                QWACPCTT QWACPQRY QWACAWLH QWACARLH
               DB2STAT0:
                Q9STCDMD QDSTNQWC QDSTNARD QDSTMARD
                D64POST  A64POST  A64WAIT  M64DISNU M64DISPG SGETR64
                SGETEXT6 SGETDEXT SFREER64 SFREEDEX DISCARDM
                QWS1MCPU QWS2MCPU QWS3MCPU QWS4MCPU
                QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
               DB2STAT1:
                QISEKSPG QISEKSPA QISEKLRU QISEDLRU QISESQCB QISESQKB
                QISESQCA QISESQKA
                QISTRCCI QISTRCCD QISTRCCU QISTWMXA QISTWMXU QISTWCTO
                QISTW4K QISTW32K
                QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
               DB2STATB:
                QBSTFLG
               DB2GBPST:
                QBSTFLG
              -SMF 102 IFCIDs 172 and 196 were compatibly updated.
              -SMF 102 IFCIDs 267, 268, 317, and 337 are now decoded.
               New formats are created by the updated FORMATS member.
              -These other IFCIDs in user-sent SMF files are presumably
               the trace records that are normally written or needed.
               They have been examined and none were change in V10:
               4,5,55,87,105,140,141,173,196,199,250,254,258,261,262
              -See the text of Change 28.146, which made changes to DB2
               processing that were independent of the Beta.
   Thanks to IBM DB2 V10 Beta for both EARLY DATA AND DOCUMENTATION!!

Change 28.263  Support for IBM/OMEGAMON XW MQ flat file (INCOMPAT) adds
VMACOMMQ       new formats for UTF-8 data, and MXG only tested for up to
Nov  2, 2010   20 datasets, but there can be 26 in total.
   Thanks to Michael Reffler, Credit-Suisse, USA

Change 28.262  Support for CA MIM RESOURCE SHARING R11.7 (COMPAT) adds
VMACMIM        new variables to several datasets, and many variables
Nov  2, 2010   are now correctly input and formatted, especially times
               in MIMCF dataset. Subtypes 0/1/2/4/5/7/8/9/256 and 256
               have been tested.
   Thanks to Tony Curry, BMC, USA.

Change 28.261  SAS/GRAPH example that uses PDB.ASUMCELP (LPAR-CEC level)
GRAFCEC        (built by ASUM70PR) to create charts of CEC Utilization
Nov  1, 2010   for each of the engine types (CP,IFA,ZIP,IFL).

Change 28.260  IP address (45 character text) and IP Port Number were in
VMACTPX        TPX Version 4.0 but were overlooked; now they are input
Oct 29, 2010   in 05/06/07/08 subtypes, when possible:
              -Invalid subtype 7 records, LENGTH=101, LRECL=104, with
               LEN07=93 in bytes 58-59 of the data portion indicating
               the record should contain IP Address and Port, but the
               record has only 44 bytes remaining in the record, i.e.
               the IP Address/Port field are not present.
              -Subtype 8 record with a IP Port field that is not a valid
               EBCDIC numeric (>?01) with an IP Address with manually
               typed all text characters (ABCDEFGHI...) caused hex dump
               and error message, now both suppressed with ?? modifier.
              -These records were supposedly created by TPX 5.3, but the
               Version value in the records is 4.0.
   Thanks to Dennis Longnecker, State of Washington Courts, USA.

Change 28.259  Pairs of spurious "WRONG LENGTH OF 200 FOR CMRDATA" log
UTILEXCL       messages were printed by _BLDEXCL because only the first
Oct 29, 2010   to the three repeated (for emphasis) PUT statements was
               conditional; the 2nd-3rd PUTs always printed a pair of
               this warning message.  Only if there are THREE adjacent
               warning messages (then and now) does the warning apply.
               The three PUTs are now inside a conditional DO-Group.
   Thanks to Mrs. Brigitte Wallbaum, FINANZ INFORMATIK GMBH, GERMANY.
   Thanks to Mr. Dieter Haak of FINANZ INFORMATIK GMBH, GERMANY.

Change 28.258 -Support for WebSphere ID=120 SUBTYPE=20 records has now
VMAC120        been validated (and rewritten) with actual data records.
VMACSMF       -ID=120 SUBTYPE=20 records are INVALID because they do NOT
Nov  1, 2010   set the "RECORD CONTAINS SUBTYPES" bit in Byte One of the
               SMF header (all other 120 subtypes DO set that bit), so
               VMACSMF had a missing value for SUBTYPE for ID=120-20s.
               Now, VMACSMF always reads the 2-byte subtype for 120s,
               whether or not the bit is enabled.
              -Dataset TY12020 is now populated, and the Start and Last
               Datetimes are converted from GMT to Local Time Zone.
              -There is an undocumented duration field SM120XZ at the
               end of the subtype 20 record, following SM120XP; its has
               a value about a third of the CPU duration in SM120XP.
              -The offset values in the documentation are bogus; they
               implied the character variables were fixed length, but in
               fact, the data shows the fields are only as long as the
               value in their preceding length field
              -There are pairs of duplicate Subtype 20 records with all
               fields except SMFTIME identical. They are not adjacent,
               with 8 subtype 9 records and 3.34 seconds between them.
              -Variable SM120SMF is the delay from XL Last Referenced
               datetime to SMFTIME, and is as much as 10 seconds, which
               is a VERY significant and unexplained delay.
                  The problem with a big delta is that SMFTIME must be
                  compared with XL to calculate the GMT Offset, because
                  there is no GMT Offset value in WebSphere SMF 120s.
   Thanks to Paul Gordon, Bank of America, USA.

Change 28.257  ERROR: VARIABLE IDANDSUB ... with BUILDPDB will occur if
ANALID         you reuse the same DSNAME with DISP=OLD for your //PDB,
Oct 28, 2010   and your old PDB library was created before MXG 27.27,
               and there is a dataset PDB.ID in your old PDB library.
               You need to delete that old PDB.ID dataset, e.g.:
                 // EXEC MXGSASV9
                 //PDB DD DSN=YOUR.PDB,DISP=OLD
                 //SYSIN DD *
                  PROC DELETE DATA=PDB.ID;RUN;
               Prior to MXG 27.01, BUILDPDB created the PDB.ID dataset
               to count SMF records, but Change 27.005 instead created
               the new PDB.SMFRECNT (smaller but more information), and
               left the ID dataset (which now had new variables) in the
               WORK file by default. But Change 28.148 created ANALID
               member to externalize the creation of PDB.SMFRECNT, which
               uses %VMXGWORL to locate the ID dataset, since you could
               could have tailored MXG to still keep the new ID dataset
               in your PDB library.  Unfortunately, if the old PDB.ID
               dataset exists, the above error occurs.
              -Initially, I said:
                  While it would be possible to detect and delete the
                  old PDB.ID dataset, that would require you to install
                  at one new MXG code member, so the simple delete above
                  is far simpler and safer.  That the error has only
                  occurred once suggests that most MXG sites create a
                  new DSNAME (GDG or date-in-name) for each daily PDB
                  library (required for some job sked pkgs), or that
                  sites that do use DISP=OLD on their //PDB also use
                  PROC DELETE DATA=PDB._ALL_; before each BUILDPDB.
              -However, this Change looks first for WORK.ID and variable
               IDANDSUB or second for PDB.ID with that variable to build
               PDB.SMFRECNT; otherwise a zero obs PDB.SMFRECNT is built.

               P.S. Change 28.148 for ANALID/BUILD001/BUIL3001 was never
               written up in CHANGES; a separate change got that number.
   Thanks to Alan Gray, CareFirst, USA.

Change 28.256  You should not use a variable named "DATETIME" in MXG
ASUMDB2A       reports, because there is always a named variable, like
ASUMDB2B       QWACBSC, that is self-documenting and code-clarifying.
ASUMDB2G       Variable DATETIME was intended to be a temporary token
ASUMDB2P       and shouldn't have been kept, but where it slipped thru
Oct 27, 2010   and ended up being kept in MXG-built datasets, it now has
               to be kept and populated.  The quick fix, added in
               MXG 28.06, to insert a "compiler faker" to suppress an
               uninit warning, caused DATETIME to be a missing value.
               The first three member's faker was replaced by code to
               create/populate DATETIME, and the faker was removed from
               ASUMDB2P where it was never kept.
               Feb 4: Cosmetic. Variable DATETIME is now length 8.
   Thanks to Jim Kovarik, AEGON USA, USA.

Change 28.255  Variable SMF30DAS='EXCP*SEGMENTS*THAT WERE*SUPPRESSED'
VMAC30         was INPUT but not kept.  EXCP segments can be suppressed
Oct 27, 2010   with EMPTYEXCPSEC(SUPPRESS) option in SYS1.PARMLIB, or
               by DB2 V10 APAR PM17542 which enables S99DASUP.

Change 28.254  The protection for OFF42S3 NE 108 added in Change 28.093
VMAC42         was no protection as it caused misalignment and is now
Oct 26, 2010   removed.  With that protection removed, reading the old
               data, I now detect, legitimately, an invalid S4 record
               with 21 segments totaling 27888 starting at 4053 for an
               expected 31944 bytes but the record LENGTH is only 31832.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 28.253  Variables R85STOUT, R85OLRD and R85NLRD are created in
VMAC85         TYPE85AC dataset.
Oct 26, 2010
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.
   Thanks to Jens Mohring, Huk-Coburg, GERMANY.

Change 28.252  Missing semicolon after PROC DATASETS caused Accounting
ANALDB2R       reports fields AUTHID DB2 CONNID CORRED to not be
Oct 26, 2010   correctly translated and propagated, and caused attempt
               to delete dataset named RUN;
               ACCTSORT option added.

Change 28.251 -Assembly of MXG 28.06 EXITCICS fails with this message:
EXITCICS        346 *    DC  XL2'0000'  For Debug purposes           RHA
Oct 26, 2010             JZ  OPENX      no...
                 ** ASMA144E Begin-to-continue columns not blank - JZ
               because I had accidentally moved that RHA text in source
               line 361 in EXITCICS into column 72, making the statement
               a continuation.
               code and the decompression exit, when storing into the
               MXG Source Library.
              -SYSLIB DD needed a third concatenation for the site's
               CICS Macro Library.
   Thanks to Ken Goodis, Emblem Health, USA.

Change 28.250 -COPYONLY= logic was still dysfunctional. Change 28.211
READDB2        did not proper locate the selection by IFCID, and now the
Oct 26, 2010   SUBTYPE, decoded by VMACSMF, is used for COPYONLY.
              -NOTE: VARIABLE QWHCCCN UNINITIALIZED because it should
               have been spelled QWHCCN.  If CONNID=xxxxxxx selection
               was requested in ANALDB2R, this error caused zero obs
               to be selected.
              -Option UNIQUE will write each DB2 dataset to its unique
               DDNAME (e.g., DB2ACCTP to DB2ACCTP.DB2ACCTP) for all of
               the datasets that would likely be kept.
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 28.249  VMXGSUM is enhanced with MODE= and MEDIAN= added so those
VMXGSUM        statistics can be created.  The complete list of all of
OCT 20, 2010   the statistics that VMXGSUM can be created:
                 MEAN      MEAN (AVG)           P1        PERCENTILE 1%
                 MIN       MINIMUM              P5        PERCENTILE 5%
                 MINLONG   MINIMUM 8 BYTE       P10       PERCENTILE 10%
                 MAX       MAXIMUM              P25       PERCENTILE 25%
                 MAXLONG   MAXIMUM 8 BYTE       P50       PERCENTILE 50%
                 SUM       SUM     4 BYTES      P75       PERCENTILE 75%
                 SUMLONG   SUM     8 BYTES      P90       PERCENTILE 90%
                 FREQ      NUMBER OBS           P95       PERCENTILE 95%
                 STD       STANDARD DEVIATION   P99       PERCENTILE 99%
                 VAR       variance             T         Students T
                 CV        coeff of Variation   STDERR    Standard Error
                 MEDIAN    median               KURTOSIS  Kurtosis
                 MODE=     mode
               With AUTONAME=YES the variables will be named
                 variable-name_statistic-name e.g.,  XXXXXXXX_SUM
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.247A The DOCMXG example using _Kdddddd to create a new dataset
VMAC110        is revised so it works, and its exceptions documented:
Oct 20, 2010   1. The %QUOTE(text) function is needed around text that
                  contains semicolons (which would otherwise end the
                  %LET statement).
               2. But %QUOTE(text) cannot be used if a close paren is in
                  the text.
               3. So the macros with no semicolons are first, followed
                  by those that contain semicolons in the %QUOTE(text).
               4. When redefining MACRO _Edddddd you can use syntax of
                   a. %%%INCLUDE of the EXdddddd member, and whatever
                      logic is in that Exit member will then determine
                      which obs are output.  I can't explain why THREE
                      percent signs are required here, but they are.
                   b. OUTPUT ddname.dataset syntax to output all obs
                      to both datasets, or you can use the IF condition
                      DO group to select which obs to output.
                   c. NEVER use a DELETE; statement in _Edddddd exits.
                      Always use a positive IF condition THEN DO; group.
                      The DELETE statement terminates reading of the SMF
                      record, which would prevent the reading of any of
                      the additional repeated segments.
               5. You can also specify COMPRESS=NO in the _Kdddddd to
                  override the MXG COMPRESS=YES default, by putting
                  COMPRESS=NO before the close paren for that dataset.
               6. The example uses _N110 to null all of the 110 datasets
                  so that ONLY the datasets "reinstated" by defining
                  their _Wdddddd macro will be created.

                 %LET MACKEEP=
                    _N110
                    MACRO _KCICTRN COMPRESS=NO)
                         &PDB..NEWDS (KEEP=ABCODE   APPLID   ENDTIME
                                           FCTOTCN  PROGRAM  SYSTEM
                                           STRTTIME TASCPUTM TDTOTCN
                                           TRANNAME TSTOTCN
                    %
                    MACRO _WCICTRN CICSTRAN.CICSTRAN %
                    %QUOTE(
                      MACRO _ECICTRN
                        %%%INCLUDE SOURCLIB(EXCICTRN);
                        IF CONDITION THEN DO;
                          OUTPUT &PDB..NEWDS;
                        END;
                      %
                     );
                     %INCLUDE SOURCLIB(TYPE110);
              -The _N110 macro in VMAC110 was updated in this change to
               also null the CICSBAD dataset, which had been overlooked.
   Thanks to Brian A. Harvey, HCL America, USA.

Change 28.247  GRAPHICS=NO/YES added as an option. If you do not have
ANALCAPD       SAS/GRAPH it will automatically be set to NO, but if we
OCT 19, 2010   detect SAS/GRAPH but you only want a printer plot, you
Oct 26, 2010   can specify GRAPHICS=NO.  For readable non-graphics plots
               the values being generated by the PROC FORMAT for TYPE
               now use the first character.
              -Oct 26: Uninitialized LQxLAC, LQxMSU & LQxMSU70 variables
               were harmless variables that didn't exist in ASUMCEC.
   Thanks to Michael Marcus, ATOS Origin, USA.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 28.246 -ITRM Validation of MXG 28.06 for their next dictionary
VMAC30         precipitated these discoveries and corrections:
VMAC7072      -VMAC30: New Initiator CPU time at INIT and TERM variables
VMACDB2                  CPITCTTM CPITCITM CPISRTTM CPISRITM
VMACIMSA       were wrong in 28.06; they were INFORMATed and FORMATed
VMACNTSM       incorrectly with PIB4.6 instead of PIB4.2 and TIME12.2.
Oct 22, 2010   The wrong FORMAT caused their values to print as trash,
ASUMMIPS       the wrong INFORMAT caused their value to be wrong, too
Oct 28, 2010   small by a factor of 10**4.
Nov 14, 2010   These four new CPI CPU times are important and discussed
               in Change 28.175.
              -VMAC7072: Counter NBKDUPE should not have been kept in
               dataset TYPE70EN, and now isn't.
               And all of these variables for Engines 64-95 should never
               have been kept in PDB.TYPE70 and are now DROPped:
                   CAIVA   -CAIVI    CAIYD   -CAIYZ
                   CPUEDTVA CPUEDTVI CPUEDTYD-CPUEDTYZ
                   CPUPATVA-CPUPATVI CPUPATYD-CPUPATYZ
                   CPUPDTVA-CPUPDTVI CPUPDTYD-CPUPDTYZ
                   CPUWAIVA-CPUWAIVI CPUWAIYD-CPUWAIYZ
                   IFATYPVA-IFATYPVI IFATYPYD-IFATYPYZ
                   IFAWAIVA-IFAWAIVI IFAWAIYD-IFAWAIYZ
                   IORATEVA-IORATEVI IORATEYD-IORATEYZ
                   MVSWAIVA-MVSWAIVI MVSWAIYD-MVSWAIYZ
                   PCTCIBXD-PCTCIBxz PCTCIBUa-PCTCIBUi
                   LCPUDEXD-LCPUDExz LCPUDEUa-LCPUDEUi
                   LCPUWAXD-LCPUWAxz LCPUWAUa-LCPUWAUi
                   PCTCPBXD-PCTCPBxz PCTCPBUa-PCTCPBUi
                   PCTONLVA-PCTONLVI PCTONLYD-PCTONLYZ
                   ZIPWAIVA-ZIPWAIVI ZIPWAIYD-ZIPWAIYZ
                   If OPTIONS DKROCOND=WARN is used, there will be
                   messages on the log:
                   WARNING: variable LCPUDExx in the DROP KEEP...
                   WARNING: variable LCPUWAxx in the DROP KEEP...
                   that are not errors and are normal.
              -VMACDB2: Variables QWARACE/QWARBSC/QWARESC are Labeled in
               new in Version 10 dataset DB2ACCTW. Variable DB2START is
               now labeled, and STA0DUR and STA1DUR are formatted.
              -SAPIMSBA, SAPIMSON, SAPIMSSP datasets created by TYPEIMSA
               processing in JCLIMSLx/ASMIMSLx IMS Log Processing kept
               ALL-POSSIBLE 937 variables instead of 31/33/30 kept; MXG
               Change 28.066 updated VMACIMSA to use the three _VSAPxxx
               macro tokens for their KEEP=list, but then failed to fill
               them with the KEEP= syntax and the list of variables to
               be kept.  Now, only the intended SAP variables are kept
               in the three (optional) datasets.  And variable IMSRECCH
               is now labeled IMS*RECORD*NUMBER*AS HEX CHAR.
              -VMACNTSM: Variable VWGRACQP was corrected to VWGRAC1P.
              -ASUMMIPS: Datasets/variables were labeled/formatted.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 28.245  MXG 28.06 added ASUMDB2G/ASUMDB2P/ASUMDBSB/ASUMDBSS to
WEEKBLD        WEEKBLD, but are now removed. None of those optional data
BLDSMPDB       sets should have been added, since neither was previously
Oct 19, 2010   created by prior JCLPDB6 examples.  If your BUILDPDB JOB
               didn't create them, then WEEKBLD in 28.06 failed with
                  ERROR: VARIABLE SYSTEM NOT FOUND ON MON.ASUMDB2G
              -I had presumed you would EDIT your WEEKBLD to remove
               datasets you don't want weekly, and would use EXPDBWEK
               exit to add any new datasets to your WEEKBLD output.
              -But henceforth, I will NOT add any new optional datasets
               to the defaults in WEEKBLD and MONTHBLD examples.
              -There is an alternative to WEEKBLD and MONTHBLD to use:
               The BLDSMPDB example can EASILY be set up to run daily
               to create your daily PDB, and it dynamically creates your
               weekly PDB from whatever datasets exist in your daily PDB
               libraries, and similarly creates your monthly PDB from
               whatever datasets are found in its weekly/daily PDBs.
               And you can drop unwanted datasets easily as well.
   Thanks to William Edwards, Blue Cross and Blue Shield of Florida, USA

Change 28.244  STC/STK/Oracle VSM "user" SMF records support revised.
VMACSTC       -Most datetime variables are changed from GMT to LOCAL.
Oct 19, 2010   These were overlooked.  MXG always converts datetimes on
               GMT to LOCAL zone, when the GMT offset is known or can be
               determined (i.e., when the records have a GMT END time to
               match with the always-LOCAL-zone SMFTIME).
                  Dataset   Variables now on LOCAL
                  STCVSM13  STC13MET STC13MST STC13TIM
                  STCVSM14                    STC14TIM STC14RUN
                  STCVSM16  STC16MET STC13MST
                  STCVSM18  STC18MET STC13MST
                  STCVSM19                    STC19TIM STC19RET STC19RST
                  STCVSM20  STC20MET STC20MST
                  These variables are now in %VMXGTIME with GMT=YES.
               But these datetimes are for events that can be days or
               weeks earlier, and the GMT Offset can't be known from the
               SMF record, so they are left on GMT, but their LABEL now
               contains "ON GMT" to flag them as still on GMT:
                  Dataset   Variables
                  STCVSM15  STC15LTR STC15TIM
                  STCVSM25  STC25LUT STC25LWT
                  STCVSM27  STC27LUS STC27TIM
                  These variables are now in %VMXGTIME with GMT=YES.
               Yes, this is INCOMPATIBLE, if your reporting code changes
               the time zone for those former GMT-containing variables.
              -STC/STK/Oracle VSM SMF records' _SSTCvvv macros are now
               correctly implemented with PROC SORT NODUP and with BY
               lists that remove duplicates (and datasets STCVSM25 and
               STCVSM27 appear to have occasional fully duplicated SMF
               records that are detected and deleted).
              -Datasets STCVSM10, STCVSM11, and STCVSM20 are interval
               datasets, and their _S Sort Macros create new variables
               STCSTRTM='INTERVAL*STARTIME' DELTATM='INTERVAL*DURATION'.
              -But Dataset STCVSM20, the Interval RTD utilization data,
               which was the actual purpose of this examination of STC
               data, has serious holes.  The STC20ATM Device Available
               time is frequently zero for several 15-minute intervals
               but then the next interval record has what appears to be
               the total Available Time since the last interval record
               with a non-zero value.  This means that individual hour
               intervals can't be safely analyzed, but by summing the
               interval data to the SHIFT or DATE level should provide
               reasonable valid data.  A problem report will be opened
               with Oracle technical support.

Change 28.243  Cosmetic.  The MXGNOTE that a SEQUENTIAL or EXPORT format
VGETOBS        dataset was found by VGETOBS was revised; that note is
VMXGSUM        harmless and is only printed to be in the log in case of
Oct 15, 2010   a subsequent error; in some reports with multiple inputs,
               "TAPE" data libraries cannot be used, and this message is
               useful to diagnose those (rare) problems.  But also, the
               call to VGETOBS in VMXGSUM suppresses the message for the
               many cases where we know it doesn't matter.
   Thanks to Robbie A. McCoy, Salt River Project, USA.

Change 28.242  The New-in-z/OS 1.12 "In-Ready Work Unit" SMF70U00-U15
VMAC7072       distribution variables (which include ALL engine types)
VMXGRMFI       and the three average variables for each engine type
Oct 26,2010       SMF70CTT='AVG*WORK UNITS*FOR CP-S'
                  SMF70DTT='AVG*WORK UNITS*FOR ZAAPS'
                  SMF70ETT='AVG*WORK UNITS*FOR ZIIPS'
               were not divided by SMF70SRM (sample count) in TYPE70.
               These should replace the old READYAVG metrics, per Don:
                 Be aware that READYAVG deals only with ready address
                 spaces.  The number of ready address spaces can present
                 a seriously misleading impression of the work on the
                 system and work being delayed, because READYAVG does
                 not measure total dispatachable work units.  Both the
                 ready address spaces and the ready enclaves must be
                 included to count the total dispatachable work units,
                 and new-in-z/OS-1.12, the above variables provide the
                 min/max/avg number of work units for CP-s,zAAPs/ZIIPS
                 and the new PCTWUQWT and SMF70U00-SMF70U15 metrics for
                 dispatchable work units, quite similar to the original
                 measures for ready ASIDs.
               In addition to correcting the values, this change adds
               those min/max/avg Work Unit variables to RMFINTRV, and
               three percentage waiting variables are now created from
               the three distributions (READYxx, SMF70Qxx, SMF70Uxx)
               and are kept in both TYPE70 and RMFINTRV datasets.
                  PCTRDYWT='PERCENT WHEN*READY TASKS*ARE WAITING'
                  PCTRDQWT='PERCENT WHEN*IN READY TASKS*ARE WAITING'
                  PCTWUQWT='PERCENT WHEN*WORK UNITS*ARE WAITING'
               These new work unit distributions are only kept in TYPE70
               and they include the waiting and active work units for
               all engine types, so my labels are revised.  The N value
               is the count of ALL online engines, except that when
               HyperDispatch is active, only the non-parked engines of
               ALLl types are included in the N being compared.
                  SMF70U00='PCT WHEN*WORK UNITS*WAS LE N ONLINE'
                  SMF70U01='PCT WHEN*WORK UNITS*WAS N+1 ONLINE'
                  SMF70U02='PCT WHEN*WORK UNITS*WAS N+2 ONLINE'
                  SMF70U03='PCT WHEN*WORK UNITS*WAS N+3 ONLINE'
                  SMF70U04='PCT WHEN*WORK UNITS*WAS N+4-5 ONLINE'
                  SMF70U05='PCT WHEN*WORK UNITS*WAS N+6-10 ONLINE'
                  SMF70U06='PCT WHEN*WORK UNITS*WAS N+11-15 ONLINE'
                  SMF70U07='PCT WHEN*WORK UNITS*WAS N+16-20 ONLINE'
                  SMF70U08='PCT WHEN*WORK UNITS*WAS N+21-30 ONLINE'
                  SMF70U09='PCT WHEN*WORK UNITS*WAS N+31-40 ONLINE'
                  SMF70U10='PCT WHEN*WORK UNITS*WAS N+41-60 ONLINE'
                  SMF70U11='PCT WHEN*WORK UNITS*WAS N+61-80 ONLINE'
                  SMF70U12='PCT WHEN*WORK UNITS*WAS N+81-100 ONLINE'
                  SMF70U13='PCT WHEN*WORK UNITS*WAS N+101-120 ONLINE'
                  SMF70U14='PCT WHEN*WORK UNITS*WAS N+121-150 ONLINE'
                  SMF70U15='PCT WHEN*WORK UNITS*WAS GT N+150 ONLINE'
               They can be compared with the existing distributions in
               READY00-READY15,SMF70Q00-SMF70Q12 in TYPE70 dataset.
              -VMXGRMFI was also corrected to support R70MIN, which has
               been defined, but as it had a null value, the absence of
               its invocation was never noticed until now.
              -In testing this change, Jim noticed SMF70NCA needed to be
               multiplied by 100 as it is 'PCT WHEN*CAPPING*LIMITED...'.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 28.241 -Variable CPUWAIYA (CPU WAIT*DURATION*CPU 61) was wrong.
VMAC7072       The typo'd CPUWAIYA=MVSWAITA is now CPUWAIYA=MVSWAIYA.
Oct 14, 2010
   Thanks to Heimir Hauksson, Barclays, ENGLAND.

Change 28.240 -UTILEXCL could create wrong values in PDB.CICSDICT if
IMACICUN       CICS dictionary entries with the same "triplet" values
IMACICUO       RVR/DCN/DRL have the same CMODIDNT (field number) in
IMACICUP       different orders (could be in different or same APPLID).
UTILEXCL       These wrong values were then used to create the IMACEXCL
VMAC110        tailoring member, but that caused no execution error.
Oct 13, 2010   But the wrong variable(s) in CICSTRAN were populated or
IMACICUQ       had missing values when they should have been populated.
Oct 14, 2010
Dec 22, 2010   But even after installing this change, and rerunning the
               new UTILEXCL's _BLDDICT to build the correct PDB.CICSDICT
               observations, your IMACEXCL could still be wrong, because
               _BLDDICT appends the new dictionary records to the old in
               its replacement of PDB.CICSDICT, so both good and bad
               records were still being used, causing that same error.

               If you have the SMF records for all your current CICSs,
               then you can simply use PROC DELETE DATA=PDB.CICSDICT;
               to delete that dataset, and then rerun _BLDDICT, etc.

                 PROC DELETE DATA=PDB.CICSDICT;
               and then  _BLDDICT  _BLDEXCL  _RPTEXCL
               to use only the fixed PDB.CICSDICT records to build your
               tailored IMACEXCL.

               Dec 22: Above paragraph was added, no code was changed.

              -Dictionary records with duplicate RVR/DCN/DRL. but with
               different field order are now detected and printed by the
               macro _BLDEXCL when it creates the IMACEXCL, but UTILEXCL
               cannot support two different records differently; as only
               the RVR/DCN/DRL exist in the CICSTRAN records.  UTILEXCL
               can only create one "do group" from the first dictionary
               record and that IMACEXCL will create CICSTRAN for all SMF
               records that RVR/DCN/DRL, with no execution errors, but
               all variables from the fields/segments that are different
               in the second dictionary record will be wrong.  MXG can't
               fix this error because only the RVR/DCN/DRL exist in the
               CICSTRAN records. Your CICS guru will have to correct the
               DFHMCT text so all structures with the same number and
               length of fields have their fields in the same order.
              -Support for more Optional CICS fields, UTILEXCL Error.
                  Member   Variable   Label
                 IMACICUN  SCBKPOUN   Application*USER*AREA*ONE
                 IMACICUO  SCBKNUMB   Application*USER*AREA*TWO
                 IMACICUP  CIBIZID    Application*USER*AREA*THREE
              -Support for another optional CICS field
                  Member   Variable    Label
                  IMACICUQ CANUE1      CANUE1
   Thanks to Tony Hirst, Wells Fargo, USA.
   Thanks to Henry Steinhauer, Northwestern Mutual, USA.
   Thanks to James Hein, Erie Indemnity Company, USA.

====== Changes thru 28.239 were in MXG 28.06 dated Oct  7, 2010=========

Change 28.239  Documentation Notes only.  Using the _N7072 "null" macro
VMAC7072       to create ONLY the PDB.TYPE70 dataset caused errors
Oct  7, 2010     NO DATA SET OPEN TO LOOK UP VARIABLES
               when PROC SORT DATA=_NULL_ (were _NULL_ replace TYPE70EC)
               caused SAS to error (in spite of _NULL_, PROC SORT still
               looked for BY variables).  Recent changes in SMF 70s now
               requires datasets TYPE70SP/EC/EL to be created when the
               SMF data is processed, the TYPE70PR data values are used
               to create TYPE70, and the new TYPE70EN dataset must be
               created from the (temporary) TYPE70EN/EL data if you have
               more than 64 engines, since only the first 64 engine's
               per-engine-detail is kept in TYPE70.

               But the below tailoring example shows how these old-style
               substitution macros are used to create only the datasets
               PDB.TYPE70 and PDB.TYPE70EN, by reinstating the _Wdddddd
               dataset tokens to be created when SMF is read, and the
               two _Ldddddd output dataset tokens for clarity.
                   %LET MACKEEP=%QUOTE(
                     _N7072
                     MACRO _WTY70 TYPE70 %
                     MACRO _WTY70PR TYPE70PR %
                     MACRO _WTY70SP TYPE70SP %
                     MACRO _WTY70EC TYPE70EC %
                     MACRO _WTY70EL TYPE70EL %
                     MACRO _LTY70   PDB.TYPE70 %
                     MACRO _LTY70EN PDB.TYPE70EN%
                   );
                   %INCLUDE SOURCLIB(VMACSMF,VMAC7072,IMACKEEP);
                   DATA
                   _VAR7072
                   _SMF
                   _CDE7072
                   _STY70

               Or, you could use the %UTILBLDP macro to generate and
               execute the code to create only those two datasets:
                   %LET PTY70PR =WORK; %LET PTY7002 =WORK;
                   %LET PTY70X2 =WORK; %LET PTY70Y2 =WORK;
                   %LET PTY72   =WORK; %LET PTY72DL =WORK;
                   %LET PTY72GO =WORK; %LET PTY7204 =WORK;
                   %LET PTY72MN =WORK; %LET PTY72SC =WORK;
                   %UTILBLDP(BUILDPDB=NO,USERADD=7072,OUTFILE=INSTREAM);
               The %UTILBLDP macro is STRONGLY recommended for any SMF
               processing that needs tailoring.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.238  MXG 28.03-28.05. THE SMF FILE CONTAINED xxx BYTES note on
VMACSMF        the SAS log was wrong if BUILDPDB was used; Change 28.089
Oct  7, 2010   modified VMACID to output SMFBYTES, but that variable was
               used internally in VMACSMF to total the byte count for
               that log message.  The byte counter in VMACSMF is changed
               to SMFBYTOT to correct the message and not impact ID.
               When wrong, xxx had the record length of the LAST record.
   Thanks to Rudol Sauer, T-Systems International GmbH, GERMANY.


Change 28.237  Variable R792PRFX was labeled FRAMES (MB) but was not
VMAC79         converted from frames. While the (MB) in the LABEL should
Oct  7, 2010   document when frame counts are converted to bytes, those
               variables must also have MGBYTES. format to confirm that
               the contents of the variable is bytes and "prints pretty"
               with K/M/G/T suffix with that format.
   Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.

Change 28.236  With some of the features of Thruput Manager, some shops
ANALINIT       run all jobs in the same job class.  That makes ANALINIT
Oct  5, 2010   by jobclass mostly meaningless since TPM will prioritize
               work based on service class and other criteria given it
               via parameter.  This change allows you to choose the
               variable to use for breaking the report down. The default
               value for SORTBY is JOBCLASS but you might find in these
               cases that SRVCLASS or RPTCLASS have more meaning.
              -HTMLDEST is also added as a parameter to send the output
               to HTML and the MEAN/MAX input queue delays are added to
               the final report.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.235  Using %VGETDDS(GOOVOO=gdgbase) caused ERROR: LIBRARY DOES
VGETDDS        NOT EXIST.  The wrong macro variable &GDGBASE was used
Oct  4, 2010   where &GOOVOO was required.
   Thanks to Brian A. Harvey, HCL America, USA.
   Thanks to Rhonda Martin, USAA, USA.

Change 28.234  Variables input with $EBCDIC informat that contain $HEX
VMAC102        data are corrected to $CHAR informat, but that is only
VMACCIMS       impacting if MXG is executed on ASCII platforms to read
VMACORAC       SMF data.  Detected in Freddie's final QA tests.
Oct  4, 2010  -VMAC102:  QW0022LM QW0022PA QBMCRLIR
              -VMACCIMS: RECSTAT
              -VMACORAC: ORALOGON
   Thanks to Freddie Arie, Merrill Consultants, USA.

Change 28.233  Support for WebSphere MQ Version 7 Accounting Records.
EXWSMQMQ       Two datasets are created:
EXWSMQQ          dddddd  Dataset   Description
IMACWSMQ         WSMQMQ  WSMQMQI   Accounting MQI
TYPEWSMQ         WSMQQ   WSMQQ     Accounting Q
TYPSWSMQ       See Monitoring WebSphere MQ Version 7, SC34-6937, for the
VMACWSMQ       documentation on these data, which are written to the
VMXGINIT       SYSTEM.ADMIN.ACCOUNTING.QUEUE.
Oct  2, 2010

Change 28.232 -ANALRMFR failed when PDB=SMF was use with some reports;
ANALRMFR       Change 28.155 revised token names for TYPE70EN, and some
Oct  6, 2010   resets of _WTY70PR were missing.
              -While PDBOUT=PDB worked, PDBOUT=XXXX failed because the
               new TYPE70EN dataset was written to PDB instead of XXXX.
   Thanks to Russ Alexander, OIT Service Delivery, USA.

Change 28.231  NDM-CDI NDRMTYPE='RT' record INPUT STATEMENT EXCEEDED
VMACNDM        error when NDMOFFPA was non-zero, a condition not seen
Oct  1, 2010   before, and my guess about the order of the optional
               segments was wrong.
   Thanks to Douglas C. Walter, Citigroup, USA.
   Thanks to Brent Turner, Citigroup, USA.

Change 28.230  FORMAT MG070CR decodes SMF70CCR to identify the Capacity
FORMATS        Change Reason:
VMAC7072          SMF70CCR    Formatted Value
Oct  1, 2010         0        0:NO CHANGE
                     1        1:POWERSAVE
                     2        2:CYCLE STEERING
                     3        3:EXTERNAL
                     4        4:EXTERNAL

Change 28.229  MXG Search tool did not select CHAR variables because the
VMXGSRCH       TYPE field was not UPCASED, and if the last variable in a
Sep 30, 2010   dataset is numeric, the generated code did not wrap to
               close the continuation correctly; these are now fixed.
               Also, MXG 28.05 updates added the capability to search
               for text in Labels and for format names.
               On a positive note, Scott commented:
                 I really do get a lot of benefit using VMXGSRCH when
                 looking for evidence of a dataset or USERID or a CICS
                 terminal-name.  It's a great tool, particularly where I
                 needed to find evidence of a CICS terminal in some CICS
                 PA report, but looking in MXG for it CICS STATS.
               And VMXGSRCH is not only for MXG built datasets. VMXGSRCH
               will search ALL of the SAS datasets in ANY data library,
               searching ALL variables in those datasets for ANY value,
               printing the found observations.  See Change 28.147.
   Thanks to Scott Barry, SBBWorks, USA.

Change 28.228  Variable NRCPUS wrong in PDB.RMFINTRV with HiperDispatch.
VMXGRMFI       It had the number of installed processors because parked
Sep 29, 2010   time, CPUPATTM, was not kept nor subtracted from SMF70ONT
               when NRCPUS, the average number of ONLINE CP engines was
               calculated.
   Thanks to Richard Schwartz, State Street Bank, USA.
   Thanks to Brian Kruse, State Street Bank, USA.

Change 28.227  TYPEITRF INPUT STATEMENT EXCEEDED RECORD LENGTH type=17x.
VMACITRF       because Change 28.197 didn't correctly INPUT these fields
Sep 27, 2010    CORDBI CORDBP CORDBT  that were added.
   Thanks to Lindholm Orjan, Volvo, SWEDEN.

Change 28.226 -TYPE113 variable LPBUSY replaces wrong-named LPARCPU, as
ASUM113        percent busy in TYPE113 is for each Logical Processor.
VMAC113       -ASUM113 variable LPARBUSY replaces LPARCPU since there,
Sep 23, 2010   the percent busy is for the LPAR.  New variable LPARCPUS
Oct  4, 2010   counts the number of LPs active in this LPAR.
                 Normally, I'm reluctant to change variable names, but
                 the SMF 113 is new so only a few "early adopters" will
                 be effected, and the old names were deceptively wrong.
              -LPARCPUS is the true Average Number of ONLINE Engines, as
               it is calculated as SMF70ONT/DELTATM.
              -Variables from TYPE70PR that were added to the dataset
               PDB.TYPE113 are also now added to PDB.ASUM113.
              -ASUM113 corrected to not fail when PDB.TYPE70PR doesn't
               exist, but all variables that are merged in from 70PR
               will always exist in PDB.ASUM113, with missing values if
               there was not 70PR dataset.
              -SM113CPT is only populated if SM113VN2 GE 2, i.e., z196.
               (See Change 30.123 for revision).
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 28.225  Macro variable VGETCRDT is created, contains the datetime
VGETOBS        in character when the SAS dataset was created, and macro
Sep 23, 2010   variable VGETMTYP is the type of dataset (data/view/etc).
Oct  5, 2010   VGETCRDT is only populated under SAS; it is not in WPS.
   Thanks to MP Welch, Aprize, Inc, USA.

Change 28.224  New TYPE70EN dataset (per-Engine TYPE70 detail) had 100%
VMAC7072       PCTCPUBY for Parked Engines; PCTCPUBY is now recalculated
Sep 23, 2010   using SMF70PAT.  Also, SMF70CIN was blank, now is not.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 28.223  Support for DB2 V10 Compressed SMF records has been added
DFH$MOLS       inside the existing EXITCICS member, which is the ASM
EXITCICS       source that creates a SAS INFILE EXIT named CICSIFUE.
Sep 23, 2010   Once assembled into a load module placed in //STEPLIB,
               and enabled with   %LET SMFEXIT=CICS;  in your //SYSIN,
               the exit will be used for either CICS or DB2 records,
               processing either compressed or uncompressed SMF records.
               Full documentation is in the comments in EXITCICS member.
               While IBM CICS provides their DFH$MOLS program that will
               decompress CICS records (JCL example in that MXG member),
               IBM initially chose NOT to provide a DB2 decompression
               utility, but in Feb, 2011, APAR PM27872 announced that
               the DSNTSMFD sample program was available to decompress.
                 Note: IF THE EXIT DOES NOT EXIST, INTERNAL SAS CODE IN
                     MXG WILL BE USED TO DECOMPRESS EITHER CICS OR DB2
                       DATA, BUT THAT CODE IS EXTREMELY CPU EXPENSIVE.
                       MXG messages warn you to instead use EXITCICS.
                 Note: See MXG Newsletter FIFTY-SEVEN for comparisons
                       processing compressed and uncompressed CICS data
                       with DFH$MOLS versus EXITCICS versus SAS code.
   Thanks to Rich Anderson, SAS Institute, USA.

Change 28.222  ITRM only, MXG 28.04-later, DB2STAT4 NOT SORTED ERROR.
VMACDB2        The circumvention is to insert this statement in SYSIN:
Sep 22, 2010      %LET EPDBOUT= _SDB2ST4 ;
               so that the DB2STAT4 dataset is sorted before _SDB2STS
               is executed.  _SDB2STS creates DB2STATS from STAT0/1/4;
               The MXG logic in _SDB2STS was revised in 28.04, and the
               PROC SORT DATA=_LDB2ST4 that had been in _SDB2STS was
               removed, because MXG executes _SDB2ST4 before _SDB2STS,
               so that sort was no longer needed.  But ITRM did not
               execute the _SDB2ST4 macro.  In ITRM, the dataset tokens
               _WDB2ST4 and _LDB2ST4 are the same dataset when _SDB2STS
               is executed, so that old PROC SORT DATA=_LDB2ST4 had put
               DB2STAT4 in the right order, so there was no error, but
               without MY sort, the unsorted DB2STAT4 exposed my error.
              -ITRM Support will have a Hot Fix to insert the _SDB2ST4
               sort prior to the _SDB2STS execution; fortunately, this
               circumvention AND that hot fix insertion can coexist.

Change 28.221  MXG 28.05-minus, an INCORRECT note "INVALID WQ SEGMENT"
VMAC116        is harmless and there is no loss of data when the records
Oct  7, 2010   originally described below are found.  IBM MQ Support has
               confirmed Qsegment records with no WQ Segments can
                  happen in V6 and V7 if a thread has exactly 9 queues.
                  The next overflow SMF record/segment is allocated in
                  anticipation of the transaction a 10th queue. With
                  exactly 9, a 10th wasn't opened, so the second segment
                  was left empty.
               Oct 20, IBM APAR PM24302 confirms that statement, quoting
               from my original change text in the problem description.

               Below is the Sep 22 original change text on this message:

               WebSphere MQ 7.01 INVALID WQ SEGMENT error messages were
               due to SMF 116 subtype 2 records that contained only the
               WTID (thread identification) segment and did NOT contain
               any WQ (queue-level accounting) segments.  The ONLY
               purpose of subtype 2 records is for additional WQ
               segments that wouldn't fit in previous subtype 1 record.
               In addition, the QWHCXTYP field contained a zero, which
               is not a documented connecting system type code.  But,
               MXG printed that message because it expected the WQ
               triplet in the subtype 2 and unconditionally input it.
               The code was restructured to input the common header and
               use QWHSNSDA, the number of triplets, to conditionally
               now input the triplets.  Subtype 2 records with no WQ
               segment can be detected because all WQxxxxxx variables in
               dataset MQMACCTQ will be blank or missing values, but the
               "INVALID"  "INVALID WQ SEGMENT" message is gone.
   Thanks to Victoria Lepak, Aetna, USA.

Change 28.220  DB2 Summary ASUMDBxx and Trending TRNDDBxx members are
ANALDB2R       revised to create consistent names, as well as adding
ASUMDB2A       new DB2 V9 and DB2 V10 variables and externalizing the
ASUMDB2B       interval value:
ASUMDB2G      -Default interval for both statistics and accounting is
ASUMDB2P       now set by macroUvariable &INTASUM (default=HOUR), so
ASUMDB2R       youTcanDchangeTthatBdefaultSinterval externally, without
ASUMDB2S       EDITing the ASUMxxxxSinto yourDUSERID.SOURCLIB, using
ASUMDBAA          %LET INTASUM=yourchoice;SUtoBset your chosen interval.
ASUMDBSB      -Statistic dataset changes:
ASUMDBSS       -Datasets ASUMDBBS/TRNDDBBS renamed to ASUMDBSB/TRNDDBSB.
TRNDDB2A       -Datasets ASUMDB2S/ASUMDB2G/ASUMDB2B/ASUMDBSB that were
TRNDDB2A        created by members ASUMDB2S/ASUMDB2G/ASUMDB2B/ASUMDBSB
TRNDDB2B        no longer exist; datasets TRNDDB2X/TRDDDBBS/TRNDDB2S
TRNDDB2G        no longer exist.
TRNDDB2P       -Members ASUMDBSS/TRNDDBSS create these sets of the three
TRNDDB2R        statistics summary datasets:
TRNDDB2S           Member    Dataset    Created from
TRNDDBAA          ASUMDBSS   ASUMDBSS    DB2STATS
TRNDDBSS             "       ASUMDBSB    DB2STATB
Oct  3, 2010         "       ASUMDBSG    DB2GBPST
Dec 28, 2010      TRNDDBSS   TRNDDBSS    ASUMDBSS
                     "       TRNDDBSB    ASUMDBSB
                     "       TRNDDBSG    ASUMDBSG
              -Accounting dataset changes:
               -Members ASUMDB2S/ASUMDBSB contain only comments that the
                member ASUMDBSS should be used in place of both members.
               -Members ASUMDB2G/ASUMDB2B were a mess. Previously they
                summed DB2GBPST/DB2STATB into ASUMDB2G/ASUMDB2B datasets
                but those names were also used for DB2ACCTG/DB2ACCTB
                summarization.  Now they process only Account datasets.
               -WEEKBLD's BY list for these three DB2 Stat ASUMs have
                SHIFT removed; those datasets are summarized by HOUR so
                SHIFT was not used, but was inconsistently kept, so its
                removal prevents NOT SORTED errors.
               -Accounting dataset changes:
                -Member VMXGDBAA, previously used in ASUMDBAA/ANALDB2R
                 no longer is used and is archaic.  Member ASUMDBAA can
                 still be used, if you want ALL of the DB2ACCTx datasets
                 summarized, but it now is only a series of individual
                 %INCLUDEs of these members:
                   Member    Dataset    Created from
                  ASUMDB2A   ASUMDB2A    DB2ACCT
                  ASUMDB2B   ASUMDB2B    DB2ACCTB
                  ASUMDB2G   ASUMDB2G    DB2GBPST
                  ASUMDB2P   ASUMDB2P    DB2ACCTP
                  ASUMDB2R   ASUMDB2R    DB2ACCTR
                -Trending of individual ASUMDB2x Account datasets:
                   Member    Dataset    Created from or
                  TRNDDB2A   TRNDDB2A    ASUMDB2A DB2ACCT
                  TRNDDB2B   TRNDDB2B    ASUMDB2B DB2ACCTB
                  TRNDDB2G   TRNDDB2G    ASUMDB2G DB2GBPST
                  TRNDDB2P   TRNDDB2P    ASUMDB2P DB2ACCTP
                  TRNDDB2R   TRNDDB2R    ASUMDB2R DB2ACCTR
              -Additional corrections:
               -ASUMDB2A. Two variables QTXANPL and QXCASCDP were in the
                SUM list are moved to the MAX list.  They were incorrect
                in datasets built by the old ASUM/TRND members.
               -TRNDDB2A. Looked for DB2ACCT first, but now it uses
                ASUMDB2A first if it exists.
               -VMACDB2 common variables added to new DB2ACCTR "Remote".
               -Dec 28: ASUMDB2R INTERVAL now set by &INTASUM.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.219  Cosmetic.  If DATETIME argument was missing, the ABORT
VMXGDUR        statement blew away a Windows session so you never saw
VMXGSUM        the error message.  Now, the error is printed and the
Sep 22, 2010   invocation is ended without the ABORT.  This error can
Oct  7, 2010   only occur when testing a new VMXGSUM invocation; that
               DATETIME argument is always required, except when the
               INTERVAL=NONE argument is specified.
               -VMXGDUR, Oct 7:
                 WARNING message for invalid interval= values updated
                 To include all possible valid values.

Change 28.218  Includes of ASUMDBAA/TRNDDBAA added in MXG 28.05 caused
BLDSMPDB       errors and were replaced by includes of ASUMDB2A/TRNDDB2A
Sep 21, 2010   and ASUMDB2B/TRNDDB2B.
Oct  5, 2010  -Oct 5:  If AUTOALOC EQ NO and FIRSTRUN EQ YES then all of
               the directories needed are tested and created if the do
               not already exist.
   Thanks to Cletus McGee, ALFA Insurance, USA.
   Thanks to Mary Kay Pettengill, MSI, USA.

Change 28.217  The CPUID section is now protected for a truncated ID=70
VMAC7072       subtype 1 record (created by B37 ABEND in SMF dumping).
Sep 21, 2010   Other sections were already protected.

Change 28.216  Invalid raw data for RH018 with zero values caused very
VMACTNG        large positive or negative values.  While the error is in
Sep 16, 2010   the NSM cube itself, a possible circumvention is to us
                  IF RH018001 GT 0 AND RH018002 GT 0 THEN DO;
                    OUTPUT _WTRH018;  /* RH018 , DEFINED IN VMACTNG*/
                  END;
               in the EXTRH018 exit member; this will cause the DELTATM
               between intervals calculated by MXG to be twice DURATM,
               so these intervals can be identified.
   Thanks to Xiaobo Zhang, FISERV, USA.

Change 28.215  NOTES: FIRST/LAST UNINITIALIZED with BAR=TIME had no
GRAFLPAR       impact as they are not used with that option, but they
Sep 15, 2010   are no longer printed.  Arguments DEVICE/DISPLAY were
               removed, as your current site defaults will be used.
   Thanks to Cletus McGee, ALFA Insurance, USA.

Change 28.214  ANALDB2R report selection didn't honor BEGTIME/ENDTIME.
ANALDB2R       Starting with MXG 28.05, ANALDB2R passed those selection
Sep 14, 2010   criteria to READDB2 so that if PDB=SMF was used (so that
               READDB2 was called) BEGTIME/ENDTIME were used for select.
               Now, PDB=PDB or PDB=SMF honors BEGTIME/ENDTIME selection.
   Thanks to Betty Wong, Bank of America, USA.

Change 28.213  This Change was replaced by 28.220.

Change 28.212 -New (very small) TYPE74ID dataset is now created when the
ANALRAID       TYPE74 or TYPE74CA are output, so the mapping format that
ASUMCACH       ASUMCACH requires can be automagically built in ASUMCACH,
EXTY74ID       eliminating a full pass of TYPE74CA dataset.
VMAC74        -PDB.ASUMCACH now contains variables character DEVMODEL
VMXGINIT       and its numeric version in variable MODEL.
VMXGSUM       -ANALRAID now uses 8-character DEVMODEL, instead of MODEL
Sep 13, 2010   with 3-byte numeric in HEX6 formatted value, to support
Oct 29, 2010   newer, longer (3390A) control unit model names.
              -If TYPE74ID is does not exist, ASUMCACH uses TYPE74CA, as
               before, but DEVMODEL will contain 3390??.
              -In testing this change, numerous Missing Value messages
               were printed on the SAS log, all from VMXGSUM  NORMn=
               arguments that had valid missing values. VMXGSUM was
               revised to test and suppress those cosmetic messages.
              -In testing this VMXGSUM revision for the NORMn arguments:
               -It was discovered that NORMn=A/B syntax, with only one
                variable A that had only one character name, was never
                being normalized.  Fortunately, there was no instance
                of this syntax in MXG code, but it is now corrected.
               -Also, if B was missing or zero (with any length "A"),
                so the division was never executed, the value output for
                "A" output was SUM(A).  Now, A is a missing value.
              -Oct 29: %VMXGOPTR relocated to prevent warning message.

Change 28.211  Using COPYONLY argument wrote ALL SMF records; the
READDB2        selection criteria were not used for the COPYONLY writes.
Sep 11, 2010
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 28.210  DB2 V8.1-DB2 V9, MXG 28.02-28.05, DB2ACCT and DB2ACCTP,
VMACDB2        these variables added by APAR PK62161, MXG Change 28.051:
Sep 10, 2010    QXRWSFET QXRWSINS QXRWSUPD QXRWSDEL
               were wrong because the prior field, QXSTXMLV, was
               increased to 8 bytes but that increase was overlooked,
               causing the subsequent fields to be misaligned/trashed.
   Thanks to Betty Wong, Bank of America, USA.

Change 28.209  If INCLAFTR=BUILD005,BUILDPDB=NO is used to build only
UTILBLDP       the PDB.JOBS/STEPS/PRINT/NJEPURGE/SPUNJOBS datasets,
Sep  9, 2010   the TYPE30xx,TYPE6,TYPE26J2 inputs for BUILD005 were
Jul  7, 2011   sorted into the PDB library, which caused BUILD005 to
               fail, as it expected inputs to be in WORK library.
               But since the purpose of INCLAFTR=BUILD005 should be to
               create the above PDB datasets, this change removes the
               sort of those input datasets into the PDB data library.
               Jul 2011:  If you really do want any or all of those raw
               TYPE30xx, TYPE6, and/or TYPE26J2 to be kept in the PDB,
               you can add these PROC SORTs to the EXPDBOUT= argument:
                 PROC SORT NODUP  DATA= _WTY30U1 OUT= _LTY30U1 ;
                 BY _BTY30U1 ;
                 PROC SORT NODUP  DATA= _WTY30U4 OUT= _LTY30U4 ;
                 BY _BTY30U4 ;
                 PROC SORT NODUP  DATA= _WTY30U5 OUT= _LTY30U5 ;
                 BY _BTY30U5 ;
                 PROC SORT NODUP  DATA=_WTY6 OUT=_LTY6 ;
                 BY _BTY6 ;
                 PROC SORT NODUP  DATA= _WTY26J2 OUT= _LTY26J2 ;
                 BY _BTY26J2 ;
               Or, if INCLAFTR=BUIL3005, for TYPE26J3, use:
                 PROC SORT NODUP  DATA=_WTY25 OUT=_LTY25 ;
                 BY _BTY25 ;
                 PROC SORT NODUP  DATA= _WTY26J3 OUT= _LTY26J3 ;
                 BY _BTY26J3 ;

Change 28.208  MXG incorrectly set R7451TIM to 16 microseconds when
VMAC74         it should have been 16 milliseconds; the variables
Sep  9, 2010   R7451CT3, R7451CT4, R7452PRT, R7452PWT are divided by
               R7451TIM, and thus were wrong.
   Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.

Change 28.207  Unused Change.

Change 28.206  Invalid APPTUNE SMF 102 IFCID 8133 record had invalid
VMAC102        offset of '7532'x for QBMCRQLO in APPTUNE Segment 9 for
Sep  7, 2010   Long Names, causing INPUT STATEMENT EXCEEDED ERROR.
   Thanks to Christa Neven, KBC Global Services, BELGIUM.

Change 28.205  Julian Date variables with FORMAT 6. were increased to 7.
VMACACF2       so the full seven digits can be seen (e.g. 2010099):
VMACEPIL      -VMACEPIL - OMJULDAT
VMAC6367      -VMACACF2 - LIDCDATE LIDIPDAT LIDADATE LIDDXPDT
VMACHSM                 - LIDATIME is now a datetime variable when both
Sep  6, 2010              LIDADATE and LIDATIME are GT 0.
Sep 18, 2010  -VMACHSM  - MCDJDATE
              -VMAC6367 - DSCRDT   DSEXTD

Change 28.204  Support for local installation optional USERSTR field in
IMACICUM       CICSTRAN dataset from SMF 110 subtype 1 modified records.
IMACEXCL
VMAC110
Sep  3, 2010

Change 28.203  Variable LIDATIME was not formatted, but now contains
VMACACF2       the datetimestamp value (DATETIME21.2) of last access.
Sep  1, 2010   Date variables LIDCDATE LIDIPDAT LIDADATE LIDDXPDT all
               contain Julian Dates YYYYDDD and are cannot be formatted
               as a SAS Date variable.

Change 28.202  Support for RACF EVENT 82 (PTCREATE) creates TYPE8082
EXTY8082       dataset.
IMAC80A
VMAC80A
VMXGINIT
Sep  1, 2010
   Thanks to Bill Arrowsmith, EuroClear, BELGIUM.

Change 28.201  MXG 28.05 only. GOPTIONS DEVICE=GIF was added in VMXGINIT
VMXGINIT       but could change the size of your graphs.  Now, GOPTIONS
Aug 31, 2010   only sets default COLORs and PATTERNs.

Change 28.200  z/OS utility to construct VBS blocks in RECFM=U format
UDEBLOCK       from a PC/ASCII VBS file failed when only one byte was
Aug 31, 2010   left at the end of a block, since that would be the first
               byte of the two-byte length field.  MXG logic worked with
               zero or two-or-more, but not one; an extensive rewrite of
               the program was required. This uploaded file had a series
               of 32760 byte blocks, but then one block of 32759 bytes
               that contained parts of three blocks, with only one byte
               of the next block at the end, which exposed the error.
   Thanks to Carl Sommer, SAS Institute, USA.

Change 28.199 -Variables added from PDB.TYPE70PR are now populated ONLY
ASUM113        when the SM113CTM end time is within one hour of STARTIME
VMAC113        of the RMF data; previously, any 70 from the same SYSTEM
Sep  2, 2010   was used.  APAR OA30486 will synchronize 113 intervals
               with SMF, so eventually an exact merge can be used.
              -LPARNAME is added to PDB.TYPE113, but will be populated
               only if matching PDB.TYPE70PR observations exist.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 28.198 -CA-NSM/TNG datasets RH021 thru RH030 had only variables
VMACTNG        from the header and RH020xxx, because of incorrect KEEP=
Aug 26, 2010   arguments.
Sep  1, 2010  -Variable INSTANCE was not kept nor in BY list for AI010.
              -Packet counters in AI010 and RH018 are accumulated, so
               the SORT macros _STAI010 and _STRH018 are rewritten to
               deaccumulate those four variables.  You will need to use
               %INCLUDE SOURCLIB(TYPSTNG); to create PDB.AI010/RH018 to
               contain the interval (deaccumulated) values, or use
                  %LET PTAI010=WORK;
                  %LET PTRH018=WORK;
                  %INC SOURCLIB(TYPESTNG);
                  _STAI010;
                  _STRH018;
               if you want the interval datasets in the //WORK library.
   Thanks to Xiabo Zhang, FISERV, USA.

Change 28.197  INVALID DATA FOR CHAR1 caused INPUT STATEMENT EXCEEDED.
VMACITRF       The INPUT of VER with $CHAR1 was corrected to $CHAR1.
Aug 26, 2010   (i.e., missing period was added to the informat) in two
               places.  But Change 28.227 is also needed for VER='01'x.
   Thanks to David J. Schumann, Blue Cross of Minnesota, USA.

Change 28.196  If you asked for IFCIDS=STATISTICS and WANTONLY a list of
READDB2        DB2STA* datasets, macro variable KILLSORT showed up as
Aug 25, 2010   unreferenced in DB2PST where it did not belong.
   Thanks to Dan Case, Mayo Foundation, USA.

Change 28.195  If NRECORD was a null value or an alpha string, VMXGGETM
VMXGGETM       failed with an invalid numeric value.  Now, if an invalid
Aug 24, 2010   string is detected, NRECORD is set to the then current
               value of the OBS option. This change uses the %DATATYP
               macro provided by SAS, in their autocall library.

Change 28.194  Using ONLY the MXG-supplied CONFIGV9 and NOT having the
CONFIGV9       SAS-supplied DSNAME=SASHLQ..CNTL(BAT&YY) in //CONFIG DD
SASAUTOS       caused the SAS default LOCALE=ENGLISH_UNITEDSTATES to be
TRIM           used, instead of the LOCALE=ENGLISH_UNITEDKINGDOM that
Aug  2, 2010   was required for this English Site.  The result was that
Sep 24, 2010   MXG saw an invalid 'BA'x character (for NOT symbol) in
Sep 30, 2010   the TRIM member of the SAS-supplied SASAUTOS PDS, that
               had been built with the UNITEDKINGDOM LOCALE, instead of
               the expected '5F'x with LOCALE=ENGLISH_UNITEDSTATES.
               MXG's CONFIGV9 intentionally does NOT specify LOCALE, as
               that should be picked up from the site's BAT&YY member.
               The error was in the %TRIM macro (now used in VMXGSUM),
               but it caused this completely-off-the-wall error:
                 NOTE: LINE GENERATED BY THE INVOKED MACRO "VMXGEXP".
                       &WORD = &WORD * &BY ;
                                _
                                22
                  (Long ago, problems with character conversion of the
                   NOT symbol caused me to NEVER use that symbol, and
                   instead MXG uses NE or NOT character text.)
              -SAS did detect the incorrect LOCALE setting, printing
                 WARNING: There is an incompatibility between session
                 encoding and the SASHELP encoding.  When such a
                 mismatch occurs, some features may not behave as
                 expected. For additional information, contact your Site
                 Administrator

              -The original text of this change INCORRECTLY blamed the
               error on the DSN=*.NULLPDS syntax in their //SASAUTOS DD
                  //SASAUTOS DD DSN=*.NULLPDS,DISP=SHR
                  //         DD DSN=SAS.yadayada.SASAUTOS
               which was INCORRECTLY thought to have prevented the %TRIM
               macro from being resolved.  While *.NULLPDS in MXGSASxx
               JCL examples was removed in Change 27.108 in MXG 27.05,
               because it was no longer needed and MIGHT cause errors,
               in fact its removal, while recommended, is not required.
   Thanks to George Canning, Produban UK, ENGLAND.
   Thanks to Mark Dawson, SAS Institute, ENGLAND.

Change 28.193 -Full support for IMF records in SMF format, so IMF SMF
VMACCIMS       records can be processed with BUILDPDB. Change 28.137
TYPEIMFS       created TYPEIMFS to process IMF-SMF data, but was only
Aug 23, 2010   for "stand-alone" execution.  This update to VMACCIMS
               moved the "IMF-SMF-unique" logic inside the _CDECIMS code
               and (transparently) recognizes the input file is SMF or
               IMSLOG.  Member TYPEIMFS was then updated/simplified.
              -To add IMF processing to your BUILDPDB, you use the four
               EXPDBxxx exit members, with this syntax:
                 EXPDBINC:   %INCLUDE SOURCLIB(VMACCIMS);
                 EXPDBVAR:   MACRO _VARUSER _VARCIMS ...  %
                 EXPDBCDE:   MACRO _CDEUSER _CDECIMS ...  %
                 EXPDBOUT:   _CHAIN
                             _SIMFDBD
                             _SIMFDB2
                             _SIMFPGM
               and you must define the output DDNAME/DDNAMES for the
               one or four data libraries where you want your output
               datasets written, before the include of BUILDPDB?
                 - If you output to Disk, the same DDNAME can be used
                   for all four datasets, but,
                 - if you want to write your IMF data to tape, you must
                   have a separate DDNAME and DSNAME for each dataset
                   (because, internally, for performance run times, MXG
                   must open two of those datasets simultaneously, and
                   z/OS does not allow more than one dataset opened on
                   tape media).
                 %LET PIMFDBD=CIMSDBDS;   /*DEFINE OUTPUT DDNAMES */
                 %LET PIMFDB2=CIMSDB2;
                 %LET PIMFPGM=CIMSPROG;
                 %LET PIMFTRN=CIMSTRAN;
   Thanks to Denise Willers, Infocrossing, USA.
   Thanks to Ken Steiner, Infocrossing, USA.

Change 28.191  Cosmetic cleanup when ITRM validated MXG 28.05:
ASUM113       -VMAC84 variables R84FN, R84DMA and R84GMSMIN are now
CREATEBC       spelled R84FNFW, R84DMAV and R84_GMSMIN in the KEEP=. Two
PROCSRCE       instances of '97'x (ASCII) or '00'x (EBCDIC) are removed.
VMAC7072      -Detection of ASCII '97'x (long dash) added in PROCSRCE.
VMAC84        -And, detection of '00'x in the EBCDIC output created by
Aug 23, 2010   CREATEBC converts it to blank (in case the PROCSRCE error
               messages added above were overlooked!).
              -Temporary datasets ZxTYxxx created by TYPE113/ASUM113 are
               deleted. Temporary dataset BADINTRV is left intentionally
               in case you need to see which intervals were dropped.
              -Temporary TYPE70EC/TYPE70EL datasets are deleted; they
               are used to create the new PDB.TYPE70EN.
              -TYPE80A variable RACF329 is now spelled RACF320.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 28.190  MXG 28.05, QLACLOCN wrong if it is longer than 16 bytes.
VMACDB2        There is a fixed 16-byte field for QLACLOCN, but if that
Aug 20, 2010   remote location address is longer, it is "truncated", and
               a non-zero offset to the full "un-truncated" field exists
               but 28.05 incorrectly INPUT that longer field.  This has
               ONLY been seen with DB2 V9 with IPV6 IP addresses, which
               are usually 17-20 bytes long, but can be up to 39 bytes.
               2012: Not noted in 2010, QLACLOCN/QWHDSVNM were increased
               to $128.

Change 28.189  The COMPALL program requires REGION=1700MB to compile all
COMPALL        MXG members that process SMF records (to verify that they
VMACCMHM       can all be combined without conflicts for any temporary
Aug 20, 2010   variables). The program contained 407,097 source lines.
               It also exposed an error in VMACCMHM that did not have an
               IF ID=_IDCMHM THEN DO; code block.

Change 28.188  RMM INVALID NUMERIC DATA NE notes are produced when the
VMACEDGR       expiration date is "PERMANENT".  The DATE fields will be
Aug 19, 2010   missing values, like other non-date-expiration-dates, but
               the variables RDEXPDCH,RVEXPDTO, the "ORIGINAL*CHARACTER"
               expiration dates will contain PERMANENT, with no NOTES.
   Thanks to Sam Bass, McLane Co., USA.

====== Changes thru 28.187 were in MXG 28.05 dated Aug 18, 2010=========

Change 28.187 -First 28.05, JCLTESTx jobs only, VARIABLES NOT FOUND in
ASUM113        ASUM113 which is included automatically by TYPE113.
Aug 18, 2010   The ASUM113 member adds data from TYPE70PR when it is
               found, but incorrect logic in the new ASUM113 failed when
               there was no TYPE70PR dataset found. ASUM113 was revised.
               SMF records. The error was missed because JCLQASAS is the
               primary z/OS QA job now, and it (accidentally) always had
               a PDB.TYPE70PR created when the ASUM113 was executed.
                 I'll now ensure JCLTESTx is also tested for z/OS QA.
              -NEWSLETTER FIFTY-SIX is now dated August 18, 2010, as it
               should have been.

====== Changes thru 28.186 were in MXG 28.05 dated Aug 17, 2010=========

Change 28.186  Support for ThruPut Manager V6.2(PTF 6209) adds these
VMACTPMX       variables to dataset TYPETPMX:
Aug 17, 2010    DBS_SDBL DBS_SDPA DBS_SDPL PCS_EP PCS_MP PCS_PPSQ
               Other new fields could be created, but I can only
               update MXG for the data fields that exist in sample
               SMF records.
   Thanks to Scott Barry, SBBWorks, USA.
   Thanks to Rick Ralston, Humana, USA.

Change 28.185  Cosmetic.  TYPETMNT records with unexpected MSGID printed
VMACTMNT       log messages for every instance; now, only the first 10
Aug 17, 2010   instances will be printed.
   Thanks to Linda S. Berkley, DISA, USA.

Change 28.184  The syntax LIBNAME TYPE30 'D:\MXG\ANALDSET\TYPE30  \'; is
ANALDSET       not valid on PC SAS; the blanks before the back-slash
Aug 17, 2010   must be removed.
   Thanks to Sarel Swanepoel, South African Revenue, South Africa

Change 28.183  Documentation and cosmetic changes to DB2 102 data.
VMAC102       -QWP1IXPX contains the name of the default Buffer Pool; it
Aug 16, 2010   is $EBCDIC6 and replaced QWP1IXPL which was only $EBCDIC4
Aug 24, 2010  -QWP9MISC is now formatted $HEX2.
              -QWP1SCER, QWP4STHT, QWP4STRL, QWPBDB2S are now $EBCDIC1.
               instead of $CHAR1. and no longer formatted $HEX2., and
               their labels now contain ? to indicate they are Y/Ns.
              -QWP1BDUR/QWP1URCK/QWPBDLEN/QWPBTLEN/QWP1FLBX are CHAR
               variables with $HEX format, but they contain numbers.
               Rather than create a conflict of CHAR vs NUM variables,
               they are expanded to 3 bytes and the numeric value is now
               carried in the character variable.
              -QWP4ESC now formatted $HEX2. instead of $HEX4.
              -QWP4RMAX is the maximum number of RID blocks, for example
               147.  TMON reported QWP4RMAX=4,816,896, which (I think)
               is the number of bytes, because 147*32768=4,816,896.
              -IFCID=106 fields that are now input:
                QWP4MIS5 QWP4MS4B QWP4MS4D QWP4MS4E QWP4METR QWP4CHEC
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 28.182  MXG 28.05 is REQUIRED for APAR OA30563 and APAR OA33976,
VMAC30         which increased Service Unit fields in SMF 30 records to
Aug 16, 2010   8-bytes, but MXG 27.10 thru MXG 28.04 were in error and
Sep  9, 2010   caused VERY LARGE SERVUNIT values and in these variables
                 SERVUNIT CPUUNITS SRBUNITS IOUNITS MSOUNITS ENCLCPSU
                 IFEUNITS IFAUNITS ZIPUNITS ZIEUNITS
               and the CPU times that are calculated from Service Units
                 CPUTOTTM/SRVTCBTM/SRVSRBTM
               to all be extremely wrong when those APARs are installed.
               The variables are in TYPE30_4/TYPE30_5/TYPE30_V/TYPE30_6
               and PDB.JOBS/PDB.STEPS/PDB.SMFINTRV datasets.
               MXG 28.05 is required to support OA30563 and OA33976.

               FORTUNATELY: the SRVTCBTM/SRVSRBTM/CPUTOTTM time that are
               calculated from Service Units were created in MXG only
               for comparison with the real CPUTM/CPUTCBTM/CPUSRBTM time
               and are not used in any MXG reporting
               -because long ago it was claimed that using service units
                to calculate CPU times (TCB and SRB and TOTAL) was more
                accurate than the CPUTCBTM/CPUSRBTM/CPUTM variables that
                are in the SMF 30 record, a claim I have never been able
                to verify, as I have only seen VERY small differences
                between CPUTM and CPUTOTTM.
               Only these three calculated CPU times are wrong:
                 CPUTOTTM/SRVTCBTM/SRVSRBTM
               ALL other CPU time variables are correct and are NOT
               impacted by this error in service units in TYPE30.

               Originally, APAR OA26832 added 8-byte service unit fields
               to the PERF segment, increasing LENPERF to 192, but MXG
               Change 27.122 was wrong, testing for LENPERF GE 196, so
               that new code block was never being executed, and the
               new, longer service unit fields were never being input.
               But when OA30563/OA33976 added more fields that increased
               LENPERF to 211, so the code block was now executed, that
               exposed a second error in Change 27.122, where a +3 was
               coded instead of +6 to skip reserved field SMF30RS6,
               causing all variables after that +3 to be misaligned,
               with VERY large values in those service unit fields,
               which are used to calculate the service-unit-based CPU
               time variables CPUTOTTM, SRVTCBTM, and SRVSRBTM.
               The original change text cited RSU1006 as the cause, but
               that is not true; the two APARs happened to be installed
               along with RSU1006, causing the incorrect citation.
   Thanks to Jerry Urbaniak, Acxiom, USA.
   Thanks to Cheryl Watson, Watson and Walker, USA.

Change 28.181  Updates made as a result of MXG 28.05 QA jobstream:
ANALCAPD      -CLEARDB2 updated for new datasets created from DB2 SMF.
ANALRAID      -READDB2 suppresses sorts when PDBOUT=WORK, suppressed
ASUMCACH       sort of DB2GBPST, and some of the variables needed by the
ASUMDBAA       ANALDB2R program are created in the _S macros.
CLEARDB2      -ASUMCACH did not support DEVMODEL='3390A'; to avoid full
EXZCO02        sort of both TYPE74 and TYPE74CA, variable MODEL was
READDB2        created as a numeric, MAXed to carry thru in lieu of ID.
TRNDDBAA       But '3390A' caused INVALID ARGUMENT as it's not numeric.
VMAC42         Conflict resolved internally by making MODEL a HEX value
VMAC7072       and that will work until '3390G' DEVMODEL shows up.
VMAC74        -ANALRAID had site-specific ODS token
VMACDB2       -Cosmetic updates to ANALCAPD/ASUMDBAA/TRNDDBAA/VMXGDBAA
VMXGSRCH       VMXGSRCH/VMAC42/EXZCO02 and updates to VMAC7072/VMAC74.
Aug 15, 2010

Change 28.180 -Support for user-created MQNAME segment that creates the
IMACICUL       optional MQNAMECI variable in CICSTRAN dataset.
UTILEXCL
VMAC110
Aug 13, 2010
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.

Change 28.179  Utility to read PDS/PDSE directories of a concatenation,
UTILPDSL       assigning the level from 1 to X (x being the number of
Aug 11, 2010   libraries in the concatenation) to each member of each
               library, so a pair (for example, two JES2 PROCLIBs or
               two STEPLIBs, etc.) can be compared for member matches.
               Place your concatenation in the JCL (in the example it
               is a PROCLIB concatenation copied from SYS1.PROCLIB
               member JES2) and point the PDS= parameter at that DD.
               If you want the second report to contain ONLY those
               cases where a member first appears in a specific PDS,
               count down from the top of the concatenation to that
               PDS and use that as the LEVEL= parameter.  If that
               LEVEL= is empty, all members will be listed in the
               second of the two reports.  This could be used to
               determine if a PROCLIB (for example) has members that
               are being used.  If you specify LEVEL= and the second
               report is not there, then no members in that PDS are
               being referenced  in this particular concatenation.
               Reports:
                 1) The datasets in the concatenation
                 2) The PDS members, the dataset, and the level in
                    concatenation from whence they came.
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 28.178  Comments had the correct output FILENAME UOUT but the
UDEBLOCK       actual code had the FILENAME misspelled as UOW.  ALL of
Aug  9, 2010   the references are now corrected to UOUT.
   Thanks to Carl Sommer, SAS Institute, USA.

Change 28.177 -Modified to carry the SORTEDBY values into the output
BLDSMPDB       datasets. In addition, now uses the datasets in the
VMXGALOC       MON LIBNAME to determine which datasets will be kept
Aug  9, 2010   and the sort orders, and uses the WEEK1 LIBNAME for
ASUMDBSS       monthly processing.
ASUMDBAA      -If you need to build old data, you can use BLDSMPDB
Sep  9, 2010   but you need to specify RUNDAY=PDB,RERUN=ddmmmyy
               where ddmmmyy is the SAS date value you want to have
               in ZDATE. ZTIME will be set to midnight of that day.
              -ASUMDB2A and ASUMDB2B members have ASUMDBAA and
               ASUMDBSS alternates.
              -VMXGALOC did not allocate CICSTRAN and DB2ACCT libs
               as the doc said they did.  Now it does.  They are
               allocated as:
                 CICSTRAN is allocated as basedir\cicsddmmmyy
                 DB2ACCT as basedir\db2ddmmmyy
               both are retained based on the number of days specified
               by DB2KEEP and CICSKEEP, with defaults of 14.

Change 28.176  Support for SARMON, a free tool that converts SOLARIS SAR
EXNMONIS       data into the NMON format.  The home page of the tool is:
VMACNMON          http://www.geckotechnology.com/sarmon
VMXGINIT       Some changes were required to MXG to support SARMON data:
Aug  8, 2010   -TOP record with 'NaN' (a UNIX unique "NOT A NUMBER")
                which required protection with double question marks.
               -Array size of WORDS increased from 255 to 1024 because
                the SARMON 'IOSTATxxxx' records all contained 340 words.
               -NMON or SARMON data could be incorrectly processed if
                "descriptor records" were longer than 2048 bytes; the
                NMONTEXT INPUT was increased to $VARYING32000.
               -DISNAME was increased from $20 to $64 because SARMON
                DATA had longer "disk" names for the IOSTAT data.
               -SARMON RECTYPE=DISKSVCTM and DISKWAITTM are the same as
                NMON DISKSERV and DISKWAIT, with different WORD2 names.
               -Other SARMON DISKxxxx RECTYPEs have same spelling for
                both RECTYPE and WORD2 so they were automatically output
                and combined to create PDB.NMONDISK dataset.
              -Seven IOSTAT (BUSY/READ/WRITE/XFER/BSIZ/SERV/WAIT) data
               are supported and create new PDB.NMONIOST dataset with
               I/O statistics for the non-disk I/O.
              -SARMON objects WLMPROJECTCPU,WLMPROJECTMEM,WLMZONECPU,
               WLMZONEMEM, and PROCSOL are supported and those variables
               are output in the PDB.NMONINTV dataset.
   Thanks to Marc-Antoine Gouillart, AMF, FRANCE.

Change 28.175 -Support of z196 WITH MORE THAN 64 ENGINES REQUIRES 28.05.
EXT11904        (Earlier MXGs will NOT contain any CPU data for engines
EXT11932         64-95 in TYPE70 and RMFINTRV datasets.
EXT11933      -A z196 with LESS THAN 64 engines with z/OS 1.11-1.09 does
EXT11934       NOT require MXG 28.05.
EXT11935      -Support of z/OS 1.12 enhancements requires MXG 28.05.
EXT11935      -DO NOT USE MXG 28.04 to read z/OS 1.12 RMF data, due to
EXT11936       errors (including ARRAY SUBSCRIPT OUT OF RANGE in ID=70),
EXT11937       and other errors in VMAC74 processing with MXG 28.04.
EXT11948      -MXG 28.03 and earlier MXG Versions that support 1.11 data
EXT11949       TOLERATE z/OS 1.12 records, but with no new data fields.
EXT11950
EXT11951      -The TYPE70 architecture is revised for z196s with 64 plus
EXT11952       engines.  Sixty-four sets of variables for CPUs 0-63 are
EXT11973       still in TYPE70, but no new variables for CPUs 64+ were
EXT11974       created in this change.  Instead, the new PDB. YPE70EN
EXT11975       "CPU Engine" dataset is created with one set of names and
EXT11976       with one observation for EACH engine, with no limit to
EXT11977       the number of engines, ever, should you actually need to
EXT11978       know the metrics for a specific MVS TYPE70 CPUID.
EXT11979      -The PDB.TYPE70PR dataset will also contain an observation
EXT11980       for every LCPUADDR.
EXTY4226
EXTY9033       All of the z/OS 1.12 changes are COMPATIBLY made.
EXTY9034
FORMATS       -TYPE7    New variables:
VMAC113          SMF7DTYP SMF7LSD  SMF7DRP  SMF7LSN
VMAC30        -TYPE30   New variables:
VMAC42           The CPITCBTM and CPISRBTM "Initiator" CPI CPU times
VMAC64           are split into their "INIT" versus "TERM" events in
VMAC7            four new CPI variables in TYPE30_4/STEPS data:
VMAC7072           CPISRITM='CPI*SRB*STEP*INIT'
VMAC74             CPISRTTM='CPI*SRB*STEP*TERM'   (Sum is CPISRBTM)
VMAC89             CPITCITM='CPI*TCB*STEP*INIT'
VMAC90A            CPITCTTM='CPI*TCB*STEP*TERM'   (Sum is CPITCBTM)
VMACDCOL           SMF30CAI='CAPACITY*ADJUSTMENT*IND'
VMXGINIT           SMF30CCR='CAPACITY*CHANGE*REASON'
Aug  8, 2010       SMF30CHC='CAPACITY*CHANGE*CNT'
Aug 15, 2010       SMF30ACR='RCTPCPUA*ACTUAL'
                   SMF30NCR='RCTPCPUA*NOMINAL'
                   SMF30SCF='RCTPCPUA*SCALING*FACTOR'
                   SMF30PCF='CAPACITY*FLAGS'
                 Note that these CPI times are NOT captured in RMF 72s,
                 and previously the INIT/TERM CPU times were lumped into
                 one bucked.  Now, you can assign the "INIT" CPU time
                 to the INITTIME interval and the "TERM" CPU time to the
                 TERMTIME interval and improve the capture ratio.
              -TYPE42  New Dataset: TYPE4226 NFS CREATE/DELETE/RENAME
                 The documentation of the subtype 7 and 8 and the new 26
                 are in the Network File System Guide and Reference.
              -TYPE42   New variables:
                 Dataset: TYPE42VS:
                          SMF42VNL='VOLUME NAME LIST'
                 Dataset: TYPE42NF and TYPE42NU:
                          SMF42CI6='IPV6*ADDRESS*OF CLIENT HOST'
              -TYPE64   New variables:
                 SMF64FD1 SMF64FD2 SMF64DAU
              -TYPE70   New variables:
                 SMF70CR  SMF70ZEI
                 SMF70NCR SMF70NPR SMF70NTR SMF70CAI SMF70CCR
                 SMF70SRM SMF70CMN SMF70CMM SMF70CTT SMF70DMN SMF70DMM
                 SMF70DTT SMF70EMN SMF70EMM SMF70ETT SMF70U00-SMF70U15
              -TYPE70PR New variables:
                 SMF70TCB SMF70SRB SMF70NIO SMF70SIG SMF70WTD
                 APAR OA29820 also added SMF70WTD "LPAR Overhead"
              -TYPE70X2 New variables:
                 R7024MSK R7023MET R7023MEC
              -TYPE72GO New variables:
                 R723NADJ R723CECA
              -TYPE74CA New variables:
                 R7451CT5 R7451CT6
              -TYPE747P New variables:
                 R747PAND
              -TYPE748  New variables:
                 R748LFLF R748LFLY R748LFLS R748LFPQ R748LFIT R748LFCR
                 R748LFR1 R748LFR2 R748LFIF R748LFOD R748LFOA R748LFDF
                 R748LFIO R748LFTC R748LFBC
              -TYPE748A New variables:
                 R748AAS0 R748AAS2 R748AAS3 R748AAS4
              -TYPE748R New variables:
                 R748RTQ
              -TYPE748X New variables:
                 R748XPTQ
              -TYPE89   New variables:
                 SMF89CHC SMF89ACR SMF89NCR SMF89SCF SMF89CAI
                 SMF89CCR SMF89PCF
              -TYPE9033  New dataset with variables
                 SMF9033T SMF9033N SMF9033S
              -TYPE9034  New dataset with variables
                 SMF9034T SMF9034F SMF9034A SMF9034N SMF9034S SMF9034I
                 SMF9034R SMF9034F
              -TYPE113  New variables, but see also Change 28.166.
                 SM113CPT
              -TYPE119  New Datasets:
                 T11904  TYP11904  TCP PROFILE INFORMATION FOR STACK
                 T11932  TYP11932  DVIPA STATUS CHANGE
                 T11933  TYP11933  DVIPA REMOVED
                 T11934  TYP11934  DVIPA TARGET ADDED
                 T11935  TYP11935  DVIPA TARGET REMOVED
                 T11936  TYP11936  DVIPA TARGET SERVER STARTED
                 T11937  TYP11937  DVIPA TARGET SERVER ENDED
                 T11948  TYP11948  CSSMTP CONFIGURATION DATA
                 T11949  TYP11949  CSSMTP TARGET SERVER CONNECTION
                 T11950  TYP11950  CSSMTP MAIL
                 T11951  TYP11951  CSSMTP SPOOL
                 T11952  TYP11952  CSSMTP STATISTICS
                 T11973  TYP11973  IPSEC IKE TUNNEL ACTIVATE
                 T11974  TYP11974  IPSEC IKE TUNNEL DEACTIVATE
                 T11975  TYP11975  IPSEC DYNAMIC TUNNEL ACTIVATE
                 T11976  TYP11976  IPSEC DYNAMIC TUNNEL DEACTIVATE
                 T11977  TYP11977  IPSEC DYNAMIC TUNNEL ADDED
                 T11978  TYP11978  IPSEC DYNAMIC TUNNEL REMOVED
                 T11979  TYP11979  IPSEC MANUAL TUNNEL ACTIVATE
                 T11980  TYP11980  IPSEC MANUAL TUNNEL DEACTIVATE
                 -TYP11904 dataset is NOT decoded, it has 21 sections
                  and I hope NO ONE EVERY wants it decoded, but if you
                  REALLY do, then please send an example SMF record.
                 -TYP11948-TYP11952 CSSMTP common segments are decoded
                  but not all subtype-specific segments are, since I
                  have no data records.
                 -TYP11948-TYP11952 IPSEC common segments are decoded
                  but not all subtype-specific segments are, since I
                  have no data records.
              -Many of the new 119 datasets contain IPV6 IP addresses,
               which are a $CHAR16. field with hexadecimal values that
               are expanded to a 39-byte text field with colons.
               This 16-byte hex value in the SMF record
                      '0123456789ABCDEF0123456789abcdef'X
                      '7CC3C1E2000000050000000000003000'X
               is printed in ftp connection messages as
                       0123 4567 89ABCDEF  cdef
                       7CC3:c1e2:00000005::3000
               is expanded to this 39-character text field in MXG:
                    0123:4567:89AB:CDEF:0123:4567:89AB:CDEF
               This code creates the 39-byte recognizable text value:
                INPUT CHAR16IP $CHAR16. @;
                IPADR6=PUT(INPUT(SUBSTR(CHAR16IP,1,2),$CHAR2.),$HEX4.)
                       !!':'!!
                       PUT(INPUT(SUBSTR(CHAR16IP,3,2),$CHAR2.),$HEX4.)
                       !!':'!!
                       PUT(INPUT(SUBSTR(CHAR16IP,5,2),$CHAR2.),$HEX4.)
                       !!':'!!
                       PUT(INPUT(SUBSTR(CHAR16IP,7,2),$CHAR2.),$HEX4.)
                       !!':'!!
                       PUT(INPUT(SUBSTR(CHAR16IP,9,2),$CHAR2.),$HEX4.)
                       !!':'!!
                       PUT(INPUT(SUBSTR(CHAR16IP,11,2),$CHAR2.),$HEX4.)
                       !!':'!!
                       PUT(INPUT(SUBSTR(CHAR16IP,13,2),$CHAR2.),$HEX4.)
                       !!':'!!
                       PUT(INPUT(SUBSTR(CHAR16IP,15,2),$CHAR2.),$HEX4.);
              -TYPE119  New Variables:
                 TYP11902: TTTTLSFP
                 TYP11903: FCCCONID FCDCONID
              -DCOLLECT:  Added to DCOLDSET:
                 DCDDS9F1 DCDJBNMC DSCSTNMC DCDTIMEC
              -DCOLLECT:  Added to DCOLDC:
                 DDCFCT   DDCBLMT  DDCCFS   DDCDVCS  DDCFSCAL
                 DDCFRLOG DDCFRLGS DDCFEXTC DDCFA2GB DDCFPSEG
                 DDCFKYL1 DDCFKYC1 DDCFKYL2 DDCFKYC2 DDCFVSP DDCFSDB
                 DDCFVORD DDCFCAR
                 DDCCT    DDCDSCF  DDCRBYTE DDCBLKLM DDCBSZLM DDCTAPE1
                 DDCPSCA  DDCPSEG  DDCVSP   DDCVSPV  DDCKLBL1 DDCKLBN1
                 DDCKYCD1 DDCKLBL2 DDCKLBN2 DDCKYCD2
              -Internally, in VMAC7072, thirty-two sets of variables ARE
               created for engines 64-95 and used to create the TYPE70
               measurements, with these variable name suffixes:
               Variables   CPUID  SUFFIX   CPUID  SUFFIX   CPUID  SUFFIX
               (All other) 00-09  D0-D9    10-21  DA-DL    22-34  DN-DZ
                           35-60  ZA-ZZ    61-86  YA-YZ    87-95  VA-VI
               Variables
                PCTxxxBss  00-09  Y0-Y9    10-21  YA-YL    22-34  YN-YZ
                  where xxx= CPB CIB IFB ZIB (all other PCT are above).
               And four new formats are created that map these pairs of
               suffix and CPU numbers (but probably will never be used):
                $MG070SC  maps suffix to "all other" variable CPU Number
                $MG070CS  maps CPU number to "all other" suffix
                $MG070SP  maps suffix to "four PCT" variable CPU Number
                $MG070PS  maps CPU Number to "four PCT variable suffix

Change 28.174  The variable ZDATE in all MXG datasets is "ZEE DATE WHEN
IMACZDAT       ZEE OBS WAS CREATED" and it is used as both an audit date
Aug  6, 2010   and for selection of which observations are kept in MONTH
               PDB's in MONTHBLD and BLDSMPDB.  If you have to rebuild
               a PDB library, you must change the ZDATE to have the
               correct date, or data can be lost when in the MONTH PDB.

               Previously, you had to EDIT the IMACZDAT member, but you
               can instead use this DATA step to set the ZDATE value:

                  DATA _NULL_;
                  DATE='01JUL2010'D;
                  TIME=PUT(DHMS(DATE,0,0,0),32.);
                  DATEC=PUT(DATE,16.);
                  CALL SYMPUT('ZDATE',DATEC);
                  CALL SYMPUT('ZTIME',TIME);
                  RUN;
                  %LET MXGZDATE=%QUOTE(
                    ZDATE=&ZDATE;
                    ZTIME=&ZTIME'
                  );
                  %INCLUDE SOURCLIB(BUILDPDB);
           Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.173  Variable ZIPTM was used in GRAFWRKX to carry the zIIP
GRAFWRKX       time, but it already existed in RMFINTRV as the total of
Aug  5, 2010   the TYPE72GO zIIP time, it was included as uncaptured
               zIIP time on the bar charts.  Now the uncaptured zIIP and
               IFA/zAAP times are correctly calculated for the charts.

Change 28.172  CA-Dispatch Version 11 type SMF 6 INCOMPATIBLY CHANGED by
IMACCADI       the insertion of fields, causing INVALID JESNR messages.
VMAC6          There is no "version" field in CA's record, so a test for
Aug  5, 2010   LENGTH=347 AND SMF6LN1=287 is used to identify V11 data.
               These new variables are created:
                  CADIATYP CADIDJDC CADIDPLX CADIEFRM CADIJDEI
                  CADIJDLI CADIOLVR CADIPASS CADIPCR  CADIPRTR CADIXFRM
   Thanks to Glenn Bowman, Wakefern, USA.

Change 28.171  IFLs only, MXG 28.01+, STARTIME was a missing value in
VMXG70PR       the PDB.ASUM70LP dataset.
Aug  3, 2010
   Thanks to William Edwards, Blue Cross Blue Shield of Florida, USA.
   Thanks to Bob Maple, Blue Cross Blue Shield of Florida, USA.

Change 28.170  Cosmetic.  LOG=NO and NOEXIMSG=NO added to VGETOBS to
VMXGFIND       suppress unneeded/unwanted log messages, and MXGNOTE
Jul 29, 2010   added at the end to report how many datasets were found
               with matching values.

Change 28.169 -New ANALCAPD analysis will estimate the impact of setting
ANALCAPD       a Defined Capacity limit, at the CEC level, with both a
Jul 29, 2010   text report and a graph (if SAS/GRAPH is found) or plot
Aug 14, 2010   (if no SAS/GRAPH) of the intervals which might be limited
               by a cap, i.e., intervals where the rolling four hour
               average exceeded the Cap value that you specified.
               Arguments:
                 PDB=PDB     Libname where the ASUMCEC dataset is found
                 DEFCAP=130  MSU Value of the CAP you want to examine
                 INTERVAL=HOUR  Must match the ASUMCEC interval
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.168 -New MULTIPDB utility will creates a new SAS DATA library
MULTIPDB       with ALL of the datasets that exist in the list of input
VGETSORT       data libraries to be read.  If a dataset is sorted in all
VGETLIBS       of the input data libraries, the output dataset will also
Jul 27, 2010   be sorted. Options for KEEPing or DROPing datasets by
Aug  9, 2010   name is supported, and the input list can use a colon as
               a wildcard to read all DDs starting with that string.
                 // EXEC MXGSAS
                 //PDB1 DD DSN=PDB(0),DISP=SHR
                 //PDB2 DD DSN=PDB(-1),DISP=SHR
                 //PDB3 DD DSN=PDB(-2),DISP=SHR
                 //PDB4 DD DSN=PDB(-3),DISP=SHR
                 //MON  DD DSN=PDB.MON,DISP=SHR
                 //TUE  DD DSN=PDB.TUE,DISP=SHR
                 //NEW  DD DSN=PDB.COMBINED,DISP=(,CATLG)......
                   %MULTIPDB(INLIBS=PDB: MON TUE,OUTLIB=NEW);
               will create all datasets found in all of the INLIBS= into
               the //NEW data library.
              -VGETSORT added parameters for efficiency and to reduce
               the number of messages written to the SAS log.
              -New VGETLIBS %MACRO will take a list of LIBNAMEs and see
               if they exist and what engine they were created by.
               The list of libnames and engines are returned, and used
               by MULTIPDB to determine if the INLIBS= libnames exist.
               If none of the LIBNAMES in INLIBS= are found, MULTIPDB
               terminates.

Change 28.167  Variables NDMCERT and NDMCERI are added to NDMCT dataset.
VMACNDM
Jul 27, 2010

Change 28.166  Revised, enhanced support for TYPE113 SMF records, based
ASUM113        on John Burg's SHARE Boston 2010 Presentation.
FORMATS       -PDB.TYPE113 dataset contains the complete detail level,
VMAC113        with an observation for each CPU Address, while the new
TYPS113        PDB.ASUM113 dataset, created by revised ASUM113, has all
TYPS113E       of the counters summed for each LPAR for each interval;
Jul 27, 2010   This PDB.ASUM113-level is used to calculate the RNI for
Aug 12, 2010   each LPAR for zPCR; while all the new variables are also
               created in TYPE113 dataset, IBM recommends that the LPAR
               summary PDB.ASUM113 data be normally used.
              -The ASUM113 program will look for PDB.TYPE70PR dataset in
               the same PDB library as TYPE113, and if found, it is used
               to add variables CPUTYPE CECSER LPARWLMG and SMF70HDM in
               both PDB.TYPE113 and PDB.ASUM113.
              -The TYPS113E "Enhanced" standalone program reads 70 & 113
               SMF to create both PDB.TYPE113 and PDB.ASUM113 with the
               TYPE70PR variables added.
             - New RNI metric is created in TYPE 113, additional metrics
               are calculated, and SM113VN2 is formatted to identify if
               the processor type is z10 or a new z196.
              -SM113VN2=1 for z10, SM113VN2=2 for z196; new MG113VN
               format will print z10 or z196.
              -Relative Nest Intensity calculations for the z10 and z196
               are added to dataset TYPE113 using these two algorithms,
               but only the new variable RNI is actually created:
                 Z10RNI =(1.0*L2LP+2.4*L2RP+7.5*MEMP)/100.
                 Z196RNI=1.6*(0.4*L3P+1.0*L4LP+2.4*L4RP+7.5*MEMP)/100
              -Users will need to know the RNI to determine the correct
               LSPR workload for the latest LSPRs, which is documented
               in the new LSPR Manual on ResourceLink:
               https://www-304.ibm.com/servers/resourcelink/lib03060.nsf
                     /pages/lsprindexpdf/$file/SC28118714_20100714.pdf
              -New variables are created in TYPE113:
                z196 only:
                 L2P ='PERCENT*SOURCED*FROM*L2*CACHE'
                 L3P ='PERCENT*SOURCED*FROM*L3*CACHE'
                 L4LP='PERCENT*SOURCED*FROM*L4*SAME BOOK'
                 L4RP='PERCENT*SOURCED*FROM*L4*DIFFERENT*BOOK'
                z10 and z196, but different equations for each CEC:
                 ESTICCPI='ESTIMATED*INSTRUCTION*COMPLEXITY*CPI'
                 ESTFINCP='ESTIMATED*CPI FROM*FINITE*CACHE/MEM'
                 ESTSCP1M='ESTIMATED*SOURCING*CYCLES*PER L1 MISS'
                 RNI     ='RELATIVE*NEST*INTENSITY'
                 EFFGHZ  ='EFFECTIVE*GIGAHERTZ*CYCLES*PER NANO'
                 TLB1MISS='TLB*CPU MISS*PERCENT OF*TOTAL CPU'
                 TLB1CYCL='CYCLES*PER*TLB*MISS'
                 PTEPCTMI='PAGETABLE*ENTRY*PCT OF TLB*MISSES'
              -These z10-only variables have missing values (i.e., not
               calculated for z196): L15P L2LP L2RP. (Added 26Aug2011).
              -SM113CPT was not kept in the TYPE113 dataset.
              -If a counter reset is found in one counter, that entire
               interval from that SYSTEM/LPAR is deleted.
              -The original logic attempted to correct when counters
               wrapped, by creating the value of a full 8-bytes 'FF'x,
               to add when wrap was detected:
                  IF EIGHTFFF=. THEN DO;
                    CHAR8FFF='FFFFFFFFFFFFFFFF'X;
                    EIGHTFFF=INPUT(CHAR8FFF,&PIB.8.);
                    RETAIN EIGHTFFF;
                    DROP CHAR8FFF;
                  END;
               and that worked fine on PC SAS. But on z/OS, the value of
               EIGHTFFF is ZERO, instead of the expected 1.8E+19 value.
               SAS Support has recognized this as a defect (that has
               been that way since SAS V6 on z/OS), so this iteration
               will just delete intervals if the counter wrapped.
              -John's SHARE paper had some missing counters for the z196
               equations that are included in this MXG update and will
               be in his final version of that paper:
                 L4LP adds EXTND152 and EXTND155
                 L4RP adds EXTND134 and EXTND143
                 MEMP subtracts EXTND134 and EXTND143
              -The ANAL113 program print's the report on page 26 of his
               paper, and also prints the counters that are used to
               create that report for each LPAR for each interval, using
               the PDB.ASUM113 dataset as input.
              -I will update MXG ANALZPCR to use RNI in a later change.
              -APAR OA30486 became available in Oct, 2010, back to z/OS
               1.10, adding SMFINTVAL=SYNC so that SMF 113 records can
               be synchronized with your SMF and RMF interval data.
   Thanks to Cheryl Watson, Watson & Walker, USA.
   Thanks to Scott Barry, SBBWorks, USA.
   Thanks to John Burg, IBM, USA.
   Thanks to Tony Hirst, Wells Fargo, USA.
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 28.165  IMS Statistics Log Record LCODE=56x TPCPSSTY='09'X record
VMACIMS        caused INPUT STATEMENT EXCEEDED RECORD LENGTH.  The DO
Jul 26, 2010   group for the '09'x subtype was incorrectly located.
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.

Change 28.164  Support for SMF 119 new subtypes 32-37 and 48-52.
EXT11932       Nineteen new datasets are created (but not yet data'd).
EXT11933
EXT11934          dddddd  Dataset   Description
EXT11935          T11932  TYP11932  DVIPA STATUS CHANGE
EXT11936          T11933  TYP11933  DVIPA REMOVED
EXT11937          T11934  TYP11934  DVIPA TARGET ADDED
EXT11948          T11935  TYP11935  DVIPA TARGET REMOVED
EXT11949          T11936  TYP11936  DVIPA TARGET SERVER STARTED
EXT11950          T11937  TYP11937  DVIPA TARGET SERVER ENDED
EXT11951          T11948  TYP11948  CSSMTP CONFIGURATION DATA
EXT11952          T11949  TYP11949  CSSMTP TARGET SERVER CONNECTION
EXT11973          T11950  TYP11950  CSSMTP MAIL
EXT11974          T11951  TYP11951  CSSMTP SPOOL
EXT11975          T11952  TYP11952  CSSMTP STATISTICS
EXT11976          T11973  TYP11973  IPSEC IKE TUNNEL ACTIVATE
EXT11977          T11974  TYP11974  IPSEC IKE TUNNEL DEACTIVATE
EXT11978          T11975  TYP11975  IPSEC DYNAMIC TUNNEL ACTIVATE
EXT11979          T11976  TYP11976  IPSEC DYNAMIC TUNNEL DEACTIVATE
EXT11980          T11977  TYP11977  IPSEC DYNAMIC TUNNEL ADDED
VMAC119           T11978  TYP11978  IPSEC DYNAMIC TUNNEL REMOVED
VMXGINIT          T11979  TYP11979  IPSEC MANUAL TUNNEL ACTIVATE
Jul 25, 2010      T11980  TYP11980  IPSEC MANUAL TUNNEL DEACTIVATE

Change 28.163  The code for TMON/DB2 has been updated to "standard" MXG
VMACTMDB       structure; the original code did not define the _Vdddddd
Jul 23, 2010   macros, and the _Sdddddd dataset sort macros were DATA
               steps rather than PROC SORTS.
   Thanks to Ernie Amador, UC Davis Health System, USA.

Change 28.162  Support for ITRF adds variables to ITRFDATA and ITRFSUM
VMACITRF       datasets to support ITRF V420 IF2.
Jul 22, 2010

Change 28.161  Example 3 was missing the second close-paren in both of
TIMEBILD       the %TIMEBILD invocations.  The execution just hung with
Jul 21, 2010   no error message nor clue, except for an astute user.
   Thanks to Graham Cornwall, Donovan Data Systems, ENGLAND.

Change 28.160 -CleverView for TCP/IP TN3270 variable CTCPIPAD was wrong,
VMACCTCP       with constant value of 64.64.64.64, now corrected.
Jul 21, 2010  -The CVTTZ GMT Offset field was added to the SMF record,
               and when it exists is used to correct the CTCPTIME STCK
               value to the local clock.  CTCPTIME is the Start Time of
               the session and will be constant for all intervals for
               that session.
              -The interval records cannot be SYNC'd with SMF intervals.
              -The CTCPHOST (HOST APPLICATION NAME) can be blank, when
               the user has not yet logged on.
   Thanks to John Howard, Florida Northwood Shared Center, USA.

Change 28.159  This example to use BLDSMPDB to write daily PDBs to a GDG
GDGDAILY       did not pick up yesterday's SPIN data library.
Jul 20, 2010

Change 28.158  Support for APAR OA31648 adds new counters to show how
VMAC42         many retries were performed to obtain buffer latches to
Jul 19, 2010   satisfy record management requests.  From APAR text:
                -If a client has a serious application contention issue
                 while accessing buffers to read data, there is no
                 external indication or measurement data to show this
                 reason for delay.
                -While primary serialization in RLS is at the record
                 level, there is still a need for SMSVSAM to perform
                 very short term serialization of the local buffer
                 containing the CI in order to maintain integrity of the
                 local buffer pool.
                -When contention is excessive, a single record
                 management request may need to retry an obtain for the
                 buffer latch many times.  A small amount of contention
                 is normal, so displaying latches at a given point in
                 time does not give an indicator of how long a request
                 may have been delayed.
               Variables SMF42GRW and SMFA2GRW are added to datasets
               TYPE42D1 and TYPE42D3 respectively.

Change 28.157  Support for VM ACCOUNT ID='09' for ISFC (Inter-System
EXVMISFA       For Communications) record creates five datasets:
EXVMISFE
EXVMISFI          dddddd    Dataset    Description
EXVMISFL          VMISFA     VMISFA    ISFC ACTIVE CONVERSATION
EXVMISFS          VMISFE     VMISFE    ISFC END CONVERSATION
FORMATS           VMISFI     VMISFI    ISFC INITIATE CONVERSATION
VMXGINIT          VMISFL     VMISFL    ISFC LINK STATISTICS
TYPEVM            VMISFS     VMISFS    ISFC START CONVERSATION
Jul 19, 2010
   Thanks to Greg Reed, Travelport GDS, USA.
   Thanks to Rick Stuchell, Travelport GDS, USA.

Change 28.156  Support for IFCID=27 decodes QW0027SP and QW0027NR and
FORMATS        decodes and formats QW0027OZ.
VMAC102
Jul 18, 2010
   Thanks to Victoria Lepak, Aetna, USA.

Change 28.155  MXG 28.04, only if _N7072 is used.  The output of the new
VMAC7072       temporary TYPE70EC and TYPE70EL datasets now names their
Jul 17, 2010   _WTY70EC and _WTY70EL tokens so that _N7072 can be used.
   Thanks to Kim Westcott, State of New York, USA.

Change 28.154 -MXG detection of inserted or excluded fields in CICS 110
VMAC110        is enhanced by test for CPUTM GT 2*ELAPSTM that prints
Jul 18, 2010   error messages if true.  Previous IF TASKNR=. tested the
Jul 21, 2010   only Packed Decimal field, which is a missing value if
               MXG was out of alignment, but that could overlook new
               inserted fields after the location of Task Number.
              -Spurious message that STID=110 had skipped data removed;
               the SKIP=SKIP-604 should have been SKIP=SKIP-652, but the
               CICW2R dataset was correct in spite of that message.
              -Variable PGDPGM, Program Name, was not kept in dataset
               CICPGD, nor was it labeled, a major oversight as all of
               the information in CICPGD Statistics are for the program!
   Thanks to Victoria Lepak, Aetna, USA.
   Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 28.153  XAM TCP datasets TOTCPU were incorrectly divided by 100.
VMACXAM
Aug 15, 2010

====== Changes thru 28.152 were in MXG 28.04 dated Jul  5, 2010========

Change 28.152  Support for zTPFC, TPF Continuous Monitoring has a few
EXTPFC92       fields added to existing datasets and two new datasets
EXTPFC98       added by this change
IMACTPFC
VMACTPFC          DDDDDD    DATASET   Description
Jul  2, 2010
Jul 21, 2010      TPFC92    TPFC92    LPAR UTILIZATION
                  TPFC98    TPFC98    DASD SERVICE TIME
   Thanks to Bob Wilcox, HP, USA.

Change 28.151  Support for zCost AutoSoftCapping V 1.5.00 user SMF
EXZCO01        record, which replaces the TDSL product with these three
EXZCO02        new datasets:
EXZCO03
IMACZCOS          dddddd    dataset   description
TYPEZCOS
TYPSZCOS           ZCO01     ZCOS01    ZCOST CPC
VMACZCOS           ZCO02     ZCOS02    ZCOST LPAR
VMXGINIT           ZCO03     ZCOS03    ZCOST SYSPLEX/CPC
Jul  2, 2010
   Thanks to Alan Delaroche, zCostServices, FRANCE.

Change 28.150  Type 42 subtype 15 did not protect for new data, and the
VMAC42         addition of variables SMF42FAI and SMF42FAJ caused the
Jul  1, 2010   second and subsequent segments to be misaligned with bad
               data values resulting in TYPE42S1 dataset.
   Thanks to Michael Friske, FMR, USA.

Change 28.149  Sample reports had typos, corrected.
ANAL119
Jun 30, 2010

Change 28.148  TMS DEVTYPE was blank for TRTCH 'F0'X thru 'FF'x, which
VMACTMS5       are now decoded as 3592 or Titanium devices.
Jun 28, 2010
   Thanks to Scott Barry, SBBWorks, USA.

Change 28.147  Another kewl tool.  Will search data libraries for all
VMXGSRCH       variables that match a specific character string.
Jul  4, 2010   You can:
               -PRINT X OBS of every dataset where any variable has
                 a match
               -PRINT X OBS of every dataset where any variable has
                 a match and copy all of the OBS to some other DD
               -or just get a count of the number of variables and
                datasets and obs that have a match.

               Example 1: PRINT ALL OBS IN ALL DATASETS WHERE
                 the value of any variable is CHUCK.
               %VMXGSRCH(LIBNAME=_ALL_,RESULTS=PRINT,VALUE=CHUCK);

               Example 2: PRINT/copy ALL OBS IN ALL DATASETS WHERE
                 the value of any variable is CHUCK.
               %VMXGSRCH(LIBNAME=_ALL_,RESULTS=PRINT,VALUE=CHUCK,
                  COPYTO=WORK);

               Example 3: PRINT/copy ALL OBS IN ALL DATASETS WHERE
                 the value of any variable is CHUCK, but suppress
                 the NOTES on the log (and there are LOTS of them).
               %VMXGSRCH(LIBNAME=_ALL_,RESULTS=PRINT,VALUE=CHUCK,
                  COPYTO=WORK,LOG=NO);

               Example 4: COUNT just tell me how many variables
                 in how many datasets and obs have a match.
               %VMXGSRCH(LIBNAME=_ALL_,RESULTS=COUNT,VALUE=CHUCK,
                  LOG=NO);
   Thanks to Chuck Hopf, Independent Consultant, USA.
   Thanks to Scott Barry, SBBWorks, USA.

Change 28.146 -Major enhancement to DB2PM-like reporting in ANALDB2R
ANALDB2R       which has been upgraded to support DB2 V9 data, and is
ASUMDBAA       internally completely revised to make maintenance simple
EXDB2ACR       in the future.
FIXDB2A       -And, a MAJOR change in PDB.DB2ACCT Buffer Pool data:
TRNDDBAA       Four sets of DB2 Buffer Pool variables QBnCxxx in DB2ACCT
VGETOBS        DB2ACCTP and DB2STATS are redefined and contents changed.
VMACDB2        QB1Cxxx variables contain the 4K Buffer Size counters,
VMACDB2H       QB2Cxxx variables contain the 8K Buffer Size counters,
VMXGDBAA       QB3Cxxx variables contain the 16K Buffer Size counters
VMXGDBSS       and QB4Cxxx variables now contain 32K Buffer counters.
Jul  4, 2010   Originally, the four sets of counters were for BP0, BP1,
Aug 14, 2010   all 4K, and all 32K, but then 8K and 16K counters were
               added into the QB4Cxxx variables, making a real mess.
                 Individual Buffer Pool Statistics for EACH Buffer Pool
                 are available in the DB2ACCTB and DB2STATB datasets.
              -New DB2ACCTR dataset is created with an observation for
               each QLAC segment (for each Remote Location) in the
               Accounting Records.  The QLACxxxx variables in DB2ACCT
               were previously from the first QLAC segment, but with
               this change, those variables will be from the last one.
               With hindsight, had I known there could be multiple QLACs
               in an accounting record, I would have created ONLY this
               DB2ACCTR dataset and would have not kept any QLACxxxx
               variables in DB2ACCT.  If there was only one Remote QLAC
               segment, then there is no change in DB2ACCT.

             *-All summarization of DB2ACCTx datasets now performed by
               new VMXGDBAA internal macro, called by ANALDB2R and
               ASUMDBxx and TRNDDBxx, replacing ASUMDB2A and ASUMDB2B.
             *-All summarization of DB2STATx datasets now performed by
               new VMXGDBSS internal macro, called by ANALDB2R and
               ASUMDBSS and TRNDDBSS.
             *-If you use the new ANALDB2R against old PDBs that do not
               contain ASUMDBAA or ASUMDBSS datasets, the FIXDB2A can
               be used to report from old ASUMDB2A/TRNDDB2A datasets, as
               close as possible to the new architecture, but many new
               report fields will be missing.

              -Correction to PDB.DB2STATS interval logic.
              -Number of SORTBY= variables for PMACC02 increased to 12.
              -Reports now as close to current as V7 DB2PM documents.
              -Future maintenance greatly simplified.
              -In prior releases if you asked for both PMACC01 and
               PMACC02 the input data was summarized twice.  Now only
               one summarization is needed.
              -PMACC01/PMACC02 will look for the ASUMDBAA or ASUMDBSS
               datasets and use them instead of the detail DB2ACCTx or
               DB2STATS dataset if they exist.
              -The original version of the accounting long report was
               written to output a full line at a time with a _NULL_
               data step.  But, DB2PM was written in sections and IBM
               could insert lines in different sections with each new
               release making maintenance a real nightmare.  Inserting a
               line in one section could result in touching hundreds of
               lines of the code.  PMACC02 is completely rewritten using
               the same structure - in sections - and outputs a page at
               a time rather than a line, which should make future
               enhancements much simpler.  Code comments indicate what
               section is being invoked.
              -And PMACC01 was rewritten, although it remains a line
               mode coding and report.  All four Accounting reports
               PMACC01/PMACC02/PMACC03/PMACC04 use the same inputs, and
               new VMXGDBAA summarizes all accounting data with datasets
               held in work to avoid an unneeded, now, resummarization.
              -Numerous glitches were found in the logic to create the
               PDB.DB2STATS dataset (from DB2STAT0/1/4/T102S225) that
               have been corrected.
               - GMTOFFDB calculation occasionally returned -14399.99
                 instead of -14400 due to the different resolutions of
                 QWHSSTCK (microseconds) and SMFTIME (10 milliseconds)
                 and truncation in the floating point representation.
                 GMTOFFDB algorithm enhanced to force exact hour.
                 This error caused the Local Time QWHSSTCK in DB2STAT0
                 to be later than the Local Time QWHSSTCK in DB2STAT1,
                 which caused me to believe that was an IBM error,
                 until I was corrected by DB2 Support that the subtype 0
                 is ALWAYS written first in each interval (when QWSDRINV
                 is '10'x, timer caused record to be written).
               - Logic in VMACDB2H to force QWHSSTCK to be the same for
                 each interval as SMF records were read was invalid when
                 multiple subsystems records were simultaneously written
                 with all the subtype 0's in a group, then their 1's.
                 Logic was removed, so the PDB.DB2STAT0/1/4 QWHSSTCK are
                 now the actual value in those datasets. In PDB.DB2STATS
                 the value from DB2STAT0 is propagated, and DB2START is
                 created with the "start time" of each stat interval.
                -NETSNAME construction was revised to test for FIRST8 to
                 also test LOCPERIO EQ 0 to populate NETSNAME correctly
                 when there was no period in the QWHCTOKN.
              -VMACDB2 corrected: DB2 V9.1 data with more than one QLAC
               segment caused "BAD TMON SUBTYPE 101 RECORD" message but
               the record was IBMs and the error was mine.  Length when
               there length in header was zero was not handled correctly
               for the second and subsequent QLAC sections.

Change 28.145  Cosmetic.  Enabling SAS Option MSGLEVEL=I printed four
VMAC7072       INFO: messages that are now eliminated just to avoid
VMXG70PR       confusion, as, (fortunately) there was no actual problem.
Jun 28, 2010   I have also added MSGLEVEL=I to the QASAS job.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.

Change 28.144  The VMXGPRNT utility that prints a single dataset with
VMXGPRNT       variable name and variable label as headers is enhanced
Jul  4, 2010   to allow you to select which variables are printed.
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 28.143  Support for z196 processor.  This Change is REQUIRED FOR
VMAC7072       more than 64 engines, and the support was in MXG 28.04.
Jul  4, 2010   See Change 28.175 for full documentation, and more.


Change 28.142  Variable
VMAC7072         SMF70NCA='PCT WHEN*CAPPING*LIMITED*THIS ENGINE'
Jun 23, 2010   is now kept in TYPE70 dataset.
   Thanks to Deb Soricelli, CIGNA, USA.

Change 28.141  Cosmetic.  The Last Updated Date/Change of UTILEXCL will
UTILEXCL       now be in a comment in the IMACEXCL member it creates.
Jun 23, 2010

Change 28.140  Major revision to SMF 113 support.
ASUM113       -TYPE113 now creates one obs per interval, with all four
VMAC113        sets of counters in one observation (instead of four obs,
Jun 23, 2010   each with one set of BASIC/PROGST/CRYPTO/EXTND counters).
Jun 28, 2010  -With all four counter sets in one obs, missing values in
               variables added in Change 28.075 are eliminated.
              -New variable SM113STM, Interval Start Time is created.
              -New variable MIPSEXEC, Executed Million Instructions/sec
               is created (but don't expect it to match published MIPS
               "speed" values). (Thanks: Peter Enrico).
              -The _STY113 dataset sort macro now tests //WORK and //PDB
               and if TYPE70PR exists, adds variables CPUTYPE (2098),
               SMF70CIN (Engine Type), CECSER, LPARWLMG (IRD FLAG),
               SMF70CPA (SU_SEC), SMF70HDM (HiperDispatch Active?), and
               SMF70CIX (Pool Number) to enhance PDB.TYPE113 dataset.
              -New ASUM113 accomplishes the same enhancement as _STY113,
               enhancing PDB.TYPE113 with those variables from TYPE70PR,
               if you have old TYPE113 and TYPE70PR in the same PDB.
              -The TYPE113 records are not synchronized with RMF/SMF so
               the Polarity value of each engine is not yet added, nor
               NRCPUS nor other non-static variables (i.e. can vary with
               time), but IBM plans an APAR that will sync the 113's
               with RMF/SMF, and MXG will add other TYPE70 variables and
               new TYPE73 variable to TYPE 113 when that APAR is GA.
              -The sort order of the PDB.TYPE113 dataset is now BY
                SYSTEM READTIME JOB SM113STM.
              -Occasional counter reset without a new interval flag have
               been observed and are now protected (by deletion of that
               interval) and detected (by printing an error message).
               This error can be the result of two known causes:
                1) Down level on the z10 micro-code.
                   The z10 needs to be at Driver 76 (GA2) and at least
                   at Bundle 20, as documented in John Burg's SHARE
                   paper.  Bundle 20 also fixed some counter errors.
                2) When IRD gets involved and varies off a CPU.  Varying
                   off by IRD does NOT cut a final record; instead, when
                   it is finally varied back on you get an Intermediate
                   record for that interval, and over an hour elapsed
                   has been observed before that intermediate record was
                   written when the CP came back online.
                   (Thanks: John Burg).
              -If you want create the enhanced PDB.TYPE113 dataset, and
               only create that one output dataset in the //PDB library:
                // EXEC MXGSASV9
                //SMF DD DSN=YOUR.SMF,DISP=SHR
                //PDB DD DSN=YOUR.TYPE113.PDB,DISP=(,CATLG),UNIT=SYSDA,
                //       SPACE=(CYL,(25,25))
                //SYSIN DD *
                  %LET PTY70=WORK;   %LET PTY70PR=WORK;
                  %LET PTY7002=WORK; %LET PTY70X2=WORK;
                  %LET PTY70Y2=WORK; %LET PTY72=WORK;
                  %LET PTY72DL=WORK; %LET PTY72GO=WORK;
                  %LET PTY7204=WORK; %LET PTY72MN=WORK;
                  %LET PTY72SC=WORK;
                  %UTILBLDP(BUILDPDB=NO,
                            USERADD=7072 113,
                            ZEROOBS=70.2 72,
                            OUTFILE=INSTREAM);
                  %INCLUDE INSTREAM; RUN;
                  PROC DATSETS DDNAME=WORK MT=DATA NOLIST;
                  DELETE TYPE7:;RUN;
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 28.139  These "recently" added SMF30xxx variables are now kept in
BUILD005       the PDB.STEPS dataset (but are not carried forward into
BUIL3005       the PDB.JOBS dataset, but might be in the future, based
Jun 23, 2010   on feedback from this change).
                  SMF30AIC='DASD CONNECT*ASID PLUS*DEPENDENT'
                  SMF30AID='DASD DISCONNECT*ASID PLUS*DEPENDENT'
                  SMF30AIS='DASD SSCH*ASID PLUS*DEPENDENT'
                  SMF30AIW='DASD PEND+CU*ASID PLUS*DEPENDENT'
                  SMF30ASP='ASID*DESIGNATED*STORAGE-CRITICAL?'
                  SMF30CCP='SRVCLASS*DESIGNATED*CPU-CRITICAL?'
                  SMF30CPR='ASID*CURRENTLY*CPU-PROTECTED?'
                  SMF30CSP='SRVCLASS*DESIGNATED*STOR-CRITICAL?'
                  SMF30EIC='DASD CONNECT*INDEPENDENT*ENCLAVES'
                  SMF30EID='DASD DISCONNECT*INDEPENDENT*ENCLAVES'
                  SMF30EIS='DASD SSCH*INDEPENDENT*ENCLAVES'
                  SMF30EIW='DASD PEND+CU*INDEPENDENT*ENCLAVES'
                  SMF30HSH='HWM*USABLE BYTES*IN 64-BIT*SHARED'
                  SMF30HSO='BYTES IN*64-BIT*SHARED*STORAGE'
                  SMF30HVA='HWM*AUX*SLOTS*BACK*64-BIT'
                  SMF30HVH='HWM*USABLE BYTES*IN 64-BIT*OBTAINED'
                  SMF30HVO='BYTES IN*64-BIT*STORAGE*OBTAINED'
                  SMF30HVR='HWM*REAL*FRAMES*BACK*64-BIT'
                  SMF30JPN='SUBCOLN*FROM*IWMCLSFY'
                  SMF30MRA='CPU*RATE*SU_SEC*FACTOR'
                  SMF30MRD='DEPENDENT*ENCLAVES*CPU*TIME'
                  SMF30MRI='INDEPENDENT*ENCLAVES*CPU*TIME'
                  SMF30MRS='SYSTEM*NAME*WHERE*ENCLAVES*RAN'
                  SMF30MSI='REMOTE*SYSTEM*DATA*INCOMPLETE?'
                  SMF30PFR='SRVCLASS*WAS MODIFIED*DURING*EXECUTION?'
                  SMF30SNF='ZIIP NORMALIZATION FACTOR'
                  SMF30SPR='ASID*CURRENTLY*STORAGE-PROTECTED?'
                  SMF30WMI='EXECUTING*IN*WLM*INITIATOR?'
                  SMF30ZNF='ZAAP NORMALIZATION FACTOR'
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 28.138  Support for SysView Subtype 3 record creates new dataset
EXSVTH03       SV03THRE='SYSVIEW THRESHOLD EXCEPTION 03'.
FORMATS
IMACSVIE
VMACSVIE
VMXGINIT
Jun 21, 2010
   Thanks to Mike Paladino, Progressive Insurance, USA.

Change 28.137  Support for BMC IMF records written in SMF Format in new
TYPEIMFS       member TYPEIMFS, which handles the SMF header, and sets
VMACCIMS       OFFIMS, and in updates to VMACCIMS, as not all of its
Jun 20, 2010   INPUTs and LENGTH tests included OFFIMS.  This iteration
               will ONLY process IMF 'FA'x and 'F9'x SMF record IDs in
               the infile SMF dataset.  TYPEIMFS creates the same MXG
               datasets in the same default LIBNAMEs as member TYPECIMS.
   Thanks to Denise Willers, Infocrossing, USA.
   Thanks to Ken Steiner, Infocrossing, USA.

Change 28.136  Variable R748CSER, the Controller Serial Number is now
VMAC74         kept in TYPE74A, TYPE748R and TYPE74X datasets.
Jun 24, 2010
   Thanks to Pat Jones, DST, Inc, USA.

Change 28.135  Cosmetic.  MXG Error messages when bad EXCP segments are
VMAC30         found now print the ABEND, CONDCODE, and ABNDRSNC values.
VMACEXC2       Precipitated by a series of error messages with bad EXCP
Jun 17, 2010   and MULC segments for jobs with SYSTEM 0D5 ABENDS.
Jun 24, 2010   The PUT of ABNDRSNC caused it to be defined as numeric
               when ANALALL was executed, because the VMACEXC2 was used
               first in SMF 4 record code, before ABNDRSNC was INPUT.
               Using PUT ... ABNDRSNC= $8; resolved that weird error.
   Thanks to Trevor Ede, HP, NEW ZEALAND.

Change 28.134  CICS Statistics Record INVALID STILEN=0 fortunately was
VMAC110        harmless, as it occurred after the STID=116 segment had
Jun 16, 2010   been output CICSJS.  MXG had read only 156 bytes of the
               164 bytes of STID=116, causing the error, now fixed.
   Thanks to Tom Buie, Southern California Edison, USA.

Change 28.133  Support for WebSphere SMF 120 Subtype 20 Job Usage data.
EXT12020       Has only been coded, records skipped until test data
VMAC120        exists for validation.
Jun 16, 2010   See Change 28.258.

Change 28.132  Replaced by Change 28.146.

Change 28.131  IMS Log 56x record subtype 15x caused INVALID DATA or
VMACIMS        INPUT STATEMENT EXCEEDED RECORD LENGTH errors. code was
VMACIMSA       relocated. Only the 15x variables are now kept in IMS56F
Jun 14, 2010   dataset.  STIMSID removed from all IMS56x datasets.
   Thanks to Lindholm Orjan, Volvo, SWEDEN.

Change 28.130  Correction to calculation of index space; value in the
ASMRMFV        RMFV018I message was slightly low, as 1111 was used in
Jun 10, 2010   the denominator instead the correct value of 1110.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 28.129  Support for DB2 Version 10. COMPLETELY INCOMPATIBLE:
EXDB2ACR      -All three DB2 records (100,101,102) can be compressed;
EXDB2ACW       For z/OS execution, the EXITCICS member's INFILE exit
FORMATS        now decompresses both DB2 and the original CICS records.
IMACDB2        For ASCII SAS, where there are no INFILE exits, or for
VMACDB2        z/OS without the exit installed, records are decompressed
VMACDB2H       with internal SAS code, but that is EXTREMELY EXPENSIVE
VMACSMF        on z/OS compared with using the INFILE exit, so MXG warns
VMXGINIT       that you should install the exit to save CPU time.
VMXGWORL
Jun 16, 2010
Jun 19, 2010
Jun 21, 2010



              -INVALID DATA FOR QWHSRELN is proof you have DB2 V10 SMF;
               QWHSRELN is not a valid "PK" value; it now has 'A1'x, so
               VMACDB2H was revised.  The value is 10.1, not 10.0.

              -And INPUT STATEMENT EXCEEDS RECORD error ABENDs may occur
               because fields were inserted rather than added at the end
               where MXG would have automatically skipped them.

              -Subtype in SMF Header INCOMPATIBLY increased from one to
               two bytes (because that's what it should have been all
               along.  However, only SMF 100 and 101 records populate
               the subtype in the SMF Header. VMACSMF was updated to get
               the DB2 version and then input the subtype correctly.
               (MXG has always stored the IFCID value in SUBTYPE for the
               DB2 102 trace records, since they don't have a subtype.)

              -New DB2ACCGW dataset is created for each QWAR segment,
               which can be used to correlate rollup records.

              -Multiple SMF 100 Subtype 1 (DB2STAT1) IFCID=2 records are
               now supported (Jun 21 2010).  These records contain only
               QBST or QBGL segments and are written when more than 25
               buffer pools are used in an interval.

              -Macro _SDB2STS was redesigned to correct DUPLICATE MERGE
               VALUES errors that occur only if DB2 was restarted, by
               removing QWHSACE QWHSMTN from the _BDB2STS "BY list", by
               interleaving the four input datasets to create STATSGROUP
               to use as merge variable (QWHSSTCK cannot be used as it
               not exact in all four records for each interval), and by
               conditionally merging T102S225 (DB2 V8) if it exists.
               The _SDB2STY macro is now a null macro and no longer
               used.  The new sort order for the PDB.DB2STATS dataset is
               now SYSTEM QWHSSSID QWHSSTCK.  A cosmetic enhancement to
               VMXGWORL, NOWARN=YES, is used to suppress the MXGNOTEs
               when a tested dataset is known to not always exist (used
               for T102S225 in this change).

              -Many new variables added to DB2ACCTx/DB2STATx by V10:
               DB2ACCT:
                QLACRLNU
                QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
               DB2ACCTP:
                QPACAWLH QPACANLH QPACRLNU
                QWACPCTT QWACPQRY QWACAWLH QWACARLH
               DB2ACCTB:
                QWACPCTT QWACPQRY QWACAWLH QWACARLH
               DB2ACCTP:
                QPACAWLH QPACANLH QPACRLNU
                QWACPCTT QWACPQRY QWACAWLH QWACARLH
               DB2ACCTG:
                QWACPCTT QWACPQRY QWACAWLH QWACARLH
               DB2STAT0:
                Q9STCDMD QDSTNQWC QDSTNARD QDSTMARD
                D64POST  A64POST  A64WAIT  M64DISNU M64DISPG SGETR64
                SGETEXT6 SGETDEXT SFREER64 SFREEDEX DISCARDM
                QWS1MCPU QWS2MCPU QWS3MCPU QWS4MCPU
                QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
               DB2STAT1:
                QISEKSPG QISEKSPA QISEKLRU QISEDLRU QISESQCB QISESQKB
                QISESQCA QISESQKA
                QISTRCCI QISTRCCD QISTRCCU QISTWMXA QISTWMXU QISTWCTO
                QISTW4K QISTW32K
                QXSTCWLP QXSTCWLR QXSTCWLM QXSTCWLD
               DB2STATB:
                QBSTFLG
               DB2GBPST:
                QBSTFLG

              -SMF 102 IFCIDs 172 and 196 were compatibly updated.

              -SMF 102 IFCIDs 267, 268, 317, and 337 are now decoded.
               New formats are created by the updated FORMATS member.

              -These other IFCIDs in user-sent SMF files are presumably
               the trace records that are normally written or needed.
               They have been examined and none were change in V10:
               4,5,55,87,105,140,141,173,196,199,250,254,258,261,262

              -See the text of Change 28.146, which made changes to DB2
               processing that were independent of the Beta, including
               fixing the PDB.DB2STATS interval issue that was first
               discussed in this change text, but was not V10 related.

Change 28.128  WARNING: APPARENT INVOCATION OF MACRO TRIM NOT RESOLVED
CONFIGV8       WARNING: APPARENT INVOCATION OF MACRO CMPRES NOT RESOLVED
CONFIGV9       Other:   References to MACRO DATATYP in an EVAL statement
Jun  9, 2010   which may be followed by
                ERROR: A character operand was found in %EVAL function
                   or %IF where a numeric operand is required ....
               There are several "opportunities" for this error:
              -These options must be in effect to resolve %TRIM:
                OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS);
                They are normally set in MXG CONFIGVn, but we have seen
                instances in which (typically very old) user code has
                changed those options, causing the error.
              -The //SASAUTOS DD must point to the "AUTOCALL" dataset
                (SAS-provided PDS) that contains the TRIM member.
              -Ancient MXGSASxx JCL procs defined &SASAUTOS which was
                &NULLPDS, and also had  //SASAUTOS DD &SASAUTOS
                                        //         DD DSN=....
                but that was replaced years ago; look at MXGSAS92 for
                SAS V9.2 or MXGSASV9 for SAS V9.1.3 for correct JCL.
              -OPTIONS S2=0 must be specified; it is set in CONFIGV9,
                but I just discovered that CONFIGV8 still had S2=72;
                that was corrected to S2=0 by this change.
              -Additionally, the incorrect LOCALE can cause failures
               with entirely different error messages when %TRIM is
               used, due to the NOT symbol's mis-translation with the
               wrong LOCALE.  See Change 28.194 documentation.
              -To diagnose, use // EXEC MXGSASV9,OPTIONS='VERBOSE'
                and  OPTIONS SOURCE SOURCE2 MACROGEN MPRINT SYMBOLGEN;
                as the first //SYSIN DD statement, and send the FULL
                job log.

Change 28.127  Support for revised CA $AVERS SMF record (INCOMPATIBLE)
VMACSAVR       increased field lengths, and added new data.  Dataset
Jun  8, 2010   contains new variables JCTJOBID, TYPETASK, SAVRACCT.
   Thanks to Clement Turner, DC Government, USA.
   Thanks to Edouard A. Myers, DC Government, USA.
   Thanks to Roger B. Legerwood, DC Government, USA.

Change 28.126  Support for Rocket Software MXI User SMF record creates
EXMXIST1       three datasets:
EXMXIST2
EXMXIST3         dddddd     Dataset   Description
IMACMXI
TYPEMXI          MXIST1     MXIONE    MXIST1: INITIALIZED
TYPSMXI          MXIST2     MXITWO    MXIST2: TERMINATED
VMACMXI          MXIST3     MXITHREE  MXIST3: COMMAND AUDITED
VMXGINIT
Jun  8, 2010
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 28.125  Enhancement to support building weekly and monthly PDBs
BLDNTPDB       when your first-day-of-week is not the MXG "MON" default.
BLDSMPDB      -VSETMNTH utility correctly determines which daily PDBs
MONTHASC       are to be read in building week/month; the decision is
MONTHBL3       based on TODAY() and the "STARTDAY" of your week.
MONTHBLD
MONTHDSK      -New macro variable STARTDAY sets the "first day of week"
VMXG2DTE       default to MON (no change), and is now used internally in
VMXGDUR        all MXG programs, so that you can externally change that
VMXGLBIN       first day of week if you do not build your WEEKLY/MONTLY
VMXGSUM        with MONDAY as the first day.
VSETMNTH
Jun 17, 2010  -However, the %BLDSMPDB can be used as your "MONTHBLD" or
Jun 28, 2010   WEEKBLD program, and its WEEKSTRT argument can specify
               the different start day of week if desired:

               Weekly job:
                %BLDSMPDB(WEEKSTRT=SUN,RUNDAY=NO,RUNWEEK=YES,RUNMNTH=NO,
                          WEEKKEEP=list of datasets);
                add WEEKTAPE=YES, if WEEK PDB is to be written to tape.

               Monthly job:
                %BLDSMPDB(WEEKSTRT=SUN,RUNDAY=NO,RUNweek=no,RUNMNTH=YES,
                          MNTHKEEP=list of datasets);
                add MNTHTAPE=YES, if MONTH PDB is to be written to tape.

               WEEKKEEP/MNTHKEEP are only necessary if you wish to
               keep only specific datasets in the WEEK/MONTH PDB (the
               default is _ALL_.) There is also WEEKDROP/MNTHDROP to
               drop specific datasets (and it defaults to dropping any
               SPIN* SPUN* datasets).  BLDSMPDB will use the SORTEDBY
               option in the dataset directory to construct a BY list
               if present but can also parametrically be told to
               ignore the SORTEDBY.
   Thanks to Jim Agrippe, Cleveland Clinic, USA.
   Thanks to Ron Wells, American General Finance, USA.

Change 28.124  The WTIRIOTM in PDB.ASUMUOW could be larger than IRESPTM.
VMXGUOW        Change 17.324 corrected the problem (WTIRIOTM was the sum
VMXGUOWT       of WTIRIOTM's from ALL of the CICSTRAN obs in the UOW),
VMXGUOTT       but a subsequent update in Change 18.204 lost that fix.
Jun  4, 2010   It is now the MAXIMUM value from all of the CICSTRAN obs.
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 28.123  Utility program to examine TYPE72GO dataset to assist in
UTILWORK       creating or investigating workload definitions for the
Jun  7, 2010   RMFINTRV.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.122  Logic revised to use DATEJUL to parse the date, but if
ASUMHSM        the FSRDATR field is not a valid Julian Date, it is left
Jun  7, 2010   as a missing value.
   Thanks to Tobias Cafiero, DTCC, USA.

Change 28.121 -ANALRANK is enhanced to add an output dataset option. By
ANALRANK       using this you can get the top 10 each day, by appending
VGETLABL       daily data you can quickly get the top 10 for the month
VGETFMT        by pushing the daily top 10 back thru ANALRANK.  Using
Jun  4, 2010   VGETLABL, the labels in ANALRANK are enhanced so that the
               label of RANKxx variable contains the original variable's
               label plus the word rank.  So the label for CPUTM would
               become 'TOTAL*CPU TIME*CAPTURED*RANK'.
              -VGETLABL - New utility to GET the LABEL of a variable.
              -VGETFMT  - New utility to GET the FORMAT of a variable.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.120 -Variable QBACPID, Buffer Pool ID, is removed from dataset
VMACDB2        DB2ACCTP where it never belonged; packages can use many
Jun  3, 2010   buffer pools. The other QBACxxxx variables exist, but are
               only non-missing (i.e., populated) if DB2 Accounting
               Class 10 is enabled.
              -DB2ACCTB - QLACCNVR didn't belong in KEEP list.
              -DB2ACCTG - QLACCNVR didn't belong in KEEP list.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.119  Support for Performance Sentry NTSMF Version 3.1.4.4.
EXNTGENE      -Existing objects were modified:
EXNTIPA4        Dataset  - Object Name
EXNTIPA6        IPSECDRI - IPsec Driver           - fields removed
EXNTIPK4        VMGUESTA - VMWARE.Guest.Aggregate - fields added
EXNTIPK6        VMGUUCPU - VMWARE.Guest.CPU       - field  added
IMACNTSM        VMGUUMEM - VMWARE.Guest.Memory    - fields added
VMACNTSM        VMHOSTAG - VMWARE.Host.Aggregate  - fields added
VMXGINIT        VMWHOCPU - VMWARE.Host.CPU          fields added
JUN  7, 2010    VMWHOMEM - VMWARE.Host.Memory       fields added
                VMWHONET - VMWARE.Host.Net          fields added
                VMWHOSYS - VMWARE.Host.SYS          fields added
              -New objects supported:

                 dddddd     Dataset   Object Name

                 NTGENE     GENERIKE  GENERIC IKE AND AUTHIP
                 NTIPA4     IPAUTHV4  IPSEC AUTHIPV4
                 NTIPA6     IPAUTHV6  IPSEC AUTHIPV6
                 NTIPK4     IPSECIK4  IPSEC IKEV4
                 NTIPK6     IPSECIK6  IPSEC IKEV6
              -These xxxxINST variables were increased to $64:
               MLLOINST QLWGINST SAALINST VWHCINST VWHDINST

Change 28.118  Support for BMC Mainview Auto Operator data creates nine
EXMVAOAC       datasets:
EXMVAOAL
EXMVAOEV        dddddd  Dataset   Description
EXMVAOEX        MVAOAC  MVAOACTN  MV AUTO OPERATOR ACTN
EXMVAORE        MVAOAL  MVAOALRT  MV AUTO OPERATOR ALRT
EXMVAORU        MVAOEV  MVAOEVNT  MV AUTO OPERATOR EVNT
EXMVAORA        MVAOEX  MVAOEXEC  MV AUTO OPERATOR EXEC
EXMVAORS        MVAORE  MVAORES   MV AUTO OPERATOR RES
EXMVAOTA        MVAORU  MVAORULE  MV AUTO OPERATOR RULE
IMACMVAO        MVAORA  MVAORUAU  MV AUTO OPERATOR RULESET AUTO
TYPEMVAO        MVAORS  MVAORUSE  MV AUTO OPERATOR RULESET SET
TYPSMVAO        MVAOTA  MVAOTAPE  MV AUTO OPERATOR TAPE
VMACMVAO       Aug 5: TAKETOTL removed from KEEP=, second "HANDLED" was
VMXGINIT       removed from LABEL, and all %VMXGDEL(DDDDDD= corrected.
May 31, 2010
Aug  5, 2010
   Thanks to Christa Neven, KBC Global Services, BELGIUM.

Change 28.117  Change 28.039 changed R7451RID to be the first byte due
VMAC74         to values observed in SMF 74 Subtype 5 records from IBM
Jun  1, 2010   sites, but those observed values are not consistent in
               other records from other sites, which have the RID in the
               second byte and a zero in the first byte so this change
               sets R7451RID to the second byte of that 2-byte field, if
               if the first byte is zero. Additionally, fields listed in
               notes 2 and 3 of the SMF manual are set missing based on
               the value in R7451FLG.
   Thanks to Melanie Hitchings, BT, ENGLAND.

Change 28.116  Support for SMF 102 IFCID 263 now decodes the unique data
VMAC102        fields; previously, only Header variables were output
May 27, 2010
Jun 11, 2010
   Thanks to Christa Neven, KBC Global Services, BELGIUM.

Change 28.115  ANAL42DS failed with Data Set _NULL_ Not Found, because
ANAL42DS       an _NULL_ is needed after the DATA statement.
May 26, 2010
   Thanks to Sam Bass, McLane Co., USA.

====== Changes thru 28.114 were in MXG 28.03 dated May 25, 2010========

Change 28.114  Additional diagnostics to show which service classes and
UTILRMFI       which reporting classes have missing data using SMFINTRV
May 25, 2010   dataset.

Change 28.113  New analysis of each DB2 Buffer Pool in DB2ACCTB dataset
ANALDB2B       including a buffer hit ratio calculation.
May 25, 2010
   Thanks to Santosh Kandi, JC Penney, USA.

Change 28.112  UTILRMFI failed because macro variable VWDUPES has been
VMXGINIT       truncated to WDUPES in the %GLOBAL statement in VMXGINIT.
May 25, 2010
   Thanks to David Young, University of California Office of Pres, USA.

Change 28.111  ThruPut Manager field REGIONSZ and $JXDBSPR/WW/UU fields
VMACTPMX       were reported as UNKNOWN due to typo's in text tests,
May 24, 2010   and $JXDBSUN is now created.
   Thanks to Paul Volpi, UHC, USA.

Change 28.110  The last "response" bucket created by VMXGRESP utility
ASUMDB2        (number specified plus 1) was never right, because every
VMXGRESP       count that was GT was already put in the last bucket.
May 22, 2010  -Enhancement to include bucket values in labels, and a new
               UNITS parameter describes the units (seconds/jobs/mounts)
               that are being measured.
              -ASUMDB2 implements the new UNITS= parameter.
   Thanks to Wayne Bell, UniGroup, Inc, USA.

Change 28.109 -WPS %MACRO Language Compiler Error in READDB2, the error
ANALINIT       cites a problem with %INCLUDE, but the statement that is
EMAIL          flagged is the percent sign in  %STR(MACRO _Edddddd ....
READDB2         (The _Edddddd generates  %%INCLUDE SOURCLIB(EXDDDDDD);.)
UTILCONT       A guess, to replace %STR() with %QUOTE() in statements
VFMT102        with that syntax DID circumvent the WPS compiler error!
May 21, 2010  -This same error can occur with ANALDB2R if (PDB=SMF,...)
               is used, since ANALDB2R calls READDB2 to "READ" DB2 SMF.
              -But, since READDB2 generates MACRO _Edddddd references
               only when one of the optional/rare dataset sub-tokens is
               used to select the observations, for example /DB2ACCT in
                %READDB2(IFCIDS=ACCOUNT,DB2ACCT=YES/IF QWHSSSID='XYZ';);
               so it was safer to replace  %%INCLUDE SOURCLIB(EXDDDDDD);
               statements with     OUTPUT _WDDDDDD;  to both circumvent
               the Compiler error, and because the EXDDDDDD should not
               have been created in READDB2 in the first place.
              -An unrelated error when the dataset sub-token was used is
               also corrected.
              -The WANTONLY subarguments were further validated.
              -In validating this READDB2 change, additional exposures
               were corrected:
               -VFMT102: If T102S105 and T102S107 did not exist, logic
                to build OBIDS/DBIDS dataset failed: the &VGETOBS NE 0
                test was changed to VGETDSN=datasetname, as it is the
                existence of, and not the number of observations in,
                that is the needed conditional test.
                But this caused investigation of other &VGETOBS NE 0:
                -ANALINIT: VGETOBS test changed to VGETDSN.
                -EMAIL:  VGETOBS NE 0 changed to GE 0.
                -UTILCONT: VGETOBS NE 0 change to GT 0

Change 28.108  Support for CleverView for TCP/IP TN3270 Performance Data
EXCTCPTN       in new SUBTYPE=21 SMF User Record, creates new CTCPTN32
IMACCTCP       dataset with the existing TYPECTCP/TYPSCTCP programs.
VMACCTCP
VMXGINIT
May 20, 2010
   Thanks to John Howard, Florida Northwood Shared Center, USA.

Change 28.107 -RACF INPUT STATEMENT EXCEEDED with RACFEVNT=21 LDAPHOST
VMAC80A        in TOKDANAM; MXG coded for only a 32-byte LDAP Host Name,
May 19, 2010   but length was 35.  Now protected for any length.
              -In records with LDAPHOST, new TOKDANAM BINDDN and BINDPW
               were found and decoded into variables TOKBINDD TOKBINPW.
               Yes, "PW" is a Password, but, no, it doesn't appear to be
               an exposure, as the value is populated with asterisks.
              -TOKDANAM='APPLNAM ' text is now decoded into TOKAPLNM.
              -TOKDANAM='UTYPE', 'JPNUM', numerics in TOKUTYPE/TOKJPNUM.
   Thanks to Phil Grasser, Norfolk Southern, USA.

Change 28.106  The offset SMF92MPF to the Path name length SMF92PPL was
VMAC92         incorrect, causing SMF92PPN, Path Name to be blank and
May 19, 2010   SMF92PPL contained a large and wrong value.
   Thanks to David Young, University of California Office of Pres, USA.

Change 28.105 -Optional TRENDing enhancement lets you tell VMXGSUM how
VMXGSUM        many KEEPWEEK=/KEEPMNTH=/KEEPYEAR=/KEEPDAYS='s you want
May 19, 2010   kept in TREND output, or KEEPAFTR=01JAN2010 can be used
               to output only observations GE that DATE.
              -The KEEPxxxx options are only valid when DATETIME= is
               used, and the value of the DATETIME= variable is tested
               for each observation if it is to be output.
              -A KEEPxxxx argument forces an INCODE= to be created if
               one was not present; all MXG TRNDxxxx members already
               have an INCODE= argument, and INCODE normally VIEWs, so
               this should have minimal impact.
              -Messages are not written that obs were not output.
   Thanks to Diane Eppestine, IBM Global Services, USA.

Change 28.104  Support for field inserted at start of NDM-CD record.
VMACNDM        New MACRO _NDMADD defaults to 0, but you can use MACKEEP
May 17, 2010   to change _NDMADD to 8 to skip 8 bytes after SYSTEM (and
               to set the SMF TYPE of your NDM-CD record in _NDMID):
                  %LET MACKEEP=
                       MACRO _NDMADD   8 %
                       MACRO _NDMID 0FAX %
                  ;
                  %INCLUDE SOURCLIB(TYPSNDM/BUILDPDB);
               Eight bytes can't just be added to OFFSMF in MACFILE for
               NDM-CD SMF because VMACSMF RETAINs OFFSMF, so new OFFNDM
               replaced OFFSMF in VMACSMF after the first INPUT.
   Thanks to Fred Buerger, Visa, Inc, USA.

Change 28.103  Support for TOKDANAM='SHARED' token, output in TYPE80TK.
VMAC80A
May 12, 2010
   Thanks to Jacky Kwoka, SNCF, FRANCE.

Change 28.102  Support for user-created ECPAUDIT optional CICS variable.
IMACAAAA
IMACICUK
UTILEXCL
VMAC110
May 12, 2010
   Thanks to Matt Feeney, DoD, AUSTRALIA.

Change 28.101 -IMS56xx datasets were not output because the variable for
VMACIMS        subtype test should have been TPCPSSTY, and not TPCPSBCD,
VMACIMSA       and the subtype test is for only one byte.
May 11, 2010  -Subtype 56x SSTY 11x INPUT STATEMENT EXCEEDED exposed MXG
May 18, 2010   mis-alignment; the +(-16) before TPIMSID does not exist,
               and the +36 segment after the "NID" is conditionally read
               as it doesn't exist in SSTY=0FAx records.
              -In validating the printed output, the SYNCTIME in TYPE59x
               datasets was not converted to local time.
              -Multiple separate code stubs to calculate IMSSTCK were
               replaced with LINK IMSSTCK; statements.
   Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.

Change 28.100  MXG 27.07 removed 13 duplicates in TYPE30_1 for an STC
BUILDPDB       that were (correctly!) NOT removed by MXG 28.02. Variable
May 10, 2010   ASID has been added to TYPE30_1, and 'pseudo' duplicates
               had different ASIDs and thus were not duplicates.
               Oct 2010: See MXG Newsletter 57, DUPLICATE JESNR.
   Thanks to Paul Volpi, UHC, USA.

Change 28.099  Variable CPULHKTM, CPU Time When Promoted due to Lock
VMAC7072       HOLD, is now INPUT and kept in TYPE72GO; it was added by
May 10, 2010   z/OS 1.11 as IBM field R723LPDP.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 28.098  The %VMXGSET macro is enhanced with DSETOPT= argument so
VMXGSET        SAS Data Set Options (DROP/KEEP/RENAME/etc) can be added
May  4, 2010   to each data set that will be "SET".  This example syntax
           %VMXGSET(DATASET=JOBS,DSETOPT=KEEP=JOB READTIME JESNR CPUTM);
               will keep only those four variables when xxx.JOBS dataset
               is read.  Surprisingly, using a KEEP= on a SET statement
               has minimal impact on CPU time, saving 7 out of 86 secs.
               But using DSETOPT to RENAME variables could be useful.
   Thanks to George Pandzik, USAA, USA.
   Thanks to Brian A. Harvey, HCL America, USA.

Change 28.097  Type 74 subtype 8 R748LERT,R748LEWT,R748LPST variables
VMAC74         are correct in MXG; they are documented as accumulated
May  4, 2010   values in the SMF manual, but actual data values are not.
               Variable R748LAID, the Interface ID is added at the end
               of the _BTY748 BY list to ensure NODUP works when sorted.
               To verify non-accumulation, it was necessary to insert
               R748LAID before STARTIME, to group the observations to
               see if the values were always-increasing, and that is
               where it really belongs in the BY list, but inserting a
               variable in an existing BY list is LETHAL for someone,
               somewhere, who's already (accidentally?) combining days
               and weeks PDBs, so it is added at the end for NODUP, as
               that doesn't create a not-sorted exposure.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.096  When the LIB is in sequential or xport format, that type
VGETOBS        was identified, but only now is the dataset name printed.
Apr 30, 2010
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.095  Elegant logic using the FINDW() function to parse the
VMACAIX        AIX record's changed format for the HOSTNAME field
May 21, 2010      UPCRECRD=UPCASE(RECORD);
                  LOCHOST=FINDW(UPCRECRD,'HOSTNAME:',' ','E') +1 ;
                  HOSTNAME=SCAN(RECORD,LOCHOST,' ');
                  HOSTNAME=TRANSLATE(HOSTNAME,' ','"');
               cannot be used with SAS 9.1.3 nor with WPS 2.4.0.1,
               because the FINDW() function only exists in SAS V9.2.
               The old SCAN() function was used with less elegance.

Change 28.094  XAMSYS variables CALAVGM1 CALTOTM1 CALAVGM2 CALTOTM2
VMACXAM        record units are 16 microseconds, so they are now INPUT
Apr 29, 2010   by &RB4.6 and multiplied by 16, so they are seconds and
               fractions of a second, and are FORMATed with TIME16.6, an
               MXG convention so you know these are duration variables,
               and so full resolution is printed, so 416 microseconds is
               printed as 0:00:00.000416.
               Variable SRMTSLIC is in TOD duration record units, so it
               is now INPUT by &PIB.8.6 and divided by 4096 into seconds
               and fractions and also FORMATed with TIME16.6.
               Variable SRBABSDL is a percentage, but scaled by 65536,
               so it is now divided by 65535.
   Thanks to Dave Sadler, United Health Group, USA.
   Thanks to Rob van der Heij, Velocity Software, THE NETHERLANDS.

Change 28.093  Circumvention for SMF 42 Subtype 15 INVALID OFFSETS. The
VMAC42         record has OFF42S3=216 and OFF42S4=4056, but the data are
Apr 28, 2010   at 108 and 3948.  MXG forces S3=108 and calculates S4.
   Thanks to Michael Friske, FMR, USA.

Change 28.092  This ancient program to create a z/OS PDS from the MXG
IEBUPDTE       IEBUPDTE-format source file had defined values for the
Apr 28, 2010   input and output, which required you to EDIT and SAVE
               and then %INCLUDE SOURCLIB(IEBUDTE); to execute, but
               those three macro variables are no longer set to any
               value, so you can set them to your choice and then run.
   Thanks to Bernhard Babblok, Allianz ASIC SE, GERMANY.

Change 28.091 -MXG 28.02. IMS record 55x subtype 01x from IMS 9.1 caused
VMACIMS        INPUT STATEMENT EXCEEDED RECORD LENGTH; support for 55x
Apr 26, 2010   was added, but only tested with IMS 10 and 11.  The 55x
               record is for External Subsystems.  The 01x record isn't
               described in the DSECT, so it is now deleted.
              -The 35X record with ENQFLAG=2F and FLAG2=00X or 08X is
               now output in IMS35P dataset.
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.

Change 28.090  Variable FIXEDSTO was incorrectly input as &RB.4.  It is
VMACXAM        a &PIB.4. INFORMAT now.  Variable MONEVNTS is an address
Apr 25, 2010   so it is now formatted HEX8.
   Thanks to Paul Volpi, UHC, USA.

Change 28.089  The PDB.SMFRECNT dataset and its report only counted SMF
BUIL3001       records; this enhancement provides both the record count
BUILD001       and the byte count for each SMF record and Subtype for
BUILDPD3       each SYSTEM, in both PDB.SMFRECNT and the report.
BUILDPDB       If you want to revert to the count-only report, use
TYPSID           %LET MACKEEP=  MACRO _RPDBID  _RPDBIDO  %  ;
VMACID         Variable SMFBYTES was added to the TYPEID dataset and is
Apr 24, 2010   the bytes variable in PDB.SMFRECNT summary dataset.
   Thanks to Diane Eppestine, IBM Global Services, USA.

Change 28.088  MXG 28.01-28.02, z/OS 1.9 and 1.10, INPUT EXCEEDED ERROR.
VMACRMFV       Change 28.048 inserted temp skip of +192 for z/OS 1.11 to
Apr 25, 2010   align, but should have been skipped only if CPUHOLEN=672;
               earlier z/OS have CPUHOLEN=480.  Now, SKIP=CPUHOLEN-480.
   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.

Change 28.087 -Cosmetic. Spurious message for STID=110 "SKIPPED FIELDS"
VMAC110        because SKIP=SKIP-580 should have been SKIP=SKIP-612. No
Apr 23, 2010   fields were skipped and dataset CICRLR was just fine.
              -Use of internal SAS decompression code on z/OS instead of
               the ASM code in the INFILE exit in member EXITCICS caused
               CPU time to increase from .5 to 6 HOURS with 45 GB of SMF
               records, so the "MXGNOTE" that the SAS code was used is
               now elevated to a repeated "ERROR:" message under z/OS.
               Under ASCII, a single note that compressed data was found
               is printed.  Change 27.260 documented a smaller increase!
   Thanks to Joachim Sarkoschits, DATAEV eG, GERMANY.

Change 28.086  Support for Windows Performance Monitor PERFMON csv/tab
ADOCWPMO       log file creates 123 new datasets, each named WPMOddd, to
EXWPMddd       correspond with the DDDDDD=WPMddd token for each dataset.
IMACWPMO       The DataSet Label is the Object Name, and member IMACWPMO
MAKEWPMO       has the full list of DDDDDD, DATASET, and Object Name and
TYPEWPMO       will be updated as new Objects are supported.
TYPSWPMO       The PERFMON data files can be concatenated, and can have
VMACWPMO       different sets of fields.  The ADOCWPMO member documents
VMXGINIT       how Glenn has set up his PERFMON data management.
May 22, 2010
               With all possible objects were enabled, with all threads
               and instances captured, on a Small Business Server, the
               PERFMON descriptor record was 861,481 bytes long, way too
               long to be read on z/OS with its 32760 maximum LRECL, so
               MXG PERFMON support may require execution on ASCII, where
               SAS V9.1.3 allows LRECL=1024000, and SAS V9.2, LRECL=4GB.

               This design is also another significant MXG enhancement:
               The new MXG code that you execute to process PERFMON data
               was generated by MXG's MAKEWPMO program, which reads the
               header record field descriptions, parses/translates them
               to create open-systems-friendly, 32-byte variable names,
               with underscore-connectors, builds variable labels from
               those variable names, changing underscores to asterisks,
               uses the Object Name for the Dataset Label, and writes
               out the dozen text files that are then manually cut/paste
               into VMACWPMO or the other MXG code members.
               While still a two-step process, this automation makes it
               easy for MXG to support new objects.  MAKExxxx programs
               have been used for some time to create chunks of MXG code
               for product XXXX, but only for the static statements that
               defined or referenced the XXXX product suffix, the DDDDDD
               dataset suffix token, or that contained the DATASET name.
               Programmatically creating variable names, labels, and the
               INPUT code is a BIG step forward in minimizing MY effort
               to support future "open systems" data or sources that
               have similar data structures.  Since these data don't
               have a construct of a short field name, but only the long
               description, using the descriptions as variable name does
               make sense for this audience, and REALLY saves me TIME!!

               Each "item" in the header description has this format:
                     "\\SERVER\OBJECT(INSTANCE)\METRIC"
               and there can be tens of thousands of items.  SERVER is
               variable SERVER, the server name, OBJECT maps to the MXG
               dataset, and the Object Name (PROCESS) is the Label of
               the MXG Dataset Name (WPMOPRO), INSTANCE is the instance
               (e.g., process EXPLORER.EXE), and each separate METRIC
               item (e.g. HANDLE_COUNT) is a variable in the WPMOOBJ
               dataset.

               While ASCII's max LRECL is 4GB, records cannot be stored
               in a character variable, with SAS's 32K limit, so the
               record is brute-force read, byte-by-byte, and parsed for
               the delimiters to create each "item".

                 Microsoft claims to create comma-delimited data, but a
                 single comma cannot be safely used to parse because
                 the "items" can contain embedded commas!
                 And, while each item is bounded by double quotes, the
                 double quote also cannot be used as a delimiter, as
                 "items" can also contain embedded double quotes!

                 So the MXG default "comma-separated-value" delimiter is
                 the three-character-string  ","   set in VMXGINIT with
                             %LET DLMWPMO='","';
                 If you have "tab-delimited" PERFMON files, then you
                 need to use %LET DLMWPMO='09'x;  before your %INCLUDE.
               Once an "item" is parsed, normal SAS character functions
               are used to create the SERVER, OBJECT, INSTANCE and the
               METRIC values, and output the WINPERFMON dataset that is
               subsequently read to output all of the WPMOddd datasets.
                 If there are obs in OBJUNKNOWN or METUNKNOWN datasets,
                 please send the PERFMON file to support@mxg.com,
                 so MXG can be updated to support the new data.
               Some characters in the descriptions have to be converted
               because blanks, back-slashes, dashes, parens, periods,
               pound-signs, etc., can't be used in SAS variable names;
               underscores are used in the variable name to connect the
               pieces.
   Thanks to Glenn Bowman, Wakefern, USA.

Change 28.085  Obscure.  VMXGSUM is protected if you had parenthesis in
VMXGSUM        the OUTDATA= argument (for a LABEL= or SORTEDBY=).  If a
Apr 20, 2010   last data step wasn't needed, parens caused an even more
               obscure ABEND.  While now protected, using the DSNLABEL=
               or SORTEDBY= argument in the VMXGSUM invocation is safer.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.084  BMC IMF product's INPUTCLS and LASTCLAS variables are now
VMACCIMS       restored to one-byte length with $HEX2. format, and new
Apr 20, 2010   variables INPUTCL2 and LASTCLA2 are two-bytes with $HEX4.
               While IMS 9.1 and later define Input Class as two bytes,
               it appears that no one is using that length, and MXG's
               changes (27.230,26.058) that expanded the length of those
               original INPUTCLS/LASTCLAS variables caused existing
               reports to be incorrect.
   Thanks to Jim Dammeyer, State Farm Mutual Insurance, USA.
   Thanks to Mike Stogsdill, State Farm Mutual Insurance, USA.

Change 28.083  MXG 28.02-03.   READB2/ANALDB2R didn't honor %LET MACDB2H
ANALDB2R       nor %LET MACKEEP tailoring: Change 28.055 added %CLEARDB2
READDB2        (to reset old-style macros for multiple executions, used
Apr 17, 2010   previously only in the MXG QA), but CLEARDB2 also clears
Apr 21, 2010   both MACDB2H and MACKEEP.  The %CLEARDB2; statement was
Apr 22, 2010   removed from both members by this change.
Apr 24, 2010   Circumvention with 28.02:  Create a member named CLEARDB2
Apr 25, 2010   in your "USERID.SOURCLIB" with a blank line.
Apr 26, 2010     No one has asked to execute READDB2/ANALDB2R twice,
Jun 17, 2010     but it can still be done, by invoking %CLEARDB2;
                 externally, between the multiple executions:
                   %READDB2 ( WHATEVER );
                   %LET MYKEEP=%BQUOTE(&MACKEEP);
                   %LET MYDB2H=%BQUOTE(&MACDB2H);
                   %CLEARDB2;
                   %LET MACKEEP=%BQUOTE(&MYKEEP);
                   %LET MACDB2H=%BQUOTE(&MACDB2H);
                   %READDB2 (WHATEVER DIFF);
              -MXG 28.01-28.02 only.  Short Trace report failed with
               BY VARIABLES NOT SORTED ON DATASET WORK.REPORT; example
               in Change 28.004 that revised that report DOES NOT FAIL,
               but removing the CONNTYPE=4 selection exposes the missing
               BY statement that was added by this change.
              -Audit report corrections, all prior versions:
                -The BIND code was inside the loop for DML (should not
                 have been).
                -PMAUD02/PMAUD03 reports did not agree with doc; they
                 were only produced when you used the AUDIT= subparm,
                 but now, as documented, ALL possible Audit classes
                 will be reported with the default AUDIT=, value.
                -SQL Text printed for 141 and 145x Audit records.
              -Divide by ZERO when GETS=0 is now protected.
              -Cosmetic:  SUDIT now correctly spelled AUDIT.
               MXGWARN that PDB.ASUMDB2x NOT FOUND have been removed.
               ANALDB2R first looks for the ASUMDB2x dataset for a
               report request, as that saves I/O and CPU time, but
               warning that it wasn't found was confusing, especially
               when you knew nothing about that internal design.
              -Jun 17: MACDB2H was not honored until this date.
   Thanks to Jim Kovarik, AEGON USA, USA.
   Thanks to Stephen Root, Harry and David, USA.

Change 28.082  MXG Formats $MGDDDDD and $MGDDDSN map the "dddddd" token
FORMATS        to each "dataset" and vice versa, but the UDDDDDD program
UDDDDDD        missed some of the "dddddd" values, in particular, CICTRN
Apr 18, 2010   and DB2ACC, and not all datasets were identified, as that
               old logic read selected source members for the _Wdddddd,
               which doesn't exist for all datasets.  Now, UDDDDDD reads
               DOCVER to capture ALL dataset names, and labels for all
               datasets now contain "DDDDDD:" in their dataset label.
               UDDDDDD is also added to QASAS so those formats will be
               updated with each new version; DOCVER is already heavily
               validated in post-QA reports.  These members were updated
               to revise/add unique DDDDDD: to their dataset labels:
                  ANALVM   ASUM94   ASUMCIMS ASUMDB2P ASUMDB2S ASUMMWUX
                  ASUMSTC  ASUMTALO BUIL3001 BUILD001 BUILDPD3 BUILDPDB
                  DIFFROSC MNTHDB2S TRNDDB2A TRNDDB2B TRNDDB2G TRNDDB2P
                  TRNDDB2S TRNDDB2X TRNDSTC  TYPEPDL  TYPEVLFC TYPEZARA
                  VMAC0    VMAC110  VMAC21   VMAC30   VMAC84   VMACCIMS
                  VMACCRAy VMACMWUX VMACNMON VMACVMON VMACVMXA VMXGCICI
                  VMXGDBSS VMXGHSM VMXGRMFI
   Thanks to Francine Gheyle, Dexia Bank, BELGIUM.

====== Changes thru 28.081 were in MXG 28.02 dated Apr 14, 2010========

Change 28.081B PRO/SMF dataset PRORECOV was misaligned after the INPUT
VMXGINIT       of variable GWMSGED.
Apr 14, 2010

Change 28.081A PRO/SMF dataset PRORECOV was misaligned after the INPUT
VMACPROS       of variable GWMSGED.
Apr 14, 2010
   Thanks to Perry Lim, Union Bank, USA.

Change 28.081  OPTIONS VARLENCHK=NOWARN is reinstated in VMXGINIT if the
VMXGINIT       SAS Version is 9.2 TS2M0 or later to eliminate the new
Apr 12, 2010   WARNING: MULTIPLE LENGTHS WERE SPECIFIED FOR THE VARIABLE
               that is discussed MANY times in several NEWSLTRS.  While
               MXG 26.03 eliminated the warning in internal code,
               user code is now protected, and future changes in lengths
               of IBM fields (e.g., CLIPADDR increased from 16 to 40 to
               support IPV6) will not produce that WARNING, nor a Return
               Condition Code of 4.  (One cause of the warning is the
               use of PROC MEANS to create an output dataset without the
               option /INHERIT at the end of its OUTPUT statement.)
   Thanks to John Kim, ATCO I-tek, CANADA.

Change 28.080  z/OS 1.11 adds new variable to TYPE70 dataset
VMAC7072          SMF70GAU='CAPACITY GROUP AVAILABLE MSU
Apr 12, 2010   which is documented as
                 -Long-term average of CPU service in millions of
                  service units which would be allowed by the limit of
                  the capacity group but is not used by its members.
                 -If the value is negative, the group is capped.
               So, this variable is input with &IB.4. since in this rare
               case, a negative value is not only possible, it is now
               very useful as an indication that the Capacity Group is
               Capped.
   Thanks to Scott Barry, SBBWorks, USA.

Change 28.079A This change WAS included in MXG 28.02, but this text was
VMXGINIT       not: the test for NOWORKINIT was removed in MXG 28.02.
Apr 14, 2010     Change 28.023 added that test and a USER ABEND 990 if
                 OPTION NOWORKINIT was enabled, but my cure was worse
                 than the disease.  There IS a serious exposure in MXG
                 if NOWORKINIT is enabled, but I know now it is ONLY in
                 a second MXG step, and only after a first-step error,
                 and the real exposure is only MY time in diagnosing!.
                 Some SAS sites have now ABENDed (unnecessarily) because
                 that option is enabled in their SAS tailoring, and WPS
                 set NOWORKINIT as default (when WORK was temporary and
                 did not need to be INIT, and their INIT process was
                 inefficient, but their INIT is improved and WORKINIT is
                 to be the default in their next GA), and now that I
                 know that NOWORKINIT, of itself, does not create a
                 problem for MXG code, my test and USER ABEND 990 were
                 removed in MXG 28.02.

Change 28.079  MXG 27.11-28.01, ONLY with the MXGTMNT Tape Monitor data:
VMACTMNT       SAS has had a limit on the length of an observation of
Apr 12, 2010   32760 bytes, which prevents the Host Sort from being used
               if exceeded, with this SAS Warning printed on the log:
                 The total length of all variables must be less than or
                 equal to 32760 bytes.  The host sort cannot be used.
                 The internal SAS sort will be used; this may impact
                 performance.  Adjacent to TYPESYSL dataset references.
               (An increase in CPU time of about 37% was observed.)

               Change 27.336 increased the length of variable SYSLTEXT,
               the SYSLOG Message Text, from 1024 to 32384, but that was
               needed/intended ONLY for the TYPESYSL dataset (which can
               OPTIONALLY capture any SYSLOG message); that length is
               for the largest possible multi-line SYSLOG message.  BUT:
               variable SYSLTEXT was also accidentally increased in the
               TYPESYMT dataset, used ONLY for Tape-Mount-Event-Related
               SYSLOG messages, needing a SYSLTEXT length of only $256.
               Even worse, new variable SYSLENCR, to identify Encrypted
               Tapes, was created as SYSLENCR=SUBSTR(SYSLTEXT,x,16), but
               because I failed to put the new variable in a LENGTH $16
               statement, it got the 32384 byte length of SYSLTEXT.  So
               with SYSLTEXT and SYSLENCR, TYPESYMT had an observation
               length of 65183, causing the preceding WARNING message.
               This change restores the length of SYSLTEXT to $256, and
               the TYPESYSL dataset's variable is now named SYSLLONG.
               Note that the SPINSYSL dataset created with 27.11-28.01
               by the %INCLUDE SOURCLIB(ASUMTAPE); that should always be
               used to create the PDB.ASUMTAPE Tape Mount Event dataset
               also exceeded 32760, with observation length 65198, but
               it is not sorted, and its observation length is corrected
               when this change is implemented.
   Thanks to Siegfried Trantes, Gothaer-Systems, GERMANY.
   Thanks to Richard Sabine, Gothaer-Systems, GERMANY.
   Thanks to Willi Weinberger, Gothaer-Systems, GERMANY.

Change 28.078  VMXGGETM reports SMF record counts and bytes by SUBTYPE
VMXGGETM       and ID, but DB2 100 and 101 records subtypes were changed
VMACSMF        to their IFCID; now their actual SMF SUBTYPE is printed.
Apr 11, 2010   (For the DB2 102 record, which does NOT have a SUBTYPE in
               the SMF Header, the IFCID is still used for SUBTYPE.)
              -The setting of SUBTYPE logic was removed to VMACSMF.
   Thanks to Tom White, Dell, USA.

Change 28.077  Support for JES 3 JMF TYPE84 records; previously only the
VMAC84         header was supported for subtype 5; this update supports
Apr 10, 2010   all ten subtypes.

Change 28.076  Variable CECSER is now added to PDB.RMFINTRV, but this
VMXGRMFI       change was NOT moved into MXG 28.02.
Apr 18, 2010

Change 28.075  IBM's John Burg presentation at 2010 Seattle SHARE in
VMAC113        session 2113 provided insight into the new TYPE113 HIS
Apr  9, 2010   monitor data, and these new variables are created:
                CPI='CYCLES*PER*INSTRUCTION'
                PRBSTATE='PERCENT*PROBLEM*STATE'
                L1MP='LEVEL*1*MISS*PERCENT'
                L15P='PERCENT*SOURCED*FROM*L1.5*CACHE'
                L2LP='PERCENT*SOURCED*FROM*L2*SAME BOOK'
                L2RP='PERCENT*SOURCED*FROM*L2*DIFFEERNT*BOOK'
                MEMP='PERCENT*SOURCED*FROM*MEMORY'
                LPARCPU='APPL*PERCENT*CAPTURED AND*UNCAPTURED'
             -John's presentation is also available at Techdocs:
      http://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/TC000041
             -Using %INCLUDE SOURCLIB(TYPE113); _RPT113 ; RUN;
              will replicate his example report.
             -Variable SM1132CP, CPU Speed, was INPUT but not carried
              into the TYPE113 dataset.
             -A subsequent update will look for PDB.TYPE70 dataset, and
              will use it to identify the type of each CPU in TYPE113.
   Thanks to John Burg, IBM, USA.
   Thanks to Graham Harris, Royal Bank of Scotland, SCOTLAND.

Change 28.074  Support for CA-Dispatch Audit User SMF record creates:
EXCADISP         dddddd   dataset   description
IMACCADS         CADISP   CADISPCH  CA Dispatch User SMF Record.
TYPECADS       Note this is NOT the modified type 6 that can be created
TYPSCADS       with the IMACCADI optional member enabled.
VMACCADS
VMXGINIT
Apr 14, 2010
   Thanks to Glenn Bowman, Wakefern, USA.

Change 28.073  In new DB2 V9.1 data records, QWHSISEQ in SMF 100 Subtype
VMACDB2        0 and 1 records no longer matches QWHSISEQ in Subtype 4
Apr  8, 2010   records, causing all of the QW0225xx variables to have a
               missing value in PDB.DB2STATS when DB2STAT4 is merged.
               The use of QWHSISEQ was previously "safe", but must have
               been a fortunate accident, since IBM documentation for
               ISEQ implies it is a sequence number for the IFCID, and
               not, as I had assumed, the interval's sequence number.
               This change creates TEMPISEQ dataset with QWHSISEQ taken
               from the DB2STAT0/DB2STAT1/DB2STATB merge, renames the
               ENDTIME to QWHSSTCK, so that TEMPISEQ is then interleaved
               with DB2STAT4 to store that "interval" QWHSISEQ, which
               is then used in the original merge using _BDB2STS.
               (Since the problem has only occurred with DB2STAT4 and
               not with the T102S225 that was created in DB2 V8., that
               logic was not revised).
   Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.

Change 28.072  Dataset TYPE42X4 (Above the Bar LRU Statistics) variables
VMAC42         SMFA2JQG-SMFA2JQN (Buffer Size Goal and Buffer Sizes) are
Apr  8, 2010   now correctly INPUT as &PIB.8., instead of &PIB.4.  This
               caused variables SMFJQO01-SMFJQO16, SMFA2JSA-SMFA2JSP to
               also be mis-aligned and wrong, and the IF test for 864 is
               corrected to test for GE 896 due to the misalignment.
              -In addition, new variables SMF42JP6 and SMFA2JP6 (Write
               Requests) are INPUT and kept in datasets TYPE42X2 (Below)
               and TYPE42X4 (Above) as they too had been overlooked.
              -Note that MXG variable names SMFA2xxx correspond to IBM
               field names of SMF2Axxx.
   Thanks to Ambat Ravi Nair, CitiGroup, SINGAPORE.

Change 28.071  PDB.STEPS could contain duplicate observations, and the
BUILD005       resources in those duplicates were summed into PDB.JOBS,
BUIL3005       if two steps had the same TERMTIME (because the first was
ANAL30DD       a FLUSHED step).  Change 18.344 corrected this error in
Apr  7, 2010   TYPS30, by adding INITTIME to the _BTY30U4 BY list, but
               that change was also needed in BUILD001/BUILD001, which
               have their own BY list in the NODUP step.

               All other programs that SORT the TYPE30_4 data were now
               examined; ANAL30DD's BY list was updated, but it was the
               only one that sorts all variables; these other programs
               currently do NOT protect for duplicate SMF records
                 ANAL30   ANALDDCN ANALDSET ANALJOBE ANALMULT ANALVTS
                 TAPEVENT UTILRMFI
               because they do not keep all of the variables that are
               required for duplicate removal, and adding that logic
               would be very expensive: unneeded variables and an extra
               PROC SORT would be required and the report program would
               have to be restructured.  Since the TYPS30 program WILL
               remove ANY duplicates, the solution would be to use it to
               create the TYPE30xx datasets first, and then those report
               programs will not need revisions.
   Thanks to Michael Oujesky, Bank of America, USA.
   Thanks to Betty Wong, Bank of America, USA.

Change 28.070  SAS Version 9.2 TS2M2 may have changed DSNAMEs/MEMBERs in
MXGSAS92       their //CONFIG DD.  As always, you MUST look at the SAS
Apr  2, 2010   JCL procedure example that was created by your SAS
               Installer to know what DSNAME/MEMBERs were created; those
               DDs must be the first in the //CONFIG DD, then the MXG
               CONFIG member must be the last "real" DD, followed by the
               // DD DSN=&CONFIG as the final DD in the //CONFIG concat.
               These two variants are listed in the MXGSAS92 example.
                //CONFIG DD DISP=SHR,DSN=&SASHLQ..V92DYJJJ.CNTL(BATCH)
                //       DD DISP=SHR,DSN=&MXGHLQ..MXG.SOURCLIB(CONFIGV9)
                //       DD DISP=SHR,DSN=&CONFIG
                //CONFIG DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(BATCH)
                //       DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(COMMON)
                //       DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(&XX.&YY.)
                //       DD DISP=SHR,DSN=&SASHLQ.M92M2.CONFIG(SITE)
                //       DD DISP=SHR,DSN=&MXGHLQ..MXG.SOURCLIB(CONFIGV9)
                //       DD DISP=SHR,DSN=&CONFIG
   Thanks to Ernie Amador, UC Davis Health System, USA.

Change 28.069  Two instances of -60 were changed to -56 for the SMF 112,
EXIT112        but the exit to decompress SMF 112s does not work and can
Apr  1, 2010   not be used.  IBM does not provide a utility program that
May 17, 2010   will decompress the SMF 112s (DFH$MOLS only reads 110s),
               so I have no way to correct and validate the MXG Exit.
               DO NOT USE EXIT112.

Change 28.068  Change 27.111 added support for multiple CA-1/TMS catalog
TYPETMS5       inputs, but inadvertently changed the length of VOLSER to
Apr  1, 2010   $20, whereas it should have been $6.  There was no error
               in the contents of variable VOLSER, but if you tried to
               combine new and old datasets, you receive a SAS WARNING
               of the dissimilar lengths.  This change restores VOLSER
               to the original $6 length.
   Thanks to DJ Chen, Florida Department of Corrections, USA.

Change 28.067  The final example invocation of %VMXGRMFI(....) failed
RMFINTRV       because there was a comma prior to the close-paren. All
Apr  1, 2010   %MACRO invocations have commas separating arguments,
               but there can not be a comma after the last argument.
   Thanks to Carolyn E. Saul, West Virginia Office of Technology, USA.

Change 28.066  Support for IMS Version 11 (INCOMPATIBLE), support for
ASMIMSL6       55x/56x Statistics Log Records, validation of 45x log
TYPEIMS7       records, and TYPSIMS7 removes duplicate log records.
TYPSIMS7      -Insertion of 16-byte LINTUTKN field in 08x log record
VMACIMS        in IMS 11 makes this change required to eliminate error
VMACIMSA       that YYYY has invalid value, in VMACIMS and VMACIMSA.
VMXGINIT      -ASMIMSL6 is updated to pass the 55x and 56x log records.
Apr  4, 2010  -45x Statistics records have been validated with data,
               except for IMS4513 which had zero observations.
              -55x and 56x records are now supported and validated; the
               "56" names contain "55x" and "56x" records:
                 DDDDDD  DATASET   CREATED FROM SUB-SUBTYPE
                 IMS560  IMS5600    00x-08x,10x,12x-14x,37x-38x
                 IMS569  IMS5609    09x
                 IMS56B  IMS5611    11x,16x
                 IMS56F  IMS5615    15x
                 IMS56G  IMS56FA    FAx
              -The 45x and 55/56x datasets are left in //WORK so you can
               decide to copy them, or not.
              -TYPSIMS7 now uses PROC SORT NODUP to remove duplicates,
               and outputs ALL datasets to the //IMSTRAN DD name.
                 This required creation of variable IMSRECCH $CHAR8. to
                 contain the IMS Logical Sequence Number as character to
                 use in NODUP sorts.  IMSRECNO was input with PIB8., but
                 it failed in NODUP sorts, because values were truncated
                 if the first byte was non-zero.  IBM stores a value of
                 'F1'x in the 1st byte for the 1st merged file, a 'F2'x
                 for the 2nd merged file, etc., but when a numeric field
                 is INPUT with PIB8, if the field contains a non-zero
                 first byte, the result is truncated because SAS needs
                 one byte for exponent, leaving only 7 bytes for
                 mantissa, which caused duplicate values for IMSRECNO,
                 which caused the NODUP to fail to recognize true
                 duplicates.  Now, the 8-byte Character variable
                 IMSRECCH is used in all BY-lists to successfully remove
                 duplicates and the numeric IMSRECNO is now input from
                 only the last seven bytes, with PIB7.
              -35x record has undocumented bits in QLNQFLGS/ENQFLAG.
               IMS 11 DSECT only document '10'x,'02'x,' 01'x bits,
               but data contains '80'x,'40'x,'08'x,and '04'x bits on.
               QLNQFLGS values '0C'x,'4C'x,'8C'x,'8E'x, and '9C'x bits.
              -01x record now conditionally inputs Extended Segment,
               eliminating missing value messages.
   Thanks to Lars-Olof Thellenberg, Handelsbanken, SWEDEN.
   Thanks to Lars Fleischer, SMT Data A/S, DENMARK.

Change 28.065  Support for BMC CICS CMRDETL C660 for CICS/TS 4.1 adds
VMACMVCI       these new variables COMPATIBLY:
Mar 30, 2010     T6E66XCT T6EATMSN T6EBFDGC T6EBFTC  T6EECEVC T6EECFOC
                 T6EECSGE T6EEICTC T6EIPA   T6EJSTWC T6EJSTWT T6EMLCTC
                 T6EMLCTT T6EMLTDL T6EMLXTC T6EMQASC T6EMQAST T6EOIPA
                 T6EPIPLN T6ET8PTC T6ET8PTT T6ETIATC T6ETITC  T6ETTDLC
                 T6ETTDLT T6EURIMN T6EWPBNM T6EWSATC T6EWSCBC T6EWSCGC
                 T6EWSEPC T6EWSFCC T6EWSFTC T6EWSOPN T6EWSQBL T6EWSRBL
                 T6EWSSFC T6EWSVCN TESTC660 UDAT2

Change 28.064  A semicolon was missing at the end of the statement
JCLIMSL6         %LET MACKEEP= MACRO _IMSVERS 10 %  ;
Mar 26, 2010   causing the job to stop after MXG initialization.
   Thanks to Urs Kugler, Zurich Insurance Company, SWITZERLAND
   Thanks to Brian Sanger, Zurich Insurance Company, SWITZERLAND

Change 28.063  ASUM70LP and ASUMCELP had IFLACTTM,PCTIFLBY missing if
VMXG70PR       the IFL was Dedicated, LCPUDED='Y' because ORIGWAIT was
Mar 25, 2010   subtracted from LCPUPDTM even when ORIGWAIT was missing.
               Now, MAX(ORIGWAIT,0) is subtracted.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.062  NetSPY percentage calculations use TOTRSPNO or NETSRPNO
VMACNSPY       in the denominator, based on the '.1.....'B XDOMAIN value
Mar 25, 2010   for Host-Only or Not, respectively. New TARGRESP variable
               is now set by that XDOMAIN value to make it clearer which
               denominator was used for the TnRSPPC calculations.
   Thanks to Charles Savikas, DFS State of Florida, USA.

Change 28.061  MXG changes the TMS variable BLKCNT to a missing value,
VMACTMS5       when it detects an invalid BLKCNT value.  Previously, the
Mar 25, 2010   BLKCNT value was output as 4,294,967,xxx decimal, because
               the value in the TMS record was 'FFFFFFFC'x, which MXG
               INPUT with PIB4. INFORMAT, because Block Count must be a
               positive value, and I feel leaving that large value means
               it can't be easily overlooked as an error.  For a field
               that can be positive or negative, then the first bit is
               a sign bit, and the above, when INPUT with IB instead PIB
               is a decimal -4, still a clearly wrong negative value.
               The TMS Report prints a +4 for BLKCNT for that value!
               And, from TMS Support, they confirm that:
                - There is no logic in TMS-Reporting, but if the
                  high-orderbit is on, they interpret the negative
                  value as a positive number in their print routine.
                - The record seems to be wrong, they had some few
                  similar cases in the past
               In fairness to TMS, I don't think these large BLKCNT
               values are their fault; I think they just pick up that
               counter and output it.  Occasionally, fields with values
               'FFFF...'X have shown up in SMF I/O fields like EXCP
               BLOCK, SIO, etc. whose counters are in the address space.
               They result from the subtraction of a counter with a
               larger value from a counter with a smaller value, and
               thus ultimately are the result of a programming error
               deep in whatever system-level code used the wrong
               internal counters.  Some of these errors have been
               tracked down, and fixed, but it can take significant
               effort, multiple vendors, and even SLIP traps.

               And many of these "bad" values can be traced back to an
               ABEND in the address space that overwrote one or both of
               the subtraction input counters!
              -So I've changed the input for BLKCNT so the value is set
               to a missing value instead of that large value when the
               first byte is an 'FF'x.  This way, you can use
                 PROC MEANS N NMISS DATA=TMS.DSNBRECD;
               to count the number of DSNs with invalid BLKCNT values.
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.

Change 28.060  Change 27.289 added CPUZIPTM for SYNCSORT that was added
VMACSYNC       in an existing reserved area, but SYNCSORT 1.2 did not
Mar 24, 2010   have that expected reserved area, causing MXG to ERROR:
               INPUT EXCEEDED RECORD LENGTH.  CPUZIPTM is now INPUT
               conditionally when the reserved area exists.  Note that
               the current SYNCSORT version is 1.3; they renumbered.
   Thanks to David Bixler, FISERV, USA.

Change 28.059 -RMF III variable ASIASSTA (ADDITIONAL*SRB*TIME) is now
VMACRMFV       correctly divided by 1000 in its INFORMAT.
Mar 24, 2010
   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.

Change 28.058  AS400 Version 5.4.0 creates invalid records that do not
VMACQACS       contain the "Century" value and a 2-byte POOL Number that
Mar 24, 2010   caused MXG to be misaligned, and all values were wrong!
               The missing Century value is now forced for 5.4.0 records
               so that dates and values are correct in QAPMPOLB dataset.
   Thanks to Karen Florup, Bank of America, USA.

Change 28.057  MXG 28.01, SAS V8.2 ONLY: ERROR: MACRO KEYWORD ABORT IS
VMXGINIT       NOT YET IMPLEMENTED. Change 28.023 added %ABORT statement
Mar 22, 2010   for obscure NOWORKINIT detection, but we no longer QA MXG
               under SAS V8.2 so the omission was missed.  This change
               replaced %ABORT with a DATA STEP for sites still stuck in
               that ancient and archaic version of SAS.
               See Change 28.079A, which removed NOWORKINIT detection.
                 Note: This MACRO KEYWORD error also caused FORMATS to
                 error with ' 22 ' under the OTHER= argument, but the
                 VMXGINIT correction eliminated that spurious error.
                    Note: As a reminder, MXG does not fully support V8;
                    there are other errors that require SAS V9, but this
                    is not one of them.
   Thanks to Teuvo Virsu, Tieto, FINLAND.

Change 28.056  Format MG099TC for variable S99TCOD had spelling errors:
FORMATS        Action Code 3560:  Change REV to REC.
Mar 22, 2010   Action Code 8975:  Change NO to NA.
   Thanks to Dick Arnold, Commerce Bank, USA.

Change 28.055  Using PDB=GTF to read DB2 GTF data did not always work.
ANALDB2R       Multiple includes of VMACDB2 and VMAC102 could occur,
READDB2        the logic of which records were to be read was not always
Mar 22, 2010   correct, an unneeded data step was eliminated, and the
               old-style macros are cleared with %CLEARDB2 so that you
               can execute ANALDB2R multiple times (which also protects
               PDB=SMF and PDB=PDB).
               Apr 17: See Change 28.083.  CLEARDB2 REMOVED.
   Thanks to Tony Curry, BMC, USA.

Change 28.054  Variables TSQIOSTM and TSQIOWTM in CICSRDQU dataset from
VMAC110        Resource Class SMF 110 SUBTYPE=1 MNSEGCL=5 records were
Mar 20, 2010   wrong, and the count portion of those two "clocks" is now
               input into new variables TSQIOSCN and TSQIOWCN.
   Thanks to Danny Sun, IBM Global Services, AUSTRALIA.
   Thanks to Tony Delmenico, IBM Global Services, AUSTRALIA.

Change 28.053  Executing TYPEQACS on ASCII caused OPTION JFCB UNKNOWN.
VMXGDSNL       The VMXGDSNL macro is revised so that
Mar 19, 2010    - It works without referencing a JFCB
                - Works on ASCII to find the part of the dataset between
                  the . and the / or the \.
                - Continues to function as before to capture the
                  penultimate token of a GDG DSNAME.
   Thanks to Paul Naddeo, FISERV, USA.

Change 28.052  Cosmetic.  Fourteen misspellings of CONTENTION corrected.
VMAC42
Mar 16, 2010
   Thanks to Miguel A. Fernandez, CitiGroup, USA.

Change 28.051  DB2 APAR PK62161 adds four important SQL counters that
VMACDB2        are output in DB2ACCT, DB2ACCTP, and DB2STATS:
Mar 16, 2010      QXRWSFET='ROWS*FETCHED'
                  QXRWSINS='ROWS*INSERTED'
                  QXRWSUPD='ROWS*UPDATED'
                  QXRWSDEL='ROWS*DELETED'
               The APAR adds the fields to both DB2 V8 and DB2 V9.
   Thanks to Terry L. Berman, DST Systems, USA.

Change 28.050  Documentation.  If you want to reset the value of the
VMXGINIT       OPTIONS USER=xxx;, then you MUST reinvoke VMXGINIT after
Mar 16, 2010   setting your desired LIBNAME:
                  OPTIONS USER=MYPDB;
                  %VMXGINIT;
                  %INCLUDE SOURCLIB(TYPEDB2,ASUMDB2A);
   Thanks to Lars Fleischer, SMT Data, SWEDEN.

Change 28.049 -If you APPEND PDB datasets, you may receive warnings that
FIXTRNCD       the old dataset did not have TRANSCODE attribute set.
Mar 16, 2010   These warnings are only cosmetic, and will go away when
Apr 29, 2010   you reset the MTD or WTD dataset with only the new MXG.
               But, those warnings can be eliminated with the attached
               FIXTRNCD program which adds the TRANSCODE=NO attribute to
               all $HEX-formatted CHAR variables in the OLD MDT/WTD.
              -MXG 28.01/28.02. Original FIXTRNCD program did not work.
               Revised and tested Apr 29, 2010.
   Thanks to Jan Hess, USAirways, USA.
   Thanks to Doug Medland, IBM Global Services, USA.

Change 28.048  RMFV CPUG3 record has +192 bytes in z/OS 1.11.
VMACRMFV       Temporary skip realigns data.
Mar 15, 2010
   Thanks to Miguel Barrios, SSA, USA.

====== Changes thru 28.047 were in MXG 28.01 dated Mar  9, 2010========

 Change Numbers with an asterisk are still OPEN, their text may change,
 and the listed members might not have been updated yet in this release.

 Contact support@mxg.com for current status of those changes.

Change 28.047  User defined CICS segment supported.  Names similar to
IMACICUJ       the expected names for IMACICDL caused this particular
UTILEXCL       user segment to not be recognized, causing ERRORs when
Mar  9, 2010   SMF data was processed.
   Thanks to Paul Baquet, Duke University, USA.

Change 28.046  Documentation.  The summarization INTERVAL= request must
ASUM70PR       be GREATER THAN OR EQUAL TO the RMF interval duration.
Mar  9, 2010   The default ASUM70PR has INTERVAL=QTRHOUR, but if that is
               used with data that was created HOURLY, the output
               ASUM70PR dataset(s) can have PCTCPUBY,PCTLnBY, etc.
               percentages greater than 100, and there's nothing I can
               do to correct those values with the incorrect INTERVAL=.

Change 28.045  The TIMEBILD table was arbitrarily limited to 99 entries;
TIMEBILD       keeping ancient systems in the table caused an error when
Mar  8, 2010   the limit was exceeded; the limit is increased to 999.
   Thanks to Betty Wong, Bank of America, USA.
   Thanks to Michael Oujesky, Bank of America, USA.

Change 28.044  WPS failed with a compiler error in VGETOBS, reported as
VGETOBS        UNRESOLVED MACRO %TRIM, but the error, documented in WPS
Mar  6, 2010   item 8385, was not in %TRIM, but was in the parsing of a
Mar  8, 2010   %VGETOBS value that had a plus sign (e.g. 1234e+56).  WPS
               maintenance 14690 corrected the compiler error, but now
               we understand the code syntax that exposes the problem,
               by adding %QUOTE() function around the %VGETOBS text, the
               exposure is circumvented, without installing WPS 14690.
                 (First attempt using %STR() around %VGETOBS failed;
                  %STR is evaluated at compile time, %QUOTE is evaluated
                  at execute time, which is required here.  Two other
                  %STR were changed to %QUOTE just for consistency.)
                 (Second attempt did not correctly parse a period that
                  was returned when the SAS Data Library was in XPORT
                  format.)
                 (Third attempt used %INDEX to solve the problem.)
   Thanks to Atle Mjelde, ErgoGroup, NORWAY.

Change 28.043  zTPF has major revisions in Performance Data, with many
EXTPFCC        old variables removed and new record types; while the new
EXTPFCF        support is in new members TYPEZTPF/TYPSZTPF/VMACZTPF and
EXTPFCL        not an updated TYPETPF, old DATASET and VARIABLE names
EXTPFCW        that exist are unchanged, and TPF is still the prefix for
EXTPFCY        the new dataset names.
EXTPFCZ         Status
EXTPFGL           TPFID   DSECT    DATA RECORD   DATA IN DATA RECORD
EXTPFHP            CC      NO        YES            NO
EXTPFMT            CF      YES       YES            NO
EXTPFMT            CL      YES       YES            NO
EXTPFSF            CW      COMPLETED
EXTPFSI            CY      NO        YES            NO
EXTPFTH            CZ      NO        YES            NO
EXTPFUC            GL      YES       YES            NO
EXTPFVC            HP      YES       YES            NO
EXTPFVF            MT      COMPLETED
TYPEZTPF           MU      NO        NO             NO
VMACZTPF           SF      NO        YES            YES
VMXGZTPF           SI      COMPLETED
Mar  5, 2010       TH      NO        YES            NO
Mar 30, 2010       UC      YES       YES            NO
Apr  5, 2010       VC      NO        NO             NO
                   VF      NO        YES            YES
   Thanks to Bob Wilcox, HP, USA.

Change 28.042  New Sentry VM 3.1.4.3 adds new objects and metrics:
EXNTAPOW         dddddd   Dataset Name    Object
EXNTEVFS
EXNTEVFW         NTAPOW   APOOLWAS        APP_POOL_WAS
EXNTHSRQ         NTEVFS   EVTRACWS        EVENT TRACING FOR WINDOWS SESS
EXNTHSUG         NTEVFW   EVTRACWI        EVENT TRACING FOR WINDOWS
EXNTIPDP         NTHSRQ   HTTPSRQU        HTTP SERVICE REQUEST QUEUES
EXNTIPDR         NTHSUG   HTTPSUGR        HTTP SERVICE URL GROUPS
EXNTIPGL         NTIPDP   IPSECDOS        IPSEC DOS PROTECTION
EXNTPPAC         NTIPDR   IPSECDRI        IPSEC DRIVER
EXNTPPIC         NTIPGL   IPHTTPSG        IPHTTPS GLOBAL
EXNTPRIN         NTPPAC   PPNETACC        PER PROCESSOR NETWORK ACTIVITY
EXNTSYNC         NTPPIC   PPNETINC        PER PROCESSOR NETWORK INTERFAC
EXNTTECL         NTPRIN   PROCINFO        PROCESSOR INFORMATION
EXNTTECL         NTSYNC   SYNCHRON        SYNCHRONIZATION
EXNTTESE         NTTECL   TERECLIE        TEREDO CLIENT
EXNTVWGA         NTTECL   TERERELY        TEREDO RELAY
EXNTVWHA         NTTESE   TERESERV        TEREDO SERVER
EXNTWFP          NTVWGA   VMGUESTA        VMWARE.GUEST.AGGREGATE
EXNTWFPV6        NTVWHA   VMHOSTAG        VMWARE.HOST.AGGREGATE
EXNTWPFV4        NTWFP    WFP             WFP
EXNTWSMAN        NTWFPV6  WFPTV6          WFPV6
IMACNTSM         NTWPFV4  WFPV4           WFPV4
VMACNTSM         NTWSMAN  WSMANQUS        WSMAN QUOTA STATISTICS
Mar  7, 2010

Change 28.041  Do NOT use ASMTAPEE ML-45/46; it caused CPU spikes in the
ASMTAPEE       in the MXGTMNT address space (minutes vs fractions of a
Mar  9, 2010   second) that are now corrected by this new ML-47 release.
               ML-45 was in MXG 27.10, ML-46 was in MXG 27.11/MXG 27.27.
               Just in case, member ASMTAP44 contains ML-44.

Change 28.040  This original change text was wrong and replaced in 2011.
VMACTMS5       The new TMS Extended Format TMC did NOT change ANY size
Mar  5, 2010   of the TMC 340 byte records.  The new Extended Format is
Dec  7, 2011   COMPLETELY COMPATIBLE WITH ALL VERSIONS OF MXG SOFTWARE.
               See Change 29.274.

Change 28.039 -Dataset TYPE74CA variable R7451RID, the Rank ID, is input
VMAC74         from two bytes, but that produced values in the thousands
Mar  5, 2010   while the values in R748ARID and R748RRID in TYPE748A and
               TYPE748R have values up to only 15.  The observed values
               in the first byte of R7451RID are between 1 and 15, and
               and the second byte is 1 or 2, so (guessing), R7451RID is
               now input from only the first byte and new R7451RI2 has
               the value in the second byte, perhaps the Rank Group.
               IBM RMF support observed the same values, but they only
               get the two bytes from the interface.
              -The Raid Rank segment has fields overlaid that populated
               multiple variables, but variable R7451FLG is now used to
               set missing values for the variables that don't exist.
               This table identifies which R7451xxx variables have value
               for each value of R7451FLG, which should be used to group
               these three different sets of metrics in TYPE74CA.

                                    R7451FLG
                0=No Information, 1=Raid Rank Data, 2=Extent Pool Data

                               0        1           2
                                       RID         XID
                              HDD      HDD         XTY
                                       RTY         XFL
                              HSS
                              RRQ      RRQ         PRO
                              WRQ      WRQ         PWO
                              SR       SR          PBR
                              SW       SW          PBW
                              RRT      RRT         PRT
                              WRT      WRT         PWT
              -Documentation. The three type 74 subtype 5 LSA Segments
               (LO,RO,VO) added in OS/390 Release 2.10 in Change 18.134
               were removed by IBM in z/OS 1.1, so these variables will
               always be a missing value:
                 R745DCIR R745LFRE R745LKBF R745LKBR R745RBYF R745RBYS
                 R745RRID R745VBYW R745VFLG R745VNTR R745VNUM R745VSER
   Thanks to Deb Soricelli, CIGNA, USA.

Change 28.038  SMF 120 SUBTYPE 9 caused INPUT STATEMENT EXCEEDED RECORD
VMAC120        because MXG thought variable SM1209ES was 128 bytes long,
Mar  3, 2010   when it should have been INPUT as 64 bytes long.
   Thanks to Clayton Buck, UniGroup, USA.

Change 28.037  PDB.SMFINTRV will have EXCP/IOTM counts for FLUSHED steps
BUILD005       that have ZERO elapsed time (for example, steps bypassed
BUIL3005       execution due to JCL Condition Code Tests) if this causes
BUIL3005       the flushed step and the NEXT step to have identical time
Mar  3, 2010   in INITTIME and INTBTIME (step init, interval begin, to
               .01 second resolution).  Those NEXT step EXCPs/IOTMs were
               incorrectly output in that FLUSHED step observation, and
               the NEXT step observation had zero EXCP/IOTM counts.
               The PDB.STEPS and PDB.JOBS datasets were correct, because
               they don't use interval data.
               And, in PDB.SMFINTRV, since those EXCPs were valid, but
               just in the wrong step, both the JOB and INTERVAL totals
               were always just fine.
              -Adding INTETIME, the interval end time, in the BY lists
               in SORTS and MERGES and KEEP= and in FIRST. and LAST. in
               the MULTIDD algorithm corrects the error; it's now clear
               they were always required for uniqueness.
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 28.036 -TYPE1032 from SMF 103 subtype 2 did not deaccumulate
VMAC103        correctly if PORTNR was not unique; variable JOB was
Mar  2, 2010   added to the BY list for uniqueness to correct.
              -"SINCE*STARTUP" removed from label of variable TIMEOUTS,
               as it is now the interval value, after deaccumulation.
   Thanks to Matthew Chappell, Queensland Dept of Transport, AUSTRALIA.

Change 28.035  Cosmetic, a numeric to character conversion note was
VMXG2DTE       eliminated.
Feb 28, 2010

Change 28.034  The references to %TRIM() function are not required, and
VGETOBS        their removal may avoid UNRESOLVED MACRO TRIM errors.
Feb 28, 2010

Change 28.033  Incorrect MXG test for SEGLEN=220 for XAMSYS records in
VMACXAM        the SUBSUM segment caused alignment ERRORS on the log.
Feb 28, 2010   Correct tests are for 224 and 228.
   Thanks to Frank Bereznay, IBM Global Services, USA.
   Thanks to Raff Rushton, IBM Global Services, USA.

Change 28.032 -IBM/CANDLE/OMEGAMON optional CMRDATA segment (IMACICMR)
IMACICMR       was increased to 256 bytes in CICS/TS 3.2 (SMFPSRVR=65),
UTILEXCL       and MXG tests that CICS version in IMACICMR, but records
Feb 27, 2010   from CICS/TS 3.2 with the old 200-byte length are still
               created (presumably, the OMEGAMON exit for that segment
               was not reassembled with CICS/TS 3.2 macros).  While the
               segment length of an optional CICS segment is not in the
               CICSTRAN SMF record, if the MR segment happens to be the
               LAST segment, this change invokes the old short-record
               INPUT when less than 256 bytes are left and it's 3.2.
               If the CMRDATA segment is not the last segment, the short
               segment ultimately (hopefully) causes some sort of ERROR
               (in this case, INVALID TASKNR DETECTED with a VERY large
               value, due to the misalignment of the short record).
              -While I can't tell segment length when creating CICSTRAN,
               UTILEXCL will now detect the short CMRDATA segment under
               CICS/TS 3.2 and print error messages on its log.
   Thanks to Atle Mjelde, ERGO Group, NORWAY.

Change 28.031  z/OS 1.11 GA added variables to SMF 30 and SMF 71, but I
VMAC30         had not re-examined the final SMF manual. Now added:
VMAC71          Dataset TYPE71:
Feb 25, 2010      SMF711RN='FIRST*REFERENCE*FAULTS'
                  SMF71FBN='FRAMES*BACKED*DURING*GETMAINS'
                  SMF71FFN='FRAMES*REQUESTED*TO BE FIXED*BELOW 2GB'
                  SMF71FRN='FIX*REQUESTS*BELOW*2GB'
                  SMF71GRN='GETMAIN*REQUESTS*ISSUED'
                  SMF71NRN='NON-FIRST*REFERENCE*FAULTS'
                Datasets TYPE30_4,TYPE30_5,SMFINTRV,TYPE30_6:
                  SMF30HSH='HWM*USABLE BYTES*IN 64-BIT*SHARED'
                  SMF30HSO='BYTES IN*64-BIT*SHARED*STORAGE'
                  SMF30HVA='HWM*AUX*SLOTS*BACK*64-BIT'
                  SMF30HVH='HWM*USABLE BYTES*IN 64-BIT*OBTAINED'
                  SMF30HVO='BYTES IN*64-BIT*STORAGE*OBTAINED'
                  SMF30HVR='HWM*REAL*FRAMES*BACK*64-BIT'
   Thanks to Don Deese, CPExpert, Computer Management Sciences, USA.

Change 28.030  Support for IMS Log 55x Statistics records, may not
VMACIMS        have been tested with actual records.
Feb 24, 2010

Change 28.029  RMM datetime vars have always been wrong time zone. MXG
VMACEDGR       assumed that the existence of a GMTOFF value in a Header
Feb 24, 2010   record extracted by EDGHSKP meant that the values in the
Mar  5, 2010   records were on GMT, so MXG added the GMTOFF, intending
Mar  8, 2010   to convert to local, but that incorrectly converted times
               back to GMT time zone values.  IBM rmm support confirms
               that, since z/OS 1.8, extract records ALMOST ALWAYS have
               the local time zone, even if the new Common Time UTC(YES)
               option is enabled.  However, if the RHTZNAME field in the
               header record is non-blank, then the user specified the
               TZ operand of the RPTEXT command, and times IN the record
               were created on that time zone; in this case, MXG does
               use the GMTOFF to convert record times to local time zone
               and MXG prints a message when this is detected.
              -The MXG support for all possible data formats added in
               Change yy.xxx requires a Header Record to define the date
               formats (Julian, American, European, etc.), but if there
               was no Header record, all of the date/times were missing.
               This change prints an error message if no "H" Header was
               found as the first record in the file, and sets the date
               format to the Julian (arbitrary, but most common), with
               no guarantee that valid times will be created.
   Thanks to Jorge Fong, NYC Information Technology, USA.
   Thanks to Phillip Moore, UHC, USA.
   Thanks to Robert Chavez, Florida Power and Light, USA.

Change 28.028  BMC IMF INPUT STATEMENT EXCEEDED RECORD LENGTH when a
VMACCIMS       shorter than expected TRNEXTEN segment of only 16 bytes
Feb 24, 2010   was found; MXG expected 52 bytes.  What's sad is that
               I only input that segment, and didn't keep it, so it is
               not even important, but now, the length remaining is
               validated prior to the INPUT of that segment. BMC support
               has acknowledge the error: "MVIMS should clear TRNEXTEN
               and TRNEXTLN when it strips off the extension. A PTF will
               be created to correct the problem.
   Thanks to Lorena Ortenzi, UniCredit Global Info Services, ITALY.
   Thanks to Paolo Uguccioni, UniCredit Global Info Services, ITALY.

Change 28.027  Do not use the EXIT112 ASM program to decompress CICS SMF
EXIT112        110 records: instead, use the EXITCICS ASM program to
Feb 23, 2010   create the CICSIFUE infile exit to process CICS/TS 3.2
VMAC110        compressed SMF records.  As noted in the original change
               text, EXIT112 was supposed to handle both 110 and 112
               compressed records, and it was tested in 2007, but it now
               fails with either 110 or 112 compressed records.
               I thought you could use the IBM DFH$MOLS program to
               decompress the 112 Omegamon records, but you can't.
              -MXG VMAC110 was updated to print a message when the
               internal SAS decompression code was executed because the
               CICSIFUE exit was not installed.

Change 28.026  Only for consistency, SUMBY= argument changed to STARTIME
TRND71         in place of the now-archaic DATETIME symbol.
Feb 23, 2010

Change 28.025  New Crypto Type CEX3C PRCAPMCT=9 caused MXG to CPU LOOP
FORMATS        on the DM=5 RC=10 PRCAPM segment, with no clue unless you
VMACVMXA       enabled DEBUG=2 to see the last record before the loop.
Feb 22, 2010  -MXG now protects any unknown PRCAPMCT value with MXGERROR
               messages for the first 3 records, and no CPU loop!
              -PRCAPMCT values 3,5,7,9 have one structure, and 4,6,8
               have a second structure (and 4 has 5 engines, while 6,8
               have only one engine).  All seven values are now decoded.
              -Variable PRCAPMCT is now formatted with new MGVXACX
               to map the value to the Crypto Type processor:
                 3='3:PCICC'
                 4='4:PCICA'
                 5='5:PCIXCC'
                 6='6:CEX2A'
                 7='7:CEX2C'
                 8='8:CEX3A'
                 9='9:CEX3C'
   Thanks to Jim Kovarik, AEGON USA, USA.

Change 28.024  Variable BYTESIN is now MGBYTES formatted, rather than
VMACAIX        MGBYTRT formatted, as it contains bytes, not a rate.
Feb 18, 2010
   Thanks to Glenn Bowman, Wakefern, USA.

Change 28.023 -New MXGERROR and USER ABEND 990 if NOWORKINIT is enabled.
VMXGINIT       Unlikely/obscure, but if //WORK is a Permanent DSNAME and
Feb 18, 2010   has DISP=OLD, that NOWORKINIT option skips initialization
               of the (normally temporary) //WORK library, so whatever
               temporary stuff (macros, catalogs, tables, datasets) was
               left from the last SAS step will be used for this step.
               While there may be some applications that can use this
               "feature", MXG is NOT one of them.  When an ITRM site
               with that environment upgraded to 27.27, the SAS Compiler
               initially had UNRESOLVED MACRO VARIABLE TEMP1ENG errors
               in the first execution of VMXGSUM in BUILDPDB, but a job
               to enable diagnostics had a typo that caused an error,
               but when fixed and diagnostics were enabled, yet another
               compiler error was encountered, and three subsequent runs
               all failed with different errors.  It was only when one
               error reported CORRUPTED MACROs that we spotted the reuse
               of the //WORK DD in the JCL, and only because diagnostic
               option VERBOSE had been turned on that we saw the CONFIG
               in use had specified the NOWORKINIT option.

               That original unresolved macro error was false; there was
               no error in MXG code, but was the result of a conflict
               between the old, compiled, %VMXGSUM macro in //WORK that
               was compiled from the old MXG, with the invocation in the
               new MXG that expected the new definition.  Changes were
               made to VMXGSUM between the two versions.

               This change causes a USER ABEND 990 and MXGERROR messages
               if the NOWORKINIT is enabled at MXG Initialization.

              -All VMXGxxxx members that define volatile %MACROs print a
               single MXGNOTE: VMXGxxxx LAST UPDATED...., when the macro
               is compiled; this will avoid a rerun just to determine if
               an old macro is in use when there are errors.
              -But, see Change 28.079A

Change 28.022 -ML-47 of ASMTAPEE/MXGTMNT protects for diagnostic ABEND.
ASMTAPEE       If diagnostic trap IEAINITREGSTASK is enabled, it causes
Feb 13, 2010   a recoverable ABEND 0E0-28 for each XMEM Cross-Memory
               call, with a loss of data fields in some MXGTMNT records,
               and the unwanted overhead of triggering that trap.
               Diagnostic traps like this are enabled, usually only on
               test systems, but especially on new z/OS system tests,
               to expose existing or potential coding errors.  The fact
               that this trap caused an abend doesn't necessarily mean
               there is an error.

               The idea behind this one is that if a program does not
               properly set a register, then any use of that register
               could potentially lead to a storage overlay.  Storage
               overlays are some of the most difficult problems to
               diagnose because you don't get an abend when the storage
               is overlaid: the abend only comes later when subsequent
               code attempts to use that storage and comes across that
               now-corrupted area.  The abend could happen immediately,
               or hours later.

               This trap places x'FF' in all registers, including access
               registers, at task initialization, with the expectation
               that the task will clear all access registers before it
               goes into AR cross memory mode.  The 'FF'x will cause the
               code that is using the register without clearing it to
               immediately abend, making this storage overlay error much
               easier to find.  There are several IBM APARs for various
               products that had identical S0E0 ABENDS.

               Newer sections of MXGTMNT do clear all ARs, but the older
               code, pre ML-29, only cleared the ARs that were actually
               used, leaving the unused ARs with the x'FF' value.

               What is the exposure for MXGTMNT?  There isn't any.  This
               trap exposes, at most, a bad programming practice, maybe!

               The trap ABEND is caused by the access registers being
               set to x'FF's.  Access registers are used for access via
               cross memory, and the trap sets them when the task is
               first created and entered.
               Since MXGTMNT is the first task there is no chance that a
               previous task left any unwanted data in the access
               registers.  But even though there is no exposure, we have
               no choice but to add code to clear all ARs; otherwise
               anyone who runs MXGTMNT with that diagnostic trap enabled
               will encounter these abends.
               See Change 28.041 text for ML-47 status.
   Thanks to Ginny Nugent, SAS Institute, USA.
   Thanks to Ed Webb, SAS Institute, USA
   and to my "asmguy", who provided the explanations and the update.

Change 28.021  The zPCR program works fine for simple configurations,
ANALZPCR       but with missing data, or multiple, complex, sysplexes
Feb 13, 2010   the ANALZPCR program could fail, the MXG-created .zpcr
Feb 16, 2010   file load could fail, or a model that would load without
Feb 25, 2010   an error could have SYSTEMs in the wrong SYSPLEX.
Feb 28, 2010  -The SYSPLEX value in PDB.TYPE70PR is NOT the SYSPLEX of
Mar  4, 2010   the LPARNAME, but, rather, is the SYSPLEX on which that
Mar  5, 2010   SMF record was written, a fact overlooked in ANALZPCR,
               which needs to correctly associate LPARNAME to SYSPLEX.
               Depending on the alphabetical ordering of your SYSTEM and
               SYSPLEX names, ANALZPCR sometimes accidentally had the
               right SYSTEM in the right SYSPLEX, but not always.
               Now, PDB.TYPE70, whose SYSTEM-SYSPLEX pairing is always
               right, is read to create a format mapping SYSTEM to its
               SYSPLEX (in addition to the existing format that maps the
               SYSTEM to MVSLEVEL). Then, PDB.TYPE70PR is read, values
               of MVSLEVEL/SYSPLEX are set from SMF70STN format lookups,
               and the WORK.TYPE70PR dataset has correct SYSPLEX and
               MVSLEVEL for LPARNAME, so ANALZPCR now always is right.
              -zPCR load fails with MXG-created .zpcr file if incomplete
               SMF/PDB data input was read and SCP created.
               The input SMF or PDB must have TYPE70 observations for
               every SYSTEM to get the MVSLEVEL, which is used to set
               the SCP tag from SMF70STN in TYPE70PR.  If a system's
               data doesn't have TYPE70 data and is only in the TYPE70PR
               LPAR data, the SCP tag value 'z/OS-MXG**' has always been
               created in the .zpcr file, but not documented, and that
               tag value must be changed for zPCR to load the text file.
               Now, there are ERROR messages when you have missing data
               telling you MUST change those SCP tag values before using
               the .zpcr file. Output reports also are enhanced to show
               the MVSLEVEL and SMF70STN for each LPAR.
              -ANALZPCR program fails with overlapping FORMAT values if
               the SMF/PDB input has data with multiple MVSLEVELS from
               the same SYSTEM.  ANALZPCR will now detect and continue
               to execute, and will use the LAST MVSLEVEL for SCP tag,
               but will also print ERROR messages when this is detected.
                  ANALZPCR can't easily be redesigned to support this
                  multiplicity, but you can split your input and run the
                  ANALZPCR twice to create each of the two .zpcr files.
              -When ANALZPCR is run on ASCII, to read a PDB.TYPE70 that
               was CIMPORTed from z/OS and that had been created on z/OS
               "before" the TRANSCODE attribute was added by MXG 27.01
               (Change 27.014) to all HEX-containing-$CHAR-variables,
               variable CPUTYPE will have been converted to '886D'x for
               a true CPUTYPE='2094'x.  ANALZPCR now tests CPUTYPE for
               these "wrong" values: 886D/886F/8870/8871x in CPUTYPE
               and corrects them to: 2094/2096/2097/2098x so that the
               NAME tag that zpcr expects is created in the .zpcr file.
              -When PDB=SMF was used, DASDIORT counted only DASD I/O by
               selecting only DEVCLASS=20X when SMF was read. But when
               PDB=PDB was used, but only if your PDB.TYPE74 dataset had
               other DEVCLASS's captured, DASDIORT was the total I/O.
               Now, the PDB=PDB logic selects only DEVCLASS=20X counts.
              -MXG uses LCPUSHAR, the Initial Shared LPAR Weight, but if
               IRD is active (LPARWLMG='Y'), zPCR expects SMF70ACS, the
               Current Shared Weight.
              -The message for Linux LPARs that you have to manually put
               the SCP type printed the SYSTEM instead of the LPARNAME.
              -When PDB=CECTIME was used, specialty engine and ICF's
               could have been miscounted.
              -SELECT PEAKTIME or PEAKPCT only summarize zOS SYSTEMs,
               and they do NOT contain IFLs, nor ICF partitions, and
               thus are unlikely to be used.  CECTIME is DEFAULT.
              -Mar 4, 2010. zPCR Release 6.3a failed to load a model
               with CPUTYPE 2094-722; IBM zPCR support
               created an updated zPCR program with same-day-service!
               With that new release, the Book Configuration, which is
               now VERY important, can be specified in the pull-down.
   Thanks to Frank Bereznay, IBM Global Services, USA.
   Thanks to Raff Rushton, IBM Global Services, USA.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 28.020  Variable QAQSGDSP, Sharing Group Dispositions, in dataset
FORMATS        TMMQQAA is now decoded by new FORMAT $MGTMQDI.
VMACTMMQ
Feb 12, 2010
   Thanks to Paul Volpi, UHC, USA.

Change 28.019  INVALID DATA FOR RVTRERR in EDGHSKP records is caused by
VMACEDGR       IBM writing a question-mark character instead of a count
Feb 10, 2010   of errors as an &NUM4. field.  This change eliminates
               that NOTE and the HEX record dump for all four xxxxERR
               variables (by changing the INPUT to use ?? &NUM.4.), but
               IBM will be contacted for an explanation; perhaps they
               store a question mark when the error count is larger than
               the maximum of 99999 that fits in that 4-byte field.
               These instance of invalid data values can be identified
               because RVTRERR will be a missing value in the EDGRXEXT
               or EDGRVEXT dataset.
   Thanks to Paul Volpi, UHC, USA.

Change 28.018  All of the duration/clock values are in 1024 microsecond
VMACTMVT       units and not the 64 microsecond units MXG had coded; the
Feb 10, 2010   correct 1024 multiplier is now used. The FORMAT TIME13.3
               will still display decimals the maximum resolution of one
               millisecond (0.001 seconds), since 1024 microseconds is
               just at teeny bit more than one millisecond.
   Thanks to Paul Volpi, UHC, USA.

Change 28.017  CICS Optional 'PSB SCHL', a mis-spelling of the expected
UTILEXCL       'PSB SCHD' field name, is now recognized and supported.
Feb  8, 2010
   Thanks to Thomas E. Porta, TYCO Electronics, USA.

Change 28.016  SAS Version 9.2 changed the PROC GCHART's PATTERN default
DOC            to a terrible choice that produces unreadable patterns.
Feb  6, 2010   Feb: Investigating alternatives.
Aug  9, 2010   Aug: Better definition of color/patterns now defined as
                    default in VMXGINIT, but if you choose your own,
                    yours will instead be used.

Change 28.015  Support for z/TPF SMF 89 record; z/TPF put the subtype in
VMAC89         byte 19 rather than bytes 19-20 as documented for z/OS.
Feb  3, 2010   MXG protects either z/OS or z/TPF SMF ID=89 records now.
   Thanks to Paul J. Westerhout, KLM, THE NETHERLANDS.

Change 28.014  MXG 27.10-MXG 27.27.  The wildcard colon-suffix in the
VGETDDS        DDNAMES= argument, to allocate all DDNAMEs starting with
Feb  3, 2010   those characters (%VGETDDS,DDNAMES=PDB:); worked ONLY for
               DDNAMES=PDB:).  Any OTHER prefix characters ahead of that
               colon caused syntax errors.  And, DDNAMES=ALLDAYS or even
               a list of specific DDNAMES=MON TUE WED names also failed,
               with LIBNAME PDBx NOT ASSIGNED because a separate error
               sent VMXGDDS to try to allocate LIBNAMES starting with
               PDBn, no matter what names you used in your DDNAMES=.
                 Note: If the DATASET you will look for in VMXGSET might
                       not exist in all of the LIBNAMES you specify, you
                       can use  OPTIONS NODSNFERR; and only the found
                       datasets will be read by VMXGSET, and the SAS log
                       will indicate which DDnames had the DATASET.
   Thanks to Paul Naddeo, FISERV, USA.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 28.013  Variables QW0127FG/QW0127PG/QW0128FG/QW0128PG are INPUT
FORMATS        and kept in T102S127 and T102S128 datasets.  The "PG"
VMAC102        variables are four-byte replacements for the three-byte
Jan 30, 2010   existing "PN" page number variables.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.012  Very kewl tool, %VMXGFIND searches a SAS data library to
VMXGFIND       FIND all observations in all datasets that meet your test
VGETVAR        criteria, outputs those selected obs into a separate SAS
VMXGPRNT       data library, and prints all selected obs (all variables,
Jan 31, 2010   with the variable's name AND label as heading).
               For example:

                 %VMXGFIND(
                           PDB=PDB,
                           PDBOUT=PDBOUT,
                           KEEPIN=JOB,
                           FIND= IF JOB='MXGBUILD'; ,
                           PRINT=YES);

               finds all obs with JOB='MXGBUILD' in all of the datasets
               in the PDB input library, and outputs those obs into
               their datasets in the PDBOUT data library, and prints.

               In your KEEPIN= argument, you list all of the variables
               that will be used in the SAS code in your FIND= argument.
               Only the datasets with one or more of those variables are
               read, and the FIND= logic is used to output the selected.
               You can test with complex logic with multiple variables
               that don't exist in all of the dataset.  For example:

                %VMXGFIND(
                       PDB=PDB,
                       PDBOUT=PDBOUT,
                       KEEPIN=STARTIME STRTTIME INTBTIME,
                       FIND= IF ('31JAN2010:15:00:00'DT LE STARTIME LT
                                 '31JAN2010:16:00:00'DT )
                             OR ('31JAN2010:15:00:00'DT LE STRTTIME LT
                                 '31JAN2010:16:00:00'DT )
                             OR ('31JAN2010:15:00:00'DT LE INTBTIME LT
                                 '31JAN2010:16:00:00'DT ) ;,
                       PRINT=100);

               selects all interval observations that started in the 3PM
               hour, from RMFINTRV plus all detail RMF datasets, from
               CICINTRV and any other CICxxxxx interval datasets, from
               DB2STATx interval datasets, from the SMFINTRV dataset,
               and from ANY other PDB dataset with ANY of those three
               variables meeting the test.  There will be log messages
               UNINITIALIZED VARIABLE printed when a dataset being read
               doesn't contain all KEEPIN= variables, but they are
               harmless and unavoidable.

               Or, this example

                 %VMXGFIND(PDB=PDB,PDBOUT=PDBOUT,
                           KEEPIN=RACFUSER QWHCAID FSRUID,
                           FIND=IF RACFUSER=::'JOE" OR
                                   QWHCAID=:'JOE' OR
                                   FSRUID=:'JOE';,
                           PRINT=YES );

               will find all observations from user "JOE".

               New %VGETVAR(DDNAME=,DATASET=,VARNAME=), used in VMXGFIND
               determines if variable VARNAME exists in DDNAME.DATASET.
               VMXGPRNT now deletes WORK.TMPPRNT (previously WORK.SP_L).
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.011  Reading VSAM SMF for type 119 records failed; the OFFSMF
VMAC119        was not added to all of the offsets.
Jan 29, 2010
   Thanks to Kim Westcott, State of New York, USA.

Change 28.010  Variable SHIFT is created from the QWHSSTCK (END TIME) in
VMACDB2H       the DB2 Header for all DB2 records, and SHIFT is now kept
VMACDB2        in all of the datasets created from SMF 100 and 101 data.
Jan 28, 2010
   Thanks to Atle Mjelde, ErgoGroup, NORWAY

Change 28.009  INVALID DATA FOR CVTTZ in z/OS 1.11 Type 0 record is due
VMAC0          to absence of &IB.4. in its INPUT statement, but as this
Jan 28, 2010   new variable is not used elsewhere, this had no impact,
               except the waste of your time chasing this message down.
               I missed this because there were no IPL records in any of
               my z/OS 1.11 test SMF data, and because the absence of an
               INFORMAT in an INPUT statement is not a syntax error.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 28.008  The SPIN.SPINMOUN and SPIN.SPINSYSL dataset could grow to
ASUMTAPE       massive size (1.8 million obs in SPINSYSL) because there
Jan 26, 2010   was no test to stop their spinning after some number of
               days.  Now, IMACSPIN is read and its value of _SPINCNT is
               used to determine when a still-unmatched syslog message
               should be "spun" again.  When observations are deleted
               due to their age, the count is printed on the SAS log.
                  The default IMACSPIN has _SPINCNT of zero, because if
                  you failed to read INSTALL's instructions on how to
                  EDIT your IMACSPIN member, at least then when you run
                  your first BUILDPDB, all of the jobs in SMF are output
                  to the PDB library, with none output to SPIN, so you
                  will find all your jobs, complete and incomplete, in
                  that first PDB.  Then, when you ask about all those
                  incomplete jobs, tech support will point you back to
                  read INSTALL and IMACSPIN to set _SPINCNT.
                  But for ASUMTAPE, I will always spin the incomplete
                  mount events at least one day, using _SPINCNT+1, which
                  should allow most incomplete mounts today to match up
                  tomorrow, even if you haven't changed IMACSPIN.
   Thanks to Jim S. Horne, Lowe's Companies, Inc, USA.

Change 28.006  An example Ranking analysis, a PROC RANK on steroids.
ANALRANK
Jan 25, 2010

Change 28.005 -Support for Sun StorageTek Enterprise Library Software
VMACSTC        Version 6.2 and Version 7.0.  Version 6.2 adds new field
Jan 25, 2010   STC14N4K, the number of 4K blocks, used to re-calculate
Feb  2, 2010   STC14VSZ, which was previously limited to a max of 4GB.
Sep 16, 2010   Variables marked with * below, are only in Version 7.
              -New variables added to STCVSM13 dataset;
                 *STC13PLX='TAPEPLEX*FROM WHICH*VTV RECEIVED'
              -New variables added to STCVSM14 dataset;
                  STC14SRS='SYNCHRONOUS*REPLICATION*STATUS'
                  STC14RUN='REWIND*UNLOAD*RECEIVED*DATETIME'
                 *STC14PLX='TAPEPLEX*FROM WHICH*VTV RECEIVED'
              -New variables added to STCVSM16 dataset;
                  STC16INF='RTD*CHANNEL*INTERFACE*ID'
                  STC16ADR='MVS*ADDRESS*OF*RTD'
              -New variables added to STCVSM17 dataset;
                  STC17INF='RTD*CHANNEL*INTERFACE*ID'
                  STC17ADR='MVS*ADDRESS*OF*RTD'
                 *STC17DFL='DISMOUNT*FLAG'
              -New variables added to STCVSM18 dataset;
                  STC18INF='RTD*CHANNEL*INTERFACE*ID'
                  STC18ADR='MVS*ADDRESS*OF*RTD'
              -New variables added to STCVSM19 dataset;
                  STC19INF='RTD*CHANNEL*INTERFACE*ID'
                  STC19ADR='MVS*ADDRESS*OF*RTD'
              -New variables added to STCVSM25 dataset;
                  STC25SCL='MVS*STORAGE*CLASS'
                  STC25TUS='SPACE*USED BY*CURRENT*VTVS'
                  STC25NDV='NUMBER*OF HOLES*DELETED*VTVS'
                  STC25LUT='MVC*LAST*USED*DATETIME'
                  STC25LWT='MVC*LAST*UPDATED*DATETIME'
              -New variables added to STCVSM26 dataset;
                  STC26MGT='VTV*MANAGEMENT*CLASS'
              -New variables added to STCVSM27 dataset;
                  STC27CTP='CARTRIDGE*TYPE'
                  STC27MV3='VOLSER OF*MVC3*CONTAINING*THE VTV'
                  STC27MV4='VOLSER OF*MVC4*CONTAINING*THE VTV'
              -New variables added to STCVSM28 dataset;
                  STC28RUN='REWIND*UNLOAD*RECEIVED*DATETIME'
                 *STC28PLX='TARGET*TAPEPLEX*FOR*EXPORT'
              -Sep 16: No code change, but with this change there were
               obs created from subtype 7 records in STCHSC dataset
               with the Oracle SL8500 hardware, whereas MXG 27.05
               created zero observations in STCHSC.
   Thanks to  Davide Marone, SGS S.p.a. ITALY
   Thanks to  Carlo Gavinelli, SGS S.p.a. ITALY
   Thanks to Gianvittorio Negri, SAS Institute, ITALY.

Change 28.004  The EXTREMELY DETAIL DB2 Trace Report PMTRC01 is revised
ANALDB2R       for efficiency, keeping track of which of 350 possible
Jan 25, 2010   trace datasets are actually populated, and only using
Feb 22, 2010   their variables.  Some uninitialized variables messages
               and character to numeric conversions were eliminated.
               Note that your DBA needs to enable all of these IFCIDs to
               cover all I/O and SQL calls:
                IO    6 7 8 9 10 29 30 34 35 36 37 38 39 40 41 105 107
                      114 115 116 119 120
                SQL   6 7 8 9 10 11 12 15 16 17 18 19 20 22 44 45 53 55
                      58 59 60 61 62 63 64 65 66 68 69 70 71 73 74 75 76
                      77 78 79 86 87 88 89 95 96 105 107 125 157 158 159
                      160 163 174 175 177 183 ACCOUNT
               With CONNTYPE=4 in the argument list, only records from
               CICS Connection will be reported, so if both I/O and SQL
               traces are enabled, you can see what DB2 Tables/DBIDs are
               touched for each transaction, and can what types of SQL
               calls were made for each transaction.  Unfortunately, you
               can NOT map SQL calls to each DB2 Table that was used.
                  %ANALDB2R(PDB=SMF,PMACC01=NO,PMACC02=NO,
                            PMSTA02=NO,PMSPR01=NO,
                            PMTRC01=YES,CONNTYPE=4);
               See correction in Change 28.083.
   Thanks to Paul Volpi, UHC, USA.

Change 28.003  Summary of (archaic) SMF 118 records in ANALTCP and of
ANALTCP        current SMF 119 records failed if PDB was on TAPE.
ANAL119
Jan 21, 2010
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 28.002  Variables CPUZIPTM and CPUIFATM added to this example
ASUMSMFI       summarization of PDB.SMFINTRV.
Jan 21, 2010
   Thanks to Frank Lund, EDB Business Partner Norge AS, NORWAY

Change 28.001  Unused Change.

LASTCHANGE: Version 28.
=========================member=CHANGE27================================
 /* COPYRIGHT (C) 1984-2010 MERRILL CONSULTANTS DALLAS TEXAS USA */

        MXG Version 27.27  is dated Jan 20, 2010, thru Change 27.361
        MXG Version 27.27  is the   2010 "Annual Version".
        MXG Newsletter FIFTY-FIVE is  dated Jan 20, 2010
        MXG Version 27.11  is dated Dec 31, 2009, thru Change 27.337
        MXG Version 27.10  is dated Dec  6, 2009, thru Change 27.325
        MXG Version 27.09 was dated Oct 14, 2009, thru Change 27.283
        MXG Version 27.08 was dated Sep  1, 2009, thru Change 27.229
        MXG Version 27.07 was dated Aug 11, 2009, thru Change 27.195
        MXG Newsletter FIFTY-FOUR is  dated Aug 10, 2009
        MXG Version 27.06 was dated Jul 20, 2009, thru Change 27.167
        MXG Version 27.05 was dated Jun 29, 2009, thru Change 27.145
        MXG Version 27.04 was dated May 27, 2009, thru Change 27.107
        MXG Version 27.03 was dated May  4, 2009, thru Change 27.083
        MXG Version 27.02 was dated Apr 13, 2009, thru Change 27.066
        MXG Version 27.01 was dated Mar 17, 2009, thru Change 27.042
        MXG Version 26.26 was dated Feb 12, 2009, thru Change 26.326
        MXG Version 26.26 was the    2009 "Annual Version".
        MXG Newsletter FIFTY-THREE was dated Feb  3, 2009

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/ship_current_version
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 27.27 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 27.27.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

=======================================================================


I.  MXG Version 27.27 dated Jan  20, 2010, thru Change 27.361.

    MXG Version 27.27 is the "Annual Version" for 2010.

    Major enhancements added in MXG 27.27, dated Jan 20, 2010

  VMXGCNFG 27.356  The standard SAS JCL Proc can be used for MXG.
               // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
               //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
  TYPE112  27.358  Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X
  TYPEEDGR 27.349  Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.
  TYPEEDGR 27.349  Support for RMM APAR OA24025  RDDESKEY.
  TYPEEDGR 27.339  RVTxERR RVPxERR variables now numeric, incompatible.
  TYPE1415 27.361  MXG 27.06-27.11.  BUFNO always zero due to typo.
  TYPESRMH 27.340  SRM Thales Security PTF SL24010 INCOMPATIBLE support.
  VGETDDS  27.359  WAIT=N option protects for DSNAME already in use.
  VGETDDS  27.330  New DATEJUL= correctly generates julian dsnames.
  VMXGALOC 27.355  NOWAIT added, create/allocates are now conditional.
  READDB2  27.351  READDB2 didn't always invoke its EXdddddd members.
  TYPE80A  27.357  TYPE8066 dataset enhanced.
  TYPETMVT 27.347  TMON/VTAM "SI" record Interval variables now INPUT.
  ANAL307X 27.346  Analysis compares Hourly CPU in 70, 72, 30 interval.
  JCLCIDB2 27.345  UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.
  ASUM70PR 27.344  Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.
  VMXGSET  27.343  VMXGSET permits multiple datasets with APPEND=YES.
  VMACSMF  27.341  WARNING: SUBTYPE GT 255 message now not defaulted.
  TYPEIMSA 27.354  MXGNOTE now prints the value of _IMSVERS on the log.

    Major enhancements added in MXG 27.11, dated Dec 31, 2009

  EXPDBINC 27.334  MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.
                   (Must remove &EPDBINC from EXPDBINC if you used the
                   %UTILBLDP to create your BUILDPDB source SYSIN code.)

  TYPETMNT 27.336  SYSLOG message text size increased to 32384 bytes.
  ANALRMFR 27.333  RMF Summary Report (REPORT=SMRY) was incorrect.
  ANALJOBE 27.332  Analysis of Job Events revised, JESNR test removed.
  TYPE80A  27.331  Protection for unknown TOKDANAM eliminates STOPOVER.
  TYPE82   27.330  SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.
  TYPE110  27.329  MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used.
  ASUMMIPS 27.327  DUR70 created with actual vs expected DURATM.
  TYPEDB2  27.326  Variable QDSTQCIT now not deaccumulated.

    Major enhancements added in MXG 27.10, dated Dec  6, 2009

  TYPE0    27.325  Updated Support for z/OS 1.11, ID=0 now supported.
  TYPECDC  27.324  Support for IBM's InfoSphere Change Data Capture CDC
  TYPEDB2  27.319  Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).
  TYPE7072 27.317  Support for APAR OA28670 RMF 70 Crypto Express3
  VMACORAL 27.306  Support for restructured ORACLE SMF records.
  TYPESYNC 27.289  Support for CPUZIPTM added in SYNCSORT SMF records.
  READDB2  27.322  IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc)
  MRGDB2   27.321  MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY
  JCL40GIG 27.316  JCL example to split/parallelize BUILDPDB job.
  VGETDDS  27.310  New DATEJUL= created DSNAMES with Julian YYYDDD.
  VMXGDUR  23.308  SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.
  ASUMMIPS 27.305  ASUMMIPS now inflates MSU by system CAPTURE RATIO.
  TYPE110  27.303  CICS Total I/O and Total Other Wait updates.
  ALOCGOVO 27.299  Allocate GDG's with GOOVOO to minimize DSENQUEUE.
  TYPETIMS 27.298  Expensive algorithm to uncompress ASG/Landmark data.
  TYPENTSM 27.312  MXG 27.09 only. NTSMF Processing failed, RECFM.
  DAILYDSx 27.287  MXG 27.09 only.  TMC= should have been TAPEDATA=.
  TYPE74   27.287  MXG 27.09 only.  DEBUGGING PUT statement removed.
  CONFIGxx 27.294  MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
  TYPEPROS 27.295  PRO/SMS SMF record misalignment corrected.
  ASUM70PR 27.294  IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed.
  ASUM70PR 27.292  First LPAR had missing values in LPSHAR/TOTSHARE.
  TYPE42   27.291  Variable S42DSRDD incorrect by factor of 10**6.
  ASMTAPEE 27.300  ASMTAPE ML-45 enhancements to TMNTnnnn messages.

    Major enhancements added in MXG 27.09, dated Oct 14, 2009

  TYPE110  27.260  TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!
                   This means you do NOT have to assemble and install
                   the EXITCICS "infile" exit.
                    HOWEVER: VERY EXPENSIVE COMPARED TO EXITCICS.
                             SEE THE TEXT OF THE UPDATED CHANGE.

  MANY     27.277  Support for USER=DDNAME, "WORK" now "&MXGWORK".
  TYPE110  27.274  SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed.
  CICINTRV 27.274  CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.
  READDB2  27.272  READDB2 support for WANTONLY now works.
  TYPE110  27.270  CICS STID=115 should not exist.
  ASUM70GO 27.268  Example summarizes PDB.TYPE72GO, changing interval.
  TYPEVMXA 27.264  z/VM MONWRITE example processes only USER domain.
  TYPE74   27.263  R744FNAM not in TYPE74DU, ITRM sites need update.
  ASUMMIPS 27.262  MSU/MIPS for zIIPs and zAAPs added to CPs summary.
  TYPE120  27.255  WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.
  RMFINTRV 27.252  Format missing for many duration variables, fixed.
  TYPEEDGR 27.251  RMM Dates - American/Euro/ISO/Julian - all supported.
  TYPETMDB 27.259  Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.
  TYPEACF2 27.258  Support for Subtype 'O' OPENEDITION record.
  TYPEQACS 27.256  Support for QACSLPAR dataset.
  TYPE120  27.255  SM1209 RETAINED, SM1209FI/EV corrected.
  RMFINTRV 27.252  Formats for durations added.
  TYPEEDGR 27.251  Support for all four RMM Date Formats
  TYPE80A  27.250  Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.
  TYPE74   27.249  R747PAVG AVERGAGE FRAME PACING matches RMF report.
  VGETDDS  27.248  Logic revised when DDNAMES= syntax is used.
  TYPEHBUF 27.247  FLAG1 tests for HyperBuf optional segments revised.
  DAILYDSN 27.246  Variables DSN DSNBACTV STPNAME had UNINIT messages.
  GRAFWRKX 27.245  zIIPs and zAAPs added to SAS/GRAPH hourly workloads.
  TYPE110  27.245  OTRANNUM right with IMACEXCL, wrong in VMAC110.
  FORMATS  27.243  OPTIONS NOCHARCODE reset at end of FORMATS.
  TYPE80A  27.241  RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.
  WPS      27.239  WPS 2.4 GA has been tested, requires MXG 27.09.
  ANALDB2R 27.238  AUDIT report revisions, reduced processing time.
  VGETOBS  27.237  Enhancement if no DDNAME argument.
  TYPE116  27.235  Six datetimes are now converted to LOCAL, were GMT.
  VMXGSUM  27.234  Revision to eliminate OUTCODE= argument sometimes.
  TYPEDB2  27.232  TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.
  TYPECIMS 27.230  Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT.

    Major enhancements added in MXG 27.08, dated Sep  1, 2009

  Several  27.229  Support for z/OS 1.11, COMPATIBLE, except for ID=0.
  TYPE110  27.200  Support for CICS/TS 4.1 GA additions, new stats.
  BUILDPDB 27.213  HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.
  TYPENDM  27.222  Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.
  TYPEOSEM 27.221  Support for zOSEM Operating System Environment Mgr.
  TYPE16   27.211  Support for new z/OS 1.10 DFSORT variables.
  ANALDB2T 27.223  New "Top" DB2 Report ranks resource for corr,auth id.
  ANALCNCR 27.220  MXG 27.06-27.07. Failed if multiple INDATA= datasets.
  ANALCNCR 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.
  ASUMTALO 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.
  RMFINTRV 27.218  SMF70LAC was maximum value rather than average.
  RMFINTRV 27.214  RMFINTRV STARTIME could be early by an interval unit.
  ASUM70PR 27.214  ASUM70PR STARTIME could be early by an interval unit.
  TYPE7072 27.217  Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline.
  TYPEXAM  27.216  Variable SYTLPNAM restored kept in XAMSYT dataset.
  TYPETMO2 27.215  TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record.
  TYPEDCOL 27.212  Support for APAR OA30006, 8-byte DCOLDSET fields.
  TYPETMDB 27.209  TMON/DB2 BF record SQL text BF0142RL corrected.
  TYPEDB2  27.207  MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.
  TYPE92   27.204  Change 27.154 did not correct missing path section.
  ANALRMFR 27.198  ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.
  TYPE85   27.196  Heuristic in Change 27.138 did not correct EXCEEDED.
  VMXGDUR  27.214  New FLORCEIL=FLOOR/CEIL argument for begin/end calc.
  VMXGDUR  27.214  SYNC59=YES default with FLOOR, always safe.
  BUILDPDB 27.220  MSOUNITS,SERVICE corrected to always be LENGTH 8.

    Major enhancements added in MXG 27.07, dated Aug 11, 2009

  TYPEIOO  27.189  Support for Serena's StarTool IOO Product SMF.
  TYPENTSM 27.184  Support for 13 VMWARE objects captured by NTSMF.
  READDB2  27.169  MXG 27.04-27.06. T102Snnn datasets had zero obs.
  ASUMTAPE 27.181  Support for VOLSER='SCRTCH' from MXGTMNT monitor.
  TYPENMON 27.180  Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects.
  TYPEITRF 27.177  Variable RECTOK was truncated to 12 bytes.
  TYPECIMS 27.176  Support for IMF 4.4 was incorrect for TRNxxxxx vars.
  TYPECIMS 27.176  BMC PTF BQI0695 corrects overlaid DBD segments.
  TYPEDB2  27.17x  Corrected, misspelled DB2 variables.
  ANALDB2R 27.172  Many tests IF x NE 0 replaced with IF x GT 0.
  ASUM70PR 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.
  RMFINTRV 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.

    Major enhancements added in MXG 27.06, dated Jul 20, 2009

  TYPE102  27.162  Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x
  TYPEDB2  27.158  Support for UIFCIDS=YES, all "%U" DB2 fields revised.
  TYPEVMXA 27.156  Support for z/VM 6.1.0 in MXG 27.01+; no new data.
  TYPE1415 27.148  Support for APAR OA29428, identifies who closed file.
  TYPE7072 27.149  Labels for Counts of ZIP, IFA, CPs, clarified.
  TYPE42   27.155  Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
  TYPE92   27.154  Variable SMF92PPN blank in TYPE9201, was not INPUT.
  TYPE119  27.153  Variable NTBTRNBE input now as count and not a time.
  ANALZPCR 27.147  SCP too short for z/OS 1.10, wrong if multiple SCPs.
  TYPEDCOL 27.152  MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.
  TYPEXAM  27.151  XAM TCP record INPUT STATEMENT EXCEEDED error.

    Major enhancements added in MXG 27.05, dated Jun 29, 2009

  TYPE30   27.122  Support for APAR OA26832 expands Service Unit fields.
  TYPERMVF 27.120  RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).
  MXGSASxx 27.108  &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL.
  ANALDB2R 27.131  DB2PM-like STATISTICS LONG report MAJOR updates.
  ANALZIPU 27.137  Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.
  TYPETMMQ 27.145  Support for TMON for MQ record 'QA' (APPLICATION).
  TYPEQACS 27.134  More updates for IBM i, i5/OS, iSeries a/k/a AS400.
  TYPECTLL 27.129  Updates for CONTROL-D TYPE C User SMF record.
  JCLDAYDS 27.127  Support for CONTROL-T for "daily dataset billing".
  VMXGOPTR 27.124  Macro %TRIM() function removed from VMXGOPTR.
  ASUM70PR 27.132  Revisions for missing values if IFL is last LPARNUM.
  TYPE1415 27.116  Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.
  TYPETMS5 27.111  New TMSLIB variable, support for multiple TMS cats.
  MXGWPSV2 27.110  Circumventions support MXG execution under WPS 2.3.5.
  COMPALL  27.109  Comparison of COMPALL under SAS and WPS.

    Major enhancements added in MXG 27.04, dated May 27, 2009

  This Version updates lots of DB2 stuff; the IFCID=225 variables are
  now added to PDB.DB2STATS, so that one dataset now has all of the
  DB2 Statistics variables from DB2STAT0, DB2STAT1, and DB2STAT4, and
  for DB2 V8 sites, you can also tell MXG to add the T102S225 variables
  to the PDB.DB2STATS dataset. See Change 27.097 text.
  And READDB2 was revised to match its documentation, and to read only
  the records that are needed for the IFCIDS= selection.

  READDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing
  TYPEDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing
  TYPEDB2  27.086  Some DB2STATS QISE variables incorrectly deaccum'd.
  IMACICOB 27.099  Optional Omegamon DB2 CICS/TS 3.2 times were wrong.
  TYPE119  27.106  Support for z/OS 1.10 storage metrics in SMF 119.
  TYPECIMS 27.107  Support for BMC'S IMF 4.4 (COMPATIBLE).
  TYPEACF2 27.105  ACF2VR dataset enhanced, DB2 activity identification.
  TYPE7072 27.089  Support for TYPE 72 Resource Delay Type Names R723RNx
  TYPEBVIR 27.088  Support for TS7700/BVIR Microcode 1.5.
  TYPEBVIR 27.104  BVIR TS7700 GMT times can be user-changed to LOCAL.
  VMXGDUR  27.103  New INTERVAL=THREEMIN or TWOMIN are supported.
  TYPE70PR 27.102  27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
  TYPERMFV 27.100  RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
  TYPENMON 27.096  Nigel's Monitor MEM Object supported.
  TYPETPMX 27.093  TYPETPMX variable JESNR now 7-digits, was 5 digits.
  VMXGOPTR 27.092  SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB
  VMXGOPTR 27.092  SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.
  TYPETMO2 27.091  ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.
  TYPENMON 27.087  NMONBBBP blank values and wrong labels corrected.
  TYPEOMCI 27.085  ONDV datasets from subtype 203 had blanks for xTRAN.
  VGETDDS  27.083  Concatenate PDB libs, dynamically allocate them.

    Major enhancements added in MXG 27.03, dated May  4, 2009

  ASUM70PR 27.076  ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus.
  ASUM70PR 27.074  Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
  TYPE83   27.067  Support for LDAP Auditing ID=83 Subtype=3 SMF record.
  TYPEIMS7 27.078  Support for IMS Log 45X Interval Statistics record.
  TYPEIMSA 27.078  Support for IMS Log 45X Interval Statistics record.
  TYPEIMFL 27.078  Support for IMF+IMS 45X Interval Statistics record.
  TYPEDCOL 27.082  Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
  TYPE113  27.081  Support for APAR OA27623, CPU Speed, SM1132SP, added.
  TYPENMON 27.080  Protection for inconsistent NMON data counters.
  TYPEBVIR 27.077  BVIR variable GLIBSEQN can be ASCII or EBCDIC.
  TYPESTC  27.072  VTCS subtypes of STC/STK USER SMF record updated.
  VMXGSUM  27.071  VMXGSUM-using programs support DROPed variables.
  TYPEXAM  27.070  Variable DESCR truncated in XMHSTMEM, changed.
  TYPEULTM 27.069  Serena's Ultimizer user MV moved subtype location.
  IMACICDU 27.068  Optional USERCHAR in CICSTRAN was limited to 200.
  TYPE77   27.066  "Owner" variables incorrectly labeled as "Current".

    Major enhancements added in MXG 27.02, dated Apr 13, 2009

                   Errors (Only in MXG 27.01) corrected in 27.02:
  TYPEDCOL 27.057  MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor.
  TYPE42   27.054  MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.
    Enhancements:
  TYPE42   27.062  VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559.
  TYPEEDGR 27.046  Major updates for RMM/EDGHSKP D,V,X records.
  TYPEDCOL 27.047  Support for EAV (large volumes) final correction.
  TYPECTCD 27.056  Support for Control-D "Decollating" SMF record.
  TYPE102  27.059  Some SMF 102 IFCID=108 variables were not INPUT.
  VMACSMF  27.058  SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.
  TYPEHURN 27.055  OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
  TYPE110  27.053  CICS SMF 110 Statistics STID=108 skipped data.
  ANALDB2R 27.052  PMACC01 had blank values; time formats match DB2PM.
  VMXGOPTR 27.051  %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
  VGETSYSI 27.049  New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
  VMACDB2  27.045  DB2STATS QISTWFxx variables were incorrectly deaccum.
  TYPEMWAI 27.043  HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.

    Major enhancements added in MXG 27.01, dated Mar 17, 2009

    These two changes were delivered in re-dated MXG 26.26 of Feb 12:
  READDB2  27.002  READDB2 might not create all datasets, in Feb refresh
  RMFINTRV 27.001  Negative PCTCPUBY, corrected in Feb 12 refresh.

  TYPE110  27.032  Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).
  TYPE111  27.011  Support for CTG V7.2 (INCOMPAT, new RECID=7 error).
  TYPE113  27.004  Support for SMF 113 Hardware Instrumentation Svc HIS.
  TYPEDCOL 27.034  Support for EAV, Extended Address Volume devices.
  TYPENTSM 27.038  Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!).
  TYPE114  27.003  Support for Tivoli Automation SMF 114 record.
  TYPEULOP 27.029  Support for BMC's Ultra Op Product's User SMF record.
  TYPETMO2 27.042  Support for ASG TMON for CICS V3.2 native records.
  ANAL119  27.031  Sample TCP/IP analysis from IBM SMF ID=119 records.
  TYPEVMXA 27.008  z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.
  BUILDPDB 27.005  PDB.SMFRECNT created to audit SMF record counts.
  WEEKxxxx 27.005  Weekly logic enhanced to support nonexistent dataset.
  MONTHxxx 27.005  Month logic enhanced to support nonexistent dataset.
  ANALDB2R 27.012  DB2PM-like report selection by DATABASE enhancement.
  UDB2GTF  27.015  Revised Support for processing DB2 GTF records.
  TYPEDB2  27.018  DB2 V9 variables added by IBM or overlooked, added.
  ANALDB2R 27.024  NOT SORTED ERROR if only PMACC04 was requested.
  TYPE42   27.016  Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.
  TYPE42   27.027  TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
  TYPENMON 27.028  NMON record 'VM' support for both z/VM, and Intel.
  TYPENMON 27.028  IHDRNMON exit permits NMON record selection.
  TYPE88   27.026  SMF88LTD timestamp wrong as GMT offset misapplied.
  MANY     27.014  SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.
  JCLIMSL6 27.033  Setting MACRO _IMSVERS externalized to JCL example.
  TYPEXAM  27.030  Only the last MDISK was kept in XAMDEV.


    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

      MXG 27.27 executes best with SAS V9.2, or with SAS V9.1.3 with
      Service Pack 4, on any supported SAS platform.
        SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
        the MXG EXITCICS/CICSFIUE CICS Decompression Infile Exit.

      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
        NOT occur with SAS V9.2 nor with z/OS 1.9.  It can be
        circumvented by adding a LIBNAME statement that specifies the
        ENGINE name. See the Technical Note in Newsletters for SN-35332.

      Old MXG code may continue to execute with SAS V8.2, but V8 is now
      "Level B" support from SAS Institute, and there are known errors
      in V8.2 that are only fixed in SAS V9.  PLEASE INSTALL V9.2 ASAP,
      FOR BOTH OF US, TO AVOID FIXED PROBLEMS.  MXG Software has not
      executed under SAS V6 in many years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      one of those listed SAS versions, but any of those data libraries
      can be read or updated by any of those versions.


      For SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
        so you do need to use the new MXGSAS92 JCL Procedure for MXG.

        SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
        V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
        and vice versa.

        MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
        and with NO ERRORS reported.
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG
          created SAS datasets were correct, even with that warning.
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.


      For SAS V9.1.3 on z/OS with Service Pack 4:

        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.

        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does
        not support long length character variables, it can't be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
         to be completely safe.  No earlier Version 8's were supported.
         BUT, PLEASE INSTALL V9.x ASAP, FOR BOTH OF US. V8.2 IS ARCHAIC.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      MXG QA tests have executed on z/OS with SAS V9.1.3 and V9.2 and
      also both V9.1.3 and V9.2 on Windows XP.
      (I can no longer run QA tests with "archaic" SAS Version 8.2.)

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

III.  WPS Version requirement information:

      WPS Version 2.4   requires MXG 27.09 (see Change 27.239).
      WPS Version 2.3.5 required MXG 27.05.

      See NEWSLETTERS for "MXG Support for WPS Software"

IV.   MXG Version Required for Hardware, Operating System Release, etc.



    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:

                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05
      z/OS 1.11                        Sep  2, 2009        27.08
      z/OS 1.11 TYPE 0 Correction      Dec  3, 2009       *27.10
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11
      CICS-TS for Z/OS Version 2.2     Jan 25, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS for Z/OS Version 2.3     Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02A
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      MQ Series 6.0                    Feb 14, 2006        23.23
      MQ Series 7.0 (No Changes)       ??? ??, 2009        23.23
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        27.01*
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004        26.01*
      IMS log 10.0                     Mar 06, 2007        26.01*
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06
      AS400 6.1.0                      Jun 29, 2008        26.05

    Note: Asterisk before the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
       NTSMF 3.1.4                     Mar 15, 2009        27.01
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08
       The Monitor for CICS TCE 3.2 (almost all)           25.11
       The Monitor for CICS TCE 3.2 (almost all)           27.01
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       The Monitor for CICS/TS V2.3 for CICS/TS 3.1        22.08

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               26.02*
       IMF 4.4 (for IMS 9.1)                               27.07*
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           27.10

V.    Incompatibilities and Installation of MXG 27.27.


 1. Incompatibilities introduced in MXG 27.27:

  a- Changes in MXG architecture made between 27.27 and prior versions
     that can introduce known incompatibilities.


 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINST9 for
    SAS Version 9.1.3 (JCLINST8 for now-archaic SAS Version 8.2).

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.


VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.



Alphabetical list of important changes in MXG 27.27 after MXG 26.26:

  Dataset/
  Member   Change    Description

  ALOCGOVO 27.299  Allocate GDG's with GOOVOO to minimize DSENQUEUE.
  ANAL119  27.031  Sample TCP/IP analysis from IBM SMF ID=119 records.
  ANAL307X 27.346  Analysis compares Hourly CPU in 70, 72, 30 interval.
  ANALCNCR 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.
  ANALCNCR 27.220  MXG 27.06-27.07. Failed if multiple INDATA= datasets.
  ANALDB2R 27.012  DB2PM-like report selection by DATABASE enhancement.
  ANALDB2R 27.023  One of several updates to ANALDB2R since 26.26.
  ANALDB2R 27.024  NOT SORTED ERROR if only PMACC04 was requested.
  ANALDB2R 27.052  PMACC01 had blank values; time formats match DB2PM.
  ANALDB2R 27.131  DB2PM-like STATISTICS LONG report updated.
  ANALDB2R 27.172  Many tests IF x NE 0 replaced with IF x GT 0.
  ANALDB2R 27.238  AUDIT report revisions, reduced processing time.
  ANALDB2T 27.223  "Top" DB2 Report ranks resource for corr,auth ids.
  ANALJOBE 27.332  Analysis of Job Events revised, JESNR test removed.
  ANALRMFR 27.198  ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.
  ANALRMFR 27.333  RMF Summary Report (REPORT=SMRY) was incorrect.
  ANALZIPU 27.137  Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.
  ANALZPCR 27.147  SCP too short for z/OS  1.10, wrong if multiple SCPs.
  ASMIMSL6 27.121  Assembly error USING introduced in Change 27.078.
  ASMTAPEE 27.348  ASMTAPE ML-46 enhancements to optional SYSLOG data.
  ASMTAPEE 27.300  ASMTAPE ML-45 enhancements to TMNTnnnn messages.
  ASUM70GO 27.268  Example summarizes PDB.TYPE72GO, changing interval.
  ASUM70PR 27.074  Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
  ASUM70PR 27.076  ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus.
  ASUM70PR 27.132  Revisions for missing values if IFL is last LPARNUM.
  ASUM70PR 27.214  ASUM70PR STARTIME could be early by an interval unit.
  ASUM70PR 27.292  First LPAR had missing values in LPSHAR/TOTSHARE.
  ASUM70PR 27.294  IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed.
  ASUM70PR 27.344  Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.
  ASUMMIPS 27.262  MSU/MIPS for zIIPs and zAAPs added to CPs summary.
  ASUMMIPS 27.305  ASUMMIPS now inflates MSU by system CAPTURE RATIO.
  ASUMMIPS 27.327  DUR70 created with actual vs expected DURATM.
  ASUMTALO 27.203  PDB.ASUMTALO had too few obs due to ANALCNCR error.
  ASUMTAPE 27.160  EVENTIME dropped from PDB.ASUMTAPE MXG 26.03, fixed.
  ASUMTAPE 27.181  Support for VOLSER='SCRTCH' from MXGTMNT monitor.
  BLDSMPDB 27.112  SUBSTR() Function Error, allocation revisions.
  BUILDPDB 27.001  New PDB.SMFRECNT dataset summarizes WORK.ID.
  BUILDPDB 27.005  PDB.SMFRECNT created to audit SMF record counts.
  BUILDPDB 27.213  HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.
  BUILDPDB 27.220  MSOUNITS,SERVICE corrected to always be LENGTH 8.
  CICINTRV 27.274  CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.
  COMPALL  27.109  Comparison of COMPALL under SAS and WPS.
  CONFIGxx 27.294  MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
  DAILYDSN 27.246  Variables DSN DSNBACTV STPNAME had UNINIT messages.
  DAILYDSx 27.287  MXG 27.09 only.  TMC= should have been TAPEDATA=.
  DB2      27.158  Support for UIFCIDS=YES, all "%U" DB2 fields revised.
  EXPDBINC 27.334  MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.
  FORMATS  27.243  OPTIONS NOCHARCODE reset at end of FORMATS.
  GRAFWRKX 27.245  zIIPs and zAAPs added to SAS/GRAPH hourly workloads.
  IMACICDU 27.068  Optional USERCHAR in CICSTRAN was limited to 200.
  IMACICOB 27.099  Optional Omegamon DB2 CICS/TS 3.2 times were wrong.
  IMACICUA 26.019  CICS User fields supported in IMACICUA/UB/UC/UD
  JCL40GIG 27.316  JCL example to split/parallelize BUILDPDB job.
  JCLCIDB2 27.345  UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.
  JCLDAYDS 27.127  Support for CONTROLT for "daily dataset billing".
  JCLIMSL6 27.033  Setting MACRO _IMSVERS externalized to JCL example.
  MANY     27.014  SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.
  MANY     27.277  Support for USER=DDNAME, "WORK" now "&MXGWORK".
  MONTHxxx 27.005  Month logic enhanced to support nonexistent dataset.
  MRGDB2   27.321  MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY
  MXGSASxx 27.108  &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL.
  MXGWPSV2 27.110  Status of testing MXG 27.04 with WPS 2.3.5.
  READDB2  27.002  READDB2 might not create all datasets, in Feb refresh
  READDB2  27.002  READDB2 might not create all datasets, in Feb refresh
  READDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing
  READDB2  27.150  MXG 27.05. COPYONLY option didn't include 102s.
  READDB2  27.169  27.04-27.06, zero obs in all T102Snnn datasets.
  READDB2  27.169  MXG 27.04-27.06. T102Snnn datasets not populated.
  READDB2  27.272  READDB2 support for WANTONLY now works.
  READDB2  27.322  IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc)
  READDB2  27.351  READDB2 didn't always invoke its EXdddddd members.
  RMFINTRV 27.001  Negative PCTCPUBY, corrected in Feb 12 refresh.
  RMFINTRV 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.
  RMFINTRV 27.214  RMFINTRV STARTIME could be early by an interval unit.
  RMFINTRV 27.218  SMF70LAC was maximum value rather than average.
  RMFINTRV 27.252  Format missing for many duration variables, fixed.
  RMFINTRV 27.252  Formats for durations added.
  SPIN     27.119  Doc. Sort Order to import EBCDIC sorted SPIN library.
  TIMETABL 27.115  %LET MXGTIM59=YES is no longer required for SYNC59.
  TYPE0    27.325  z/OS 1.11 Update: TYPE 0 Corrected.
  TYPE102  27.059  Some SMF 102 IFCID=108 variables were not INPUT.
  TYPE102  27.131  DB2 T102S106 dataset updates.
  TYPE102  27.132  IFCID=22 with truncated names INPUT STATEMENT EXCEED.
  TYPE102  27.162  Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x
  TYPE110  27.032  Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).
  TYPE110  27.053  CICS SMF 110 Statistics STID=108 skipped data.
  TYPE110  27.200  Support for CICS/TS 4.1 GA updates/documentation.
  TYPE110  27.245  OTRANNUM right with IMACEXCL, wrong in VMAC110.
  TYPE110  27.260  TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!
  TYPE110  27.270  CICS STID=115 should not exist.
  TYPE110  27.274  SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed.
  TYPE110  27.303  CICS Total I/O and Total Other Wait updates.
  TYPE110  27.329  MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used.
  TYPE111  27.011  Support for CTG V7.2 (INCOMPAT, new RECID=7 error).
  TYPE112  27.358  Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X
  TYPE113  27.004  Support for SMF 113 Hardware Instrumentation Svc HIS.
  TYPE113  27.081  Support for APAR OA27623, CPU Speed, SM1132SP, added.
  TYPE114  27.003  Support for Tivoli Automation SMF 114 record.
  TYPE116  27.157  WQGETJCE/WQPUTJCE/etc variables not divided by 4096.
  TYPE116  27.235  Six datetimes are now converted to LOCAL, were GMT.
  TYPE117  27.022  Variables added to S117NODE to match up to S117FLOW.
  TYPE119  27.106  Support for z/OS 1.10 storage metrics in SMF 119.
  TYPE119  27.153  Variable NTBTRNBE input now as count and not a time.
  TYPE120  27.255  SM1209 RETAINED, SM1209FI/EV corrected.
  TYPE120  27.255  WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.
  TYPE1415 27.116  Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.
  TYPE1415 27.148  Support for APAR OA29428, identifies who closed file.
  TYPE1415 27.361  MXG 27.06-27.11.  BUFNO always zero due to typo.
  TYPE16   27.211  Support for new z/OS 1.10 DFSORT variables.
  TYPE30   27.122  Support for APAR OA26832 expands Service Unit fields.
  TYPE42   27.016  Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.
  TYPE42   27.027  TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
  TYPE42   27.054  MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.
  TYPE42   27.062  VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559.
  TYPE42   27.155  Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
  TYPE42   27.291  Variable S42DSRDD incorrect by factor of 10**6.
  TYPE7072 27.010  SMF70CIX, CPU Pool Number, output in PDB.TYPE70PR.
  TYPE7072 27.089  Support for TYPE 72 Resource Delay Type Names R723RNx
  TYPE7072 27.149  Labels for Counts of ZIP, IFA, CPs, clarified.
  TYPE7072 27.205  Doc only. PDB.TYPE70PR LCPUPDTM GT SMF70ONT happens.
  TYPE7072 27.217  Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline.
  TYPE7072 27.317  Support for APAR OA28670 RMF 70 Crypto Express3
  TYPE70PR 27.102  27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
  TYPE70PR 27.178  Summary STARTIME now exact, based on SMF70GIE-DURATM.
  TYPE74   27.249  R747PAVG AVERGAGE FRAME PACING matches RMF report.
  TYPE74   27.263  R744FNAM not in TYPE74DU, ITRM sites need update.
  TYPE74   27.287  MXG 27.09 only.  DEBUGGING PUT statement removed.
  TYPE77   27.066  "Owner" variables incorrectly labeled as "Current".
  TYPE80A  27.017  Undecoded NOHOME/NOPROGRAM in TOKDANAM supported.
  TYPE80A  27.241  RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.
  TYPE80A  27.250  Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.
  TYPE80A  27.331  Protection for unknown TOKDANAM eliminates STOPOVER.
  TYPE80A  27.357  TYPE8066 dataset enhanced.
  TYPE82   27.330  SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.
  TYPE83   27.067  Support for LDAP Auditing ID=83 Subtype=3 SMF record.
  TYPE85   27.138  z/OS 1.10 OAM record INPUT EXCEEDED RECORD LENGTH.
  TYPE85   27.196  Heuristic in Change 27.138 did not correct EXCEEDED.
  TYPE88   27.026  SMF88LTD timestamp wrong as GMT offset misapplied.
  TYPE92   27.154  Variable SMF92PPN blank in TYPE9201, was not INPUT.
  TYPE92   27.204  Change 27.154 did not correct missing path section.
  TYPEACF2 27.105  ACF2VR dataset enhanced, DB2 activity identification.
  TYPEACF2 27.258  Support for Subtype 'O' OPENEDITION record.
  TYPEBVIR 27.077  BVIR variable GLIBSEQN can be ASCII or EBCDIC.
  TYPEBVIR 27.088  Support for TS7700/BVIR Microcode 1.5.
  TYPEBVIR 27.104  BVIR TS7700 GMT times can be user-changed to LOCAL.
  TYPEBVIR 27.163  BVIR PnCHRD/VDRD/CHRD converted to bytes, MGBYTES.
  TYPECDC  27.324  Support for IBM's InfoSphere Change Data Capture CDC
  TYPECIMS 27.107  Support for BMC'S IMF 4.4 (COMPATIBLE).
  TYPECIMS 27.176  BMC PTF BQI0695 corrects overlaid DBD segments.
  TYPECIMS 27.176  Support for IMF 4.4 was incorrect for TRNxxxxx vars.
  TYPECIMS 27.230  Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT.
  TYPECTCD 27.056  Support for Control-D "Decollating" SMF record.
  TYPECTLL 27.129  Updates for CONTROL-D TYPE C User SMF record.
  TYPEDB2  27.018  DB2 V9 variables added by IBM or overlooked, added.
  TYPEDB2  27.021  QPAC flag variables were not reset.
  TYPEDB2  27.045  DB2STATS QISTWFxx variables were incorrectly deaccum.
  TYPEDB2  27.086  Some DB2STATS QISE variables incorrectly deaccum'd.
  TYPEDB2  27.097  Redesign IFCID=225 (DB2STAT4,T102S225) processing
  TYPEDB2  27.161  Incorrect QXPK values in DB2ACCTP, DB2 V9 only.
  TYPEDB2  27.17x  Corrected, misspelled DB2 variables.
  TYPEDB2  27.188  MXG 27.04-27.06 NOT SORTED DB2STAT0/DB2STAT1.
  TYPEDB2  27.207  MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.
  TYPEDB2  27.232  TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.
  TYPEDB2  27.319  Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).
  TYPEDB2  27.326  Variable QDSTQCIT now not deaccumulated.
  TYPEDCOL 27.034  Support for EAV, Extended Address Volume devices.
  TYPEDCOL 27.047  Support for EAV (large volumes) final correction.
  TYPEDCOL 27.057  MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor.
  TYPEDCOL 27.082  Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
  TYPEDCOL 27.152  MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.
  TYPEDCOL 27.212  Support for APAR OA30006, 8-byte DCOLDSET fields.
  TYPEEDGR 27.046  Major updates for RMM/EDGHSKP D,V,X records.
  TYPEEDGR 27.251  RMM Dates - American/Euro/ISO/Julian - all supported.
  TYPEEDGR 27.251  Support for all four RMM Date Formats
  TYPEEDGR 27.339  RVTxERR RVPxERR variables now numeric, incompatible.
  TYPEEDGR 27.349  Support for RMM APAR OA24025  RDDESKEY.
  TYPEEDGR 27.349  Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.
  TYPEEREP 27.006  Truncated variables increased, SDWA fully decoded.
  TYPEHBUF 27.247  FLAG1 tests for HyperBuf optional segments revised.
  TYPEHURN 27.055  OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
  TYPEIMFL 27.078  Support for IMF+Log 45X Interval Statistics record.
  TYPEIMS7 27.078  Support for IMS Log 45X Interval Statistics record.
  TYPEIMSA 27.078  Support for IMS Log 45X Interval Statistics record.
  TYPEIMSA 27.354  MXGNOTE now prints the value of _IMSVERS on the log.
  TYPEIOO  27.189  Support for Serena's StarTool IOO Product SMF.
  TYPEITRF 27.177  Variable RECTOK was truncated to 12 bytes.
  TYPEMWAI 27.043  HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.
  TYPENDM  27.022  NDMRTYPE='IK' record is now output in NDMDT dataset.
  TYPENDM  27.222  Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.
  TYPENMON 27.028  IHDRNMON exit permits NMON record selection.
  TYPENMON 27.028  NMON record 'VM' support for both z/VM, and Intel.
  TYPENMON 27.080  Protection for inconsistent NMON data counters.
  TYPENMON 27.087  NMONBBBP blank values and wrong labels corrected.
  TYPENMON 27.096  Nigel's Monitor MEM Object supported.
  TYPENMON 27.110  COUNTW() now used only with SAS V9, DO Loop for V8.
  TYPENMON 27.180  Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects.
  TYPENTSM 27.038  Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!).
  TYPENTSM 27.184  Support for 13 VMWARE objects captured by NTSMF.
  TYPENTSM 27.312  MXG 27.09 only. NTSMF Processing failed, RECFM.
  TYPEOMCI 27.085  ONDV datasets from subtype 203 had blanks for xTRAN.
  TYPEOMCI 27.113  OMCI INTR Subtype 200 RECSUBTYP 4 INPUT EXCEEDED.
  TYPEOSEM 27.221  Support for zOSEM Operating System Environment Mgr.
  TYPEPROS 27.295  PRO/SMS SMF record misalignment corrected.
  TYPEQACS 27.134  More updates for IBM i, i5/OS, iSeries a/k/a AS400.
  TYPEQACS 27.256  Support for QACSLPAR dataset.
  TYPERMFV 27.100  RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
  TYPERMVF 27.120  RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).
  TYPESRMH 27.340  SRM Thales Security PTF SL24010 INCOMPATIBLE support.
  TYPESTC  27.072  VTCS subtypes of STC/STK record updated.
  TYPESYNC 27.289  Support for CPUZIPTM added in SYNCSORT SMF records.
  TYPETIMS 27.298  Expensive algorithm to uncompress ASG/Landmark data.
  TYPETMDB 27.209  TMON/DB2 BF record SQL text BF0142RL corrected.
  TYPETMDB 27.259  Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.
  TYPETMMQ 27.145  Support for TMON for MQ record 'QA' (APPLICATION).
  TYPETMNT 27.009  MSGID IEF233D supported, no DSNAME in SYSLOG doc'd.
  TYPETMNT 27.336  SYSLOG message text size increased to 32384 bytes.
  TYPETMO2 27.042  Support for ASG TMON for CICS V3.2.
  TYPETMO2 27.091  ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.
  TYPETMO2 27.215  TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record.
  TYPETMS5 27.111  New TMSLIB variable, support for multiple TMS cats.
  TYPETMS5 27.168  MXG 27.05-27.06. _KTMSTMS dropped, impacts ITRM.
  TYPETMS5 27.190  TMS.TMS DEVTYPE blank for 3590 and 3592 devices.
  TYPETMVT 27.347  TMON/VTAM "SI" record Interval variables now INPUT.
  TYPETPMX 27.093  TYPETPMX variable JESNR now 7-digits, was 5 digits.
  TYPEULOP 27.029  Support for BMC's Ultra Op Product's User SMF record.
  TYPEULTM 27.069  Serena's Ultimizer user MV moved subtype location.
  TYPEVMXA 27.008  z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.
  TYPEVMXA 27.156  Support for z/VM 6.1.0 in MXG 27.01+; no new data.
  TYPEVMXA 27.156  z/VM 6.1 support is in MXG 27.01 or later.
  TYPEVMXA 27.264  z/VM MONWRITE example processes only USER domain.
  TYPEXAM  27.030  Only the last MDISK was kept in XAMDEV.
  TYPEXAM  27.070  Variable DESCR truncated in XMHSTMEM, changed.
  TYPEXAM  27.151  XAM TCP record INPUT STATEMENT EXCEEDED error.
  TYPEXAM  27.216  Variable SYTLPNAM restored kept in XAMSYT dataset.
  TYPEXAM  27.281  Updates/corrections/ for XAM Version 3.7.
  UDB2GTF  27.015  Revised Support for processing DB2 GTF records.
  VGETDDS  27.083  Concatenate PDB libs, dynamically allocate them.
  VGETDDS  27.248  Logic revised when DDNAMES= syntax is used.
  VGETDDS  27.310  New DATEJUL= created DSNAMES with Julian YYYDDD.
  VGETDDS  27.330  New DATEJUL= correctly generates julian dsnames.
  VGETDDS  27.359  WAIT=N option protects for DSNAME already in use.
  VGETOBS  27.237  Enhancement if no DDNAME argument.
  VGETSYSI 27.049  New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
  VMACDB2  27.131  DB2STATS DIF() or no-DIF() corrections.
  VMACEDGR 27.128  Syntax error after Change 27.046 (GT. GT.).
  VMACORAL 27.306  Support for restructured ORACLE SMF records.
  VMACSMF  27.058  SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.
  VMACSMF  27.341  WARNING: SUBTYPE GT 255 message now not defaulted.
  VMXGALOC 27.355  NOWAIT added, create/allocates are now conditional.
  VMXGCNFG 27.356  The standard SAS JCL Proc can be used for MXG.
  VMXGDUR  27.214  New FLORCEIL=FLOOR/CEIL argument for begin/end calc.
  VMXGDUR  27.214  SYNC59=YES now default with FLOOR, always safe.
  VMXGDUR  27.308  SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.
  VMXGOPTR 27.051  %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
  VMXGOPTR 27.092  SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB
  VMXGOPTR 27.092  SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.
  VMXGOPTR 27.124  Macro %TRIM() function removed from VMXGOPTR.
  VMXGSET  27.343  VMXGSET permits multiple datasets with APPEND=YES.
  VMXGSUM  27.071  VMXGSUM-using programs support DROPed variables.
  VMXGSUM  27.234  Revision to eliminate OUTCODE= argument sometimes.
  VMXGTAPE 27.114  "Tape-aware" programs now support LIBNAME allocation.
  WEEKxxxx 27.005  Weekly logic enhanced to support nonexistent dataset.
  WPS      27.239  WPS 2.4 GA has been tested, requires MXG 27.09.

  See member CHANGESS for all changes ever made to MXG Software.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 27.

====== Changes thru 27.361 were in MXG 27.27 dated Jan 20, 2010========

Change 27.361  MXG 27.06-27.11. Variable BUFNO in TYPE1415 was always
VMAC1415       zero; the label in the comment for SMF14ABD, added by
Jan 19, 2009   Change 27.148, had a / instead of */ at the end of that
               line, which swallowed (without error) the IF BUFNO test.
               Note that even when fixed, BUFNO=0 occurs frequently for
               non QSAM files; for example, TYPE1415 records for SAS
               data libraries always have BUFNO=0 (because the access
               method for SAS Data Libraries is EXCP Access Method).
   Thanks to Tom Parquette, AXA Technology Services, USA.
   Thanks to ???, ???, CANADA.

Change 27.360  Fixed in MXG 27.10, but in MXG 27.09, PDB.ASUM70PR could
VMXG70PR       have PCTCPUBY much greater than 100%, for systems with
Jan 19, 2009   IFL engines, if the IFL also has the highest LPARNUM.
                 Similar to Change 27.123, fixed by Change 27.294/325,
                 but invalid values in PCTCPUBY were not mentioned in
                 the text of those changes.
               This is only change text; no code was changed.
   Thanks to Tee Brown, Blue Shield Blue Cross of South Carolina, USA.

Change 27.359  The new WAIT=N argument in %VGETDDS causes allocations to
VGETDDS        be WAITed for N minutes if the DSNAME is already in use.
Jan 19, 2009   SAS tests every 15 seconds and if the DSNAME is freed in
               those N minutes, the allocation proceeds as normal.
   Thanks to George Pandzik, USAA, USA.

Change 27.358  Support for OMEGAMON ONDV SMF 112 SUB-SUBTYPE '0100'X,
EX112USD       optional USREVNT1 or User Function clock/count section.
EX112UST          dddddd  Dataset   Description
IMAC112           112USD  T112USRD  USREVNT1 Detail
VMAC112           112UST  T112USRT  USREVNT1 Totals
VMXGINIT       In Omegamon/CICS modules KC2GLB or KC2GLBOL, in the
Jan 19, 2010   RKANPARU or RKANPARM library, you can define up to 10
Jan 29, 2010   "User Functions" that can populate the 10 clock/counter
               pairs in this new segment. You define the Function Names
               you plan to use, and CLOCK START MISC and CLOCK STOP MISC
               will accumulate the MISC duration and count of starts in
               the first pair. Names MISC, Sybase, Tablebase are used
               in this first example, so those names are used to label
               the first three sets of detail/total count/clocks, and
               only the first three sets are kept by default.  If you
               create more User Function data, you can use the _K112UST
               and K112USD macros to keep more than three, and you can
               use the EX112UST exit to change the existing three or to
               add new labels for the other counters.
   Thanks to Henry Steinhauer, Northwestern Mutual, USA.

Change 27.357 -Some (new) TRANSLATE() functions had '00' or '80' where
VMAC80A        '00'x or '80'x should have been specified.
Jan 17, 2010  -TYPE8066 dataset is enhanced with variables from RACFTYPE
               6, 318, 319, and 320.
   Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.

Change 27.356 -The standard SAS JCL procedure can now be used for MXG on
VMXGCNFG       z/OS.  You do not need a separate MXGSASVn JCL procedure;
MXGNAMES       instead, use this JCL example (in member JCLMXG), after
JCLMXG         you EDIT the DSNAMES of your MXG Source, MXG "USERID" and
CONFIMXG       MXG Formats datasets into your MXGNAMES member in your
Jan 17, 2010   MXG "USERID" tailoring library:

               // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
               //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR

               or you can provide the names in the jobstream, with:

                 // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
                 //MXGNAMES DD *
                  %LET MXGUSER1=HLQ.MXG.USERID;
                  %LET MXGSOURC=HLQ.MXG.SOURCLIB;
                  %LET MXGFORMT=HLQ.MXG.FORMATS;
              -In addition, the VMXGCNFG macro that was designed by Rich
               allocates the //SOURCLIB with OPEN_ED-1047 encoding; by
               doing so, the setting for NLSCOMPATMODE is moot, and by
               doing this, all NLS sites running with a locale that is
               non-ENGLISH_UNITEDSTATES will never need to worry about
               NLSCOMPATMODE, so MXG never has to worry about those SAS
               language encoding issues again.

               There can NOT be a LIBRARY DD in JCL with CONFIMXG, but
               you can have a USER FORMAT library.  The CONFIMXG member
               %INCLUDEs MXGNAMES and then %INCLUDEs VMXGCNFG from the
               &MXGSOURC path and then runs the %VMXGCNFG %macro.
               The MXGNAMES member defines MXGFORMT and MXGFORMU and
               VMXGCNFG LIBNAME-allocates MXGFORMT to LIBRARY LIBREF and
               LIBNAME-allocates MXGFORMU to the USRFORMT LIBREF/DDNAME.
               If both MXGFORMT and MXGFORMU are specified in the
               MXGNAMES then the SAS system option FMTSEARCH is set:
                 OPTIONS FMTSEARCH=(USRFORMT LIBRARY)
               so the user's format library is searched first.
    Member JCLINSTL has the example JCL for ALOCUSID and FORMATS.
    Both of those examples use MXGSAS94 JCL Procedure to create FORMATS,
    but sites with National Language Support, should consider CONFIMXG
    which protects for a future SAS version in which the NLSCOMPATMODE
    option will be removed.  CONFIMXG uses your standard site's SAS JCL
    procedure and options:
      // EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'
      //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
    But to create or update your FORMATS library with CONFIMXG:
       a. The DSNAME of that format library must be named in MXGNAMES
       b. There must be no //LIBRARY DD in the JCL of this job step.
       c. You must use this syntax in the SYSIN for a new FORMATS:
           // EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
           //SYSIN DD *
             LIBNAME LIBRARY CLEAR;
             LIBNAME LIBRARY 'MXGV3603.FORMATS'
                             DISP=(NEW,CATLG)
                             SPACE=(CYL(10,3))
                             UNIT=SYSDA;
           or use DISP=OLD to replace your existing formats library.

   Thanks to Rich Anderson, SAS Institute Technical Support, USA.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 27.355  For execution under Windows, the unconditional create of
VMXGALOC       existing directories or the delete of non-existent ones
Jan 17, 2010   caused popups that delay jobs until the popup is cleared.
               An OPTIONS NOXWAIT was relocated around the TREND dataset
               allocations, which will eliminate the popup messages, but
               the creations/deletions are also now done in conditional
               tests, now that we know these Windows commands exist:
                 This command tests if a folder exists before trying to
                 delete its files
                   If exist "m:\asdf\fdsa" del /q "m:\asdf\fdsa\*.*"
                 and this command makes sure a folder doesn't exist
                 before trying to create it:
                   If not exist "m:\asdf\asdf" md "m:\asdf\asdf"
   Thanks to Jim Quigley, ConEd, USA.

Change 27.354  An MXGNOTE now prints the value of _IMSVERS on the log of
IMACIMSA       the TYPEIMSA and TYPEIMSB steps of the JCLIMSL6 job. If
JCLIMSL6       IMS V9 records are read with _IMSVERS set to 10, an 08x
TYPEIMSA       record is dumped with INVALID YYYY error; in V9, the YYYY
TYPEIMSB       is located byte 81, but with _IMSVERS of 10, MXG tries to
Jan 15, 2010   to read the YYYY starting in byte 101.  Before MXG 27.01
               and Change 27.033, _IMSVERS was set either in IMACIMSA or
               in your IMACKEEP, but now its value is set with statement
                  %LET MACKEEP=  MACRO _IMSVERS 10.0 %  ;
               in the //SYSIN test in JCLIMSL6 (twice), so that you do
               NOT have to EDIT IMACIMSA/IMACKEEP to define _IMSVERS.
               This change just adds that diagnostic MXGNOTE so you can
               see the actual value, if you should also see a hex dump!
               Comments were revised to document this change.
   Thanks to Douglas G. Wells, First National Bank of Omaha, USA.

Change 27.353  While I expected RMFINTRV would be used to create a small
VMXGRMFI       number of "WORKnn" workloads, like 20 or so, for ease in
Jan 15, 2010   consolidation of scores of Service/Reporting Class into
               logical workloads, RMFINTRV can now be created with up to
               999 sets of "WORKnnn" variables, and also supports up to
               9999 Service and Reporting Classes per Workload.
   Thanks to Wayne Bell, UniGroup, Inc, USA.

Change 27.352  Variable SMF42JOQ was incorrectly "spelled" with a zero
VMAC42         instead of an "oh".
Jan 12, 2010
   Thanks to Ambat Ravi Nair, CitiGroup, SINGAPORE.

Change 27.351 -READDB2 didn't invoke the EXdddddd member when selection
READDB2        generated an _Edddddd macro with only OUTPUT _Wdddddd,
Jan 12, 2010   causing any new variables you created in your tailored
               EXdddddd to be not created.  READDB2 now always %INCLUDEs
               the EXdddddd member in its generated MACRO _Edddddd text.
               EXCEPT:  The EXPDBACB exit is NEVER called when READDB2
               was asked to create DB2ACCTB, because the MXG EXDB2ACB
               does NOT output DB2ACCTB (because of potential size), and
               if READDB2 calls your tailored EXDB2ACB that did output,
               then we would output DB2ACCTB twice.
              -Logic for selection with DB2xxxx=AAAA/BBBB/CCCC/DDDDD
               was corrected and simplified so it always works as doc'd.
              -PROC COPY when PDBOUT= is specified only copies DB2 data
               (and not any other datasets that happened to be in WORK).
   Thanks to Raff Rushton, IBM Global Services, USA.

Change 27.350  This 1994 example analysis of "bands" of Usage is updated
ANALUSAG       to use TYPE72GO instead of TYPE72 and an example JCL was
Jan 12, 2010   added in the comments.
   Thanks to R. Wells, American General Finance, USA.

Change 27.349  Support for RMM APAR OA28930 which relocates the fields
VMACEDGR       RDBLKCNT and RDTOTAL and expands them to 20 (EBDCIC) NUM
Jan 12, 2010   charaters in the DEXT and XEXT records.
              -Support for RMM APAR OA24025 which adds fields RDBESKEY
               (DEXT) and XDBESKEY (XEXT) with the CA Tape Encryption
               Key value.
   Thanks to John Grasing, MetLife, USA.

Change 27.348  The Optional SYSLOG Message Capture in MXGTMNT Tape Mount
ASMTAPEE       Monitor program expected a maximum of 255 lines in a
Jan 12, 2010   multi-line Console Message (see Change 27.336 text), but
               HASP636 message caused an SVC DUMP "MXG Monitor Extension
               Subtask Abend" with its 1541 lines!  This update, ML-46,
               avoids the SVC Dump by skipping messages with over 255
               lines, but is only a circumvention; once we can create a
               similar large message on our test system, so we can see
               the control block structure, we will create an ML-47
               update that will support any multi-line console message.
   Thanks to Beau Chavis, Bank of America, USA.
   Thanks to Skip Abadie, Bank of America, USA.

Change 27.347  TMON/VTAM "SI" record Interval variables were not all
VMACTMVT       input; I apparently had an incorrect DSECT or misread it.
Jan  8, 2010
   Thanks to Paul Volpi, UHC, USA.

Change 27.346  Analysis of Hourly CPU Times in MXG TYPE70, TYPE72GO, and
ANAL307X       SMFINTRV datasets (or in ITRM XTY70, XTY72GO, & XSMFINT)
Jan 14, 2009   to compare times captured in LPAR Dispatch and Effective,
Feb 22, 2010   captured in Service Classes, and captured in SMF Interval
               Address Space records.  Two reports, one BY SYSTEM and
               one with detail BY SYSTEM SRVCLASS are produced.
               The identification of the "Hour" of RMF and SMF Interval
               observations is not straightforward; you must start with
               the "projected interval end time" SYNCTIME/SMF70GIE and
               then subtract from it to get the STARTHOUR, and the value
               to subtract is different if you have SYNC(59) specified
               in SMFPRMxx instead of the recommended SYNC(0) option.
                  Note: MXG has ALWAYS recommended SYNC(0) so that RMF
                  and SMF interval records are written at 00/15/30/45 to
                  create clean, comparable intervals.  But if you still
                  have MICS, then you are unfortunately stuck with using
                  SYNC(59) to write at 14/29/44/59 minutes, because MICS
                  still uses SMFTIME to define its intervals, a (poor)
                  design that requires records be written early.
                  Feb 22, 2010:  The output datasets created by ANAL307X
                  now include TYPE30_6 (deaccumulated) interval data and
                  SMFINTRV, so the subtypes 2/3/6 data is included in
                  this comparison of 30, 70, and 72 interval CPU times.
   Thanks to Dick Cook, North Carolina Dept of Info Technology, USA.
   Thanks to Francisco Ojeda, SAS Institute, USA.
   Thanks to Joe Piechota, SAS Institute, USA.

Change 27.345  This JCL example uses UTILBLDP to process CICS and DB2
JCLCIDB2       SMF records to create PDB.ASUMUOW and PDB.CICS for
Jan  7, 2010   complete analysis.  The output datasets are COMPRESSED
               but COMPRESS=NO is used for the intermediate datasets,
               to save CPU time (at the cost of doubling WORK space).

Change 27.344  Variables LPCTBY and PCTLPBY were missing in dataset
VMXG70PR       PDB.ASUMCELP for the LPARNAME='PHYSICAL'.
Jan  7, 2010
   Thanks to Karl Lasecki, Chemical Abstracts, USA.

Change 27.343  %VMXGSET is enhanced to permit multiple datasets to be
VMXGSET        read from each data library, and new option APPEND=YES
Jan  6, 2010   removes the semi-colon from the constructed SET statement
               so that you can add other dataset(s).  This syntax:
                %VGETDDS(DDNAMES=PDB);
                DATA COMBINE.JOBS;
                %VMXGSET(DATASET=JOBS,APPEND=YES) DAY.SPUNJOBS;
               will read all of the JOBS datasets in the PDBx DDNAMEs
               and the DAY.SPUNJOBS dataset.
   Thanks to George Pandzik, USAA, USA.

Change 27.342  XAMSYS records from XAM Release 3.4 had SEGLEN=168, but
VMACXAM        MXG code for Release 3.7 expected SEGLEN=220, causing
Jan  5, 2010   an MXG ERROR message for each record.  Now, the XAMSYS
               record's length is tested and only the old variables are
               input for SEGLEN=168.
   Thanks to Rodger Foreman, Acxiom, USA.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 27.341  Change 27.257 added a warning and correction if SUBTYPE
VMACSMF        in an SMF record exceeded 255 (because the SMF record
Jan  5, 2010   creator incorrectly stored their subtype in the left byte
               instead of the correct location in the right byte).
                 The correction is ONLY needed when just the SMF header
                 logic is used (only in MACRO _SMF, or UTILGETM), so
                 that the real SUBTYPE value is available for reporting
                 or selection.
               Now, the WARNING is NOT printed by default; you can print
               the warning with  %LET MXGDEBUG=VMACSMF;
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 27.340  SRM Thales Security PTF SL24010 INCOMPATIBLY changed the
VMACSRMH       Summary Record, which caused zero observations to be
Jan  5, 2010   created in datasets SRMHSMAP and SRMHSMDE.  New variables
                    S04DBUSY S04DOVER S04DINTV S04DNCNT S04DUFLG
               are now added to SRMHSMDE and the PTF is now supported.
   Thanks to Kim Nguyen, National Australia Bank, AUSTRALIA.
   Thanks to Shu chun Lai, National Australia Bank, AUSTRALIA
   Thanks to Anne Chung, National Australia Bank, AUSTRALIA.

Change 27.339  Change 27.046 (MXG 27.02) changed four error variables
VMACEDGR            RVTRERR RVTWERR RVPRERR RVPWERR
Jan  4, 2010   from character to numeric when IBM changed their lengths
               from four to five bytes, but that was not documented.
               If datasets built with MXG 27.01 or earlier are combined
               with datasets built with MXG 27.02 or later, then this
               ERROR: VARIABLE RVPERR DEFINED AS BOTH CHAR AND NUMERIC
               will result.  The only solution is to convert those old
               character variables to numeric variables prior to merge
               with the new datasets.  This can be done with
                  DATA PDB.EDGRVEXT;
                   SET PDB.EDGRVEXT
                     (RENAME=(RVTRERR=XRVTRERR
                              RVTWERR=XRVTWERR
                              RVPRERR=XRVPRERR
                              RVPWERR=XRVPWERR));
                   RVTRERR=INPUT(XRVTRERR,5.);
                   RVTWERR=INPUT(XRVTWERR,5.);
                   RVPRERR=INPUT(XRVPRERR,5.);
                   RVPWERR=INPUT(XRVPWERR,5.);
                   DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;
                   LENGTH DEFAULT=4;
                  DATA PDB.EDGRXEXT;
                   SET PDB.EDGRXEXT
                     (RENAME=(RVTRERR=XRVTRERR
                              RVTWERR=XRVTWERR
                              RVPRERR=XRVPRERR
                              RVPWERR=XRVPWERR));
                   RVTRERR=INPUT(XRVTRERR,5.);
                   RVTWERR=INPUT(XRVTWERR,5.);
                   RVPRERR=INPUT(XRVPRERR,5.);
                   RVPWERR=INPUT(XRVPWERR,5.);
                   DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;
                   LENGTH DEFAULT=4;
   Thanks to Steve Sombke, American Century, USA.

Change 27.338 -The new DATEJUL= argument to generate dataset\directory
VGETDDS        names that contain the Julian Date didn't stop at 2009365
Jan  3, 2010   but tried to create 2009366, 2009367, etc.  The arguments
               are now validated and if both start and end are Julian,
               then the names are built with Julian dates.  Otherwise,
               if the arguments are numeric, then the names contain just
               numeric sequences.  When Julian dates are detected, then
               SAS Date functions are used, so the names will correctly
               roll forward or backward and both year-end AND leap-year
               dates are correctly generated as the names.
              -The length of the Julian Date argument can be either five
               (09360) or seven (2009360) digits, but the directory or
               z/OS dataset name must have the same number of digits.
               So you can use
                 %VGETDDS(DATEJUL=h:\mxg\d,start=09360,end=10010);
               for directory names h:\mxg\d09365 thru h:\mxg\d10010
               or you can use
                 %VGETDDS(DATEJUL=h:\mxg\d,start=2009360,end=2010010);
               for directory names h:\mxg\d2009365 thru h:\mxg\d2010010
   Thanks to George Pandzik, USAA, USA.

====== Changes thru 27.337 were in MXG 27.11 dated Dec 31, 2009========

Change 27.337  The sort order for TYPE70PR was wrong in 27.10 MONTHBLD;
MONTHBLD       a second MACRO _BYLIST and _MNTHBLD should have been
Dec 30, 2009   removed.  The correct sort order is reduced to now be
                 SYSPLEX SYSTEM SYSNAME STARTIME
               to avoid NOT SORTED conditions.
   Thanks to Winnie Pang, Hawaii Medical Services Association, USA.

Change 27.336  Variable SYSLTEXT was arbitrarily INPUT as length $1024,
VMACTMNT       sufficient for all tape-mount-related SYSLOG text,
Dec 24, 2009   but other SYSLOG records that can be written by MXGTMNT
               can be 32384 bytes long; that is the maximum number of
               lines in a multi-line WTO SYSLOG message (255) times the
               maximum length of each message (126) plus one byte we add
               between each message (254).  MXGTMNT processes the
               segmented records, which is the way the system presents
               multi-line WTOs via the console interface.  MXGTMNT
               concatenates the messages into one block in one subtype 9
               as opposed to creating multiple subtype 9s.  So MXGTMNT
               is covered unless IBM increases the number of lines or
               message length which is not very likely but easily
               addressed if they do. SYSLTEXT is now 32384.
   Thanks to Beau Chavis, Bank of America, USA.
   Thanks to Skip Abadie, Bank of America, USA.

Change 27.335  A stray  */  at the end of ANALFIOE prevented any other
ANALFIOE       subsequent %INCLUDEs to be bypassed.  Unmatched comment
Dec 22, 2009   pairs often cause strange/unpredictable results.
   Thanks to Brian Harvey, HCL America, USA.

Change 27.334  MXG 27.10 only.  Macro variable &EPDBINC was accidentally
EXPDBINC       left in the EXPDBINC member, but it is already correctly
Dec 21, 2009   located in BUILPDx, causing a second unwanted invocation
               if %LET EPDBINC= was used to tailor BUILDPDB.  However,
               it should be noted that there is an inconsistency between
               the syntax of the EPDBINC macro variable and the EXPDBINC
               member, to include VMACxxxx's for BUILDPDB tailoring:
                %LET EPDBINC=   MEMBER1 MEMBER2 ;
                EXPDBINC code:  %INCLUDE SOURCLIB(MEMBER1 MEMBER2);
               The value of %LET EPDBINC= is one or more MEMBER names to
               be %INCLUDEd, while the code to use in the alternative
               EXPDBINC member is one or more %INCLUDE statements.
              -UTILBLDP sets &EPDBINC if USERADD=xxxx was specified when
               it created its output SYSIN file, so this error could
               cause a perfectly-running "BUILDPDB" that was built by
               %UTILBLDP to fail when 27.10 is 'dropped in'. Copy the
               EXPDBINC member into your tailoring library and remove
               the &EPDBINC at the bottom, and your job will then run.
               (Fortunately, the error is a syntax error at the start of
               the BUILDPDB run, so it is fully restartable.)
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 27.333  The RMF Summary Report (REPORT=SMRY) was incorrect for
ANALRMFR       most fields; averages of averages were printed, and the
Dec 20, 2009   CPU Busy included Specialty Engines when it shouldn't.
Dec 31, 2009
   Thanks to Lisa L. Lawver, Land's End, USA.

Change 27.332  The Analysis of Job Events selects all SMF records for
ANALJOBE       chosen jobs and prints the sequence of events in the life
Dec 18, 2009   of a job.  The MACJBCK selection example tested JESNR,
               but JESNR doesn't exist in many job-related records that
               are read.  Comments were revised for selection choices.
              -The logic was restructured to eliminate uninitialized and
               missing values, and durations of DSENQTM, LOADTM, and the
               SELAPSTM are correctly printed with associated events.
   Thanks to Douglas C. Walter, Citigroup, USA.

Change 27.331 -Support for TOKDANAM='AUTOUID' in dataset TYPE80TK, and
VMAC80A        protection for unknown TOKDANAM revised to prevent the
Dec 16, 2009   STOPOVER ABEND.
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.

Change 27.330 -Variable SMF82PDK now input as VARYING4096, vice 256 and
VMAC82         longer length is protected if SMF82PLL is GT 4096.
Dec 16, 2009  -SMF82PTA is input as $EBCDIC8. vice $CHAR8. and no longer
VMAC80A        formatted $HEX.
Jan 17, 2009  -SMF82RKN is input as $CHAR64. vice $CHAR16 and format is
               updated.
   Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.

Change 27.329  MXG 27.10 only, and ONLY if _S110ST is used to only sort
VMAC110        the statistics dataset. ERROR: CICIDNNR NOT FOUND because
Dec 15, 2009   that variable was not kept in the new CICSIDND data set.
               But the two new Identity datasets, CICSIDND and CICSIDNT
               should not have been in the _S110ST "sort statistics"
               macro; they are from subtype 1, not subtype 2, records,
               and they are NOT sorted in _S110, as they can be large
               volume datasets.  Four other non-statistics dataset from
               subtype 1 were also removed from _S110ST sort macro.
               These subtype 1 datasets are not sorted by MXG:
               /*_SCICRDS - CICSRDS  IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICRDS - CICSRDS  IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICRDF - CICSRDFI IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICRDQ - CICSRDQU IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICIDN - CICIDNTY IS NOT SORTED, CAN BE HIGH VOLUME*/
               /*_SCICIDD - CICIDNDD IS NOT SORTED, CAN BE HIGH VOLUME*/
               unless you choose to add their _Sdddddd invocation in the
               EXPDBOUT (for BUILDPDB), or after your TYPE110 include.
               The Pdddddd/Wdddddd resets were also removed from the
               _CICSTAT and _CICSTAS macro definitions for consistency.
   Thanks to Glenn Bowman, Wakefern, USA.

====== Changes thru 27.327 were in MXG 27.10 dated Dec  6, 2009========

Change 27.327 -The DURATM variable in PDB.ASUMMIPS is the "expected"
ASUMMIPS       interval of your summarization, e.g. 1 Hour, so it does
Dec  6, 2009   not report if there were less than a full hour input
               (i.e., the last interval).  New variable DUR70 created in
               PDB.RMFMSUSE contain the actual duration of the TYPE70
               records that were summarized, so you can delete those
               short intervals with DUR70 LT DURATM, or use DUR70 to
               identify incomplete (or possibly outage) intervals.
              -ASUMMIPS now works with &KEEPALL=NO; it created output
               obs only if the MXG default &KEEPALL=YES was in effect,
               but that was an MXG oversight/error now corrected.
   Thanks to Willy Iven, BNP Paribas Fortis, BELGIUM.

Change 27.326  Variable QDSTQCIT should not have been deaccumulated in
VMACDB2        PDB.DB2STATS.
Dec  5, 2009
   Thanks to Terry L. Berman, DST Systems, USA.

Change 27.325  z/OS 1.11 ONLY: INVALID TYPE 0 RECORD DETECTED, DELETED
VMAC0          with LENGTH=60 is an MXG error; that new record length is
Dec  3, 2009   correct, and should have been output to TYPE0/IPLS. MXG
               Change 27.229 decoded the new z/OS 1.11 field, but I had
               forgotten about this (VERY OLD) test for invalid length.
                 This test exists because it is easy for a SYSPROG to
                 accidentally create an ID=0 SMF record when trying to
                 write a "user" SMF record, and there is a very high
                 cost (or embarrassment) if MXG reports that there was
                 an IPL when one had not happened!
   Thanks to Douglas C. Walter, Citigroup, USA.

Change 27.324  Support for IBM's InfoSphere Change Data Capture (CDC)
EXCDCLOG       product's user SMF record creates these new datasets:
EXCDCSRC         dddddd   Dataset   Description  Contains Segments
EXCDCSYS         CDCLOG   CDCLOGCA  LOG CACHE     DLR DCW
EXCDCTGT         CDCSRC   CDCSOURC  SOURCE        SCT SDT DSL CDI CDO
FORMATS          CDCTGT   CDCTARGT  TARGET        TCT DTC CDI CDO
IMACCDC          CDCSYS   CDCSYSTM  SYSTEM        OSC CIT PAL MAA CMO
TYPECDC                                           CLS CVF DSC DCM DLP
TYPSCDC                                           DAL PAA CCI CCO
VMACCDC
VMXGINIT
Dec  3, 2009
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 27.323  Harmless VARIABLE DURATM UNINITIALIZED note for CPS70PR7
VMXG70PR       is eliminated.
Dec  2, 2009
   Thanks to Kenneth D. Jones, Bell Aliant, CANADA.

Change 27.322 -New "STATS" value for IFCIDS= in READDB2 creates only the
READDB2        PDB.DB2STATS Interval Statistics Dataset in PDBOUT=PDB,
Dec  3, 2009   an alternative to the value "STATISTICS" that creates ALL
               DB2 Statistics Datasets in the PDBOUT.  PDB.DB2STATS is
               is created from DB2STAT0/DB2STAT1/DB2STAT4 and summarized
               DB2STATB, all of which are left in //WORK with "STATS".
               The PDB.DB2STATS contains all of DB2STAT0/STAT1/DB2STAT4.
              -NOTE APR 2012:  SEE CHANGE 30.077, IFCIDS=STATS CHANGED
               to create PDB.DB2STATS and PDB.DB2STATB.
              -The "ACCOUNT" value creates all DB2ACCTx datasets, but
               you can select a subset using the WANTONLY= argument.
               You can now just name the wanted DB2ACCTx dataset in your
               IFCIDS= argument, in place of ACCOUNT, and only those are
               created.  Both IFCIDS= and WANTONLY= values can now be an
               MXG dataset name (e.g., DB2ACCTP, DB2ACCT), although the
               original unique-to-READDB2-token-names (DB2ACTP,DB2ACCT)
               that are listed in READDB2 comments are still valid.
                 So if you only want the three common datasets created,
                %READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS,PDBOUT=PDB) will
               create PDB.DB2ACCT, PDB.DB2ACCTP, and PDB.DB2STATS from
               SMF 100 and 101 records.
              -DB2 V8 only: The "DB2STAT4" is an SMF 102 IFCID=225 trace
               record; if you have those data, this syntax
               %READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS 225,PDBOUT=PDB);
               creates T102S225 and use it also to create PDB.DB2STATS.

Change 27.321 -DB2 variable QPACAAFG in DB2ACCTP identifies the type of
FORMATS        Package that was executed and decoded by $MGDB2PK format
MRGDB2         with new-in-DB2-V9.1 value of '04:NATIVE SQL' added.
Dec  2, 2009     VALUE $MGDB2PK
                  '  '='BLANK:NOT DEFINED'
                  '01'='01:STORED PROCEDURE'
                  '02'='02:USER DEFINED FUNCTION'
                  '03'='03:TRIGGER EXECUTING'
                  '04'='04:NATIVE SQL'
              -New MRGDB2 member will be renamed or become an example.
              -It merges variables from PDB.DB2ACCT with PDB.DB2ACCTP
               to create PDB.ENHACCTP for Enhanced Package Accounting.
               In this example, variable DB2PARTY is added, so ACCUMACC
               Package ROLLUP RECORDS (QWACRINV=1,2,3 DB2PARTY='R') obs
               can be identified;  ROLLUPs don't have valid values in
               these Package (DB2ACCTP) variables, so this example sets
               all these variables in PDB.ENHACCTP to blank/missing for
               the ROLLUP Package records:
                 IF DB2PARTY='R' THEN DO;
                     /* DOCUMENTED INVALID IN PK67870: */
                   QPACLOCN=' ';
                   QPACCOLN=' ';
                   QPACPKID=' ';

                   /* DOCUMENTED INVALID IN DSNWMSGS: */
                   QPACAANM=' ';
                   QPACARNA=.;
                   QPACASCH=' ';
                   QPACCANM=.;
                   QPACCAST=.;
                   QPACCONT=' ';
                   QPACEJST=.;
                   QPACLOCN=' '; /*YES, IN BOTH*/
                   QPACSCB=.;
                   QPACSCE=.;
                   QPACSPNS=.;
                   QPACSQLC=.;
                   QPACUDNU=.;
                   QPACUDST=.;
                 END;
              -The sort order of the new example PDB.ENHACCTP dataset is
                 BY QWHSSSID QWHCAID QWHCOPID QWHCPLAN QWHSACE
                    QWHSLUUV DESCENDING QWHSSTCK;
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 27.320  CICS User fields SRCE,SRCETYPE,SRCEPROG,MSGLEN are
IMACAAAA       supported in listed new IMACICxx CICS exit members.
IMACICUF          IMACICUF - SRCE
IMACICUG          IMACICUG - SRCETYPE
IMACICUH          IMACICUH - SRCEPROG
IMACICUI          IMACICUI - MSGLEN
UTILEXCL
VMAC110
Nov 26, 2009

Change 27.319 -DB2ACCT obs for Java Universal Type 4 JDBC Driver (JCC)
FORMATS        (QMDAPTYP='JCC') did not populate these QMDASQLI fields:
VMACDB2          QMDAPLAT QMDAAPPL QMDAATID QMDASFLN  ACCOUNTn
Nov 25, 2009  -Cosmetic: Format $MGDB2PN added JCC for QMDAPTYP.
                 'ARI'='ARI:DB2 FOR VM,VSE'
                 'DSN'='DSN:DB2 FOR Z/OS'
                 'JCC'='JCC:UNIVERSAL JDBC DRIVER'
                 'QSQ'='QSQ:DB2 FOR I/SERIES'
                 'SQL'='SQL:DB2 FOR LINUX/UNIX/WIN'
   Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.

Change 27.318  Cosmetic; no change if COMPRESS=YES default is unchanged.
VMAC102        Several DB2 text-containing variables were $32000 LENGTH
Nov 24, 2009   because old DSECTS had no clue of their maximum lengths,
               but some of these SMF 102 fields are shortened to their
               (newly documented, probably unchanged) stored lengths:
                 QW0059CN  $128 QW0061CN  $128 QW0063ST $5000
                 QW0145TX $4000 QW0203PA  $128 QW0206MS  $256
                 QW0206MR  $256 QW0206HR   $64 QW0208MS  $256
                 QW0208MR  $256 QW0236MS  $256 QW0236MR  $256
               These text fields are still $32000 stored length:
                 QW0004MS QW0005MS QW0062ON QW0064CN QW0065CN QW0066CN
                 QW0090CT QW0092P1 QW0097P1 QW01242T QW0140TX QW0141TX
                 QW0142TX QW0168ST QW0180DS QW0194DS QW0204TH QW0350SP

Change 27.317  Support for APAR OA28670 RMF 70 Crypto Express3 Feature.
FORMATS       -Variables R7023CT and R7024CT, Crypto Processor Type, are
VMAC7072       now decoded by $MGRMFCX format.
Nov 20, 2009  -Dataset TYPE70Y2 new variables created by the APAR:
                 R702CDLV='ICSF*DATA*LEVEL'
                 R702AESC='AES*ENCIPHER*CALLS*SENT'
                 R702AESB='AES*ENCIPHER*BYTES*PROCESSED'
                 R702AESI='AES*ENCIPHER*OPERATIONS'
                 R702AEDC='AES*DECIPHER*CALLS*SENT'
                 R702AEDB='AES*DECIPHER*BYTES*PROCESSED'
                 R702AEDI='AES*DECIPHER*OPERATIONS'

Change 27.316  This JCL example shows how to split MXG into parallel job
JCL40GIG       streams, to reduce run times, or to run parts of MXG more
Nov 19, 2009   than once per day (like multiple CICSTRANs), etc, and is
               the example for the DOC40GIG parallelization document.
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 27.315  New HSMMH and SAFUSER variables are created in TYPETPMX.
VMACTPMX       from $HSM_MH and $SAF_US field names in the ThruPut Mgr's
Nov 18, 2009   user SMF record.
              -Doc: ThruPut Manager delays:
                DCS - Dataset Contention Delays; when TPM detects that a
                      job needs a dataset that is being held, it holds
                      the new job.
                DBS - Device Busy Delays.
   Thanks to Betty Wong, BOA, USA.

Change 27.314 -SMF 82 Crypto dataset TYPE8219 datetime variables were on
VMAC82         GMT, but now SMF82XTD/XTN/XTW are shifted by GMTOFF82 to
Nov 17, 2009   local time.
              -New variable SMF82ELP, Elapsed Duration, is now created
               in TYPE8219 and TYPE8220 datasets.
              -Label for SMF82SSI corrected.
   Thanks to Cesar Cocco, Citigroup, USA.

Change 27.313  Analysis of Job Initiator Queue now uses PDB.SPUNJOBS
ANALINIT       dataset only if it exists, eliminating NOT FOUND error.
Nov 15, 2009
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 27.312  MXG 27.09 only.  Change 27.254 was incorrect for NTSMF
VMACNTSM       processing on ASCII; that change was intended only for
Nov 15, 2009   VBS format data.  The RECFM=V is restored for ASCII.
   Thanks to Jim Quigley, ConEd, USA.

Change 27.311  Support for CTG 8.0 (COMPATIBLE) fields added to SMF 111
VMAC111        record for TY111GD dataset:
Nov 14, 2009     CTGIXACO='INTERVAL*XA*TRANS*COMPLETED*HA GROUP'
                 CTGLXACO='LIFETIME*XA*TRANS*COMPLETED*HA GROUP'

Change 27.310  New parameter DATEJUL= creates DSNAMEs with the date in
VGETDDS        Julian format, YYYYDDD, as an alternative to DATEBASE=
Nov 17, 2009   which creates the DATE in the DSNAME in DDMONYY format.
               The START and END values can be specified with MDY values
               or JULIAN values, or even a numeric string.
   Thanks to Brian Harvey, HCL America, USA.

Change 27.309 -z/VM dataset VXSYTEPM variable's values were carried from
FORMATS        from prior CMG segments (so ESCON variables could be
VMACVMXA       populated in FICON observations).  Now, the "other" CMG's
Nov 11, 2009   variables are set to missing values.
              -New variable CHPIDTYP identifies the type of channel and
               is formatted by new $MGVXACH format, which identifies the
               type of OSA adapter, and it should be used in your sorts.
              -New variables PCTCPCBY and PCTLPABY are calculated from
               Work Units (like TYPE73) for CMG=2 (FICON) records.
   Thanks to Melanie Hitchings, BT, ENGLAND.

Change 27.308  MXG 27.08-27.09. SYNC59=NO again default VMXGDUR,VMXGSUM.
VMXGDUR
VMXGSUM        Caused minor differences in hourly counts in PDB.CICS
Nov 10, 2009   when minute 59 count/resources were shifted to next hour.
ASUMCICX       Change 27.214 changed the internal default to SYNC59=YES,
ASUMCICS       in these two internal members that summarize everything,
ASUMCICS       its text claiming "ALWAYS SAFE"! But that is ONLY true if
ASUMCICT       the input data being summarized is "interval" data, i.e.,
ASUMCIMS       it already contains the Interval Start/End times, like
ASUMDB2A       RMF,SMFINTRV,DB2STATS, or if SYNC59=YES was specified in
ASUMDB2B       the ASUM/TRND/etc that invoked %VMXGSUM.
ASUMDB2G
ASUMDB2P       Instead, when the input data being summarized is "events"
ASUMDBDS       or "transactions", like CICSTRAN,DB2ACCT,ASUMUOW, wherein
ASUMDBSB       VMXGSUM creates the Interval Start/End times, my change
ASUMHSM        from NO to YES caused differences in hourly counts in the
ASUMIDMS       PDB.CICS dataset (created from CICSTRAN by ASUMCICX) as
ASUMJOBS       those minute 59 data were being counted in the next hour.
ASUMSTC          (There's nothing wrong in using SYNC59=YES in ASUMCICX
ASUMVTVM          to shift those minute 59 transactions, if that's what
                  you know you want because you have SYNC(59) data, but
                  I should not have changed that global default!).

               While not required with the restored default value, the
               listed ASUMxxxx members use input event data and create
               interval start/end times, so they now all contain the
               SYNC59=NO option, mostly for documentation.
   Thanks to Paul Naddeo, FISERV, USA.

Change 27.307  Ancient DB2 Version 7.1 records have non-zero offset and
VMACDB2        length for the "truncated" QMDALOCN field, so MXG read in
Nov  6, 2009   that longer text into QMDALOCN, but examination of those
               longer text values show they are not valid, and since the
               DB2 V7.1 DSNDQMDA doesn't show the "truncated" offsets,
               which appear to have been added in DB2 V8.1, the input of
               the truncated field is now bypassed for QWHSRELN LE 7.1.

Change 27.306  Oracle SMF records are restructured, which surfaces as
VMACORAC       ERROR: ILLEGAL VALUE FOR STARTS messages.  This change
Nov  6, 2009   recovers all original values, and creates seven ORACUNNn
               numeric unknown variables and two ORACUNCn character
               variables observed in the SMF records.  These variables
               will be named when a DSECT is available.

Change 27.305  The MSU and MIPS calculations in ASUMMIPS for workloads
ASUMMIPS       (i.e., the Service Class MSU from TYPE72GO and Address
Nov  6, 2009   Space MSU from SMFINTRV) did NOT take into account the
               Capture Ratio.  of each of the engine types; only the
               Captured CPUTM was used.  This change keeps the RMFINTRV
               Capture Ratio variables (CAPTURAT CAPIFART CAPZIPRT) for
               each Engine type, and the MSUUSED is divided by
               (CAPxxxxx/100) to take into account the Interval Capture
               Ratio for that SYSTEM for that engine type.  This will
               cause the xxxUSED values to be estimates of the hardware
               utilization, and they will be slightly larger now.  If
               intervals are summarized, the Interval Capture Ratio is
               the weighted average of the input data.  The use of
               Capture Ratio can be turned off by specifying a 0 instead
               of 1 for the _USECAPT macro.
   Thanks to Brian Harvey, HCL America, USA.

Change 27.304  The IFA/zAAP and zIIP Capture Ratios are wrong if those
VMXGRMFI       Specialty Engines are faster than the CP engines, because
Nov  6, 2009   the IFATM/ZIPTM are normalized values.  Now, the factors
Dec  3, 2009   R723NFFI and R723NFFS, respectively, are used in the MXG
               calculation of CAPIFART and CAPZIPRT Capture Ratios.  The
               CPU times are NOT changed back to raw values.

Change 27.303  CICS Total I/O Wait WTTOIOTM & Total Other Wait WTOTIOTM
ADOC110        variables now include all 45 WAIT durations included in
VMAC110        Suspend Time that are in IBM's CICS Performance Guide for
Nov  5, 2009   CICS/TS 4.1; these six wait durations are not separately
Nov 10, 2009   in WTOTIOTM because they are included in RMISIOTM:
                 IMSWAITM DB2RDYTM DB2CONTM DB2WAITM DSCHMDTM WMQGETTM
              -Member ADOC110 is updated with the complete list of which
               waits are I/O and which are Other waits, and a schematic
               of how these waits are related.  The new equations are:
                 WTTOIOTM=SUM(  /*TOTAL I/O WAIT DURATION*/
                          WTTCIOTM,WTTSIOTM,WTSHIOTM,WTTDIOTM,WTJCIOTM,
                          WTFCIOTM,WTRLIOTM,CFDTWATM,SOIOWTTM,ISIOWTTM,
                          SOOIOWTM,WTIRIOTM,LU61IOTM,LU62IOTM,SZWAIOTM);
                 WTOTIOTM=SUM(  /*TOTAL OTHER WAIT DURATION*/
                          DSPDIOTM,ENQDIOTM,GNQDELTM,WTICIOTM,WTLMIOTM,
                          WTWEIOTM,WTWCIOTM,RUNTRWTM,SRVSYWTM,RQRWAITM,
                          RQPWAITM,SYNCDLTM,MAXOTDTM,MAXJTDTM,MAXSTDTM,
                          MAXXTDTM,RRMSWATM,PTPWAITM,RMISIOTM,JVMSUSTM,
                          DSTCBMTM,DSMMSCTM,WTDWIOTM);
                 WTUNIOTM=MAX(  /*UNCAPTURED WAIT DURATIOM(/
                              0,(SUSPNDTM-(WTTOIOTM+WTOTIOTM)));
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
   Thanks to Dick Arnold, Commerce Bank of Kansas City, USA.

Change 27.302  Variable FTPMEMBR is now kept in TYPETCPC dataset, and
VMACTCP        variable FTPUSRMT is now correctly labeled "REMOTE" and
Nov  4, 2009   not "LOCAL".
   Thanks to Marybeth Delphia, Texas Comptroller of Public Accounts, USA

Change 27.301  Unused Change Number.

Change 27.300  ASMTAPEE ML-45 provides several enhancements.
ASMTAPEE      -Addition of assembly time stamp to initialization message
Nov  1, 2009   TMNT016I.  This will help to confirm that the version of
               TMNT that is active matches the expected assembly.
                  TMNT016I MXG Tape Monitor maintenance level 45
                  initialization complete (2009/10/31-13.15)
              -Modification of the TMNT018I initialization message to
               include the SMF record number being used:
                  TMNT018I MXG Tape Monitor interval set to 0.50 seconds
                  using SMF record number 238
              -Added message TMNT011E (in addition to existing TMNT010E)
               to more clearly identify, in human terms, the reason why
               SMF recording has failed:
                  TMNT010E SMF write failed - SMFEWTM return code is
                           00000028
                  TMNT011E SMF write failed because a buffer shortage
                           caused the data to be lost
              -Added support for BAM (basic access method) use of XTIOTs
               (TIOTs resident above the 16mb line).  This is only
               relevant when the XMEM=YES option is specified.
              -Each ML has small performance enhancements to decrease
               MXGTMNT overhead; generally this involves taking
               advantage of macro options that improve performance
               and/or eliminating unnecessary instructions from
               performance sensitive code paths.  The benefits are small
               from ML to ML but the difference between ML45 and ML26,
               for instance, is fairly significant.

Change 27.299  %MACRO to minimize GDG Base Enqueue when reading SMF(0),
ALOCGOVO       by only opening the GDG Base Name with relative reference
Oct 31, 2009   to get the full "goovoo" dsname, freeing the Base Name,
               and then allocating the FILENAME SMF with the "goovoo"
               name for the actual SMF processing, so the duration of
               the DSNENQUE for the GDB Base Name is very short.
                  Normally, if you use JCL to allocate SMF(0), your job
                  will prevent an SMF Dump from running to create (+1),
                  until your job ends (or, at least until SMF reading is
                  completed, if you use FREE=CLOSE on your //SMF DD).
               The WAIT=20 option is used to open the relative reference
                  FILENAME SMF "YOUR.SMF(0)" DISP=SHR WAIT=20;
               so that if the GDG Base is already in use, SAS will enter
               a Detected Wait state for up to 20 minutes, waking every
               15 seconds to see if the enqueue has cleared; without the
               filename option WAIT=20, SAS would have terminated with
                  ERROR: FILE IS IN USE, YOUR.SMF(0) message).
               The examples show DDNAME=SMF, but that and the options on
               the generated FILENAME statement can be changed.
              -This ALOCGOVO only works if your REMOVE the static DD
               statements from the JCL; otherwise they will still
               control the allocation.
   Thanks to Christian Hodel, Swisscom IT Services, SWITZERLAND.
   Thanks to MP Welch, SPRINT, USA.

Change 27.298  Another Elegant algorithm uncompresses ASG/Landmark data
VMACTIMS       records in SAS code, so it works on ASCII systems (which
VMACTMDB       do not support INFILE exits).  However, it is EXPENSIVE,
VMACTMDC       requiring SIX TIMES THE CPU THAT THE EXITMON6 INFILE EXIT
VMACTMMQ       REQUIRES: USE EXITMON6 ON z/OS.  See Change 27.260.
VMACTMO2       ASG's compression technique is different than IBM's, but
VMACTMTC       a similar increase in CPU Time was observed.  However,
VMACTMVS       since ASCII systems do not support INFILE exits, this SAS
VMACTMVT       code algorithm does support processing of compressed data
Nov  5, 2009   on ASCII or with WPS, which might be worth the CPU cost.
   Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
   Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.

Change 27.297 -ANALDB2R - MERGE STATEMENT HAS REPEATED BY VALUES, and
ANALDB2R       SUBSTR errors in AUDIT reports were corrected.
READDB2       -ANALDB2R corrected logic to populate the IFCIDs being
Nov  4, 2009   requested with READDB2 is used with PDB=SMF.
Nov 15, 2009  -READDB2 corrected logic that was suppressing the T102S106
Nov 24, 2009   dataset when WANTONLY was not used, even when requested.
              -READDB2 ACCOUNT and STATISTICS now work as expected, to
               create only those subsets of datasets; examples revised
               to show the use of optional DB2ACTB=NO, etc.
     Thanks to Jim Kovarik, AEGONUSA, USA.

Change 27.296  Variable CECSER added to datasets RMFMSUSE and SMFMSUSE.
ASUMMIPS
Oct 28, 2009
     Thanks to Nicholas Ward, Centrelink, AUSTRALIA

Change 27.295  PRO/SMS SMF records were misaligned after the MSGED text
VMACPROS       which was increased from 256 to 292 bytes; the first 42
Oct 27, 2009   are now GWMSGECH $CHAR42 with $HEX84 format, while the
               actual text is GWMSGED input now as $EBCDIC250.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 27.294  IFL observations in ASUM70LP and ASUMCELP had STARTIME
VMXG70PR       and DURATM were missing values, and IFLCPUS was wrong if
Oct 26, 2009   the summary interval was larger than original DURATM.
   Thanks to Kenneth D. Jones, Bell Aliant, CANADA.
   Thanks to Bruce Perry, Bell Aliant, CANADA.

Change 27.293  Support for CICS Identity Propagation, new with z/OS 1.11
EXCICIDD       CICS/TS 4.1 & APARs PK95579,PK83741,PK98426, creates new
EXCICIDN       SMF 110 Subtype 1 MNSEGCL=6 record (if MNIDN=ON in SIT),
FORMATS        from which MXG creates two new datasets:
IMAC110           dddddd   Dataset   Description
VMAC110           CICIDN   CICSIDNT  IDENTITY Transaction Information
VMXGINIT          CICIDD   CICSIDND  Identity Realm/Distinguished Name
Oct 26, 2009   This new Identity Propagation facility sends a user's
Nov 16, 2009   security identity information (the distributed identity)
               from a client system across a network, preserving the
               distributed identity for use during CICS authorization
               and for subsequent auditing purposes.
               Following text was revised Feb 1, 2010:
              -The new MNSEGCL=5 record was "supported" by MXG 20.20 but
               no records were ever read; this SMF file contained those
               records and exposed errors in that MXG code, including a
               possible INPUT STATEMENT EXCEEDED RECORD LENGTH error.
              -The MNSEGCL=5 subtype record can be compressed by CICS,
               but the new MNSEGCL=6 record can not.

Change 27.292  Dataset ASUM70LP had missing values for LPSHARC,LPSHARE
VMXG70PR       TOTSHARC and TOTSHARE in the observations for the first
Oct 26, 2009   LPAR (only in the first interval).  Setting LPARNUM=. was
               changed to LPARNUM=9999 so the descending sort corrected
               the missing values.
   Thanks to Horst Noerenberg, GaVI Gesellshaft .. Informatik, GERMANY.

Change 27.291  Variable S42DSRDD was incorrect by a factor of 10**6; the
VMAC42         calculation should have multiplied by 1000 to convert to
Oct 23, 2009   milliseconds, but it instead divided by 1000.  The right
               statement for all three instances now is
                 S42DSRDD=128*S42DSRDD*1000;
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to Sridher Nelliyappan Manivel, Lowe's Companies, USA.

Change 27.290  ASUMUOWT (ASUMUOW with ASG TMON MONITASK vice CICSTRAN)
VMXGUOWT       had not been updated in four years, suggesting not much
Oct 23, 2009   usage, but now it is updated to match ASUMUOW.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 27.289  Support for CPUZIPTM in SYNCSORT records; additionally,
VMACSYNC       the new 4-byte fields in the SORTWORK extension are used
Oct 22, 2009   for the primary and secondary track allocations and the
Nov 18, 2009   primary tracks released.
               Syncsort acknowledges that not all sorts can use a zIIP:
              -Eligible sorts (not Merge or copies) are seeing 50 to 60
               percent use of the zIIP eligible algorithms which result
               in a 4 to 10 percent improvement in CPU time.
              -Sorting jobs which employ the following features are
               currently not eligible for zIIP processing:
                 SUM
                 Exit routines other than E15 or E35
                 Using SORTIN with an E15 exit
                 OUTREC with CONVERT
                 Relative length greater than 32756
                 VBS truncation
                 TSO invoked sorts
                 SVC=0
                 VB INCLUDE/OMIT
                 OUTFIL INCLUDE
                 TRUNCATION OF KEYS
                 SYNCSORT TPF SY66820 enables use of:
                   INCLUDE/OMIT with STOPAFT
              -Although these limitations are being reviewed by SYNCSORT
               development staff, there is no schedule nor time frame
               if or when any of these will become eligible for zIIP
               processing.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 27.288  New format $MGCICCN is created for variable CMQCNSTA in
FORMATS        CICS Statistics dataset CICIMQ dataset to identify if the
VMAC110        Queue is connected or not.
Oct 22, 2009
   Thanks to Dale Slaughter, Aegonusa, USA.

Change 27.287  MXG 27.09 errors corrected:
DAILYDSC      -ERROR:  New DAILYDSC, DAILYDSN, and DAILYDSR.
DAILYDSN       The new VMXGDSN's argument was changed to TAPEDATA= from
DAILYDSR       TMC= during testing, but the three DAILYDSx members still
VMAC74         had the original TMC= argument in their VMXGDSN calls.
CONFIGV9       If you have an old, tailored DAILYDSx member, it is NOT
Oct 21, 2009   impacted by this new design that uses VMXGDSN.
VMXGDSN       -COSMETIC: VMAC74.
Nov 13, 2009   DEBUGGING PUT statement was not removed.
              -COSMETIC: CONFIGV9
               Option NOMAUTOSOURCEDISPLAY replaces MAUTOSOURCEDISPLAY.
               Many lines printed on log, no impact. See Change 27.284.
               Option was changed in 27.08.
              -Nov 13: VMXGDSN typo PDN corrected to PDB.
   Thanks to Paul Naddeo, FISERV, USA.
   Thanks to Robert Hamilton, Fifth Third Bank, USA.
   Thanks to Rachel Holt, Fidelity Systems, USA.

Change 27.286  PRISMA dataset PRPR1620, variable "UNKNOWN" is now INPUT
VMACPRPR       as OFFSETS, and new variable INTERPOS is INPUT and KEPT.
Oct 18, 2009
   Thanks to Nik Marien, KBC Global Services NV, BELGIUM.

Change 27.285  Label, formats, and spelling corrections:
TYPEIMSA       TYPEIMSA:
VMACNTSM        variable ELAPSTM formatted TIME12.2
VMACQACS       VMACNTSM:
VMACVMXA        labels added
Oct 17, 2009     MLMDINST='MLMD*INSTANCE*NAME'
VMAC71           MLLOINST='MLLO*INSTANCE*NAME'
VMACTMNT         QLBLINST='QLBL*INSTANCE*NAME'
Oct 20, 2009    labels changed
                 SQBTATWB='AVG*TIME TO*WRITE*BATCH'
                 QLBLATWB='AVG*TIME TO*WRITE*BATCH'
                 QLBLTBBA='AVG*TIME*BETWEEN*BATCHES'
                 SQBTTBBA='AVG*TIME*BETWEEN*BATCHES'
                formatted
                 QLBLTBBA QLBLATWB  TIME13.3
                by list changes
                 VMWGURES dataset, VWGRINST inserted
                 VMWHODIS dataset, VMWHINST inserted
                 MLCONS   dataset, MLCOINST inserted
               VMACVMXA:
                label corrected
                 VIMXCD20='DEVTYPE 20*MAXIMUM*VIRTUAL*CPU TIME*ACB'
                variable name spelling corrections in DIF() logic:
                 ASCHLRC ASCHLLC spelling was wrong: ASCCHLRC/ASCCHLLC
               VMACQACS:
                labels added
                 SYSIUL='USER*AUTHORIZATIONS*AVAILABLE'
                 SYSCIU='USER*AUTHORIZATIONS*NEEDED'
               VMAC71:  Dataset TYPE71.
                Variable SMF71GIE was added to the keep list for TYPE71
                by Change 27.178 but the change was not documented.  Now
                it is labeled and formatted.
               VMACTMNT:  Dataset TYPESYMT.
                Variables SYSLENCR, SYSLBLKS labeled.
               VMXGRMFI:  Dataset RMFINTRV.
                Variable NRINTRV now labeled.
                Variables IFATM, ZIPTM are now TIME12.2 formatted.
               VMXG70PR:
                Variables IFAACTTM, ZIPACTTM labeled and TIME12.2'd.
                All LnnPAT variables are formatted TIME12.2
                All LnnIFKTM and LPnILWTM in ASUM70PR TIME12.2'd.
               VMAC30: Variable ASID label corrected.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 27.284  The SAS Option MAUTOLOCDISPLAY was added to the CONFIGV9
CONFIGxx       member in MXG 27.08, but not documented.  That option
Oct 16, 2009   prints a message when an autocall %MACRO is invoked, to
               identifies the source member that was autocalled.  That
               option is very useful for MXG Technical Support: having
               a back-level member in your tailoring library causes most
               errors, and so we can diagnose directly from your log,
               without requesting a second run to enable diagnostics.
               However, the message is NOT printed for each compile of
               an autocalled %MACRO, but instead is printed for each
               invocation of an autocall, which causes lots of messages,
               so I have now changed CONFIGV9 to NOT set that option.
               You can reset the option with an OPTIONS= parameter:
                 // EXEC MXGSAS,OPTIONS='NOMAUTOLOCDISPLAY'

====== Changes thru 27.283 were in MXG 27.09 dated Oct 14, 2009========

Change 27.283  CPU Activity Report updates.
ANALRMFR
Oct 14, 2009
   Thanks to Kim Westcott, New York State Office of Technology, USA.

Change 27.282 -TMON for VTAM 'SE' record average values are no longer
VMACTMVT       contained in the record, causing an INPUT EXCEEDED error.
Oct 12, 2009   These variables are now calculated rather than INPUT:
               SEHRTA SENRTA SEINA SEOTA.
              -Some 'SE' records are compressed, while most are not, in
               the test file, so MXG now skips the compressed records,
               printing a message for the first five, but outputting the
               non compressed records.
   Thanks to Paul Volpi, UHC, USA.

Change 27.281 -New XAM datasets are created for PRCAPM, PRCIOP, IODVSW,
EXXAMAPM       and STOASI. Those segments can be repeated in XAMSYS
EXXAMASI       records, and thus must be output in separate datasets.
EXXAMIOP      -New XMMTRPAG dataset created from MTRPAG segment in the
EXXAMPAG       XAMDEV file, which is quite different than the MTRPAG
EXXAMVSW       segment in the XAMSYS file. Variables PGS1-PGS3,CALCYLPA,
IMACXAM        CALCYLPR and CALCYLSP that were previously kept in XAMDEV
VMACXAM        are no longer kept in that dataset as they exist only in
VMXGINIT       the MTRPAG segment in XAMSYS.
Oct 13, 2009  -IMACXAM is updated with the new datasets.
EXXAMSEK      -MANY new variables in release 3.7 that were previously
Oct 17, 2009   overlooked are now output; the KEEP= list for each of
Oct 20, 2009   those datasets lists this Change Number before the list
               of new variables.
              -Additional MXG corrections for alignment corrected these
               dataset's variables:
                 XAMSYS   SYSBUSY
                 XAMUSR   IDLETIME; variable VMTRUSR was removed.
                 XMFALACB INDEX
              -Variable LASTCHNG (a TODSTAMP) is sometimes populated
               with 8-bytes of blanks, which cause a datetime value of
               '27OCT1935:08:26:40.59'.  Now, blanks set it to missing.
              -Additional problems with data values that are observed:
                -Variable SMOOTHTM in XMSUBNET, XMTCPAPP, XMTCPCON has
                 many (not all) instances of negative values.
                -Variables PVMAJTFA in datasets XMVSISFT and XMVSINAP
                 and variable PVMINTFA in dataset XMVSISFT are sometimes
                 negative values.
                -Variable RSASXRPM in XAMSYS dataset can be negative.
                -Variable PTYPE in XMVSISFT is numeric, usually 0 or 4,
                 but it contains blanks; four blank ('40'x) input as
                 PIB4 is the decimal value 1077952576.
                -Variable PPATH in XMVSISFT should contain path name in
                 EBCDIC, but values starting with 'init ' have hex value
                 'BAF3BB'x in the last three bytes.
                -Variable PERFNICE in XMVSISFT can be negative.
              -Oct 17 updates after Barton updated his PL/1 Declares:
               -XAMDEV dataset
                variables PAGUSED SCMWORK SPLUSED no longer exist.
                variables CALSPOOL CALPAGE RDEVDRAN are added.
                MDISK segment, length 92, 8+4+16+16+8+16=68 documented
                CONFIG - corrected
                USEACT - corrected
               -XAMSYS dataset
                RLEASE - corrected
                SUBSUM - corrected
                MONITR - corrected
                MTRMEM - corrected
                MTRSYS - corrected
               -XAM TCP record
                FALCPU - updated.
                TCP    - updated.
                HSTSFT - updated.
                VSINAP - updated.
                VSIUSR - updated.
              -Oct 20 status: updates pending documentation
               DEV - IODQDS - Segment not documented.
               DEV - MDISK  - Extra data not documented.
               DEV - SEKSEK - Decoded, but disagrees with Declare.
               USR - SERVRS - Segment not documented.
   Thanks to Chris Morgan, CITIBANK, ENGLAND.

Change 27.280  New DCOLLECT variables added by z/OS 1.11 dataset DCOLDC:
VMACDCOL         DDCSPECC='DDCSPECC*ADDITIONAL*SPECIFICATION*FLAGS'
Oct  9, 2009       DDCFATTR='EATTR*SPECIFIED?'
                 DDCSPECD='DDCSPECD*ADDITIONAL*SPECIFICATION*FLAGS'
                 DDCVBYT1='VSAM*EXTENSION'
                   DDCEX255='OVER 255*EXTENTS*ALLOWED?'
                 DDCEATTR='EXTENDED*ATTRIBUTE'
               Variable DDCSFLG was incorrectly located in z/OS 1.10 IBM
               documentation in Access Method Services for Catalogs; the
               +3 preceding it was really only +2. These new variables
               are decoded from DDCSFLG:
                   DDCOVRD ='BWO*SPECIFIED?'
                   DDCSDB  ='SPHERE*RECOVERABILITY*SPECIFIED?'
   Thanks to Mike Blocker, Fidelity Investments, USA.

Change 27.279  IBM has documented when Subtype 24 and 25 records are
VMAC42         created in APAR OA30503:
Oct  8, 2009     Only those applications which issue STOW and DESERV
                 calls for PDS or PDSE directory processing will
                 generate Subtype25 records. Some applications, such as
                 IEBCOPY, do not issue a STOW or DESERV issue STOW when
                 updating the directory.

Change 27.278  Errors that %TRIM macro was not resolved are discussed in
CONFIGxx       Change 27.124, but that error can also occur if you have
Oct  8, 2009   changed the S2=0 option in MXG's CONFIGV9 to S2=72.

Change 27.277 -Support for USER=DDNAME was erratic because WORK text was
VMAC42         used in many places, where &MXGWORK macro variable should
VMAC80A        have been the text.
Oct  8, 2009  -Variables W2RCHGAG and W2RINSAG in dataset CICW2R are now
Oct  9, 2009   formatted MG110AG.
              -Variable SMFA2GZ2 label corrected to "SMS" versus "SMF"
               in dataset TYPE42D3.
              -Variable SMFA2NRS label in TYPE42X3/X4 to match SMF42NRS.
              -Variables TOKCHARV, TOKLDAP, TOKNUMRV, TOK80FLG, TOK80LN2
               in dataset TYPE80TK are now labeled.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 27.276  Support for z/VM support of 3390-A a/k/a EAV volumes with
VMACVMXA       more than 65K tracks; four larger fields are added at the
Oct  7, 2009   end of the SEKSEK record, and are input by this change
               into the four existing MXG variables.

Change 27.275  Variable PCTIOPBY='IOP/SAP*PERCENT*BUSY' is created and
VMAC78         kept in TYPE78IO.
Oct  6, 2009
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 27.274 -ERROR: CICDS DISPATCH INTERVAL LARGER THAN INTERVAL can
VMXGCICI       occur when creating PDB.CICINTRV Statistics Summary if
VMAC110        a region was Shutdown (creating an EOD record) and then
Oct  7, 2009   restarted, and the first INT record is created such that
Oct 21, 2009   both the EOD and INT records have the same Summary
               (recalculated) COLLTIME.  For example, with an requested
               INTERVAL=THREEHR summary:
                   INTERVAL    START       ACTUAL     SUMMARY
                    EVENT    CICSSTCK     COLLTIME   COLLTIME
                     EOD       00:00        01:26      03:00
                     INT       02:00        03:00      03:00
               the two events with the same Summary COLLTIME were NOT
               combined, because variables CICSSTCK and COLLTIME were
               both in the BY list for summarization.  CICSSTCK has been
               removed from both BY and KEEPs; only COLLTIME is correct.
              -Variables A17DSIXP/A17DTRDS were incorrectly deaccumed,
               causing negative values for them in PDB.CICINTRV.
              -The SORT order for CICFCR (A17 variables) was corrected
               to insert A17FNAM ahead of A17DSNAM in both VMAC110 and
               in VMXGCICI.  While I hate changing the SORT ORDER, this
               change is required for duplicate removal.
              -Oct 21: CICSSTCK added in KEEPIN= for all steps that have
               CICSSTCH in the BY statement in their INCODE=, so that
               KEEPALL=NO can be used if needed.
   Thanks to Lynn Hong, UCLA, USA.

Change 27.273 -Cleaned up the WTD logic and modified so that if you are
BLDSMPDB       using AUTOALOC (which create output directory names that
DAILYDSC       contain todays date), it ignores ROLLWEEK (copying of the
DAILYDSN       week4-week5 etc) since AUTALOC takes care of that.
DAILYDSR      -New REROUTE= argument let's you change the destination
IMACZDAT       directories of individual PDB datasets.
VMXGALOC      -New macro variable &MXGZDATE created in IMACZDAT so that
VMXGDSN        ZDATE can be set for rerun without hard EDIT of IMACZDAT.
VMXGDSN       -New macro VMXGDSN reads DCOLLECT, TMC, RMM and CONTROLT
VMXGINIT       data files for "Daily Dataset Billing", but separates
Oct 14, 2009   reading of the raw data files from the creation of the
Oct 21, 2009   "DATASETS" dataset, so those phases can be separately
Nov 19, 2009   executed by BLDSMPDB.  Members DAILYDSN, DAILYDSC,
               DAILYDSR members now invoke VMXGDSN.
              -Some confusing WTD/WEEK & MTD/MONTH messages eliminated.
   Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.

Change 27.272  READDB2 support for WANTONLY is enhanced (i.e., now it
READDB2        works, and with new options!).
Sep 28, 2009   When WANTONLY is used, the datasets that are NOT listed
               in the WANTONLY= argument that would be created by other
               arguments (e.g., ACCOUNT) will be created with zero obs.
               Example 1:
                 IFCIDS=ACCOUNT,WANTONLY=DB2ACCT
                 IFCIDS=ACCOUNT,DB2ACCT=YES//keep/x y z
                 Only the DB2ACCT dataset will be populated; all other
                 DB2ACCTx datasets will be created, but with zero obs,
                 and no other datasets are created.
               Example 2:
                  %READDB2(PDBOUT=PDBOUT,DB2ACTB=NO);
                  If you do NOT want a dataset to be created, then you
                  can use NO as the value of the Dataset Name Argument
                  and the dataset will NOT exist.  For example, will
                  suppress the creation of DB2ACCTB.
   Thanks to Alyona Bertneski, JPMorgan, USA.

Change 27.271  DB2 IFCID=173 support is updated to detect "truncated"
VMAC102        names, and supports UNICODE text data.
Sep 28, 2009
   Thanks to Ervin Claxon, IBM Global Services, USA.

Change 27.270  CICS Statistics STID=115 record is not supposed to exist,
VMAC110        so when it did, MXG didn't handle it's non-non-existence
Sep 28, 2009   correctly.
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.

Change 27.269  Change 27.158 still caused QWHDRQNM and QWHDSVNM to be
VMACDB2H       incorrect, if SMF data was read on ASCII platforms, due
Sep 25, 2009   to spelling QWHDxxxx as QWHSxxxx.
   Thanks to Bill McDonald, Kimberly-Clark, USA.

Change 27.268  Example to summarize PDB.TYPE72GO Service/Report dataset,
ASUM72GO       creating 10 minute output intervals in PDB.ASUM72GO from
Sep 25, 2009   5 minute input intervals.  Using DURATM=INTERVAL forces
               the output DURATM value to be the INTERVAL=TENMIN value,
               even if the Service Class was only active during one of
               the two 5-minute original intervals.

              -Originally, the DURATM from the first "period" was kept
               in this INCODE logic:
                   INCODE =
                             PROC SORT DATA=MXGSUM1 OUT=MXGSUM1A;
                             BY SYSTEM STARTIME   SRVCLASS RPRTCLAS;
                             DATA MXGSUM1; SET MXGSUM1A;
                             BY SYSTEM STARTIME   SRVCLASS RPRTCLAS;
                             IF NOT FIRST.RPRTCLAS THEN DURATM=.; ,
               but that not only cost the sort and extra data pass,
               it also removed the /VIEW.  And, perhaps worst, the value
               of DURATM in the output dataset was not always the 10 min
               desired - if a Service Class was only used for one 5 min
               period that interval had DURATM of 5 minutes with INCODE.
              -Originally, originally, the INCODE kept PERIOD=1 obs, but
               there are PDB.TYPE72GO observations with only PERIOD=2;
               MXG only creates observations if the service class was in
               active use during an interval.
   Thanks to Scott Weiner, Wisconsin Physicians Service, USA.

Change 27.267 -These variables in TYPE42X1 and TYPE42X2 are now MGBYTES.
VMAC42         formatted:
Sep 23, 2009     SMF42JON SMF42JOO SMF42JOP SMF42JOR SMF42JOS SMF42JOT
                 SMF42JOV SMF42JOW SMF42JOX SMF42JOY SMF42JOZ SMF42JQG
                 SMF42JQH SMF42JQI SMF42JQJ SMF42JQK SMF42JQL SMF42JQM
                 SMF42JQN SMF42JRA SMF42JRB SMF42NSZ SMF42SAP SMF42SPR
              Dataset Labels for TYPE42Xn now match Change 27.062.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 27.266  VMXGALOC did not create a new weekly directory when it
VMXGALOC       should have, and it did not create the WTD (week to date)
Sep 24, 2009   folder at the beginning of the week, nor did it create
Oct  2, 2009   the MTD (month to date) folder at the beginning of the
               month, but now it does.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA

Change 27.265 -ASMRMFV incorrectly issued RMFV005E ERROR INVALID PARM=0
ASMRMFV        when sequence numbers were in columns 73-90 of SYSIN.
Sep 22, 2009  -Notes that PARM values are needed only once were added.
   Thanks to Doug Medland, IBM Global Services, USA.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 27.264 -z/VM MONWRITE example to process only the USER Domain
VMACVMXA       data, and to create only PDB.VXBYUSR and PDB.VXSUMUSR
VMXGINIT       output datasets required updates to VMACVMXA because the
Sep 21, 2009   VXSUMUSR's output MACRO _SVMSUMU wasn't undefined.
              -This example can then be used to read only Domain 4 and
               create only PDB.VXBYUSR and PDB.VXSUMUSR in //PDB:

                 //MWINPUT DD DSN=YOUR.MONWRITE.DATA.FILE,DISP=SHR
                 //PDB     DD DSN=YOUR.ZVM.OUTPUT.PDB,DISP=OLD
                 //SYSIN DD *
                  %VMXGINIT(DEFAULT=WORK);
                  %LET PVMBYUS=PDB;
                  %LET PVMSUMU=PDB;
                  %LET MACKEEP=  MACRO _VMRPT  %   ;
                  %LET MACVMXH=
                    %QUOTE(
                      IF MRHDRDM NE 4 THEN DO;
                         INPUT +SKIP @;
                         SKIP=0;
                         MRHDRDM=-99;
                         MRHDRRC=-99;
                         GOTO MWENDIT;
                      END;
                          );
                    %INCLUDE SOURCLIB(VMACVMXA,IMACKEEP);
                    _TESTMW;
                    RUN;
   Thanks to Doug Wells, First National Bank of Omaha, USA.

Change 27.263  Variable R744FNAM, the Coupling Facility Name, was not
VMAC74         kept in TYPE74DU (Duplex Coupling Facility).  Any ITRM
DOC            sites using dataset XTY74DU created by MXG macros need to
Sep 21, 2009   update their ITRM dictionary. Fortunately, MXG's R744FNAM
               already exists as ITRM name R744FNA (in XTY74CF,XTY74ST),
               and it will be added in ITRM's next dictionary update,
               but it can easily be added (with help from ITRM techie!):

               Run the below example to execute the ITRM CPDDUTL %macro
               (the data dictionary utility) to add the variable to the
               table.  The example uses the CPCAT macro twice to create
               the catalog entry with the necessary control statements
               that are input to the cpddutl macro:
                  %cpcat;
                  cards4;
                  SET TABLE NAME=XTY74DU ;
                  CREATE VARIABLE NAME=R744FNA
                    EXTNAME=R744FNAM
                    LABEL='Name of Coupling Facility'
                    DESCRIPTION='Name of Coupling Facility'
                    TYPE=CHARACTER
                    LENGTH=8
                    INTERPRET=STRING
                    KEPT=YES ;
                  ;;;;
                  %cpcat(cat=WORK.ddutl.ddutl.source);
                  %cpddutl(entrynam=work.ddutl.ddutl.source);
               Run the above in a regular ITRM batch job that uses
               CPSTART to point to your PDB with DISP=OLD, but do not
               include other CMPROCES, CPPROCES or CPREDUCE macros.
   Thanks to Yacine Amraoui, Banque Postale, FRANCE.

Change 27.262  ASUMMIPS is enhanced to add MSU and MIPS for zIIPs, zAAPs
ASUMMIPS       to the existing CP variables.
Sep 18, 2009
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 27.261 -Variable QBMCTEXT in T1028005 dataset from TMON/DB2 is in
VMAC102        ASCII text, so the INPUT statement was revised.
Sep 18, 2009  -QW0343xx variables are now INPUT and KEEP in T102S343.
              -Additional info on the IFCID 005 (T1028005) - SQL text
               and IFCID 307 (T1028133) - SQL Stmt Sum (All Qualifiers).
               There is no 1-1 relationship between those two files,
               especially for dynamic SQL.  All SQL text collected is
               found in T1028005.  When the same SQL statement is
               executed more than once, only one observation is created
               in T1028005. In T1028133, for each unique collection key,
               there is a separate observation.  So when user A, B and C
               execute the same SQL-stmt (plan/package/stmt), there will
               be 3 T1028133 observations (one for each user), but there
               will only be one observation in T1028005
   Thanks to Christa Neven, KBC Global Services, BELGIUM.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to James J. Burnes, UHC, USA.

Change 27.260  This elegant contributed algorithm uncompresses CICS/TS
VMAC110        SMF records using SAS statements in VMAC110 that expands
Sep 21, 2009   the SAS _INFILE_ Buffer, using _INFILE_ Special Variable,
Oct  4, 2009   so this algorithm works on z/OS or on any ASCII Platform,
Nov  4, 2009   since it's just SAS code!

               ********WARNING  INSERTED NOV 5, 2009*******************
               Unfortunately, this elegance comes at great CPU expense:
                While the original change text did warn that:
                  But the "instream" algorithm may be more CPU intensive
                  than EXITCICS, so, if you are processing on z/OS, you
                  may find the EXITCICS algorithm preferable.
                only now, with files of 100% compressed records, has the
                cost been measured: TWELVE TIMES MORE CPU TIME than
                using the (written in ASM code) EXITCICS Infile Exit.
               With the INFILE exit, it has already uncompressed the
               record, so the SAS decompression code is not executed.
               ********WARNING  INSERTED NOV 5, 2009*******************

               Previously, to read compressed CICS/TS 3.2+ SMF records,
               you had to assemble MXG's EXITCICS member to create the
               CICS "Infile Exit", which can ONLY execute on z/OS.

               This algorithm is both automatic and transparent, and, if
               the EXITCICS Infile Exit is installed, it will have
               already expanded the record, so this "instream" algorithm
               won't be executed.
               But the "instream" algorithm may be more CPU intensive
               than EXITCICS, so, if you are processing on z/OS, you may
               find the EXITCICS algorithm preferable. SEE BELOW.

              -The Maximum Record Length printed on the SAS log shows
               the uncompressed length with EXITCICS, but shows the
               maximum compressed length with this expansion algorithm.

              -Compressed 110 SMF records can be processed by WPS 2.04,
               which added the _INFILE_ Special Variable.

               The authors describe their work:
              -The compression algorithm used is a simple RLE (Run
               Length Encoding) as follows:-
              -All compressed data consists of an INDICATOR/LENGTH byte
               that is followed by data byte(s).  This combination of
               indicator/length byte and data byte(s) is repeated until
               the end of the compressed data.
              -The INDICATOR byte/bit flags the presence of compressed
               data by having the TOP Order bit set on.  The remainder
               of the byte will indicate the length of the uncompressed
               data.
              -An indicator byte of '80'x (always the first byte of the
               compressed field) indicates Compressed data of length
               ZERO.  There is NO following data byte!
              -An indicator bit of '1nnnnnnn'B is followed by a single
               data byte that is to be repeated '0nnnnnnn'B times into
               the output buffer.
              -An indicator bit of '0nnnnnnn'B indicates that the
               following '0nnnnnnn'B bytes are simply copied from the
               compressed record to the uncompressed buffer.
              -This compression algorithm was determined by a few Google
               searches and observations of the compressed data and did
               not involve any non public knowledge of IBM's processing.

   Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
   Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
     the authors, and, for the CPU measurements on z/OS,
   Thanks to Scott Chapman, American Electric Power, USA.

Change 27.259  Support for TMON FOR DB2 Records 'BA','BJ','BK','BL','BM'
VMACTMDB       now decode the record-specific fields; previously, only
Sep 17, 2009   the headers were decoded for these subtypes.
   Thanks to Ernie Amador, UC Davis Health System, USA.

Change 27.258  Support for ACF2 SUBTYPE='O' OPENEDITION record creates
EXACFOR        new ACFOR dataset.
IMACACF2
VMACACF2
VMXGINIT
Sep 16, 2009
Oct  8, 2009
   Thanks to Steven Nelson, IBM Global Services, USA.

Change 27.257  Cosmetic.  MXG added ***ERROR. SMF RECORD SUBTYPE GT 255
VMACSMF        messages when an impossible value for one-byte SUBTYPE is
VMACMIM        found when VMACSMF processes an SMF record with the flag
Sep 16, 2009   that the subtype field is populated, but it is at best
               only a WARNING message that MXG has corrected the SUBTYPE
               variable to the one-byte in byte 19 instead of byte 20.
               This is important if you use IMACFILE or %LET MACFILE=
               to select/skip SMF records based on SUBTYPE, or if the
               SMF record with invalid subtype actually tests SUBTYPE.
              -One WARNING ID=189 was flagged with the message, used
               for the MIM SMF record; VMACMIM was examined and since
               MXG variable SUBTYPE was not tested in that member, there
               was no problem.  However, the MIMSUTYP was incorrectly
               as a two-byte value, so even though it was also not also,
               VMACMIM was corrected, in case it's ever needed.
              -I haven't (yet) figured out how to turn the warning off,
               or maybe decide I should just remove it.
                - it needs to precede IMACFILE, so the true subtype will
                  be populated in SUBTYPE for testing in that exit.
                - some IBM records with fixed ID are already corrected
                  prior to the IMACFILE exit.
                - IMACFILE is where you would expect to turn it off.
   Thanks to Robert Blackburn, Dominion Resources Services, Inc, USA.

Change 27.256  The QACSLPAR file has 20 undocumented bytes after LPVRM;
VMACQACS       the first eight are the SYSTEM ID, new variable LPSYSTEM,
Sep 14, 2009   and the next 12 bytes are skipped, for iSeries V5.4.0.
   Thanks to David Bixler, FISERV, USA.

Change 27.255 -Variable SM1209CY is now RETAINed and KEEP= in all four
VMAC120        TYP1209x datasets, as that Enclave Token is needed to
Sep 14, 2009   combine records.
              -Variable SM1209FI is now correctly input as &PIB.8.3 and
               the divide by 4096 for SMF1209EV and SMF1209FI were
               incorrect and are removed.
   Thanks to Steiner Amot, VPS ASA, NORWAY.
   Thanks to Bjorn Helgestad, VPS ASA, NORWAY.

Change 27.254  Members that read files with an INFILE statement that had
VMACMRKV       only LRECL and BLKSIZE now use a Platform-Specific %MACRO
VMACPRPR       to set RECFM=VBS on z/OS and RECFM=S370VBS on ASCII.
VMACTSMA       See Change 27.311, which removed this change for NTSMF.
VMACNTSM
Sep 14, 2009

Change 27.253  SMF74NID (a/k/a SMF74DCT) is a 28-character field with
VMAC74         26 $EBCDIC text bytes, and two $HEX bytes at the end.
Sep 13, 2009   The final byte appears to always be '00'x, which doesn't
               translate, but the penultimate byte has many different
               hex values, which may or may not be changed when INPUT
               as $EBCDIC, depending on the hex value of that byte.
               This change inputs the first 26 as $EBCDIC26., but the
               last two bytes are INPUT as $CHAR2. and then SUBSTRinged
               back into SMF74NID, to prevent accidental translation.
               Of course, those last two hex values may be unprintable
               and could cause other problems if they are imported into
               other programs; using FORMAT SMF74NID $HEX56.; would
               prevent the unprintables, but the text would not be
               readable to the human eye.
   Thanks to Peter Enrico, Enterprise Performance Strategies, Inc,  USA.

Change 27.252  Formats for many duration variables were not TIMEyy.x;
VMXGRMFI       all of the duration variables are how TIME12.2 except for
Sep 13, 2009   BATRESP and TSORESP that are TIME13.3.

Change 27.251 -RMM processing now supports all possible date formats:
IMACEDGR        RHDTFORM    DESCRIPTION        EXAMPLES
VMACEDGR           A         AMERICAN     12/31/1999  MM/DD/YYYY
Sep 11, 2009       E         EUROPEAN     31/12/1999  DD/MM/YYYY
Sep 15, 2009       I         ISO          1999/12/31  YYYY/MM/DD
Sep 17, 2009       J         JULIAN       1999/365    YYYY/DDD
               The original _EDGRDTE macro is no longer used.
              -The Retention field RDRETCHR or RVRETCHR can contain text
               non-date values of CATRETPD or CYCL/99999 or WHILECATLG.
               RDWILCAT/RVWILCAT='Y' already existed for WHILECATLG; new
               variables RDCYC999/RVCYC999/RDCATRET/RVCATRET are created
               and the DATE variables RDRETDAT/RVRETDAT will be missing
               values, if xxRETCHR has any of those 3 text values.
              -An Original Expiration Date with 00/00/1999 (or any other
               non-date value) is stored in new character variable
               RDEXPDCH, and the DATE conversion is protected for '00'.
               The value of RDEXPDTO will be a missing numeric date
               value if RDEXPDCH contains a non-date value.
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.

Change 27.250  Protection for UNKNOWN TOKDANAM printed a message, but it
VMAC80A        failed to prevent INPUT STATEMENT EXCEEDED RECORD LENGTH.
Sep 11, 2009   Protection now works.
               The RDEFINE CFIELD statement can be used to define custom
               fields and their attributes, with locally chosen names;
               these new variables in TYPE80TK are populated if found
                  TOKTYPE ='TYPE'
                  TOKMAXLE='MAXLENGTH'
                  TOKFIRST='FIRST'
                  TOKOTHER='OTHER'
                  TOKHELP ='HELP'
                  TOKMIXED='MIXED'
                  TOKLISTH='LISTHEAD'
                  TOKURTLA='URTLABEL'
               and these observations have TOKSUSBY='CFDEF' to identify
               they are locally defined fields.
   Thanks to Coen Wessels, IBM SWITZERLAND.
   Thanks to Pierra Beda, IBM SWITZERLAND.

Change 27.249  Variable R747PAVG='RMF REPORT*AVERAGE*FRAME*PACING' is
VMAC74         created as  R747PAVG=10**6*(R747PFPT/R747PNFT); to match
Sep 10, 2009   the value printed on RMF Reports.
   Thanks to Robert Brosnan, Goldman Sachs & Company, USA.

Change 27.248  Change 27.165's insertion of VMXGOPTR cause the I/J vars
VGETDDS        that were local to VGETDDs to be overridden by the I/J
VMXGOPTR       vars used in VMXGOPTR causing looping and unexpected
Sep 10, 2009   results. Variable names in VMXGOPTR/VGETDDS were changed.
Sep 11, 2009  -Before, if you asked for GOOVOO, or DATEBASE, or GDGs, it
               allocated all of them (ensuring they were there) and then
               went thru the DDNAMES logic to ensure they were there.
               Sort of silly really.  Now if you ask for GOOVOO, DATES,
               etc., it allocates the datasets and keeps track of them,
               so now, the only time it goes thru the DDNAMES logic is
               when that argument is used.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 27.247  FLAG1 tests for HyperBuf optional segments overlapped,
FORMATS        causing some optional variable to be populated when they
VMACHBUF       should have been missing; DATALAS-ESTDBUFS if FLAG1='1.'
Sep  9, 2009   and EXCPIPTH-INDXCISZ if FLAG1='.1'.  The three tests are
               now '10', '11', and '01' to only appropriately input.
              -New $MGHBUFT format decodes FLAG1 to identify the type of
               optional segment, if any, in this record.
   Thanks to MP Welch, SPRINT, USA.

Change 27.246  Change 27.127 added KEEP= to TAPES, but variables DSN
DAILYDSN       DSNBACTV and STPNAME were not kept, causing UNINITIALIZED
Sep  9, 2009   VARIABLE messages.
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.

Change 27.245  zIIP and zAAPs are added to SAS/GRAPH hourly workload
GRAFWRKX       reports, using PDB.RMFINTRV.
Sep  8, 2009
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 27.244  Variable OTRANNUM in VMAC110 was correctly input &PD.4 if
VMAC110        IMACEXCL was used, but the default INPUT without IMACEXCL
Sep  8, 2009   was incorrectly input as &PIB.4.
   Thanks to Scott Barry, SBBWorks Inc, USA.

Change 27.243  Cosmetic, and only for MXG QA.  SAS Option CHARCODE is
FORMATS        enabled in FORMATS (Change 13.319) so that two-character
Sep  7, 2009   operators ?< and ?> can be used on both EBCDIC and ASCII
               in place of Left Squiggly and Right Squiggly Brackets,
               where they are needed for valid syntax for OTHER operand.
               This change reinstates the default Option NOCHARCODE at
               the end of FORMATS.  The observed problem was seen only
               in the single-step QA job (which begins with FORMATS);
               with CHARCODE left enabled, the label of two variables
               (TDSL12TY and QW0350SL), that happened to contain ?) text
               were changed by CHARCODE to a right squiggly bracket, so
               QA labels in DOCVER were NOT the actual variable labels.
               These two-character operators are CHARCODE-translated:
                    Symbol                 Two-Character Operators
                  backquote (`)                     ?:
                  backslash (\)                     ?,
                  left brace ({)                    ?(
                  right brace (})                   ?)
                  logical not sign (¬ or ^)         ?=
                  left square bracket ([)           ?<
                  right square bracket (])          ?>
                  underscore (_)                    ?-
                  vertical bar (|)                  ?/

Change 27.242 -Elimination of Numeric to Character Conversions in tests
ASUMCICS       for VGETOBS.
ASUMCICX      -If MXGMQADD=NO was specified but the _INMQ macro was not
VMXGUOW        nulled, UNINITIALIZED VARIABLE messages were printed for
Sep  8, 2009   all of the MQ variables.
Sep 28, 2009  -If CICSTRAN has zero observations, PDB.ASUMUOW cannot be
               populated, but it will be created with zero observations,
               and MXGERROR message is printed on the log, and reading
               of DB2ACCT/MQ data will not be done.
              -Variable MQTRAN created in PDB.ASUMUOW to count MQs.
              -Variable CPUMQMTM created in PDB.ASUMUOW as the sum of
               QMACCPUT (now zero) WTASOTCT, WTASCMCT, and WTASBACT.
              -Variable CPUUOWTM created in PDB.ASUMUOW as the sum of
               CPUTM (CICS), DB2TCBTM (DB2) and CPUMQMTM (MQ-Series).
              -Variable CPUTM (TASCPUTM+CPURLSTM) is created in PDB.CICS
               by either ASUMCICS or ASUMCICX.
              -VMXGOPTR stashing/revisions for OBS=0.

Change 27.241  SMF 80 record for RACFEVNT=79 with EXTLNTYP=379 segment
VMAC80A        with EXTLNLEN=130 caused INPUT STATEMENT EXCEEDED RECORD
Sep  7, 2009   LENGTH ERROR because MXG only INPUT RACF379 $VARYING128.
               The INFORMAT in that INPUT is now $VARYING255.
   Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.

Change 27.240  Cosmetic.  Five R745Vxxx variables were added in 2000 to
VMAC74         TYPE74CA dataset, but the "DEVICE LSA SECTION" doesn't
Sep  7, 2009   exist and those variables are always missing or blank.
               Their labels were changed, especially R745VSER, to avoid
               confusion, and now are:
                 R745VBYW='R745VBYW*ALWAYS MISSING*DOES NOT EXIST
                 R745VFLG='R745VFLG*ALWAYS BLANK*DOES NOT EXIST
                 R745VNTR='R745VNTR*ALWAYS MISSING*DOES NOT EXIST
                 R745VNUM='R745VNUM*ALWAYS MISSING*DOES NOT EXIST
                 R745VSER='R745VSER*ALWAYS BLANK*DOES NOT EXIST
   Thanks to Ray Dunn, CIGNA, USA.
   Thanks to Deborah L. Soricelli, CIGNA, USA.

Change 27.239  MXG's full QA stream executes successfully with WPS 2.4
AUTOEXEW       under both z/OS 1.9 and Windows/XP; essentially all MXG
MXGWPSV2       programs are now executable under WPS 2.4.
UTILSPAC
VMACEREP       These changes are made in WPS 2.4:
VMACSMF        -The runtime performance problem with PROC SQL has been
VMXGVTOC        corrected, so the testing of the ANALCISH member with
Sep  6, 2009    REPORT=ALL is reinstated in the WPS QA job stream.
Oct  8, 2009   -The PROC PLOT option VPOS is now recognized.
Oct 13, 2009   -The option MAUTOLOCDISPLAY is now recognized.
               -The INFILE option CCHHR is supported; circumvention code
                that bypassed for QA execution is now revised to test
                for &WPSVER GE 2.04 so these programs can now be used on
                z/OS: TYPEEREP, VMXGVTOC, and UTILSPAC.
               -The _INFILE_ Special Variable is now supported.

              -Change 27.110 lists the other MXG programs that cannot
               be run as-is with WPS; WPS replicates SAS V8.2, so the
               new-in-SAS V9 features are, in general, not supported.

              -For z/OS, the MXG JCL procedure MXGWPSV2, the DSNAME for
               the WORKMDL='HLP.WPS.SASHELP' replaces WPSDATA because
               Model datasets are no longer specified during install.

              -The member AUTOEXEW is the example "autoexec" for WPS;
               the members AUTOWPS and AUTOEXWP were only for testing
               and have been deleted.
              -The comments were revised in AUTOEXEW to identify options
               that WPS does not currently support; none are required:
               WPS 2.4 added supports these OPTIONS
                OPTIONS MAUTOLOCDISPLAY;
                OPTIONS SORTSEQ=ASCII;
                OPTIONS VALIDVARNAME=V7;

              -On z/OS, WPS requires a larger REGION size than SAS, with
               BUILDPDB needing REGION=230M while SAS used REGION=125MB.
               For the full QA job, however, WPS needed a REGION=1200MB,
               while SAS V9.2 needed REGION=165MB.  WPC will investigate
               why that large region was required, but it appears to be
               unique to the MXG QA job, which executes over 20,800 DATA
               and PROC steps.  A large region requirement has not been
               reported as an issue by any site running MXG under WPS.

               WPS QA took 120 CPU minutes, SAS QA took 53 minutes, on
               a z/OS machine with SU_SEC=10000.

              -Oct 30:  WPS 2.4 supports the FILENAME=variable option on
               the INFILE statement, so VMACSMF was revised.

Change 27.238  ERROR: SRCE1 HAS ALREADY BEEN DEFINED AS NUMERIC if some,
ANALDB2R       but not all of the AUDIT sub-reports were requested.
VGETOBS        The repair led to a MAJOR cleanup of ANALDB2R that also
VMXGSUM        significantly reduced the run time (from 5 minutes to
VFMT102        a few seconds for the AUDIT reports).
Sep  6, 2009   Originally:
               -Data step creates DB2WORK as union of all input datasets
               -Data step creates DB2WORK1 TIMES from DB2WORK
               -SORT DB2WORK1 (with MANY variables, long times possible)
               -SORT TIMES
               -MEAN TIMES into TIMERNGE
               -Data step creates PREPRINT merging DB2WORK1 TIMERNGE
               -DATA _NULL_ data step does printing
               Now
               -For each audit type if the data is present and non-zero
                OBS View into SORT
               -TIME view using datasets created into SORT
               -MEANS of TIME into TIMERNGE
               -Data step creates view PREPRINT using only the datasets
                created in first section and TIMERNGE
               -DATA _NULL_ step does printing code for datasets that
                does not exist is never generated
              -The DATABASE= argument did not select for AUDIT reports.
               Note that if the SMF data does NOT include the open event
               record (opened before the beginning of this SMF data),
               the printed database will be the undecoded hex value,
               and won't be the decoded database name in text.
              -The VGETOBS, VMXGSUM, VMFT102 members were NOT altered in
               this change, but their new updates (Changes 27.237,
               27.234, 27.236) are required to support this change to
               ANALDB2R.
   Thanks to Sam Knutson, GEICO, USA.
   Thanks to Henry Boone, GEICO, USA.

Change 27.237  Enhancement. If no DDNAME argument (zero length) then
VGETOBS        the DATASET argument is examined and if is x.y, it will
Sep  5, 2009   be split into DDNAME and DATASET so the PROC SQL can be
Sep 28, 2009   invoked.  If DATASET contains x.y syntax AND there is a
               DDNAME argument present, VGETOBS will fail with message
               that that is not allowed.

Change 27.236  Cosmetic corrections to eliminate character to numeric
VFMT102        conversion messages; VFMT102 in ANALDB2R, and ANAL30DD.
ANAL30DD
Sep  5, 2009

Change 27.235  These six variables in MQMQUEUE are now converted to the
VMAC116        local time zone; previously, they were on GMT:
Sep  4, 2009     WQOPENTI WQCLOSTI WQTTTIME WTASSTRT WTASINTS WTASINTE
Oct 12, 2009   The algorithm used to calculate the GMTOFF in the absence
               of the actual value in the record now used is:
                 GMTOFF=3600*FLOOR(100*(FLOOR(SMFTIME/100)
                                 -FLOOR(WTASINTE/100))/3600);
               and the correction would then be:
                 WTASINTE=WTASINTE+GMTOFF; .

Change 27.234  VMXGSUM is revised so an OUTCODE= argument is not needed
VMXGSUM        in many cases where it was previously required, so those
Sep  5, 2009   VMXGSUM callers that could be revised to remove OUTCODE=
               are changed, thereby eliminating the second DATA step,
               and, a full pass of the output dataset.
               Previously OUTCODE= arguments were needed to set LENGTH
               and FORMATs, but the SAS V8 INHERIT option made the extra
               step unnecessary.
              -The second data step can be skipped if INTERVAL= NE NONE
               and the DATETIME= argument's variable is in the BY list.
              -Conditions that will force the second data step:
                  %IF &NUMNORM           NE 0
                   OR &ERASEOUT          NE NO
                   OR %LENGTH(&OUTCODE)  NE 0
                   OR %LENGTH(&OUTCODE1) NE 0
                   OR %LENGTH(&OUTCODE2) NE 0
                   OR %LENGTH(&FREQ)     NE 0
                   OR %LENGTH(&DURATM)   NE 0
                   OR &INTERVAL          NE NONE
                   OR &NEWSHIFT          EQ Y
                   OR &SASVER            LT 7

Change 27.233  Debugging PUT statement now commented out.
VMAC117
Sep  4, 2009
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 27.232  TMON/DB2-created SMF 101 Subtype 0 record has an invalid
VMACDB2        OFFQLAC value, @1875 vs the real @1879 location, and the
Sep  3, 2009   extra 4 bytes were added to make QLACLEN=232 when only
               228 bytes are actually present.  Unfortunately, QLACLEN
               of 232 says the QLACOFF1 offset to a "truncated QLACLOCN
               field" exists in two of those last 4 bytes, so MXG INPUT
               the QLACOFF1 offset and attempted to INPUT, causing an
               INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR.  This
               (possibly temporary) change detects the record is NOT an
               IBM record (because OFFQLAC is GT OFFPROD), adds 4 to
               OFFQLAC and subtracts 4 from LENQLAC so MXG can input the
               mis-aligned record, and sets TMDBQLAC='Y' flag that this
               was done.
              -QLACMDWT is a binary value in the TMON/DB2 record, but it
               is a floating point value in IBM records, so this change
               uses TMDBQLAC if set to INPUT the incorrect informat.
              -Support at TMON/DB2 will be contacted and this text will
               be updated when they respond.
   Thanks to Mary Vollmer, MGIC, USA.

Change 27.231  The four listed ASUMs did not create variable ZDATE/ZTIME
ASUMDB2P       while the other thirty-seven ASUMs did.
ASUMDB2S
ASUMDB2G
ASUMDB2S
Sep  3, 2009
   Thanks to Denise Willers, InfoCrossing, USA.

Change 27.230  Variable LASTCLAS in IMF dataset CIMSPROG (from 'F9'x)
VMACCIMS       was incorrectly INPUT @77 as $CHAR1, but it is now INPUT
Sep  2, 2009   @76 as $CHAR2 and formatted $HEX4.
   Thanks to Brian Cummings, Federal Reserve Information Technology USA
   Thanks to Fritz Zeigler, Federal Reserve Information Technology, USA

====== Changes thru 27.229 were in MXG 27.08 dated Sep  1, 2009========

Change 27.229  Support for z/OS 1.11, COMPATIBLE.
EXTY8224      -TYPE 0. New variable:
EXTY8225         CVTTZ   ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'
EXTY8226      -TYPE1415. NO NEW DATA, but lots of text inserts about
IMAC82           assembling the IFGSMF14 Macro with DSECT=YES, which is
VMAC0            why it is flagged in the SMF Manual as changed.
VMAC82        -TYPE30.  NO NEW DATA, only one line of text updated.
VMXGINIT      -TYPE82.  New subtypes 24, 25, and 26.
May  2, 2009  -TYPE92.  Subtype 15 now documented, but MXG supported
Sep  2, 2009            was added in Change 26.277 for APAR OA24208.
              -TYPE1415 New variables DCBEEX31 XTIOTYES created from
                        SMF14FLGS.
              -Dec 3, 2009: CHANGE 27.325 is required for z/OS 1.11.

Change 27.228  Support for APAR OA30197, adds SMF30ASI, new MXG variable
VMAC30         ASID in ID Segment of all SMF 30 records.  Kept in the
Sep  1, 2009   TYPE30 ASID-level datasets (_1,_4,_5,_V,_6).

Change 27.227  Observations were not output because DO loop logic was
VMACINSY       incorrect for the INSYAUID='D' records. Variable INSYATA
Sep  1, 2009   is now converted to EBCDIC text.
   Thanks to Mark Cohen, DTS, ITALY.

Change 27.226  Dataset T112DTCO, DATACOM DETAIL, variables were invalid
VMAC112.       due to misalignment.  Dataset T112MQCT variable MATTACH
Aug 31, 2009   and dataset T112DTCT variable DATTACH were INPUT $CHAR8,
               but they are now seen to be TODSTAMP values, so they are
               changed from CHAR to NUM and formatted DATETIME25.6, and
               are observed to be slightly prior to the UOWTIME.
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 27.225  Cosmetic. Long messages (listing all requested reports)
ANALRMFR       are split and shifted left for readability, and the list
Aug 31, 2009   of valid INTERVAL= values was updated.

Change 27.224  Eight new IBM fields starting with R7452xxx were named in
VMAC74         MXG as R7451xxx, accidentally, as all of the other fields
Aug 31, 2009   in that segment are IBM-named R7451xxx. But these eight
                  R7452XTY R7452XFL R7452PRO R7452PWO R7452PBR
                  R7452PBW R7452PRT R7452PWT
               are all a second field name for the same field location,
               and apparently IBM decided to note that difference by
               naming them with a 2 vs a 1.  In any event, to match the
               SMF Manual field names in the MXG Variable names, those
               eight are now named with a 2 instead of a 1.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 27.223  New "TOP" DB2 Report ranks resource usage by correlation
ANALDB2T       id and authid, for these resource metrics:
Aug 30, 2009      CLASS*1 CPU*RANK
                  CLASS*2 CPU*RANK
                  ELAPSED*RANK
                  GET*PAGE*RANK
                  TOTAL*GET*PAGES
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 27.222  Support for NDM-CDI NDMRTYPE 'SC' and 'S2' records.  The
FORMATS        two datasets NDMSC and NDMS2 were already created, but
VMACNDM        they only contained the header variables until now.
Aug 30, 2009
   Thanks to Robert S. Zimmerman, HMS, USA.

Change 27.221  Support for zOSEM Operating System Environment Manager
EXOSEMCM       from Trident Services user SMF record creates 3 datasets:
EXOSEMRE
EXOSEMWT          DATASET DATASET   DATASET                RECORD
FORMATS           SUFFIX  NAME      LABEL                  SUBTYPE
IMACOSEM
TYPEOSEM          OSEMCM  OSEMCMD   OSEM FEMCNTL CMD          1
TYPSOSEM          OSEMWT  OSEMWTO   OSEM FEMWTO CMD           2
VMACOSEM          OSEMRE  OSEMRES   OSEM JES2 EXIT44          3
VMXGINIT
Aug 30, 2009
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 27.220  MXG 27.06-27.07.  %ANALCNCR failed if INDATA= specified
ANALCNCR       more than one dataset.  "Cosmetic" protection was added
BUIL3005       by Change 27.165 to verify that the input dataset exists,
BUILD005       to avoid DATASET NOT FOUND errors, but it only parsed the
MNTH72         1st INDATA (to get DDNAME and DATASET to pass to VGETOBS,
TRND72         as PROC SQL which requires separate arguments).  Now,
Aug 29, 2009   each token in the INDATA= argument is parsed & verified.
               If all datasets have zero observations, an MXGWARN is
               produced at the beginning and if there are zero obs in
               the output dataset another MXGWARN will appear.
               If all datasets in the INDATA= do not exist, %ANALCNCR
               will stop processing, but if one or more do exist, the
               output dataset will be created and populated if possible,
               but MXGWARN messages will identify which INDATA= datasets
               did not exist.  Prior to Change 27.165, multiple datasets
               were supported because the only INDATA reference was the
               SET &INDATA; statement which read all of the input, but
               that statement failed if any input dataset did not exist.
              -The only MXG member that invokes %ANALCNCR with multiple
               INDATA= datasets is ANALHTML, which exposed this error,
               with its INDATA=PDB.STEPS SPIN.SPIN30_4, statement.
              -In testing the new %ANALCNCR with ANALHTML, SAS printed
               warnings that MSOUNITS had different lengths in those two
               datasets.  Investigation found MSOUNITS & SERVICE weren't
               always stored in 8 bytes, so updates were made to members
               BUILD005 BUIL3005 MNTH72 and TRND72 so that all instances
               of variables MSOUNITS and SERVICE are now LENGTH 8.
              -All INTERVAL= arguments that specify an interval token
               with a fixed-length interval duration are supported.
               TIMER is set to the interval and SYNCINTV=YES is used
               (but that could be overridden in your %ANALCNCR).
   Thanks to Tony Curry, BMC, USA.

Change 27.219  TYPE11GD dataset variables CTGIAVRS and CTILAVRS were
VMAC111        reversed in their INPUT locations.
Aug 28, 2009
   Thanks to Jim Poletti, Edward Jones, USA.
   Thanks to Gordon E. Griffith, Edward Jones, USA.

Change 27.218  Variable SMF70LAC in PDB.RMFINTRV was the maximum value
VMXGRMFI       during the sub-intervals that were summarized; it is now
Aug 28, 2009   the average value, so it matches PDB.ASUMCELP values.
               However, the RMF reports may print that Maximum value of
               any inputted sub-interval.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 27.217  PDB.TYPE70PR with SMF70CIN blank but SMF70ONT nonzero was
VMAC7072       created if the last LPAR was offline (LPARCPUX=0).  That
Aug 28, 2009   caused NRCIXGT0 to be a missing value, so the second test
               IF NRCIXGT0 GT 0 THEN ... was not executed.  That second
               test is now redundant, as SMF70CIX always exists now, so
               that IF ... END was removed.  Error was introduced in
               MXG 27.03 by Change 27.075.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.

Change 27.216  Change 27.126 accidentally removed SYTLPNAM from the KEEP
VMACXAM        list for XAMSYT dataset, and left it in the KEEP list for
Aug 28, 2009   the XAMSYU dataset.
   Thanks to Douglas C. Walter, Citigroup, USA.
   Thanks to Tony Curry, BMC, USA.

Change 27.215  TMON/CICS Version 3.1 INPUT STATEMENT EXCEEDED RECORD
VMACTMO2       error with 'TI' (Statistics Interval) record; the segment
Aug 26, 2009   of data starting with TIMQSOPC exist in 3.1, but MXG only
               input those fields for TMMDVREL GE 3.2; the test before
               that INPUT statement was changed from 3.2 to 3.1.
   Thanks to Dianne Dunklau, Kohls, USA.

Change 27.214  Summarized RMFINTRV/ASUM70PR output datasets could have
VMXGDUR        the STARTIME/SMF70GIE values early by one INTERVAL unit
VMXGRMFI       (e.g., data STARTIME midnight, INTERVAL=HALFHOUR caused
VMXG70PR       output STARTIME of 23:30) after Change 27.178 used the
Aug 28, 2009   SMF70GIE vice STARTIME (because of unstable STARTIMEs).
               Note Jan 21, 2010:  "Unstable as in exactly one second
Nov 10, 2009   later than the expected Start of Interval."
ASUM70PR      -A new argument FLORCEIL=FLOOR/CEIL is added to VMXGDUR
ASUMCAPT       with FLOOR (unchanged) as the default, and the %VMXGDUR
ASUMMIPS       calls in VMXGRMFI and VMXG70PR that interval the
ASUMSMFI       SMF70GIE/SYNCTIME end times now specify FLORCEIL=CEIL.
               No user had reported/noticed this error (yet!).

               The rest of this text was REVISED when CHANGE 27.308
               reset the SYNC59=NO default back in place in MXG 27.10:

              -For summarizing INTERVAL data ONLY (RMFINTRV, SMFINTRV,
               CICINTRV, etc datasets with existing interval start/end):

               If you still specify SYNC(59) to write Interval data in
               minutes 59,14,29,44, the SYNC59=YES parameter can be used
               to change the DATETIME to "pretty" 00,15,30,45 startimes.
               This is needed when SYNC(59) is in SYS1.PARMLIB members
               SMFPRMxx or ERBRMFxx in SYS1.PARMLIB.

               Using the FLORCEIL=FLOOR to calculate the interval start,
               with SYNC(59) data and INTERVAL=HOUR, for time 19:59:
                SYNC59=YES adds one minute to DATETIME, so 19:59 becomes
                 20:00, and the FLOOR(DATETIME) sets 20:00 as the Start.
                 This is correct, hour 20 for the 19:59-20:58 interval.
                SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME)
                 is 19:00 for the Start, WHICH IS THE WRONG HOUR!!!
                SYNC(59) data REQUIRED SYNC59=YES for correct output.

               Using the FLORCEIL=FLOOR to calculate the interval start,
               consider SYNC(00) data and INTERVAL=HOUR, for time 20:00:
                SYNC59=YES adds one minute to DATETIME, so 20:00 becomes
                 20:01, but the FLOOR(DATETIME) sets 20:00 as the Start,
                 which is what you wanted, even though the data is (00).
                SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME)
                 sets 20:00 as the Start, WHICH IS ALSO WHAT YOU WANTED.
               But, using the FLORCEIL=CEIL to calculate interval end,
               SYNC59 must NOT be used.  With datetime 19:59 or 20:00,
               the CEIL(DATETIME) returns 20:00 with SYNC59=NO.  But if
               SYNC59=YES added a minute here, then 20:00 would be 20:01
               and CEIL(DATETIME) would then (INCORRECTLY) be 21:00.
               Therefore, when using FLORCEIL=CEIL, VMXGDUR does NOT
               change the value in DATETIME before the CEIL(DATETIME),
               even if SYNC59=YES was specified.
                  Only ASUM70PR/VMXG70PR and RMFINTRV/VMXGRMFI currently
                  use the FLORCEIL=CEIL option to group by End Interval,
                  but only internally; the final sorts are BY STARTIME.
              -These members were changed from SYNC59=NO to SYNC59=YES:
               ASUM70PR ASUMCAPT ASUMMIPS ASUMSMFI VMXG70PR VMXGRMFI

              -THE PRECEDING IS ONLY FOR SUMMARIZING INTERVAL DATA.

              -FOR DETAIL TRANSACTIONS, SYNC59=NO MUST ALWAYS BE USED.
               MXG 27.08 CHANGED TO SYNC59=YES IN VMXGDUR.
                (This caused PDB.CICS transaction's HOUR to change.)
               MXG 27.10 RESTORED THE SYNC59=NO DEFAULT IN VMXGDUR.

Change 27.213  HFS and zFS EXCPs are counted in EXCPTOTL and EXCPNODD
BUILD005       (see MXG Newsletter FIFTY-FIVE, MVS Technical Note 1)
BUIL3005       but there are no DD Segment EXCP counts for HFS/zFS, so
VMAC30         you don't know how much of EXCPNODD is due to HFS/ZFS, so
Aug 21, 2009   you can't subtract the HFS/ZFS EXCPS from EXCPTOTL.
Sep  1, 2009   This change creates four new variables in TYPE30_V and
               TYPE30_4 datasets:
                  USSEXCPS='USS-OMVS*TOTAL*EXCPS'
                  USSBYTES='USS-OMVS*TOTAL*BYTES'
                  USSCALLS='USS-OMVS*TOTAL*CALLS'
                  USSCPUTM='USS-OMVS*SYSCALLS*CPU*TIME'
               with the sum of those counts from all OMVS segments in
               the interval and step termination SMF 30 records.
               Those variables are also now summed in PDB.STEPS and
               PDB.JOBS when BUILDPDB is used to process SMF 30s.
              -In testing this change, subtype 5 records for BPXAS STC
               have all resource variables with zero value, even STEPNR,
               and some zeros cause missing value calculations.  Logic
               was revised to prevent those harmless but confusing notes
               on the SAS log for those records.
               See MXG Newsletter FIFTY-FIVE, MXG Technical Note titled
               1. Summary: "EXCP" counts recorded for access to HFS ....

Change 27.212  Support for APAR OA30006 for DCOLLECT, adds 8-byte fields
VMACDCOL       at the end of the record for the dataset storage sizes in
Aug 21, 2009   DCOLDSET dataset.  The new fields replace the value in
               existing variables DCDALLSP DCDUSESP DCDSCALL DCDNMBLK
               when the new fields are populated.

Change 27.211  Support for new-in-z/OS 1.10 DFSORT variables added to
VMAC16         existing TYPE16 dataset:
Aug 21, 2009      ICEINMRG='INTERMEDIATE*MERGES*PERFORMED'
                  ICEMNFLG='SIZE=MAX*IN*EFFECT?'
                  ICEMNVLX='SPECIFIED*OR DEFAULT*STORAGE'
                  ICEMNVLY='THEORETICAL*STORAGE*AVAILABLE'
                  ICEMNVLZ='AVAILABLE*STORAGE'
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 27.210  A harmless Division By Zero when creating PDB.DB2STATS
VMACDB2        occurred in calculating variable THRDFTPT (to mimic the
Aug 20, 2009   IBM MENU2 report), added by Change 27.097, if variables
               QW0225AT and QDSTCNAT were both zero.  Divide protected.
   Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.

Change 27.209  TMON/DB2 BF record's SQL text is not quite as documented.
VMACTMDB       BF0142LL, the "length" is 52, indicating there should be
AUG 19, 2009   50 bytes of text, but the next two bytes are INPUT in
               new MXG variable BF0142RL, which is the original (real)
               length of the original SQL text, and then, instead of the
               documented 50 bytes of sql text, the record contains only
               the first 48 bytes of text, kept in BF0142TT.  BF0142LL
               is then reduced by 2 to a value of 50 in TMDBBF dataset.
   Thanks to Ernie Amador, UC Davis Health System, USA.

Change 27.208  Cosmetic. Calculation of AVGWKSET caused notes on the log
VMAC30         "Missing Values were generated" if MULTIDD='Y', because
AUG 19, 2009   those records contain ONLY DD segments.  Those notes are
               now eliminated by only calculating for "real" records.

Change 27.207  MXG 27.07. Change 27.174 stopped deaccumulation of the
VMACDB2        PDB.DB2STATS vars QSSTCONT and QSSTCRIT, incorrectly, as
Aug 18, 2009   both are accumulated and must be deaccumulated.
   Thanks to Bill McDonald, Kimberly-Clark, USA.

Change 27.206  The LABEL for variables STEPNAME and PROCSTEP in VMAC42
VMAC42         were the variable name, unlike all of the other labels
Aug 18, 2009   for those common variables; if you added processing of 42
               records as the last physical VMAC in your BUILDPDB, those
               STEPNAME='STEPNAME' and PROCSTEP='PROCSTEP' labels were
               used for all BUILDPDB-created datasets.  VMAC42 now has
               STEPNAME='STEP*NAME' & PROCSTEP='PROCEDURE*STEP*NAME'
   Thanks to Bret Hoesly, Telephone & Data Systems, Inc, USA.

Change 27.205  Documentation. PDB.TYPE70PR observations for ICF engines
VMAC7072       with the LCPUPDTM (CPU Dispatch Duration) slightly larger
Aug 18, 2009   than the SMF70ONT (Online Duration) have been observed.
               The maximum difference in an LPAR engine was 52 millisec,
               0.052 seconds, but in that same interval, the PHYSICAL
               ICF engine recorded 0.026 seconds, so the total ICFACTTM
               for that interval was 78 milliseconds larger than the
               online duration of exactly 900 seconds for that interval.
               But some intervals do not always have exactly 900 seconds
               online; in 26 intervals, 13 were exactly 900 seconds, 6
               were shorter, by as much as 0.018 seconds, and 7 were
               longer, by as much as 0.018 seconds.  This was z/OS 1.9
               on a 2094-720 with 1 ICF, 2 IFLs, and 17 CPs.  The ICF
               Percent Busy was 100.00008 with that largest difference;
               the only circumvention is to test the PCT value and reset
               it to 100% if greater than 100 (but, if greater than 101%
               print a warning message and investigate further).
     Thanks to Nicholas Ward, Centrelink, AUSTRALIA

Change 27.204  Change 27.154 did not protect when the offset to the Path
VMAC92         Section was non-zero but there was no Path Section; it
Aug 17, 2009   caused an INPUT STATEMENT EXCEEDED RECORD LENGTH error.
   Thanks to Dan Almagro, Automobile Club of Southern California, USA.

Change 27.203  MXG 27.06-MXG 27.07, PDB.ASUMTALO had too few obs created
ANALCNCR       due to an error introduced in ANALCNCR in Change 27.165.
Aug 17, 2009   The ANALCNCR error ONLY occurs if the TIMERNGE= argument
ASUMTALO       was used; ASUMTALO is the only MXG member that invokes
               %ANALCNCR with a TIMERNGE= argument.  Change 27.165 added
               elimination of character-to-numeric conversion messages,
               but four typo's in new code stored &LOTIME into &HITIME.
               Only ANALCNCR was changed in this change; ASUMTALO is
               listed only to document it is impacted by this error.
              -You should check your tailoring/report source libraries
               to see if %ANALCNCR is used with the TIMERNGE= argument.
               This ANALCNCR "utility" is inconsistently named, since it
               creates an output dataset, rather than an analysis; it
               is used to count the number of concurrent events across
               time (like tape drives allocated each hour in ASUMTALO).
   Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.

Change 27.202  MXG 27.07.  Debugging PUT statement at line 757 was
VMAC116        removed.
Aug 14, 2009
   Thanks to Alfred Holtz, Medco Health Solutions, USA.

Change 27.201  More DB2 Updates.
ANALDB2R
READDB2
Aug 12, 2009

Change 27.200  Support for CICS/TS 4.1 GA updates/documentation notes:
EXCICMLR      -Format MG110MP updated for new TCB Pool values of XPLINK,
EXCICRLR       SSL, and THRD, new formats MGCICAT, MGCICRT created.
EXCICSJS      -Dataset  CICECC new variables:
EXCICW2R        ECCCANAM ECCCAPOI ECCCAPTY ECCEBNAM ECCEVCAP ECCEVNAM
FORMATS       -Dataset  CICECG new variables:
IMAC110         ECGFLFAI ECGCAPFA ECGEVLCO ECGEVLOT
VMAC110       -Dataset  CICECR new variables:
VMXGINIT        ECRCHGAG ECRCHGDT ECRCHGUS ECREBNAM ECRGRFRM ECRINSAG
Aug 16, 2009    ECRINSDT ECRINSUS
              -Dataset  CICEPR new variables:
                EPGSYNBK EPGEVLCO EPGEVLOT

              -New Statistics Datasets created:

                 dddddd   dataset   description                    stid

                 CICRLR   CICRLR  CICS BUNDLE                       100
                 CICW2R   CICW2R  CICS ATOMSERVICE                  110
                 CICMLR   CICMLR  CICS XMLTRANSFORM                 113
                 CICSJS   CICSJS  CICS JVMSERVER STATISTICS (RESID  116

                 Note: STID=79, STIMNR is not a Statistics DSECT, but is
                       a SUBTYPE=1,MNSEGCL=5 Transaction Record; support
                       for which was added in MXG 20.20, Change 20.200.

                       STID=84, STIMNT is never created in SMF records;
                       it is an online interface only.

              -Change 27.032 noted there are 3 new TCBs in CICS/TS 4.1,
               T8, EP, and TP, but only T8CPUT is recorded in CICSTRAN.
               The EP TCB for Event Processing is explicitly NOT in the
               CICSTRAN data, because IBM states that processing of the
               new Business Event is NOT to be chargeable to users.
               A TP TCB is created for every JVMSERVER resource def that
               is installed and enabled, but I have not found a reason
               why they are not captured in CICSTRAN.
              -DOCUMENTATION.  CICS Statistics datasets CICDS, CICDSPOO
               have many variables starting with DSG,DS1-DS9,DSA-DSN,
               and their labels were not consistent.  This list is now
               added at the bottom of VMAC110, and the labels revised:

               DOCUMENTATION OF THE VARIABLES STARTING WITH DS.

               TWO DATASETS CONTAIN VARIABLES THAT START WITH DS:
               DATASET CICDS - DISPATCHER STATISTICS:
               - "INTERVAL" VARIABLES STARTING WITH DSGXXXXX
               - "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN
               DATASET CICDSPOO - TCB POOL STATISTICS:
               - "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5

               DATASET CICDS - DISPATCHER STATISTICS:
               - "INTERVAL"  VARIABLES STARTING WITH DSG:
                  DSGNTCB  DSGCNT   DSGEJST  DSGICVRT DSGICVSD DSGICVT
                  DSGMBTCH DSGPNT   DSGPRIAG DSGPTCB  DSGSRBT  DSGSTART
                  DSGLSTRT DSGSTSKS DSGXSCNN DSGXSCNS DSGXTCBD

               - "INTERVAL" VARIABLES ALWAYS MISSING VALUES:
                  DSGAMXTC DSGAMXTL DSGAMXTP DSGLRT   DSGMAXOP DSGTAMXT
                  DSGTL    DSGTOTWT


               DATASET CICDS - DISPATCHER STATISTICS:
               - "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN
                  (The TCB NUMBER HAS CHANGED BETWEEN CICS RELEASES)
            3.2   4.1  TCB    MXG VAR
            NUM   NUM  NAME   PREFIX    DESCRIPTION
            --          H8      DSC     H8 - NOT IN CICS/TS 3.1+
              1         QR      DSG*    QUASI REENTRANT MODE
              2         RO      DS2*    RESOURCE OWNING MODE
              3         CO      DS3*    CONCURRENT MODE
              4         SZ      DS4*    SECONDARY LU MODE
              5         RP      DS5*    ONC/RPC MODE
              6         FO      DS6     FILE OWNING MODE
              7         SL      DS7     SOCKETS OWNING MODE (SL)
              8         SO      DS8     SOCKETS OWNING MODE (SO)
              9         SP      DSH     SOCKETS PTHREAD OWNING MODE (SP)
                  10    EP      DSM     EVENT PROCESSING MODE
             10   12    D2      DSD     D2 - DB2 MODE
             11   13    JM      DSE     JM - JVM CLASS CACHE MODE
                  11    TP      DSN     TP - THREADED TCB OWNING MODE
             12   14    S8      DSB     S8 - SOCKETS (SSL) MODE
             13   15    L8      DSA     L8 - OPEN MODE CICS
             14   16    L9      DSI     L9 - OPEN MODE USER
             15   17    J8      DS9     J8 - OPEN MODE CICS
             16   18    J9      DSF     J9 - OPEN MODE USER
             17   19    X8      DSJ     X8 - OPEN MODE CICS
             18   20    X9      DSK     X9 - OPEN MODE USER
             19   21    T8      DSL     T8 - JVM MULTITHREADED

            THE ABOVE TABLE MAPS EACH TCB NAME TO ITS VARIABLE PREFIX.
            THESE "PER TCB" VARIABLES ARE POPULATED:

                 DS.ACT   DS.NTCBA DS.PERCT DS.START DS.SYSW  DS.TCBAF
                 DS.TCBAL DS.TCBCA DS.TCBCU DS.TCBDO DS.TCBDS DS.TCBDU
                 DS.TCBDX DS.TCBMD DS.TCBMM DS.TCBMP DS.TCBNM DS.TCBPA
                 DS.TCBPU DS.TCBST DS.TCT   DS.TDT   DS.TWT

                 THESE "PER TCB" VARIABLES ALWAYS HAVE MISSING VALUES:
                 DS.PERCT DS.TCBF1 DS.TCBF2 DS.TCBF3
                 DS.TCBF4 DS.SCT   DS.SWT

               DATASET CICDSPOO - TCB POOL STATISTICS:
               - "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5

                  DSG   OPEN POOL (CONSISTING OF L8 AND L9 TCBS)
                  DS2   JVM POOL  (CONSISTING OF J8 AND J9 TCBS)
                  DS3   XP POOL   (CONSISTING OF X8 AND X9 TCBS)
                  DS4   SSL POOL  (CONSISTING OF S8 TCBS)
                  DS5   THRD POOL (CONSISTING OF T8 TCBS)

                  J8 L8 S8 T8 AND X8 TCBS ARE CICS TCBS.
                  J9 L9 AND X9 TCBS ARE USER TCBS.

               "TCB POOL" VARIABLES HAVE DSG,DS1,DS2,DS3,DS4,DS5 PREFIX:

                  DS.CMMWS DS.CMMWT DS.CNUAT DS.CNUUS DS.CURNW DS.CURWT
                  DS.MMWTM DS.MMWTS DS.MXTCB DS.NTCBL DS.PEANW DS.PMWWS
                  DS.PNUAT DS.PNUUS DS.TCBPN DS.TOTMT DS.TOTMW DS.TOTNW
                  DS.TOTWL
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 27.199  Documentation of this error message:
JCLTEST9         ERROR: PHYSICAL FILE DOES NOT EXIST, ATP1DKP.ADM.DATA.
Aug 12, 2009   occurs when a FILE ADM statement was found, but there was
               no //ADM DD in the job. SAS then looks for a file named
               JOBNAME.FILENAME.DATA, and fails.

Change 27.198  Even when PDBOUT= was not specified, so the null default
ANALRMFR       (write to //WORK) was desired, ANALRMFR still wrote the
Aug 12, 2009   TYPE7xxx datasets to //PDB instead of //WORK.  %LETs were
               added to protect the SPLIT70 logic.
   Thanks to Kim Westcott, New York State Office of Technology, USA.

Change 27.197  Change 27.175 added DB2STATB/DB2STATS/DB2GBPST but failed
ANALDB2R       (VARIABLE SYSTEM NOT FOUND) if DB2STATB was redirected to
Aug 12, 2009   a separate input DDNAME.
   Thanks to Scott Wiig, USBank, USA.

Change 27.196  Change 27.138 heuristic test for LENGTH=412 for subtypes
VMAC85         78,79,88 did not generalize and still failed with record
Aug 12, 2009   from z/OS 1.10 subtype 78 record.  The test was revised
               to test  R85PVRM IN (1030 1090 1100 1110) to hopefully
               protect 1.9, 1.10 and 1.11 records, but only 1.10 and
               ancient 1.30/1.40 records are validated with SMF data.
   Thanks to Brian Felix, Wachovia Bank, USA.
   Thanks to Mike Spires, Wachovia Bank, USA.

====== Changes thru 27.195 were in MXG 27.07 dated Aug 11, 2009========

Change 27.195  Documentation only.  When IFCIDS=ACCOUNT is specified,
READDB2        READDB2 automatically creates the DB2ACCTB dataset, but
Aug 11, 2009   when BUILDPDB/TYPEDB2 is used, the EXDB2ACB exit is used.
               So if you (incorrectly) had a DELETE statement in your
               tailored EXDB2ACB member, the number of observations that
               were created in DB2ACCT/DB2ACCTB/DB2ACCTG were much less
               with BUILDPDB/TYPEDB2 than with READDB2.  The EXDB2ACB
               exit is the ONLY DB2 exit that is overridden in READDB2.

Change 27.194  These variables from the LPAR Object in NMON/TAPAS record
VMACNMON       are now input and kept:
Aug 11, 2009     CAPPED EC_USER EC_SYS  EC_WAIT EC_IDLE VP_USER
                 VP_SYS VP_WAIT VP_IDLE FOLDED  POOL_ID
   Thanks to Steve Dyck, Canadian Depository for Securities, CANADA.

Change 27.193  READDB2 with Change 27.169 did not copy all ACCOUNT data
READDB2        sets to the PDBOUT= parameter, when it was used.
Aug 11, 2009
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.

Change 27.192  Incorrect READTIME (date in 2010) because CA=7 overlaid
VMAC110        the first byte of the time part with 'EE'x, but CA is
Aug 11, 2009   then supposed to correct that overlay in the SMF write
               exit, which requires specific code for each record type.
               Apparently, CA-7 has failed to protect the SMF 110s,
               but MXG detects now and corrects READTIME in SMF 110.
                  Search CHANGESS for "UCC7" LAST for further info.
   Thanks to Marnel Groebner, State of Washingon, USA.

Change 27.191  Variable ACTVWSS, working set size, in dataset XAMUSR,
VMACXAM        was incorrectly multiplied by 4096; it is already in
Aug 11, 2009   bytes, not KB, so the multiply was removed.
   Thanks to Chris Morgan, CitiCorp, ENGLAND.

Change 27.190  Dataset TMS.TMS observations with DEVTYPE blank were
VMACTMS5       found with TRTCH='D0'x and 'EE'x, and TMS shows those
Aug 10, 2009   as DEN 3590 and 3592, so those hex values are now mapped
               to the DEN values in DEVTYPE.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 27.189  Support for Serena's StarTool IOO Product's USER SMF
EXIOOVBU       creates 10 datasets:
EXIOOQBU
EXIOORBL         DATASET    DATASET   DATASET
EXIOOVUS         SUFFIX     NAME      LABEL
EXIOOVRP
EXIOOVX1         IOOVBU     IOOVBUF   VSAM BUFFER OPTIMIZATION
EXIOOVX2         IOOQBU     IOOQBUF   QSAM BUFFER OPTIMIZATION
EXIOOVX3         IOORBL     IOORBLK   QSAM BLKSIZE OPTIMIZATION
EXIOOVX4         IOOVUS     IOOVUSR   USER BLDVRP
EXIOOVX5         IOOVRP     IOOVRPB   BLDVRP OVERRIDE
FORMATS          IOOVX1     IOOVEX1   OPT BYPASS AS PER RULES TABLE
IMACIOO          IOOVX2     IOOVEX2   OPT BYPASS NO RULES TABLE MATCH
TYPEIOO          IOOVX3     IOOVEX3   OPT BYPASS BUFFER CHANGE NOTAUTH
TYPSIOO          IOOVX4     IOOVEX4   OPT BYPASS JCL PARMS PRESENT
VMACIOO          IOOVX5     IOOVEX5   OPT BYPASS CSR FAILURE
VMXGINIT
Aug 10, 2009

Change 27.188  MXG 27.04-27.06.  When DB2STATS was enhanced to include
VMACDB2        the IFCID=225 DB2STAT4 dataset, the BY list for the sort
Aug 10, 2009   order for DB2STAT0 and DB2STAT1 was incorrectly changed,
               which could cause a NOT SORTED error in WEEKBLD/MONTHBLD.
               This change resets the sort order for DB2STAT0/DB2STAT1
               to the expected  SYSTEM QWHSSSID QWHSSTCK.
               The same order can NOT be used to create DB2STATS because
               the QWHSSTCK timestamp is not consistent in an interval;
               instead, SYSTEM QWHSSSID QWHSACE QWHSMTN QWHSISEQ must be
               used to create DB2STATS.
               If you encounter the NOT SORTED error, you can remove the
               BY statement in your WEEKBLD/MONTHBLD to circumvent.

               BUT: the better solution is to REMOVE DB2STAT0, DB2STAT1
               and DB2STAT4 from your WEEKBLD and MONTHBLD, because they
               are completely contained in the DB2STATS dataset!

               Unfortunately, I have to leave them in WEEKBLD/MONTHBLD
               because they are already there, and removing them would
               create a bigger exposure to DATA SET NOT FOUND errors!
   Thanks to Wayne Bell, UniGroup, USA.

Change 27.187  In spite of my note in IMACICDL "beginning with IMS 5.1
IMACICDL       CICS/TS 1.1+ do NOT support DL/1 calls from CICS" SMF 110
UTILEXCL       records with the optional IMACICDL data segment can still
VMAC110        be created, and with CICS/TS 3.2, it is INCOMPATIBLE due
Aug  8, 2009   to the increase to 12 byte clock/counters.  IMACICDL was
               revised to support both lengths, even though ALL of the
               fields in the IMACICDL segment are now ALWAYS zeroes.
              -UTILEXCL's generated KEEP= statement was updated to KEEP
               these variables, but ONLY so I could confirm the zeroes.
              -A DROP statement was added in IMACICDL so these variables
               will be dropped if you do have to tailor IMACICDL.

Change 27.186  WSF record with ACCSTAT='.1......'B flag, which says that
VMACWSF        the ACCKTN Extension added in WSF 3.3.6 exists, caused an
Aug  7, 2009   INPUT STATEMENT EXCEEDED RECORD LENGTH when it did not
               have the minimum-length-20-byte segment present; MXG now
               tests that both that bit is on, AND that 20 bytes of data
               actually exists before inputting the extension fields.
   Thanks to Norm Folkers, CGI, CANADA.

Change 27.185  Variable R744RSST='TOTAL*SIGNAL*SERVICE*TIME' in dataset
VMAC74         TYPE74DU/XTY74DU was incorrectly divided by 10**(-6); it
Aug  7, 2009   was already converted to microseconds in the INPUT and
               should not have also been divided.
   Thanks to Yacine Amraoui, La Banque Postale, FRANCE.

Change 27.184  Support for VMWARE objects in NTSMF adds new datasets:
VMACNTSM         dddddd  Dataset   Description/Object Name
Aug  7, 2009     NTVWGC  VMWGUCPU  VMWARE.GUEST.CPU
                 NTVWGD  VMWGUDIS  VMWARE.GUEST.DISK
                 NTVWGM  VMWGUMEM  VMWARE.GUEST.MEMORY
                 NTVWGN  VMWGUNET  VMWARE.GUEST.NET
                 NTVWGR  VMWGURES  VMWARE.GUEST.RESCPU
                 NTVWGS  VMWGUSYS  VMWARE.GUEST.SYS
                 NTVWHC  VMWHOCPU  VMWARE.HOST.CPU
                 NTVWHD  VMWHODIS  VMWARE.HOST.DISK
                 NTVWHM  VMWHOMEM  VMWARE.HOST.MEMORY
                 NTVWHN  VMWHONET  VMWARE.HOST.NET
                 NTVWHR  VMWHORES  VMWARE.HOST.RESCPU
                 NTVWHS  VMWHOSYS  VMWARE.HOST.SYS
                 NTVWRP  VMWREPOL  VMWARE.RESOURCEPOOL
               and support for new objects ASP.NET V2.0.50727 and
               ASP.NET APPS V2.0.50727 which are output in existing
               ASPNET and ASPNETAP datasets.

Change 27.183  The Diagnose Instruction variables added by Change 26.203
VMACVMXA       were only INPUT and not kept in z/VM dataset VXPRCDIA.
Aug  6, 2009
   Thanks to Jim Dammeyer, State Farm Auto, USA.

Change 27.182  Support for optional, user-created, CICS REQCNT1 field.
IMACICUE
VMAC110
UTILEXCL
Aug  6, 2009
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.

Change 27.181  Support for VOLSER='SCRTCH', a previously unseen (or not
ASUMTAPE       noticed value for VOLSER), which has to be added to the
Aug  5, 2009   existing exceptions for VOLSER='PRIVAT'.  Mounts with the
               VOLSER='SCRTCH', either in the TYPETMNT Mount dataset or
               the TYPESYMT SYSLOG dataset, were not matched with their
               TYPE21 (because it always has the resultant VOLSER).
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 27.180 -Support for new CPU_PHYSICAL and CPU_ENTITLED objects in
VMACNMON       TOPAS (originally NMON, Nigel's Monitor for AIX/LINUX)
Aug  5, 2009   adds six variables from each into NMONINTV dataset:
Aug  7, 2009     PPHYBUSY PPHYIDLE PPHYSYS PPHYUSER PPHYWAIT NRPHYS
                 PNTIBUSY PNTIIDLE PNTISYS PNTIUSER PNTIWAIT NRNTIS
              -MEMUSE record with invalid numeric value 0.275.9 in the
               last field causes two harmless messages to be printed:
                 INVALID ARGUMENT TO FUNCTION INPUT.
               and variable MUMAXCLI will have a missing value.
              -INVALID ARGUMENT messages for RECTYPE='RAWCPUTOTAL' were
               corrected; right hand argument of WORD2 test needed to be
               in all upper case.
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 27.179 -MXG 27.05-27.06.  WORK datasets were not PROC DELETEd due
TYPETMS5       to debugging comments that should have been removed.  The
Aug  5, 2009   14 datasets required over 6400MB with a 700MB TMS input.
   Thanks to Jim Kovarik, AEGON, USA.

Change 27.178  ASUM70PR with STARTIME=16:29:59 (instead of 16:30:00) was
VMXG70PR       incorrectly reset to 16:15 when INTERVAL=QTRHOUR was used
VMXGRMFI       and this created an obs with DURATM=30 minutes instead of
Aug  5, 2009   the requested 15 minute summarization (fortunately, all
               data values in that observation ARE correct!).  STARTIME
               has always been used for MXG RMF summarization, because
               the only other original choice, SMFTIME, was inexact, as
               write delays could cause it to be in the next hour, etc.
               But now, SMF70GIE, the expected, exact, end of interval,
               always exists in current RMF/CMF records, so it is used
               to define the interval when INTERVAL="value" is specified
               so STARTIME can then be exactly reset SMF70GIE-MXGDURTM.
               SMF70GIE is already used elsewhere in VMXG70PR, but not
               in the STARTIME reset algorithm.
                  If SYNC59=YES was accidentally specified (not needed
                  here because the RMF data was written with SYNC=0),
                  STARTIME was set to 16:30 instead of 16:15, and the 30
                  minute obs was accidentally NOT created.
               Why the STARTIME is one full second earlier instead of
               exact is not known, but this system was a 2094-709 with
               VERSNRMF 750, and IRD was not active.
              -RMFINTRV was revised to also set STARTIME from SMF70GIE,
               so there should always be a perfect match between the
               PDB.RMFINTRV and PDB.ASUM70PR values.
                 But NOT with INTERVAL=DETAIL or INTERVAL=DURSET:
                 MXG Only Resets the STARTIME to "clean" values when
                 you specify an INTERVAL= "duration" (QTRHOUR,HOUR,etc).
   Thanks to Douglas C. Walter, Citigroup, USA.
   Thanks to Brent Turner, Citigroup, USA.

Change 27.177  Variable RECTOK was truncated to 12 bytes because it was
VMACITRF       incorrectly formatted $HEX24; it is now correctly format
Aug  4, 2009   with $HEX32 to set its stored length as 16 bytes.
   Thanks to Shantha Hallett, Capgemini UK, WALES.

Change 27.176 -MXG support for IMF 4.4 was incorrect for these variables
VMACCIMS       that were previously binary with varying resolutions but
Aug  5, 2009   were changed in 4.4 to floating point microseconds:
                 TRNW1OTH TRNW2OTH TRNW2LCH TRNW2IOV TRNW2IOO TRNW3OTH
                 TRNW3LCH TRNW4OTH TRNW4DBR TRNW4IO  TRNW5OTH TRNW5LCH
                 TRNW5LCK TRNW5IOV TRNW5IOO TRNW5IOD TRNEAPPL TRNEDLTM
                 TRNEDLDB TRNEDB2  TRNEMQS  TRNEOESS TRNEOPCL TRNESYNC
              -Records with LTERM values that are neither EBCDIC nor
               ASCII ('EE4A80B18DDDDEEA'x) print funny-looking text.
               Using FORMAT LTERM $HEX16.; will show that hex value,
               but that makes the true printable text unreadable.
               Not really a problem, mostly an observation.
              -BMC PTF BQI0695 corrects an error in which a DBD segment
               could be overlaid with zeros.  This was detected because
               SQLCALL='Y' (the transaction called DB2), but SQLCALLS
               (the sum of calls in all DBD segments with DBORG='80'x)
               was a missing value.  Any transaction with SQLCALL='Y'
               must have at least one DBORG='80'x DB2 DBD segment.
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.

Change 27.175 -ANALDB2R detected but did not tolerate the absence of the
ANALDB2R       DB2STATB dataset.
Jul 31, 2009  -Aug 9: ANALDB2R now honors DB2STATB/DB2STATS parameters
Aug  9, 2009   and new DB2GBPST parameter is added.
   Thanks to Scott Wiig, USBank, USA.

Change 27.174  Variable QSSTCONT and QSSTCRIT were deaccumulated, but
VMACDB2        they should not have been, as they are end point values.
Jul 30, 2009   CHANGE REVERSED: SEE CHANGE 27.207.
   Thanks to Ray Dunn, CIGNA, USA.
   Thanks to Deborah L. Soricelli, CIGNA, USA.

Change 27.173  Misspelled variables cause confusion, but cannot simply
VMACDB2        be replaced by the correct spelling, as other programs in
Aug  5, 2009   MXG and in user programs may use the incorrect spelling,
               so these new (correctly spelled) variables are created:
                QBGLWM  QXXCBPNX  QXXCSKIP QXCRINX
               with the same contents and labels as the incorrect ones:
                QBGLMW  QZZCBPNX  QZZCSKIP QXCRINDX
   Thanks to Tony Curry, BMC, USA.

Change 27.172  Most tests for IF xxxxxxxx NE 0 THEN were revised to test
ANALDB2R       IF xxxxxxxx GT 0 THEN because missing-value variables are
Jul 29, 2009   true with NE 0 but in most cases that is not wanted. Each
               test must be examined to see if xxxxxxxx can be missing,
               and to confirm that the true value wanted was only GT 0.
               This prevented divide-by-zero error messages.

Change 27.171  MXGTMNT records INPUT is now protected if the same SMF
VMACTMNT       record number is also used by another product's record,
Jul 28, 2009   by verifying that TMNTSYS='TMNT'; when duplicate use of
               the TMNT record ID is detected, two instances are now
               printed on the log with a hex dump so you can identify
               the other product "sharing" the TMNT record ID.
   Thanks to Linda Pitcher, Progressive, USA.

Change 27.170  MXG QA Test Stream step TESTREAL was revised to validate
CLEARDB2       both the existence of datasets and expected observations
TESTREAL       with the known SMF input file of DB2 data.  READDB2 is
Jul 25, 2009   re-executed multiple times, so resetting of all of the
               old-style macros for DB2 is required prior to each; the
               static reset was stored in new member CLEARDB2 for reuse.

Change 27.169  MXG 27.04-27.06.  READDB2 did not output to any T102Snnn.
READDB2        The error was introduced in MXG 27.04, and while READDB2
Jul 25, 2009   is tested in the QA stream, the tests were for existence,
               and did not verify actual observations were created.
   Thanks to Alex Macfarlane, BNY Mellon, USA.

Change 27.168 -MXG 27.05-27.06.  Change 27.108 accidentally deleted the
TYPETMS5       _KTMSTMS token that should have been after line 188; the
Jul 24, 2009   token is used by ITRM to add variables for TMS.
   Thanks to Rob D'Andrea, CIS, ENGLAND.

====== Changes thru 27.167 were in MXG 27.06 dated Jul 20, 2009========

Change 27.167  Minor. %READDB2... did not honor OPTIONS OBS=5000 because
READDB2        a RUN; statement was required to separate the execution
Jul 21, 2009   of the DATA step from subsequent %VGETOBS existence tests
VMXGOPTR       (for IFCIDs 105/107).  In %VGETOBS execution, the first
Jul 22, 2009   %VMXGOPTR with "OPTION=OBS,NEWVALUE=MAX", (needed so the
               PROC SQL can function even if the user has set the option
               OBS), was being executed before the DATA step that reads
               the SMF data.  The RUN; in READDB2 cured its problem, but
               a more generic solution was to insert a RUN; statement at
               the top of VMXGOPTR to protect it for all calls.

Change 27.166  CA-VIEW SARSRQUX exit SMF record was completely changed.
VMACSARX       The new layout of the fixed portion is now supported, but
Jul 21, 2009   the Fixed JCL Attribute segment does not exist in my two
Oct  4, 2009   test records, and the Variable JCL Attribute segment is
               not populated, so those segments are not yet INPUT, which
               causes many, but harmless, UNINITIALIZED VARIABLE notes
               on the log.  Oct 4: UNINIT messages removed.
               Thanks to Bob DeBartolo, Conseco, USA.

====== Changes thru 27.165 were in MXG 27.06 dated Jul 20, 2009========

Change 27.165 -VMXGSUM now dies gracefully with an MXGERROR message when
ANALACTM       the input dataset does not exist; before, it still died,
ANALCNCR       but the cause of death was unknown to the user.  This can
ANALINIT       happen if you include an ASUMxxxx or TRNDxxxx but you had
BLDNTPDB       not created the expected input datasets.  VMXGSUM works
UTILCONT       fine if the dataset exists and has zero observations.
UTILVREF      -ANALCNCR modified to fail before calling VMXGSUM if the
UTILXRF1       input dataset does not exist.
VGETDDS       -VGETOBS was revised to protect when OPTIONS OBS=0 is in
VGETDSN        effect; the PROC SQL used to determine if the dataset has
VGETENG        observations did not execute, so VGETOBS falsely reported
VGETOBS        the tested dataset did not exist, when in fact it did.
VMXGENG        Calls to VMXGOPTR were inserted to store the current OBS
VMXGOPTR       option in effect, set OBS=MAX for the PROC SQL, and then
VMXGSIZE       restore the original option with a second VMXGOPTR call.
VMXGSUM        But this instance of this exposure caused examination of
VMXGUOW        all MXG code that uses PROC SQL, so these members have
Jul 17, 2009   also been protected to execute properly with OBS=0 set:
ASUMCACH         ASUMCACH BLDNTPDB UTILCONT UTILVREF UTILXRF1 VGETDDS
                 VGETDSN  VGETENG  VMXGENG  VMXGSIZE VMXGUOW
               Setting OPTIONS OBS=0; is a quick way to test SAS code
               for any SAS syntax errors, and as all datasets are also
               created, subsequent references to datasets or variables
               are validated, but no records are read and no disk space
               is used since all datasets have zero observations.
               An alternative technique is to use a DUMMY input file.
              -VMXGUOW %VMXGOPTR calls balanced for default NOOBS zero.
              -VMXGOPTR modified to UPCASE the parameters.
              -ANALINIT protected with NODSNFERR/NOVNFERR, and is now
               a self-executing %MACRO.
              -ANALACTM.  Some headings ran together & the response time
               goals went into exponential notation.  ANALACTM gives you
               a visual picture of your WLM definitions.
              -Aug 12, 2009:  VGETOBS defined a new argument, NOEXIMSG.


Change 27.164  NOTE: NUMERIC VARIABLE CONVERTED TO CHARACTER in TIMEBILD
TIMEBILD       happens to be harmless, but because it raised questions
Jul 15, 2009   (Why?  Impact?), it is now eliminated.  The culprit was
               the CALL SYMPUT("MXGTIMES",SYS); where SYS was a numeric
               count, and %MACRO variables must be character.  Inserting
               SYST=PUT(SYS,2.); to create character variable SYST, and
               using SYST in place of SYS eliminated the message.
   Thanks to Paul Volpi, UHC, USA.

Change 27.163  Eight BVIR variables are converted to bytes and FORMATed
VMACBVIR       MGBYTES, and *KB in their label is replaced by BYTES to
Jul 15, 2009   be consistent with the other byte-containing variables:
                  P0CHRD  ='HBA*PORT 0*CHAN*READ*BYTES'
                  P0CHWR  ='HBA*PORT 0*CHAN*WRITE*BYTES'
                  P0VDRD  ='HBA*PORT 0*VDEV*READ*BYTES'
                  P0VDWR  ='HBA*PORT 0*VDEV*WRITE*BYTES'
                  P1CHRD  ='HBA*PORT 1*CHAN*READ*BYTES'
                  P1CHWR  ='HBA*PORT 1*CHAN*WRITE*BYTES'
                  P1VDRD  ='HBA*PORT 1*VDEV*READ*BYTES'
                  P1VDWR  ='HBA*PORT 1*VDEV*WRITE*BYTES'
   Thanks to Perry Lim, Union Bank, USA.

Change 27.162  Support for BMC APPTUNE SQL IFCIDS=8004x-8136x as SMF 102
EX102S04       records create these eleven new datasets:
EX102S05
EX102S07         DDDDDD    DATASET      DESCRIPTION/IFCID
EX102S08         102S04    T1028004  102S04: BMC SQL APPTUNE 8004
EX102S09         102S05    T1028005  102S05: BMC SQL APPTUNE 8005
EX102S0A         102S07    T1028007  102S07: BMC SQL APPTUNE 8007
EX102S0B         102S08    T1028008  102S08: BMC SQL APPTUNE 8008
EX102S33         102S09    T1028009  102S09: BMC SQL APPTUNE 8009
EX102S34         102S0A    T102800A  102S0A: BMC SQL APPTUNE 800A
EX102S35         102S0B    T102800B  102S0B: BMC SQL APPTUNE 800B
EX102S36         102S33    T1028133  102S33: BMC SQL APPTUNE 8133
IMAC102          102S34    T1028134  102S34: BMC SQL APPTUNE 8134
READDB2          102S35    T1028135  102S35: BMC SQL APPTUNE 8135
VMAC102          102S36    T1028136  102S36: BMC SQL APPTUNE 8136
VMACDB2H
VMXGINIT         102BMC    Creates all of the above
Jul 15, 2009
               All eleven BMC T1028xxx datasets are created together,
               with a single macro token dddddd=102BMC.  Separate
               dddddd tokens for each IFCID/dataset are not defined, as
               I decided you'd want all eleven or none.  You can create
               only those eleven BMC T1028xxx datasets using %READDB2
                  %READDB2(IFCIDS=BMC);
               Or, if you create all possible T102 datasets using either
               %INCLUDE SOURCLIB(TYPE102); or %READDB2(IFCIDS=ALL);, all
               350 IBM T102Snnn and the 11 BMC datasets will be created.
              -While many of the fields are from standard IBM DB2 DSECTS
               QWAC, QBAC, QTXA, QXST, and QWAX, all variable names in
               the BMC T1028nnn datasets start with QBMCxxxx, so there
               is no collision/conflict with the existing MXG names.
              -Note that variables QBMCEJST and QBMCESC are different
               from the IBM QWACEJST/QWACESC fields; BMC stores the
               accumulated total measured time for the statement rather
               than the end time for one execution in both.

Change 27.161  Incorrect QXPK values in DB2ACCTP, DB2 V9 only, only if
VMACDB2        NRQPAC GT 1, only in 2nd and subsequent obs per record.
Jul 13, 2009   The DB2ACCTP Package obs contain either both QBAC & QXPK
               segments (when Class 10 is enabled) or neither (if not);
               if on, there is one QBAC and one QXPK segment per QPAC,
               MXG outputs the first set in the first obs, the second
               set in the second obs, etc.  However, DB2 V9 IFCID=239
               (ID=101,Subtype=1) records with more than one NRQPAC had
               incorrect QXPK variable's values in 2nd-plus obs, due to
               MXG incorrect logic test for =0 instead of LE 0 (and a
               typo) in its handling of the new DB2 V9 lengths:
                  In DB2, IBM stores a zero in the length field in the
                  "triplet", and the triplet's offset now points to the
                  two-byte location with the actual field length, at the
                  start of that segment's data.  But only sometimes!

Change 27.160  Var EVENTIME was inadvertently DROPed from PDB.ASUMTAPE
ASUMTAPE       by Change 26.038 (MXG 26.03), but was expected in ITRM.
Jul 10, 2009   It is now kept again with the beginning datetimestamp of
               the mount event.
   Thanks to Don Bernard, North Carolina State Government, USA.

Change 27.159  The test for OSI to input SMF62MGT/SMF62STR/SMF62DAT
VMAC62         unintentionally prevented OPENTIME and ACBMACR1-ACBMACR4
Jul  9, 2009   from being input.  The OSI test is no longer needed as
               space for all three fields are always present, so it was
               removed.  And because the MGT/STR/DAT can contain '00'x,
               those values were translated to blanks.
   Thanks to Sam Bass, McLane Co., USA.

Change 27.158  This change is in progress, requiring many updates before
VMACDB2        it is fully implemented.  Progress is documented below.
VMACDB2H       If DB2 zparm UIFCIDS=YES is set, many DB2 character vars
VMAC102        will contain ASCII instead of EBCDIC text.  These fields
Jul  8, 2009   are identified as "%U" in the IBM DSECTs; technically the
               fields contain UNICODE, UTF-8, which is simple ASCII.
               Each of these "%U" fields has its original fixed-length
               location (that MXG continues to INPUT, but conditionally
               INPUTs ASCII or EBCDIC), but if the text length is longer
               ("truncated" to that fixed-length), a new offset points
               to the length and location of the "un-truncated" text,
               which is then conditionally input with the longer length.

               Change 24.136 created DB2UNICD='Y' when UIFCIDS=YES, and
               DB2UNICD was used to conditionally INPUT these variables
                 QLACLOCN QLSTLOCN QMDALOCN QPACCOLN QPACLOCN QPACPKID
                 QWHCAID  QWHCOAUD QWHCOPID QWHCROLE QWHCTCXT QWHSLOCN
               (because only these fields were ASCII in test data).

               However, when the below circumvention for an IBM ABEND
               required UIFCIDS=YES to be set, these header variables
                QWHDRQNM QWHDSVNM
               were seen to be in ASCII, and VMACDB2H was updated.

               There are at least 224 %U fields in DB2 V9 DSECTS that
               need update or at least verification, and they will all
               (EVENTUALLY!!) be updated/supported.

               As of Jul 13, these variables are now "%U" Supported:

               Still to be done:
               These are the only "ACCOUNT" IFCIDS that need updating:
                 QPACASCH QPACAANM
               and these are all of the SMF 102 IFCIDs that need update:
                 QW0022CI QW0022CN QW0022CR QW0022PG QW0022QO QW0022TN
                 QW0029CI QW0029LN QW0029PI
                 QW0030CI QW0030LN QW0030PI
                 QW0031CI QW0031LN QW0031PI
                 QW0053LN QW0053PC QW0053PN
                 QW0055NI QW0055OI
                 QW0058LN QW0058PC QW0058PN
                 QW0059CN QW0059LN QW0059PC QW0059PN
                 QW0060LN QW0060PC QW0060PN
                 QW0061CN QW0061LN QW0061PC QW0061PN
                 QW0064CI QW0064CN QW0064LN QW0064PN
                 QW0065CN QW0065LN QW0065PC QW0065PN
                 QW0066CN QW0066LN QW0066PC QW0066PN
                 QW0083SA
                 QW0087SA
                 QW0096PC QW0096PN
                 QW0108NC QW0108NI QW0108NL QW0108OH QW0108OW QW0108QL
                 QW0110PC QW0110PI QW0110PL
                 QW0112OH
                 QW0113OH
                 QW01247S QW0124CI QW0124LN QW0124PN QW0124SP
                 QW0125PC QW0125PN
                 QW0140SC QW0140SN QW0140TC QW0140TN QW0140UR
                 QW0141OR
                 QW0142CR QW0142OW QW0142TN
                 QW0145LN QW0145PC QW0145PN
                 QW01488L QW01489L QW0148CI QW0148LN QW0148PN QW0148SP
                 QW0157LN QW0157PN
                 QW0158PN
                 QW0159LN
                 QW0162LN
                 QW0169AL QW0169AU QW0169LO QW0169NE
                 QW0173CN*QW0173ID*QW0173PC QW0173PK
                 QW0177CO QW0177LO QW0177OH QW0177PI
                 QW0183CO QW0183LN QW0183PN
                 QW0185CN QW0185CR QW0185TB
                 QW0191LN
                 QW0192LN [192cs 192ec]
                 QW0193LN
                 QW0194LN
                 QW0195LN
                   [195hb]
                 QW0203CO QW0203LO QW0203PA
                 QW0204LO
                 QW0205LO
                 QW0206LO
                 QW0207HN QW0207TN QW0207UN
                 QW0208LO
                 QW0209LO
                 QW0210LO
                 QW0221LN
                 QW0221PC QW0221PN
                 QW0222LN QW0222PC QW0222PN
                 QW0224CI QW0224PN
                 QW0233LN QW0233PC QW0233PN QW0233PR QW0233SC
                 QW0235LO
                 QW0236LO
                 QW0247LN QW0247PC QW0247PN
                 QW0248LN QW0248PC QW0248PN
                 QW0269PR QW0269RA QW0269RC QW0269RU QW0269SA QW0269TC
                 QW0272LN QW0272LP QW0272PC QW0272PG QW0272PN QW0272QN
                 QW0273CN QW0273LN QW0273LP QW0273PC QW0273PG QW0273PN
                 QW0305CN
                 QW0311CN QW0311LN QW0311PC QW0311PN QW0311QN QW0311TN
                 QW0313AI
                 QW03141N QW03142N QW0314BN QW0314LN QW0314MN QW0314NN
                 QW0316QD QW0316SC QW0316T1 QW0316T3 QW0316TD QW0316X4
                 QW0324CI QW0324CV QW0324FI QW0324FN QW0324FS QW0324NV
                 QW0325CO QW0325NM QW0325PR QW0325SC QW0325TX
                 QW0334LN
                 QW0341LN QW0341PC QW0341PN
                 QW0343ID QW0343PC QW0343PK QW0343PL
                 QW148SCH
                 QWP1RLFA
                 QWP4ADM2 QWP4DFID QWP4OPR1 QWP4OPR2 QWP4OZUS QWP4REGA

               An ABEND 0C4 in DB4PMSTR (takes down DB2 Subsystem) can
               occur if zparm UIFCIDS is set to "NO", and IFCIDs 316,317
               are written.  IBM suggested PTF UX37196, but that is PE.
               Setting zparm UIFCIDS to "YES" bypassed the conversion.
               ERROR DESCRIPTION:
                Rapid stack storage increase about 200M per day was
                observed by customer.  This occurs when IFCID 316, 317
                were in effect and the zparm UIFCIDS was set to no.  The
                stack storage was used for conversion from UNICODE to
                EBCDIC.
                 LOCAL FIX:
                 Set zparm UIFCIDS to yes to bypass conversion or turn
                 off IFCID 316 and 317.
   Thanks to Barry Pieper, Blue Cross of Minnesota, USA.

Change 27.157  SMF 116 variables WQGETJCE/WQPUTJCE/WQPUT1JE/WQSET1JE in
VMAC116        the MQMQUEUE dataset were not divided by 4096, so their
Jul  7, 2009   values were incorrectly large without that divide.
               Version 7.0 SMF 116 records have been read without error;
               there are no new fields in the SMF 116 (nor 115) records.
               in Version 7.0, so the MXG support was already in place.
   Thanks to Frank Debree, Dexia, BELGIUM.

Change 27.156  Support for z/VM 6.1.0 is already in place in MXG 27.01+,
TYPEVMXA       as there were no changes to the MONWRITE data records,
Jul  7, 2009   except for the new version number.

Change 27.155 -Type 42 Subtype 16 RLS Record INPUT STATEMENT EXCEEDED
VGETUTKN       because the two length tests LEN42D2 and LEN42D4 should
VMAC42         have been 1652 instead of 1504.
Jul  6, 2009  -Type 42 Subtype 21 and 24 with invalid ICHRUTKN segment
Jul  8, 2009   had all of UTKNxxxx variables wrong or truncated.  This
Jul 13, 2009   change detects the mis-located segment (starts in 187 vs
               185) and correctly populates the UTKNxxxx variables,
               except that the last variable in the record, UTKNGRUP,
               is only 6-bytes long when the segment in invalid.
              -IBM APAR OA27563 corrects the errors; search NEWSLTRS for
               the details.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 27.154  USS dataset TYPE9201 variable SMF92PPN (pathname to the
VMAC92         filesystem) was not input because SMF92PPL, its length
Jul  6, 2009   field was INPUT from the wrong offset in line 640,
               which now contains
                 If SMF92MPF GT 0 THEN INPUT @SMF92MPF+1
   Thanks to Dan Squillace, SAS Institute Cary, USA.

Change 27.153  Dataset TYP11921 variable NTBTRNBE should have been INPUT
VMAC119        as &PIB.4. instead of &PIB.4.3 since it is a count and is
Jul  5, 2009   note a duration.
   Thanks to Paul Volpi, UHC, USA.

Change 27.152  MXG 27.01-MXG 27.05. DCOLLECT variable UBALLSP is missing
VMACDCOL       always; its INPUT statement was lost when Change 27.034
Jul  2, 2009   updates were made.
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
   Thanks to Isabelle Diagremont, FIDUCIA IT AG, GERMANY.

Change 27.151  XAM TCP record caused INPUT EXCEEDED RECORD LENGTH ERROR.
VMACXAM        A TCPAPP segment with only Segment Name and SEGLEN=8 with
Jul  2, 2009   no data can be created for internal XAM purposes.  Only
               the TCPAPP segment can have these "null segments", so the
               SEGLEN is now tested after the header is INPUT, and the
               segment is NOT output if there is no data.
   Thanks to Chris Morgan, CitiCorp, ENGLAND.

Change 27.150 -MXG 27.05. COPYONLY option of READDB2 didn't work for the
READDB2        ID=102 IFCIDs selection.
Jul  2, 2009
   Thanks to Dan Almagro, Automobile Club of Southern California, USA.

Change 27.149  Labels for Counts of ZIP, IFA, CPs, etc are clarified:
VMAC7072       In  ASUM70PR ASUM70LP TYPE70PR - PER SYSTEM-CEC DATASETs
Jul  1, 2009   and ASUMCEC  ASUMCELP          - PER CEC DATASETS:
                 NRICFCPU='ICF CPUS*AVAILABLE*IN THIS CEC'
                 NRIFACPU='IFA CPUS*AVAILABLE*IN THIS CEC'
                 NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'
                 NRZIPCPU='ZIIP CPUS*AVAILABLE*IN THIS CEC'
               because RMF can see everything in the CEC in the 70PR SMF
               data.
               But the TYPE70 and RMFINTRV DATASETS - PER SYSTEM DATA:
                 NRIFAS  ='IFA CPUS*AVAIL TO*THIS ZOS'
                 NRZIPCPU='ZIIP CPUS*AVAIL TO*THIS ZOS'
                 NRIFACPU='IFA CPUS*AVAIL TO*THIS ZOS'
                 NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'
                 NRCPUS  ='AVERAGE*ONLINE*NON-PARKED*CP ENGINES'
               are not the "hardware" counts, but only the count of the
               engines that this z/OS system can use and knows about.
   Thanks to Scott Wigg, USBank, USA.

Change 27.148  Support for APAR OA29428 adds diagnostic bits that create
VMAC1415       these new MXG variables and labels:
Jun 30, 2009      SMF14TCL='TASK*TERMINATION*CLOSED*THE DCB?'
                  SMF14ABD='TASK IS*TERMINATIONG*TCBFA*IS ON?'
               MXG Variables whose label ends with a question mark are
               one byte character variables whose value will be 'Y' if
               true, and should be blank if not true (although some old
               variables might contain 'N' for false).
               The APAR text states:
                  For debugging purposes, customers need to know if a
                  dataset has either been closed by a program or RTM
                  cleanup processing.  The SMF records (types 14 or 15)
                  do not currently provide a way to identify this
                  information.  The addition of flag(s) are required to
                  indicate normal versus abnormal CLOSE. One methodology
                  that can add this information is to add a bit to
                  indicate that task termination closed the dcb and add
                  a second bit to indicate whether or not the task is
                  abending.

Change 27.147 -MXG ANALZPCR didn't expand variable SCP to 10 bytes so
ANALZPCR       z/OS 1.10 was not correctly set in the external study
Jun 30, 2009   file.
              -MXG incorrectly set SCP from MVSLEVEL to be the same as
               the MVSLEVEL of the TYPE70 that wrote the record, instead
               instead of using the SMF70STN from each LPAR to define
               that system's SCP.  Now, TYPE70 is read to create the new
               $TEMPSTN format, mapping SYSTEM to MVSLEVEL, and then
               SMF70STN value in TYPE70PR is looked up to set MVSLEVEL.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 27.146  These OMCI datasets built by TYPE112
VMAC112          T112ADA  T112ADAT T112DLI  T112DLIT T112IDMT T112IDMS
Jun 30, 2009     T112VSAM T112VSAT T112SUPR T112SUPT T112DTCO T112DTCT
               did not keep variables OMCIJOB OMGAPPL OMSAPPL.
   Thanks to Richard Schwartz, State Street Bank, USA.

====== Changes thru 27.145 were in MXG 27.05 dated JUN 29, 2009========

Change 27.145  Support for TMON for MQ record "QA" (APPLICATION STATS)
EXTMQQA        creates two new datasets, TMMQQA and TMMQQAA.  All of the
EXTMQQAA       QAxxxxx variables with TIME12.2 format are guesses as to
IMACTMMQ       their internal format, and TMON reports for validation
VMACTMMQ       weren't available when MXG 27.05 was ready; please check
VMXGINIT       with support@mxg.com for any updates prior to using those
Jun 26, 2009   variables in these two new datasets.
Jul  1, 2009   Jul 1: QA record's 32 Latch Class times/counts created.
   Thanks to Paul Volpi, UHC, USA.

Change 27.144  New documentation member ADOCRMFR tabulates the name of
ADOCRMFR       each MXG variable that is printed in IBM RMF reports.
Jun 26, 2009
   Thanks to George Canning, Produban, ENGLAND.

Change 27.143  Variable REDIRECT in PRPR1010 dataset contains text, in
VMACPRPR       spite of the documentation that it is a numeric field.
Jun 26, 2009   Previous test data had blanks.  Now INFORMAT $16.
   Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.

Change 27.142  Using the %VMXGPRAL utility to print SUSE datasets caused
VMXGPRNT       errors because of the long-length-variable-names in SUSE,
Jun 26, 2009   and the need for LRECL=255 on the temporary FILENAME.
   Thanks to James J. Flanagan, ISO, USA.

Change 27.141  Variables R792FLG and R792FLG2 are now kept in TYPE792.
VMAC79
Jun 25, 2009
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 27.140  Change 27.062 incorrectly input S42DSRDD/S42DSRDT as &RB
VMAC42         but the fields are &PIB format.
Jun 25, 2009
   Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.

Change 27.139  Line 1024 should be  BO  SCANLOOP  Y. TRY ANOTHER VOLUME
ASMVTOC        instead of BZ. This caused no volumes to be returned when
Jun 22, 2009   SELECT vol1 vol2 .. was used.
   Thanks to Paul Gillis, Pacific Systems Management Pty Ltd, AUSTRALIA.

Change 27.138 -z/OS 1.10 SMF 85 OAM record INPUT EXCEEDED RECORD ERROR.
VMAC85         MXG Version/Release/ModLevel variable R85PRVM='1*0' was
Jun 18, 2009   created as it didn't expect a 2-digit Release Number.
Jul 17, 2009   Fortunately, R85PRVM is not kept so it was expanded to
               now supports 2 digit Version so '1100' is GT '1 30'.
              -TYPE85AC dataset. New variables
                R85STY='RECORD SUBTYPE'.
                R85STOK ='OSREQ*STOKEN'
                R85RC2  ='OSREQ*RETURN*CODE*TWO'
              -Subtypes 8 thru 10 now are also output to TYPE85AC.
              -But the R85PRVM value is not consistent.  These values
               are found in my past test data files:
                 1999  1. 4.0
                 2003  1. 3.0
                 2003  2.10.0
                 2007  1. 8.0
                 2009  1.10.0
              -Jul 17: New variables added to TYPE85ST dataset:
                 R85PUDK ='BYTES*DELETED*TAPE*SUBLEVEL 2*/
                 R85PUDO ='PRIMARY*OBJECTS*DELETED*TAPE*SUBLEVEL 2'
                 R85PURK ='BYTES*READ*TAPE*SUBLEVEL 2'
                 R85PURO ='PRIMARY*OBJECTS*READ*TAPE*SUBLEVEL 2'
                 R85PUWK ='BYTES*WRITTEN*TAPE*SUBLEVEL 2'
                 R85PUWO ='PRIMARY*OBJECTS*WRITTEN*TAPE*SUBLEVEL 2'
              -Corrections to handling of subtype 78,79,and 88 for
               test data from versions 1100, 1 30, and 1 40.
   Thanks to Joachim Sarkoschitz, DATEV eG, GERMANY.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 27.137  Analysis of interval zIIP usage by JOB/PROGRAM/etc using
ANALZIPU       PDB.SMFINTRV.  You define the ZIPGROUP variable to group
Jun 18, 2009   that is then summed for each interval, and the percentage
               of total zip usage by that ZIPGROUP for that interval is
               calculated.  The analysis does demand that your SMF 30
               data is synchronized.
   Thanks to David Carr, Blue Cross Blue Shield of Kansas, USA.

Change 27.136  Unused Change.

Change 27.135  The (VERY OLD) ANALRMFI example's selection criteria had
ANALRMFI       test for a series of variables ANDed to be GE 0, but some
Jun 17, 2009   of the variables are, now, always missing (logical swaps)
               causing nothing to be selected.  The WHERE clause tests
               now are ORed, and always-missing variables were removed.
               However, like all ANALxxxx report examples, this is only
               an example, as a starting report to be tailored into your
               very own report, if the report is of interest.
   Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.

Change 27.134  Further support for IBM i, i5/OS, iSeries, or AS400 V6R1
EXQAPHDW       (to include all old and new names of these products).
IMACQACS       New dataset created:
VMACQACS      -QAPMHDWR  Hardware Configuration
VMXGINIT       Existing datasets updated:
Jun 17, 2009  -QAPMBUS - BUIOPB increased from 2 to 3 bytes.
Jun 18, 2009  -QAPMJOBM- New variables added:
                  JBJTHDT ='JVM*THREAD*TYPE'
                  JBJVMF  ='JVM*STARTED'
                  JBJVMT  ='JVM*TYPE'
                  JBMDYR  ='FILE*SYSTEM*DIRECTORY*READS'
                  JBMLCH  ='FILE*SYSTEM*LOOKUP*CACHE HITS'
                  JBMLCM  ='FILE*SYSTEM*LOOKUP*CACHE MISSES'
                  JBMNDC  ='FILE*SYSTEM*NON-DIR*CREATE*OPS'
                  JBMNDD  ='FILE*SYSTEM*NON-DIR*DELETE*OPS'
                  JBMOPN  ='FILE*SYSTEM*OPEN*OPERATIONS'
                  JBMSLR  ='FILE*SYSTEM*SYMBOLIC*LINK READS'
                  JBPASE  ='I5/OS*PASE*RUNTIME*ACTIVE'
                  JBPGRL  ='PAGE*FRAMES*RELEASED'
                  JBPGRQ  ='PAGE*FRAMES*REQUESTED'
                  JBSCPU  ='SCALED*CPU*MICROSECONDS'
                  JBSTCPU ='TOTAL*SCALED*JOB*CPU'
                There were also a number of fields labeled RESERVED that
                are INPUT and kept, in case they become populated.
              -QAPMSYST  New variables added:
                  SYSIUL  ='USER*AUTHORIZATIONS*AVAILABLE'
                  SYSCIU  ='USER*AUTHORIZATIONS*NEEDED'
   Thanks to Clayton Buck, UniGroup, USA.

Change 27.133  Variable CFBUSYTO is created in TYPE74CF as the sum of
VMAC74         all CF engine busy time (CFBUSY01-CFBUSY16).
Jun 16, 2009

Change 27.132  DB2 V8 IFCID=22 Record with truncated name fields caused
VMAC102        INPUT STATEMENT EXCEEDED RECORD LENGTH some of the time.
Jun 16, 2009  -MXG 27.05 was still wrong for some cases; Jul 2 revision
Jul  2, 2009   with tested with both V8 and V9, but the V8 records do
               not exactly agree with the V8.1 DSECTS, so counters were
               added to ensure alignment (I hope!).
   Thanks to Tom Buie, Southern California Edison, USA.

Change 27.131  Enhancements to DB2PM-like STATISTICS LONG report have
ANALDB2R       caused updates to create/correct needed DB2 variables:
ASUMDBSS      -Variables QWHADSGN,QWHAMEMN kept in all DB2ACCTx/DB2STATx
READDB2        datasets, as they are in the header of all DB2PM reports.
TRNDDBSS      -Variables QDSTQMIT QTMAXPB QDSTQIN2 QBSTXIS QTGSPEMX
VMAC102        QXMAXDEG QXSTXMLV QXSTLOBV
VMACDB2        were DIF()'d but they do not contain accumulated values.
Jun 26, 2009  -Variables QDSTQIN2 QTPACOW1 QTPACOW2
               were NOT DIF()'d, now are, contain accumulated values.
              -Variables QTGACSLM QTGALSLM QTGAUSLM QTGSCSLM QTGSLSLM
               and QTGSUSLM are actually spelled QTG..LSM in DB2 DSECT,
               but once named in MXG there only pain and anguish if I
               rename a variable, and these aren't important enough to
               have me create correctly spelled duplicate variables.
              -T102S106 System Parameters dataset was updated with these
               new variables added for V8 and V9:
                  QWP1ACCU QWP1ACID QWP1CDB  QWP1IDBP QWP1IXPX QWP1IXQT
                  QWP1LVA  QWP1LVS  QWP1LWCK QWP1MOFR QWP1RLFA QWP1SYFL
                  QWP1SYMV QWP1TP16 QWP1TP32 QWP1TP8  QWP1TPLB QWP1TPXM
                  QWP1TSQT QWP1WLME QWP1XVA  QWP1XVS
                  QWP4APS  QWP4FRLC QWP4IAST QWP4MIS6 QWP4MS4C QWP4MXAB
                  QWP4MXDC QWP4NUPT QWP4PMGT QWP4RSDC QWP4RSMT QWP4SKLC
                  QWP4SRTN QWP4WFAL
                  QWP5DCYC QWP5DLOK QWP5FLG  QWP5HASH QWP5MCSA QWP5PHSH
                  QWP5RLE  QWP5TVAL
                  QWP9TCKA QWP9INAC
                  QWPBAPSC QWPBDB2S QWPBDDRM QWPBLCTP QWPBLNM QWPBNUFN
                  QWPBPADN QWPBUGID QWPBUMID QWPBUSID
              -New ASUMDBSS Statistics Summarization summarizes:
                 Default INPUT dataset      Default OUTPUT dataset
                  PDB.DB2STATS               PDB.ASUMDBSS
                  PDB.DB2STATB               PDB.ASUMDBBS
                  PDB.DB2GBPST               PDB.ASUMDBSG
               The new ASUMDBSS eliminates the need for old ASUMDBSB as
               only ASUMDBSS is needed to create all three stat ASUMs.
              -New TRNDDBSS Statistics Summarization summarizes:
                 Default INPUT dataset      Default OUTPUT dataset
                  WEEK.ASUMDBSS              TREND.TRNDDBSS
                  WEEK.ASUMDBBS              TREND.TRNDDBBS
                  WEEK.ASUMDBSG              TREND.TRNDDBSG
               The new TRNDDBSS eliminates the need for old TRNDDB2S and
               TRNDDB2X, as TRNDDBSS creates all three stat TRNDs.
               If you are currently using TRNDDB2S or TRNDDB2X, read the
               comments in TRNDDBSS with the one-time migration example.
              -Statistics reports can be selected by DB2 subsystem
               (QWHSSSID), local location (QWHSLOCN), BEGIN and END time
               using the DB2 DB2LOCAL BEGTIME and ENDTIME parameters.
              -READDB2 revised with new parameter RUNASUMS, default NO.
               Set RUNASUMS= interval desired (HOUR/DATE/WEEK/etc.) and
               the ASUMDB2S will create the statistics summary datasets
               in PDBOUT library.
              -ANALDB2R these reports have been brought up to date with
               DB2 Performance Expert/Performance Monitor documentation:
                PMACC01/PMACC03=Accounting short report
                PMSTA01/PMSTA03=Statistics long reports
                PMSTA02/PMSTA04=Statistics short reports
                PMSPR01=System Parameter Report
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 27.130  These variables for dataset QAPLPAR
VMACQACS         LPCAP    LPAVL    LPBSY    LPRSP    LPRDS    LPWRTS
Jun 15, 2009     LPDISK   LPMEM
               were INPUT but not kept.
   Thanks to David Bixler, FISERV, USA.

Change 27.129  Support for changes to CONTROL-D TYPE C User SMF record.
VMACCTLL       Eight LOGCODE values have existing JOBNAME RECIPIENT and
Jun 15, 2009   REPORT variables in different locations, plus two new
               ACTIONCT and VALUESCT variables.
   Thanks to Josep Miquel, La Caixa, SPAIN.

Change 27.128  Change 27.046 made major update to EDGHSKP type D,V,X but
VMACEDGR       invalid syntax of 'GT . GT . ' was not detected, causing
Jun 12, 2009   MANY datetime variables to have missing values.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.

Change 27.127  Support for CONTROLT for "daily dataset" billing, and
DAILYDSC       other "DAILYDSN" job enhancements:
DAILYDSN      -New DAILYDSC created for CONTROLT.
DAILYDSR      -DAILYDSR modified to handle SPACE6 DAYS6 (bytes on
IMACVTS        virtual and days)
JCLDAYDS      -DAILYDSN modified to handle SPACE6 DAYS6 and to use the
Jun 11, 2009   same constructs as DAILYDSC overriding the _L for the
               output TMS datasets to send them to the DATASETS LIB.
              -IMACVTS used by all of the above to set a variable
               VIRTREAL to REAL or VIRT.  Comments on usage in member.
               Default is REAL.
              -JCLDAYDS modified to add a CTLT step
   Thanks to Chuck Hopf, Independent Consultant, USA.

Change 27.126  zVM Velocity Software variable SYTLPNAM/LCPUNAME is no
VMACXAM        longer kept in dataset XAMSYU, which has an observation
Jun 11, 2009   with the LPAR management time for each hardware Engine,
               and is not a per-LPAR dataset.  MXG had incorrectly kept
               SYTLPNAM from the last SYTCUP segment.
   Thanks to Douglas C. Walter, Citigroup, USA.

Change 27.125 -DB2 V8 Only, DB2STATS variables QISESKCT, QISESKPT were
VMACDB2        zero in SMF 100 subtype 1 records with LENQISE=148 bytes.
Jun 10, 2009   The QISE V8 DSECT was 96 bytes, ending at QISECFRE. In V9
               QISE increased to 148 bytes.  MXG tested length to input
               new fields, so when a DB2 V8 record LEN=148 was read, the
               new fields were input. However, in V9 IBM relocated the
               two SKCT/SKPT fields into the first 8 bytes of the new
               data, but this V8 record has zeros there, and the two
               original field locations contain the number of SKCT and
               SKPT pages.  The MXG Logic continues to read new fields
                 QISEKFAL QISEKPGE QISEKFRE QISECTA QISEKTA
                 QISESFAL QISESPGE QISESFRE QISEKNFM QISEKNFA
                 QISEKNFR
               with LEN=148 records, but no longer replaces the already
               QISESKCT or QISESKPT values if the record is from V8.
              -The MERGE of TEMPSTAT (ST0+ST1) and DB2STAT4/T102S225
               now outputs PDB.DB2STATS if TEMPSTAT obs exist; Change
               27.097 incorrectly also output unmatched 225s, including
               the initial IFCID=225 for each subsystem, which has no
               no matching ST0+ST1 observation.  If only 225's exist,
               then PDB.DB2STATS will have no observations, but the 225s
               data will still be found in DB2STAT4 and T102S225.
              -Change 27.097 incorrectly kept QWHSSTCK in PDB.DB2STATS;
               BEGTIME ENDTIME are the datetime variables.
   Thanks to John Shuck, SunTrust, USA.
   Thanks to Chuck Hopf, Independent Consultant, USA

Change 27.124  "WARNING: Apparent invocation of macro TRIM not resolved"
VMXGOPTR       is serious, but ONLY happens if your //SASAUTOS does not
Jun  9, 2009   include the SAS-supplied AUTOCALL library, or if your
               CONFIGVx in use doesn't have this required statement
                  OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS);
               because %TRIM() is delivered by SAS as a %MACRO in their
               AUTOCALL library.  Previously, only a few ANALxxxx used
               %TRIM(), but in MXG 27.04, it was added to %VMXGOPTR by
               Change 27.092, and %VMXGOPTR is used throughout MXG, so
               several sites with defective SASAUTO allocations failed
               when they installed MXG 27.04 (but they would have failed
               earlier if they had used any of those ANALxxxx's!).  But
               with closer examination, we have eliminated the need for
               the %TRIM() use in %VMXGOPTR, as the string is already
               aligned, so I've removed the recently-added %TRIM() from
               VMXGOPTR in this change.
               Note: Change 27.278 also documents that %TRIM macro will
               not be found if you have chanced MXG's S2=0 option to any
               other non-zero value.

Change 27.123 -ASUMCEC dataset with an IFL still had missing values in
VMXG70PR       CPCFNAME CPCMSU NRPHYCPS PARTNCPU PCTCPUBY PCTOVHD PCTPOV
Jun  7, 2009   variables, and wrong values in these variables:
Jun  9, 2009     IFACPUS  IFAUPTM  ZIPCPUS  ZIPUPTM
               even after Change 27.102 claimed to correct that error.
               The problem only occurs if you have an IFL LPARs that is
               also the highest numbered LPARNUM.
               Change 27.076 added the support for IFL LPARs to ASUM70PR
               output datasets; new observations are created for each
               IFL LPARNAME in the two LPAR-specific datasets ASUM70LP
               and ASUMCELP, but these new obs only populate only these
               IFL resource variables
                 IFLACTTM IFLCPUS IFLUPTM IFLWSTTM PCTIFLBY
               populated. All of the resource variables for the other
               engine types (CP,ICF,ZIP,IFA) will have missing values in
               the IFL observations.  Those missing values were then
               inadvertently propagated into the CEC-interval ASUMCEC
               dataset.  Several data step's sort order and logic were
               revised to correct the error.
   Thanks to Clayton Buck, UniGroup, USA.

Change 27.122 -Support for APAR OA26832 (increased Service Units field
VMAC30         from 4 to 8 bytes), is needed now, thanks to IBM, because
Jun  7, 2009   z/OS SYSTEMS NEVER FAIL: we now have long-running-tasks
Text revised   where long is measured in months, and whose 4-byte fields
Jun 30, 2009   can fill and wrap, truncating those service unit values.
               But Service Units are NOT used to calculate any normal
               MXG CPU Time variables in TYPE30 data; those CPU times
               are read directly from the SMF 30 record, except for the
               MXG-only variable SRVTCBTM, the TCB CPU time calculated
               from CPUUNITS, added so CPUTCBTM and SRVTCBTM could be
               compared to see if using Service-Unit-Based CPU time had
               more resolution than the recorded CPU time.  Except for
               wrapping, I saw VERY little difference between the
               CPUTCBTM and the SRVTCBTM when SRVTCBTM was added in MXG.
              -Variable SMF30INV has bits for each of the six fields set
               if the 4-byte service unit field had wrapped.
              -These IBM named fields are cited in the APAR:
                 SMF30SRV SMF30CSU SMF30SRB SMF30IO SMF30MSO SMF30ESU
               and their corresponding MXG variables are these:
                 SERVUNIT CPUUNITS SRBUNITS IOUNITS MSOUNITS ENCLCPSU
               in all of the TYPE30 datasets.

Change 27.121  In Change 27.078 I caused assembly errors
ASMIMSL6        ASMA034E Operand WTOAREA beyond active USING by 61 bytes
Jun  6, 2009   when I added messages for the new log record, proving I
               am NOT an ASM programmer; shortening the message text did
               circumvent the error, but this correction has been made
               by "asmguy@mxg.com" who speaks that language for me.
   Thanks to Mark Van Der Eynden, HP, AUSTRALIA.

Change 27.120  Support for RMF III z/OS 1.10 new ASI fields (INCOMPAT).
VMACRMFV       These variables are now INPUT/KEPT, but as they were
Jun  5, 2009   inserted (rather than appended) to the ASI record, other
               ASI variables will be trashed without this change.
                 ASILVNMO='PRIVATE*MEMOBJ*ALLOCATED'
                 ASIHVCOM='64-BIT*COMMON*MEMOBJ*ALLOCATED'
                 ASILVSHR='SHARED*MEMOBJ*ALLOCATED'
                 ASILVABY='PRIVATE*MEMOBJ*BYTES*ALLOCATED'
                 ASIHVCBY='COMMON*STORAGE*BYTES*ALLOCATED'
                 ASILVSBY='SHARED*MEMOBJ*BYTES*ALLOCATED'
                 ASIHVVBY='HWM*64-BIT*COMMON*BYTES*ALLOCATED'
                 ASILVMEM='ADDRESS*SPACE*LIMIT*IN MB'
   Thanks to Rodger Foreman, Acxiom, USA.

Change 27.119  Documentation. A BUILDPDB SPIN library created on z/OS
BUILDPDB       can be PROC CIMPORT copied to an ASCII system, but you
SPIN           then must sort SPIN datasets (to change the z/OS EBCDIC
Jun  4, 2009   sort order to match the ASCII sort order) before you can
               use that SPIN library with BUILDPDB.
                The required SORT statements are:
                  PROC SORT DATA=SPIN.SPIN30_1;
                   BY READTIME JOB JESNR JINTIME;
                  PROC SORT DATA=SPIN.SPIN30_4;
                   BY READTIME JOB JESNR TERMTIME;
                  PROC SORT DATA=SPIN.SPIN30_5;
                   BY READTIME JOB JESNR DESCENDING JTRMTIME;
                  PROC SORT DATA=SPIN.SPIN26;
                   BY READTIME JOB JESNR JPURTIME;

Change 27.118 -Cosmetic.  DDs with DEVCLASS='00'x now have DEVICE='00X'
VMACUCB        instead of DEVICE='OTHER'.  These values occur for SYSIN,
VMAC30         SYSOUT and other JES-owned DDs that don't have actual
Jun  3, 2009   allocations.  Now, 'OTHER' really is "other".
              -Dataset TYPE30_D now has DEVCLASS and DEVTYPE kept, just
               in case you get "other" values and need to know them.
   Thanks to Kim Westcott, New York State OFT, USA.

Change 27.117  MXG 27.03-27.04.  Change 27.071 introduced an extraneous
TRNDDB2A       %;  in line 44 that is now removed.
Jun  3, 2009
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 27.116  Type 14/15 records with a non-zero BLKSIZE (from JFCB, in
VMAC1415       record bytes 167-168), but with a Subtype=5 "Additional
Jun  3, 2009   Data Set Characteristics Section" with SMF14BFG='C0'X,
               (indicates that the SMF14LBS blocksize field is valid),
               have SMF14LBS=0, and MXG logic replaced BLKSIZE with the
               newer SMF14LBS with SMF14BFG='1.......'B.  The MXG logic
               is revised to use MAX(BLKSIZE,SMF14LBS) if the SMF14BFG
               bit is on, but this seems to be an APARable IBM problem.
               Originally, 23173 obs had BLKSIZE=0, but after the change
               there were only 1186 TYPE1415 obs with BLKSIZE=0.
   Thanks to David Shaw, M&T Bank, USA.

Change 27.115  Using TIMETABL to SYNC59 individual systems with a value
VMXGTIME       in column 71 also required you to %LET MXGTIM59=YES, but
Jun  3, 2009   that is redundant and is now removed; the value found in
               71-72 is always used (0, blank, 1, or other minutes).

====== Changes thru 27.114 were in MXG 27.04A dated Jun  2, 2009========

Change 27.114  MXG programs that are "TAPE-aware" test the "PDB" DD for
ANALDB2R       its device type of tape to avoid multiple mount/rewinds,
VMXGTAPE       but they only were tested with JCL allocation.  If the
Jun  5, 2009   the tape "PDB" is allocated by a LIBNAME statement it may
               fail with "ERROR: NO LOGICAL ASSIGN FOR filename ddname".
               MXG's algorithm to identify a LIBNAME as a tape device
               CLEARs the LIBNAME and re-opens it as a FILENAME; a CLEAR
               is required to change libref from a LIBNAME to FILENAME,
               but a CLEAR unallocates the libref from the library, and
               a subsequent reference (to read it) caused the ERROR.
               But by moving %VGETENG to first test the "ddname" for its
               device type, if we get the device type back, then that
               ddname was OPENed, either by a prior use, or because it
               was allocated by a LIBNAME statement, and we're done,
               since we have the device type.  But if %VGETENG returns
               "UNKNOWN" for device type, then we know that library was
               JCL-allocated and was not OPEN, so we could safely CLEAR
               the LIBNAME and open as FILENAME open with a FILENAME and
               still get back to the LIBNAME.  But, because the LIBNAME
               has NOT been OPENed, we really don't need to CLEAR it
               before opening it as a FILENAME, so FILENAME ... CLEAR is
               now removed from these members.

               The CLEAR is still required to switch the other way, from
               a FILENAME to a LIBNAME, so a DD name allocation rather
               than a LIBNAME allocation may be required.  For example,
               this ERROR will also occur with the WEEK/MONTH builds if
               you use the TAPETEMP option, and if you try to allocate
               TAPETEMP with a LIBNAME statement.  There is no possible
               circumvention, as we must, by design, issue the CLEAR, so
               you must use a DD statement rather than a LIBNAME.
   Thanks to Brian A. Harvey, HCL America, USA.

Change 27.113  OMCI INTR Subtype 200 RECSUBTY 4 segments are 58 bytes in
VMACOMCI       length; MXG code guessed 53 bytes (and noted "UNTESTED").
Jun  1, 2009   The guess caused INPUT STATEMENT EXCEEDED error.
   Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.

Change 27.112  VMXGALOC only correctly allocated weekly PDBs datasets if
VMXGALOC       you were using Week-To-Date logic, and if FIRSTRUN=YES,
BLDSMPDB       the TREND datasets were not correctly allocated.
May 31, 2009
Jun 11, 2009   BLDSMPDB did not protect for no datasets in the PDB for
               WEEKLY processing, and did not end a loop after all of
               the datasets were processed, causing in a failed SUBSTR
               function ERROR.  The loop logic now runs only if datasets
               exist in the input, and then only for the number of them.
   Thanks to Gary Havlatka, Creative Automation, USA.

Change 27.111  Support for multiple TMS/CA-1 catalogs creates IHDRTMS5
IHDRTMS5       exit, adds &TMSJFCB FILENAME=INFILENM &TMSEOV options to
TYPETMS5       the INFILE TMC statement, creates new TMSLIB and TMSDATE
TYPSTMS5       variables, now inserted into the sort BY list used:
VMACTMS5        BY ZDATE TMSLIB TMSDATE VOLSER ....
VMXGINIT       and, in the example code in IHDRTMS5, show how you can
May 31, 2009   populate TMSLIB by parsing the DSNAME of each TMC infile,
               and how to populate TMSDATE with the Create Date from the
               JFCB of each infile.
              -The location of the INFILE, IMACZDAT, and IHDRTMS5 was
               moved into the MACRO _CDETMS macro definition in VMACTMS,
               to match the expected sequence of those exits.
              -New macro variable MACTMSH is created for "instream" code
               alternative for the IHDRTMS5 header exit.
              -New macro variable TMSJFCB=JFCB=TMSJFCB ; is set ONLY if
               if MXG is executing under z/OS, where JFCB= exists.
              -New macro variable TMSEOV=EOV=TMSEOV  ; is now set ONLY
               if MXG is executing under SAS, as WPS JFCB= exists.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 27.110 -I. MXG 27.05 execution tests with WPS 2.3.5 under ASCII:
DOC            Summary:  Most MXG programs execute under WPS error-free.
Jun  5, 2009
AUTOEXEW       This program that creates MXG datasets cannot be used:
MXGWPSV2        TYPESVC  - DS8000 Disk SAN Volume Controller XML record;
READDB2                     WPS does not support NAMED INPUT.
UTILXRF1
TYPELSAR       This program that creates MXG datasets bypasses a new MXG
VMACNMON       feature when executed under WPS:
VMXGINIT        TYPETMS5 - CA-1/TMS Catalog support for multiple TMC's:
Jul  4, 2009               Added in Change 27.111, the INFILE EOV option
                           (that allowed concatenation recognition so
                           multiple catalogs could be concatenated) is
                           not supported, so &MXGEOV is blank with WPS.

               These report example programs use features not in WPS:
                 ANALCISH - ALL report - PROC SQL run time.
                 ANAL80A  - PROC REPORT.
                 ANALAVAL - PROC CALENDAR.
                 ANALPATH - OVERPRINT option PUT statement.
                 UTILXRF1 - TRANSCODE attribute in DICTIONARY.COLUMNS
                 UTILXRF1 - VALIDVARNAME=UPCASE.
              -The below were previously listed here as not usable, but
               the inhibiting feature is now supported:
                 ANALMPL  - PROC PLOT VREVERSE,VPOS options not there.
                 ANALTAPE - PROC PLOT VREVERSE,VPOS options not there.
                 SASAUTOS - Warning not assigned, macros empty
              -The HBAR option of PROC CHART is now supported, so these
               members are now reinstated in the WPS QA tests:
                 ANALCICS ANALMONI ANALPRNT ANALSMF
              -WPS 2.3.5 does not support SAS "NAMED INPUT" syntax, used
               in TYPESVC Open Systems DS8000 Disk SAN Volume Controller
               support.  The NAMED INPUT syntax has always been in SAS:
                 INPUT FIELD1= FIELD2= ;
               and is used to read data records that have
                 field1=value1 field2=value2
               but it wasn't needed in MXG until this pseudo-XML data
               file was supported last November.
              -WPS 2.3.5 does not support the EOV= option on the INFILE
               statement, newly needed for Change 27.111 to support read
               of multiple TMC libraries in TYPETMS5.
              -WPS 2.3.5, like 2.2, doesn't support OPTION VALIDVARNAME.
               Change 25.025 removed VALIDVARNAME=V7 from WPS CONFIGW2,
               because the V7 function, to permit long variable names,
               was the default in WPS.  But now, in MXG's UTILXRF1, used
               to create the DOCVER documentation, I needed to set SAS
               option VALIDVARNAME=UPCASE so the variable names out of
               the PROC CONTENTS were upper case, which causes WPS 2.3.5
               to fail with
                ERROR: System option "VALIDVARNAME" is not known.
              -WPS 2.3.5 doesn't support TRANSCODE attribute in the
               DICTIONARY.COLUMNS dataset, used only in UTILXRF1 to
               create the DOCVER documentation.  The TRANSCODE attribute
               is new in MXG and only exists in SAS v9, so MXG did not
               execute the &MXGNOTRA when under WPS due to the SASVER=8
               that is set when MXG executes under WPS, but this usage
               is now also circumvented so the rest of the UTILXRF1 can
               be tested under WPS.
              -WPS 2.3.5 SASAUTOS library has no members, which caused a
               minor WARNING: SASAUTOS IS NOT ASSIGNED.  VMXGINIT issues
               LIBNAME SASAUTOS LIST; to list the concatenates, but that
               statement is now conditionally not-executed with WPS to
               eliminate that harmless WARNING message on the log.
               With SAS, the SASAUTOS library is required because %TRIM
               is delivered as a source-code %MACRO in the SASAUTOS PDS,
               but WPS implemented %TRIM internally, so MXG doesn't need
               to point to SASAUTOS FILENAME under WPS.
                 NOTE: While FILENAME SASAUTOS is NOT required with WPS,
                       MXG under WPS still requires the
                         OPTIONS MAUTOSOURCE SASAUTOS=SOURCLIB;
                       executed in VMXGINIT, so that WPS will look in
                       //SOURCLIB to resolve all %MACRO references.
               So all references to SASAUTOS FILENAME in the MXGWPSV2
               JCL Procedure example and in the AUTOEXEW ASCII autoexec
               file were removed.  Just for documentation, the WPS .CFG
               file has the default  -SASAUTOS \&wpsroot\macros.
              -The COUNTW() function, added to TYPENMON in Change 27.080
               only exists with SAS V9, so TYPENMON failed with either
               SAS V8.2 or WPS 2.3.5.  NMON code was modified to only
               use COUNTW() if under V9; a DO LOOP to count the commas
               is used when not under SAS V9; same change in TYPELSAR.
              -New dataset names "WORK._temp1559410888854220" structure
               are created internally by PROC TRANSPOSE.
              -Circumvented in READDB2.  WPS %Macro Compiler does not
               resolve triple-percent-signs the same way that SAS does,
               which caused WPS to die with a compiler error in READDB2.
               but, all READDB2 %%% and %% tokens are end-delimiters for
               old-style-macro-definitions, and, most fortunately, they
               are no longer required (the problem they circumvented was
               fixed in SAS long ago), so they could be replaced with a
               single percent sign in READDB2.  (There are still cases
               when %%% is required in other MXG members, often before
               an embedded %INCLUDE statement, but WPS handles those
               without error.)
              -Fixed in WPS Build 12169:
               WPS 2.3.5 failed when a FILENAME with concatenated input
               files was read; the RECFM/LRECL on the FILENAME statement
               was not honored and a STOPOVER resulted when the system
               default of V/256 was used for F/340 data.  This WPS error
               when files are concatenated is fixed in WPS Build 12169.

              -Run Time Comparisons on Windows, zero observations input:

               MXG QA's first 36 "steps" create all 4700 MXG datasets in
               the LIBNAME VERSvvrr, and run times were comparable, with
               SAS V9.2 taking 10 min and WPS 2.3.5 taking 13 minutes.

               But Step 47 TESTANAL, took over 80 Minutes (vs 2 for SAS)
               due to a WPS error in its PROC SQL, BUT, an error that is
               ONLY likely to occur in MXG's QA tests. MXG's %VGETOBS is
               invoked frequently in ANALxxxx examples, to test if a
               dataset exists and if it has observations, and it uses
                 PROC SQL: SELECT FROM DICTIONARY.TABLES
                           WHERE  LIBNAME= MEMNAME=;
               The (internal) DICTIONARY.TABLES dataset has one obs for
               each dataset in each LIBNAME.  The MXG QA TESTANAL step
               allocates the 37 different LIBNAMES (PDB, WEEK1-WEEK5,
               MONTH1-MONTH5, etc) that may needed by ANALxxxx programs
               to that VERSvvrr directory with its 4700 datasets. So,
               there are 37*4,700=173,900 datasets in DICTIONARY.TABLES,
               which overwhelms the defective WPS PROC SQL; each execute
               takes over 90 SECONDS of CPU and Elapsed time.  WPS has
               identified their PROC SQL error and it will eventually be
               fixed.

               In addition to the long run time of the QA job due to the
               PROC SQL error, the QAWPSXX job has never completed.  It
               gets to the TESTANAL code, and then in ANAL115 it just
               hangs, continuing to execute, using CPU time, but with no
               further log messages, and the last message was a %VGETOBS
               PROC SQL execution. Skipping ANAL115 allowed the TESTANAL
               to get to ANALDB2R before it again hung, and again that
               last message was a PROC SQL execution.  But since each of
               the ANALxxxx programs execute standalone, this too is an
               error unlikely to occur outside the MXG QA test runs.


               II. Z/OS Specific Tests, unresolved as of July 4, 2009:

              -The Large ARRAY(256,512) problem in VMXGGETM that was
               fixed in WPS 2.3.4 (WPS Error #6276, Change 26.258)
               has shown up again in WPS 2.3.5. UTILGETM is only used
               in the MXG Test Jobs, to create a small SMF file with
               a few records of each type and subtype, so this is not a
               fatal error for normal execution.

              -In the QA job only, after many data steps were run and
               many datasteps had been written to the PDB library, the
               BUILDPD3 step job failed with "PDB LIBRARY CORRUPTED"
               error message.  However, since the BUILDPD3 program runs
               fine when outside of the QA job, this is most likely an
               issue with WPS "PROC SQL".

               III. Miscellaneous

              -The //LOGCFG DD is no longer used by WPS, so it is now
               removed from MXGWPSV2 JCL Procedure example.

Change 27.109  QA COMPALL program found character to numeric conversion
VMACLDMS       for not-kept-variable SEGMENT in VMACICE and VMACXPTR and
VMACXPTR       for not-kept-variable LDMSTYPE in VMACLDMS, both fixed.
May 29, 2009   The COMPALL program compiles ALL of the MXG code members
               that read SMF records, in a single (MASSIVE) DATA step to
               create 1907 datasets, all with zero observations because
               the INFILE SMF is a zero-length or DD DUMMY file.
               So COMPALL is also a good SAS compiler stress test.
               Last year, Change 26.217 compared COMPALL with SAS 9.1.3
               and WPS 2.2, but the z/OS comparison was wrong.
               Now with MXG 27.04, which creates 1907 datasets and more
               variables, and now using WPS 2.3.5, SAS 9.2 and SAS 9.1.3
               these comparisons are observed:

                  Compiler    Platform    Run Time      Memory Required

                  SAS 9.2      Win/XP       96 seconds     1185 MB
                  SAS 9.1.3    Win/XP       86 seconds     1158 MB
                  WPS 2.3.5    Win/XP      101 seconds     not reported

                  SAS 9.2      z/OS          7 minutes     1210 MB
                  SAS 9.1.3    z/OS         12 minutes     1194 MB
                  WPS 2.3.5    z/OS         17 minutes     1037 MB

               Enabling the full diagnostic options to print all source
               only increased the SAS V9.2 WIN/XP run time by 6 seconds.

Change 27.108  &NULLPDS, &LOAD, &SASAUTOS JCL Symbolics in MXG JCL Proc
MXGSAS         examples are removed. They were never required, rarely
MXGSAS92       used, and then, only in ancient releases of SAS.  And now
MXGSASV9       have caused JCL errors when very old and more recent JCL
MXGSASV8       procs are used in the same job. such as this error:
May 27, 2009      IEC143I 213-04,IFG0194D,M577FPA1,SASMXG,STEPLIB
MXGWPSV2       Their only purpose was to override the //STEPLIB or the
JCLQAWPS       //SASAUTOS DD statements, which can easily be done in the
Jun  1, 2009   JOB's JCL, with no exposure to the &NULLPDS DISP issues.
               (See CHANGESS for the many NULLPDS historical hits!)
              -JCLQAWPS moved LIBRARY to be before SOURCLIB so its JCL
               overrides matched the order in MXGWPSV2.
   Thanks to Stuart Wildey, Morgan Stanley, USA.
   Thanks to MP Welch, SPRINT, USA.

====== Changes thru 27.107 were in MXG 27.04 dated May 27, 2009========

Change 27.107  Support for BMC's IMF 4.4 (COMPATIBLE) added some new
VMACCIMS       variables and some variables MXG had overlooked.
May 26, 2009   These new variables are now created in IMFTRAN:
Jun  2, 2009      CPUTRNX ='CPU AFTER*TRN STOP SET'
                  TRNOTCLP='IMS*CONNECT*CLIEN*PORT NUMBER'
                  TRNMQMID='MQS*MESSAGE*ID'
                  TRNCVTTZ='TRNCVTTZ*GMT*TIME ZONE*OFFSET'
                  TRNCAPPL='CICS*APPLID'
                  TRNFALSC='FALSE*SCHEDULES'
                  TRNTFLAG='COPY OF*RATTFLAG*DET TRACE'
                  TRNFALST='FALSE*SCHEDULE*ELAPSED*TIME'
               This change has only been tested with 4.3 records.
               Jun 2: TRNxxxxx fields wrong; Trace Table +80 vs +72
               BMC APAR BAI9444 documents that the IMF Transaction CPU
               time can exceed the transaction elapsed time, because the
               APAR BAI9312 excluded the "stopped term thread activity"
               time from being included in transaction elapsed time, by
               setting the transaction stop time upon completion of the
               Get Unique, regardless of whether it returned another
               message.  When it doesn't return another message, the
               region goes through term thread, and the CPU used by the
               terminate thread can cause the total transaction cpu to
               exceed transaction elapsed time, since the transaction
               stop time is set before term thread. BAI9444 modified the
               IMEUTMR7 timing routine to separately record any CPU time
               calculated after transaction stop time, in a new fields
               named TRNXCPU, which MXG outputs in new variable CPUTRNX,
               so you can identify that is the cause of CPU time greater
               than elapsed time in IMS.

Change 27.106  Support for z/OS 1.10 storage metrics in SMF 119 create
VMAC119        these four new subtype=5 variables in TY11905 dataset:
May 25, 2009      TS6CEALO='CURRENT*ECSA*STORAGE*ALLOCATED'
May 28, 2009      TS6CENIU='CURRENT*ECSA*ALOC BUT*NOT INUSE'
                  TS6CPALO='CURRENT*AUTH PRIVATE*ALLOCATED'
                  TS6CPNIU='CURRENT*AUTH PRIVATE*NOT IN USE'
               May 28: The four INPUT statements are &PIB.8., not 4.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA
   Thanks to Aylin Kavas, Royal Bank of Canada, CANDADA

Change 27.105A-PDB.TYP70 variables with "CPU" in their name or label are
DOC            supposed to  contain only metrics for the "CP" engines.
May 24, 2009   Separate variables, with "ZIP" or "IFA" in their name or
               their label, contain the metrics for zIIPs and zAAP/IFAs.
               Those three types of engines require separate capacity
               analysis (and even have different capture ratios in MXG's
               RMFINTRV dataset).
               And PDB.TYPE70 variable CPUPATTM contains the Parked Time
               for (only) the "CP" engines.
               However, the 64 individual-engine Parked Time is stored
               in 64 variables named CPUPATM0-9,A,B....  So you could
               have zero CPUPATTM in this MVS System, but CPUPATM4 could
               be non-zero, if your 4th engine is a zIIP, for example.
              -PDB.TYPE70 variable CPUWAInn for nnth engine's LPAR Wait
               is variable NEWWAIT in PDB.TYPE70PR for that engine, and
               the variable MVSWAInn for the nnth engine's MVS Wait is
               variable ORIGWAIT in PDB.TYPE70PR; variable ORIGWAIT and
               SMF70WST are very close in PDB.TYPE70PR, but SMF70WST is
               smaller by as much as a half second in 15 minutes.

Change 27.105  The ACF2VR dataset is enhanced with new ACFMTYPE variable
FORMATS        that is formatted by new $MGACFTY format to decode the
VMACACF2       combination of the 2nd-4th bytes of ACVMFRES and the HEX
May 21, 2009   value of ACVMFLGS NI (LOGICAL AND'ed) with '3E'x.  These
               new values are primarily for DB2 activity identification.
   Thanks to Jake Phillips, Lowe's Companies, USA.
   Thanks to Jim S. Horne, Lowe's Companies, USA.
   Thanks to David Pflum, CA, USA.

Change 27.104  The BVIR TS7700 HYDRA data contains GMT values for all of
VMACBVIR       its timestamps, SMFTIME, STARTIME, ENDTIME, and VERTIME,
May 24, 2009   whether the data is in History File or SMF File format,
Jun  1, 2009   but there is no field with the GMT Offset time, so you
               must tell MXG your GMT Offset value, with this syntax
                  %LET MACKEEP=  MACRO _BVIRGMT  -18000   %  ;
               if you want those datetimes on your local time zone.
               For USA sites, the value is negative, -18000 for EST at
               5 hours, -14400 for EDT at 4 hours behind GMT, etc.
               You set that GMT offset value using:
                - SMF-FORMAT BVIR DATA:
                  // EXEC MXGSASV9
                  //SMF DD DSN=BVIR.SMF.FORMAT,DISP=SHR
                  //PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....
                    %LET MACKEEP=  MACRO _BVIRGMT  -18000   %  ;
                    %INCLUDE SOURCLIB(TYPSBVIR);
                        or
                - HISTORY-FORMAT BVIR DATA:
                  // EXEC MXGSASV9
                  //BVIRHIST DD DSN=BVIR.HISTORY.FORMAT,DISP=SHR
                  //PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....
                    %LET MACKEEP=  MACRO _BVIRGMT  -18000   %  ;
                    %INCLUDE SOURCLIB(TYPSBVIH);
               Labels were revised Jun 1.
   Thanks to Perry Lim, Union Bank, USA.

Change 27.103  New INTERVAL values of THREEMIN and TWOMIN are created,
VMXGDUR        and they can be used in any MXG INTERVAL= parameter in
May 21, 2009   ALL ANALxxxx/ASUMxxxx/TRNDxxxx/RMFINTRV invocations.
   Thanks to Jacob Nudel, Thomson Reuters, USA.

Change 27.102  PARTNCPU and other variables in PDB.ASUM70PR could be
VMXG70PR       missing values if the last LPARNAME in this sort order
May 20, 2009    BY CECSER  SYSPLEX  SYSTEM SYSNAME SMF70GIE GMTOFFTM
                   LPARNUM LPARNAME;
               was for a non-z/OS LPAR, as the "CP-engine" variables
               are missing values in non-CP-engine LPARS.  This could
               only occur with recent ASUM70PR enhancements in 27.02+
               that added non-CP-engine LPARS to PDB.ASUM70PR dataset.
               This case had a z/VM LPAR with only IFLs as last LPAR.
               By changing sort order to GMTOFFTM DESCENDING LPARNUM,
               the LAST LPAR for every interval will be LPARNUM=0,
               LPARNAME='PHYSICAL' LPAR, which always has the variables.
   Thanks to Paul Naddeo, FISERV, USA.

Change 27.101 -PRISMA log record could have colon or period delimiters
VMACPRPR       in DATE or TIME character fields, so MXG had two separate
May 20, 2009   links for conversion, but four combinations could exist,
Jun  2, 2009   causing missing values in STARTIME and ENDTIME.  But only
Jun 22, 2009   one conversion is needed, by using '.:' in the SCAN() to
               decode with whichever delimiter is present.
              -Variable COPY was not kept in PRPR1620 dataset.
              -Jun 19: JOBNAME increased to $128 as it can contain more
               text. Fortunately, since PRISMA code is executed
               standalone, with only the PRISMA log file read, this ONLY
               impacts the length of JOBNAME in the PRISMA datasets.
              -Variables COPY, UNKNOWN, PRINTCNT, MEDIANUM, OFFSETS in
               PRPR1620 are read in that order to correct values.
   Thanks to Nik Marien, KBC Global Services NV, BELGIUM.

Change 27.100 -MXG "trashed" dataset ZRBLCP in RMF III from z/OS 1.10
VMACRMFV       because MXG (in a rare case) didn't use the triplet for
May 20, 2009   offset/length for the INPUT of the CPC Logical Processor
May 25, 2009   Section (DSECT ERBCPCDB).  24 bytes inserted after the NR
               of LCPUs, and 8 bytes added to each LCPUADDR segment with
               CPUG3 Version=5 and CPCDB Version=4 are now properly read
               using the triplet, which will also protect for future IBM
               changes, transparently, without trashed output data.
              -IBM RMF III Support provided doc of the new LCPUADDR data
               fields, in those extra bytes, now these new variables
                 LCPUPRMN='PROC*MIN*WEIGHT'
                 LCPUPRMX='PROC*INI*WEIGHT'
                 LCPUPOLW='POLAR*WEIGHT'
               in the ZRBLCP dataset.
              -But in validating this correction, I saw that there were
               observations for each LCPUADDR, including offline engines
               and LCPUADDR that were NEVER dispatched during each one
               minute interval, a waste of disk space, so the logic now
               only outputs ZRBLCP observations if LCPUPDTM dispatch is
               non-zero (but that could be overridden in MACRO _EZRBLCP
               if you really want all the zero dispatch intervals to be
               created).
   Thanks to David Lo, Bank of America, USA.
   Thanks to Betty Wong, Bank of America, USA.

Change 27.099 -The optional Omegamon DB2 segment for CICS/TS 3.2 or 4.1
IMACICOB       had correct counts but the durations were way too small.
May 20, 2009   They were divided by 4096 instead of multiplied by 16 in
               Change 25.238, when a new block of code for CICS/TS 3.2+,
               for SMFPSRVR GE 65.0 used the /4096 conversion, expecting
               a TODSTAMP value, instead of the old *16 conversion for
               16 microsecond values.  I must have misread the DSECT.
               The new block with /4096, and the tests for SMFPSRVR are
               now all removed, and there is a single code block for all
               CICS versions.
              -The 100-byte segment always exists when enabled, but its
               internal length is zero if the transaction did not call
               DB2, so the MXG logic now only INPUTs those 24 fields if
               that length is non-zero (so those variables will have a
               missing value in non-DB2 transactions, instead of all
               having values of zero).
   Thanks to Jim Polenti, Edward Jones, USA.
   Thanks to Jeana M. Bechtel, Edward Jones, USA.

Change 27.098 -Typos in BLDSMPDB for WAS were corrected in BLDSMPDB
BLDSMPDB          the statement   weekkeep=&wek2kep.
VMXGALOC          was changed to  weekkeep=&wek2keep,
May 19, 2009      and after line 437, this statement was inserted
                       dayskeep=&day2keep,
              -In VMXGALOC, the %GLOBAL was removed as superfluous;
               the variables are being set by a SYMPUT which is an
               implicit GLOBAL.  This removed spurious messages on the
               SAS log, messages that were different when MXG was run
               in a Window versus run in Batch.
   Thanks to Gary Havlatka, Creative Automation, USA.

Change 27.097 -PDB.DB2STATS now has ALL DB2 STATISTICS interval data.
READDB2        DB2 V9 DB2STAT0, DB2STAT1, DB2GBPST, DB2STAT4 (IFCID 225)
VGETOBS        are merged to create PDB.DB2STATS, and for DB2 V8, the
VMACDB2        DB2STAT0, DB2STAT1, T102S225 are merged in PDB.DB2STATS.
May 24, 2009  -All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are
Jun 25, 2009   automatically merged into the PDB.DB2STATS dataset.
              -All variables (QW0225xx) from T102S225 (DB2 V8) can be
               merged into the PDB.DB2STATS dataset, but you may have to
               make some updates, if you don't use %READDB2, below.
              -READDB2 always creates DB2STAT4 with IFCIDS=STATISTICS.
              -READDB2 only creates T102S225 if IFCIDS=225 .... is used.
              -READDB2 updates PDB.DB2STATS with DB2STAT4 if STATISTICS
               is specified.  If IFCID 225 is also specified, then the
               T102S225 is also updated into PDB.DB2STATS.
              -If you use BUILDPDB, TYPEDB2, TYPSDB2 instead of READDB2:
               -All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are
                automatically merged into the PDB.DB2STATS dataset.
               -All variables (QW0225xx) from T102S225 (DB2 V8) can be
                merged into the PDB.DB2STATS dataset, but you have to
                tell MXG you have V8 data to be added; see below.
              -You should use PDB.DB2STATS for all statistics reports,
               replacing use of DB2STAT0, DB2STAT1, DB2STAT4, DB2GBPST,
               and T102S225 in your DB2 reports.
               More details:
              -DB2 V9 DB2STAT4 (optional IFCID=225, ID=100, subtype=2)
               and DB2 V9 DB2GBPST (100 subtype 1 QBGL) variables are
               now merged to expand existing PDB.DB2STATS dataset to
               contain all variables for each interval for each DB2
               Subsystem, i.e., all possible variables from the DB2
               ID=100 Subtype 0, 1, or 4 SMF records.  DB2STAT4 vars are
               added by %INCLUDEs of TYPEDB2, TYPSDB2, or BUILDPDB, or
               by using %READDB2(IFCIDS=STATISTICS) program for V9.
              -DB2 V8 writes IFCID=225 as an SMF 102 subtype 225 Trace
               record, and MXG creates the T102S225 dataset for V8, but
               it has the same variables as the V9 DB2STAT4, so DB2 V8
               IFCID=225 variables can also be added into PDB.DB2STATS:
                -%READDB2(IFCIDS=STATISTICS 225,PDBOUT=PDB) will create
                  both T102S225 and DB2STAT4 and merge each to expand
                  and populate the PDB.DB2STATS dataset with both V8 and
                  V9 IFCID=225 variables.
                -To add V8 IFCID=225 processing to BUILDPDB, and to add
                  those variables to PDB.DB2STATS, you need to EDIT
                  these statements into these MXG exit members into your
                  "USERID.SOURCLIB" tailoring PDS library/directory:
                     EXPDBINC:
                       %INCLUDE SOURCLIB(VMAC102);
                     EXPDBVAR:
                       MACRO _VARUSER _V102225 %
                     EXPDBCDE:
                       MACRO _CDEUSER _HDR102 _C102225 _END102 %
                     EXPDBOUT:
                       _SDB2STY
                -If you instead use these other ways to create T102S225
                 dataset for DB2 V8, depending on how you created it:

                  if created by      old-style macro    macro variable
                    TYPE102             _W102225           &W102225
                    TYPS102             _L102225           &P102225
                    %READDB2            _W102225           &W102225
                    %READDB2(PDBOUT)      n/a              &PDBOUT
                    EXPDBOUT              PDB                PDB

                 then you have to use %LET to set the DDNAME of your
                 T102S225 dataset's library, and then insert the new
                 _SDB2STY macro token in your source program, after you
                 have created PDB.DB2STATS and PDB.T102S225, e.g.:
                     %LET PDB2STY=PDB;
                     _SDB2STY;
                     RUN;
              -READDB2 in MXG 27.02-27.03, when ONLY the IFCIDS=225 was
               requested, caused a 10-fold increase in CPU time if there
               were lots of other DB2 records, because READDB2 in those
               versions (incorrectly) created all of the other DB2ACCTx
               and DB2STATx datasets when only T102S225 was desired.
               lots of unwanted ID=101 records.  Now, only T102S225 is
               created if only IFCIDS=225 is specified.
              -All executions of READDB2 should be faster; all non-DB2
               SMF records are immediately skipped as soon as the SMF ID
               is read; previously, all DB2 Product Headers were read
               before record selection/skipping was done.
              -PROC COPY IN=WORK OUT=&PDBOUT was incorrectly run (copy
               each DATASET to the &PDBOUT libname) when &PBOUT=YES,
               was specified, causing LIBNAME YES NOT FOUND.  Now, the
               PROC COPY is bypassed if PDBOUT=YES.
              -VGETOBS was enhanced with new NOEXIMSG=NO argument that
               bypasses printing of the DATASET DOES NOT EXIST message
               and the DATASET HAS nnn OBSERVATIONS message, useful when
               VGETOBS is used only to detect that a dataset exists.
              -These new variables, based on IBM MEMU2 report example:
               are created in PDB.DB2STATS from the DB2STAT4/T102S225:
                  CUSHION = QW0225SO+QW0225MV+QW0225CR;
                  NDB2STOR= QW0225EH-QW0225GM-QW0225GS-QW0225FX-QW0225VR
                  ALLOWSTR= QW0225RG-CUSHION-NDB2STOR;
                  THRDUSE = QW0225RG-CUSHION-NDB2STOR-QW0225GM
                           -QW0225AS-QW0225FX-QW0225EL;
                  THRDFTPT= (QW0225VR-QW0225AS+QW0225GS) /
                            (QW0225AT+QDSTCNAT);
                  MAXTHRDS= THRDUSE / THRDFTPT;
                  TOTTHRDS= QW0225AT+QDSTCNAT;
                  OVERALLO= MAXTHRDS - TOTTHRDS;
                  CUSHION ='CUSHION*WARNING'
                  NDB2STOR='TOTAL*DBM1*STORAGE'
                  ALLOWSTR='ALLOWABLE*STORAGE'
                  THRDUSE ='THREAD*STORAGE*USED'
                  THRDFTPT='THREAD*STORAGE*PER THREAD'
                  MAXTHRDS='MAXIMUM*THREADS'
                  TOTTHRDS='TOTAL*THREADS'
                  OVERALLO='OVER*ALLOCATED*THREADS'
   Thanks to Ray Dunn, CIGNA, USA.
   Thanks to Deborah L. Soricelli, CIGNA, USA.

Change 27.096  There is a new "MEM" object with 15 new variables:
VMACNMON         MEMTOTAL HIGHTOTAL LOWTOTAL   SWAPTOTAL MEMFREE
May 18, 2009     HIGHFREE LOWFREE   SWAPFREE   MEMSHARED CACHED
                 BIGFREE  BUFFERS   SWAPCACHED INACTIVE  ACTIVE
               instead of the non-overlapping 5 memory variables that
               were in previous NMON MEM Object records.
               The order of the two LOW/HIGH sets in these new fields
               is clearly mis-documented in the "MEM" Header record;
               the LOW value precedes the HIGH value, so MXG's code now
               matches the actual data rather than the documentation.
              -Labels for variables REALFREE & VIRTFREE didn't include
               "PERCENT".  Those memory percentages are calculated as
                 REALFREE=100*REMBFREE/REMBTOTL;
                 VIRTFREE=100*VIMBFREE/VIMBTOTL;
              -Both sets of memory variables are kept in NMONINTV.
              -"NMON", "Nigel's Monitor", is now delivered as part of
               TOPAS in AIX 5.3/6.1 or VIRTUAL I/O SERVER VIOS 2.1.
   Thanks to Tom Draeger, Aurora Health Care, USA.

Change 27.095  The TRND23 member had not been updated to use the macro
TRND23         variables TRENDOLD TRENDNEW TRENDINP, which optionally
May 17, 2009   set the libnames for new, old and input trend libraries,
               and old macro names expected the week input in the "PDB"
               libname, when it should have used "WEEK" to match the
               other TRND Trending members.
   Thanks to Paul Gillis, Pacific Systems Management Pty. Ltd, AUSTRALIA

Change 27.094  A REALLY invalid SMF 30 Subtype 1 INPUT EXCEEDED RECORD
IMACACCT       error had NRACCT=127 and LENACCT=400, impossible values,
May 14, 2009   and there was only trash at the OFFACCT location. MXG
               only decodes 9 ACCOUNTn fields, printing a message for
               the 10th, but IMACACCT did not protect for this much
               of invalidity.  Now, it stops reading the ACCT fields
               when the 10th is encountered, with enhanced diagnostics.
   Thanks to Barbara Nitz, Deutsche-Boerse, GERMANY.

Change 27.093  Variable JESNR in TYPETPMX datasets was only 5-digits but
VMACTPMX       JESNR can now be up to seven digits.  The VMXGJESN member
May 13, 2009   is now %INCLUDEd after JCTJOBID has been input, and the
Mar 20, 2012   JESNR is now created from JCTJOBID rather than just input
               of the last five digits.
               Mar 2012:  Maximum JESNR is 999,999 because the first of
               seven digits is always a zero.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to James D. Lieser, UHC, USA.

Change 27.092 -VMXGOPTR errored with SAS V8.2 or V9.2 in different ways:
VMXGOPTR      -ONLY under SAS V8.2, MXG 27.03 caused BUILDPDB errors in
VMXGSUM        the VMXGSUM invocation for SUMSTATB with error messages
May 14, 2009    MXGNOTE: VMXGSUM FROM MXG 27.03 INVOKED BY SUMSTATB
May 18, 2009    ERROR: OVERFLOW HAS OCCURRED; EVALUATION IS TERMINATED.
May 22, 2009    ERROR: THE MACRO VMXGOPTR WILL STOP EXECUTING.
               This error is ONLY in the SAS V8 %Macro compiler, and is
               circumventable;  the problem is that V8 %Macro compiler
               is not terminating strings at the equal sign as expected,
               but by wrapping the strings in double-quotes, to make it
               a character compare rather than an evaluated comparison
               circumvented the compiler error.
               There is also an associated change between V8 and
               V9 in the limit to the value of a numeric compare in the
               macro language from 2**32 in V8 to 2**64 in V9, causing
               the compare to work accidentally in V9 but not in V8.

               The one statement in VMXGOPTR that caused SAS V8 to fail
                 IF "&STRING"="123456789123456789" %THEN ....
               was corrected, so this part of MXG continues to execute
               with SAS V8.2, BUT USING V9 IS MUCH BETTER AND SAFER!

              -Enroute to isolating the actual error, we investigated
               VMXGSUM for long-length-macro-text, a known past problem
               with the SAS Macro Language, and did reduce the length of
               some macro variables in the updated VMXGSUM, but it was
               not the cause of the OVERFLOW.
               This simple test isolated the V8-only compiler error:
                 %MACRO TESTCASE;
                 %LET STRING=12345678912345689;
                 %IF &STRING=12345678912345689 %THEN %PUT TEST FAILED;
                 %MEND TESTCASE;
                 %TESTCASE;
               When executed on SAS V9, "TEST FAILED" was printed. when
               run under SAS V8.2, the OVERFLOW occurred.

              -Since V8.2 is ancient, I won't ask SAS Institute to spend
               their time fixing the %Macro compiler error, with what
               appears to be a complete circumvention. Chuck and I spent
               a great deal of time chasing this V8-ONLY error, just so
               those of you that are still limping along on ancient V8,
               and knowing that you do need V9 (but just can't find time
               to install it) can still get the full benefits of all of
               the new features and enhancements in the current MXG.

              -ONLY user SAS V9.2, just to get even, its macro compiler
               found invalid syntax of %THEN %THEN in VMXGOPTR, when it
               was called from deep within READDB2, causing V9.2 error
               message NO MATCHING %IF FOR %THEN.
               SAS V9.1.3 didn't burp with that same invalid syntax!
   Thanks to Francois Chable, DTF/DESI, FRANCE.
   Thanks to Hai Dang, DTF/DESI, FRANCE.
   Thanks to Winnie Peng, Hawaii Medical Service Association, USA.

Change 27.091  ASG TMON/CICS variables WTSCWTTM and WTSCWTCN were input
VMACTMO2       reversed, with the counts in the time field (but divided
May 13, 2009   by 1 million!) and the time in the count filed (and NOT
               divided as it should be), in three separate INPUTs.
   Thanks to Shantha Hallett, Capgemini UK, ENGLAND

Change 27.090  Became Change 27.097.

Change 27.089 -The dataset TYPE72DL delay counters R723RW01-R723RW15 are
VMAC7072       now described by new variables R723RN01-R723RN15, from
May 11, 2009   the Resource Delay Type Names Section added in z/OS 1.10
               to the SMF 72 Subtype 3 record.  There is a separate Name
               Section for each of subsystems (DB2,CICS,IMS,SMS,etc.)
               that capture delay samples, so each can have a different
               description of each of its fifteen delay counters.
              -The _BTY72DL "BY list" sort order that removes dupes was
               revised by adding RPRTCLAS as the penultimate variable, a
               protection required ONLY if you have (unwisely) used the
               same name for a Service Class and for a Reporting Class.

               The R723RN01 Name fields have not been tested with data;
               thus far, all test files have R723RDNN=0.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 27.088  Support for TS7700/BVIR Microcode 1.5.
FORMATS       -Format $MGBVIDC added x23 3592 Model E05 x24 Model E06.
VMACBVIR         x23='x23:3592 Model E05 (Encrypted)
May  6, 2009     x24='x24:3592 Model E06.
              -New DLIBSEQN, Distributed Library Sequence Number is
               added to all datasets; while documented as EBCDIC, the
               same protective algorithm for GLIBSEQN in Change 27.077
               is used for DLIBSEQN in case it really is also ASCII.
              -BVIR10 new variable DEFTHRTL
              -BVIR30 new variables:
                PCTWDFTH AVGDEFTH BASEDFTH PRMIGTTH UNMIGD00
                AWAITR00 UNMIGD01 AWAITR01
              -BVIR33 new variables:
                G1MLCTA1-G1MLCTA4 G1ALCTA1-G1ALCTA4 G2MLCTA1-G2MLCTA4
                G2ALCTA1-G2ALCTA4 G3MLCTA1-G3MLCTA4 G3ALCTA1-G3ALCTA4
                G4MLCTA1-G4MLCTA4 G4ALCTA1-G4ALCTA4 G5MLCTA1-G5MLCTA4
                G5ALCTA1-G5ALCTA4 G6MLCTA1-G6MLCTA4 G6ALCTA1-G6ALCTA4
                G7MLCTA1-G7MLCTA4 G7ALCTA1-G7ALCTA4 G8MLCTA1-G8MLCTA4
                G8ALCTA1-G8ALCTA4
   Thanks to Jens Mohring, HUK-COBURG, GERMANY.
   Thanks to Markus Bansemir, HUK-COBURG, GERMANY.

Change 27.087 -NMONBBBP dataset contained blank values for many BBBPnnn
VMACNMON       variables; the OUTPUT logic was relocated and revised.
May  5, 2009  -Variable BBBP029='ENTITLED*CAPACITY' instead had value of
               BBBP050='ENTITLED CAPACITY OF POOL'.  The values are
               corrected, and several BBBPnnn labels were revised.
   Thanks to Silvio Ferrari, Banca Carige S.p.a., ITALY.
   Thanks to Franco Tonelli, Banca Carige S.p.a., ITALY.
   Thanks to Gianvittorio Negri, SAS Institute, ITALY.

Change 27.086 -DB2STATS variables QISEKPGE, QISESPGE, QISESFRE, QISESKCT
VMACDB2        QISESKPT and QISEKFRE aren't accumulated fields, but they
May  5, 2009   were deaccumulated; variables QISEKTA and QISECTA were
               also deaccumulated, and probably also shouldn't have been
               but all test values are zeros for those two variables, so
               they have not been validated.  All eight variables are no
               longer deaccumulated.
              -Variable QISESPGE has a default value of 524287 pages
               (2GB) that is set by a "hidden" zparm value of "SPRMABVC"
               in DSN6SPRC, but IBM STRONGLY RECOMMENDS THAT YOU DO NOT
               CHANGE THAT DEFAULT VALUE UNTIL/UNLESS DB2 L2 determines
               there is a storage problem.
   Thanks to John Shuck, Suntrust, USA.

Change 27.085  Omegamon ONDV datasets created from subtype 203 had blank
VMACOMCI       values for the "xTRAN" variable because MXG did not INPUT
May  8, 2009   these three variables from the header: OMCIJOB, OMGAPPL,
               and OMSAPPL.  Now, all are kept in the OMCI-203 datasets:
                  OMCIADA  OMCIADAT OMCIDLI  OMCIDLIT OMCIDTCO
                  OMCIDTCT OMCIIDMS OMCIIDMT OMCISUPR OMCISUPT
                  OMCIVSAM OMCIVSAT
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 27.084  First MXG 27.03 had two members revised:
VGETDDS       -The enhanced VGETDDS wasn't, having not been tested with
VMACIMSA       all options; a missing %END and non-defined GOOVOO were
May  5, 2009   added (but that's why I didn't list VGETDDs in the list
May 12, 2009   of Major Enhancements, since it was still in testing, and
May 20, 2009   is not exactly mainstream!).
               Additional cleanup of MXGWARN versus MXGERROR, protection
               for START END, etc., were added.
              -VMACIMSA addition of the new IMS45x statistics records
               didn't have the new ST* variables in a FORMAT statement;
               this was missed in QA because the same variables were in
               a FORMAT statement in VMACIMS.

====== Changes thru 27.083 were in MXG 27.03 dated May  4, 2009========

Change 27.083 -VGETDDS reads "logically concatenated" PDB libraries with
VGETDDS        DDnames "starting with", e.g. (PDB1 PDB2 PDB3....) to
May  2, 2009   select a SAS dataset (e.g. JOBS) from all of those PDBs.
               You control which data libraries are read in your JCL,
               without modifying your program, using VGETDDS & VMXGSET.
              -This change enhances VGETDDS to allow dynamic allocation
               of DSNAMEs that are GDGs, or of DSNAMES with embedded
               DATEs.
              -Extensive comments and examples describe how to read a
               SAS dataset from multiple data libraries in a single
               "SET" statement that doesn't require separate DDs in your
               JCL.
   Thanks to Brian A. Harvey, HCL America, USA.

Change 27.082  Support for DCOLLECT's z/OS 1.10 change to DCDOVERA, now
VMACDCOL       defined as a 32-bit unsigned number, previously defined
Apr 30, 2009   as a 31-bit signed number, requires NO CHANGE to MXG, as
               that variable has always (since 1994!) been INPUT with a
               INFORMAT of PIB4, which reads all 32 bits. MXG always has
               used PIB4 for any variable for which a negative value is
               impossible, even when IBM called it a signed value.
               (For the miniscule number of variables that actually can
               have a negative value, MXG uses IB4 INFORMAT.)
   Thanks to Brian A. Harvey, HCL America, USA.
   Thanks to Paul Ashford, USAA, USA.

Change 27.081  Support for APAR OA27623 that adds CPU Speed, SM1132SP,
VMAC113        speed in cycles per microsecond, to TYPE113 dataset.
Apr 30, 2009

Change 27.080 -Improved protection for inconsistent NMON data that has
VMACNMON       fewer counters in the data records than the number of
Apr 30, 2009   field names in the header record, primarily observed in
May  2, 2009   the DISKxxxx and JFSxxxxx records. The short records were
               erratic; most data records had the correct number of data
               values, but, interspersed, there were the short records.
              -The INPUT statements for each record type are replaced by
               an initial INPUT and then the SCAN() function is used to
               populate the new WORDS array, so that the NRWORDSIN can
               be initially counted, but then the WORDS array is read to
               find the last field that is non-blank, and its position
               is then NRVALUES, which is used in all comparisons with
               the expected number of fields from the header record.
               This was because (for example, DISKBUSY) records with 19
               header fields, but with only the first 3 populated, were
               found, and subsequent data records had 19 fields usually,
               but some had only 15 fields, but all of the data records
               had only 3 fields populated.  The old algorithm deleted
               those short data records, but now, if the last non-blank
               field locations match, the data record can be decoded and
               is now output eliminating COUNTERS ARE DIFFERENT messages
               (unless the counts really are different).
              -The BBBP record still has to be INPUT rather than scanned
               because I couldn't find how to SCAN a comma-delimited
               field with double-quotes around embedded comma(s)!
              -The COUNTW(FIELD,','); function does NOT correctly count
               fields with repeated commas, and it took two invocations
               of TRANWRD(WORD,',,',',') to separate all of the commas
               to get the correct count of fields.
              -The AAA Record DATE value was expected to be a 4-digit
               YYYY value, so records with only YY (non-Y2K compliant!)
               caused INVALID ARGUMENT TO FUNCTON error message.  MXG
               now protects NMON for YY in the date field, and the
               MONTH argument was protected with an UPCASE() function.
   Thanks to Arthur Sy, Depository Trust, USA.

Change 27.079  The Elapsed Time variable in the ORACLE dataset was still
VMACORAC       missing; Change 26.099 was apparently lost.  Now,
Apr 27, 2009      ELAPSTM=SMFTIME-STARTTS;
   Thanks to Bret Hoesly, Telephone and Data Systems, USA.

Change 27.078  Support for IMS Log Record 45X IMS Interval Statistics
ASMIMSL6       creates 24 new datasets from its 22 subtypes:
TYPEIMSA         dddddd     Dataset   Description
TYPSIMFL         IMS450     IMS4500   IMS 4500 BEGIN STATISTICS'
TYPSIMS7         IMS452     IMS4502   IMS 4502 QUEUE POOL STATISTIC'
VMACIMS          IMS453     IMS4503   IMS 4503 FORMAT BUFFER POOL S'
VMACIMSA         IMS454     IMS4504   IMS 4504 DATABASE BUFFER POOL'
VMXGINIT         IMS455     IMS4505   IMS 4505 VARIABLE POOL STATIS'
May  4, 2009     IMS456     IMS4506   IMS 4506 SCHEDULING STATISTIC'
                 IMS457     IMS4507   IMS 4507 LOGGER STATISTICS'
                 IMS458     IMS4508   IMS 4508 VSAM SUBPOOL STATIST'
                 IMS459     IMS4509   IMS 4509 PI STATISTICS'
                 IMS45A     IMS450A   IMS 450A LATCH STATISTICS'
                 IMS45C     IMS450C   IMS 450C CBT STATISTICS'
                 IMS45D     IMS450D   IMS 450D RECEIVE ANY BUFFER P'
                 IMS45E     IMS450E   IMS 450F FIXED POOL STATISTIC'
                 IMS45F     IMS450F   IMS 450F DISPATCHER STATISTIC'
                 IMS45O     IMS450O   IMS 450F DISPATCHER TCB STATISTIC'
                 IMS45P     IMS450P   IMS 450F DISPATCHER SAP STATISTIC'
                 IMS45G     IMS4510   IMS 4510 RCFT STATISTICS'
                 IMS45H     IMS4511   IMS 4511 STORAGE STATISTICS'
                 IMS45I     IMS4512   IMS 4512 IMODULE STATISTICS'
                 IMS45J     IMS4513   IMS 4513 MSC STATISTICS'
                 IMS45K     IMS4514   IMS 4514 EWLM STATISTICS'
                 IMS45L     IMS4521   IMS 4521 IRLM USERT STATISTIC'
                 IMS45M     IMS4522   IMS 4522 IRLM SYSTEM STATISTI'
                 IMS45N     IMS45FF   IMS 45FF END STATISTICS'
               The IMS Interval Statistics contain many accumulated
               variables, which are deaccululated in the _SIMS45X macro,
               which has been added to TYPSIMS7 ("old" log records only)
               and to TYPSIMFL (processes IMF/CIMS and the IMS records),
               and to TYPEIMSA (part of JCLIMSL6 IMS Log Processing),
               but only those variables that were non-zero in my small
               test file have been validated.  You can use  _MEANDBG
               after your include of either TYPSxxxx member to run a
               PROC MEANS against all of the statistics datasets, and
               look for a negative MINIMUM value to identify fields that
               are being deaccumulated that should not be.
              -TYPSIMFL has been updated with comments and sample JCL to
               select only the 0F9x, 0FAx, and 45x log records and to
               write the four IMF datasets to separate DDs, writing all
               of the new statistics data to the default //PDB DDname.
              -ASMIMSL6 (for the JCLIMSL6 MXG IMS Log Processing, used
               only if you do NOT have IMF or another IMS monitor) is
               updated to also select the 45x records; since they are
               interval records, their volume should always be small.
              -Note that the default output destination of these new
               IMS45xx datasets is the //WORK ddname, just like the
               Fastpath and CPIC datasets.  You can use
                   %INCLUDE SOURCLIB(TYPEIMSx);
                   PROC COPY IN=WORK OUT=whatever MT=DATA;
                    SELECT IMS45: ;
               to copy these new (low volume) datasets to whatever
               DD/LIBNAME you want, or you can override individual
               datasets with %LET PIMS45z=whatever; before the %INCLUDE.
               Note the Pdddddd macro token must be used because of the
               de-accumulation that is required.
   Thanks to Christa Neven, KBC Global Services, BELGIUM.

Change 27.077  BVIR variable GLIBSEQN was documented as EBCDIC and early
VMACBVIR       test data had '00'X values, but new data with ASCII data
Apr 27, 2009   is found, so MXG logic now tests for '00'x, or for EBCDIC
               hex values ('81'x-'A9'x,'C1'x-'E9'x,'F0'x-'F1'x) or falls
               thru for ASCII to input GLIBSEQN in the correct format.
   Thanks to Rob D'Andrea, Royal Bank of Scotland, SCOTLAND.
   Thanks to Penny Dudgeon, Royal Bank of Scotland, SCOTLAND.

Change 27.076  Significant enhancements to ASUM70PR summarization of
VMAC7072       TYPE70PR adds support for HiperDispatch by subtracting
VMXG70PR       Parked Time SMF70PAT from both Online Time SMF70ONT and
Apr 30, 2009   from Wait Time SMF70WST, AND adds new IFA, IFL, and ZIP
               variables to each LPAR to fully support those Specialty
               engines (especially IFLs which were not captured in the
               previous ASUM70PR implementation), captures the PHYSICAL
               LPAR time for each type of Specialty Engine, and adds it
               into the CPUIFATM, CPUIFLTM, CPUZIPTM totals in Interval
               datasets, calculates the Average Number of Online Engines
               for CPs, IFAs, IFLs, and ZIPs, provides counts of the
               number of Installed Engines of each type, cleaned up the
               inconsistencies in the variable's names and contents,
               and documents what variables contain what, below!

               It has always been my recommendation that the datasets
               created by ASUM70PR should be used for LPAR analysis,
               since it avoids you having to understand the complexity
               of the raw TYPE70PR dataset; with this enhancement, all
               of the information is summarized, and you have four ways
               of analysis with the four output datasets created.

              -ASUM70PR is enhanced with new variables for IFL LPARs and
               consistent contents in the CPUxxxTM total variables, and
               the HiperDispatch Parked Time SMF70PAT and Wait SMF70WST
               are kept for each LPAR in all four datasets.  If SMF70PAT
               is non-zero, i.e., engines were parked, the SMF70ONT LPAR
               Online Up Time, and the LPAR Wait Time SMF70WST are each
               reduced by the Parked Time.

              -The datasets ASUM70LP and ASUMCELP contain an observation
               for each LPARNAME, with a single set of variable names
               for each INTERVAL (that you set in your ASUM70PR member).
               -ASUM70LP is created per SYSTEM, with each system's view
                of the resources consumed by ALL of the LPARs seen by
                that SYSTEM, so there will be replicated/repeated data
                for each LPARNAME when you process SMF/RMF data from
                multiple systems.
               -ASUMCELP is created per CECSER with a single observation
                for each LPARNAME for each INTERVAL.
                In both of the per-LPARNAME datasets, ASUM70LP/ASUMCELP,
                IFL LPARs are measured in these new variable names:
                  NRIFLCPU='INSTALLED*IFL*ENGINES'
                  IFLACTTM='IFL*PROCESSORS*CPU*ACTIVE*TIME'
                  PCTIFLBY='IFL*PERCENT*CPU*BUSY'
                  IFLCPUS ='IFL*AVERAGE*ONLINE*CPU COUNT'
                  IFLUPTM ='IFL*PROCESSORS*UP*TIME'
                  IFLPATTM='IFL*PARKED*PAT*TIME'
                  IFLWSTTM='IFL*PROCESSORS*WST*TIME'
                As these datasets are per-LPARNAME their CPU active time
                in variables IFAACTTM, IFLACTTM, and ZIPACTTM, do not
                contain the Physical Engine CPU times.

              -The datasets ASUM70PR and ASUMCEC contain an observation
               for each interval, with a set of variables for the totals
               and 60 separate sets of LPnAAAAA variables with resource
               usage for each LPARNAME.
               -ASUM70PR is created per SYSTEM, with each system's view
                of the resources consumed by ALL of the LPARs seen by
                that SYSTEM, so it, too, will have replicated/repeated
                data when you process data from multiple systems.
               -ASUMCEC is created per CECSER with a single observation
                for each INTERVAL.
                Since ASUM70PR/ASUMCEC are interval summaries across ALL
                LPARs, the total-CPU-time variables now consistently
                include the Physical LPAR CPU time; previously, only the
                CPUACTTM for CP engines included the Physical time.
                And the Physical CPU time for each engine type are now
                available in ICFPHYTM, IFAPHYTM, IFLPHYTM, and ZIPPHYTM.

                Those 60 sets of per-LPAR LPnAAAAA variables have these
                new variables for each LPAR's IFA, IFL and ZIP usage:
                  LPnIFATM='LPAR  n*IFA*DISPATCH*TIME'
                  LPnIFUTM='LPAR  n*IFA*UP*TIME'
                  LPnIFKTM='LPAR  n*IFA*PARKED*TIME'
                  LPnIFWTM='LPAR  n*IFA*WST*TIME'

                  LPnILATM='LPAR  n*IFL*DISPATCH*TIME'
                  LPnILUTM='LPAR  n*IFL*UP*TIME'
                  LPnILKTM='LPAR  n*IFL*PARKED*TIME'
                  LPnILWTM='LPAR  n*IFL*WST*TIME'

                  LP1ZIPTM='LPAR  n*ZIP*DISPATCH*TIME'
                  LP1ZIUTM='LPAR  n*ZIP*UP*TIME'
                  LP1ZIKTM='LPAR  n*ZIP*PARKED*TIME'
                  LP1ZIWTM='LPAR  n*ZIP*WST*TIME'

              -If you have IFLs, many "Missing Values" messages will be
               printed on the SAS log, but they are harmless; IFL LPARs
               have missing values for all of the old CP variables.


                              ASUM70LP/ASUMCELP - Per-LPARNAME Variables

                               ============ Engine Type =============
                               CP      IFA      IFL      ZIP      ICF
       Metric:
       Installed Engines    PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
       Avg Online Engines   LPARCPUS IFACPUS  IFLCPUS  ZIPCPUS
       CPU Busy Time        LCPUPDTM IFAACTTM IFLACTTM ZIPACTTM
       Percent CPU Busy     PCTLPBY  PCTIFABY PCTIFLBY PCTZIPBY
       Online Total Time    LPARDUR  IFAUPTM  IFLUPTM  ZIPUPTM
       Parked Time          SMF70PAT IFAPATTM IFLPATTM ZIKPATTM
       Wait State Time      SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM

       ASUM70LP Sorted BY list:
          SYSPLEX SYSTEM SYSNAME STARTIME SHIFT CECSER LPARNAME LPARNUM
       ASUMCELP Sorted BY list:
          CECSER STARTIME SHIFT LPARNAME LPARNUM


                              ASUM70PR/ASUMCEC  - Per-Interval Variables

                               ============ Engine Type =============
                               CP      IFA      IFL      ZIP      ICF
       Metric:
       Installed Engines    PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
       Avg Online Engines   LPARCPUS IFACPUS  IFLCPUS  ZIPCPUS
       CPU Busy Time        CPUACTTM CPUIFATM CPUIFLTM CPUZIPTM
       Percent CPU Busy     PCTLPBY  PCTIFABY PCTIFLBY PCTZIPBY
       Online Total Time    LPARDUR  IFAUPTM  IFLUPTM  ZIPUPTM
       Parked Time          SMF70PAT IFAPATTM IFLPATTM ZIKPATTM
       Wait State Time      SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM

       ASUM70PR Sorted BY list:
          SYSPLEX SYSTEM &MXGSYSN STARTIME SHIFT CECSER;
       ASUMCEC  Sorted BY list:
          CECSER STARTIME SHIFT;


              -PDB.TYPE70PR dataset was also enhanced with the counts
               and CPU Active time for all four specialty engines for
               each LCPUADDR, with these new or updated variables:
                 NRICFCPU NRIFACPU NRIFLCPU NRZIPCPU  total engines
                 ICFACTTM IFAACTTM IFLACTTM ZIPACTTM  CPU this LCPUADDR

              -Validation notes.  Using PROC COMPARE can often identify
               differences, but comparing across this change can cause
               lots of "false positives", especially in the count of the
               Specialty Engine NRIFACPU,NRZIPCPU,NRICFCPU,NRIFLCPU as
               they sometimes wrong or always missing in prior PDBs.
               Small changes are expected in the CPUxxxTM for Specialty
               Engines because their PHYxxxTM is now included.
               And the xxxUPTM "Uptime" variables are now differently
               calculated, as the actual Online Time, rather than the
               old values of NRxxxCPU*DURATM.
   Thanks to Robert Hamilton, Fifth Third Bank, USA.
   Thanks to Zhan Wang, AIG, USA.

Change 27.075  Cosmetic.  For Offline LPARS (LPARCPUX=0) these variables
VMAC7072       in PDB.TYPE70PR:  LCPUADDR SMF70CIX SMF70ONT NRCIXGT0
Apr 23, 2009   could have non-missing values.  Now, all are set missing.
               Unchanged, but noted: SMF70CIN is blank when LPARCPUX=0.

Change 27.074  Group Capacity datasets ASUM70GC & ASUM70GL were wrong if
VMXG70PR       multiple SYSTEMs data was in TYPE70PR; each SYSTEM has an
Apr 23, 2009   observation with repeated data for each LPARNAME that was
               being summed for each Group Name.  This change selects a
               single system per interval for the revised summation.
               It has been observed in the data and in IBM RMF reports
               that actual Group MSU used, LPARMSU, can exceed SMF70GMU,
               the Maximum License Units of the Group, causing PCTGCUSE,
               the Percent of Group Capacity Used, to exceed 100%.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 27.073  Variable EVENTIME in data set TSMACCT was wrong; the YYYY
VMACTSMA       INPUT function was revised to use informat 4.
Apr 22, 2009        YYYY=INPUT(SUBSTR(DATECH,7,4),4.);
   Thanks to Craig Collins, State of Wisconsin DOA, DET, USA.

Change 27.072  Updates for VTCS subtypes of the STC/STK User SMF record.
FORMATS       -Format $MGSTCCT adds 2000MB and 4000MB values.
VMACSTC       -Format $MGSTCMN adds MOUNT ANSI SCRATCH VTV value.
Apr 22, 2009  -Dataset STCVSM18 variables STC18CTP and STC18MT were not
               input for the longer length segment, STC18CTP was not
               kept, and all three CTP variables are now length $2 and
               correctly formatted.
              -Formats $MGSTCMN and $MGSTCCT were updated with new
               values for 2000MB and 4000MB cartridges, and for
               ANSI Label Mounts, respectively.
   Thanks to  Davide Marone, SGS S.p.a. ITALY
   Thanks to  Carlo Gavinelli, SGS S.p.a. ITALY
   Thanks to Gianvittorio Negri, SAS Institute, ITALY.

Change 27.071 -Major enhancement: all MXG-provided VMXGSUM-using summary
ANAL88         programs (e.g. ASUMs, ANALs, TRNDs) will NOT fail if your
ANALAVAI       input data has DROPed variables, if you simply specify
ANALCACH         %LET KEEPALL=NO;
ANALCISH       in your //SYSIN.  KEEPALL=NO causes VMXGSUM to determine
ANALCNCR       what output variables are needed, and thereby prevents
ANALHTML       the VARIABLE NOT FOUND condition when you have DROPed
ANALPKGS       variables to reduce the size of your PDB dataset, which
ANALPROG       is what happens with the default of KEEPALL=YES.
ANALSTC
ANALUSS        The default is KEEPALL=YES, because the KEEPALL=NO logic
ASUM23         would be expensive if applied to the hundreds of VMXGSUM
ASUM42DS       invocations that are internal to MXG processing, but its
ASUM94         cost is insignificant for a single execution, and it is
ASUMCACH       ONLY needed when you know you have DROPed variables.
ASUMCICS
ASUMCICT      -All of the summary programs listed in this change now
ASUMCICX       specify KEEPALL=&KEEPALL, in their %VMXGSUM invocation.
ASUMCIMS      -And where needed, a KEEPIN= was added, but KEEPIN does
ASUMDB2A       not get used unless KEEPALL=NO is in effect, so there is
ASUMDB2B       no adverse effect of the KEEPIN= protection.
ASUMDB2G      -VMXGINIT sets KEEPALL=YES as the GLOBALed default value.
ASUMDB2P       The old default NO was used only in TRNDRMFI, which now
ASUMFRYE       has KEEPALL=NO explicitly in its %VMXSGUM statement.
ASUMJOBS      -VMXGSUM now has KEEPALL=&MXGKEEP in its definition, in
ASUMMIPS       place of a hard-coded KEEPALL=YES, and MXGKEEP=YES is set
ASUMNTIN       in VMXGINIT. This value is only used when the %VMXGSUM
ASUMSMFI       invocation did not specify a KEEPALL value, and this is a
ASUMTMNT       "just in case" option, to use MXGKEEP, that I doubt will
ASUMV11        be needed, but is nice to have for testing.
ASUMV14
ASUMVMON       So, how expensive is KEEPALL=NO for my QA stream?
ASUMVTVM
ASUMVMNT       The QA tests with all INFILEs reading zero length files
BLDNTPDB       invokes VMXGSUM 442 times with these comparisons
BUIL3005
BUILD005            KEEPALL             YES        NO
BUILD006            DATA Steps         3567      4924
CICSSTAT            PROC Steps        11564     13454
DAILYDSR            Elapsed mmss      11:44     30:14
DALYTAPE            CPU mmss           6:28     20:31
GRAFWLM
MNTHDB2S       However, the CPU increase of 900 seconds with KEEPALL=NO,
SPUNJOBS       for a total of 442 invocations, is only 2 seconds for a
TRNDDB2P       single execution, well worth that cost to permit you to
TRND23         use the summary program with reduced input.
TRND70
TRND70SH
TRND94
TRNDCACH
TRNDCEC
TRNDDB2A
TRNDDB2B
TRNDDB2G
TRNDDB2S
TRNDDB2X
TRNDNTIN
TRNDNTLD
TRNDRMFI
TRNDTALO
USMFRATE
UTILCONT
UTILRMFI
VMXGCAPT
VMXGCICI
VMXGINIT
VMXGRESP
VMXGRMFI
VMXGSUM
VMXGTPFI
WEEKCEC
Apr 20, 2009

Change 27.070  Variable DESCR existed in 4 different XAM datasets, with
VMACXAM        3 different lengths, with only the first 12 bytes in
Apr 16, 2009   XMHSTMEM dataset, where the field is split into 2 pieces.
               Variable DESCR is now $16 in both XMTIFTB and XMHSTMEM
               datasets, the extra four bytes are appended in XMHSTMEM,
               it is renamed DESCRDSK with length $40 in XMHSTDSK, and
               it is renamed DESCRTCP with length $128 in XMTCPSYS.
   Thanks to Roger Stock, Boston University, USA.

Change 27.069  Serena's Ultimizer user SMF record moved subtype 2 and 3
VMACULTM       into the left byte of the two-byte subtype field, and in
Apr 15, 2009   the right byte for subtype 1 records, which was not the
               expected location of subtype, but now is supported. The
               DSECT for R310 does not document this design. And the
               READTIME field is always missing (hex zeros) in the 2/3
               records but is populated in the subtype 1 VSAM record.
   Thanks to Robb Hermes, Sentry Insurance, USA.

Change 27.068  Optional CICSTRAN USERCHAR field was limited to 200 bytes
IMACICDU       due to that ancient SAS V6 limit on character variables.
Apr 15, 2009   That field can now be up to 32000 bytes.  The IMACICDU
               member is an internal member that would not normally have
               been tailored by users.
   Thanks to Henrik Lange, Nordic Processor, NORWAY.

Change 27.067  Support for LDAP Auditing ID=83 Subtype=3 SMF record.:
EXTY83LD       New dataset created:
FORMATS
IMAC83           dddddd   Dataset   Description
VMAC83           TY83LD   TYPE83LD  TY83LD: LDAP AUDITING
VMXGINIT
Apr 13, 2009
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.

====== Changes thru 27.066 were in MXG 27.02 dated Apr 13, 2009=========

Change 27.066  The "owner" variables in TYPE77 were labeled as "CURRENT"
VMAC77         but they are actually the owners/system/etc at the time
Apr 13, 2009   of maximum contention.  The revised labels now are:
                  CURROWN ='NUMBER OF*OWNERS*WHEN AT*MAX CONTENTION'
                  CURRWAIT='NUMBER OF*WAITERS*WHEN AT*MAX CONTENTION'
                  JOBOWN1 ='NAME OF*OWNER#1*WHEN AT*MAX CONTENTION'
                  JOBOWN2 ='NAME OF*OWNER#2*WHEN AT*MAX CONTENTION'
                  JOBWANT1='NAME OF*WANTER#1*WHEN AT*MAX CONTENTION'
                  JOBWANT2='NAME OF*WANTER#2*WHEN AT*MAX CONTENTION'
                  SYSOWN1 ='SYSTEM OF*OWNER#1*WHEN AT*MAX CONTENTION'
                  SYSOWN2 ='SYSTEM OF*OWNER#2*WHEN AT*MAX CONTENTION'
                  SYSWANT1='SYSTEM OF*WANTER#1*WHEN*MAX CONTENTION'
                  SYSWANT2='SYSTEM OF*WANTER#2*WHEN*MAX CONTENTION'
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 27.065  Cosmetic, to eliminate MXGWARN messages from VMXGOPTR.
BUILD001       Change 27.051 corrected VMXGOPTR so the current value of
BUILD005       an option would be used, but invocations of VMXGSUM could
BUIL3001       unexpectedly modify the option; this change pairs each of
BUIL3005       the VMXGOPTR to reset (VALUE=ORIGINAL) prior to VMXGSUMs.
SPUNJOBS       Without this change, the (usually) harmless message
Apr 12, 2009       MXGWARN: STORED VALUE OF DKROCOND IS MXG;
               could have been printed on the SAS log.

Change 27.064  SYSLDSN from the IEC501I message could be a number rather
VMACTMNT       than a DSNAME; the WORDS array did not parse correctly if
Apr 11, 2009   there were adjacent commas for un-populated fields in the
               SYSLOG message text.  The TRANWRD(x,',,',', ,') function
               was used to insert a blank between adjacent commas, once
               I found that TRANWRD and TRANSLATE functions are quite
               inconsistent, with their syntax reversed:
                 TRANSLATE(argument,to,from);
                 TRANWRD  (argument,from,to);
   Thanks to MP Welch, SPRINT, USA.

Change 27.063  Decoding SYSLOG MSGID=IEC205I in TMNT Subtype 8 record
VMACTMNT       adds variables STEPNAME SYSLBLKS SYSLENCR to TYPESYMT
Apr 11, 2009   dataset to identify Encrypted Tapes; SYSENCR will have
               the text  KL1CD:L,LK2CD:L  for encrypted tapes (where
               H:='HASH' or L:LABEL').  The ASMTAPEE monitor program
               will be updated later to write IEC205I in TMNT Subtype 8
               record, and a later update to ASUMTAPE will be needed to
               complete this enhancement.
   Thanks to Bruce Gillespie, First American Reinsurance, USA.

Change 27.062 -TYPE42 Updates for VSAM RLS "ABOVE THE BAR" statistics,
EXTY42D3       added by IBM long ago but overlooked by MXG, adds six new
EXTY42D4       datasets and re-labels the six existing "BELOW THE BAR":
EXTY42S3        TY42S1    TYPE42S1  VSAMRLS SPLEX SC BELOW THE BAR
EXTY42S4        TY42S2    TYPE42S2  VSAMRLS SC CF SYS BELOW THE BAR
EXTY42X3        TY42S3    TYPE42S3  VSAMRLS SPLEX SC ABOVE THE BAR
EXTY42X4        TY42S4    TYPE42S4  VSAMRLS SC CF SYS ABOVE THE BAR
IMAC42          TY42D1    TYPE42D1  VSAMRLS SPLEX DATASET BELOW BAR
VMAC42          TY42D2    TYPE42D2  VSAMRLS DATASET CF SYS BELOW BAR
VMXGINIT        TY42D3    TYPE42D3  VSAMRLS SPLEX DATASET ABOVE BAR
Apr  9, 2009    TY42D4    TYPE42D4  VSAMRLS DATASET CF SYS ABOVE BAR
                TY42X1    TYPE42X1  VSAMRLS BUFF MGR TOTALS BELOW BAR
                TY42X2    TYPE42X2  VSAMRLS BUFF MGR DETAILS BELOW BAR
                TY42X3    TYPE42X3  VSAMRLS BUFF MGR TOTALS ABOVE BAR
                TY42X4    TYPE42X4  VSAMRLS BUFF MGR DETAILS ABOVE BAR
              -APAR OA25559 adds two new variables S42DSRDD,S42DSRDT to
               subtype 5 and subtype 6 records, and these variables are
               are kept in TYPE42DS, TYPE42SR, and TYPE42VT datasets:
                  S42DSRDD='AVERAGE*READ MS*DISCONNECT*TIME'
                  S42DSRDT='READ*OPERATIONS*TO*DATASET'

Change 27.061  MXG 27.01 only.  A DEBUGging PUT statement at line 235
VMAC88         PUT _N_= SUBTYPE= SMFTIME= SMF88LTD= SMF88LIT= GMT88OFF=;
Apr  8, 2009   is now deleted by this change.
   Thanks to Michael Creech, Lender Processing Services, Inc, USA.

Change 27.060  Cosmetic.  Labels for TYPE23 BUFSZMAX and WRNSZMAX said
VMAC23         "PERCENT", but BUFSZMAX has always been the MAX VALUE.
Apr  8, 2009   WRNSZMAX was the Warning PERCENT thru z/OS 1.5, but in
               z/OS 1.6 the description was changed to "VALUE", but it
               was NOT documented in the changes in the 1.6 SMF Manual.
               Now, both labels say VALUE rather than PERCENT.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 27.059  SMF 102 IFCID=108 variables starting at QW0108PR were not
VMAC102        input because QWT02R1N, instead of QWT02R1L (length) was
Apr  6, 2009   tested for GE 160.  Additionally, these new variables are
               now input and kept in T102S018 dataset:
                 QW0108DY QW0108DP QW0108RO QW0108KD QW0108OH QW0108IW
                 QW0108SC QW0108CC
   Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.

Change 27.058  Change 27.015 enhanced VMACSMF to test IF SUBTYPE GT 255
VMACSMF        because some user SMF records store their subtype in the
Apr  6, 2009   left byte of the two byte field.  MXG printed an ERROR
               message, and used the left byte as the subtype number,
               but this ERROR message was not documented in that text.
               I also failed to protect the optional BMC CICS Statistics
               SMF 110 records that are written as subtype=2818 or 47874
               ('BB02'x,'0B02'x) are really subtype=2 STID=200 to 205.
               IF you had enabled the optional IMACICBB member to decode
               these optional STID's, then their CICSBBxx datasets would
               have had no observations, plus the new MXG ERROR message.
   Thanks to Lorena Ortenzi, UniCredit Global Info Services, ITALY.

Change 27.057  MXG 27.01.  DCOLLECT DCOLVOLS the volume size variables
VMACDCOL       DCVALLOC DCVFRESP DCVLGEXT DCVVLCAP are small by 1024.
Apr  3, 2009   Change 27.034 for EAV support mislocated the code that
               multiplies the KB value by 1024 so it was ONLY executed
               if the record is the longer, EAV-updated, volume record.
   Thanks to Frank Lund, EDB, NORWAY.
   Thanks to Chris A. Hughes, University of Georgia, USA.

Change 27.056  Support for Control-D "Decollating" SMF record, which is
EXTYCTCD       a new, different SMF record than the Control-D TYPECTLD
IMACCTCD       support.  This new record creates dataset CONTROCD.
TYPECTCD
TYPSCTCD
VMACCTCD
VMXGINIT
Apr  2, 2009
   Thanks to  Davide Marone, SGS S.p.a. ITALY
   Thanks to  Carlo Gavinelli, SGS S.p.a. ITALY
   Thanks to Gianvittorio Negri, SAS Institute, ITALY.

Change 27.055  OBJECTSTAR (a/k/a HURON) INPUT STATEMENT EXCEEDED RECORD
VMACHURN       ERROR for short Subtype 13 record; record should have
Apr  2, 2009   3123 bytes for 26 segments, but LENGTH is only 3110.
               MXG prints message and hex dump of first 3 instances.
   Thanks to David Stone, TESCO, ENGLAND.

Change 27.054  MXG 27.01 ONLY, CRITICAL ERROR FOR SMF 42 SubTypes 1-20.
VMAC42         I really botched this one.  A partial statement was left
Mar 31, 2009   (IF SUBTYPE GT 20 THEN) ahead of IF OFFPROD GT 0 THEN DO,
               preventing INPUT of STARTIME, ENDTIME & DURATM variables
               for these datasets that are created from subtypes 1-20:
                 TYPE4220 TYPE4237 TYPE42AD TYPE42AU TYPE42CC TYPE42CU
                 TYPE42CV TYPE42D1 TYPE42D2 TYPE42DS TYPE42EX TYPE42L1
                 TYPE42L2 TYPE42NF TYPE42NU TYPE42P1 TYPE42P2 TYPE42P3
                 TYPE42S1 TYPE42S2 TYPE42SC TYPE42SR TYPE42TO TYPE42VL
                 TYPE42VS TYPE42VT TYPE42X1 TYPE42X2 TYPE42XR TYPE42XV
               Not only are STARTIME, ENDTIME, and DURATM missing values
               but also variables that are calculated from DURATM, such
               as, in TYPE42DS, CACHRATE, DASDMPL, and DASDRATE also are
               missing values.
   Thanks to Paul Volpi, UHC, USA.

Change 27.053 -CICS Statistics STID=108 in CICS/TS 3.2 added 48 bytes as
FORMATS        part of the 284 bytes INPUT in MXG 27.01 for CICS/TS 4.1.
UTILEXCL       Now, the first 48 are INPUT then the other 236 are INPUT.
VMAC110        STID=108 DFHSORTS data is output in dataset CICTCPIP.
Mar 31, 2009  -CICS Statistics STID=31 inconsistent length/LDBNRDSN was
Apr  1, 2009   only partially circumvented in Change 26.052, as it used
Apr  2, 2009   re-calculated LDRNSKIP=(STILEN-104)/44 for segment count
APR  4, 2009   only if LDRNSKIP was GT LDBNRDSN, causing the prior count
               to be used when LDRNSKIP=LDBNRDSN.  Since it is now clear
               that LDBNRDSN is the number of POPULATED segments, but is
               NOT the number of segments, LDRNSKIP=(STILEN-104)/44 is
               always used to control the number of segments read in.
               Existing test for LDBDSNAM GT ' ' causes only populated
               segments to be output in the CICLDBDS statists dataset.
              -In CICSTRAN dataset, back in 1994, Change 12.166 noted
               that TASKNR (IBM TRANNUM) is not always a packed decimal,
               and can contain four-character-in-EBCDIC values:
                     bytes     old TASKNR    description
                   1st   2-4   (decimal)
                  '00'X,'III'  13,224,393   SYSTEM INITIALIZATION TASK
                  '00'X,'J00'  13,758,704   JOUR CONTROL, JOURNAL=00
                  '00'X,'J99'  13,761,017   JOUR CONTROL, JOURNAL=99
                  '00'X,'JBS'  13,746,914   JOURNAL CONTROL
                  '40'X,'TCP'  14,926,807   TERMINAL CONTROL
               but that change only stored the right 3-bytes as a large
               decimal value when a character value was found, without
               decoding or mapping that strange TASKNR value.  And, that
               change was not implemented in UTILEXCL logic, causing the
               TASKNR to be a missing value for these character values
               when IMACEXCL built by UTILEXCL was used.  Now, if TASKNR
               is not a valid packed decimal value, the full four-byte
               field is input as binary, and TASKNR is FORMATed with new
               MG110TN format that decodes those binary values to print
               the actual 'III', 'Jnn', 'JBX', or 'TCP' text value,
               right justified to align with numeric values of TASKNR.
               And UTILEXCL was updated with this revised logic.

               Because TASKNR is the only packed decimal field in the
               CICSTRAN segment the "vanilla" VMAC110 tested IF TASKNR=.
               to detect misalignment (that is how MXG finds EXCLUDEd
               fields or optional data segments), but with this change,
               TASKNR can never be a missing value, so the new test is
                  IF TASKNR EQ 0 OR
                  (TASKNR GT 99999 AND COMPRESS(PUT(TASKNR,MG110TN.))
                    NOT IN : ('III','TCP','JBS','J') ) THEN DO;
               The original test for TASKNR=. could not be used when the
               IMACEXCL was in use, since the site might have EXCLUDEd
               the TASKNR field, but since this test is now valid even
               if TASKNR is excluded, this misalignment test was moved
               so it is always applied, even when IMACEXCL is used.
   Thanks to Paul Volpi, UHC, USA.
   Thanks to Jon Keister, Caremark, USA.

Change 27.052  Updates to PMACC01 DB2PM-like report had a number of
ANALDB2R       blank values introduced in MXG 26.26, which also changed
Mar 28, 2009   the format of some durations (Class 7 for example) to
               match the DB2PM printed time format.
   Thanks to Paul Billick, QVC Inc, USA.

Change 27.051 -%VMXGOPTR is used internally in MXG to alter the user's
VMXGOPTR       options, which are then reset to their original value.
VMXGSUM        For example, in VMXGSUM, we must have OBS=MAX for the
Mar 27, 2009   internal parsing DATA steps, so we store your OBS value,
Apr  2, 2009   change it to OBS=MAX for our purpose, and then restore
Apr 13, 2009   your ORIGINAL option value.  But if %VMXGOPTR was then
Apr 29, 2009   invoked a second time for that same option, we used your
               ORIGINAL value instead of your CURRENT value.  Now, each
               time %VMXGOPTR is invoked with NEWVALUE not ORIGINAL, we
               store the current value of that option, so that when the
               resetting %VMXGOPTR invocation with ORIGINAL, we then can
               reset that option to the LAST stored value.
              -After ORIGINAL has been reset, the text "MXG" is stored.
               If a subsequent ORIGINAL invocation finds that "MXG", a
               "MXGWARN STORED VALUE FOR xxxxxx IS MXG" prints to alert
               you that you have un-paired %VMXGOPTR invocations.  This
               might not be a problem, depending on your intended use of
               %VMXGOPTR.
              -VMXGSUM required change because it did not have matched
               pairs of %VMXGOPTR invocations.
              -It is VERY unlikely any MXG users have actually used the
               %VMXGOPTR macro, and even less likely that anyone used
               that retained value of the original %VMXGOPTR design,
               but, technically, this is an UNCOMPATIBLE change.
              -Note that if you should use %VMXGOPTR, that you need to
               use it exclusively to change options; if you interleave
               %VMXGOPTR and OPTIONS statements, your results might be
               unexpected.

               This change was precipitated by a simple user program:
                  OPTIONS OBS=0;
                  %INCLUDE SOURCLIB(TYPEDB2);
                  RUN;
                  OPTIONS OBS=MAX;
                  %INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
               that causes ASUMCICX to fail, because the internal
               %VMXGOPTR in VMXGSUM reset the option OBS=0, which was
               the last value it stored, and so PDB.CICS built by the
               ASUMCICX had 0 OBS.
   Thanks to Paul Volpi, UHC, USA.

Change 27.050  Support for LPAR NMON data for RAWLPAR and RAWCPUTOTAL
EXNMONRC       objects create two new datasets:
EXNMONRL         DDDDDD  DATASET   DESCRIPTION
IMACNMON         NMONRC  NMONRAWC  NMON RAW CPU
VMACNMON         NMONRL  NMONRAWL  NMON RAW LPAR
VMXGINIT
Apr 13, 2009
   Thanks to Peter Turner, Saint George Bank, AUSTRALIA.

Change 27.049  %VGETSYSI for z/OS only, returns global macro variables
VGETSYSI       MXGSYSID and MXGSUSEC which contain the SYSTEM on which
Mar 26, 2009   SAS is executing, and the SU_SEC value for that system.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 27.048  Variable TAPEDRVS in PDB.ASUMTALO is the cross product of
ASUMTALO       allocated tape drives times their duration, so it can be
TRNDTALO       a large and confusing number.  New variable AVGDRIVE is
Mar 26, 2009   now added to PDB.ASUMTALO with the average number of tape
               drives that are allocated. TRNDTALO was also updated with
               the new variable.
   Thanks to Graham Cornwell, DDS, UK.
   Thanks to Craig Heron, DDS, UK.

Change 27.047 -MXG 27.01 only.  The EAV support added in Change 27.034
VMACDCOL       was misaligned, i.e., it was incorrect.  This change has
Mar 25, 2009   now been validated with an EAV volume's DCOLLECT record.
              -The above error also mis-located the previous tests for
               DCVFLAG1 and DCVERROR, causing all of the flag variables
               created from them to be blank.
               Only the DCOLVOLS dataset was in error in 27.01.
               But see also Change 27.057.
   Thanks to Dr. H. Pat Artis, Performance Associated, USA.
   Thanks to Brian Currah, Independent Consultant, CANADA.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 27.046  Major updates to D,V,X records created by EDGHSKP utility
VMACEDGR       add new variables to EDGRDEXT, EDGRVEXT, and EDGRXEXT
Mar 25, 2009   dataset.  These extensive changes have been validated
Apr  2, 2009   with z/OS 1.7, 1.8, 1.9, and 1.10 RMM records.
Apr  4, 2009  -The RMM EDGRDEXT final segment test for GE 95 should have
               been GE 31. RVMVDSN1,RVDSTBIN,RVDSTMED,RVVVOL1 do not
               exist in the DEXT record; these fields were added in 2003
               in Change 21.158, but I must have misread the doc!
               Also, the RDEXPDT and RDEXPDTO date fields were not
               converted to SAS date values.
              -Support for APAR OA22132 adds variables to D/V/X records:
                 RDFACTOR='SPACE/SIZE*FACTOR'  (MB in EBCDIC)
                 RDSIZE  ='RDSIZE'
               Variable RDSIZE is converted by RDFACTOR and formatted
               with MGBYTES to show size in KB/MB/GB/ etc  Note that
               RDSIZE will be a missing value when that 10-byte field
               is blanks, which does occur in many (old?) records.
   Thanks to Paul Volpi, UHC, USA.

Change 27.045 -These QISTWFxx variables in DB2STATS were wrong because
VMACDB2        MXG de-accumulated them, but are not accumulated values:
Mar 20, 2009     QISTW04K QISTW32K QISTWF04 QISTWF32 QISTWFCK QISTWFCU
Mar 24, 2009     QISTWFMU QISTWFMX
Apr 11, 2009  -Variables QWACIXLT and QWAXIXLT were incorrectly divided
Apr 19, 2009   by 4096; they are in microseconds, not TOD clock units.
              -Variables QSSTGETR, QWSDARIR, Q9STCTX1 were deaccumulated
               twice, QSSTGETE was not deaccumulated.
              -Dataset DB2STATS variables for Star Joins are marked in
               the DSECT as "SERVICEABILITY", but are added
              -Star Join statistics variables are added to DB2STATS:
                 QISJTRY ='ALLOCATION*REQUESTS IN*STAR JOIN*POOL'
                 QISJFAIL='FAILURES*CAUSED BY*FULL*STAR JOIN*POOL'
                 QISJSIZE='CURRENT*SIZE OF*STAR JOIN*POOL (MB)'
                 QISJMAX ='MAXIMUM*SIZE OF*STAR JOIN*POOL (MB)'
               They are marked "SERVICEABILITY" in the current DSECT.
   Thanks to Lori Masulis, Fidelity Systems, USA.
   Thanks to Rachel Holt, Fidelity Systems, USA.
   Thanks to Terry L. Berman, DST Systems, USA.
   Thanks to Steve Wood, DST Systems, USA.

Change 27.044  Variable CPCFNAME was defined as $10 in VMXG70PR but it
VMXG70PR       contains only $8, and its length in RMFINTRV is also $8.
Mar 20, 2009   Since RMFINTRV is created by default in BUILDPDB, I chose
               to change the length in the ASUM70PR datasets to avoid
               conflicts.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 27.043 -HP OpenView on AIX variables RELEASE, SOFTWARE, SYSID
ADOCMWAI       were wrong or had no values with the current REPORT macro
ADOCMWSU       (which is now in ADOCMWAI, so you can use that command to
VMACMWAI       extract the data in the format expected by the revised
VMACMWSU       VMACMWAI, and similarly, VMACMWSU/ADOCMWSU members are
Mar 18, 2009   updated for HP OpenView on Sun, with ADOCMWSU containing
Apr 10, 2009   the REPORT macro to match the VMACMWSU code.
   Thanks to Albert Jacobs, KBC ICT Services NV, BELGIUM.

====== Changes thru 27.042 were in MXG 27.01 dated Mar 17, 2009=========

Change 27.042  Support for ASG TMON for CICS V3.2 was in MXG since 25.11
VMACTMO2       for important MONITASK dataset, and most other datasets,
Mar 17, 2009   although MONIIWT & MONITDQ datasets require this change,
               as their offsets were relocated by insertion of the new
               fields for the MONISYST and MONITDQ datasets.
              -Dataset MONITASK, new variables:
                 TADFHAP1 TADFHAP2
              -Dataset MONIPA, new variables:
                 PACMDLYC PACMDLYT PADFHAP1 PADFHAP2 PAICSCC
                 PAICSCD  PAICSRC  PAICSRD  PAL9CPUC PAL9CPUT
                 PAPCDCC  PAPCDLL  PAPCDRL  PAPCLCC  PAPCRCC
                 PAPCRCL  PAPCXCC  PAPGBCC  PAPGCCC  PAPGCTC
                 PAPGGCC  PAPGGCL  PAPGMCC  PAPGPCC  PAPGPCL
                 PASTDLYC PASTDLYT PAWBBOC  PAWBI1C  PAWBIRC
                 PAWBIWC  PAWBO1C  PAWBOSC  PAWBPRC  PAWBRDL
                 PAWBROC  PAWBWDL  PAWBWOC  PAX8CPUC PAX8CPUT
                 PAX9CPUC PAX9CPUT PAXTDLYC PAXTDLYT
              -Dataset MONISYST, new variables:
                 TIMQSCLC TIMQSCLT TIMQSGTC TIMQSGTT TIMQSIQC
                 TIMQSIQT TIMQSOPC TIMQSOPT TIMQSP1C TIMQSP1T
                 TIMQSPTC TIMQSPTT TIMQSSTC TIMQSSTT TIRECICT
              -Dataset MONITDQ, new variables:
                 TDRECICT

Change 27.041  The example to summarize PDB.SMFINTRV into PDB.ASUMSMFI
ASUMSMFI       was enhanced to specify the SYNC59 argument, with the
Mar 17, 2009   default SYNC59=NO, so there would be no change to the
               summarized output (until you change NO to YES!).
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 27.040  Dataset TYPE78PA (Private Area for Monitored Jobs) ID=78
VMAC78         Subtype 2 INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR
Mar 17, 2009   was due to MXG miscoding the new-in-z/OS 1.10 Memory
               Objects.  COMOHWM,LGMOHWM,SHMOHWM,TOFRHWM,TOMOHWM vars
               were INPUT but never existed and are removed.  Labels for
               their MIN and MAX values are changed to FRAMES instead of
               BYTES, and their MGBYTES formats are removed.
   Thanks to Scott Chapman, American Electric Power, USA.

Change 27.039  Change 26.183 is wrong; it removed the QBAC and QTXA vars
ASUMDB2P       from the summary in ASUMDB2P and TRNDDB2 code, claiming
TRNDDB2P       those variables were not in the IFCID=239 (101 subtype 1)
VMACDB2        Package Data records starting in V7.1.  But they all DO
Mar 16, 2009   exist in DB2ACCTP dataset in DB2 V8.1 or later, so they
               are now restored in ASUMDB2P and TRNDDB2P summary code.
               The QBAC and QTXA fields are only populated in DB2ACCTP
               dataset if DB2 Accounting Trace Class 10 is enabled.
               Those variables have ALWAYS been kept in the DB2ACCTP
               dataset, so this only impacts users of MXG's summaries.
   Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.

Change 27.038  Change 26.183 SMF/Performance Sentry Release 3.1.4.
VMACNTSM       A major enhancement in NTSMF adds IDPROCES and SQLVERSN
Mar 15, 2009   to 72 SQLSERVER/MSSQL dataset, so that the individual
               SQL Server Process can be identified.  There were also
               37 new objects that are now supported by these new exit
                members:
                 exntdtos exntm8ca exntm8co exntm8dm exntm8dp exntm8lo
                 exntm8md exntm8me exntm8pa exntm8pc exntm8pi exntm8pr
                 exntm8se exntm8th exntmlca exntmlco exntmldm exntmldp
                 exntmllo exntmlmd exntmlme exntmlpa exntmlpc exntmlpi
                 exntmlpr exntmlse exntmlth exntqlbl exntqldf exntqlrp
                 exntqlwg exntrpsv exntsqbt exntsqdf exntsqpl exntsqrp
                 exntsqwg

Change 27.037  The example in the comments to execute did not have the
ADOC70PR         //SPIN DD UNIT=SYSDA,SPACE=CYL(1,1)
Mar 15, 2009   that is required by that example program.  It can be
               a temporary dataset, because this example builds a
               single output PDB library for analysis.  The SPIN DD
               is only used in the RMFINTRV program to create SPINRMFI,
               used to keep the last four hours of CPU busy for the old
               MXG MSU4HRAV variable when RMFINTRV is created on a daily
               basis.  MSU4HRAV is actually archaic, predating the IBM
               addition of their SMF70LAC, which should be used in place
               of MXG's MSU4HRAV.
   Thanks to MP Welch, SPRINT, USA.

Change 27.036 -Fields DBHCEUID, DBHCEUTX, DBHCEUWN are now kept in the
VMACTMDB       TMON for DB2 TMDBBF,TMDBBG,TMDBBH, and TMDBBI datasets,
Mar 14, 2009   and all three have any '00'X translated to blanks.
              -Variable HSIID now formatted with MGDB2II.
   Thanks to Ernie Amador, UC Davis Health System, USA.

Change 27.035  Previously, you could not leave SYSTEM blank in TIMETABL,
VMXGTIME       but with this revision, if ALL of your SYSTEMS are to be
Mar 11, 2009   changed the same way, you do NOT need to fill in SYSTEM,
               and the same for SYSPLEX.  If you have systems on
               different time zones, then each SYSTEM or SYSPLEX must be
               in the TIMETABLE (but only those that differ from base).
               So if you have 3 systems, 2 on local, and one on local+2,
               to convert all systems to local, only the local+2 system
               needs to be listed in TIMETABL.
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 27.034  Support for EAV, Extended Address Volume, devices with
VMACDCOL       more than 65520 cylinders, introduced in z/OS 1.10, with
Mar 11, 2009   HUGE volume sizes, 236GB (256K Cylinders) first release.
               EAV devices are formally documented as 3390-A devices.
               Dataset DCOLVOLS: new variables:
                 DCVCYLMG='EAV*INDICATOR*FLAG'
                 DCVDPTYP='PHYSICAL*DEVICE*TYPE'
                 DCVEAVOL='EAV*INDICATOR*FLAG'
                 DCVTRALC='ALLOCATED*TRACK*MANAGED'
                 DCVTRFRG='FRAGMENTATION*INDEX*TRACK*MANAGED'
                 DCVTRFRX='FREE*EXTENTS*TRACK*MANAGED'
                 DCVTRFSP='FREESPACE*TRACK*MANAGED'
                 DCVTRLGE='LARGEST*EXTENT*TRACK*MANAGED'
                 DCVTRPCT='PCT FREESPACE*TRACK*MANAGED'
                 DCVTRVLC='TOTAL CAPACITY*TRACK*MANAGED'
                 The new Track-Managed Space or Base Addressing Space
                 is the first 65520 cylinders (54GB), and space above
                 that is the Extended Addressing Space.
                 Disk allocation in the EAS is in units of 21 cylinders.
                 Initial implementation is VSAM only, KSDS,RRDS,ESDS and
                 linear, so DB2 and zFS can use EAV volumes.
               Dataset DCOLSC: new variables:
                 DSCBAKUP='ACC*BACKUP*PARM*VALUE'
                 DSCBUSP ='ACC*BACKUP*PARM*SPECIFIED'
                 DSCDSSEP='DATASET*SEPARATE*PROFILE'
                 DSCFLAG3='DSC*FLAG*BYTE*3'
                 DSCFOSL ='OAM*SUBLEVEL*1'
                 DSCTIER ='MULTI-TIER*SG*VALUE'
                 DSCTIERS='MULTI-TIER*SG*SPECIFIED'
                 DSCVERSN='ACC*VERSION*PARM*VALUE'
                 DSCVERSP='ACC*VERSIONING*PARM*SPECIFIED'
               Dataset DCOLDC  new variables:
                 DDCFSDB ='SDB*IS*SPECIFIED?'
                 DDCFVORD='OVERRIDE*JCL*SPECIFIED?'
               Dataset DCOLBKUP new variables:
                 UBFLAG3='INFORMATION*FLAG*3'
                 UBNOSPH='SPHERE(NO)*PROCESSED?'
                 UBGVCN ='GENVSAMCOMPNAMES*PROCESSED?'
              -Variable UMNMIG, number of times migrated, is reserved in
               dataset DCOLMIGS.
              -Doc notes:
               Length of VOLUME RECORD structure still 112.
              -Type 1415 enhancement:
                -MXG Change 25.071 added variable EADSCBOK was decoded
                 from SMF14EADSCB, in the type 5 extended information
                 segment of the SMF type 14 and 15 records.  It means
                 that the user program provided a valid DCBE that has
                 EADSCB=OK.  It does NOT mean that OPEN needed this
                 option.
                 If this bit is zero, then the program did not specify
                 EADSCB=OK on the DCBE macro. IBM suggests upgrading
                 the program to handle 28-bit cylinders and coding
                 EADSCB=OK.  This is to help plan for when EAV might
                 support more types of data sets.
                -MXG Change 25.071 also decoded variable SMF14EAV from
                 SMF14EXCPBAM.  This is 'Y' if the user program issued
                 one or more instances of the EXCP or XDAP macro since
                 the BSAM, BPAM or QSAM DCB was opened.
              -SMF19 enhancements added by Change 26.071, documentation:
                These existing two-byte counters describe free space for
                the entire volume.  If the value exceeds the capacity of
                the counter, it will be set to the maximum of 65535. The
                correct values will always be in SMF19EVF and SMF19TMF.
                  MXG var  IBM name
                  NRDSCBS  SMF19NDS Number of DSCBs in VTOC
                  NRDSCB0  SMF19DSR Number of format 0 (unused) DSCBs
                           in VTOC
                  NRALTRKS SMF19NAT Number of unused alternate tracks
                  CYLAVAIL SMF19SPC Numbers of free complete cylinders
                  TRKAVAIL SMF19??? Number of free tracks
                  MAXCYLS  SMF19LEX Numbers of complete cylinders in
                                    largest free extent
                  MAXTRKS  SMF19??? Numbers of complete tracks in
                                    largest free extent
                  NRUNEXTS SMF19NUE Number of free extents
               New SMF19CYM variable will mean that the volume has
                cylinder-managed space.
               The following will be new four-byte unsigned counters at
                the end of the record:
                  SMF19SDS Number of DSCBs in VTOC
                  SMF19SL0 Number of format 0 (unused) DSCBs in VTOC
               The following 5 new counters apply to the whole volume.
                  SMF19SUC Number of free complete cylinders
                  SMF19SUT Number of additional free tracks
                  SMF19SNC Number of complete cylinders in largest free
                           extent
                  SMF19SNT Number of additional free tracks in largest
                           free extent
                  SMF19SNE Number of free extents
               The following five new counters apply only to the
               track-managed space on the volume. For volumes with no
               cylinder-managed space (SMF19CYM is off) these counters
               are the same as the previous five counters for the whole
               volume.
                  SMF19BUC Number of free complete cylinders
                  SMF19BUT Number of additional free tracks
                  SMF19BNC Number of complete cylinders in largest free
                           extent
                  SMF19BNT Number of additional free tracks in largest
                           free extent
                  SMF19BNE Number of free extents
               The following new fields provide volume size information
                  SMF19TRK Total number of tracks on the volume
                  SMF19TRM Total number of tracks in track-managed space
                         when SMF19CYM = '1' to the value of SMF19TRK
                         otherwise. When SMF19CYM ='1' this value is
                         also the address where cylinder-managed space
                         begins.

Change 27.033  IMS logs from different IMS Versions cannot be processed
JCLIMSL6       in a single job with JCLIMSL6 or using TYPEIMS7, because
Mar 11, 2009   the IMS version is not provided in the log records.  You
               must EDIT the MACRO _IMSVERS nn %  to tell MXG what IMS
               version's records are to be read.  The original way was
               to define _IMSVERS in your IMACKEEP member, but if you
               have two different versions, you needed to create two
               special tailoring PDS libraries, each with only the that
               IMACKEEP member, and then override the //SOURCLIB DD to
               place this tailoring library ahead of the "USERID" and
               "MXG" source libraries; do-able, but messy at the least.
               To eliminate all that stuff, the JCLIMSL6 example now
               has added, in //SYSIN stream for the TESTIMSB/TESTIMSA:
                  %LET MACKEEP=  MACRO _IMSVER 10.0 % ;
               which overrides the IMSVER definition in either your
               IMACKEEP member or in your IMACIMSA, so that you do NOT
               have to EDIT either of those members into your USERID
               to define the IMS Version.

               Note that this issue only applies to MXG JCLIMSL6 job
               that read the native IMS log records, TYPEIMSx.  It
               does not apply to these vendor products that create their
               own IMS data which contain the IMS version number and
               which can be concatenated or have multiple versions input
               in one job: TYPECIMS/TYPESVIE/TYPEITRF/TYPETIMS.
   Thanks to Herbert Sweeney, Verizon, USA.

Change 27.032  Support for CICS/TS 4.1.0 OPEN BETA.  INCOMPATIBLE as new
VMAC110        fields in CICSTRAN were INSERTed rather than APPENDed to
Nov 20, 2008   the SMF 110 Subtype 1 records:
Dec 17, 2008     BFDGSTCT='EXEC*CICS*BIF*DIGEST*COMMANDS'
Jan 12, 2009     BFTOTCT ='EXEC*CICS*BIF DEEDIT*BIF DIGEST*COMMANDS'
Mar 10, 2009     ECEFOPCT='EVENT*FILTER*OPERATIONS'
EXCICECC         ECEVNTCT='EVENTS*CAPTURED'
EXCICPGD         ECSIGECT='SIGNAL*EVENTS*CAPTURED'
EXCICEPG         EICTOTCT='EXEC*CICS*REQUESTS'
EXCICECG         MAXTTDCN='MAXTTDLY*WAIT FOR*T8 TCB*COUNT'
EXCICECR         MAXTTDTM='MAXTTDLY*WAIT FOR*T8 TCB*DURATION'
VMXGINIT         MLXSSCCN='XML*SYSTEM*SERVICES*CPU*DISPATCHES'
UTILEXCL         MLXSSCTM='XML*SYSTEM*SERVICES*CPU*DURATION'
IMACCICS         MLXSSTDL='TOTAL*DOCUMENT*LENGTH'
Mar 14, 2009     T8CPUTCN='T8CPUT*JVM*MULTITHREADED*COUNT'
                 T8CPUTTM='T8CPUT*JVM*MULTITHREAD*DURATION'
                 TIASKTCT='EXEC*CICS*ASKTIME*COMMANDS'
                 TITOTCT ='EXEC*CICS*ASK/CONVERT/FORMAT*TIME*CMDS'
                 WBATMSNM='ATOMSERVICE*RES DEF*NAME*USED'
                 WBPIPLNM='PIPELINE*RES DEF*NAME*USED'
                 WBPROGNM='PROGRAM NAME*FROM URIMAP*RES DEF'
                 WBSVCENM='WEBSERVICE*RES DEF*NAME*USED'
                 WBURIMNM='URIMAP*RES DEF*NAME*MAPPED'
                 WBSVOPNM='WEBSERVICE*OPERATION*NAME'
                 MLXMLTCT='EXEC*CICS*TRANSFORM*REQUESTS'
                 WSACBLCT='WSACONTEXT*BUILD*REQUESTS'
                 WSACGTCT='WSACONTEXT*GET*REQUESTS'
                 WSAEPCCT='WESAEPR*CREATE*REQUESTS'
                 WSATOTCT='TOTAL*WS-ADDRESSING*REQUESTS'
                 WBSFCRCT='SOAPFAULT*CREATE*REQUESTS'
                 WBSFTOCT='TOTAL*SOAPFAULT*REQUESTS'
                 WBISSFCT='INVOKE*XXXSERVICE*SOAP*FAULTS'
                 WBSREQBL='SOAP*REQUEST*BODY*LENGTH'
                 WBSRSPBL='SOAP*RESPONSE*BODY*LENGTH'
                 JVMTHDTM='JVMSERVER*THREAD*WAIT*DURATION'
                 JVMTHDCN='JVMSERVER*THREAD*WAIT*COUNT'
                 WMQASRTM='WEBSPHERE*MQ*API*CPU SRB*DURATION'
                 WMQASRCN='WEBSPHERE*MQ*API*CPU SRB*COUNT'
              -Three new TCBs are added to the CICDS Dispatch Statistics
               and CICINTRV datasets, T8, EP, and TP, but only T8CPUT is
               contained in the CICSTRAN data at present.  And the TCB
               Numbers have changed, as shown in this table, but since
               the TCB 2-character name is used to identify the TCB,
               this (fortunately) caused no incompatibility in CICDS:
               See Change 27.200 for updated table.
              -New Pool added to STID=60, CICDSPOO for MAXTHRDS TCBs.
              -CICS Statistics STID=11, dataset CICXMR has new variables
                 XMRCHGAG XMRCHGDT XMRCHGUS XMRGRFRM XMRINSAG XMRINSDT
                 XMRINSUS
              -CICS Statistics STID=12, dataset CICXMC has new variables
                 XMCCHAGT XMCCHGTM XMCCHUSR XMCDEFSR XMCINAGT XMCINSTM
                 XMCINUSR
              -CICS Statistics STID=21, dataset CICVT, has new variables
                 A03LUHWM A03LUNUM A03PSEC  A03PSIC A03PSNC
                 A03PSOC  A03PSUC  A03PSTYP A03PSDIN
              -CICS Statistics STID=42, dataset CICTQR new variables
                 TQRCHGDT TQRGRFRM TQRCHGAG TQRCHGUS TQRINSAG TQRINSDT
                 TQRINSUS
              -CICS Statistics STID=52, dataset CICCONSR new variables
                 A14CHGDT A14GRFRM A14CHGAG A14CHGUS A14INSAG A14INSDT
                 A14INSUS
              -CICS Statistics STID=67, dataset CICFCR new variables
                 A17CHGAG A17CHGDT A17CHGUS A17GRFRM A17INSAG A17INSDT
                 A17INSUS
              -CICS Statistics STID=74, dataset CICIMQ new variables
                 CMQBUFMH CMQCB    CMQCHGAG CMQCHGDT CMQCHGUS CMQCRTMH
                 CMQCRTNE CMQCTL   CMQDLTMH CMQDLTMP CMQGRFRM CMQINQMP
                 CMQINSAG CMQINSDT CMQINSUS CMQMHBUF CMQRESYN CMQSETMP
                 CMQSTAT  CMQSUB CMQSUBRQ
              -CICS Statistics STID=102, dataset CICDB2RE new variables
                 D2RCHGAG D2RCHGDT D2RCHGUS D2RGRFRM D2RINSAG D2RINSDT
                 D2RINSUS
              -CICS Statistics STID=104, dataset CICWBR new variables
                 WBRCHGAG WBRCHGDT WBRCHGUS WBRGRFRM WBRINSAG WBRINSDT
                 WBRINSUS WBRNAME WBRUSAGE
              -CICS Statistics STID=105, dataset CICPIR new variables
                 PIRCHGAG PIRCHGDT PIRCHGUS PIRGRFRM PIRINSAG PIRINSDT
                 PIRINSUS
              -CICS Statistics STID=106, dataset CICPIW new variables
                 PIWCHGAG PIWCHGDT PIWCHGUS PIWGRFRM PIWINSAG PIWINSDT
                 PIWINSUS
              -CICS Statistics STID=108, dataset CICTCPIP new variables
                 SORCHGAG SORCHGDT SORCHGUS SORGRFRM SORHOST SORINSAG
                 SORINSDT SORINSUS SORIPADR SORIPFAM SORMXDAT SORTRNID
                 SORURM
              -CICS Statistics STID=109, dataset CICISR new variables
                 ISRCHGAG ISRCHGDT ISRCHGUS ISRFSICQ ISRFSICR ISRFSICS
                 ISRGRFRM ISRINSAG ISRINSDT ISRINSUS ISRIPADR ISRIPFAM
                 ISRLAUTH ISRRMTST ISRTRBYR ISRTRBYS ISRTRREQ
              -CICS Statistics STID=111, dataset CICTCPIP new variables
                 IIRCHGAG IIRCHGDT IIRCHGUS IIRGRFRM IIRINSAG IIRINSDT
                 IIRINSUS
              -CICS Statistics STID=112, dataset CICDHD new variables
                 DHDCHGAG DHDCHGDT DHDCHGUS DHDGRFRM DHDINSAG DHDINSDT
                 DHDINSUS
              -CICS Statistics STID=114, dataset CICTCPEJ new variables
                 EJRASSRT EJRCHGAG EJRCHGDT EJRCHGUS EJRGRFRM EJRINSAG
                 EJRINSDT EJRINSUS EJRIPADR EJRIPFAM
              -New CICS stats STID=120, new dataset
                 CICPGD='PROGRAM DEF (RESOURCE) ID'
                 new variables:
                 PGDAPI   PGDCHGAG PGDCHGDT PGDCHGUS PGDCONCU PGDDATLO
                 PGDDYNAM PGDEXECK PGDEXEKY PGDGRFRM PGDINSAG PGDINSDT
                 PGDINSUS PGDJVM   PGDJVMPR PGDLANG  PGDLANGD PGDPGMTY
                 PGDREMOT PGDRMTPG PGDRMTSY PGDRMTTR PGDRUNEN
              -New CICS stats STID=140, new dataset
                 CICECG='EVENTBINDINGS (GLOBAL) ID'
                 new variables:
                 ECGFLTOP ECGCAPTU ECGDISAB
              -New CICS stats STID=142, new dataset
                 CICEPG='EVENTPROCESS (GLOBAL) ID'
                 new variables:
                 EPGCUEVQ EPGCUTRQ EPGDSPAT EPGDSPCU EPGDSPPK EPGEVTCU
                 EPGEVTTR EPGEVTTS EPGEVTWM EPGNOREV EPGPKEVQ EPGPKTRQ
                 EPGPRIEV EPGPUTEV EPGSYNEV EPGTRDEV EPGTRNEV
               -New STIDs 141 and 143 are structurally supported, but
                only the _CICCMN variables are output, awaiting test
                data records to validate.
                  STID   DATASET   DESCRIPTION
                  141    CICECR    EVENTBINDINGS (RESOURCE) ID
                  143    CICECC    CAPTURESPEC RESOURCE ID
               -See Change 27.200: MXG 27.08 now supports STID 141,143.
              -CICS/TS 4.1 is still a BETA release, so IBM may choose to
               add, or remove, any of these fields in their GA release.
              -See Change 27.200 for Support for CICS/TS 4.1.0 GA.
              -Old notes "ADDED IN CICS 4.1.0" were not CICS/TS 4.1, but
               are now   "ADDED IN CICS/ESA 4.1.0", from 1994!

Change 27.031  A set of sample reports for some basic TCP/IP analysis
ANAL119        from IBM type 119 records (MXG Member TYPE119) for the
May  7, 2009   analysis of FTP and Telnet usage, very similar to the
               ANALTCP reports from SMF 118 records (which was also
               contributed by Steve, by Change 18.091 in April, 2000!
               Excellent comments in the ANAL119 member document these
               sample reports, but don't contact Steve for help; any
               problems should be directed to support@mxg.com.
   Thanks to Steve Clark, DHL, USA.
   Thanks to R. Wells, American General Finance, USA.

Change 27.030 -Only the last MDISK segment in XAMDEV records was output
EXXAMDEM       in the XAMDEV dataset, but there can be many MDISKs, so
IMACXAM        the new XAMDMINI dataset is created, outputting all MDISK
VMACXAM        segments, containing these MDISK-specific variables:
VMXGINIT          DNMDISKS MDSKADDR MDSKDIST MDSKECYL MDSKOWNR MDSKSAMP
Mar  6, 2009      MDSKSCYL MDSKWRIT MDSKZERO UDSKDIST UDSKSAMP UDSKUSER
Mar 17, 2009      UDSKZERO USSKWRIT
               and ALL those variables were removed from XAMDEV dataset.
              -The IODCAD logic had a typo, testing for 3390 instead of
               for 3990, so the 3990 variables in XAMDEV dataset were
               always missing values.
              -These MTRPAG variables were kept in XAMSYS but not in the
               dataset XAMDEV:
                  PGS1     PGS2     PGS3     CALCYLPA CALCYLSP CALCYLPR
                  CALEXTPG CALEXTPS CALEXTPP
   Thanks to Douglas C. Walter, Citigroup, USA.

Change 27.029  Support for BMC's Ultra Op Product's User SMF record
EXULOPIN       creates new dataset ULTRAOP.
FORMATS
IMACULOP
TYPEULOP
TYPSULOP
VMACULOP
VMXGINIT
Mar  4, 2009
   Thanks to Tony Curry, BMC, USA.

Change 27.028 -Support for NMON Nigel's Monitor for AIX/Linux under zVM,
EXNMONPO       record type 'VM' adds 37 new variables to the NMONINTV
IHDRNMON       Interval dataset.  The descriptor record for 'VM' is not
IMACNMON       consistent; sometimes its second word is the expected
VMACNMON       Tnnnn snapshot value, sometimes that value is missing.
VMXGINIT               DIRTY='NR*DIRTY'
Mar 13, 2009           WRITEBACK='NR*WRITEBACK'
                       UNSTABLE='NR*UNSTABLE'
                       PAGETABLEPAGES='NR*PAGE*TABLE*PAGES'
                       MAPPED='NR*MAPPED'
                       SLAB='NR*SLAB'
                       PGPGIN='PGPGIN'
                       PSPGOUT='PGPGOUT'
                       PSWPIN='PSWPIN'
                       PSWPOUT='PSWPOUT'
                       PGFREE='PGFREE'
                       PGACTIVATE='PGACTIVATE'
                       PGDEACTIVATE='PGDEACTIVATE'
                       PGFAULT='PGFAULT'
                       PGMAJFAULT='PJMAJFAULT'
                       PGINODESTEAL='PGINODESTEAL'
                       SLABSCANNED='SLABS*SCANNED'
                       KSWAPDSTEAL='KSWAPD*STEAL'
                       KSWAPINODESTEAL='KSWAPD*INODESTEAL'
                       PAGEOUTRUN='PAGEOUTRUN'
                       ALLOCSTALL='ALLOCSTALL'
                       PGROTATED='PGROTATED'
                       PGALLOCHIGH='PGALLOC*HIGH'
                       PGALLOCNORM='PGALLOC*NORMAL'
                       PGALOCDMA='PGALLOC*DMA'
                       PGREFILLHIGH='PGSTEAL*HIGH'
                       PGREFILLNORM='PGSTEAL*NORMAL'
                       PGREFILLDMA='PGREFILL*DMA'
                       PGSTEALHIGH='PGSTEAL*HIGH'
                       PGSTEALNORM='PGSTEAL*NORMAL'
                       PGSTEALDMA='PGSTEAL*DMA'
                       PGSCANKSWAPDHIGH='PGSCAN*KSWAPD*HIGH'
                       PGSCANKSWAPDNORM='PGSCAN*KSWAPD*NORMAL'
                       PGSCANKSWPADDMA='PGSCAN*KSWAPD*DMA'
                       PGSCANDIRECTHIGH='PGSCAN*DIRECT*HIGH'
                       PGSCANDIRECTNORM='PGSCAN*DIRECT*NORMAL'
                       PGSCANDIRECTDMA='PGSCAN*DIRECT*DMA'
              -Support for record type 'POOLS' creates new NMONPOOL
               dataset with these variables:
                 ENTITLED='ENTITLED'
                 ENTITLED_POOL_CAPACITY='ENTITLED*POOL*CAPACITY'
                 MAX_POOL_CAPACITY='MAX*POOL*CAPACITY'
                 POOL_BUSY_TIME='POOL*BUSY*TIME'
                 POOL_ID='POOL*ID'
                 POOL_MAX_TIME='POOL*MAX*TIME'
                 SHCPUS_IN_SYS='SHCPUS*IN*SYS'
                 SHCPU_BUSY_TIME='SHCPU*BUSY*TIME'
                 SHCPU_TOT_TIME='SHCPU*TOT*TIME'
              -New IHDRNMON "NMON infile" exit is taken after RECTYPE
               has been INPUT so that unwanted record types can be
               deleted prior to processing.  But use carefully; if you
               delete the wrong records, you could end up with nothing
               output to the NMON datasets. And the &IHDRNMOH macro
               variable is also defined so the exit can be defined in
               your //SYSIN with %LET IHDRNMOH= %quote ( your code ) ;
              -Erratic JFSFILE records with 38 instead of 36 fields have
               been observed, but that is a problem with NMON, not MXG.
   Thanks to Long Nguyen, DHS, USA.
   Thanks to Marvin Einarson, DHS, USA.
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 27.027  TYPE42DS variables RESPTIME, MAXRSPTM and MAXSRVTM are in
VMAC42         milliseconds, but MAXRSPTM incorrectly had TIME12.2.  Now
Mar  2, 2009   all have 6.3 format and milliseconds in their label.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 27.026  Variable SMF88LTD='TIMESTAMP WHEN*SMF INTERVAL*EXPIRED'
VMAC88         was usually wrong, as the GMT Offset was repetitively
Mar  2, 2009   applied.  Also, the GMT offset was never applied if the
               GMT Offset was positive.

Change 27.025  Support for z/OS 1.11.
EXTY8224      -TYPE 0. New variable:
EXTY8225         CVTTZ   ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'
EXTY8226      -TYPE1415. NO NEW DATA, but lots of text inserts about
IMAC82           assembling the IFGSMF14 Macro with DSECT=YES, which is
VMAC0            why it is flagged in the SMF Manual as changed.
VMAC82        -TYPE30.  NO NEW DATA, only one line of text updated.
VMXGINIT      -TYPE82.  New subtypes 24, 25, and 26.
May  2, 2009  -TYPE92.  Subtype 15 now documented, but MXG supported
                        was added in Change 26.277 for APAR OA24208.
              -TYPE1415 New variables DCBEEX31 XTIOTYES created from
                        SMF14FLGS.

Change 27.024  If only PMACC04 was requested, a NOT SORTED ERROR for the
ANALDB2R       DB2SUMRY dataset occurred. Some additional corrections to
Feb 28, 2009   PMACC01/PMACC02 (short reports had LOCK suspends reported
               under the PREFETCH column, and WRITE IMMEDIATES under the
               LOCKS column, and time formats match DB2PM (TIME12.6).
   Thanks to Paul Volpi, UHC, USA.

Change 27.023  Variables S17FBKNM S17FEXNM and S17FMFNM are now KEPT in
VMAC117        dataset S117NODE so that it can be combined with S117FLOW
Feb 27, 2009   dataset so the Execution Group and Flowname to which the
               Node belongs can be known.  Those variables are also
               added to the _B117NOD and _B117FLO By List macros.
   Thanks to Trevor Holland, ANZ, AUSTRALIA

Change 27.022  NDM Record 'IK' is now supported, output in NDMDT dataset
VMACNDM        not because I have a DSECT for that NDM subtype, but
Feb 26, 2009   because it appears to have the same structure.
   Thanks to Herbert Sweeney, Verizon, USA.

Change 27.021  QPACxxxx flag variables set from QPACFLGS were not reset,
VMACDB2        so if there was more than one NRQPAC segment in a record,
Feb 25, 2009   the values could have been wrong.  These eight variables
                 QPACDBRM QPACPACK QPACCLS8 QPACCRNT QPACINSP QPACCLS7
                 QPACPAC
               could have been carried forward.
   Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.

Change 27.020  WEEK70PR failed with VARIABLE INTERVAL NOT FOUND because
WEEK70PR       - that variable has not existed in ASUM70PR in years, and
Feb 25, 2009   - WEEK70PR was way out of date, only supporting 16 LPARs.
               This change recreates the old INTERVAL (interval count)
               and was enhanced to support all 60 possible LPARS.
   Thanks to Atle Mjelde, Ergo Group, NORWAY.

Change 27.019  CICS User fields USECOPID/USECUSER/USECBRAN/APPCEMP1
IMACAAAA       are supported in listed new IMACICxx CICS exit members.
IMACICUA          IMACICUA - USECOPID
IMACICUB          IMACICUB - USECUSER
IMACICUC          IMACICUC - USECBRAN
IMACICUD          IMACICUD - APPCEMP1
UTILEXCL
VMAC110
Feb 24, 2009

Change 27.018  DB2 V9 variables added by IBM or overlooked now input.
VMACDB2        New variables in DB2STAT0/DB2STATS from QWSD segment:
Feb 23, 2009     QWSDARTH='ROLLUPS*DUE TO*ROLLUP*THRESH*EXCEEDED'
                 QWSDARSG='ROLLUPS*DUE TO*STORAGE*THRESH*EXCEEDED'
                 QWSDARST='ROLLUPS*DUE TO*STALENESS*THRESH*EXCEDED'
                 QWSDCDTB='NOT ROLLUP*DUE TO*KEY FIELDS*NULL'
               New variable in DB2STAT0/DB2STATS from QVLS segment:
                 QVLSL254='CONTENTIONS*LATCH CLASS*254'
               New variables in DB2STAT0/DB2STATS from QVAS segment:
                 QVASCBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-WAIT'
                 QVASCBOF='FAILED*SYSEVENT*BOOSTS*THREAD-WAIT'
                 QVASMBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-STORE'
                 QVASMBOF='FAILED*SYSEVENT*BOOSTS*THREAD-STORE'
               New variables in DB2STAT0/DB2STATS from QSST segment:
                 QSSTGETS='QSST_SGETM*STACK*REQUEST*GETMAINS'
                 QSSTGETR='QSST_SGETR*GET*REQUESTS'
                 QSSTGETE='QSST_SGETEXT*STACK*EXTENSIONS'
                 QSSTFRES='QSST_SFREEM*SEGMENT*FREEMAIN*REQUESTS'
                 QSSTFRER='QSST_SFREER*REQUESTS*TO FREE A*SEGMENT'
               New variables in DB2STAT0/DB2STATS from QWOS segment:
                 QWOSLUIC='UNREFERNCED*INVERVAL*COUNT'
                 QWOSFLG ='STATUS*FLAG FOR*RMF-API (S)'
                 QWOSRCDE='RETURN*CODE FROM*RMF-API (S)'
                 QWOSRSNC='REASON*CODE FROM*RMF-API (S)'
                 NOTE: DB2 Parameter ZOSMETRICS=YES must be specified to
                 populate these variables.  APAR PK62116 applies.
                 With the default NO value, fields contain 'FFFFFFFF'x.
               New variables in DB2STAT1/DB2STATS from QXST segment:
                 QXCRESEQ QXALTSEQ QXDROSEQ QXPRRESI QXALTVW
                 QXALTCTX QXALTJR  QXCRCTX  QXCRROL  QXDRPCTX QXDRPROL
                 QXMERGE  QXRNIX   QXSTXMLV QXTRTBL
                 These variables were not INPUT in the DB2STAT1 record,
                 but were deaccumulated; all were labeled and did not
                 raise an uninit warning because they were INPUT in the
                 DB2ACCT record.
               New variables in DB2ACCT           from QXST segment:
                 QXALTCTX QXALTJR  QXCRCTX  QXCRROL  QXDRPCTX QXDRPROL
                 QXMERGE  QXRNIX   QXSTXMLV QXTRTBL
                 These variables were INPUT but not kept.
               Variable QBSTLPL in DB2ACCT was not input because its
               conditional INPUT should have been at 276 vice 280.
   Thanks to Steve Wood, DST Systems, USA.
   Thanks to Terry L. Berman, DST Systems, USA.

Change 27.017  Undecoded TOKDANAM non-tokens NOHOME/NOPROGRAM now set
EXTY80TK       their segment-specific variables TOKHOME/TOKPROG to value
IMAC80A        'NOHOME' or 'NOPROGRAM', and logic was added to print
VMAC80A        the first ten instances of undecoded TOKDANAM values with
VMXGINIT         ***MXGNEWDATA: messages and a hex dump on the SAS log.
Feb 20, 2009  -NOTHREADMAX and NOSHMMEMAX non-tokens create new variable
Mar 13, 2009   TOKNOTHR and TOKNOSHM with those text values, and real
               token LDAPHOST decodes and populates new var TOKLDHST.
              -However, it was discovered that there can be multiple
               instances of the (301) segment, with different TOKSUBSY
               values, so these "TOKDANAM-specific" variables
                  TOKASIZM TOKDCE   TOKGID   TOKHOME  TOKLDAP
                  TOKLDHST TOKNOSHM TOKNOTHR TOKPROG  TOKUID
               cannot be kept in the TYPE80nn event datasets, since only
               the last value would be output.  Instead, new TYPE80TK
               dataset is now created, with both the TOKDANAM-specific
               variables, and TOKSUBSY, TOKDANAM, TOKCHARV and TOKNUMRV
               replications to give you easier reporting choices.
   Thanks to Bill Arrowsmith, EuroClear, BELGIUM.
   Thanks to Maurice Peek, EuroClear, BELGIUM.

Change 27.016 -SMF 42 Subtype 25 (Rename Member), NEWMEMNM/OLDMEMNM were
VMAC42         misaligned, because SMF42PF1 plus 3 reserved bytes only
Feb 20, 2009   exist in the subtype 24 record.
              -The three member name fields NEWMEMNM/OLDMEMNM/AORMEMNM
               in subtypes 24 and 25 are theoretically variable length
               fields, so they were INPUT x $VARYING8. SMF42PML/QOL, but
               those lengths are always 8 bytes, so now $EBCDIC8. is
               used, which also makes them correct under ASCII SAS.
              -The subtype 25 record has a minor error: SMF42NT/NRTRIPLT
               the number of triplets, is 3, but 4 triplets are present.
               The fourth points to ICHRUTKN, so MXG tests the offsets
               rather than trusting the NRTRIPLT.
   Thanks to David Kaplan, DTCC, USA.

Change 27.015  Support for processing DB2 GTF records was revised.
UDB2GTF       -The SORT FIELDS= statement in UDB2GTF must be changed to
VMACSMF        only sort on the first field; without this change, there
Feb 20, 2009   was no error, but the output records were incorrect.
              -The _GTFDB2 macro now sets ID=101 if IFCID=239 is found.
              -The massive number of DEBUG statements are no longer
               printed on the log, unless you choose to enable debugging
               in the UDB2GTF program.
   Thanks to Tony Curry, BMC, USA.
   Thanks to Steve Wood, DST Systems, Inc, USA.

Change 27.014 -SAS option TRANSCODE=NO is now set for all $HEX variables
DOC            so they are NOT translated from EBCDIC to ASCII or vice
FORMATS        versa.  Normally when a SAS dataset is moved between
UTILCVRT       different platforms (XPORT,CIMPORT,etc.), all character
UTILXRF1       variables are translated, but this is most unwelcome for
VMXGINIT       MXG variables that contain $HEX values (CPUTYPE changed
VMXGSUM        from '2086'x to '8786'x).  The TRANSCODE attribute is set
Mar  8, 2009   in SAS V9 with syntax "ATTRIB var1 var2 TRANSCODE=NO;"
May  4, 2009   but since it does not exist under SAS V8, and there still
               are MXG sites limping along on archaic SAS V8, two new
               GLOBALed macro variables, &MXGNOTRA and &MXGNOTRB, are
               defined in VMXGINIT by this macro logic:
                  %IF &SASVER GE 9 %THEN %DO;
                    %LET MXGNOTRA= ATTRIB ;
                    %LET MXGNOTRB= TRANSCODE=NO;
                  %END;
                  %ELSE %DO;
                    %LET MXGNOTRA= * ;
                    %LET MXGNOTRB=   ;
                  %END;
               and then this statement was added in each of the 300+
               members that create $HEX variables
                  &MXGNOTRA  var1 var2 var3  &MXGNOTRB  ;
               so the TRANSCODE=NO attribute will be set under SAS V9,
               but under SAS V8, that statement becomes only a comment.
              -In addition to variables formatted with the $HEX format,
               there are character variables that contain hex values but
               they are formatted with MXG-created $MGxxxxx formats. The
               FORMATS member was read to select those format names, and
               lookup format $MGNOTRA was created to validate that these
               "$MG-HEX" variables also have the TRANSCODE=NO specified.
               New QA tests read FORMATS to discover any new "$MG-HEX"
               formats, and update the $MXNOTRA table when new formats
               are found (if I forget when creating a new one!).
              -In March, 2009, SAS V9 did not pass the ATTRIB TRANSCODE
               into a dataset created by a SAS VIEW, but in May, 2009,
               that was corrected by HotFix E9BC81 SAS Note SN-035112,
               and this change text was revised.
              -However, it was also discovered that the dataset created
               by the PROC CONTENTS OUT= operand does NOT contain the
               TRANSCODE attribute; that OUT= dataset is a major input
               for MXG's QA testing of variables.  While the printed
               output of PROC CONTENTS does show the TRANSCODE
               attribute, it is ONLY printed for datasets that have a
               variable with TRANSCODE=NO specified.  Fortunately, the
               SASHELP.VCOLUMN dataset does contain the TRANSCODE
               attribute for every variable, so UTILXRF1 was revised to
               use that dataset to add TRANSCODE to the OUT= XREFDATA
               dataset used for QA analysis.  SAS Development has
               indicated their intention to correct the omission in PROC
               CONTENTS OUT= in a future release.
              -UTILCVRT can be used if the dataset was already moved to
               the new platform, to "un-translate" the $HEX variables;
               it's comments were updated.
              -And, for WPS, the VMXGINIT default sets MXGVIEW=NO.
              -New $MGNOTRA is created in FORMATS by reading the FORMATS
               member to identify MXG-created formats that have HEX data
               values, and then it is used in the QA tests to ensure all
               of those variables do indeed have TRANSCODE=NO specified.
              -Because this change can be recognized by the existence of
               &MXGNOTRA in each updated member, I did NOT change the
               "LAST UPDATED:" text at the top of the 300+ members that
               created a total of 9831 $HEX-containing variables.
               I also did not add the TRANSCODE attribute to the DOCVER
               nor to the ADOCxxxx descriptions, as there's no room for
               a new attribute, and because a PROC CONTENTS will show it
               if you really need to confirm its value for a dataset.

Change 27.013  TMON for MQ Series INPUT STATEMENT EXCEEDED RECORD for QM
VMACTMMQ       subtype; MXG expected 18 reserved bytes that don't exist.
Feb 18, 2009
   Thanks to Paul Volpi, UHC, USA.

Change 27.012  This enhancement to select DB2 reports by DATABASE set a
ANALDB2R       new MXG world record, with fifteen iterations needed to
VFMT102        resolve all possible permutations discovered in testing!
Feb 17, 2009   Selection by DATABASE uses the HEX values of OBID/DBID to
Feb 21, 2009   select the desired observations from DB2 datasets, but
               if IFCID=105 and 107 were traced, they are used to map
               hex values to text names.  If you did not trace 105/107s,
               or no 105/107 for the OBID/DBID being reported was found,
               the reports will print the HEX value instead of the name.
               New documentation in comments for the AUDIT= subparameter
               list the IFCIDs needed for full AUDIT report generation,
               as well as those that do contain the Database ID field.
              -If only PMACC02 was specified, and if both ASUMDB2A and
               DB2ACCCT datasets exist in the DDNAME/LIBREF pointed to
               by the PDB=xxx operand of %ANALDB2R, and if USEACCT=YES
               was specified, ASUMDB2A was always used when DB2ACCT
               should have been used.
   Thanks to Scott Swindling, Nordstrom, USA, who tested each iteration!

Change 27.011  Support for CTG V7.2 (INCOMPATIBLE, new CTG_RECID=7 made
VMAC111        INPUT STATEMENT EXCEEDED RECORD LENGTH error). That new
Feb 19, 2009   subtype is not documented in SC34-6961-00, but protection
               for any new subtype was added, with a NOTE that new data
               exists in the future.
              -CTG_RECID=3 for GD (Gateway Daemon) added new variables:
                 CTGDFSRV='DEFAULT*SERVER*FOR*GATEWAY'
                 CTGHOSNM='HOSTNAME*OF GATEWAY*COMPUTER'
                 CTGIHAEX='CICS*REQUEST*EXIT*CALLS'
                 CTGISYNC='SYNCONRETURN*FAILS'
                 CTGLHAEX='CICS*REQUEST*EXIT*CALLS'
                 CTGLSYNC='SYNCONRETURN*FAILS'
   Thanks to Renato Guerra, SGS Banco Popolare di Verona, ITALY.
   Thanks to Davide Marone, SGS Banco Popolare di Verona, ITALY.

Change 27.010  Variable SMF70CIX is now output in PDB.TYPE70PR dataset,
VMAC7072       as it is the CPU Pool Number.  While it has been INPUT
Feb 16, 2009   for years, it was only used as an index to find out the
               engine type of each LCPUADDR, to store into SMF70CIN; it
               was Martin's SlideShow that educated me to the fact that
               it is also the CPU pool number, and hence worth keeping.
              http://www.slideshare.net/MartinPacker/much-ado-about-cpu
   Thanks to Martin Packer, IBM, EUROPE.

Change 27.009 -SYSLOG MSGID IEF233D was captured by ASMTAPEE in ML-43,
VMACTMNT       last summer, but VMACTMNT was not updated to decode it,
Feb 13, 2009   causing "UNEXPECTED" messages to be printed on the log.
               That MSGID is now output by VMACTMNT in TYPESYMT dataset.
               Support for IEF233D in ASUMTAPE was already in place.
              -SYSLOG messages that do NOT contain DSNAME are created if
               your site has NOT specified  COM='MONITOR DSNAME' in your
               SYS1.PARMLIB(COMMNDxx).  This causes either blank DSNAMEs
               in PDB.TYPESYMT and PDB.ASUMTAPE, or, it caused DSNAME to
               have "MEDIAn", because the SYSLOG MSGID IEC705I was
               incorrectly parsed when DSNAME was not populated.  The
               location of the DSNAME in IEC705I is variable, so MXG's
               parsing was revised to only INPUT the SYSLDSN if the text
               ends in 'MEDIAx'. A new warning message is printed if the
               last field is not MEDIAx, and a warning if the sss field
               is blank, so I can validate my parsing of that instance.
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.

Change 27.008  z/VM 5.2 MONWRITE BROKEN CONTROL RECORD ERROR, because
VMACVMXA       MXG unconditionally INPUT variable PFXCPUTY in 4 subtypes
Feb 13, 2009   but the other 8 subtypes input that field conditionally.
               These four subtypes are now also conditionally INPUT
               (0.1 SYTSYP, 3.2 STORSP, 3.20 STOSXP, 5.3 PRCPRP) based
               on the length of the segment.
   Thanks to Tom Draeger, Aurora, USA.

Change 27.007  Support for IBM's ENQ/DEQ Monitor was initially added in
FORMATS        Change 26.323, but several fields were not documented by
VMACENQM       IBM in the DSECT; the ENQFLAG1/ENQFLAG2 are now decoded,
Feb 11, 2009   and the description of ATTR1 bit settings were deduced.

Change 27.006  Several logrec character variables were length $200 due
VMACEREP       to that pre-SAS-V8-length-limit, or were input $CHAR200
Feb 14, 2009   but then reduced because of shorter $HEX format length.
               These revisions were made:
               New SDWA     $400. $HEX800.  Removed: SDWA1, SDWA1A.
               New SDWARC1  $456. $HEX912.  Removed: SDWARC1A,1B
               New SDWARC2   $16.  $HEX32.
               New SDWARC3   $32.  $HEX64.
               New SDWARC4  $360. $HEX720.
               New SDWAVRA  $255  $HEX510.  Removed: SDWAVRA1.
               New LXC2SNI  $228. $HEX456.  Removed: LXC2SNI1,2
               Old SLHIRB increased to $HEX128.
   Thanks to Ken W. Kasten, Embarq, USA.

Change 27.005 -The _RPDBID macro previously printed PROC FREQ tabulation
BUIL3001       of SMF Record IDs that were read by BUILDPDB (by SYSTEM).
BUILD001       Now, it prints ID+SUBTYPE with the new IDANDSUB variable,
BUILDPD3       e.g., IDANDSUB=110.002 for the ID=110 SUBTYPE=2 records.
BUILDPDB       Additionally, the output of the PROC FREQ is now created
MONTHASC       in the new PDB.SMFRECNT dataset.
MONTHBL3      -The WEEKly and MONTHly PDB build programs were updated to
MONTHBLD       create the SMFRECNT there as well, sorted BY ZDATE.
MONTHBLS      -All of the WEEK/MONTH programs are enhanced so that they
MONTHDSK       will NOT fail when an expected dataset does NOT exist.
MONTHWEK       This means you can implement a new BUILDPDB on any day of
WEEKBL3        the week (previously, the only safe day was to implement
WEEKBL3D       on the first day of your week, so all seven day-of-week
WEEKBL3T       PDBs had the new dataset for the new WEEKly job.), and on
WEEKBLD        any day of the month for the MONTHly job.  Now, by using
VMACID         SAS OPTIONS NODSNFERR NOVNFERR instead of just NODSNFERR,
Feb 12, 2009   the DATASET-NOT-FOUND is protected by NODSNFERR, and the
               BY-VARIABLE-NOT-FOUND is protected by NOVNFERR.
                 Well, almost:  A WARNING: BY VARIABLE NOT FOUND will be
                 printed on the SAS log, but that warning does not set
                 _ERROR_, so there is NO return/condition code created,
                 which is exactly what is desired for this condition.
                 However, it is inconsistent for a WARNING message to
                 not set a condition code, but since we do NOT want that
                 here, SAS Technical Support has said the "WARNING" text
                 will be changed to "NOTE" in the future.
   Thanks to Diane Farias, IBM Global Services, CANADA

Change 27.004  Support for SMF 113 Hardware Instrumentation Services HIS
EXTY113        record, documented in SA23-2260,SA23-2261 and added by
FORMATS        APAR OA25755 (and possibly other APARs), creates TYPE113
IMAC113        dataset with six Basic, six Program State, sixteen Crypto
TYPE113        and twenty-four Extended counters of Level One, Two and
TYPS113        Three Data and Instruction Cache activity counts for each
VMAC113        CPU engine.  The counts are accumulated, so the TYPS113
VMXGINIT       member, which does the de-accumulation in the _S113 SORT
Feb  8, 2009   macro, must be used, or with BUILDPDB, you must add the
               _S113 product sort macro in your EXPDBOUT member.
   Thanks to IBM z/OS Developer Support Program for providing SMF data!!

Change 27.003  Support for Tivoli Automation SMF 114 record.
EXTY114        Creates new TYPE114 dataset from subtype 1 record.
FORMATS        This was originally completed on Jan 11, 2009, as Change
IMAC114        26.298, but I accidentally re-used/overwrote that change
TYPE114        text.  The was no change to the code delivered in 26.26.
TYPS114
VMAC114
VMXGINIT
Jan 11, 2009
Feb  9, 2009
   Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.

Change 27.002 -Original MXG 26.26 ONLY.  Corrected in Feb 12 Version.
READDB2       -READDB2 in MXG 26.26: might not create all datasets that
Feb 11, 2009   you requested, and could impact ANALDB2R(PDB=SMF,...) as
Feb 16, 2009   the READDB2 member is invoked by ANALDB2R to read SMF.
Feb 17, 2009   Last minute changes for IFCID=255 and DB2STAT4 were made
Feb 20, 2009   but validation focused only on that correction.
              -If VMXGTIME was being used, when READDB2 tried to resolve
               a local macro variable it got a bad value placed in a
               local macro variable by VMXGTIME.  This generated a
               WARNING: MACRO VARIABLE NOT RESOLVED.  The macro variable
               name was changed in READDB2 to prevent the conflict.
              -The Second READDB2 in the re-dated MXG 26.26 could fail
               if the DB2= operand was used to select DB2 SubSystems.
               Fortunately (for me!), this caused an actual 180 ERROR
               condition before any data was read, so it was NOT like
               the first (insidious) error that you could overlook until
               you tried to read a non-created DB2 dataset, thus this
               error did not require another refresh!  But the revision
               revealed an unrelated/unreported inconsistency with the
               documentation, if you had multiple selection criteria,
               like %READDB2(DB2=DB2X DB2Y, PLAN=PLANA PLANB).  Those
               criteria were ORed, so all PLANs from DB2X or DB2Y were
               selected, plus all subsystems with PLANA or PLANB were
               also selected.  The logic is now revised to AND all of
               the selection criteria, so now only PLANA or PLANB from
               only either DB2X or DB2Y would be selected.
               And, a cosmetic change was made so that the selection
               criteria are printed on the SAS log, so you can see what
               was requested.
              -A pair of additional errors were also corrected.  Only
               DB2ACCTP was created from ACCOUNT if IFCIDS=ALL was used,
               and calling READDB2 from ANALDB2R could cause this error:
                 DATA=ZZDB2PST;    %
                 ERROR: OLD-STYLE MACRO NAME % MUST CONTAIN ONLY
                        LETTERS, DIGITS, AND UNDERSCORES.
              -May 20: Writing SMFOUT on PC's &RECFM corrected.
              -May 24: The T102S225, DB2STAT4, IFCID=225 building was
                       significantly redesigned in Change 27.097.
   Thanks to Raff Rushton, Kaiser Foundation Hospitals, USA.
   Thanks to Scott Chapman, American Electric Power, USA.
   Thanks to Tony Curry, BMC, USA.

Change 27.001  MXG 26.26 ONLY: PDB.RMFINTRV negative PCTCPUBY: HiperDisp
VMXGRMFI       But ONLY if HiperDispatch is active, plus negative values
Feb 11, 2009   in variables PCTOVHTD CPUACTTM CPUOVHTM MSUINTRV MSUPERHR
               MSU4HRAV and PCTOFHDW.  A recalculation of CPUACTTM was
               not tested with RMF data with HiperDispatch active (i.e.,
               when SMF70PAT/CPUPATTM were GT zero).  That recalculation
               was removed by this change.
   Thanks to Chuck Hopf, Bank of America, USA.


LASTCHANGE: Version 27.
=========================member=CHANGE26================================
 /* COPYRIGHT (C) 1984-2009 MERRILL CONSULTANTS DALLAS TEXAS USA */

Final   MXG Version 26.26 was dated Feb 12, 2009, thru Change 26.326
First   MXG Version 26.26 was dated Feb  3, 2009, thru Change 26.325
        MXG Version 26.26  is the    2009 "Annual Version".
        MXG Newsletter FIFTY-THREE is dated Feb  3, 2009
        MXG Version 26.12 was dated Jan 20, 2009, thru Change 26.308
        MXG Version 26.11 was dated Jan  5, 2009, thru Change 26.296
        MXG Version 26.10 was dated Dec  1, 2008, thru Change 26.271
        MXG Version 26.09 was dated Oct 20, 2008, thru Change 26.240
        MXG Version 26.08 was dated Sep 12, 2008, thru Change 26.209
        MXG Newsletter FIFTY-TWO  was dated Aug 24, 2008
        MXG Version 26.07 was dated Aug 24, 2008, thru Change 26.197
        MXG Version 26.06 was dated Aug  6, 2008, thru Change 26.176
Third   MXG Version 26.06 was dated Aug  5, 2008, thru Change 26.175
Second  MXG Version 26.06 was dated Aug  4, 2008, thru Change 26.173
First   MXG Version 26.06 was dated Aug  1, 2008, thru Change 26.172
        MXG Version 26.05 was dated Jun 18, 2008, thru Change 26.140
        MXG Version 26.04 was dated Jun  4, 2008, thru Change 26.120
        MXG Version 26.03 was dated May 11, 2008, thru Change 26.095
First   MXG Version 26.03 was dated May  8, 2008, thru Change 26.093
        MXG Version 26.02 was dated Apr 22, 2008, thru Change 26.075
        MXG Version 26.01 was dated Mar 11, 2008, thru Change 26.037
        First MXG   26.01 was dated Mar 10, 2008, thru Change 26.036
        MXG Version 25.25 was dated Jan 28, 2008, thru Change 25.309

MXG 25.25 was last year's 2008 "Annual Version", dated January 28, 2008.

Instructions for ftp download can be requested by using this form:
  http://www.mxg.com/ship_current_version
Your download instructions will be sent via return email.

Contents of member CHANGES:

I.    Current MXG Software Version 26.26 is available upon request.
II.   SAS Version requirement information.
III.  WPS Version requirement information.
IV.   MXG Version Required for Hardware, Operating System Release, etc.
V.    Incompatibilities and Installation of MXG 26.26.
VI.   Online Documentation of MXG Software.
VII.  Changes Log

  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online
  at http://www.mxg.com in the "Newsletters" frame.

  Member CHANGES contains the changes made in the current MXG version.
  Member CHANGESS contains all changes that have ever been made to MXG.
  All MXG changes are also online at http://www.mxg.com, in "Changes".

=======================================================================


I.  MXG Version 26.26, dated Feb  3, 2009, the 2009 Annual Version.

    Major enhancements added in MXG 26.26, dated Feb  3, 2009

  TYPEDB2  26.311  DB2STATS4-IFCID=225 in DB2 V9 correction/additions.
  TYPE23   26.312  Support for APAR OA27163, new interval variables.
  TYPEOMMQ 26.319  Support for Omegamon XE MQ Export File
  TYPEENQM 26.323  Support for IBM's ENQ/DEQ Monitor flat file.
  ASMTAPEE 26.317  Enhanced SYSLOG message capture, MSGIDs read from DD.
  TYPETMDB 26.313  New subtypes for TMON for DB2 V4 and V4.1.
  READDB2  26.311  TEXT EXPRESSION LENGTH (65545) EXCEEDS corrected.
  VMXGINIT 26.310  The MXGWORK= argument of VMXGINIT is removed.
  TYPE70   26.308  TYPE70 PARTNICF/IFA/IFL/ZIP variables added.
  TYPEACF2 26.324  Enhancement for ACF2 support to add IHDRACF2 exit.
  UTILCVRT 26.322  UTILCVRT utility for z/OS to ASCII conversion revised

    Major enhancements added in MXG 26.12, dated Jan 20, 2009

  Many     26.300  Conflict Resolution, variables RE-NAMed,RE-LENGTHed
  ANALZPCR 26.297  Execution errors in mismatched Tags corrected.
  TYPE72GO 26.299  MXG 26.10-26.11. PERFINDX missing for R723TYPE=2.
  RMFINTRV 26.303  Capture Ratios for zAAPs,zIIPs added to PDB.RMFINTRV
  TYPE102  26.298  DB2 IFCID=22 INPUT STATEMENT EXCEEDED error fixed.
  FORMATS  26.304  Internal format $MGUTILD for DOCVER created.

    Major enhancements added in MXG 26.11, dated Jan  5, 2009

  Many     26.289  QA Cleanup, variable LENGTHs changed, zdate added.
  VMXGPRAL 26.293  Print all datasets with variable name + label heading
  TYPERMFV 26.287  Support for RMF III CPUG3 z/OS 1.9 (INCOMPAT).
  TYPE92   26.277  Support for APAR OA24208 new subtype 15 for ID=92.
  TYPEOPCN 26.280  Support for Open Connect user SMF record.
  ANALZPCR 26.283  zPCR failed with z/OS V1R9. SELECT=CECTIME supported.
  IMACICMD 26.284  BMC Optional CMRDB2 segment increased to 256 INCOMPAT
  TYPENMON 26.279  DISKSERV,DISKWAIT,MEMPAGESxxx supported, some fixes.
  TYPE78   26.288  TYPE78CU variables for Aliases could be wrong.
  ASUMUOW  26.282  APPLID could be blank in PDB.ASUMUOW.
  BUILDPDB 26.281  IFAUNITS,IFEUNITS added to PDB.STEPS and PDB.JOBS.
  ANALDBJO 26.278  Example analysis JOins DB2ACCT + DB2ACCTP, expensive.
  TYPE72GO 26.276  Negative one value for CPUUNITS due to resolution.
  BLDSMPDB 26.275  New WEK2KEEP=,MTH2KEEP= controls for keeping PDBs.
  TYPEDB2  26.274  Some DB2 V9-only QWACxxxx vars were INPUT with V8.
  TYPEXAM  26.272  Variable SIZE in HSTMEM incorrectly INPUT, is RB4.

    Major enhancements added in MXG 26.10, dated Dec  1, 2008

  ANALZPCR 26.264  Support for IBM zPCR model input from MXG PDB data.
    PDB TYPE70,TYPE70PR,TYPE74 are read to create "External Study" files
    for input to IBM's capacity modeling tool; by default, MXG selects
    the RMF interval from each system with peak CPU usage to be modeled.
    This should make your use of IBM's excellent zPCR tool even easier!

  TYPE70   26.270  NRCPUS redefined, online-non-parked, value changed.
  TYPE70PR 26.243  Support for OA21140 RMF HiperDispatch enhancements.
    Because of these changes MXG 26.10 is now required for HiperDispatch

  TYPE73   26.243  Support for OA21140 zHPF High Performance FICON.
  TYPE120  26.262  Support for WebSphere Version 7, new subtype 9 data.
  TYPEMVCI 26.254  Support for MAINVIEW for CICS 6.1 CMRDETL (INCOMPAT).
  TYPEBVIR 26.250  Support for eight clusters in BVIR33 dataset.
  TYPEHSM  26.249  Sorting HSM ABARS datasets caused NOT SORTED errors.
  TYPE113  26.247  SMF 113 data records needed to finish support.
  TYPE70   26.269  CPUWAIxx/MVSWAIxx for CP Engines 33-63 were missing.
  TYEPRMFV 26.246  RMF III ASIPHTxx SRB CPU times wrong by x1000.
  TYPETPMX 26.245  ERROR VARNAME=$JXSLMJ_ in Thruput Mgr SMF corrected.
  GRAFWRKX 26.244  MIPS was not calculated for WORKLOAD=0, uncaptured.
  ANALDB2R 26.256  %ANALDB2R(PDB=SMF); failed with error.
  VMXGOPTR 26.242  Internal utility enhanced for multiple options.
  TYPEVMXA 26.241  LINUXKRNL '02'x caused BROKEN CONTROL RECORD error.
  TYPE112  26.257  TYPE112 now reads both V550 & V560 subtype 203 data.
  TYPEOMCI 26.257  TYPEOMCI supports subtype 200,201,203, but only V550.
  VMXGINIT 26.252  Forward Slash in a unix libref for WORK supported.
  TYPECTLG 26.255  Enhancements to processing Catalog records.
  Many     26.252  %QUPCASE(xxx) vs %UPCASE for forward slash protect.
  Many     26.259  QA Stream revised to eliminate return code & warnings
  WPS      26.258  WPS 2.3.4 now required for MXG, ARRAY(256,512) error.

    Major enhancements added in MXG 26.09, dated Oct 20, 2008

  TYPE70   26.236  HiperDispatch CPUPATTM, PCTMVSBY can be wrong TYPE70.
  TYPE7072 26.222  Large CPUIFATM IFAUNITS when op varied CP on/offline.
  ASUMMIPS 26.216  ZIPUSED MSU was incorrect, ZIP/ZAP metrics fixed.
  TYPENMON 26.224  NMON variables without decimal point may be wrong.
  TYPESVC  26.221  Support for IBM DS8000 2107 SAN Disk SVCPerfStats.
  TYPENTSM 26.213  Support for new data in NTDS and ASP.NET App objects.
  TYPETMDB 26.210  Support for ASG/Landmark DB2 Monitor V4.1 raw data.
  TYPETNG  26.223  Support for NSM VMWARE ESX 2.5.5 new objects.
  FORMATS  26.231  MEMLIMIT '00000FFFFFFFF000'x value is NOLIMIT.
  READDB2  26.233  Dataset DB2STAT4 and T102S225 created for IFCID=225.
  ASUMSTGP 26.228  Example to report DASD storage by Storage Group.
  TYPERMFV 26.218  RMF III ASIRNM,ASIRDE (reporting class) names blank.
  TYPENDM  26.215  NDM-CDI subtype 'UC' is now output in NDMAE.
  TYPE1415 26.214  Invalid extended segment protection enhanced.
  UPRINDOC 26.238  Utility to PROC PRINT the LABEL and VARIABLE NAME.

    Major enhancements added in MXG 26.08, dated Sep 12, 2008

  TYPEVMXA 26.203  Support for z/VM 5.4 (COMPATIBLE with MXG 25.04+).
  TYPEDB2  26.201  Support for DB2 V9.1 SMF 100,101 (COMPAT MXG 25.25+)
  TYPE1415 26.199  INVALID SMF1415 RECORD, even with Change 25.228, fix.
  TYPEBVIR 26.198  All BVIR32 Pool 00-31 are now Pool 01-32 variables.
  TYPETPMX 26.207  Support for Thruput Manager Subtype 7, new fields.
  IMACICMR 26.206  Optional BMC CMRDATA increased in CICS/TS 3.2.
  WEEKBLDT 26.205  SYSNAME incorrectly added to BY List for TYPE892.
  TYPESHDW 26.204  Support for new subtypes, fields Shadow USER SMF.
  BUILDPDB 26.208  Variables SMF30MLS, MEMLIMIT now kept in PDB.STEPS.

    Major enhancements added in MXG 26.07, dated Aug 24, 2008

  TYPE7072 26.071  Support for z/OS 1.10 (INCOMPAT, due to MXG code).
    MXG code that protected an earlier IBM error in the number of
    triplets caused z/OS 1.10 TYPE72GO to have zero observations,
    so MXG 26.07 is REQUIRED to support z/OS 1.10 records.  Sorry!

  MXGSAS92 26.191 New JCL proc for SAS V9.2 with new z/OS DSNAMES.

  VMXGINIT 26.189  SAS V9.2 Hot Fix F9BA07 eliminates new WARNINGs
    MXG Version 26.03+ provided circumvention for new WARNING messages
    that set condition Code 4 with SAS V9.2, but SAS Hot Fix F9BA07
    now eliminates the need for that MXG circumvention.

  TYPE42   26.187  Support for APAR OA25205 adds SMF 42 subtypes, data.
  TYPEINSY 26.182  Support for MACRO4 INSYNC SMF user record.
  ASMIMSL6 26.190  Support for IMS Log record 0A (CPI-CI Drive PGM).
  TYPEIMS7 26.190  Support for IMS Log record 0A (CPI-CI Drive PGM).
  ASUMCEC  26.188  HiperDispatch subtracts SMF70PAT from SMF70ONT
  ASUMDB2P 26.183  Revised summary/trending of DB2ACCTP example.
  TYPERMFV 26.178  RMF III z/OS 1.9 changed length of ASI segment.

    Major enhancements added in MXG 26.06, dated Aug  6, 2008

  ASMTAPEE 26.148  MXGTMNT ML-43 captures IEF233D mount event, improved.
  UNDUPSMF 26.152  Utility removes duplicate SMF records, output is VBS.
  RMFINTRV 26.165  New RMFWKLRV: RMFINTRV Workload-only dataset created.
  TYPEQACS 26.166  Support for AS/400 Version 6.1.0 (COMPATIBLE).
  TYPETPF  26.163  Support for TPF PUT22 changes, and corrections.
  TYPEOMCI 26.160  Support for Omegamon CICS User records in SMF 112.
  TYPE99   26.155  Support for SMF 99 Subtype 11 Group Capacity Limits.
  TYPE28   26.151  Support for APAR OA24416, 'D6'x NPM record.
  TYPEMVCI 26.145  Support for BMC Mainview CICS CMRTYPE=109 (ABENDS).
  TYPETNG  26.172  Support for NSM VMware Virtual Center 2.5 Servers.
  TYPEDCOL 26.142  DCOLDSET identifies 'HFS' and 'PDSE' datasets.
  TYPETMS5 26.161  New BESKEY variable identifies encrypted CA-1 tapes.
  TYPERMFV 26.150  SPG variables too small due to typo.
  TYPEBVIR 26.143  TS7700 Statistical dataset BVIR32 was trashed.
  TYPE110  26.141  CICS STID=74 dataset CICIMQ ERROR message removed.
  BUILDPD3 26.164  JES3 BUILDPD3 variable JOBCLASS could be blank.
  WEEKxxxx 26.157  NOTSORTED condition due to inconsistent BY lists.
  TYPE77   26.139  TYPE77 QUEUE1-QUEUE4 were wrong, over 100%.
  TYPE70PR 26.154  SMF70LAC missing in PDB.TYPE70PR after offline LPAR.

    Major enhancements added in MXG 26.05, dated Jun 18, 2008

  TYPESVIE 26.133  Support for CA SYSVIEW, CICS, IMS, MVS in one member.
                   replaces partial support (2005) TYPESYSV, TYPESYSI.

  ASMTAPEE 26.135  ML-42 of MXGTMNT, backs out JOB error in ML-41.
  ASUMTAPE 26.122  SYSLOG JOB parse failed with 3 commas in TRANWRD.
  TYPETMNT 26.128A Correction for DEFECT in ASMTAPEE ML-41, CRITICAL.
                   users of MXGTMNT need all three changes above.

  ASUMMIPS 26.131  MIPS/MSU analysis adds IFAs/zAAPs and zIIPs MIPS.
  TYPEPRPR 26.128  Prisma SMF record change in April was not documented.
  TYPENTSM 26.125  Support for BITS NET UTIL, PACER PIPE, USB objects.
  TYPENTSM 26.123  Support for new fields in MEMORY, PROCESS objects.
  TYPEOMAU 26.121  Support for OMEGAMON Audit Records in CICS record.
  TYPE120  26.126  WebSphere allocfails wrong, invalid triplets, st 3.
  UTILEXCL 26.130  Documentation for IMACICEZ/E1/E2 tailoring enhanced.
  VMACDB2  26.136  Corrections to IFCID 119 and IFCID 225 variables.

    Major enhancements added in MXG 26.04, dated Jun  4, 2008

  TYPE70   26.112  26.03: TYPE70 CPUMVSTM/PCTMVSBY/SHORTCPS missing.
  TYPE74   26.117  TYPE747C was missing most observations, now enhanced.
  TYPE42   26.103  INPUT EXCEEDED ID=42 SUBTYPE=15 if more than one S2.
  TYPE23   26.116  Support for APAR OA22414 new variables.
  TYPETMVS 26.111  Full support for TMVS Release 4.1, INCOMPATIBLE.
  TYPEINFO 26.098  Support for Informatics STAT user SMF record.
  TYPE80A  26.107  INPUT EXCEEDED due to new ASSIZMAX in TOKDANAM.
  TYPE7xxx 26.115  Inconsistent BY list for RMF data are now consistent.
  TYPETMNT 26.103  TYPETASK='J  ' in TYPETMNT corrected in VGETJEXN.
  TYPEVMXA 26.114  MONWRITE BAD CONTORL RECORD, with 6.24 record
  MONTHxxx 26.115  Inconsistent BY list for RMF data are now consistent.
  WEEKxxxx 26.115  Inconsistent BY list for RMF data are now consistent.

    Major enhancements added in MXG 26.03, dated May 11, 2008

  ==Support for SAS Version 9.2: COMPATIBLE, no ERRORS, new WARNings==

    See revised note for Hot Fix F9BA07 in MXG 26.07 Major Enhancements

    All recent MXG Versions execute WITHOUT error with SAS Version V9.2.
    V9.2 libraries are read/written by SAS V8.2 or V9.1.3, & vice versa.
    SAS V9.2 Phase I Foundation Level on z/OS and ASCII SAS was tested.

    These MXG Versions WILL print a new SAS V9.2 WARNING, that sets CC=4
    (condition/return code), but that warning is harmless (to MXG code),
    so all MXG output SAS datasets are correct, even with that warning.

    So the ONLY exposure with prior MXG Versions under V9.2 is on z/OS,
    and ONLY if condition code tests are used in your MXG jobstreams.

     This new-in-SAS V9 "MULTIPLE LENGTHS OF A VARIABLE" warning message
     surfaced in MXG delivered code primarily in these two cases:

      a.The intended shortening of the LENGTH of a numeric variable, but
        only when the LENGTH statement precedes the SET/MERGE/UPDATE.
        This occurs in VMXGSUM where the fixed-length-8 variables output
        by PROC MEANS were reduced to 4-bytes, prior to option KEEPLEN.
        The VMXGSUM utility is invoked in all MXG summarization, like
        ASUMxxxx and TRNDxxxx, many ANALxxxx members, and in summarizing
        RMFINTRV and CICINTRV programs included in BUILDPDB.
        It is pervasive in MXG.
        MXG Version 26.03 relocated its LENGTH statement to eliminate.

      b.A JOIN of multiple datasets (SET MON.JOBS TUE.JOBS ...) where
        a variable has different lengths in different datasets.
        This also occurs in VMXGSUM, when multiple input datasets are to
        be combined, like TRENDing, where TREND had shortened LENGTHs
        but the "NEWTREND" internally has fixed, pre-KEEPLEN LENGTHs.
        MXG 26.03 adds KEEPLEN option to PROC MEANS to eliminate.

    MXG Version 26.03 eliminated the new SAS V9.2 WARNING internally,
    in all MXG code members that generated that message.
      In member VMXGINIT:
        Change 26.065 (MXG 26.03) added OPTION VARLENCHK=NOWARN.
        Change 26.189 (MXG 26.07) removed that option.

    Without VARLENCHK=NOWARN, EVEN at 26.03+V9.2 the WARNING can OCCUR:

      a. If you have tailoring members in "USERID.SOURCLIB" from old MXG
         versions, that need the same code revisions to eliminate.

      b. In user-written SAS programs, this could actually be a valid
         warning that a variable was truncated.

     or, at any time in the future, the WARNING can still occur:

      c. When an MXG Version that changed variable LENGTHs is installed,
         subsequent WEEKLY or MONTHLY jobs create the WARNING because
         some PDB's have the old length and some have the new length,
         when those multiple datasets are joined.  Previous to V9.2,
         length were changed with no WARNING nor CC.  Between MXG 24.24
         and 25.25 1206 variable's lengths were changed.

    The Hot Fix is F9BA07.

    Changes 26.191,26.189,26.090,26.078,26.065,26.060 have V9.2 details.

    Note: Originally, MXG 26.02 claimed it supported V9.2, but changes
          26.078 and 26.090 are required to eliminate the new WARNING
          in MXG-delivered code, but there were no errors in 26.02/9.2.

  VMXGSUM  26.090  Support for SAS V9.2 - See 26.078, 26.065, 26.060.
  VMXGSUM  26.078  26.02 ONLY - VARIABLE NOT FOUND corrected.
  ASUMTAPE 26.083  MAJOR rewrite of ASUMTAPE matches more, adds SPIN.
  ASMTAPEE 26.095  ML-41 of MXGTMNT, TYPEARCV Allocation Recovery event
  TYPEAFOP 26.086  Support for AF/Operator SMF record.
  TYPECTMU 26.089  Support for Control-M log records on unix/open sys.
  TYPECTMZ 26.089  Support for Control-M log records on z/OS.
  TYPE112  26.088  Support for SMF 112 MQ segment (subtype 0200x).
  ANALHSM  26.084  New MIGRATE/RECALL/BACKUP HSM report example added.
  TYPE30   26.077  Negative CPUUNITS from zAAPs calculations eliminated.


    Major enhancements added in MXG 26.02, dated Apr 22, 2008

  Doc      26.060  Cosmetic SAS V9.2 differences with SAS V9.1.3.
  TYPE7072 26.039  Support for APAR OA24074, corrected Parked Time.
  ANALACTM 26.064  Implementation of Rich Olcott's The ACTuals Map.
  TYPEACF2 26.051  Support for ACF2 Release 6.2.
  TYPEMGCR 26.047  Support for Version 6 of MegaCryption SMF record.
  IMAC6ESS 26.046  Support for GPARMKY=0050x ESSPRTA variable.
  TYPEIMS7 26.045  Support for IMS Version 10 '08'x Log Record.
  TYPECIMS 26.058  IMF dataset TYPECIMS variable INPUTCLS corrected.

    Major enhancements added in MXG 26.01, dated Mar 11, 2008

  TYPE7072 26.025  Support for APAR OA12774 new z10 RMF data (COMPAT).
                   MXG 25.25 supports the z10 hardware platform, but
                   did not know about this new APAR with TYPE70 data.
  TYPE7072 26.031  Support/Correction Dedicated zAAPs/Dedicated zIIPs.
  TYPE7072 26.006  Support for 64 CP Engines.
  TYPE78CU 26.023  MXG 25.07-25.25. Last LCUID not output in TYPE78CU.
  TYPE79   26.036  R723RCUT was .062 when it should have been 62.
  TYPEIMSA 26.026  Support for new variables in IMS Version 9 and 10.
  TYPEHSM  26.028A HSM FSR updated for z/OS 1.8 and 1.8 new variables.
  TYPE102  26.011  Support for IFCID 22 APAR PK38803.
  TYPEMPLX 26.014  IMPLX Version 4.1 is now supported.
  VMXGINIT 26.012  SOURCLIB,SASAUTOS dsnames now printed at MXG INIT.
  TYPE110  26.007  CICDS Dispatcher Statistics and PCTREGBY created.
  ASUM70PR 26.003  LPARCPUS in ASUM70PR summary is not always integer.
  TYPERMFV 26.032  Debugging PUT statement removed.


    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes that used to be in CHANGES.


  All of these enhancements are described in the Change Log, below.

II.   SAS Version requirement information:

      MXG 26.26 executes with SAS V8.2 or SAS V9.1.3 or SAS V9.2, on any
      supported platform.  It has not executed under SAS V6 in years.

      The "PDB" libraries (i.e., SAS data libraries) must be created by
      one of those listed SAS versions, but any of those data libraries
      can be read or updated by any of those versions.


      For SAS Version V9.2 (TS1M0):

        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.

        On z/OS, new DSNAMES for SAS libraries are in the new MXGSAS92
        JCL procedure example.

        All recent MXG Versions execute WITHOUT error with SAS Version
        V9.2.  V9.2 libraries are read/written by SAS V8.2 or V9.1.3, &
        vice versa.

        Without SAS Hot Fix F9BA07, MXG versions prior to 26.03 will
        print a new SAS V9.2 WARNING, that sets CC=4 (condition/return
        code), but that warning is harmless (to MXG code) so all MXG
        output SAS datasets are correct, even with that warning.  So the
        ONLY exposure with prior MXG Versions is only on z/OS, only if
        condition code tests are used in your MXG jobstreams.


      For SAS V9.1.3 on z/OS with Service Pack 4:

        There are no reported errors, and MXG's CONFIGV9 now specifies
        V9SEQ instead of V6SEQ.  As V6SEQ does not support long length
        character variables, it should not be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
         to be completely safe.  No earlier Version 8's were supported.

       Sequential Engine Status:
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      MXG 26.09 QA tests were executed on z/OS with SAS V9.1.3 and V9.2
      and also both V9.1.3 and V9.2 on Windows XP.
      (I can no longer run QA tests with "archaic" SAS Version 8.2.)

      Prior QA tests have been run with all SAS releases available at
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
      and on HP-UX v11.11 model rp5470, confirming full compatibility.

      MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

III.  WPS Version requirement information:

      WPS Version 2.3.4 is required for MXG.  See Change 26.258.

      See NEWSLETTERS for "MXG Support for WPS Software"

IV.   MXG Version Required for Hardware, Operating System Release, etc.

    Availability dates for the IBM products and MXG version required for
    the processing of that product's data records:

                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS 1.1                         Mar 30, 2001        18.11
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02
      z/OS 1.2                         Oct 31, 2001        19.04
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03
      z/OS 1.4 Support                 Sep 27, 2002        20.06
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04
      z/OS 1.5                         Mar 31, 2004        21.21
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10
      z/OS new z10 variables           Mar  5, 2008        26.01
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11
      CICS-TS for Z/OS Version 2.2     Jan 25, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS for Z/OS Version 2.3     Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02A
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        26.08
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Mar 96, 2004        26.01*
      IMS log 10.0                     Mar 06, 2007        26.01*
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06

    Note: Asterisk before the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including cics/ts 3.1  22.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       The Monitor for CICS/TS V2.3 for CICS/TS 3.1        22.08

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               26.02*
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           25.04

V.    Incompatibilities and Installation of MXG 26.26.


 1. Incompatibilities introduced in MXG 26.26:

  a- Changes in MXG architecture made between 26.26 and prior versions
     that can introduce known incompatibilities.

     ASUMTAPE:  You must delete SPIN.SPINMOUN before using the revised
                ASUMTAPE program.  See change 26.083.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINST9 for
    SAS Version 9.1.3 (JCLINST8 for now-archaic SAS Version 8.2).

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
    COMPAT       the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.
                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.


VI.   Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


VII.  Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.



Alphabetical list of important changes in MXG 26.26 after MXG 25.25:

  Dataset/
  Member   Change    Description

  ANALACTM 26.064  Implementation of Rich Olcott's The ACTuals Map.
  ANALDB2R 26.256  %ANALDB2R(PDB=SMF); failed with error.
  ANALDBJO 26.278  Example analysis JOins DB2ACCT + DB2ACCTP, expensive.
  ANALHSM  26.084  New MIGRATE/RECALL/BACKUP HSM report example added.
  ANALZPCR 26.283  zPCR failed with z/OS V1R9. SELECT=CECTIME supported.
  ANALZPCR 26.297  Execution errors in mismatched Tags corrected.
  ASMIMSL6 26.190  Support for IMS Log record 0A (CPI-CI Drive PGM).
  ASMTAPEE 26.095  ML-41 of MXGTMNT, TYPEARCV Allocation Recovery event
  ASMTAPEE 26.095  ML-41 of MXGTMNT, TYPEARCV Allocation Recovery event
  ASMTAPEE 26.135  ML-42 of MXGTMNT, backs out JOB error in ML-41.
  ASMTAPEE 26.148  MXGTMNT ML-43 captures IEF233D mount event, improved.
  ASMTAPEE 26.317  Enhanced SYSLOG message capture, no reassembly.
  ASUM70PR 26.003  LPARCPUS in ASUM70PR summary is not always integer.
  ASUM70PR 26.031  Support/Correction Dedicated zAAPs/Dedicated zIIPs.
  ASUM70PR 26.041  Default INTERVAL in ASUM70PR restored to QTRHOUR.
  ASUMCEC  26.188  HiperDispatch subtracts SMF70PAT from SMF70ONT
  ASUMDB2P 26.183  Revised summary/trending of DB2ACCTP example.
  ASUMMIPS 26.131  MIPS/MSU analysis adds IFAs/zAAPs and zIIPs MIPS.
  ASUMMIPS 26.216  ZIPUSED MSU was incorrect, ZIP/ZAP metrics fixed.
  ASUMSTGP 26.228  Example to report DASD storage by Storage Group.
  ASUMTAPE 26.083  MAJOR rewrite of ASUMTAPE corrects errors, adds SPIN.
  ASUMTAPE 26.122  SYSLOG JOB parse failed with 3 commas in TRANWRD.
  ASUMUOW  26.282  APPLID could be blank in PDB.ASUMUOW.
  BLDSMPDB 26.275  New WEK2KEEP=,MTH2KEEP= controls for keeping PDBs.
  BUILDPD3 26.164  JES3 BUILDPD3 variable JOBCLASS could be blank.
  BUILDPDB 26.208  Variables SMF30MLS, MEMLIMIT now kept in PDB.STEPS.
  BUILDPDB 26.281  IFAUNITS,IFEUNITS added to PDB.STEPS and PDB.JOBS.
  Doc      26.060  Cosmetic SAS V9.2 differences with SAS V9.1.3.
  FORMATS  26.231  MEMLIMIT '00000FFFFFFFF000'x value is NOLIMIT.
  FORMATS  26.304  Internal format $MGUTILD for DOCVER created.
  GRAFWRKX 26.244  MIPS was not calculated for WORKLOAD=0, uncaptured.
  IEBUPDTE 26.235  INFILE option TERMSTR=CRLF reads unix LF-only files.
  IMAC6ESS 26.046  Support for GPARMKY=0050x, new ESSPRTAT variable.
  IMACICMD 26.284  BMC Optional CMRDB2 segment increased to 256 INCOMPAT
  IMACICMR 26.206  Optional BMC CMRDATA increased in CICS/TS 3.2.
  MONTHBL3 26.293  NOT SORTED for JES3 MONTHBL3.
  MONTHxxx 26.115  Inconsistent BY list for RMF data are now consistent.
  MXGSAS92 26.191  New JCL Proc for SAS V9.2, new z/OS DSNAMES.
  Many     26.065  Support for no-WARNING execution under SAS V9.2.
  Many     26.252  %QUPCASE(xxx) vs %UPCASE for forward slash protect.
  Many     26.259  QA Stream revised to eliminate return code & warnings
  Many     26.289  QA Cleanup, variable LENGTHs changed, zdate added.
  Many     26.300  Conflict Resolution, variables RE-NAMed,RE-LENGTHed
  READDB2  26.233  Dataset DB2STAT4 and T102S225 created for IFCID=225.
  READDB2  26.311  TEXT EXPRESSION LENGTH (65545) EXCEEDS corrected.
  RMFINTRV 26.165  New RMFWKLRV: RMFINTRV Workload-only dataset created.
  RMFINTRV 26.295  New WKLDIOCN and WKLDIORT variables added to RMFWKLRV
  RMFINTRV 26.303  Capture Ratios for zAAPs,zIIPs added to PDB.RMFINTRV
  TYEPRMFV 26.246  RMF III ASIPHTxx SRB CPU times wrong by x1000.
  TYPE102  26.011  Support for IFCID 22 APAR PK38803.
  TYPE102  26.096  Variables QW0227FG/PG were always missing.
  TYPE102  26.298  DB2 IFCID=22 INPUT STATEMENT EXCEEDED error fixed.
  TYPE110  26.007  CICDS Dispatcher Statistics and PCTREGBY created.
  TYPE110  26.052  Protection for SMF 110 St 2 STID 31 short segments.
  TYPE110  26.141  CICS STID=74 dataset CICIMQ ERROR message removed.
  TYPE112  26.088  Support for SMF 112 MQ segment (subtype 0200x).
  TYPE112  26.257  TYPE112 now reads both V550 & V560 subtype 203 data.
  TYPE113  26.247  SMF 113 data records needed to finish support.
  TYPE119  26.067  ID=119 ST=21 INPUT STATEMENT EXCEEDED, NTHOSTTN short
  TYPE120  26.126  WebSphere allocfails wrong, invalid triplets, st 3.
  TYPE120  26.262  Support for WebSphere Version 7, new subtype 9 data.
  TYPE1415 26.199  INVALID SMF1415 RECORD, even with Change 25.228, fix.
  TYPE1415 26.214  Invalid extended segment protection enhanced.
  TYPE23   26.116  Support for APAR OA22414 new variables.
  TYPE23   26.312  Support for APAR OA27163, new interval variables.
  TYPE28   26.151  Support for APAR OA24416, 'D6'x NPM record.
  TYPE30   26.077  Negative CPUUNITS from zAAPs calculations eliminated.
  TYPE42   26.103  INPUT EXCEEDED ID=42 SUBTYPE=15 if more than one S2.
  TYPE42   26.187  Support for APAR OA25205 adds SMF 42 subtypes, data.
  TYPE70   26.112  26.03: TYPE70 CPUMVSTM/PCTMVSBY/SHORTCPS missing.
  TYPE70   26.236  HiperDispatch CPUPATTM, PCTMVSBY can be wrong TYPE70.
  TYPE70   26.269  CPUWAIxx/MVSWAIxx for CP Engines 33-63 were missing.
  TYPE70   26.270  NRCPUS redefined, online-non-parked, value changed.
  TYPE70   26.308  TYPE70 PARTNICF/IFA/IFL/ZIP variables added.
  TYPE7072 26.025  Support for APAR OA12774 new z10 variables (COMPAT).
  TYPE7072 26.031  Support/Correction Dedicated zAAPs/Dedicated zIIPs.
  TYPE7072 26.039  Support for APAR OA24074, corrected Parked Time.
  TYPE7072 26.0781 Support for z/OS 1.10 (INCOMPAT, due to MXG code).
  TYPE7072 26.222  Large CPUIFATM IFAUNITS when op varied CP on/offline.
  TYPE70PR 26.154  SMF70LAC missing in PDB.TYPE70PR after offline LPAR.
  TYPE70PR 26.243  Support for OA21140 RMF HiperDispatch enhancements.
  TYPE71   26.069  TYPE71 HIUICMN,HIUICMX had wrong UIC values.
  TYPE72GO 26.276  Negative one value for CPUUNITS due to resolution.
  TYPE72GO 26.299  MXG 26.10-26.11. PERFINDX missing for R723TYPE=2.
  TYPE73   26.243  Support for OA21140 zHPF High Performance FICON.
  TYPE74   26.115  RMF BYLIST is SYSPLEX SYSTEM SYSNAME STARTIME.
  TYPE74   26.117  TYPE747C was missing most observations, now enhanced.
  TYPE77   26.139  TYPE77 QUEUE1-QUEUE4 were wrong, over 100%.
  TYPE77   26.271  INVALID THIRD ARGUMENT TO FUNCTION SUBSTR in RMF 77.
  TYPE78   26.288  TYPE78CU variables for Aliases could be wrong.
  TYPE78CU 26.023  MXG 25.07-25.25. Last LCUID not output in TYPE78CU.
  TYPE79   26.036  Variable R793CUT was 0.062, should have been 62.
  TYPE80A  26.107  INPUT EXCEEDED due to new ASSIZMAX in TOKDANAM.
  TYPE92   26.277  Support for APAR OA24208 new subtype 15 for ID=92.
  TYPE99   26.155  Support for SMF 99 Subtype 11 Group Capacity Limits.
  TYPEACF2 26.051  Support for ACF2 Release 6.2.
  TYPEACF2 26.324  Enhancement for ACF2 support adds IHDRACF2 exit.
  TYPEAFOP 26.086  Support for AF/Operator SMF record.
  TYPEBVIR 26.018  BVIR30 now contains both PG0 and Preference Grp 1.
  TYPEBVIR 26.143  TS7700 Statistical dataset BVIR32 was trashed.
  TYPEBVIR 26.198  All BVIR32 Pool 00-31 are now Pool 01-32 variables.
  TYPEBVIR 26.250  Support for eight clusters in BVIR33 dataset.
  TYPECIMS 26.058  IMF dataset TYPECIMS variable INPUTCLS corrected.
  TYPECTLG 26.255  Enhancements to processing Catalog records.
  TYPECTMU 26.089  Support for Control-M log records on unix/open sys.
  TYPECTMZ 26.089  Support for Control-M log records on z/OS.
  TYPEDB2  26.201  Support for DB2 V9.1 SMF 100,101 (COMPAT MXG 25.25+)
  TYPEDB2  26.274  Some DB2 V9-only QWACxxxx vars were INPUT with V8.
  TYPEDB2  26.311  DB2STATS4 for IFCID=225 in DB2 V9 corrections.
  TYPEDCOL 26.142  DCOLDSET identifies 'HFS' and 'PDSE' datasets.
  TYPEENQM 26.323  Support for IBM's ENQ/DEQ Monitor flat file.
  TYPEHSM  26.028A HSM FSR updated for z/OS 1.8 and 1.8 new variables.
  TYPEHSM  26.249  Sorting HSM ABARS datasets caused NOT SORTED errors.
  TYPEIMS7 26.026  Support for new variables in IMS Version 9 and 10.
  TYPEIMS7 26.045  Support for IMS Version 10 '08'x Log Record.
  TYPEIMS7 26.190  Support for IMS Log record 0A (CPI-CI Drive PGM).
  TYPEIMSA 26.026  Support for new variables in IMS Version 9 and 10.
  TYPEINFO 26.098  Support for Informatics STAT user SMF record.
  TYPEINSY 26.182  Support for MACRO4 INSYNC SMF user record.
  TYPEIPAC 26.290  View Direct subtype 3 record error, needs ptf?
  TYPEITRF 26.034  ITRF x'10' INPUT STATEMENT EXCEEDED with LENGTH=251.
  TYPEMGCR 26.047  Support for Version 6 of MegaCryption SMF record.
  TYPEMPLX 26.014  IMPLX Version 4.1 is now supported.
  TYPEMVCI 26.145  Support for BMC Mainview CICS CMRTYPE=109 (ABENDS).
  TYPEMVCI 26.254  Support for MAINVIEW for CICS 6.1 CMRDETL (INCOMPAT).
  TYPENDM  26.215  NDM-CDI subtype 'UC' is now output in NDMAE.
  TYPENMON 26.100  Invalid MEM header record protected.
  TYPENMON 26.224  NMON variables without decimal point may be wrong.
  TYPENMON 26.279  DISKSERV,DISKWAIT,MEMPAGESxxx supported, some fixes.
  TYPENTSM 26.123  Support for new fields in MEMORY, PROCESS objects.
  TYPENTSM 26.125  Support for BITS NET UTIL, PACER PIPE, USB objects.
  TYPENTSM 26.213  Support for new data in NTDS and ASP.NET App objects.
  TYPEOMAU 26.121  Support for OMEGAMON Audit Records in CICS record.
  TYPEOMCI 26.160  Support for Omegamon CICS User records in SMF 112.
  TYPEOMCI 26.257  TYPEOMCI supports subtype 200,201,203, but only V550.
  TYPEOMMQ 26.319  Support for Omegamon XE MQ Export File
  TYPEOPCN 26.280  Support for Open Connect user SMF record.
  TYPEPRPR 26.128  Prisma SMF record change in April was not documented.
  TYPEQACS 26.166  Support for AS/400 Version 6.1.0 (COMPATIBLE).
  TYPERACF 26.022  TYPERACF supports ASCII execution with EBCDIC ftp.
  TYPERMFV 26.032  Debugging PUT statement removed.
  TYPERMFV 26.053  Calculations of ASIxxxxx variables to match RMF.
  TYPERMFV 26.150  SPG variables too small due to typo.
  TYPERMFV 26.178  RMF III z/OS 1.9 changed length of ASI segment.
  TYPERMFV 26.218  RMF III ASIRNM,ASIRDE (reporting class) names blank.
  TYPERMFV 26.287  Support for RMF III CPUG3 z/OS 1.9 (INCOMPAT).
  TYPESHDW 26.204  Support for new subtypes, fields Shadow USER SMF.
  TYPESRDF 26.059  SPDMXUSE is character, SRDMXUPS is new numeric pct.
  TYPESVC  26.221  Support for IBM DS8000 2107 SAN Disk SVCPerfStats.
  TYPESVIE 26.133  Support for CA SYSVIEW, CICS, IMS, MVS in one member.
  TYPETMDB 26.210  Support for ASG/Landmark DB2 Monitor V4.1 raw data.
  TYPETMDB 26.313  New subtypes for TMON for DB2 V4 and V4.1.
  TYPETMNT 26.103  TYPETASK='J  ' in TYPETMNT corrected in VGETJEXN.
  TYPETMNT 26.128A Correction for DEFECT in ASMTAPEE ML-41, CRITICAL.
  TYPETMS5 26.161  New BESKEY variable identifies encrypted CA-1 tapes.
  TYPETMVS 26.111  Full support for TMVS Release 4.1, INCOMPATIBLE.
  TYPETNG  26.033  Support for more new VMware Objects in CA NSM.
  TYPETNG  26.172  Support for VMware Virtual Center Servers in NSM.
  TYPETNG  26.223  NSM VMWARE ESX 2.5.5 new objects supported.
  TYPETPF  26.163  Support for TPF PUT22 changes, and corrections.
  TYPETPMX 26.207  Support for Thruput Manager Subtype 7, new fields.
  TYPETPMX 26.245  ERROR VARNAME=$JXSLMJ_ in Thruput Mgr SMF corrected.
  TYPEVMXA 26.114  MONWRITE BAD CONTORL RECORD, with 6.24 record
  TYPEVMXA 26.203  Support for z/VM 5.4 (COMPATIBLE with MXG 25.04+).
  TYPEVMXA 26.241  LINUXKRNL '02'x caused BROKEN CONTROL RECORD error.
  TYPEXAM  26.272  Variable SIZE in HSTMEM incorrectly INPUT, is RB4.
  UNDUPSMF 26.152  Utility removes duplicate SMF records, output is VBS.
  UPRINDOC 26.238  Utility to PROC PRINT the LABEL and VARIABLE NAME.
  UTILBLDP 26.212  SAS V9.2 only, %ELSE %THEN %DO correction overlooked.
  UTILBLDP 26.294  SUPPRESS=CICSTRAN or DB2ACCT options added.
  UTILCVRT 26.322  UTILCVRT utility for z/OS to ASCII conversion revised
  UTILEXCL 26.130  Documentation for IMACICEZ/E1/E2 tailoring enhanced.
  VMACDB2  26.136  Corrections to IFCID 119 and IFCID 225 variables.
  VMXGCAPT 26.001  Typo VMUM corrected to VWUM.
  VMXGINIT 26.012  SOURCLIB,SASAUTOS dsnames now printed at MXG INIT.
  VMXGINIT 26.189  SAS V9.2 Hot Fix F9BA07 eliminates new WARNINGs
  VMXGINIT 26.252  Forward Slash in a unix libref for WORK supported.
  VMXGINIT 26.310  The MXGWORK= argument of VMXGINIT is removed.
  VMXGOPTR 26.242  Internal utility enhanced for multiple options.
  VMXGPRAL 26.293  Print all datasets with variable name + label heading
  VMXGSUM  26.078  26.02 ONLY - possible VARIABLE NOT FOUND internally.
  VMXGSUME 26.227  Now invokes normal VMXGSUM, no longer needed.
  WEEKBLDT 26.205  SYSNAME incorrectly added to BY List for TYPE892.
  WEEKxxxx 26.115  Inconsistent BY list for RMF data are now consistent.
  WEEKxxxx 26.157  NOTSORTED condition due to inconsistent BY lists.
  WPS      26.258  WPS 2.3.4 now required for MXG, ARRAY(256,512) error.
  WPS      26.291  Circumvention for CCHHR, not supported in WPS.

  See member CHANGESS for all changes ever made to MXG Software.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 26.

====== Changes thru 26.326 were in MXG 26.26 dated Feb 12, 2009=========

Change 26.326  Two Errors in the First MXG 26.26 dated Feb 3 were fixed
READDB2        by replacement of READDB2 and VMXGRMFI:
VMXGRMFI      -READDB2 in MXG 26.26: might not create all datasets that
Feb 12, 2009   you requested, and could impact ANALDB2R(PDB=SMF,...) as
               the READDB2 member is invoked by ANALDB2R to read SMF.
               Last minute changes for IFCID=255 and DB2STAT4 were made
               but validation focused only on that correction.
              -If VMXGTIME was being used, when READDB2 tried to resolve
               a local macro variable it got a bad value placed in a
               local macro variable by VMXGTIME.  This generated a
               WARNING: MACRO VARIABLE NOT RESOLVED.  The macro variable
               name was changed in READDB2 to prevent the conflict.
   Thanks to Raff Rushton, Kaiser Foundation Hospitals, USA.
               MXG 26.26 ONLY: PDB.RMFINTRV negative PCTCPUBY, HiperDsp.
               But ONLY if HiperDispatch is active, plus negative values
               in variables PCTOVHTD CPUACTTM CPUOVHTM MSUINTRV MSUPERHR
               MSU4HRAV and PCTOFHDW.  A recalculation of CPUACTTM was
               not tested with RMF data with HiperDispatch active (i.e.,
               when SMF70PAT/CPUPATTM were GT zero).  That recalculation
               was removed by this change.
   Thanks to Chuck Hopf, Bank of America, USA.


====== Changes thru 26.325 were in MXG 26.26 dated Feb  3, 2009=========

Change 26.325  The calculation of RDHITPCT in TYPE42SR was corrected by
VMAC42         Change 19.006, but other instances (TYPE42VT,TYPE42DS)
Feb  3, 2009   were still divided by CACHCAND vs (CACHCAND-WRITCAND),
               so the read hit percentage was wrong in those datasets.
   Thanks to Scott Chapman, American Electric Power, USA.

Change 26.324  Enhancement for ACF2 support creates IHDRACF2 Header exit
IHDRACF2       taken after the header variables for ACF2 have been INPUT
VMACACF2       so record selection based on existing ACF2 variables can
VMXGINIT       be used.  The "instream" &MACACFH can be used to access
Feb  2, 2009   the same exit point. IHDRACF2 lists all vars that exist.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 26.323  Support for IBM's ENQ/DEQ monitor, described in IBM
EXENQMON       Publication SA22-7600-07, "z/OS MVS Planning: Global
IMACENQM       Resource Serialization", Chapter 3, creates a flat
TYPEENQM       file that is read by this support from //ENQM DDname,
TYPSENQM       creating dataset ENQMONIT.
VMACENQM       The IBM ISGAJE1A report can be printed using the
VMXGINIT       example PROC PRINT in the VMACENQM comments.
Jan 30, 2009
FORMATS
Feb 24, 2009
   Thanks to Debby Blackey, HCH Healthcare, USA.

Change 26.322  The UTILCVRT utility is used if you transfer SAS datasets
FORMATS        from z/OS to an ASCII platform (XPORT,CPORT), if a data
Jan 30, 2009   set contains CHAR variables that are FORMATted $HEX.  In
Feb 13, 2010   transferring the values, SAS unilaterally converts all
               CHAR variables from EBCDIC to ASCII, so a CPUTYPE='2086'x
               gets translated to '8766'x in the ASCII SAS dataset.  The
               format used by UTILCVRT was completely wrong, because it
               was based on the IND$FILE programs EBCDIC to ASCII table.
               The $MGAS2EB format used in UTILCVRT is now based on the
               TRANTAB SAS V9.1.3 CPORT mapping on z/OS at a USA site.
               Feb 13, 2010:  UTILCVRT is no longer needed. The new
               TRANSCODE attribute, added by MXG Change 27.014 to all
               $CHAR variables containing $HEX values, eliminates the
               unwanted translation so downloaded values are valid.
   Thanks to Roman Gudz, Penske, USA.

Change 26.321  Corrections to IBM RMF-like reports for zIIPs, zAAPs and
ANALRMFR       IFLs, and revised sort order to match IBM's reports.
Jan 28, 2009
   Thanks to Kim Westcott, OFT State of New York, USA.

Change 26.320  Variable EZA01A13 for the optional EZA01-A CICS segment
UTILEXCL       was not in the generated KEEP statement.
Jan 28, 2009
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.319  Support for Exported Data from Omegamon XE MQ records.
EXOMAA10       This is non-standard, since an export file can contain a
EXOMDD10       number of datasets to be recreated.  The MXG logic reads
EXOMDD20       the initial control records (AA10,DD10,DD20,DD30) and
EXOMDD30       writes the needed old-style macros to //INSTREAM which
IMACOMMQ       is then processed by the second pass in _2NDOMMQ macro,
TYPEOMMQ       to read the ROW1 records and create all datasets.  This
TYPSOMMQ       iteration doesn't label the variables nor datasets.
VMACOMMQ       The EXPORT files cannot be concatenated, since they
VMXGINIT       may have different tables/datasets to be created.  The
Jan 29, 2009   JCL to process these export files is
                 // EXEC MXGSASV9
                 //OMMQ DD DSN=YOUR.EXPORT.FILE,DISP=SHR
                 //PDB  DD DSN=THE.OUTPUT.sASDATA.LIBRARY,DISP=OLD
                 //SYSIN DD *
                   %INCLUDE SOURCLIB(TYPSOMMQ);
               These eleven datasets have been created:
                  QMCHANIN QMCH_LH QMEVENTH QMLHBM   QMLHLM   QMLHMM
                  QMPS_LH  QMQ_LH  QM_APAL  QM_APQL  QM_APTL
               This implementation automatically creates a dataset for
               every table in the DD20/DD30 records, and will convert
               the known 16-character datetime fields into datetime
               variables, and formats known duration and hex-containing
               fields, but new variables in new datasets will require
               updates to MXG code to properly convert or format them,
               because the AA10/DD10/DD20/DD30 control records do not
               contain any intelligence describing contents of fields.
   Thanks to Frank Cortell, Credit-Suisse, USA.
   Thanks to Michael Reffler, Credit-Suisse, USA.

Change 26.318  Message "ARRAY SIZE TOO SMALL" added by Change 25.177 is
VMXGRMFI       now only printed three times.
Jan 26, 2009
   Thanks to Ed Long, FMR, USA.

Change 26.317  Enhanced SYSLOG message capture in SMF record subtype 9,
ASMTAPEE       no longer requires a re-assembly to add or change the
Jan 25, 2009   MSGIDs to be written to SMF.  Now, the list of MSGIDs is
               read at MXGTMNT Start Up from the text file of messages
               pointed to by the //MXGMSGID DD name in the MXGTMNT JCL.
               See comments in the ASMTAPEE member for details.
               This is now ML-44 maintenance level of the monitor.
               (Previously, you had to list the MSGIDs in the ASMTAPEE
               assembly source code; that table no longer exists, as it
               is replaced by the external file of MSGIDs.)

Change 26.316  Variable RNAMEHEX contained the "hex of the hex" instead
VMAC77         of the hex value of the RNAME, for those cases in which
Jan 25, 2009   the RNAME/MINORQCB contains non-printable characters.
   Thanks to Joe Kimberly, Kansas City Southern Railway Co., USA.

Change 26.315  Using MACDB2H= or MAC110H tailoring and UTILBLDP was not
UTILBLDP       correctly coded, causing execution messages
Jan 23, 2009        *ERROR: OPEN CODE STATEMENT RECURSION DETECTED.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.314  Enhancement for CMRDETL records from BMC TMON for CICS.
IHDRMVCI      -The INFILE "Header" EXIT IHDRMVCI is created, so records
VMACMVCI       can be selected after the header has been read. The full
VMXGINIT       list of variables that exist are listed in comments.
Jan 23, 2009  -The IHDRMVCI exit can be invoked with %LET MACMVCH=.
              -The option JFCB=MVCIJFCB is added to INFILE CMRDETL so
               that the JFCB is stored in variable MVCIJFCB, from which
               the z/OS DSNAME can be retrieved. This is similar to the
               existing SMFJFCB variable created with INFILE SMF.
               For example, adding this code
                //SYSIN DD *
                 %LET MACMVCH=
                  %QUOTE(
                     IF MVCIDSN=' ' THEN DO;
                       MVCIDSN=STRIP(SCAN(MVCIJFCB,1,' ');
                       MVCIGDG=SCAN(MVCIDSN,-1);
                       RETAIN MVCIDSN MVCIGDG;
                     END;
                     CALL SYMPUT('MVCIDSN',MVCIDSN);
                  );
                  %INCLUDE SOURCLIB(TYPEMVCI);
                  %PUT INPUT DSNAME WAS:  &MVCIDSN;
               would create variables MVCIDSN,MVCIGDG, and would create
               a macro variable &MVCIDSN with the DSNAME that was read.
   Thanks to Henk van der Veur, Fortis, THE NETHERLANDS.

Change 26.313  Revisions to support for TMON for DB2 V4 and V4.1.
VMACTMDB      -Dataset TMDBDB2 had misalignments corrected.
Jan 23, 2009  -Support for BF variables in dataset TMDBBF.
              -Support for BG variables in dataset TMDBBG.
              -Support for BH variables in dataset TMDBBH.
              -Support for BI variables in dataset TMDBBI.
   Thanks to Ernie Amador, University of California Davis Health, USA.

Change 26.312  Support for APAR OA27161 which adds interval variables
VMAC23         to the SMF 23 record. Change 26.116 supported OA22414,
Jan 22, 2009   which added cumulative variables for the same metrics.

Change 26.311 -In DB2 V9, IFCID=225 creates the DB2STAT4 dataset and
READDB2        DB2 V8 creates the T102S255 dataset, but DB2STAT4 had
VMACDB2        all missing values for the QW0225xx variables in the
Jan 22, 2009   DB2STAT4 dataset because QWS02R1O was spelled with a
Jan 28, 2009   zero instead of an oh in VMACDB2.
Feb  2, 2009  -READDB2 could cause error messages
                THE TEXT EXPRESSION LENGTH (65545)
                EXCEEDS MAXIMUM LENGTH (65534).
              -READDB2 did not create both T102S225 and DB2STAT4 when
               IFCIDS=225 was specified, in spite of the claim made in
               Change 26.233.  Now, both datasets are created.
              -Because T102S225 is created from SMF ID=102 but the
               DB2STAT4 is created from SMF ID=100 subtype 4, there
               are still some limitations in READDB2 using WANTONLY.
              -New-in-DB2-V9 variables added and kept in DB2STAT4:
                 QW0225SF='FIXED*VIRTUAL*64BIT*SHARED'
                 QW0225SG='GETMAINED*VIRTUAL*64BIT*SHARED'
                 QW0225SV='VARIABLE*VIRTUAL*64BIT*SHARED'
                 QW0225SU='STACK*STORAGE*IN USE'
                 QW0225L2='ALLOC STORAGE*CACHED*THREADCPYS*ABOVE POOLS'
                 QW0225H2='HWMALLOCSTORE*CACHED*THREADCPYS*ABOVE POOLS'
                 QW0225F1='SERVICEABILITY*QW0225F1'
                 QW0225F2='SERVICEABILITY*QW0225F2'
                 QW0225S2='STATEMENT*CACHE*BLOCK*STORAGE*GT 2GB'
              -This example shows how you can use MXG macros instead
               of using READDB2 if you only wanted the DB2 Statistics
               datasets (DB2STATS/DB2STATB/DB2STATR/DB2STAT4/DB2GBPAT
               DB2GBPST) and T102S225 (i.e., you have both V8 and V9
               IFCID=225 records in your SMF); the example reads only
               the SMF 100 and 102 records and does not create any of
               the DB2ACCTx datasets.
                  %LET MACFILE=
                   %QUOTE( IF ID=100 OR ID=102; );
                  %LET MACKEEP=
                    _N102
                    MACRO _W102225 PDB.T102S225 %
                    MACRO _EDB2ACC     %
                    MACRO _EDB2ACB     %
                    MACRO _EDB2ACP     %
                    MACRO _EDB2ACG     %
                    MACRO _WDB2ACC _NULL_    %
                    MACRO _WDB2ACB _NULL_    %
                    MACRO _WDB2ACP _NULL_    %
                    MACRO _WDB2ACG _NULL_    %
                  ;
                  %LET PDB2ST0=WORK;
                  %LET PDB2ST1=WORK;
                  %LET WDB2PAT=PDB;
                  %LET WDB2PST=PDB;
                  %LET WDB2STR=PDB;
                  %LET WDB2ST2=PDB;
                  %LET WDB2ST4=PDB;
                  %INCLUDE SOURCLIB(VMACDB2,VMAC102,IMACKEEP);
                  DATA _VARDB2 _V102225;
                  _SMF
                  _CDEDB2
                  _HDR102 _C102225 _END102;
                  _SDB2STB
                  _SDB2STS;
                 RUN;
   Thanks to Rachel Holt, Fidelity Systems, USA.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 26.310  The MXGWORK= argument of VMXGINIT hasn't worked for many
VMXGDEL        years (Change 18.148, Jun 2000, Change 17.060, 1999) as
VMXGINIT       a way to change the //WORK destination, and it was the
Jan 21, 2009   cause of errors reported in Change 26.252, so it has
               been removed as an argument and is now a GLOBALed macro
               variable name in VMXGINIT, and the now-redundant GLOBAL
               statement in VMXGDEL is removed.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 26.309  Variable TMNTJOBC='JOB*CANCELLED*BY*OPERATOR' was wrong
VMACTMNT       and always was the same as TMNTJOBI, because TMNTJOBC
Jan 21, 2009   was set 'Y' from the x'02' bit instead of the x'01' bit.
   Thanks to Michael Creech, Lender Processing Services, USA.

====== Changes thru 26.308 were in MXG 26.12 dated Jan 20, 2009=========

Change 26.308  The TYPE70 dataset is enhanced with these counts of the
VMAC7072       specialty engines:
Jan 17, 2009      PARTNICF='PARTITION*NUMBER OF*ICF*ENGINES'
                  PARTNIFA='PARTITION*NUMBER OF*ZAAP*ENGINES'
                  PARTNIFL='PARTITION*NUMBER OF*IFL*ENGINES'
                  PARTNZIP='PARTITION*NUMBER OF*ZIIP*ENGINES'
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 26.307  The CLIST to process RMF III files had an incorrect GOTO
CLRMFV         in line 943 that should be GOTO DONE.  Fortunately, this
Jan 16, 2009   path thru the CLIST is seldom-to-never used.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 26.306 -If the new operand COPYONLY=YES was specified, READDB2
READDB2        tried to read the header using VMACDB2H, but that read
Jan 15, 2009   required prerequisites.  Code now uses _CDEDB2 which
               then calls VMACDB2H with all datasets to _NULL_ via the
               _NDB2 to read only the headers if COPYONLY=YES.
              -READDB2 was enhanced to allow selection by QWHCEUTX,
               the End User Transaction Name, which might be useful
               in the classification of DDF work in WLM, but only
               if it is filled in by the calling application with
               something other than a default value. It must also be
               the first piece of the unit of work that is seen by WLM.
   Thanks to Becky Clark, Bank of America, USA.

Change 26.305  CICSTRAN variables RTYPE and RRTYPE contain $EBCDIC text
VMAC110        but some of the INPUT statements in VMAC110, and in code
UTILEXCL       built by UTILEXCL, incorrectly had $CHAR inputs. As long
Jan 15, 2009   as MXG is executed on z/OS, there was no difference, but
               for ASCII execution, the INPUTs must be $EBCDIC.
   Thanks to Glenn Bowman, Wakefern, USA.

Change 26.304  Internal changes for DOCVER enhancements and CONFLICTs.
FORMATS        New $MGUTILD format maps each MXG-built DATASET name in
UTILVREF       member DOCVER to both the INFILE that was read, and the
Jan 14, 2009   MXG member name that created that dataset, and a flag
               for "second-level" datasets that are not created from an
               infile but are created from SAS datasets.  The format is
               now used to add that information in the DOCVER member.
               Also, the format is used in the new QA CONFLICTs report
               to cluster datasets by INFILE to eliminate conflicts in
               variable's type, length, format, or maybe even labels.
              -So, if FORMAT $MGUTIL has been updated, but the QA Job
               has NOT been rerun, the new datasets in DOCVER will NOT
               have their INFILE identified; that line will be blank.

   Thanks to Freddie Arie, Merrill Consultants, USA.

Change 26.303  Capture Ratios for zAAPs and zIIPs are now calculated in
VMXGRMFI       PDB.RMFINTRV and TREND.TRNDRMFI datasets, and the total
Jan 13, 2009   Service Class zAAP and zIIP CPU times are creates:
                CPUIFATM - IFA (zAAP) CPU TIME in Service Classes
                CPUZIPTM - ZIP (zIIP) CPU TIME in Service Classes
                IFAACTTM - IFA (zAAP) CPU TIME in TYPE70 (Hardware)
                ZIPACTTM - ZIP (zIIP) CPU TIME in TYPE79 (Hardware)
                CAPIFART - CAPTURE RATIO FOR ZAAP ENGINES
                            100*CPUIFATM/IFAACTTM
                CAPZIPRT - CAPTURE RATIO FOR ZIIP ENGINES
                            100*CPUZIPTM/ZIPACTTM
   Thanks to Brian Harvey, HCL America, USA.

Change 26.302  INPUT STATEMENT EXCEEDED for unexpected AAA record with
VMACNMON            AAA,LPARNumberName,none
Jan 13, 2009   MXG expected LPARNumberName to be followed by the LPAR
               number and the LPAR name.  Why the LPARNumberName tag
               exists when its value is "none" is unknown, but now, the
               LPARNAME='none' will be output.
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 26.301  Debugging PUT statements were always printed, because
UDB2GTF        the  IF DEBUG GE 2 THEN statement did not precede PUT.
Jan 13, 2009
   Thanks to Steve Wood, DST Systems Inc, USA.

Change 26.300  Conflict Resolution of variable's TYPE/LENGTH/FORMAT.
VMAC94        -In MXG 26.11, I made changes to eliminate exposures to
VMAC89         possible conflicts (none had actually occurred), but
VMACTPMX       did not document all of the changes in Change 26.289.
DOC            One impacting change is now reversed: variable PRODREL
Jan 18, 2009   in TYPE892 has been restored (it was renamed PRODRL89 in
               MXG 26.11, but that impacted the LCS product); it length
               is now $6 to match other PRODREL variables, eliminating
               any exposure.
              -In MXG 26.11, TYPETPMX variable ACCT was renamed ACCTJOB
               to avoid conflict with the older TYPE26J2 ACCT variable,
               but incorrectly, causing an VARNAME ACCTJOB NOT FOUND.
               Since ACCTJOB is then stored into the actual ACCOUNTn,
               it should probably not have been kept, and is unlikely
               that the change from ACCT to ACCTJOB has any impact.
               But the new ACCTJOB variable is length $16 and all 16
               converted into $EBCDIC, so individual ACCOUNTn fields of
               16 are now supported; actual length is set in IMACACCT.
              -In TYPE94, an actual conflict was reported by Ken and is
               now fixed: the format of variables STARTIME and DURATM
               was DATETIME18.0 and TIME8., because the SMF 94 records
               only have seconds resolution; however, adding type 94 to
               your BUILDPDB caused all of the RMF datasets to have the
               shorter format for their STARTIME and DURATM variables,
               as SAS uses the last instance of a FORMAT statement.  By
               changing the FORMAT in VMAC94 to match the "standard"
               DATETIME21.2 and TIME12.2 formats the full RMF precision
               is printed.
                  However, this is truly ONLY cosmetic; the FORMAT is
                  only used when values are printed, and they do NOT
                  change the stored data values; you can ALWAYS use a
                  FORMAT statement in your PROC PRINT, etc., to show
                  as many or as few decimals as you want displayed.
              -The below variables were renamed to eliminate conflicts.
               Many of these datasets are no longer even creatable, and
               none are created from common IBM SMF records - most are
               created from optional user SMF records and none of these
               renamed variables are likely to be used in your reports.

                  Dataset    Variable Name    Dataset    Variable Name

                  AIM098_R  was    FILENAME   SAMONASR  was    APPLNAME
                            now    FILENAAI             now    APPLNASA
                  CCCDAT    was    ACCOUNT    SAMONAUR  was    APPLNAME
                            now    ACCTCCC              now    APPLNASA
                  CMHMEVNT  was    EXPDT      SAMONTSR  was    APPLNAME
                            now    EXPDTDAT             now    APPLNASA
                  FILTEKID  was    GROUP      SAMONUSR  was    APPLNAME
                            now    GROUPSM1             now    APPLNASA
                  ICEBRGDE  was    RELEASID   SUPERIND  was    TERMINAL
                            now    RELEASIC             now    TERMSUIN
                  ICEBRGUT  was    VDEVTYPE             was    USERNAME
                            now    VDEVTYIC             now    USNASUIN
                  ILKVCONN  was    USERDATA   SV08THRE  was    ABEND
                            now    USDAILKV             now    ABENDTSK
                  ILKVDISC  was    USERDATA             was    CLASS
                            now    USDAILKV             now    CLASSVIE
                  LDMSBASE  was    FUNCTION             now    GROUPTH3
                            now    FUNCLDMS             was    GROUP
                  LDMSDIST  was    FUNCTION             was    STATUS
                            now    FUNCLDMS             now    STATSVIE
                  LDMSPC    was    SERVER     SV25TSUM  was    RESPTIME
                            now    SERVLDMS             now    RESPSVIE
                  MEMOACCT  was    ACCTCODE   SV27TRAN  was    NETNAME
                            now    ACCTCOME             now    NTNMSVIE
                            was    SESSION              was    OFCTYNME
                            now    MEMOSESS             now    OFCTYTCP
                            was    USERNAME             was    RTYPE
                            now    USNAMEMO             now    RTYPSVIE
                  MVTPN     was    MTU                  was    TRANPRI
                            now    MAXMTU               now    TRANPRIS
                  MVTPS     was    LOCATION             was    TERMINFO
                            now    LOCNMVTP             now    TERMINFS
                            was    NAME       T112MQCO  was    MQTRAN
                            now    NAMEADMN             now    MQTRANID
                  NAFENTVA  was    TERMINAL   T112MQCT  was    MQTRAN
                            now    NAFTERM              now    MQTRANID
                  NAFGPSTO  was    VLU        TYPE1031  was    SUBSYS
                            now    VLUNAF               now    SUBSY103
                  NAFGPSTR  was    VLU        TYPE1032  was    SUBSYS
                            now    VLUNAF               now    SUBSY103
                  OMCIADA   was    AFNAME     TYPE6367  was    ACTION
                            now    AFNAMECI             now    ACTIONRQ
                  OMCIBOTL  was    ESTTIME    TYPEACC   was    MESSAGE
                            now    ESTDTIME             now    MESSGACC
                  OMCIFIXD  was    ESTTIME    TYPEDLMN  was    NEWNAME
                            now    ESTDTIME             now    NWNMDLMN
                  OMCIRTA   was    ESTTIME              was    USERNAME
                            now    ESTDTIME             now    USNADLMN
                  OMCITITL  was    ESTTIME    TYPESTRS  was    VERSION
                            now    ESTDTIME             now    VERSSTRS
                  OMCITRAL  was    ESTTIME    TYPETPMX  was    ACCT
                            now    ESTDTIME             now    ACCTJOB
                  OMCITRAN  was    ESTTIME    TYPEX37   was    ACCTNO
                            now    ESTDTIME             now    ACCTNO37
                  OMCIVDCT  was    ESTTIME              was    MESSAGE
                            now    ESTDTIME             now    MESSGX37
                  OMCIVENQ  was    ESTTIME              was    PRODREL
                            now    ESTDTIME             now    PRODRL37
                  OMCIVFCT  was    ESTTIME    XCOMDATA  was    USERID
                            now    ESTDTIME             now    USERXCOM
                  OMCIVIO   was    ESTTIME    XPTR10    was    ACCOUNT
                            now    ESTDTIME             now    ACCTXPTR
                  OMCIVJCT  was    ESTTIME    XPTR21    was    ACCOUNT
                            now    ESTDTIME             now    ACCTXPTR
                  OMCIVPCP  was    ESTTIME              was    LOCATION
                            now    ESTDTIME             now    LOCNXPTR
                  OMCIVVSA  was    ESTTIME    XPTR45    was    ACTION
                            now    ESTDTIME             now    ACTNXPTR
                  PRORECOV  was    PRODREL    ZARAERRV  was    VOLPOOL
                            now    PRODRLPR             now    VOLPOOLZ
                  ROSCOAUD  was    USERID     ZARAVOL   was    VOLPOOL
                            now    USERROSC             now    VOLPOOLZ
                  ROSCOE    was    USERID
                            now    USERROSC
                            was    TERM
                            now    TERMIOS
                  ROSCORPS  was    USERID
                            now    USERROSC
                  ROSCOSTA  was    USERID
                            now    USERROSC
                  ROSCOVPE  was    USERID
                            now    USERROSC
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.
   Thanks to Scott Wigg, U.S. Bank, USA.
   Thanks to Kenneth D. Jones, Bell Aliant, CANADA.

Change 26.299  MXG 26.10-26.11. PERFINDX=. for all service classes with
VMAC7072       R723TYPE=2:ADDRESS SPACE WITH NO TIME GOAL. A "cosmetic"
Jan 12, 2009   Change 26.269, eliminated "missing value" value messages
               but accidentally setting PERFINDX to a missing value for
               those service classes.
   Thanks to Dan Melton, Lowe's Companies, USA.

Change 26.298  DB2 ID=102 IFCID=22 INPUT STATEMENT EXCEEDED RECORD
VMAC102        error when length in the header field was zero; the
Jan 11, 2009   actual length is 2 bytes longer than stored in the
               start of each segment.  MXG logic revised to support.
   Thanks to Tom Buie, Southern California Electric, USA.

Change 26.297 -Case in zPCR and ExternalSource tags were inconsistent
ANALZPCR       and caused configuration errors.
Jan 13, 2009  -SELECT=CECTIME created multiple HOST tags.
              -Printed ONLPCPUS in reports was correct, but the LCPs
               tag value could be one higher than true number of CPs
               in the LPAR, if ONLPCPUS was an integer.  MXG algorithm
               ONLPCPUS=CEIL(ONLPCPUS) now ONLPCPUS=CEIL(ONLPCPUS-.01)
               to protect for both 3.0 and 2.999 values, and relocated
               so the printed and tag values are the same.
              -An "External Study File" can ONLY be LOADed from zPCR's
               FUNCTION SELECTION window, using its FILE pulldown LOAD
               option to browse/select the MXG-built xxxx.zpcr file.
   Thanks to David Bixler, FISERV, USA.

====== Changes thru 26.296 were in MXG 26.11 dated Jan  5, 2009=========

Change 26.296  The BLSR option for IMS VSAM files is not supported; the
ANALBLSR       ANALBLSR analysis created pages of reports for IMS VSAM
Jan  5, 2009   files, with PROGRAM='DFSRRC00', so this change deletes
               all files that were accessed with that program name.
   Thanks to Stephen Hughes, Excellus, USA.

Change 26.295  The RMFWKLRV interval workload dataset build by RMFINTR
VMXGRMFI       creates two new variables WKLDIOCN and WKLDIORT, the
Jan  2, 2009   I/O count and I/O rate from R723CIRC.
   Thanks to Don Goulden, SAS ITRM Development, USA.

Change 26.294  Two new arguments, CICSTRAN & DB2ACCT can be specified
UTILBLDP       in the SUPPRESS= argument if you do not want the detail
Jan  2, 2009   CICSTRAN or any of the DB2ACCTx datasets to be created.
               With SUPPRESS=CICSTRAN, SMF 110 subtype 1 records are
               skipped, with SUPPRESS=DB2ACCT, SMF 101 records are.

Change 26.293  %VMXGPRAL(DDNAME=PDB,NOBS=20) prints ALL datasets in a
VMXGPRAL       SAS data library, but now, it uses new VMXGPRNT to print
VMXGPRNT       both the variable's LABEL and the variable's NAME in the
Jan  2, 2009   heading.  The new VMXGPRNT macro can also be used alone
               to print a single SAS dataset, or it can be used to
               create a Comma-Separated-Variable file from a single SAS
               dataset.  I find VMXGPRAL very useful to print a few obs
               with all of the variables to validate a new MXG-built
               dataset.  The logic for VMXGPRNT was originally posted
               to MXG-L by John, and Mike recently reminded me of it.
               The old UPRINDOC member did print the label and name,
               and is used to create the ADOCxxxx prints/means, but
               the new VMXGPRAL and VMXGPRNT is much nicer syntax.
   Thanks to Mike O'Brien, Bank of America, USA.
   Thanks to John Parkes, Experian, USA.

Change 26.292  MONTHBL3 was overlooked when Change 24.064 added simpler
MONTHBL3       override for NOT SORTED errors in creating MONTH PDB.
Jan  1, 2009   It is now updated to match MONTHBLD logic.
   Thanks to Douglas G. Wells, First National Bank of Omaha, USA.

Change 26.291  WPS does not support the INFILE CCHHR nor CCHHR= options
VMACEREP       which is required to read LOGREQ with TYPEEREP, and was
VMXGVTOC       used in VMXGVTOC (now archaic, replaced by DCOLLECT), and
UTILSPAC       also used in the UTILSPACE reporting utility.  This
Jan  1, 2009   change removes the CCHHR options when MXG is executed
               under WPS, so that the QAWPS QA test stream can run, to
               test the compiler using only DUMMY INFILES.  This change
               will be revised if/when CCHHR support is in WPS.
               See Change 27.239.

Change 26.290  The View Direct, Mobius, Infopac-RSD, etc., product's
VMACIPAC       user SMF record, subtype 3 was INCOMPATIBLY restructured
Dec 30, 2008   with R3CALLER field relocated, the LUNAME field removed,
               and seven extra bytes inserted.  MXG was recoded to read
               the new format with a heuristic test of the old location
               of R3CALLER, pending response from support@asg.com, who
               now owns this product.
               Jan 5: A PTF has been provided, but not yet installed,
               but even if it does correct the invalid SMF record, I
               will leave the circumvention in place, since it will
               protect sites without the correcting ptf.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 26.289 -Cleanup of inconsistent LENGTHs and CHAR/NUM conflicts
ANALCISH       for variables created from the same INFILE.  CHAR/NUM
VMAC112        conflicts were resolved by renaming the variable from
VMACFTEK       the more obscure product.  Lengths were mostly increased
VMACQACS       with &MXGLEN replacing 4s, but some 8s are now &MXGBYLN.
DIFFROSC       These LENGTH changes may cause WARNINGs with SAS V9.2,
VMACSVIE       when creating WEEK or MONTH PDBs with PDBs built by MXG
VMXG70PR       versions before/after this change, but by installing now
VMACSVIE       if still under SAS V9.1.3, then your migration to V9.2
VMAC7072       could be warning-free.
               No CHAR/NUM conflicts had been reported, so changes were
Jan  5, 2009   made to prevent future errors.
              -Data Set Labels were added where they were blank.
              -Variable ZDATE was added where it was not being created.
              -Member DOCVER26 lists all of the changed variable names:
               Variables TERMINFO TRANPRI were Numeric in SV27TRAN data
               set built by TYPESVIE from SMF, which conflicted with
               IBM SMF 110 records, so TYPESVIE was changed to create
               them as character to avoid conflict if 110s and SVIE
               were ever (unlikely) combined in a single DATA step.
               ANALCISH, typo, CICSCONSR changed to CICCONSR.
               VMACFTEX, variable GROUP renamed to GROUPSM1.
               VMAC112, variable MQTRAN renamed to MQTRANID.
               DIFFROSC, variable TERM renamed to TERMIOS.
               VMACQAPM, variable XIDTYP changed to CHAR.
               VMXG70PR, variable IFAUPTM LPARNUM SMF70CSF PCTIFABY
               PCTZIPBY changed from length 8.
               VMAC7072, variables NRPRCS, NRPHYCPS changed from len 8.

Change 26.288  TYPE78CU variables for Aliases could be wrong, as they
VMAC78         were retained but not initialized, so devices without an
Dec 29, 2008   alias could incorrectly have values in these variables:
                 R783HCNT R783HIX R783HLCU R783HCU R783HNAI R783HTIO
                 R783HAIU R783HCAD R783HIOQ
   Thanks to Peter Schubert, CITEC, AUSTRALIA.

Change 26.287  Support for RMF III CPUG3 z/OS 1.9 (INCOMPATIBLE - zero
VMACRMFV       observations in ZRBLCP without this change).
Dec 28, 2008   New variable in ZRBLCP: LCPUCURW - Current SHARE weight.
                  LCPUCURW='CURRENT*SHARE*WEIGHT'
               New variables in ZRBCPU:
                  CPCGRPNM='CAPACITY*GROUP*NAME'
                  CPCGRPLM='CAPACITY*GROUP*MSU*LIMIT'
                  CPGRPJOI='DATETIME WHEN*LPAR JOINED*GROUP'
   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.

Change 26.286  Very strange error messages in 26.08 and 26.10, where
VMXGRMFI       the "x" is a non-printable character:
Dec 23, 2008     ERROR: LIBNAMES ARE RESTRICTED TO EIGHT CHARACTERS.
                        x HAS BEEN TRUNCATED.
               Removal of an unneeded %VGETENG call in VMXGRMFI has
               eliminated the strange errors, but still researching.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 26.285  Enhanced to do the dynamic allocation of DAYS based on
VMXGALOC       the DAYSKEEP= value.  On ASCII this creates a pseudo-GDG
Dec 23, 2008   architecture were days a DddMMMyy, weeks are Wddmmyy and
Jan  3, 2009   months are Mddmmmyy, and a variable number of each can
               be kept, with old ones being deleted and new ones being
               created over time.
               So, if today is 22DEC08, the directory names would be
                  PDB   - c:\MXG\D21DEC08
                  MON   - c:\MXG\D15DEC08
                  TUE   - c:\MXG\D16DEC08 ....
                  WEEK  - c:\MXG\W15DEC08
                  WEEK1 - c:\MXG\W15DEC08
                  WEEK2 - c:\MXG\W08DEC08
                  WEEK3 - c:\MXG\W01DEC08 ....
                  MONTH - c:\M01DEC08

               In addition, TREND databases can be allocated based on
               doing TRENDing on a daily or weekly basis.

                 TRENDING=DAILY creates
                  TRENDIN - c:\MXG\T20DEC08
                  TREND   - c:\MXG\T21DEC08

                 TRENDING=WEEKLY creates
                  TRENDIN - c:\MXG\T08DEC08
                  TREND   - c:\MXG\T15DEC08

                 TRENDING=WTD creates
                  TRENDIN - c:\MXG\T15DEC08
                  TREND   - c:\MXG\T22DEC08

               The SPIN and TREND directory management follows the
               pattern specified in DAYSKEEP WEEKKEEP.  Older
               directories will be erased/deleted based on the
               numbers in those two arguments.

               For those times when you may need to go back and rerun a
               day's processing, FORCEDAY=22DEC08 will set the correct
               directories for that day's processing to be allocated.

               The basedir= argument defaults to c:\mxg\ but can be any
               disk device and directory available to your system.

Change 26.284  The BMC Optional CMRDB2 segment was increased from 172
IMACICMD       to 256 bytes in CICS/TS 3.2. The IMACICMD code is now
Dec 22, 2008   updates to support both lengths, based on SMFPSRVR.
   Thanks to Jane Dickenson, Produban, ENGLAND.

Change 26.283 -zPCR failed with PDB=SMF, or SCP not 'z/OS V1R10', the
ANALZPCR       SELECT=CECTIME option is now implemented, and new notes
Dec 21, 2008   have been added:
Dec 31, 2008  -PDB=SMF option had not been fully tested and caused a
               180 underscoring a percent sign; the UTILBLDP logic is
               revised to read only required SMF records and subtypes.
              -zPCR support worked fine when SCP='z/OS V1R10' was set,
               but I discovered XML doesn't tolerate extra blanks, so
               SCP='z/OS V1R9 ' created an XML file that caused zPCR
               configuration errors "UNKNOWN SCP".  Now, trailing
               blanks in the generated XML text are removed.
              -The XML text is very case sensitive, so the ANALZPCR
               member is also, and it must NOT be case-changed.
              -Support for SELECT=CECTIME is now implemented.  To be
               valid, all SYSTEMs in each CEC must have the same RMF
               Interval Duration, and must all have the same SYNC(0)
               or the same SYNC(59) value.  The CPU Dispatch Time for
               all CP engines in the CECSER is summed and the interval
               with the largest total is created for each CECSER as
               the input.  The file name has the CECSER value instead
               of the SYSTEM name.
              -MXG will create the external study file for any CPU type
               but the zPCR tool will only accept data from a z9 or
               above (CPUTYPE 2094, 2096, 2097, 2098).  If you attempt
               to load a file with an earlier CPU model, zPCR will not
               accept it, and a zPCR warning box will display
                  Host LPAR Definition errors exist, please refer to
                  file "configuration errors" and correct the errors.
               That configuration.errors file is in the \CPSTOOLS\ZPCR\
               directory, and for this error condition will state
                  The following errors were found in the study file:
                  C:\CPSTOOLS\zPCR\s1942.d17dec08.t0130.zpcr
                  Unsupported Host processor specified;
                  It must be a z9 or above (2094, 2096, 2097, 2098)
               Report any other error messages to support@mxg.com.
              -The zPCR tool uses the TYPE70 CPU Utilization and the
               TYPE74 DASDIOrate to select "workload" type for the
               model. If there is no TYPE74 data, then zPCR will set
               the workload type to "unknown" and you will have to then
               manually change the workload type after you load the
               MXG-created external study file.
   Thanks to Warren Hayward, TJX, USA.
   Thanks to David J. Schumann, Blue Cross Blue Shield of Minnesota, USA

Change 26.282  APPLID could be blank in PDB.ASUMUOW if the first part
VMXGUOW        of a Unit of Work came from MQ rather than CICS.  This
Dec 19, 2008   could also cause blank APPLID in PDB.CICS when ASUMCICX
Dec 23, 2008   is used.
   Thanks to Douglas G. Wells, First National Bank of Omaha, USA.

Change 26.281  Variables IFAUNITS and IFEUNITS are now added to both
BUILD005       the PDB.STEPS and PDB.JOBS datasets from the SMF 30s.
BUIL3005       They should have been added with ZIP units were added.
Dec 19, 2008
   Thanks to Jansson Ingegerd, Volvo IT, SWEDEN.

Change 26.280  Support for Open Connect user SMF record.  New dataset
EXOPCNCL       OPENCONN is created, but with these problems:
FORMATS         - Records with DISP=00 have completely different format
IMACOPCN          that the other records.
TYPEOPCN        - Records with DISP GT 0 have hex text where JOB should
TYPSOPCN          be, and JCTJOBID is not populated.
VMACOPCN        - Value of DISP=4 occurs, but is not documented; guess
VMXGINIT          is that it is NEW.
Dec 19, 2008
   Thanks to Robert Brosnam, Goldman Sachs & Co., USA.

Change 26.279  Enhancement/correction to support for Nigel's Monitor.
VMACNMON      -DISKSERV and DISKWAIT records supported and same named
Dec 18, 2008   variables are added to NMONDISK dataset:
                  DISKSERV='DISK*SERVICE*TIME*MSEC/XFER'
                  DISKWAIT='DISK*WAIT*QUEUE*TIME*MSEC/XFER'
               -MEMPAGES4KB,MEMPAGES64KB,MEMPAGES16MB and MEMPAGES16GB
                records are now supported, adding four sets of those
                variables to NMONINTV dataset.
               -Short AAA record protected.
               -Invalid JFSFILE and JFSINODE records that have fewer
                counters that described are detected and diagnostics
                and print of the defective record is printed on the
                log so you can send to and resolve with Nigel.

Change 26.278  Example analysis program joins DB2ACCT and DB2ACCTP, but
ANALDBJO       must be used with extreme caution, as the resources to
Dec 18, 2008   sort both datasets first for the merge, can be extreme.

Change 26.277  Support for APAR OA24208 adds new subtype 15 to ID=92
EXTY9215       SMF record.  The new subtype audits changes to USS file
IMAC92         security attributes for APF Authorized, Program Control,
VMAC92         and Shared Library that are maintained by USS and thus
VMXGINIT       were not audited by RACF.
Dec 18, 2008

Change 26.276  CPUUNITS value of minus one in TYPE72GO has resulted in
VMAC7072       type 72 subtype 3 records for service classes that used
Dec 16, 2008   only a zIIP engine. The raw CPUUNITS field contains the
               sum of CP, zIIP, and zAAP units, but MXG calculates the
               ZIPUNITS and subtracts it from the raw CPUUNITS to store
               only the CP engine units in CPUUNITS variable that is
               output.  These cases have a calculated ZIPUNITS that is
               exactly one unit larger than the raw CPUUNITS, causing
               the negative value.   This is clearly not a real error,
               and may be related to Change 26.222 in which IBM noted
               small problems with IFAUNITS.  So, to avoid confusing
               negative values for CPUUNITS (and CPUTM and CPUTCBTM
               for these cases) I have reset CPUUNITS to zero if the
               value after removal of zAAP and zIIP units is -3 to 0.
   Thanks to Douglas C. Walter, CITIGROUP, USA.

Change 26.275  There was a conflict in parameters between VMXGALOC and
BLDSMPDB       BLDSMPDB. BLDSMPDB uses WEEKKEEP MNTHKEEP to specify the
Dec 16, 2008   datasets to be kept in the WEEK/MONTH PDB library, but
               VMXGALOC uses those parameters to specify how many weeks
               or months to keep.  BLDSMPDB is modified with two new
               parameters to resolve the conflict:
                  WEK2KEEP=12      KEEP 12 WEEKS
                  MTH2KEEP=100     KEEP 100 MONTHS

               Additionally, BLDSMPDB now supports concatenated SMF
               INPUT files on an ASCII platform, internally.  Now, they
               can be specified as
                  SMFIN=FULLYQUALIFIEDDSN1 FULLYQUALIFIEDDSN2 ...
               Up to 99 SMF datasets can be named to be read in.
   Thanks to Lisa Lawver, Land's End, USA.

Change 26.274  DB2 V9-only variables added by Change 26.210 were INPUT
VMACDB2        when they should not have been, causing very large and
Dec 16, 2008   very wrong values for these 11 variables:
                  QWACSPZI QWACUDZI QWACSPZE QWACSPZC QWACUDZE
                  QWACUDZC QWACSPC1 QWACSPC2 QWACUDC1 QWACUDC2
                  QWACTRSE
               These variables should have had a missing value with V8.
   Thanks to Roger A. Webster, State of Oregon, USA.

Change 26.273  Statement ELSE IF MRHDRDM=8 and MRHDRRC=1 was relocated
VMACVMXA       to preceed the LABEL statement; WPS got confuses, but the
Dec 15, 2008   location was inconsistent with the normal ELSE location.

Change 26.272  Variable SIZE in XAM dataset HSTMEM was incorrectly INPUT
VMACXAM        as PIB4., but it is a floating point (RB4.) value.
Dec 15, 2008
   Thanks to Roger Stock, Boston University, USA.

====== Changes thru 26.271 were in MXG 26.10 dated Dec 21, 2008=========

Change 26.271  INVALID THIRD ARGUMENT TO FUNCTION SUBSTR in RMF 77 is
VMAC77         harmless, but resulted when there was no RNAME value.
Nov 27, 2008   Change 26.159 (MXG 26.06) decoded RNAME into RNAMHX but
               didn't test for a non-zero length in MINORQCB (SMF77RLN).
   Thanks to Barbara Nitz, Deutsche-Boerse, GERMANY.

Change 26.270  NRCPUS in PDB.TYPE70 is redefined for HiperDispatch/IRD
VMAC7072       as the AVERAGE NUMBER OF ONLINE, NON-PARKED CP ENGINES
Nov 27, 2008   during the interval.   For IRD, it was redefined as the
               average number of online engines, but now, any CP parked
               time CPUPATTM/SMF70PAT is subtracted from the online time
               SMF70ONT, so the NRCPUS will be smaller if any CP engines
               were parked during the interval, i.e., if HiperDispatch
               is active.  These variables are recalculated/impacted
                NRCPUS PCTCPUBY PCTCPUEF CPUUPTM
               but ONLY IF HIPERDISPATCH IS ACTIVE.
              -SHORTCPS in PDB.TYPE70PR was protected for erratic large
               value when online and parked times were almost identical,
               by requiring 10 seconds of CPUACTTM to be calculated.

Change 26.269 -Missing value messages for CPUWAITY-CPUWAIYC and for
VMAC7072       MVSWAITY-MVSWAIYC, wait times for CPUID/LPARADDR 33-63
Nov 26, 2008   WERE true errors, as those variables were not properly
               set when support for more than 32 engines was added; for
               systems with more than 33 engines, the MVSWAITM, CPUWAITM
               could have been understated causing PCTMVSBY to be higher
               that was correct.
              -Missing value messages for OMVSWAIT were only cosmetic,
               but are eliminated by test prior to calculation.
              -Missing value messages for PERFINDX were also only
               cosmetic, occurring when ACTELPTM was missing, as for
               R723TYPE=2 or when TRAN=0, and are eliminated.
                 Jan 12 2009:  This last part of this change was wrong;
                 see Change 26.299.


Change 26.268  Circumvention for defective NDM-CD CT user SMF record.
VMACNDM        The Accounting Data length (bytes 969-970) is '00B9'x,
Nov 25, 2008   decimal 185, but the record is only 1020 bytes long.
               This circumvention uses the MIN of NDMLENSA,LENLEFT
               to only input what's left in the record while the
               vendor is contacted to resolve their error.
   Thanks to Arthur Sy, Depository Trust, USA.

Change 26.267  Hardcoded "PDB" DDNAME/LIBREF in the old-style macro refs
ASUMMIPS       were changed to the dataset's Pdddddd macro variable, and
Nov 21, 2008   the reads changed to use the old-style macro reference:
                  MACRO _RMFIN   &PDBRMFI..RMFINTRV %
                  MACRO _RMF72GO &PTY72GO..TYPE72GO %
                  MACRO _SMFIN   &PDB30UV..SMFINTRV %
                  MACRO _RMFOUT  &PDBRMFI..RMFMSUSE %
                  MACRO _SMFOUT  &PDBRMFI..SMFMSUSE %
               for easier building of RMFMSUSE/SMFMSUSE under ITRM.
               But since the MSU-to-MIPS factors are also hardcoded,
                  MACRO _MIPSMSU MIPSFACT=5.8; %
                  MACRO _MIPSIFA IFAFACT=5.8;  %
                  MACRO _MIPSZIP ZIPFACT=5.8;  %
               sites using different factors (for different hardware)
               can override them "instream", using MACKEEP:
                 //SYSIN DD *
                 %LET MACKEEP=
                   %QUOTE(
                    MACRO _MIPSMSU MIPSFACT=5.8; %
                    MACRO _MIPSIFA IFAFACT=5.8;  %
                    MACRO _MIPSZIP ZIPFACT=5.8;  %
                    )
                 ;
                 %INCLUDE SOURCLIB(ASUMMIPS);
                 _RMFMIPS
                 _SMFMIPS
                to create both RMFMSUSE and SMFMSUSE in the same data
                library where RMFINTRV lives.
                Minor note:  since the MACKEEP text contains semicolons,
                the %LET MACKEEP= %QUOTE ( text ) ; syntax is required.
   Thanks to Nicholas Ward, Centrelink, AUSTRALIA.

Change 26.266  Reserved Change Number.

Change 26.265  Change 20.112 corrected instances of '1A'x in ASCII MXG
PROCSRCE       source, which are translated to '3F'x in EBCDIC source.
Nov 20, 2008   That hex character shows up as non-printable text, and in
               some cases, caused a SAS syntax error.  But eight more
               have slipped in over time, all now manually removed.
               This change to he PROCSRCE program used to build the MXG
               master source adds detection of '1A'x characters, along
               with other invalid data and long line tests, to eliminate
               future re-occurrences of these invalid text.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 26.264  Support for IBM zPCR capacity tool to use MXG PDB data.
ANALZPCR       MXG creates an "External Study File", a new zPCR feature
Nov 25, 2008   that can be used as input in zPCR Version C5.2b or later.

               Implemented as %MACRO, %ANALZPCR reads MXG RMF datasets
               PDB.TYPE70 and PDB.TYPE70PR and PDB.TYPE74 (or optionally
               will read SMF data to create only those datasets) and
               creates one ".zpcr" output text file of XML tags/values
               for each SYSTEM and STARTIME interval that you select.

               The default selection, SELECT=PEAK, will select the
               interval with the highest PCTCPUBY for each SYSTEM.

               The name of the .zpcr file identifies each SYSTEM and its
               STARTIME, and contains the LPAR Configuration for all of
               the LPARs in the same SYSPLEX, including engine counts,
               z/OS SCP, utilizations and z/OS DASDIOrates.

               The .zpcr files can be created on Windows or on z/OS and
               copied to your zPCR Windows system, since they are simple
               text files.  You start zPCR, select LOAD option from the
               FILE pulldown and you will be presented with each of the
               file names, so you can select the specific system and
               interval to be modeled.

               You can then examine the configuration, by opening the
               Configure LPAR option from the Function Selection page,
               and then opening Detail under Reports.  For all LPARs for
               which utilization and DASDIOrate were found, you will see
               their WORKload column will be populated; you will have to
               enter your workload choice for those with "unknown".

               The %ANALZPCR program has these execution parameters:

               PARAMETER   DESCRIPTION/SYNTAX

               PDB=PDB      USE PDB.TYPE70 AND PDB.TYPE70PR for INPUT.
               PDB=SMF      UTILBLDP READ SMF TO CREATE TYPE70,TYPE70PR.

               SELECT=PEAKTIME
                     CREATE a .zpcr file for each STARTIME for each
                     SYSPLEX-SYSTEM with the highest total CPU
                     Dispatch Time for CP engines in a full interval.
                     THIS IS THE DEFAULT.

               SELECT=PEAKPCT
                     CREATE a .zpcr file for each STARTIME for each
                     SYSPLEX-SYSTEM with the highest percent CPU busy,
                     based on the average number of online, non-parked
                     CP engines in a full duration interval.

               SELECT=CECTIME
                     Select the STARTIME for each LPAR in a CECSER with
                     the highest total CPU Dispatch Time across all
                     LPARs and all engines.  Not yet implemented.

               SELECT=PEAK  Create a .zpcr file for each system for the
                            interval with peak PCTCPUBY in PDB.TYPE70.
                            SELECT=PEAK is the default.

               SELECT=ALL   CREATE a .zpcr file for each RMF interval
                            for each SYSTEM in PDB.TYPE70.

               SELECT=      If non-blank and NOT PEAK nor ALL, text is
                            use as SAS CODE FOR SELECTION. For example:
                              IF (SYSTEM='9K01' AND
                               '01APR2008:07:44:00.00'DT LE STARTIME
                               '01APR2008:07:44:00.00'DT );
                              OR (SYSTEM='DL08' AND
                              '02APR2008:12:59:00.00'DT LE STARTIME
                              '02APR2008:12:59:00.00'DT );

               PCDIRNAM     For ASCII execution of %ANALZPCR, the name
                            of the directory to which the .zcpr files
                            will be written.
                            Default=C:\CPSTOOLS\ZPCR\

                            The dsnames/filenames of MXG's .zpcr files
                            are structured to display the variables:

                                SYSTEM.DDMONYY.HHMM.zpcr

                                sprd1.d02apr08.t0959.zpcr
                                ssysa.d02apr08.t2359.zpcr

                            so that the zPCR "LOAD" pulldown presents
                            the list of configuration's descriptive name
                            for this zPCR model's configuration.

               ZOSDSN       For Z/OS, the high-level qualifier of the
                            DSNAME to be created.
                            Each (very small) .zpcr file is created as a
                            sequential file, so that the full name with
                            system and date/time can be seen when these
                            MXG-created .zpcr files are ftp/downloaded
                            and then viewed in the zPCR "LOAD" Window.

                               DSN=MXG.Ssyst.Dddmonyy.Ttime.zpcr

                               DSN=MXG.SPRD1.D02APR08.T0959.zpcr
                               DSN=MXG.SSYSA.D02APR08.T2359.zpcr

              -Additional note:
                Sorting TYPE70 by SYSTEM STARTIME DESCENDING PCTCPUBY to
                select the maximum CPU Busy percent interval sometimes
                found max in an interval with short (2-3 min) duration,
                which were the initial interval of an IPL, not the real
                workload peak interval, so the SELECT=PEAK algorithm now
                finds the MAX(DURATM) for each system, and then selects
                only the peak PCTCPUBY with DURATM GE 95% of MAXDUR
                ( 95% = 14:15 for 15:00 interval) to be modeled.

                For each z/OS LPAR, the Number of Logical CPs is the
                average number of online-not-parked engines:
                   ONLCPUS=(SMF70ONT-SMF70PAT)/DURATM;
                and Utilization also accounts for IRD and HiperDispatch:
                   ZPCRCPBY=100*LCPUPDTM/(SMF70ONT-SMF70PAT);
                The MXG variable LPARCPUS, the count of engines that
                were online for any part of an interval, is used for non
                z/OS LPARs.  %ANALZPCR prints reports with these details
                from TYPE70/TYPE70PR/TYPE74 so you can see what values
                were found in your data.

                The IFL engines require the SCP (Linux or z/VM) to be
                input, but there is no indication in the TYPE70PR data
                as to which SCP is in use.  I considered trying to parse
                the LPARNAME for "V" or "L" but neither is safe, so I've
                set the SCP to z/VM

                Since ANALZPCR builds a model file for each z/OS SYSTEM,
                there will be multiple files created for a CEC that has
                multiple z/OS systems.  Using SELECT=PEAK could create
                different STARTIMEs, since SYSA's peak might not be at
                the same time when SYSB peak utilization occurred.


Change 26.263   Thales e-Security's Security Resource Manager for IBM
VMACSRMH        MVS RG1100, HSM Device Name field S04HSM is decoded into
EXSRMHCD        four new variables depending on the device type:
EXSRMHDE          S04HSMCH='HSM*CHANNEL*DEVICE*NAME'
EXSRMHHS          S04HSMIP='HSM*IP*ADDRESS'
EXSRMHSN          S04HSMAX='HSM*IP*AUXILLARY*PORT'
EXSRMHSV          S04HSMVT='HSM*VTAM*DEVICE*NAME'
IMACSRMH       -Additional subtypes are now supported, with five SMF
VMACSRMH        record ID's possible.
VMXGINIT          RECORD ID MACRO FOR EACH OF THE FIVE POSSIBLE RECORDS:
Nov 19, 2008        MACRO _IDSRM1   237  %  /*CDS PARAMETER*/
Dec 20, 2008        MACRO _IDSRM2   238  %  /*DETAIL EXCEPTION*/
                    MACRO _IDSRM3   236  %  /*SECURITY VIOLATION*/
                    MACRO _IDSRM4   240  %  /*SUMMARY*/
                    MACRO _IDSRM5   239  %  /*SRM SNAPSHOT*/

                    DDDDDD     MXG       MXG
                    DATASET    DATASET   DATASET
                    SUFFIX     NAME      LABEL

                    SRMHAP     SRMHSMAP  SRM HOST SECURITY MODULE APPL
                    SRMHCD     SRMHCDSP  CDS PARAMETER
                    SRMHDE     SRMHSMDE  SRM HOST DETAIL EXCEPTION
                    SRMHDV     SRMHSMDV  SRM HOST SECURITY MODULE DEVICE
                    SRMHHS     SRMHHSMD  CDS HSMD SEGMENT
                    SRMHNU     SRMHSMNU  SRM HOST SECURITY NULL RECORD
                    SRMHSN     SRMHSMSN  SRM SNAPSHOT
                    SRMHSV     SRMHSEVI  SECURITY VIOLATION
   Thanks to Yves Cinq-Mars, CIE IBM Canada Ltee, CANADA.

Change 26.262   Support for WebSphere Version 7, new subtype 9 event.
FORMATS         The new subtype 9 and its usage is discussed in this
IMAC120         IBM TecDocs paper
VMAC120            HTTP://WWW-03.IBM.COM/SUPPORT/TECHDOCS/
VMXGINIT                ATSMASTR.NSF/WEBINDEX/WP101342
Nov 20, 2008    and its internal format is documented at
                   HTTP://PUBLIB.BOULDER.IBM.COM/INFOCENTER/WASINFO/
                        V7R0/TOPIC/COM.IBM.WEBSPHERE.ZSERIES.DOC/INFO/
                        ZSERIES/AE/RTRB_SMFSUBTYPE9.HTML
                MXG creates four new datasets from the subtype 9 record:
                   dddddd  dataset   description
                   T1209E  TYP1209E  WEBSPHERE SUBTYPE 9 EVENT
                   T1209C  TYP1209C  WEBSPHERE SUBTYPE 9 CLASSIFICATION
                   T1209S  TYP1209S  WEBSPHERE SUBTYPE 9 SECURITY
                   T1209U  TYP1209U  WEBSPHERE SUBTYPE 9 CPU USAGE
                There is one subtype 9 record for each request event, so
                dataset TYP1209E contains all data from these sections
                   Platform Neutral Server Information Section
                   Platform Neutra  Server Request     Section
                   z/OS             Server Information Section
                   z/OS             Server Request     Section
                   Network                 Information Section
                which only exist once per SMF record.   The other three
                datasets can all have one or more observations for each
                subtype 9 record.  The "TIMESTAMPS" section is decoded
                but it's variables are duplicates of the datetimestamps
                in the z/OS section, so they are not kept in TYP1209E.
               -Several new MG1209x formats were created in FORMATS to
                decode new subtype 9 variables.
               -Variables added to existing TYP120SI dataset:
                 SM120NPA='SIP*SESSIONS*ATTACHED AND*ACTIVE'
                 SM120BPT='BYTES*XFER*TO SERVER*FROM SIP'
                 SM120BFP='BYTES*XFER*FROM SERVER*TO SIP'

Change 26.261  Variables MSGSW, ='Y' or 'N', 'INPUT BY*MESSAGE*SWITCH'
TYPECIMS       is now created in the _CHAIN macro to flag IMSTRAN obs.
Nov 17, 2008
   Thanks to Shantha Hallett, CapGemini, ENGLAND.

Change 26.260  Variables CMF27CCU & CMF27CHN added to CMF27C93 dataset.
VMACCMF        The were previously only output in dataset CMF27CAR.
Nov 17, 2008
   Thanks to Shantha Hallett, CapGemini, ENGLAND.

Change 26.259  QA Stream revisions and some corrections to eliminate
ANALDB2R       return codes and other issues unique to QA testing.
ANALDBTR      -WARNING: VARIABLE IN DROP KEEP RENAME WAS NOT REFERENCED
ANALDMON       was eliminated.  Some were spelling errors for variables
ANALNPMR       that should have been, and now are, kept.  Some were just
ASUMAPAF       spurious messages, for example, when a variable in the
JCLPDB92       KEEP= list was also (intentionally) in a DROP statement.
JCLTES92       In SPUNJOBS, a DKROCOND=NOWARN was inserted where the I/O
JCLTEST8       variables for archaic devices needed protection.
JCLTEST9       Interestingly, in the case of VMAC7072, where KEEP= list
MXGSAS92       had PCTCIBY0-PCTCIBY9 PCTCIBYA PCTCIBYB ... for variables
MXGSASV9       that were not created until the subsequent SORT/MERGE for
SPUNJOBS       the SPLIT70 logic, the hyphenated variable's message was
TYPEIMSA         WARNING: Not all variables in the list
TYPETNG                   PCTCIBY0-PCTCIBY9 were found.
TYPSTNG        while the message for the individual variables was.
UNIXSAR1         WARNING: The variable PCTCIBYA in the DROP, KEEP,
UTILBLDP                  or RENAME list has never been referenced.
UTILXRF1      -z/OS QA job's JCL uses referbacks to eliminate PROC COPYs
VMAC112        that took time and CPU, but an error in SAS V9.2 (that
VMAC7072       is to be corrected) caused the referback to fail when a
VMAC92         LIBNAME xxx CLEAR was used (only to determine if xxx was
VMAC99         on a tape device, for performance), so the cases where
VMACBBMQ       CLEAR is used in the QA stream, ANALDB2R, and VMXGTAPE
VMACBVIR       (invoked by ANALDB2R and TYPECIMS) are now bypassed, but
VMACEVTA       only under SAS V9.2, temporarily.
VMACIMS       -Most "MXG" warnings printed MXGWARN: but now all MXG
VMACSFTA       warnings print MXGWARN: instead of WARNING:.
VMACSVC       -Dec 20: //TEMPSVC DD replaced //SVCTEMP DD in JCLTESxx.
VMACSVIE
VMACSYNC
VMACTMVS
VMACTNG
VMACTPF
VMACTPMX
VMACXAM
VMXGRMFI
VMXGTAPE
Nov 18, 2008
Dec 20, 2008

Change 26.258  WPS 2.3.3 failed in UTILGETM due to a WPS Error (#6276)
JCLQASAS       in an ARRAY (256,512) statement; that error is corrected
JCLQAWPS       in WPS 2.3.4, now the required release of WPS for MXG.
QASAS          UTILGETM was originally used only in the JCLTESTx job, to
UTILGETM       create the SMFSMALL file of 10 records per ID, but it was
VMXGGETM       not included in the MXG QA tests until now.  UTILGETM
Nov 15, 2008   invokes %VMXGGETM with JCLTEXTx defaults, but VMXGGETM
Nov 18, 2008   was previously enhanced (with no Change) to also print an
QAWPS          excellent report of the SMF record ID and Subtypes found,
               with both record count AND record BYTES.  You can use:
                  // EXEC MXGSASV9
                  //SMF DD DSN=YOUR.SMF,DISP=SHR
                    %VMXGGETM(SMFOUT=,FREQ=YES);
              to produce only the report.
             -PROC TABULATE generated an innocuous, yet annoying
              WARNING: Dimension crossing has multiple format modifiers.
              message that was eliminated by the addition of a separate
              FORMAT statement for ID and SUBTYPE variables, thanks to
              SAS Technical Support.
   Thanks to Alf-Terje Thomassen, Ergo Group, NORWAY.

Change 26.257  Corrections/enhancements for Omegamon CICS user SMF data.
VMAC112        Previously, three subtypes, 200 (INTR), 201 (SYSR) and
VMACOMCI       203 (ONDV) were written as user SMF records, supported
Nov 16, 2008   by MXG TYPEOMCI code, in Versions V550 and earlier, but
               now, in Version V560, only subtype 203 is created, and it
               is written as SMF ID=112 (now that Candle was absorbed
               into IBM, they can use "IBM" SMF record numbers!).
               MXG has supported the SMF 112 for some time, but in this
               revisions, errors in the DataCom and MQ count/clocks were
               found and corrected, so this change is now required.
              -Only TYPEOMCI supports all three (200,201,203) subtypes,
               but only for Version V550 and earlier.
              -TYPE112 supports only subtype 203, because V560 only
               creates that subtype, and only as SMF ID=112 records.
               However, with this change, the TYPE112 code reads both
               the new V560 and old V550 format subtype 203 records.
               This change in VMAC112 tests ID=112 OR ID=_IDOMCI, so if
               you have defined   MACRO _IDOMCI nnn %   in IMACKEEP for
               your current OMCI User SMF record number, those records
               and new SMF 112s will be read automatically.
                -Or, you can set _IDOMCI "instream" using:
                   //SYSIN DD *
                    %LET MACKEEP=   MACRO _IDMOCI  nnn  % ;
                    %INCLUDE SOURCLIB(TYPE112);
                -The dataset names created for TYPE112 Subtype 203 are
                 different in TYPE112, starting with T112xxxx, instead
                 of the old OMCIxxxx dataset names, but all old variable
                 names are still created in the new-named datasets.
               This text replaces Change 26.160, as it is/was incorrect.
              -The Datacom counts/clocks were wrong in TYPEOMCI support
               but were correct in TYPE112; four pairs of variables,
               DTCNT/DTCLK/DTFCNT/DTFCLK 02,07,09,14 did not exist in
               the records, but the old OMCI code input them, causing
               other variables to have incorrect values.
              -The 24 MQ counts did not exist; there are 8 pairs of MQ
               clocks and counters now correctly input, and the MQ
               filename was truncated.
   Thanks to Richard Schwartz, State Street Bank, USA.

Change 26.256  MXG 26.09 only.  %ANALDB2R(PDB=SMF); i.e., reading SMF to
ANALDB2R       create DB2 reports, caused many errors, starting with
TESTANAL        ERROR: OLD-STYLE MACRO NAME % MUST CONTAIN ONLY LETTERS,
Nov 13, 2008           DIGITS, AND UNDERSCORES.
               The error has existed for some time, caused by recursive,
               mis-located include of VMACDB2 when SMF is read, and it
               can be circumvented by using %READDB2 to read SMF, and
               then use %ANALDBR only to create reports.  The default
               reports with %ANALDB2R(PDB=SMF); can be created using
                  %READDB2(PDB=SMF,PDBOUT=WORK,IFCIDS=ACCOUNT 106);
                  %ANALDB2R(PDB=WORK);
                  RUN;
               until you install this corrected ANALDB2R.  The MXG QA
               stream tested only %ANALDB2R(PDB=PDB,...), but now a
               new test of %ANALDB2R(PDB=SMF,...) is added.
   Thanks to Dan Almagro, Automobile Club of South California, USA.

Change 26.255 -ASMVTOC updated to prevent ABEND when it scanned a device
ASMVTOC        that was pending offline.
VMACCTLG      -VMACCTLG syntax error for missing "B" in two bit tests
VMXGINIT       for IF GDGATTR='1.......'.
EXCTLGE4      -User coded enhancements to Catalog Processing:
Nov 11, 2008   (a) Write observation to CTLGDSN for each Generation
Dec 23, 2008       Dataset (GDS) so this dataset includes an observation
                   for each non-vsam dataset.
               (b) Write observation to CTLGVSAM for each AIX dataset.
                   Since AIX datasets exist in a Cluster Sphere, the
                   cluster gets written to the CTLGVSAM with the last
                   AIX data and index component names.
               (c) When writing out the observation for CTLGVSAM, write
                   out the volumes used for the index separate from
                   the volumes used for the data component.
               (d) Added support for Connector Records (a user catalog
                   connected to the master catalog). A Connector Record
                   is composed of a Name Cell c'U', an Owner Cell x'01',
                   0 or more Association Cells x'03', and a Volume Cell
                   x'04'.
               (e) Use of the CATRECNR to merge the observations
                   together in the different datasets is problematic
                   when AIX datasets are involved.  This change tracks
                   the sphere cluster name, the aix cluster name, and
                   the component name; these are output into the Vsam,
                   Association, and Volume datasets. Also, the
                   Generation Dataset (GDS) Name is output when writing
                   the Volume dataset, updating the tracking of volumes,
                   so that the volumes are associated with the specific
                   Generation Dataset.
                  -Additional protection/corrections made Dec 23, 2008.
   Thanks to Ken Sharpe, Oklahoma Dept of Human Services, USA.

Change 26.254  Support for MAINVIEW for CICS 6.1 CMRDETL (INCOMPATIBLE).
EXMVCIC1       and support for 6.2 new data.
EXMVCIC2       The new 'F7'x records contain expanded 12-byte time data,
EXMVCICC       so this change is required to process the new release.
EXMVCICE       The support for the File segments is enhanced, with new
EXMVCICO       datasets for CONNECT/SESSION, DB2, DBCTL, MQ and OTHER,
EXMVCICQ       with their unique variables, so the existing CMRFILE
IMACMVCI       dataset now contains only the CICS FILE segment data.
VMACMVCI       The complete set of datasets now created are:
VMXGINIT         dddddd     Dataset   Description
Nov  9, 2008     MVCICS     CMRCICS   MAINVIEW CICS CMRDETL DATA
Nov 10, 2008     MVCICC     CMRFCON   MAINVIEW CICS CMRDETL FILE CONNECT
                 MVCICE     CMRFSES   MAINVIEW CICS CMRDETL FILE SESSION
                 MVCICF     CMRFILE   MAINVIEW CICS CMRDETL FILE CICS
                 MVCICO     CMRFCON   MAINVIEW CICS CMRDETL FILE OTHER
                 MVCICQ     CMRFCON   MAINVIEW CICS CMRDETL FILE MQ
                 MVCIC1     CMRFCON   MAINVIEW CICS CMRDETL FILE DBCTL
                 MVCIC2     CMRFCON   MAINVIEW CICS CMRDETL FILE DB2
   Thanks to Henk van der Veur, Fortis, THE NETHERLANDS.

Change 26.253  VM/ESA 2.5 1.22 record caused BROKEN CONTROL RECORD error
VMACVMXA       as the support for that record was added for z/VM 5.3
Nov  7, 2008   and expected an 88-byte, versus 84 byte, record segment.
               Note that this was VERY archaic VM/ESA data being tested
               as part of a QA job, and is NOT a current z/VM error.

Change 26.252  In VMXGDEL, IF %UPCASE(&USERWORK) function caused ERROR:
ANALACTM          A character operand was found in the %EVAL function
GRAFWORK          or %IF condition where a numeric operand is required.
GRAFWRKX       when the SAS WORK option was WORK=HFS:/usr/lpp/.../work.
GRAFWORX       Those forward slashes were seen as divide-by operations
READDB2        by the macro compiler.  By replacing IF %UPCASE(&xxx)
VMXGDEL        syntax with  %IF %QUPCASE(&xxx) function, that %QUPCASE
VMXGGETM       function "quotes" the text strings, preventing the macro
Nov  7, 2008   compiler from seeing the slashes as an operator.  Only
VMXGINIT       VMXGDEL caused an error, but all   IF %UPCASE(&xxx)
Nov 10, 2008   statements, where &xxx could contain a libref text, were
               identified and corrected in the other listed members.
               However, in addition, VMXGINIT was revised, to add a test
               for a forward slash for unix (like the existing test for
               a back slash for NT) when it sets the "WORK" librefs.
   Thanks to Brian Watts, Dept of Education, Employment, AUSTRALIA.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 26.251  Cosmetic, but wrong.  The $MG110TT format for TRANTYPE
FORMATS        had  'E2C4'X='SD:BY ADI WITH DATA' but that is changed to
Oct 31, 2008   have 'E2C4'X='SD:BY ATI WITH DATA'.
   Thanks to Clayton Buck, UniGroup, Inc, USA.

Change 26.250 -The four variable sets G1vvvvvv-G4vvvvvv in BVIR33 have
VMACBVIR       the data for the first four clusters, but documentation
Oct 31, 2008   of this Hnode Grid Historical Record says there can be a
Nov 13, 2008   maximum of eight clusters, so new sets G5vvvvvv-G8vvvvvv
               are now created, labeled, and kept.
              -Variable DVMXMT00 was not kept due a typo in the KEEP=.
   Thanks to Harald Seifert, HUK-COPBURG, GERMANY.
   Thanks to Jens Mohring, HUK-COPBURG, GERMANY.
   Thanks to Francois Vancoppenolle, Rainbow ICT, BELGIUM.

Change 26.249  The Two _Sdddddd Data Set SORT macros for ABARS HSM data,
VMACHSM        _SHSMWWF and _SHSMWWV still contained DATA steps rather
Oct 30, 2008   than PROC SORTs, which could cause NOT SORTED errors.
               The DATA step is coded when new datasets are created, as
               the PROC SORT NODUP can't be added until I have test data
               to know what BY variables are required for duplicate
               removal. I assume I just forgot to go back when I finally
               got ABARS test data to validate their _Bdddddd macros.
   Thanks to Christine Wong, MMSA, USA.

Change 26.248  Member IMACKEEP is now included by ANALSMF after the
ANALSMF        MACRO _MYCISIZ is defined, so &MACKEEP can be used to
Oct 29, 2008   change that definition.  Last update to ANALSMF was 1996!
   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.

Change 26.247  Support for SMF 113.  Incomplete, do not use.
VMAC113        Test SMF data is needed to finish writing the support
Oct 29, 2008   for this new monitor record.  See Change 27.002.

Change 26.246  Three RMF III pre-emptable SRB CPU time variables were
VMACRMFV       wrong, by a factor of 1000, because their informat was
Oct 28, 2008   incorrect.  Now, all three are correctly input as
                 ASIPHTMA    &PIB.4.3 /*PREEMTEABLE*CLASS*SRB*TIME*/
                 ASIPHTZA    &PIB.4.3 /*PREEMPTABLE*SRB*FOR ZAAPS*/
                 ASIPHTZI    &PIB.4.3 /*PREEMPTABLE*SRB*FOR ZIIPS*/
               ASIPHTMA was informat PIB4., and is now TIME12.2 format,
               ASIPHTZA and ASIPHTZI were informat PIB4.6.
   Thanks to Graham Harris, Royal Bank of Scotland, ENGLAND.
   Thanks to Matt Ellis, Royal Bank of Scotland, ENGLAND.
   Thanks to Rob D'Andrea, Royal Bank of Scotland, ENGLAND.

Change 26.245  Change 26.207 (MXG 26.08) added variables JXSLMJ1 JXSLMJ2
VMACTPMX       in dataset TYPETPMX, but labeled them as UNKNOWN.  They
Oct 27, 2008   now renamed and correctly labeled:
                 JXSLMNGD='JXSLM*MANAGED'
                 JXSLSRVC='JXSLM*SERVICE'
               Using an old MXG Version (prior to 26.08) to read SMF
               records with either field caused this MXG message:
                  ***ERROR.VMACTPMX. VARNAME=$JXSLMJ_ NOT FOUND,
                  TOKFIELD=$JXSLMJ_  WAS NOT INPUT.
                  TOKENID=53613 TOKENID=D16D TOKNAME=$JXSLM FLENGTH=1
   Thanks to ???, BOA, USA.
   Thanks to Nancy DiFilippo, MVS Solutions Inc, USA.

Change 26.244  Variable MIPS was not being calculated for WORKLOAD=0,
GRAFWRKX       the uncaptured work, causing confusing graphs when the
Oct 27, 2008   MSU and MIPS were compared.
   Thanks to Jorge Fong, DOITT NYC, USA.

Change 26.243  Support for OA21140 - High Performance FICON (zHPF) and
FORMATS        RMF HiperDispatch enhancements.
VMAC7072      -TYPE70 existing SMF70Q00-SMF70Q12 counts of IN AND READY
VMAC73         users previously were based on the number of processors
VMAC74         that were online; now, with this APAR installed and with
VMAC79         HiperDispatch Active, the count is based on the number of
Oct 27, 2008   processors being ONLINE AND NOT PARKED when the sample
Nov  2, 2008   was taken.
Nov 10, 2008  -TYPE70 new variable SMF70NRM='zIIP*NORMALIZATION*FACTOR*/
              -TYPE70PR field SMF70POF creates two new variables:
                POLARITY='POLARIZATION'
                  0='0:Horizontally Polarized or not indicated'
                  1='1:Vertically Polarized Low Entitlement'
                  2='2:Vertically Polarized Medium Entitlement'
                  3='3:Vertically Polarized High Entitlement'
                  Variable POLARITY is decoded by new MG070PO format.
                POLARCHG='POLARITY*CHANGED?'
                 value of Y if polarization was changed during interval.
              -TYPE73 dataset has these new zHPF variables:
                 CHFACTV ='FICON*OPERATIONS*CONCURRENTLY*ACTIVE'
                 CHFDFER ='FICON*OPERATIONS*DEFERRED*PER SEC'
                 CHFRATE ='FICON*OPERATIONS*PER SEC'
                 CHFXACTV='ZHPF*OPERATIONS*CONCURRENTLY*ACTIVE'
                 CHFXDFER='ZHPF*OPERATIONS*DEFERRED*PER SEC'
                 CHFXRATE='ZHPF*OPERATIONS*PER SEC'
                 SMF73ECP='CHANNEL*PATH*IDENTIFICATION'
                 SMF73EIX='INDEX TO*EXTENDED*CHANNEL*MEASUREMENTS'
                 SMF73EOC='FICON*COMMAND MODE*OPERATIONS*ATTEMPTS'
                 SMF73EOD='FICON*COMMAND MODE*OPERATIONS*NOT INIT'
                 SMF73EOS='SUM COUNT OF*COMMAND MODE*OPERATIONS'
                 SMF73ETC='FICON*TRANSPORT MODE*OPERATIONS*ATTEMPTS'
                 SMF73ETD='FICON*TRANSPORT MODE*OPERATIONS*NOT INIT'
                 SMF73ETS='SUM COUNT OF*TRANSPORT MODE*OPERATIONS'
              -TYPE74 dataset has this new variable:
                 R744FLPN='PARTITION*IDENTIFIER*OF CF'
              -TYPE79C dataset for subtype 12 has the same new zHPF
               fields as those added to TYPE73, above, but the SMF73
               is changed to R79 to be consistent with existing TYPE79s.
   Thanks to Dr. H. Pat Artis, Performance Associates, USA.
   Thanks to Brian Currah, Independent Consultant, CANADA.

Change 26.242  Enhancements to internal utility functions/programs.
ANAL115       -VMXGOPTR is used to store, set, and restore SAS options,
ANALCISH       but only supported one option.  Now, multiple options can
ANALRMFR       be handled, but multiple new values must be separated by
ANALTCP        exclamation points, because values can contain blanks:
VGETOBS          %VMXGOPTR(OPTNAME=OP1 OP2 OP3,NEWVALUE=V1!V2!V3);
VMXGOPTR      -VGETOBS could fail if no DDNAME was specified.
Oct 27, 2008  -ANALCISH, ANALRMFR, ANALTCP, and ANAL115 all now use the
               VGETOBS macro instead of the archaic internal OBSCHEK.

Change 26.241  Extra data in LINUXKRNL '02'x Processor Record caused the
VMACVMXA       BROKEN CONTROL RECORD error message.  The CONTROL RECORD
Oct 23, 2008   was fine: any MXG out-of-alignment in z/VM MONWRITE data
Oct 30, 2008   surfaces with that error.  The MXG circumvention to skip
               the hundreds of extra bytes in the record based on NRCPUS
               was defective and those extra bytes are now unilaterally
               skipped, to eliminate the circumvention and exposure.
               This problem was only observed in Release 3.5 data; the
               data from z/VM 5.4 does not have any extra bytes.
              -Divide by zero in daccumulation of VXAPLTCP dataset due
               to insufficient BY list - variable CLUSNAME must be used.
   Thanks to Nick Altieri, Wachovia Bank, USA.
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.

====== Changes thru 26.240 were in MXG 26.09 dated Oct 20, 2008=========

Change 26.240  Variable TRNOTCON is a time of day, and not a datetime
VMACCIMS       value, even though it's input as TODSTAMP8, so it is now
Oct 20, 2008   TIMEPARTed and formatted TIME12.2.
   Thanks to Kenneth D. Jones, Bell Aliant, CANADA
   Thanks to Bruce Perry, Bell Aliant, CANADA

Change 26.239  Cosmetic.  The CASE THREE example, in comments only in
IMACUOW        VMXGUOW, is now in comments in IMACUOW, and all three of
Oct 17, 2008   the examples are documented completely in both members.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 26.238  Utility to PROC PRINT with the LABEL and VARIABLE NAME as
UPRINDOC       the header is enhanced so you can select how many obs are
Oct 17, 2008   printed and change the Line Size if desired.  This is NOT
               an elegant implementation, but it works, and is very good
               for investigation of new data sources so you can see both
               the name and the label.  Every dataset in the PDB library
               is PRINTed, and a PROC MEANS N MEAN MIN MAX; is run with
               all observations in each dataset, to show the statistics
               of each numeric variable.
               Previously, it was hard-coded to print only the first 9
               obs, (for the ADOC members) with fixed line size.

Change 26.237  Support for MACRO _GRPNAME was incomplete in ASUMTAPE but
ASUMTAPE       is now corrected, and the ASUMTAPE dataset now is output
Oct 17, 2008   with the _LSUTAPE macro, defined as &PSUTAPE..ASUMTAPE,
               to be more consistent with MXG naming conventions.  The
               previous output was just to &PDBMXG..ASUMTAPE, but as the
               default for PDBMXG and PSUTAPE are both //PDB, and it is
               unlikely that you would have changed, this change SHOULD
               be transparent.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.236  Sites with HiperDispatch enabled, only. The Parked Time,
VMAC7072       CPUPATTM could be missing in PDB.TYPE70, causing PCTMVSBY
Oct 17, 2008   to be too large and CPUMVSTM to be too SMALL, with wrong
               values also in variables SHORTCPS & PLCPRDYQ, if a system
               had offline CP engines (see Changes 26.197 and 26.192).
               Those engines have IFARRAY=CP, but their parked time is a
               missing value.  The real culprit was this add statement:
                  IF IFARRAY(LCPUADDR+1)=0 THEN
                      CPUPATTM=CPUPATTM+PATWAIT(LCPUADDR+1);
               which sets CPUPATTM to missing when PATWAIT is missing.
               I should have added a test for PATWAIT non-missing, but I
               instead now use the SUM() function in this revision:
                  IF IFARRAY(LCPUADDR+1)=0 THEN
                    CPUPATTM=SUM(CPUPATTM,PATWAIT(LCPUADDR+1));
               to preserves the CPUPATTM value when PATWAIT is missing.

               Your existing PDB.TYPE70 data can be corrected without
               re-reading the SMF data, using this program:

                DATA NEW.TYPE70;
                 SET OLD.TYPE70;
                 IF CPUPATTM=. THEN DO;
                   CPUPATTM=SUM(OF
                   CPUPATM0-CPUPATM9 CPUPATMA CPUPATMB CPUPATMC CPUPATMD
                   CPUPATME CPUPATMF CPUPATMG CPUPATMH CPUPATMI CPUPATMJ
                   CPUPATMK CPUPATML CPUPATMN CPUPATMO CPUPATMP CPUPATMQ
                   CPUPATMR CPUPATMS CPUPATMT CPUPATMU CPUPATMV CPUPATMW
                   CPUPATMX CPUPATMY CPUPATMZ CPUPATZA CPUPATZB CPUPATZC
                   CPUPATZD CPUPATZE CPUPATZF CPUPATZG CPUPATZH CPUPATZI
                   CPUPATZJ CPUPATZK CPUPATZL CPUPATZM CPUPATZN CPUPATZO
                   CPUPATZP CPUPATZQ CPUPATZR CPUPATZS CPUPATZT CPUPATZU
                   CPUPATZV CPUPATZW CPUPATZX CPUPATZY CPUPATZZ CPUPATYA
                   CPUPATYB CPUPATYC );
                   IF CPUPATTM GT 0 THEN
                     CPUMVSTM=CPUUPTM-MVSWAITM-CPUPATTM;/*-SMF70PAT*/
                   ELSE CPUMVSTM=CPUUPTM-MVSWAITM;
                   IF CPUUPTM GT 0 THEN DO;
                     PCTCPUBY=100*CPUACTTM/CPUUPTM;
                     PCTCPUEF=100*CPUEFFTM/CPUUPTM;
                     IF CPUPATTM GT 0 THEN  /*PER OA24074*/
                      PCTMVSBY=100*CPUMVSTM/(CPUUPTM-CPUPATTM);
                     ELSE PCTMVSBY=100*CPUMVSTM/CPUUPTM;
                   END;
                   IF CPUACTTM=. AND CPUPDTTM=. AND PCTCPUBY=. AND
                     PCTMVSBY GT 0 AND CPUMVSTM GT 0 THEN DO;
                     PCTCPUBY=PCTMVSBY;
                     CPUACTTM=CPUMVSTM;
                   END;
                   IF PCTMVSBY GT 0 AND PCTCPUBY GT 0 THEN DO;
                     SHORTCPS=PCTMVSBY/PCTCPUBY;
                     PLCPRDYQ=100*(PCTMVSBY-PCTCPUBY)/PCTMVSBY;
                     IF . LT PLCPRDYQ LT 0 THEN DO;
                       SHORTCPS=1;
                       PLCPRDYQ=0;
                     END;
                   END;
                   ELSE DO;
                     SHORTCPS=.;
                     PLCPRDYQ=.;
                   END;
                 END;
                 RUN;
   Thanks to Frank De Bree, DEXIA, BELGIUM.
   Thanks to Christine De Clercq, DEXIA, BELGIUM.

Change 26.235  Running the IEBUDPTE.SAS program on Linux to read a file
IEBUPDTE       that was created on Windows caused characters '0D'x (CR
Oct 15, 2008   or Carriage Return) to be treated as a data byte.  This
               is because when unix files are written, only a '0D'x CR
               is written to terminate each line, while Windows files
               are terminated with a '0D0A'x CRLF (CR plus Line Feed).
               So SAS under unix only looks for an LF line terminator.
               To get SAS under unix/linux to read a Windows file and
               not store the '0D'x as data, the TERMSTR=CRLF option
               must be specified on the INFILE statement.  This id
               documented in the SAS Companion for unix INFILE note at:
                   http://support.sas.com/documentation/cdl/en/
                          hostunx/59542/HTML/default/chifoptfmain.htm
               Fortunately, TERMSTR=CRLF works under Windows, so it can
               be added unconditionally to the INFILE statement and now
               that program will run on all ascii platforms.
   Thanks to Steve Clark, DHL IT Services Americas, USA.
   Thanks to Jan Squillace, SAS Technical Support, USA.

Change 26.234  Strange ORACLE SMF records, with none of the offsets that
VMACORAC       are expected, but with an offset in a formerly reserved
Oct 15, 2008   field, followed by variable length text data, are now
               detected and the first 500 instance printed for tests.
   Thanks to Diane Eppestine, IBM Global Services, USA.

Change 26.233  Dataset DB2STAT4 contains IFCID=225 in DB2 V9 as noted in
READDB2        the text of Change 25.090; now, READDB2 is enhanced to
Oct 14, 2008   create both datasets T102S225 and DB2STAT4 when IFCID=225
               has been requested; observations from DB2 V8 or V7 will
               be in T102S225 and from V9 or later in DB2STAT4, but the
               variable names are the same.  Jan 2009: See Change 26.311
               which actually made the change correctly in READDB2.

Change 26.232  Reserved Change Number

Change 26.231  Variable MEMLIMIT printed ERROR for '00000FFFFFFFF000'x,
FORMATS        but the Installation Exits manual discussion of MEMLIMIT
VMAC30         under IEFUSI (how's that for obscure SMF documentation)
Oct 10, 2008   notes that that value is set when MEMLIMIT is NOLIMIT.
               Unfortunately, there's no easy way out, to print NOLIM
               for that value, because MEMLIMIT is FORMATted with the
               standard MGBYTES decoding format, used for all byte vars.
               So, new MG030ME format is created MEMLIMIT, and the above
               hex value sets MEMLIMIT=. so NOLIM is printed.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 26.230  Variable QPACPAC was incorrectly set in DB2ACCTP whenever
VMACDB2        variable QPACCLS7='Y'.  QPACPAC was set from the same bit
Oct  7, 2008   in QPACFLGS after QPACCLS7 had been set.
   Thanks to Don Cleveland, Wellpoint, USA.

Change 26.229  MQ variables QWHCPST and QWHCPSB for IMS access were
VMAC116        only correct for WTIDATYP=3; the MXG test for IMS should
Oct  4, 2008   have input those fields for 3 or 4, but code had 2 and 3.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.228  Example to report DASD Storage Group summarization using
ASUMSTGP       MXG's DCOLLECT data.
GRAFSTGP        - ASUMSTGP creates PDB.ASUMSTGP summary by storage group
TRNDSTGP          and DSNAME.
Oct  3, 2008    - TRNDSTGP creates PDB.TRNDSTGP trending summary
                - GRAFSTGP produces graph of allocated and used space
                  from the TREND data.
   Larry Douty, ExxonMobile, USA.

Change 26.227  Previously, VMXGSUME protected for variables that did not
VMXGSUME       exist in the incoming datasets, but changes to VMXGSUM
Oct  3, 2008   now provide that same protection, so there is no need for
               a separate VMXGSUME member.  So now, VMXGSUME will just
               bring in the standard VMXGSUM member, and any references
               in your code to use %VMXGSUME can be changed to %VMXGSUM,
               or any %INCLUDE SOURCLIB(VMXGSUME); can be removed, but
               those statements do not HAVE to be changed, as long as
               you do NOT have your own VMXGSUME member in tailoring
               libraries.

Change 26.226  Reserved Change Number.
Oct  2, 2008

Change 26.225  Variable QPACAAFG was still wrong after Change 26.080, as
VMACDB2        it is INPUT in two places, but only the first was fixed.
Oct  2, 2008
   Thanks to Glenn Bowman, Wakefern, USA.

Change 26.224  NMON variables that did not have a decimal point in the
VMACNMON       data were incorrectly input by MXG's 6.1 format, so they
Oct  2, 2008   were small by a factor of 10, and fields with more than
               6 digits were truncated; both errors were due to the use
               of INPUT(field,6.1) syntax, which divides by 10 when the
               field does not contain a decimal point, and only reads in
               the first six digits.  Each variable in each MXG dataset
               has now been validated against the NMON xls file after
               this (embarrassing!) correction, and all are created with
               INPUT(field,16.0) syntax.
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 26.223  Support for NSM VMWARE ESX 2.5.5 formerly a/k/a TNG has
EXTVW020       ten new datasets for these new objects:
EXTVW021
EXTVW022        dddddd  dataset    description
EXTVW023
EXTVW024        VW020     VW020     VMWARE ENGINE CPU
EXTVW025        VW021     VW021     VMWARE ENGINE DISK
EXTVW026        VW022     VW022     VMWARE ENGINE MEMORY
EXTVW027        VW023     VW023     VMWARE ENGINE NETWOR
EXTVW028        VW024     VW024     VMWARE ENGINE SYSTEM
EXTVW029        VW025     VW025     VMWARE VM CPU
FORMATS         VW026     VW026     VMWARE VM DISK
IMACTNG         VW027     VW027     VMWARE VM MEMORY
VMACTNG         VW028     VW028     VMWARE VM NETWORK
VMXGINIT        VW029     VW029     VMWARE VM SYSTEM
Oct  3, 2008
   Thanks to Michael Kynch, International Paper, USA.

Change 26.222  Extremely large values in CPUIFATM, CPUIFETM, IFAUNITS in
VMAC7072       TYPE72GO observations in an interval in which an operator
Sep 30, 2008   varies a CP engine on or offline were caused by invalid
               values in R723IFAT and R723IFCT.  IBM determined that the
               CONFIG command invokes IRAEVCFG to recalculate RMCTADJC,
               and when IWMRCOLL is invoked, IRAWRARC converts these
               service units into microseconds using RMCTADJC (SU_SEC).
               In the specific case, RMCADJC was x'194' prior to vary
               and was x'166' after, which caused IFAT and IFCT to be
               lower in the second IWMRCOLL, creating a "negative" value
               i.e., first bit on, which MXG sees as a large positive.
               IBM said it is not possible to fix because the microsecs
               are correct based on the current RMCTADJC value; however
               IBM support noted that the service unit values in fields
               R723CIFA and R723CIFC were correct because they are not
               adjusted by RMCTADJC, so IBM's permanent solution is for
               MXG to recalculate CPUIFATM and CPUIFETM from service
               units and to no longer use R723IFAT and R723IFCT values.
                 The defective fields, R723IFAT and R723IFCT were the
                 original IFA times, from which MXG IFAUNITS/IFEUNITS
                 were originally created.  The recommended fields now
                 used, R723CIFA and R723CIFC were added by the APAR
                 that also added the zIIP service unit values that MXG
                 has always used to create the zip CPU times, so it is
                 consistent now to use all those service unit fields for
                 both zAAP and zIIP CPU times and service units.
               This change implements that IBM solution.
               Jul 29, 2010:  Variables R723IFAT and R723IFCT are set to
                              a missing value to avoid confusion.  The
                              APAR mentioned was OA13499, Change 24.046!
   Thanks to Dianne Gamarra, IBM Level 2 Support, USA.
   Thanks to Frank De Bree, DEXIA, BELGIUM.
   Thanks to Christine De Clercq, DEXIA, BELGIUM.
   Thanks to Eugent Van Ossalaer, DEXIA, BELGIUM.

Change 26.221  Support for IBM DS8000 2107 SAN Disk Controller stats in
EXSVCCP        SVCPerfStats xml files, creates five statistics datasets:
EXSVCMD            MACRO     INFILE     DDDDDD     DATASET
EXSVCNO
EXSVCPO           _TSVCMD   SVCMDISK    SVCMD      SVCMDISK
EXSVCVD
IMACSVC           _TSVCNOD  SVCNODE     SVCCP      SVCCPBSY
TYPESVC                                 SVCNO      SVCNODE
TYPSSVC                                 SVCPO      SVCPORT
VMACSVC
VMXGINIT          _TSVCVD   SVCVDISK    SVCVD      SVCVDISK
Sep 28, 2008
Oct 20, 2008   The support for this data source requires an extra file,
               named TEMPSVC, which is written to and read from, to
               prevent thousands of lines to be written on the SAS log.
               For ASCII execution,
                    FILENAME TEMPSVC 'C:\tempsvc' LRECL=52;
               For z/OS execution,
                  //TEMPSVC  DD UNIT=SYSDA,SPACE=(CYL,(100,100)),
                  //            RECFM=VB,LRECL=512,BLKSIZE=0

               Both SVC 4.1 and SVC 4.2 data has been tested.

                   The order of the SVCMDISK, SVCNODE, or SVCVDISK DD is
                   not important; use DD DUMMY if you don't want to read
                   an XML file.  Example JCL to process SVC data:

                   // EXEC MXGSASV9
                   //PDB DD DSN=YOUR.SVC.OUTPUT.PDB,DISP=(NEW .....
                   //TEMPSVC  DD UNIT=SYSDA,SPACE=(CYL,(100,100)),
                   //            RECFM=VB,LRECL=512,BLKSIZE=0
                   //SVCMDISK DD DSN=YOUR.MDISK.FILE01.DATA,DISP=SHR
                   //         DD DSN=YOUR.MDISK.FILE02.DATA,DISP=SHR
                   //         DD DSN=YOUR.MDISK.FILENN.DATA,DISP=SHR
                   //SVCNODE  DD DSN=YOUR.MDISK.FILE01.DATA,DISP=SHR
                   //         DD DSN=YOUR.MDISK.FILE02.DATA,DISP=SHR
                   //         DD DSN=YOUR.MDISK.FILENN.DATA,DISP=SHR
                   //SVCVDISK DD DSN=YOUR.MDISK.FILE01.DATA,DISP=SHR
                   //         DD DSN=YOUR.MDISK.FILE02.DATA,DISP=SHR
                   //         DD DSN=YOUR.MDISK.FILENN.DATA,DISP=SHR
                   //SYSIN    DD *
                      %INCLUDE SOURCLIB(TYPSSVC);

               This was my first venture into reading XML files; these
               are directly created by the disk controller monitor, and
               no predecessor "flat file" exists.  Unfortunately, these
               XML documents are not "well-formed" which could have been
               directly read with the SAS XML engine; a well-formed XML
               document has a matching end-tag for each start-tag, but
               these documents often have only the start-tag.  SAS does
               provide a separate facility for these "non-generic" XML
               documents, but it involves writing a tag-specific XML map
               document that tells SAS how to read the XML document, but
               that would require a significant redesign of MXG to have
               a matching pair of "documents", a program and an XML map,
               for each of the XML files to be read, with new naming  .
               conventions, etc.  Instead, I wrote this support in SAS
               data steps, using SAS NAMED INPUT (well suited to the XML
               data format of  tag1="value1" tag2=="value2").  Also, as
               the monitor data is accumulated, additional DATA steps
               would be required after the initial input.

               One real negative of having to read XML documents instead
               of a simple binary file is the massive increase in data
               volume.  For example, the VDISK file contained 1,143,405
               physical records, but there were only 70,160 observations
               created from that XML file.
               Part of that volume is due to the monitor's design: it
               creates a separate document for each interval, but all of
               the documents must be read and sorted so the values can
               be deaccumulated.  There were 400 mdisk documents daily,
               which were concatenated and read in a single data step,
               but that generated 160,000 lines of the SAS log, because
               each of those 400 input events not only print the file
               name being read, but repeats the full "file list" of all
               400 files!  As a result, that first data step is wrapped
               in an OPTIONS NONOTES to suppress that unwanted printing.

               Users HAVE experienced problems attempting to ftp the xml
               files to z/OS, because the files are "unix-format" files
               that are created on Windows, and they are terminated ONLY
               with LF (0Ax) and not the normal-for-windows-files CRLF
               (0D0Ax).

               One user was able to ftp the xml files to z/OS using:
                 ascii
                 quote site recfm=fb lrecl=2000 blksize=2000
                 put stats.xml 'uuuuuuuu.stats.xml' lf
               where the z/OS ftp server was IBM FTP CS V1R8.

               However, another user's ftp failed with IBM FTP CS V1R7.
               (The ftp executed, but created a single record with the
               '0A'x treated as data, and that record was truncated at
               the LRECL length.  That user found this IBM documentation
               note in the IP User's Guide and Commands manual:
                 "The z/OS FTP server supports only the CRLF value for
                  incoming data."
               After using a hex editor to change '0A'x to '0D0A'x they
               were able to ftp the IBM xml file to the IBM ftp server.

               This Windows command will change the '0A'x to '0D0A'x:
                   TYPE unix_file | FIND "" /V > dos_file
               so the file can be ftp'd to an IBM ftp server on z/OS.

               And for completeness, if the LF-only file is on a unix
               system, you can use this Unix command to convert to CRLF:
                 unix2dos old.xml new.xml
               prior to the ftp-ing.

   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
   Thanks to Steve Foskett, Lloyds TSB, ENGLAND.
   Thanks to MP Welch, SPRINT, USA.

Change 26.220  Example report for Service Class percent CPU busy revised
ANALSRVC       to show how to change the interval of the report, and the
Sep 27, 2008   default now produces hourly percent busy, and EXCSP are
               added to the totals for each interval.
   Thanks to Lisa Lawver, Land's End, USA.

Change 26.219  Change 26.101 was not implemented; the semicolon at the
VMXGFOR        end of %VMXGFOR was still present.  However, only very
Sep 26, 2008   old user code in tailoring library are exposed, since
               all %VMXGFOR calls were removed in all MXG code in 2003
               by Change 20.327.  Note that Change 23.127 also claimed
               of have removed this semicolon, but it didn't!
   Thanks to Pius Nwaobasi, IBM Global Services, USA.

Change 26.218  RMF III variables ASIRNM, Reporting Class Name and ASIRDE
VMACRMFV       Reporting Class Description were blank due to a misplaced
Sep 24, 2008   IF statement.
   Thanks to Betty Wong, Bank of America, USA.

Change 26.217  Revised QA JOB stream example, and cosmetic cleanups.
ANALCNCR       The old multi-step JCL used for MXG QA tests were needed
BATDOIT        back in SAS V6 because it couldn't handle a single step,
JCLQASAS       but for some time the PC QA stream has run only a single
JCLQAWPS       SAS datastep.  First one-step z/OS runs failed with JCL
PRODSRCE       issues, because the QA "PDB" data library is used with
PRODTEST       multiple LIBREFs (PDB,MON,TUE..,WEEK1..,MONTH...) but on
QASAS          z/OS you couldn't use the same temporary DSN.  Finally,
TESTANAL       Chuck figured out what JCL referbacks were needed, so the
TRNDCICX       PROC COPYs (a holdover from when the multi-step required
UTILVREF       them) could be eliminated, and they were really a killer;
VMXGCICI       PC run time of the QA dropped from over an hour to only
Oct 21, 2008   10 minutes; z/OS run time dropped from xx to yy.
Nov 15, 2008   QASAS now documents the MXG QA job stream in comments.
               BATDOIT is the batch file I use to run QASAS.
               PRODTEST is the IEBUPDTE-format directory used in QA job.
               PRODSRCE creates PRODTEST from c:\QA\prodtest directory.
              -Many members still had SASAUTOS=SOURCLIB in OPTIONS or in
               JCL examples, but MXG's CONFIGV9 or AUTOEXEC now set all
               options, including SASAUTOS=(SASAUTOS SOURCLIB) so these
               old examples were actually wrong.  Their existence in the
               ANALxxxx member actually caused errors when they reset
               SASAUTOS to only SOURCLIB, preventing %TRIM and other SAS
               %MACROs that are provided in their SASAUTOS to be found.
              -JCL with // EXEC SAS and  // EXEC SAS,OPTIONS= ... were
               replaced, where appropriate, with // EXEC MXGSASV9.
               Many of these old examples also had //SOURCLIB or even
               //SASLIB (archaic since SAS V5); all of those DDs were
               deleted from examples as they are contained in MXGSASV9
               JCL procedure example.
               These members were cosmetically revised:
                  achap21  achap31  achap32  adoctrnd aixpds   analbnc1
                  analbnch analcm29 analnpmr analnspy analpdsm analrrtm
                  analturn analvary analvm   analvmdy analvmos asummips
                  docgraf  doctrend exitmon6 grafhsm  grafregr graftalo
                  graftmnt graftrnd grafwork grafworx jclpdb   multivol
                  newsltrs rexxtes6 rexxwlm  sas5fix1 senddata trndtmnt
                  typedms  typeslri typsims1 utildocv utilspac utilvone
                  vmacndm  vmxguse  vmxgvtoc vmxgvtof xcompall xibmfdp
                  xjclcomp xmacsar  xnpmsess xsyslog  zrbbuild zrbjcl
                  zrbrpt1  zrbrpt2  analsupr
              -VMXGCICI caused WARNING on COLLTIME when VMXGSUME used;
               COLLTIME should be only in SUMBY and DATATIME= so it was
               removed from ID statement.
              -ANALCNCR caused WARNING on TIMESTMP when VMXGSUME used;
               old logic similar to VMXGCICI was revised.
              -COMPALL was tested, creating 1871 datasets in a single
               DATA step compiling all MXG datasets created from SMF:

                  Compiler    Platform    Run Time      Memory Required

                  SAS 9.1.3    Win/XP       75 seconds     1100 MB
                  WPS 2.2      Win/XP      120 seconds     same box

                  SAS 9.1.3    z/OS         93 seconds     1145 MB
                  WPS 2.2      z/OS         32 minutes     1024 MB
   Thanks to Chuck Hopf, Bank of America, USA.
   Thanks to MP Welch, SPRINT, USA.
   Thanks to Rich Anderson, SAS Technical Support, USA.

Change 26.216 -The ZIPUSED MSU was incorrect; obviously, CPUZIPTM should
ASUMMIPS       have been used instead of CPUIFATM.
Sep 23, 2008  -If the same name was used for both a Service Class and a
Sep 28, 2008   Reporting Class, the PDB.RMFMSUSE dataset had incorrect
               values in RPRTCLAS, CPUTM, and the MSU and MIPS used.
              -Change 26.131 added ZIP/ZAP metrics, but only to _RMFMIPS
               causing UNINITIALIZED VARIABLE messages when _SMFMIPS was
               executed.  Now, both _RMFMIPS and _SMFMIPS report on all
               three engine types.
   Thanks to Don Goulden, SAS Institute, USA.
   Thanks to Robert Kuhne, Excelon Corp, USA.

Change 26.215  NDM-CDI subtype 'UC' was not output, because it was not
VMACNDM        in the initial test for known subtypes, but it was in the
Sep 23, 2008   test and is now output in the NDMAE dataset.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 26.214  Protection for invalid extended segment did not cover
VMAC1415       all cases; protection and error message revised, could
Sep 17, 2008   still cause INPUT STATEMENT EXCEEDED RECORD error.
   Thanks to Mayer Rosenthal, Infocrossing, USA.

Change 26.213  Support for new data in NTDS and ASP.NET Applications
VMACNTSM       objects in NTSM adds these new variables:
Sep 16, 2008  -Dataset ASPNETAP new variables:
Sep 17, 2008     ASPARWTB ASPACMLU ASPACMLB ASPACPLU
                 ASPACPLB ASPACTTR ASPACATR ASPAOCTR
              -Dataset NTDS new variables:
                 NTDSLNCS NTDSLCCS NTDSLNSC NTDSDPRO NTDSTGNC NTDSTGHS
                 NTDSLVUR NTDSTURP NTDSDWFN NTDSDSFN NTDSDRFN NTDSSAEL
                 NTDSSREL
                 Also, the XDS and LDAP Binds variables no longer exist.
              -Dataset MEMORY had all variables missing when NRDATA=40,
               due to my careless testing.
   Thanks to Lisa E. Van Allen, Boeing, USA.
   Thanks to James A. Young, Boeing, USA.

Change 26.212  Change 25.308 for SAS V9.2 corrected three instances of
VMXGSUME       %ELSE %THEN %DO statements to %ELSE %DO, but two members
UTILBLDP       were overlooked, VMXGSUME and UTILBLDP.
Sep 16, 2008   The symptoms of the V9.2-only error is this message
Sep 18, 2008   ERROR: THERE IS NO MATCHING %IF STATEMENT FOR THE %THEN.
                      A DUMMY MACRO WILL BE COMPILED.
   Thanks to Kim Westcott, OFT, State of New York, USA.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.

Change 26.211  Cosmetic.  Labels for G3DTIN01-07, G4DTIN01-07 were blank
VMACBVIR       (they were caught in QA reports, but I overlooked them!).
Sep 16, 2008   Some duplicate labels were also removed.
   Thanks to Markus Bansemir, HUK-Coburg, GERMANY.

Change 26.210  Support for Landmark The Monitor for DB2 V 4.1 raw data.
VMACTMDB      -Dataset TMDBD7P adds new variables:
Sep 18, 2008     D7QAASC  D7QAAWLG D7QAAWTI D7QAAWTJ D7QAAWTL D7QABPID
                 D7QADBID D7QAOBID D7QAOCUR D7QAOTSN D7QAOTTY D7QASDB2
                 D7QASDYN D7QASFL1 D7QASFL2 D7QASTAB D7QASTET D7QATRET
                 D7QAUDEA
              -Dataset TMDBDB adds new variables:
                 DBACTRTE DBACTREE DBACSVPT DBACRLSV DBACRBSV DBACAWTK
                 DBACAWTM DBACAWTN DBACAWTO DBACAWTQ DBACARNK DBACARNM
                 DBACARNN DBACARNO DBACARNQ DB1ZIIP  DB2ZIIP  DBTZIIP
                 DBEZIIP  DBFIL71  DBFIL72  DBFIL73  DBFIL74  DBAXAWFC
                 DBAXFCCT DBAXIXLE DBAXIXLT DBSETCPR DBDCLGTT DBDEGDTT
                 DBCRESEQ DBALTSEQ DBDROSEQ DBPRRESI DBALTVW  DB0112IW
                 DB0112SC DB0112CC DB0112OF DB0112LN DB0112OH DBASHSQL
                 DBASLSQL SQLIDLEN SQLIDNAM
              -Dataset TMDBDA2 adds new variables:
                 DAMSPSRB DAMSZSRB DADSPSRB DADSZSRB DAISPSRB DAISZSRB
                 DXSPSRB  DAXSZSRB DASSPSRB DASSZSRB DAXSETCP DAXDCLGT
                 DAXDEGDT DAXCRESQ DAXALTSQ DAXDROSQ DAXPRESI DAXALTVW
                 DASEDFAL DASEDPGE DASEDFRE DASEDYNP DASECFAL DASECPGE
                 DASECFRE DAISTCOL DADNDBA  DADPOOL  DAGSFLMG DABSTLPL
                 DABPFIX  DABVDQB  DABSLA   DABPGST  DABGLGG  DABGLHS
                 DABGL2H  DABGLP1  DABGLP2  DABGLP3  DABGLU1  DABGLS1
                 DABGLS2  DABGLS3  DABGLN1  DABGLN2  DABGLN3  DA3STHWB
                 DA3STHWF DA3STHWC DA9STCX4 DAJSLSUS DAJSLOGW DAJSCIWR
                 DAJSSERW DAJSTHRW DAJSBPAG
   Thanks to Martin Legendre, Regie des rentes du Quebec, CANADA.

====== Changes thru 26.209 were in MXG 26.08 dated Sep 12, 2008=========

Change 26.209  Enhancement for reading DB2 SMF records adds new parms:
READDB2         SMFOUT=  DDNAME to which SMF records that met selection
Sep 12, 2008             criteria will be written

Change 26.208  Variables SMF30MLS and MEMLIMIT are now kept in BUILDPDBs
BUILD005       PDB.STEPS dataset.  Previously, they were kept only in
BUIL3005       PDB.SMFINTRV and PDB.TYPE30U6.
Sep 11, 2008
   Thanks to Paul Naddeo, FISERV, USA.

Change 26.207  Support for Thruput Manager Subtype 7, and new fields:
EXTPM701      -Dataset TPMXSLM new variables
EXTPM702          TPMSLXGN='EXECUTION*START*TIME'
EXTPM703          TPMSLXGF='EXECUTION*END*TIME'
EXTPM704       While the DSECT used LXTN,LXTF, those datetime fields do
EXTPM705       already exist, and these new fields, while DSECT'd as
EXTPM706       TODSTAMP, in fact, contain only TIME12.2 time-of-day.
IMACTPMX      -Support for subtype 7 creates six new datasets:
VMACTPMX         dddddd     Dataset   Description:
VMXGINIT         TPM701     TPM0701   SERVER ENVIRONMENT
Sep 12, 2008     TPM702     TPM0702   GENERAL SERVICES QUEUE
                 TPM703     TPM0703   1ST DISCRETIONARY QUEUE
                 TPM704     TPM0704   SERVICES GROUP QUEUE
                 TPM705     TPM0705   JESPLEX MEMBER STATUS
                 TPM706     TPM0706   INTERVAL DATA
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.206  CICS/TS 3.2 BMC optional CMRDATA increased to 256 bytes
IMACICMR       as CPU time fields were increased from 4 to 8 bytes, but
Sep  5, 2008   MXG's IMACICMR had not been updated for 3.2, causing
               ERROR: INVALID STRTTIME when IMACICMR was tailored and
               read 3.2 data.  Turns out IMACICMR never decoded times
               correctly, even with earlier CICS releases, but now both
               old and new records are correctly decoded.  There are 16
               undocumented bytes at the end of the CMRDATA segment that
               will be decoded if they are ever populated by BMC.
   Thanks to Barry T. Mueller, RiteAid, USA.

Change 26.205  Change 26.115 erroneously added SYSNAME to the BY list
WEEKBLDT       for TYPE892 dataset, causing WEEKBLDT to fail  with
Sep  4, 2008   ERROR: VARIABLE SYSNAME NOT FOUND.
   Thanks to Mark W. Brown, CapGemini, ENGLAND.

Change 26.204  New fields and new subtypes for Shadow USER SMF records:
EXSHDW05      -New variables in SHADOW01 dataset:
EXSHDW18         SM01ADCT=*ADABAS*COMMAND*COUNT'
IMACSHDW         SM01CLRC=*CLIENT*READ*DATA*COUNT'
VMACSHDW         SM01CLWT=*CLIENT*WAIT*TIME'
VMXGINIT         SM01HONA=*HOST*NAME*CLMI'
Sep  3, 2008     SM01LNID=*CLIENT*LAN*NETWORK*USERID'
                 SM01SRCP=*SRB*CPU*TIME'
              -New variables in SHADOW02 dataset:
                 SM02CLRC='CLIENT*READ*DATA*COUNT'
                 SM02CLWT='CLIENT*WAIT*TIME'
                 SM02ENZC='ENCLAVE*ZIIP*TIME*ON CP'
                 SM02ENZI='ENCLAVE*ZIP*CPU*TIME'
                 SM02ENZQ='ENCLAVE*ZIP*QUALIFIED*CPU TIME'
                 SM02MXUS='MAX*INTERVAL*CONCURRENT*USERS'
                 SM02RPCU='CURRENT*NUMBER*EXECUTING*RPCS'
                 SM02RPHW='RPC*HIGH*WATER*MARK'
                 SM02SLCP='SSL*CPU*TIME'
                 SM02SRCP='SRB*CPU*TIME'
              -New SHADOW05 dataset for SHADOW NON SOAP REQUEST:
                 SM0501CR='WWW RULE*CRITERION*MATCH*STRING'
                 SM0501EU='RUNTIME*MVS*USERID*IN EFFECT'
                 SM0501RL='WWW RULE*EVENT*PROCEDURE*MEMBER NAME'
                 SM0501RS='WWW*RULE EVENT*PROCEDURE*SET NAME'
                 SM05ABCD='TRANSACTION*ABEND*CODE'
                 SM05ABRS='TRANSACTION*REASON*CODE'
                 SM05ADLT='TRANSACTION*CONNECT*TIME*LOCAL'
                 SM05AUTH='CLIENT*AUTHORIZATION*STATUS'
                 SM05CLIP='CLIENT*IP*ADDRESS'
                 SM05CLIP='CLIENT*IP*ADDRESS'
                 SM05CLUS='CLIENT*USER*ID'
                 SM05CNID='CONNECTION ID'
                 SM05DBCP='DB2*CPU*TIME'
                 SM05ELTM='TRANSACTION*ELAPSED*TIME'
                 SM05ENCP='ENCLAVE*CPU*TIME'
                 SM05INUR='ORIGINAL*INBOUND*URL*VALUE'
                 SM05IPAC='IPADDRESS*OF*CLIENT*HEX'
                 SM05IPAD='IP*ADDRESS'
                 SM05LGTM='TRANSCTION*CONNECT*TIME*GMT'
                 SM05LSCR='WWW RULE*CRITERION*MATCH*STRING'
                 SM05LSEU='RUNTIME*MVS*USERID*IN EFFECT'
                 SM05LSRL='WWW RULE*EVENT*PROCEDURE*MEMBER NAME'
                 SM05LSRS='WWW*RULE EVENT*PROCEDURE*SET NAME'
                 SM05MTCT='COUNT OF*URL*MATCHES*PROCESSED'
                 SM05NTCP='NETWORK*CPU*TIME'
                 SM05OHCP='OTHER*CPU*TIME'
                 SM05PDSS='PRODUCT*SUBSYSTEM*NAME'
                 SM05RDTO='TOTAL*BYTES*SENT*INBOUND'
                 SM05RESC='COUNT OF*URL*RE-SCANS'
                 SM05RPCP='USER*PROGRAM*CPU*TIME'
                 SM05RXCP='SHADOW/REXX*CPU*TIME'
                 SM05SLCP='SSL*PROCESSING*CPU*TIME'
                 SM05SMID='HOST*SYSTEM*SMFID'
                 SM05SRCP='SRB*CPU*TIME'
                 SM05TRRC='OVERALL*RETURN*CODE'
                 SM05TRRS='REASON*CODE'
                 SM05TRST='HTML*STATUS*CODE'
                 SM05USR1='USER*DATA*AREA*1'
                 SM05USR2='USER*DATA*AREA*2'
                 SM05WRTO='TOTAL*BYTES*WRITTEN'
              -New SHADOW05 dataset for SHADOW Z/SERVICES:
                 SM18ABCD='TRANSACTION*ABEND*CODE'
                 SM18ABRS='TRANSACTION*REASON*CODE'
                 SM18ADLT='TRANSACTION*CONNECT*TIME*LOCAL'
                 SM18AUTH='CLIENT*AUTHORIZATION*STATUS'
                 SM18CLIP='CLIENT*IP*ADDRESS'
                 SM18CLUS='CLIENT*USER*ID'
                 SM18CNID='CONNECTION ID'
                 SM18DBCP='DB2*CPU*TIME'
                 SM18ELTM='TRANSACTION*ELAPSED*TIME'
                 SM18ENCP='ENCLAVE*CPU*TIME'
                 SM18ENZC='ENCLAVE*ZIIP*TIME*ON CP'
                 SM18ENZI='ENCLAVE*ZIIP*CPU TIME'
                 SM18ENZQ='ENCLAVE*ZIIP*QUALIFIED*CPU TIME'
                 SM18INUR='ORIGINAL*INBOUND*URL*VALUE'
                 SM18IPAC='IPADDRESS*OF*CLIENT*HEX'
                 SM18IPAD='IP*ADDRESS'
                 SM18LGTM='TRANSCTION*CONNECT*TIME*GMT'
                 SM18MTCT='COUNT OF*URL*MATCHES*PROCESSED'
                 SM18NASP='WEB*SERVICE*NAME*SPACE'
                 SM18NTCP='NETWORK*CPU*TIME'
                 SM18OHCP='OTHER*CPU*TIME'
                 SM18PDSS='PRODUCT*SUBSYSTEM*NAME'
                 SM18PORT='CLIENT*AUTHORIZATION*STATUS'
                 SM18RCCT='TRANSACTION*COUNT*FOR*SUMMARY*RECORD'
                 SM18RCTY='CLIENT*AUTHORIZATION*STATUS'
                 SM18RDTO='TOTAL*BYTES*SENT*INBOUND'
                 SM18RPCP='USER*PROGRAM*CPU*TIME'
                 SM18RXCP='SHADOW/REXX*CPU*TIME'
                 SM18SLCP='SSL*PROCESSING*CPU*TIME'
                 SM18SMID='HOST*SYSTEM*SMFID'
                 SM18SRBT='SRB*CPU*TIME'
                 SM18SRCP='SRB*CPU*TIME'
                 SM18TRFX='SOAP*FAULT*TEXT'
                 SM18TRRC='OVERALL*RETURN*CODE'
                 SM18TRRS='REASON*CODE'
                 SM18TRSE='SOAP*FAULT*LENGTH'
                 SM18TRST='HTML*STATUS*CODE'
                 SM18TYPE='CLIENT*AUTHORIZATION*STATUS'
                 SM18VDIR='VIRTUAL*DIRECTORY'
                 SM18WRTO='TOTAL*BYTES*WRITTEN'
                 SM18WSNA='WEB*SERVICE'
                 SM18WSOP='OPERATION*NAME'
                 SM18WSTG='TARGET*SYSTEM*NAME'
   Thanks to Scott Chapman, American Electric Power,USA.

Change 26.203  Support for z/VM 5.4 (COMPATIBLE back to MXG 25.05) adds
EXMTRMCC       new 5.4 variables and two new datasets, but there are
EXSTOADD       600 variables added by z/VM 5.3, now supported by MXG in
FORMATS        this change.
IMACVMXA      NEW MONWRITE DATASETS CREATED BY z/VM 5.4:
VMACVMXA
VMXGINIT      -Dataset VXMTRMCC (1.21) MEMORY CONFIGURATION CHANGE:
Sep  1, 2008     SYSGSTBY='STANDBY*CENTRAL*STORAGE*SIZE'
                 SYSGSTRS='RESERVED*CENTRAL*STORAGE*SIZE'

              -Dataset VXMTRMCC (1.21) MEMORY CONFIGURATION CHANGE:
                 CALMEMAD='ADDITIONAL*CENTRAL*STORAGE'
                 CALSXSAD='ADDITIONAL*SXS*STORAGE'

              UPDATES TO EXISTING MONWRITE DATASETS FOR 5.3 and 5.4:

              -Dataset VXSYTPRP (0.2) new variables in 5.4:
                 PFXFST44='FASTPATH*SIMULATIONS*OF DIAGNOSE*X44'
                 PFXFSTPX='FASTPATH*PARTIAL*EXECUTE*INTERRUPTS'
                 PFXFSTSG='FASTPATH*SIMULATIONS*SIGP EXT CALL*INTS'
                 PFXFSTXC='FASTPATH*REFLECTIONS*GUEST EXT CALL*INTS'
              -Dataset VXSYTRSG (0.3) new variables (added in 5.3):
                 RSADRMA1='STOLEN*GT 2G*DORMANT*PASS 1='
                 RSADRMA2='STOLEN*GT 2G*DORMANT*PASS 2='
                 RSADRMAE='STOLEN*GT 2G*DORMANT EMERG*PASS='
                 RSADRMB1='STOLEN*LT 2G*DORMANT*PASS 1='
                 RSADRMB2='STOLEN*LT 2G*DORMANT*PASS 2='
                 RSADRMBE='STOLEN*LT 2G*DORMANT EMERG*PASS='
                 RSADRMC1='STOLEN*CONTIG GT 2G*DORMANT*PASS 1='
                 RSADRMC2='STOLEN*CONTIG GT 2G*DORMANT*PASS 2='
                 RSADRMCE='STOLEN*CONTIG GT 2G*DORM EMERG*PASS='
                 RSADRMD1='STOLEN*CONTIG LT 2G*DORMANT*PASS 1='
                 RSADRMD2='STOLEN*CONTIG LT 2G*DORMANT*PASS 2='
                 RSADRMDE='STOLEN*CONTIG LT 2G*DORM EMERG*PASS='
                 RSADSPA1='STOLEN*GT 2G*DISPATCH*PASS 1='
                 RSADSPA2='STOLEN*GT 2G*DISPATCH*PASS 2='
                 RSADSPAE='STOLEN*GT 2G*DISPATCH EMERG*PASS='
                 RSADSPB1='STOLEN*LT 2G*DISPATCH*PASS 1='
                 RSADSPB2='STOLEN*LT 2G*DISPATCH*PASS 2='
                 RSADSPBE='STOLEN*LT 2G*DISPATCH EMERG*PASS='
                 RSADSPC1='STOLEN*CONTIG GT 2G*DISPATCH*PASS 1='
                 RSADSPC2='STOLEN*CONTIG GT 2G*DISPATCH*PASS 2='
                 RSADSPCE='STOLEN*CONTIG GT 2G*DISPATCH EMERG*PASS='
                 RSADSPD1='STOLEN*CONTIG LT 2G*DISPATCH*PASS 1='
                 RSADSPD2='STOLEN*CONTIG LT 2G*DISPATCH*PASS 2='
                 RSADSPDE='STOLEN*CONTIG LT 2G*DISPATCH EMERG*PASS='
                 RSAELGA1='STOLEN*GT 2G*ELIGIBLE*PASS 1='
                 RSAELGA2='STOLEN*GT 2G*ELIGIBLE*PASS 2='
                 RSAELGAE='STOLEN*GT 2G*ELIGIBLE EMERG*PASS='
                 RSAELGB1='STOLEN*LT 2G*ELIGIBLE*PASS 1='
                 RSAELGB2='STOLEN*LT 2G*ELIGIBLE*PASS 2='
                 RSAELGBE='STOLEN*LT 2G*ELIGIBLE EMERG*PASS='
                 RSAELGC1='STOLEN*CONTIG GT 2G*ELIGIBLE*PASS 1='
                 RSAELGC2='STOLEN*CONTIG GT 2G*ELIGIBLE*PASS 2='
                 RSAELGCE='STOLEN*CONTIG GT 2G*ELIGIBLE EMERG*PASS='
                 RSAELGD1='STOLEN*CONTIG LT 2G*ELIGIBLE*PASS 1='
                 RSAELGD2='STOLEN*CONTIG LT 2G*ELIGIBLE*PASS 2='
                 RSAELGDE='STOLEN*CONTIG LT 2G*ELIGIBLE EMERG*PASS='
                 RSALTDA1='STOLEN*GT 2G*LONG TERM*DORMANT*PASS 1='
                 RSALTDA2='STOLEN*GT 2G*LONG TERM*DORMANT*PASS 2='
                 RSALTDAE='STOLEN*GT 2G*LNGTRMDORM EMERG*PASS='
                 RSALTDB1='STOLEN*LT 2G*LONG TERM*DORMANT*PASS 1='
                 RSALTDB2='STOLEN*LT 2G*LONG TERM*DORMANT*PASS 2='
                 RSALTDBE='STOLEN*LT 2G*LNGTRMDORM EMERG*PASS='
                 RSALTDC1='STOLEN*CONTIG GT 2G*LNGTRMDORM*PASS 1='
                 RSALTDC2='STOLEN*CONTIG GT 2G*LNGTRMDORM*PASS 2='
                 RSALTDCE='STOLCONTIG GT 2G*LNGTRMDORM EMERG*PASS*
                 RSALTDD1='STOLEN*CONTIG LT 2G*LNGTRMDORM*PASS 1='
                 RSALTDD2='STOLEN*CONTIG LT 2G*LNGTRMDORM*PASS 2='
                 RSALTDDE='STOLCONTIG LT 2G*LNGTRMDORM EMERG*PASS='
                 RSARESAC='RESIDENT*PTRM PAGES GT 2G='
                 RSARESBC='RESIDENT*PTRM PAGES LT 2G='
                 RSASHRA1='STOLEN*GT 2G*SHARED*PASS 1='      ='
                 RSASHRA2='STOLEN*GT 2G*SHARED*PASS 2='
                 RSASHRAE='STOLEN*GT 2G*SHARED EMERG*PASS='
                 RSASHRB1='STOLEN*LT 2G*SHARED*PASS 1='
                 RSASHRB2='STOLEN*LT 2G*SHARED*PASS 2='
                 RSASHRBE='STOLEN*LT 2G*SHARED EMERG*PASS='
                 RSASHRC1='STOLEN*CONTIG GT 2G*SHARED*PASS 1*='/
                 RSASHRC2='STOLEN*CONTIG GT 2G*SHARED*PASS 2*='/
                 RSASHRCE='STOLEN*CONTIG GT 2G*SHARED EMERG*PASS='
                 RSASHRD1='STOLEN*CONTIG LT 2G*SHARED*PASS 1*='/
                 RSASHRD2='STOLEN*CONTIG LT 2G*SHARED*PASS 2*='/
                 RSASHRDE='STOLEN*CONTIG LT 2G*SHARED EMERG*PASS='
              -Dataset VXSYTRSP (0.4) new variables (added in 5.3):
                 PLSALECG='TIMES WHEN*GT 2G*CONTIG LIST*EMPTY'
                 PLSALECL='TIMES WHEN*LT 2G*CONTIG LIST*EMPTY'
                 PLSALEMG='TIMES WHEN*AVAIL GT 2G*LIST EMPTY'
                 PLSGCLEM='TIMES WHEN*GLOBAL*CLEAR LIST*EMPTY'
                 PLSMVABV='TIMES WHEN*PAGE LT 2G*MOVED GT 2G'
                 PLSMVB2G='PAGE TRANS*MOVED GT 2G*TO LT 2G'
              -Dataset VXSYTSCG (0.10) new variables (added by 5.3):
                 SRME0ETF='ELAPSED*TIME*SLICE*TIME FACTOR'
              -Dataset VXSYTCOM (0.11) new variables (added by 5.3):
                 PLSISEAS='TIMES WHEN*XFER*FROM*ASYNCMD*TO A VM'
                 PLSISESC='TIMES WHEN*XFER*FROM*SCLP*TO A VM'
                 PLSISEVE='TIMES WHEN*XFER*FROM*VMEVENT*TO A VM'
                 PLSISEVS='TIMES WHEN*XFER*FROM*VSWITCH*TO A VM'
                 PLSISTAS='TIMES WHEN*TRANSFER*TO*ASYNCMD'
                 PLSISTSC='TIMES WHEN*TRANSFER*TO*SCLP'
                 PLSISTVE='TIMES WHEN*TRANSFER*TO*VMEVENT'
                 PLSISTVS='TIMES WHEN*TRANSFER*TO*VSWITCH'
                 PLSISUAS='TIMES WHEN*FROM ASYNCMD*NOT*XFERED'
                 PLSISUSC='TIMES WHEN*FROM SCLP*NOT*XFERED'
                 PLSISUVE='TIMES WHEN*FROM VMEVENT*NOT*XFERED'
                 PLSISUVS='TIMES WHEN*FROM VSWITCH*NOT XFERED'
              -Dataset VXSYTUWT (0.12) new variables in 5.4:
                 CALCFICF='VMDBKS*DSP LIST*WAIT ICF*CONSOLE*FUNCTON*/
                 CALCRICF='VMDBKS*DSP LIST*RUNNING*ON REAL ICF*/
                 CALCWICF='VMDBKS*DSP LIST*WAIT ICF*CPU WAIT*/
                 CALLLICF='VMDBKS*DSP LIST*WAIT ICF*MAX SHARE DELAY*/
                 CALSWICF='VMDBKS*DSP LIST*WAIT ICF*SIMULATE*WAIT*/
              -Dataset VXSYTSCP (0.13) new variables (added by 5.3):
                 PLXCPUTH='CPU*TYPE'
                 PLSDSPCN='TIME WHEN*DSP LOOPED*200 TIMES'
              -Dataset VXSYTSCP (0.14) new variables in 5.4:
                 TCMPINVA='PAGE FAULTS*RESOLVED*NO-4K*CASE'
                 TCMSTKEX='CPEBK*DEFERRED*WRITES'
                 TCMSTKPF='CPEBK*DEFERRED*PAGE FAULT*PRIORITY'
              -Dataset VXSYTSYG (0.19) new variables in 5.4:
                 MAIMISS ='MISSING*ADAPTER*INTERRUPTIONS'
                 MAIUREC ='UNRECOVERABLE*ADAPTER*INTERRUPTIONS'
              -Dataset VXSYTSXG (0.21) new variables (added in 5.3):
                 RSARSVSY='TOTAL*RESERVED*PAGES'
                 RSASXACT='SYS EXEC SPACE*BACKED*GT 2G*AVAIL Q'
                 RSASXALI='SYS EXEC SPACE*ALIAS*FRMTES*PAGES'
                 RSASXAVL='SYS EXEC SPACE*AVAILABLE*PAGES'
                 RSASXBCT='SYS EXEC SPACE*BACKED*LT 2G*AVAIL Q'
                 RSASXBKA='SYS EXEC SPACE*BACKED*GT 2G*PAGES'
                 RSASXBKB='SYS EXEC SPACE*BACKED*LT 2G*PAGES'
                 RSASXCLA='SYS EXEC SPACE*ALIAS*LOCKED*PAGES'
                 RSASXNOP='SYS EXEC SPACE*ALIAS*NO-OWNED*PAGES'
                 RSASXQCT='SYS EXEC SPACE*UNBLOCKED*AVAIL*PAGES'
                 RSASXUCP='SYS EXEC SPACE*INUSE*AS CP*PAGES'
                 RSASXUFG='SYS EXEC SPACE*BACKING*GT 2G*PAGES'
                 RSASXUFS='SYS EXEC SPACE*LT 2G*PAGES'
                 RSASXUID='SYS EXEC SPACE*ID-MAPPED*PAGES'
                 RSASXUSD='SYS EXEC SPACE*INUSE*DEFERRED*PAGES'
                 SXSSIZE ='SYS EXEC SPACE*SIZE IN*PAGES'
              -Dataset VXSYTSXP (0.22) now supported (added in 5.3):
                 PFXCPUAD='PROCESSOR*ADDRESS'
                 PFXCPUTY='CPU TYPE'
                 PLSSPFSC='HCPSXPFS*CALLS'
                 PLSSPGCC='CONTIG*SYS EXEC SPACE*GT 2*PAGE REQUESTS'
                 PLSSPGCT='CONTIG*SYS EXEC SPACE*GT 2*GIVEN OUT'
                 PLSSPGFC='FREE STORAGE*PAGES*GIVEN OUT'
                 PLSSPGPC='SINGLE*NON-CONTIGUOUS*PAGES*GIVEN OUT'
                 PLSSPRCC='CONTIG*SYS EXEC SPACE*GT 2*RETURNS'
                 PLSSPRCT='CONTIG*SYS EXEC SPACE*GT 2*RETURNED FOR'
                 PLSSPRFC='FREE STORAGE*PAGES*RETURNED'
                 PLSSPRPC='SINGLE*NON0CONTIG*PAGES*RETURNED'
                 PLSSPRQC='SYS EXEC SPACE*RETURNS*OF QUEUES'
                 PLSSPRQT='SYS EXEC SPACE*RETURNS*VIA QUEUES'
                 PLSSXACC='CREATE*ALIAS*REQUESTS'
                 PLSSXAQC='QUEUE*SXSTE*REQUESTS*TO REQUEUE'
                 PLSSXARC='REMOVE*ALIAS*REQUESTS'
                 PLSSXREP='AVAILABLE*REPLENISHMENTS*ATTEMPTED'
              -Dataset VXSYTSLCK(0.23) now supported (added in 5.3):
                 CALLCKID='IDENTIFIER*FOR THIS*LOCK'
                 CALSSCNT='TIMES LOCK*SPUN FOR*SHARED*MODE'
                 CALSTIME='ELAPSED*SPIN TIME*FOR*SHARED*MODE'
                 CALXSCNT='TIMES LOCK*SPUN FOR*EXCLUSIVE MODE'
                 CALXTIME='ELAPSED*SPIN TIME*FOR*EXCLUSIVE'
              -Dataset VXSYTSXP (0.24) now supported (added in 5.3):
                 CALTYPE ='PROCESSOR*TYPE'
                 SRXABSDL='ABSOLUTE*SHARES*DSPLIST*VMDBKS'
                 SRXATOD ='ARTIFICIAL*TOD*SYSTEM*RUNNING'
                 SRXATOD2='ARTIFICIAL*TOD2*USER TIME*AND CPU WAIT'
                 SRXCONLL='USERS*ACTUALLY*ON LIMIT*LIST'
                 SRXLLCNT='ADDS*TO THE*LIMIT*LIST'
                 SRXRELDL='TOTAL*RELATIVE*SHARES*DSPLIST*VMDBKS'
              -Dataset VXMTRSYS (1.4) new variable in 5.4:
                 SYSCMODE='PROCESSOR*CONFIGURATION*MODE'
              -Dataset VXMTRDEV (1.6) new variables (added by 5.3):
                 CDVFLAGS='CALDEVFLAGS'
                 DVPTHCN1='EDEVPATHCONN 1'
                 DVPTHCN2='EDEVPATHCONN 2'
                 DVPTHCN3='EDEVPATHCONN 3'
                 DVPTHCN4='EDEVPATHCONN 4'
                 DVPTHCN5='EDEVPATHCONN 5'
                 DVPTHCN6='EDEVPATHCONN 6'
                 DVPTHCN7='EDEVPATHCONN 7'
                 DVPTHCN8='EDEVPATHCONN 8'
                 EDEVATTR='EDEV ATTRIBUTES
                 EDEVTABL='SCSI*DISK*ATTRIB*TABLE NAME'
                 PREFPATH='PREFERRED PATH MASK
                 RDEVHPPL='HYPERPAV POOL NUMBER
              -Dataset VXMTRMEM (1.7) new variables added (by 5.3):
                 PFXFTLEN='FRAME*TABLE*LENGTH'
                 PFXSTLEN='SYS EXEC SPACE*MGMT TABLE*LENGTH'
                 RSAFNOTI='NOT*INITIALIZED*FRAMES GT 2G'
                 RSAGOFFL='OFFLINE*FRAMES*GT 2G'
                 RSALGFRM='USEABLE*FRAMES*GT 2G'
                 SXSSIZE ='SYS EXEC SPACE*SIZE IN*PAGES'
              -Dataset VXMTRMEM (1.7) new variables added by 5.4:
                 SYSGSTBY='STANDBY*REAL*STORAGE*SIZE'
                 SYSGSTRS='RESERVED*REAL*STORAGE*SIZE'
              -Dataset VXMTRUSR (1.15) new variables in 5.4
                 CALCPCT ='GUEST*DEFINED*CP*CPUS'
                 CALICFCT='GUEST*DEFINED*ICF*CPUS'
                 CALIFLCT='GUEST*DEFINED*IFL*CPUS'
                 CALZAPCT='GUEST*DEFINED*ZAAP*CPUS'
                 CALZIPCT='GUEST*DEFINED*ZIIP*CPUS'
                 CPHABSSH='CP*ABSOLUTE*SHARE*SETTING'
                 CPHFLG1 ='CP*SHARE*FLAGS'
                 CPHMXSHR='CP*MAX*SHARE*SETTING'
                 CPHRELSH='CP*RELATIVE*SHARE*SETTING'
                 ICHABSSH='ICF*ABSOLUTE*SHARE*SETTING'
                 ICHFLG1 ='ICF*SHARE*FLAGS'
                 ICHMXSHR='ICF*MAX*SHARE*SETTING'
                 ICHRELSH='ICF*RELATIVE*SHARE*SETTING'
                 IFHABSSH='IFL*ABSOLUTE*SHARE*SETTING'
                 IFHFLG1 ='IFL*SHARE*FLAGS'
                 IFHMXSHR='IFL*MAX*SHARE*SETTING'
                 IFHRELSH='IFL*RELATIVE*SHARE*SETTING'
                 VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
                 VMDPUST ='CPU*STATUS*FLAG'
                 ZAHABSSH='ZAAP*ABSOLUTE*SHARE*SETTING'
                 ZAHFLG1 ='ZAAP*SHARE*FLAGS'
                 ZAHMXSHR='ZAAP*MAX*SHARE*SETTING'
                 ZAHRELSH='ZAAP*RELATIVE*SHARE*SETTING'
                 ZIHABSSH='ZIIP*ABSOLUTE*SHARE*SETTING'
                 ZIHFLG1 ='ZIIP*SHARE*FLAGS'
                 ZIHMXSHR='ZIIP*MAX*SHARE*SETTING'
                 ZIHRELSH='ZIIP*RELATIVE*SHARE*SETTING'
              -Dataset VXSCLADL (2.04) new variables added by 5.3:
                 SRXABSDL='ABSOLUTE*SHARES*DSPLIST*VMDBKS'
                 SRXATOD ='ARTIFICIAL*TOD*SYSTEM*RUNNING'
                 SRXATOD2='ARTIFICIAL*TOD2*USER TIME*AND CPU WAIT'
                 SRXCONLL='USERS*ACTUALLY*ON LIMIT*LIST'
                 SRXLLCNT='ADDS*TO THE*LIMIT*LIST'
                 SRXRELDL='TOTAL*RELATIVE*SHARES*DSPLIST*VMDBKS'
                 VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
                 VMDPUST ='CPU*STATUS*FLAG'
                 VMDTTMP ='USER*VTIME AND*SIMTIME*ON PRIMARY'
                 VMDTTMS ='USER*VTIME AND*SIMTIME*ON SECONDARY'
                 VMDVTMP ='USER*VTIME ON*PRIMARY*PROCESSOR'
                 VMDVTMS ='USER*VTIME ON*SECONDARY*PROCESSOR'
              -Dataset VXSCLDDL (2.05) new variables added by 5.3:
                 VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
                 VMDPUST ='CPU*STATUS*FLAG'
                 VMDTTMP ='USER*VTIME AND*SIMTIME*ON PRIMARY'
                 VMDTTMS ='USER*VTIME AND*SIMTIME*ON SECONDARY'
                 VMDVTMP ='USER*VTIME ON*PRIMARY*PROCESSOR'
                 VMDVTMS ='USER*VTIME ON*SECONDARY*PROCESSOR'
              -Dataset VXSCLAEL (2.06) new variables added by 5.3:
                 VMDCFGEM='VIRTUAL*CONFIGURATION*INDICATORS'
                 VMDPUST ='CPU*STATUS*FLAG'
              -Dataset VXSTORSG (3.01) new variables added by 5.3:
                 CALSSUBG='GT 2G*BLOCKS*FREE STORAGE*SUBPOOL*LIST'
                 RSA2GDCT='REQUESTS*AWAIT*ANY AVAILABLE*FRAME'
                 RSAAFSDB='LT 2G*HOST LOGICAL*ALIGNED*FREE STORAGE'
                 RSAAFSDW='GT 2G*HOST LOGICAL*ALIGNED*FREE STORAGE'
                 RSAAFSIB='LT 2G*HOST LOGICAL*ALIGNED*IN USE*BACKED'
                 RSAAFSIU='GT 2G*HOST LOGICAL*ALIGNED*IN USE*BACKED'
                 RSAALFMF='HCPALFMF*FREXSCAN*FRAMES*SCANNED'
                 RSAAVCHG='GT 2G CONTIG AVAIL LIST HI THRESH'
                 RSAAVCHT='LT 2G CONTIG AVAIL LIST HI THRESH'
                 RSAAVCLG='GT 2G CONTIG AVAIL LIST LOW THRES'
                 RSAAVCLT='LT 2G CONTIG AVAIL LIST LOW THRES'
                 RSAAVLHG='GT 2G*SINGLE FRAME*AVAIL*HIGH*THRESHOLD'
                 RSAAVLLG='GT 2G*SINGLE FRAME*AVAIL*LOW*THRESHOLD'
                 RSABLKGC='TASKS REQUESTING*OR DEFERRED*RSABLKGF'
                 RSACALLT='LOW THRESH*NON-NEGATIVE*FRMTES*NOT FREQUENT'
                 RSACALMT='MID THRESH*NON-NEGATIVE*FRMTES'
                 RSACALUT='UP THRES: NON-NEGATIVE*TARGET*FRMTES'
                 RSACPLKG='GT 2G*LOCKED*FRAMES*BY CP LOCK'
                 RSAEMBLO='TIMES*POOL BELOW*RSAEMLO'
                 RSAEMCPC='PGMBKS IN*EMERGENCY*POOL'
                 RSAEMDFR='TIMES*GUEST*DEFERRED*FOR EMERGENCY'
                 RSAEMERG='TIMES REQUEST*FOR*EMERGENCY*POOL'
                 RSAEMHI ='HI  THRESH*EMERGENCY*PGMBK POOL'
                 RSAEMLO ='LOW THRESH*EMERGENCY*PGMBK POOL'
                 RSAEMPTY='TIMES*POOL*WENT*EMPTY'
                 RSAFRQDF='DEFERRED MULTIPLE FRAME REQUESTS'
                 RSAFRQDL='DELAYED*MULTIPLE*FRAME*REQUESTS'
                 RSAFRQMW='TASKS*ATTEMPTING*MULTIPLE*FRAMES*PGMBKS'
                 RSAFRQWT='LT 2G DEFERRED REQUESTS*NONE AVAIL'
                 RSAFRRDA='LT 2G*ATTEMPTS*TO REDRIVE*TASKS'
                 RSAFRRDC='LT 2G*REDRIVED*PERFORMED'
                 RSAFVMUB='LT 2G*VMDBK FREE STORAGE*IN USE'
                 RSAFVMUD='GT 2G*VMDBK FREE STORAGE*IN USE'
                 RSANOLKA='NO-OWNED*LOCKED PAGES*ABSOLUTE*STORAGE'
                 RSANOLKL='NO-OWNED*LOCKED PAGES*HOST LOCAL*STORE'
                 RSANPGCT='CONSECUTIVE*SXPFS*FAILURES'
                 RSANPGHI='HWM*CONSECUTIVE*SXPFS*FAILURES'
                 RSAPLPCB='PROCESSORS*LOOPING*IN HCPFRFGP*LT 2G'
                 RSAPLPCT='PROCESSORS*LOOPING*IN HCPFRFGP*GT 2G'
                 RSAPPTCS='ALB/TLB PURGES USING CSP'
                 RSAPPTPF='ALB/TLB*PURGES*FINISHED PRIOR TO'
                 RSAPPTPS='ALB/TLB*PURGES*PRIOR TO*ENTERING WAIT
                 RSARSVSY='PAGES*RESERVED*PER*PROCESSOR'
                 RSASTLWT='LT 2G*AVAIL LIST*REPLENISH*STEAL WRITES'
                 RSASWG2G='GT 2G*AVAIL LIST*REPLENISH*STEAL WRITES'
                 RSASWP2G='GT 2G REPLENIS*PAGE WRITES*TO DASE'
                 RSASWPWT='LT 2G REPLENIS*PAGE WRITES*TO DASE'
                 RSASXCLA='LOCKED*SYSEXSP*ALIAS*LOGICAL*IN LOGICAL'
                 RSASXCPL='LOCKED*SYSEXSP*ALIAS*LOGICAL*VIA CP LOCK'
                 RSASXNOP='NO-OWNED*SYS EXEC SPACE*ALIASES'
                 RSASYSFB='LT 2G*PAGES*IN USE FOR*SYSTEM*FREE STORE'
                 RSASYSFR='GT 2G*PAGES*IN USE FOR*SYSTEM*FREE STORE'
                 RSASYSUB='LT 2G*IN USE*SYSTEM*FREE STORAGE'
                 RSASYSUD='GT 2G*IN USE*SYSTEM*FREE STORAGE'
                 RSAVCBDB='LT 2G*VERIFIABLE*FREE*STORAGE*BACKED'
                 RSAVCBDW='GT 2G*VERIFIABLE*FREE*STORAGE*BACKED'
                 RSAVCBIB='LT 2G*VERIFIABLE*IN USE*FREE STORAGE'
                 RSAVCBIU='GT 2G*VERIFIABLE*IN USE*FREE STORAGE'
                 RSAVFSDW='VIRTUAL*FREE*STORAGE'
                 RSAVFSIU='VIRTUAL*FREE*STORAGE*IN USE'
                 RSAVMXFB='LT 2G*PAGES*USER FREE*IN USE'
                 RSAVMXFR='GT 2G*VMDBK*USER FREE*PAGES*ALLOCATED'
                 RSAVMXUB='LT 2G*IN USE*USER FREE*STORAGE'
                 RSAVMXUD='GT 2G*IN USE*USER FREE*STORAGE'
              -Dataset VXSTOSHR (3.03) new variables added by 5.3:
                 ASCCTPRG='GT 2G*RESIDENT*PAGES'
                 ASCHLLC ='PAGES LOCKED*HOST LOG STORE'
                 ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'
              -Dataset VXSTOXSG (3.09) new variables added by 5.4:
                 XSTCTPGM='PGMBKS*SELECTED*WHILE*MIGRATING'
                 XSTMAXCT='TIMES*TARGET TIME*IS LOWERED'
                 XSTRHICT='TIMES*MIGRATE*THRES*BUFFER*DECREASED'
                 XSTRLOCT='TIMES*MIGRATE*THRES*BUFFER*INCREASED'
                 XSTUSRCY='NON-DORM*GUEST OWNED*ASIDS*MIGR TARGETS'
                 XSTUSRDM='DORM*GUEST OWNED*ASIDS*MIGR*TARGETS'
              -Dataset VXSTOASI (3.14) new variables added by 5.3:
                 ASCCTPLK='GT 2G*PAGES*LOCKED*BY THIS*ASID'
                 ASCCTPRG='GT 2G*RESIDENT*PAGES*FOR ASID'
                 ASCHLLC ='PAGES LOCKED*IN HOST*LOGICAL*STORAGE'
                 ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'
              -Dataset VXSTOSCS (3.18) new variables added by 5.3:
                 CURRENT ='CURRENTLY*ALLOCATED*SUBPOOL*SIZE'
                 FREEF   ='FAILED*FREE()*CALLS TO*SUBPOOL'
                 FREES   ='FREE()*CALLS TO*SUBPOOL'
                 FRXPLEN ='SCSI*SUBPOOL*SIZE'
                 FRXROOT ='SSSI*SUBPOOL*ADDRESS'
                 MALLOC  ='MALLOC()*CALLS TO*SUBPOOL'
                 MALLOCF ='FAILED*MALLOC()*CALLS TO*SUBPOOL'
                 MAXALLOC='HIGH WATER MARK*BYTES*ALLOCATED'
                 POOLNAME='POOL*NAME'
              -Dataset VXSTOSXG (3.19) new variables added by 5.3:
                 RSASXAMX='GT 2G*MAX PAGES*BACKED'
                 RSASXBMX='LT 2G*MAX PAGES*BACKED'
                 RSASXCPL='SYSEXECSP*LOCKED*ALIAS*CP LOCK'
                 RSASXCTG='SYSEXECSP*IN USE*PAGES*CONTIG*REQ'
                 RSASXDCA='SYSEXECSP*CREATE*ALIAS*NOW DEFERRED'
                 RSASXDCT='SYSEXECSP*PAGE REQUESTS*NOW DEFERRED'
                 RSASXDFA='SYSEXECSP*PAGE REQUESTS*DEFERRED*ANY'
                 RSASXDFB='SYSEXECSP*LT 2G*REQUESTS*DEFERRED NOW'
                 RSASXDPA='SYSEXECSP*WITH BACKING*NOW DEFERRED'
                 RSASXDPB='SYSEXECSP*LT 2G*CURRENTLY*DEFERRED'
                 RSASXPCT='SYSEXECSP*POTENTIAL*STEALABLE*QUEUE'
                 RSASXQMN='THRESH*TRIGGER*REPLACEMENT*UNBACKED'
                 RSASXQRA='ALIASES*STOLEN*DURING*SINGLE*REPLEN'
                 RSASXRDA='ATTEMPTS*TO REDRIVE*TASKS*WAITING'
                 RSASXRDC='INDIVIDUAL*TASK*REDRIVES'
                 RSASXRPM='MIN NUMBER*ON UNBACKED*SXS PAGE QUEUE'
                 RSASXUOT='OTHER*CP*TYPE*PAGES'
              -Dataset VXSTOSXP (3.20) new variables added by 5.3:
                 PFXCPUAD='PROCESSOR*ADDRESS'
                 PFXCPUTY='CPU*TYPE'
                 PLSSAPUC='GT 2G*AVAIL BACKED*WAS PREFERRED*AND USED'
                 PLSSAQMT='GT 2G*AVAIL BACKED*WAS PREFERRED*BUT EMPTY'
                 PLSSARTC='GT 2G*PAGES RETURNED TO*BACKED*AVAIL QUEUE'
                 PLSSATKC='GT 2G*TAKEN FROM*BACKED*AVAIL QUEUE'
                 PLSSBPUC='LT 2G*AVAIL BACKED*WAS PREFERRED*AND USED'
                 PLSSBQMT='LT 2G*AVAIL BACKED*WAS PREFERRED*BUT EMPTY'
                 PLSSBRTC='LT 2G*PAGES RETURNED TO*BACKED*AVAIL QUEUE'
                 PLSSBTKC='LT 2G*TAKEN FROM*BACKED*AVAIL QUEUE'
                 PLSSPDQC='HCPFRFDQ*CALLS*TO RELEASE*A PAGE'
                 PLSSPGBD='LT 2G*PAGE REQUEST*DEFERRED*ON FRAME'
                 PLSSPGFD='PAGE REQUESTS*DEFERED*ANY FRAME'
                 PLSSPGPD='PAGE REQUESTS*DEFERRED*ON PAGE'
                 PLSSPNDF='NON-DEFERRABLE*REQUESTS*FAILED*FRAME LACK'
                 PLSSPNDP='NON-DEFERRABLE*REQUESTS*FAILED*PAGE LACK'
                 PLSSUPUC='TIMES*AVAIL UNBACKED*WAS PREFERRED*AND USED'
                 PLSSUQMT='TIMES*AVAIL UNBACKED*WAS PREFERRED*BUT EMPTY'
                 PLSSURTC='PAGES*RETURNED TO*UNBACKED*AVAIL QUEUE'
                 PLSSUTKC='PAGES*TAKEN FROM*UNBACKED*AVAIL QUEUE'
                 PLSSXADC='LOCKED*ALIASES*DEQUEUED'
                 PLSSXAFC='NON-DEFERABLE*ALIAS*REQUEST*NOT FULFILLED'
                 PLSSXALD='CREATE*ALIAS*REQUESTS*DEFERRED'
                 PLSSXALS='ALIAS*STEALS*FROM POTENTIAL*AVAIL WAS EMPTY'
                 PLSSXASC='ALIAS STOLEN'
                 PLSSXCSP='CSP INSTRUCTIOS*TO INVALIDATE'
                 PLSSXIPC='IPTE INSTRUCTIONS*TO INVALIDATE'
                 PLSSXNST='RSASXNST*FLAG*TURN ONS'
              -Dataset VXUSELON (4.01) and dataset VXUSELOF new
                variables added by 5.4:
                 CPHABSSH='CP*ABSOLUTE*SHARE*SETTING'
                 CPHFLG1 ='CP*SHARE*FLAGS'
                 CPHMXSHR='CP*MAX*SHARE*SETTING'
                 CPHRELSH='CP*RELATIVE*SHARE*SETTING'
                 ICHABSSH='ICF*ABSOLUTE*SHARE*SETTING'
                 ICHFLG1 ='ICF*SHARE*FLAGS'
                 ICHMXSHR='ICF*MAX*SHARE*SETTING'
                 ICHRELSH='ICF*RELATIVE*SHARE*SETTING'
                 IFHABSSH='IFL*ABSOLUTE*SHARE*SETTING'
                 IFHFLG1 ='IFL*SHARE*FLAGS'
                 IFHMXSHR='IFL*MAX*SHARE*SETTING'
                 IFHRELSH='IFL*RELATIVE*SHARE*SETTING'
                 ZAHABSSH='ZAAP*ABSOLUTE*SHARE*SETTING'
                 ZAHFLG1 ='ZAAP*SHARE*FLAGS'
                 ZAHMXSHR='ZAAP*MAX*SHARE*SETTING'
                 ZAHRELSH='ZAAP*RELATIVE*SHARE*SETTING'
                 ZIHABSSH='ZIIP*ABSOLUTE*SHARE*SETTING'
                 ZIHFLG1 ='ZIIP*SHARE*FLAGS'
                 ZIHMXSHR='ZIIP*MAX*SHARE*SETTING'
                 ZIHRELSH='ZIIP*RELATIVE*SHARE*SETTING'
              -Dataset VXUSEACT (4.03) new variables added by 5.4:
                 VMDCACHN='MINIDISK*CACHE*INSERTS'
                 VMDCTSTA='TIMES*CPU START*BY SIGP'
                 VMDCTSTO='TIMES*CPU STOP*BY SIGP'
                 VMDCUPGM='UNREFERENCED*PGMBKS*AT REORDER'
              -Dataset VXUSEINT (4.04) new variables added by 5.4:
                 VMDCTSTA='TIMES*STARTED*BY SIGP'
                 VMDCTSTO='TIMES*STOPPED*BY SIGP'
              -Dataset VXPRCAPC (5.09) new variables added by 5.3:
                 CRYNOFDQ='REAL*DQ*REQUESTS'
                 CRYNOFNQ='REAL*NQ*REQUESTS'
                 CRYNORPR='REAL*DQ*COMPLETIONS' (guess, mis-documented)
                 CRYNOVNQ='VIRTUAL*NQ*REQUESTS'
                 CRYNOVPC='VIRTUAL*DQ*COMPLETIONS'
                 CRYNOVPR='VIRTUAL*DQ*REQUESTS'
                 CRYNOWNQ='MESSAGES*WAITING*FOR NQ'
                 CRYNOXRN='REJECTED*REAL*NQ*REQUESTS'
                 CRYNOXVN='REJECTED*VIRTUAL*NQ*REQUESTS'
                 CRYRSERV='TIME FROM*REAL*NQ TO DQ'
                 CRYVSERV='TIME FROM*GUEST*NQ TO DQ'
              -Dataset VXPRCINS (5.11) new variables added by 5.3:
                 PFXCPUAD='PROCESSOR*ADDRESS'
                 PLS0EPSW='EPSW*(B98D)'
                 PLS0ESEA='ESEA*(B99D)'
                 PLS0STFL='STFL*(B2B1)'
                 PLSBISAS='STAP*(B212)'
                 PLSBISBT='TB*(B22C)'
                 PLSBISCP='STIDP*(B202)'
                 PLSBISIU='IUCV*(B2F0)'
                 PLSBISPB='PTLB*(B20D)'
                 PLSBISSI='SIE*(B214)'
                 PLSBISST='STSI*(B27D)'
                 PLSBISTE='SCK*(B204)'
                 PLSBISXE='SPX*(B210)'
                 PLSBISXS='STPX*(B211)'
                 PLSCTCS ='REAL*CSCHS*EXECUTED'
                 PLSCTHS ='REAL*HSCHS*EXECUTED'
                 PLSCTRS ='REAL*RSCHS*EXECUTED.'
                 PLSCTSS ='REAL*SSCHS*EXECUTED.'
                 PLSESSA ='ESSA*(B9AB)'
                 PLSKEYIE='ISKE*(B229)'
                 PLSKEYIK='ISK*(09)'
                 PLSKEYRE='RRBE*(B22A)'
                 PLSKEYRR='RRB*(B213)'
                 PLSKEYSE='SSKE*(B22B)'
                 PLSKEYSK='SSK*(08)'
                 PLSLPSWE='LPSWE*(B2B2)'
                 PLSPCVSC='SERVC*(B220)'
                 PLSPRVGP='SIGP*(AE)'
                 PLSPRVLC='LCTL*(B7)'
                 PLSPRVLG='LCTLG*(EB2F)'
                 PLSPRVLP='LPSW*(82)'
                 PLSPRVMN='STNSM*(AC)'
                 PLSPRVMO='STOSM*(AD)'
                 PLSPRVMS='SSM*(80)'
                 PLSPRVSG='STCTG*(EB25)'
                 PLSPRVSV='SVC*(0A)'
                 PLSPRVTC='STCTL*(B6)'
                 PLSPRVTP='TPROT*(E501)'
                 PLSPRVVN='GUEST*SVC*76-S*REFLECTED'
                 PLSPTFF ='PTFF*(0104)'
                 PLSRSCHC='VIRTUAL*RSCHS*EXECUTED'
                 PLSSCKPF='SCKPF*(0107)'
                 PLSSIOCT='VIRTUAL*SIOS*EXECUTED'
                 PLSSIOFC='VIRTUAL*SIOFS*EXECUTED'
                 PLSSSCHC='VIRTUAL*SSCHS*EXECUTED'
                 PLSSTFLE='STFLE*(B2B0)'
                 PLSTCCC ='VIRTUAL*TEST AND CLEAR*CHANNELS'
                 PLSVIDTE='IDTE*(B98E)'
                 PLSVIESB='IESBE*(B259)'
                 PLSVPTNV='IPTE*(B221)'
                 PLSXPG5A='BSA*(B25A)'
                 PLSXPGIN='PGIN*(B22E)'
                 PLSXPGOU='PGOUT*(B22F)'
              -Dataset VXPRCDIA (5.12) new variables added by 5.3:
                 PFXCPUAD='PROCESSOR*ADDRESS'
                 PLSDG200='DIAGNOSE*X200'
                 PLSDG204='DIAGNOSE*X204'
                 PLSDG208='DIAGNOSE*X208'
                 PLSDG20C='DIAGNOSE*X20C'
                 PLSDG210='DIAGNOSE*X210'
                 PLSDG214='DIAGNOSE*X214'
                 PLSDG218='DIAGNOSE*X218'
                 PLSDG21C='DIAGNOSE*X21C'
                 PLSDG220='DIAGNOSE*X220'
                 PLSDG224='DIAGNOSE*X224'
                 PLSDG228='DIAGNOSE*X228'
                 PLSDG22C='DIAGNOSE*X22C'
                 PLSDG230='DIAGNOSE*X230'
                 PLSDG234='DIAGNOSE*X234'
                 PLSDG238='DIAGNOSE*X238'
                 PLSDG23C='DIAGNOSE*X23C'
                 PLSDG240='DIAGNOSE*X240'
                 PLSDG244='DIAGNOSE*X244'
                 PLSDG248='DIAGNOSE*X248'
                 PLSDG24C='DIAGNOSE*X24C'
                 PLSDG250='DIAGNOSE*X250'
                 PLSDG254='DIAGNOSE*X254'
                 PLSDG258='DIAGNOSE*X258'
                 PLSDG25C='DIAGNOSE*X25C'
                 PLSDG260='DIAGNOSE*X260'
                 PLSDG264='DIAGNOSE*X264'
                 PLSDG268='DIAGNOSE*X268'
                 PLSDG26C='DIAGNOSE*X26C'
                 PLSDG270='DIAGNOSE*X270'
                 PLSDG274='DIAGNOSE*X274'
                 PLSDG278='DIAGNOSE*X278'
                 PLSDG27C='DIAGNOSE*X27C'
                 PLSDG280='DIAGNOSE*X280'
                 PLSDG284='DIAGNOSE*X284'
                 PLSDG288='DIAGNOSE*X288'
                 PLSDG28C='DIAGNOSE*X28C'
                 PLSDG290='DIAGNOSE*X290'
                 PLSDG294='DIAGNOSE*X294'
                 PLSDG298='DIAGNOSE*X298'
                 PLSDG29C='DIAGNOSE*X29C'
                 PLSDG2A0='DIAGNOSE*X2A0'
                 PLSDG2A4='DIAGNOSE*X2A4'
                 PLSDG2A8='DIAGNOSE*X2A8'
                 PLSDG2AC='DIAGNOSE*X2AC'
                 PLSDG2B0='DIAGNOSE*X2B0'
                 PLSDG2B4='DIAGNOSE*X2B4'
                 PLSDG2B8='DIAGNOSE*X2B8'
                 PLSDG2BC='DIAGNOSE*X2BC'
                 PLSDG2C0='DIAGNOSE*X2C0'
                 PLSDG2C4='DIAGNOSE*X2C4'
                 PLSDG2C8='DIAGNOSE*X2C8'
                 PLSDG2CC='DIAGNOSE*X2CC'
                 PLSDG2D0='DIAGNOSE*X2D0'
                 PLSDG2D4='DIAGNOSE*X2D4'
                 PLSDG2D8='DIAGNOSE*X2D8'
                 PLSDG2DC='DIAGNOSE*X2DC'
                 PLSDG2E0='DIAGNOSE*X2E0'
                 PLSDG2E4='DIAGNOSE*X2E4'
                 PLSDG2E8='DIAGNOSE*X2E8'
                 PLSDG2EC='DIAGNOSE*X2EC'
                 PLSDG2F0='DIAGNOSE*X2F0'
                 PLSDG2F4='DIAGNOSE*X2F4'
                 PLSDG2F8='DIAGNOSE*X2F8'
                 PLSDG2FC='DIAGNOSE*X2FC'
                 PLSDG300='DIAGNOSE*X300'
                 PLSDG304='DIAGNOSE*X304'
                 PLSDG308='DIAGNOSE*X308'
                 PLSDG30C='DIAGNOSE*X30C'
                 PLSDG310='DIAGNOSE*X310'
                 PLSDG314='DIAGNOSE*X314'
                 PLSDG318='DIAGNOSE*X318'
                 PLSDG31C='DIAGNOSE*X31C'
                 PLSDG320='DIAGNOSE*X320'
                 PLSDG324='DIAGNOSE*X324'
                 PLSDG328='DIAGNOSE*X328'
                 PLSDG32C='DIAGNOSE*X32C'
                 PLSDG330='DIAGNOSE*X330'
                 PLSDG334='DIAGNOSE*X334'
                 PLSDG338='DIAGNOSE*X338'
                 PLSDG33C='DIAGNOSE*X33C'
                 PLSDG340='DIAGNOSE*X340'
                 PLSDG344='DIAGNOSE*X344'
                 PLSDG348='DIAGNOSE*X348'
                 PLSDG34C='DIAGNOSE*X34C'
                 PLSDG350='DIAGNOSE*X350'
                 PLSDG354='DIAGNOSE*X354'
                 PLSDG358='DIAGNOSE*X358'
                 PLSDG35C='DIAGNOSE*X35C'
                 PLSDG360='DIAGNOSE*X360'
                 PLSDG364='DIAGNOSE*X364'
                 PLSDG368='DIAGNOSE*X368'
                 PLSDG36C='DIAGNOSE*X36C'
                 PLSDG370='DIAGNOSE*X370'
                 PLSDG374='DIAGNOSE*X374'
                 PLSDG378='DIAGNOSE*X378'
                 PLSDG37C='DIAGNOSE*X37C'
                 PLSDG380='DIAGNOSE*X380'
                 PLSDG384='DIAGNOSE*X384'
                 PLSDG388='DIAGNOSE*X388'
                 PLSDG38C='DIAGNOSE*X38C'
                 PLSDG390='DIAGNOSE*X390'
                 PLSDG394='DIAGNOSE*X394'
                 PLSDG398='DIAGNOSE*X398'
                 PLSDG39C='DIAGNOSE*X39C'
                 PLSDG3A0='DIAGNOSE*X3A0'
                 PLSDG3A4='DIAGNOSE*X3A4'
                 PLSDG3A8='DIAGNOSE*X3A8'
                 PLSDG3AC='DIAGNOSE*X3AC'
                 PLSDG3B0='DIAGNOSE*X3B0'
                 PLSDG3B4='DIAGNOSE*X3B4'
                 PLSDG3B8='DIAGNOSE*X3B8'
                 PLSDG3BC='DIAGNOSE*X3BC'
                 PLSDG3C0='DIAGNOSE*X3C0'
                 PLSDG3C4='DIAGNOSE*X3C4'
                 PLSDG3C8='DIAGNOSE*X3C8'
                 PLSDG3CC='DIAGNOSE*X3CC'
                 PLSDG3D0='DIAGNOSE*X3D0'
                 PLSDG3D4='DIAGNOSE*X3D4'
                 PLSDG3D8='DIAGNOSE*X3D8'
                 PLSDG3DC='DIAGNOSE*X3DC'
                 PLSDG3E0='DIAGNOSE*X3E0'
                 PLSDG3E4='DIAGNOSE*X3E4'
                 PLSDG3E8='DIAGNOSE*X3E8'
                 PLSDG3EC='DIAGNOSE*X3EC'
                 PLSDG3F0='DIAGNOSE*X3F0'
                 PLSDG3F4='DIAGNOSE*X3F4'
                 PLSDG3F8='DIAGNOSE*X3F8'
                 PLSDG3FC='DIAGNOSE*X3FC'
                 PLSDGUCT='ALL*USER*DIAGNOSE*OPERATIONS*/
                 PLSDGX00='DIAGNOSE*X00'
                 PLSDGX04='DIAGNOSE*X04'
                 PLSDGX08='DIAGNOSE*X08'
                 PLSDGX0C='DIAGNOSE*X0C'
                 PLSDGX10='DIAGNOSE*X10'
                 PLSDGX14='DIAGNOSE*X14'
                 PLSDGX18='DIAGNOSE*X18'
                 PLSDGX1C='DIAGNOSE*X1C'
                 PLSDGX20='DIAGNOSE*X20'
                 PLSDGX24='DIAGNOSE*X24'
                 PLSDGX28='DIAGNOSE*X28'
                 PLSDGX2C='DIAGNOSE*X2C'
                 PLSDGX30='DIAGNOSE*X30'
                 PLSDGX34='DIAGNOSE*X34'
                 PLSDGX38='DIAGNOSE*X38'
                 PLSDGX3C='DIAGNOSE*X3C'
                 PLSDGX40='DIAGNOSE*X40'
                 PLSDGX44='DIAGNOSE*X44'
                 PLSDGX48='DIAGNOSE*X48'
                 PLSDGX4C='DIAGNOSE*X4C'
                 PLSDGX50='DIAGNOSE*X50'
                 PLSDGX54='DIAGNOSE*X54'
                 PLSDGX58='DIAGNOSE*X58'
                 PLSDGX5C='DIAGNOSE*X5C'
                 PLSDGX60='DIAGNOSE*X60'
                 PLSDGX64='DIAGNOSE*X64'
                 PLSDGX68='DIAGNOSE*X68'
                 PLSDGX6C='DIAGNOSE*X6C'
                 PLSDGX70='DIAGNOSE*X70'
                 PLSDGX74='DIAGNOSE*X74'
                 PLSDGX78='DIAGNOSE*X78'
                 PLSDGX7C='DIAGNOSE*X7C'
                 PLSDGX80='DIAGNOSE*X80'
                 PLSDGX84='DIAGNOSE*X84'
                 PLSDGX88='DIAGNOSE*X88'
                 PLSDGX8C='DIAGNOSE*X8C'
                 PLSDGX90='DIAGNOSE*X90'
                 PLSDGX94='DIAGNOSE*X94'
                 PLSDGX98='DIAGNOSE*X98'
                 PLSDGX9C='DIAGNOSE*X9C'
                 PLSDGXA0='DIAGNOSE*XA0'
                 PLSDGXA4='DIAGNOSE*XA4'
                 PLSDGXA8='DIAGNOSE*XA8'
                 PLSDGXAC='DIAGNOSE*XAC'
                 PLSDGXB0='DIAGNOSE*XB0'
                 PLSDGXB4='DIAGNOSE*XB4'
                 PLSDGXB8='DIAGNOSE*XB8'
                 PLSDGXBC='DIAGNOSE*XBC'
                 PLSDGXC0='DIAGNOSE*XC0'
                 PLSDGXC4='DIAGNOSE*XC4'
                 PLSDGXC8='DIAGNOSE*XC8'
                 PLSDGXCC='DIAGNOSE*XCC'
                 PLSDGXD0='DIAGNOSE*XD0'
                 PLSDGXD4='DIAGNOSE*XD4'
                 PLSDGXD8='DIAGNOSE*XD8'
                 PLSDGXDC='DIAGNOSE*XDC'
                 PLSDGXE0='DIAGNOSE*XE0'
                 PLSDGXE4='DIAGNOSE*XE4'
                 PLSDGXE8='DIAGNOSE*XE8'
                 PLSDGXEC='DIAGNOSE*XEC'
                 PLSDGXF0='DIAGNOSE*XF0'
                 PLSDGXF4='DIAGNOSE*XF4'
                 PLSDGXF8='DIAGNOSE*XF8'
                 PLSDGXFC='DIAGNOSE*XFC'
                 PLSTOTDI='ALL Z/VM*DEFINED*DIAGNOSE*OPERATIONS*/
              -Dataset VXIODDEV (6.03) new variables added by 5.3:
                 PAVCC3S ='INITIAL*CMR*TIME'
              -Dataset VXVNDSES (8.01) new variables added by 5.3:
                 MSVCMAC ='VDEV*MAC*ADDRESS'
              -Dataset VXAPLTC1 (10.01) TCP/IP SUBTYPE '01' added:
                 FORNIPV6='FOREIGN*IP*ADDRESS*IPV6'
                 LOCLIPV6='LOCAL*IP*ADDRESS*IPV6'
              -Dataset VXAPLTC4 (10.02) TCP/IP SUBTYPE '04' added:
                 FPSPAV2G='FPSP*AVAILABLE*LOCKED PAGES*GT 2G'
                 FPSPALUS='FPSP*ALLOCATED*LOCKED PAGES*GT 2G'
              -Dataset VXAPLTC9 (10.02) TCP/IP SUBTYPE '09' added:
                 ACBSSC00='PROCESS 00*ACBS SCHEDULED'
                 ELAPSE00='PROCESS 00*ELAPSED TIME ACB'
                 VIRTCP00='PROCESS 00*VIRTUAL CPU TIME ACB'
                 ELAPSM00='PROCESS 00*MAXIMUM ELAPSED TIME ACB'
                 VIMXCP00='PROCESS 00*MAXIMUM VIRTUAL CPU TIME ACB'
                            thru
                 ACBSSC80='PROCESS 80*ACBS SCHEDULED'
                 ELAPSE80='PROCESS 80*ELAPSED TIME ACB'
                 VIRTCP80='PROCESS 80*VIRTUAL CPU TIME ACB'
                 ELAPSM80='PROCESS 80*MAXIMUM ELAPSED TIME ACB'
                 VIMXCP80='PROCESS 80*MAXIMUM VIRTUAL CPU TIME ACB'
                  for all 81 "Process Name Types".

              UPDATES PENDED FOR ADDITIONAL IBM DOC/ASSISTANCE:

              -Dataset VXPRCAPM (5.10) is skipped as the documentation
                is insufficient.  The PRCAPM segment does not contain
                the CMB Entry Type, which sets the size of the CMB:
                   Entry type 3, 5, 6 are  64 bytes
                   Entry type 4 is        336 bytes
                   Entry type 6 is         80 bytes
                plus
                 - the length of the variable data depends on the type
                   of AP (determined by the PRCAPM_CT field in the
                   CMB Header, and the number of APs installed,
                   But: neither that PRCAPM_CT fields, nor is the number
                        of APs in the PRCAPM segment in MONWRITE data.
                Fortunately, the PRCAPM 5.10 segment only exists if
                there are PCI Crypto Cards installed.

              -Dataset VXAPLTC9 (10.02) SUBRECORD '09'X, TCP/IP ACB is
               still not understood sufficiently for complete support.

               All of the datasets listed above have been tested with
               data from z/VM 5.4.  There are a few other records that
               have new data fields, but they did not exist in the test
               files, so they won't be updated until a user request is
               accompanied by test data with those segments.


Change 26.202  Creating RMFINTRV or BUILDPDB with //PDB DD on tape fails
VMXGRMFI       because both PDB.TYPE78 and PDB.TYPE78IO were opened in a
Aug 30, 2008   VMXGSUM invocation, but PDB.TYPE78 has always had zero
Oct 15, 2008   observations (with 3090's or later), so it was removed
               from that step.  PDB.TYPE78 is still VMXGSUM'd separately
               to create these PDB.RMFINTRV variables, always missing
               values, but there so your old report programs won't fail:
                  NRATTMPS NRSAMPLE SIO78CNT PCTDEFCU PCTDEFDV
                  PCTSUCES PCTALLBY
               Oct 15: Using PDB=SMF with %VMXGRMFI failed because the
                       _STY78 had been inadvertently removed.
   Thanks to Jorge Fong, DOITT NYC, USA.
   Thanks to Atle Mjelde, Ergo Group, NORWAY.

Change 26.201  Support for DB2 V9.1 (COMPAT) SMF 100/101 + new V8 data:
FORMATS
VMACDB2        WOW: New Z/OS metrics in PDB.DB2STATS are added to both
Aug 30, 2008        DB2 V8.1 (APAR PK47659) and DB2 V9.1 (APAR PK56356).
Sep  1, 2008        Both DB2 APARs also need RMF APAR PK62116 (which has
                    prereq APARs PK66373 and OA24404), and PK62116 has
                    these installation notes from IBM:
                     Please be aware that there can be situations when
                      the z/OS metrics don't get provided at all or only
                      partially in the DB2 trace.  The reason for this
                      is that there are setup problems related to RMF.
                     Please verify that actions 1 to 4 were completed
                      after installation of the PTF for PK62116:
                      1. Make sure that the PTF for the prereq APAR
                         PK66373 has been applied.
                      2. Verify that the fix for Resource Measurement
                         Facility (RMF), PTF for APAR OA24404 has been
                         installed.  If this step is omitted, an abend
                         will occur in RMF.
                      3. Set DB2 subsystem parameter ZOSMETRICS to YES.
                      4. Start Resource Measurement Facility and RMF
                         Monitor 3 sysplex data retrieval service.

              -Dataset DB2STATS new variables from DB2STAT0 in V8 & V9:
                 New z/OS variables in PDB.DB2STATS with above APARs:
                 QWOSDB2U='DB2*SUBSYSTEM*CPU*UTILIZATION'
                 QWOSDBMU='DB2*DBM1*CPU*UTILIZATION'
                 QWOSDPIR='DB2 SUBSYS*PAGE-IN*RATE'
                 QWOSDRSU='DB2 SUBSYS*USED REAL STORAGE*IN MB'
                 QWOSDVSU='DB2 SUBSYS*USED VIRTUAL*STORAGE*IN MB'
                 QWOSLNCP='CPS*IN*LPAR'
                 QWOSLPIR='LPAR*PAGE-IN*RATE'
                 QWOSLPRU='LPAR*CPU*UTILIZATION'
                 QWOSLRSF='LPAR*FREE REAL*STORAGE*IN MB'
                 QWOSLRST='LPAR*REAL STORAGE*IN MB'
                 QWOSLVSF='LPAR*FREE*VIRTUAL*STORAGE*IN MB'
                 QWOSLVST='LPAR*VIRTUAL*STORAGE*IN MB'
                 QWOSMSTU='DB2*MSTR*CPU*UTILIZATION'
                 NOTE: DB2 Parameter ZOSMETRICS=YES must be specified to
                 populate these variables.  APAR PK62116 applies.
                 With the default NO value, fields contain 'FFFFFFFF'x.
              -Dataset DB2ACCT  new variables added by V9:
                 QWACALBW='WAIT TIME*TCP/IP LOB*MATERIALIZATION'
                 QWACALBC='WAITS FOR*TCP/IP LOB*MATERIALIZATIONS'
                 QWACSPC1='SP_CLS1SE*STORED PROC*CLASS 1*ON ZIIP'
                 QWACSPC2='SP_CLS2SE*STORED PROC*CLASS 2*ON ZIIP'
                 QWACSPZC='SPNF_CP*STORED PROC*CPU TIME*ON CP'
                 QWACSPZE='SPNF_ELAP*STORED PROC*ELAPSED*TIME'
                 QWACSPZI='SPNF_ZIIP*STORED PROC*CPU TIME*ON ZIIP'
                 QWACTRSE='TRTE_SE*NESTED*TRIGGER*CPU ON ZIIP'
                 QWACUDC1='UDF_CLS1SE*UDF STORED PROC*CLS 1*ZIIP'
                 QWACUDC2='UDF_CLS2SE*UDF STORED PROC*CLS 2*ZIIP'
                 QWACUDZC='UDFNF_CP*FUTURE*FUNCTION'
                 QWACUDZE='UDFNF_ELAP*FUTURE*FUNCTION'
                 QWACUDZI='UDFNF_ZIIP*FUTURE*FUNCTION'
              -Dataset DB2ACCTP new variables added by V9:
                 QPACALBC='TCP/IP LOB*WAIT*TRACE*EVENTS'
                 QPACALBW='CPU TIME*ON ZIIP'
                 QPACSWIT='TIMES*PACKAGE WAS*SWITCHED TO'
              -Datasets DB2ACCT, DB2ACCTP, DB2ACCTB, DB2ACCTG
                new QWHC (Header) variables added:
                 QWHCOAUD='ORIGINAL*APPLICATION*USERID'
                 QWHCROLE='ROLE*NAME'
                 QWHCTCXT='TRUSTED*CONTEXT*NAME'
              -Dataset DB2STATS new variables from DB2STAT0 in V9:
                 Q9STCTX5='DISPLAY*DDF*COMMANDS'
                 Q9STCTAD='ACCESS*DATABASE*COMMANDS'
                 Q9STCTSS='START*PROFILE*COMMANDS'
                 Q9STCTST='STOP*PROFILE*COMMANDS'
                 Q9STCTSD='DISPLAY*PROFILE*COMMANDS'
              -Dataset DB2STATB and DB2STATS changes:
                These DB2STATB variables are (or have been) reserved
                   QBSTALX QBSTARA QBSTARF QBSTAWA QBSTAWF QBSTDWC
                   QBSTDWX QBSTHBE QBSTHPA QBSTHPL QBSTHRA QBSTHRE
                   QBSTHRF QBSTHWA QBSTHWF QBSTHWR QBSTWEE
                 and all are now set to a missing value in DB2STATB.
                 Additionally, their QB1xxxx-QB4xxxx counterpart
                 variables in DB2STATS are now also missing values.
                New variables in DB2STATB:
                 QBSTCIO ='PAGES*OF I/O*ON CASTOUT'
                 QBSTPCO ='PAGES*ON*UNLOCK*CASTOUT'
                New variables in DB2STATS:
                 QB1TCIO ='1ST PAGES*OF I/O*ON CASTOUT'
                 QB1TPCO ='1ST PAGES*ON*UNLOCK*CASTOUT'
                 QB2TCIO ='2nd PAGES*OF I/O*ON CASTOUT'
                 QB2TPCO ='2nd PAGES*ON*UNLOCK*CASTOUT'
                 QB3TCIO ='3rd PAGES*OF I/O*ON CASTOUT'
                 QB3TPCO ='3rd PAGES*ON*UNLOCK*CASTOUT'
                 QB4TCIO ='4th PAGES*OF I/O*ON CASTOUT'
                 QB4TPCO ='4th PAGES*ON*UNLOCK*CASTOUT'
              -Dataset DB2STATB new variable in V9:
                 QDBPASIZ='AUTOSIZE*ATTRIBUTE'
              -Dataset DB2STATS new variables from DB2STAT1:
                 QISECTA ='PAGES*USED IN CT*ABOVE BAR'
                 QISEKFAL='FAIL*DUE TO*STMT SKEL*POOL FULL'
                 QISEKFRE='FREE PG*IN SKEL*EDM POOL*FRE CH'
                 QISEKNFA='NOT-FOUND*RECORD*ADDED*TO CACHE'
                 QISEKNFM='CACHED*NOT-FOUND*RECORD*LOCATED'
                 QISEKNFR='NOT-FOUND*RCRD*REMOVED*FRM CACHE'
                 QISEKPGE='PAGES*IN SKEL*EDM POOL'
                 QISEKTA ='PAGES*USED IN PT*ABOVE BAR'
                 QISESFAL='FAIL*DUE TO*STMT ABV*POOL FULL'
                 QISESFRE='FREE PG*IN STMT*ABV EDM*POL FRE'
                 QISESKCT='PAGES*USED*FOR SKCT'
                 QISESKPT='PAGES*USED*FOR SKPT'
                 QISESPGE='PAGES*IN STMT*ABV EDM*POOL'
              -Dataset DB2STATS new variables from DB2STAT1:
                 QISTW04K='TOT 4KB*TABLESPACE*USED*FRACT MB'
                 QISTW32K='TOT 32KB*TABLESPACE*USED*FRACT MB'
                 QISTWF04='TOT 4KB*TABLESPACE*USED*WHOLE MB'
                 QISTWF32='TOT 32KB*TABLESPACE*USED*WHOLE MB'
                 QISTWFCK='CUR TOTAL*FRACT MB*USED IN*WF IN KB'
                 QISTWFCU='CUR TOTAL*WHOLE MB*USED IN*WF DB'
                 QISTWFMU='MAX TOT*USED IN*WF DB (MB)'
                 QISTWFMX='MAX*ALLOWABLE*USE LIMIT*P/AG MB'
                 QISTWFNE='TIMES MAX*ALLOWABLE*LIMIT*EXCEEDED'
                 QISTWFP1='TIMES 32KB*PAGE TS*USED WHEN*4KB SHOULD'
                 QISTWFP2='TIMES 4KB*PAGE TS*USED WHEN*32K SHOULD'
              -Dataset DB2STATS new variables from DB2STAT1:
                 QXALTCTX='ALTER*TRUSTED*CONTEXT'
                 QXALTJR ='ALTER*JAR'
                 QXCRCTX ='CREATE*TRUSTED*CONTEXT'
                 QXCRROL ='CREATE*ROLE'
                 QXDRPCTX='DROP*TRUSTED*CONTEXT'
                 QXDRPROL='DROP*ROLE'
                 QXMERGE ='TIMES*MERGE*STATEMENT*WAS EXECUTED'
                 QXRNIX  ='RENAME*INDEX'
                 QXSTXMLV='MAX STORAGE*USED FOR*XML VALUES'
                 QXTRTBL ='TIMES*TRUNCATE*TABLE*WAS EXECUTED'
              -Dataset DB2ACCTP documentation.
                 Variables QPACCAST, QPACCANM, QPACUDST are always
                 missing in both V8 and V9, as they are Account level,
                 not package, metrics.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.200  NO CHANGE. Only documentation of the cause of message:
BUILDPDB        ERROR:Variable SYSPLEX defined as both char and numeric.
Aug 28, 2008    ERROR:Variable SYSTEM  defined as both char and numeric.
                ERROR:Variable SYSNAME defined as both char and numeric.
               followed by
                WARNING: The data set WORK.MSU4HRAV may be incomplete.
               The error is a broken SPIN.SPINRMFI, from an earlier test
               job that failed; PROC CONTENTS DATA=SPIN.SPINRMFI will
               show the three variables as NUMERIC instead of CHARACTER.
               PROC DELETE DATA=SPIN.SPINRMFI and a rerun resolved.

Change 26.199  Change 25.228 added protection for invalid 14, 15 records
VMAC1415       that had only one NUCB while NUCB=2 in the record, but
Aug 28, 2008   the protection failed when the NUCB segment was the last
               in the record.  The protection itself CAUSED message:
               ERROR: INVALID SMF1415 RECORD. INVALID UCB SEGMENT ERROR
               which prevented those records from being output, so it
               really is an ERROR, albeit caused by MXG and not a bad
               record.  Most 14/15s have the extended segments, and the
               protection worked fine for those records.
   Thanks to Herbert Sweeney, Verizon Data Services, USA

Change 26.198  All Pool 00 variables in BVIR32 are changed to Pool 32,
VMACBVIR       as all IBM Virtualization Engine TS7700 reporting now
Aug 25, 2008   reports pools 1 thru 32 instead of the pool 0 thru 31 in
               the DSECTS from which I wrote the original MXG code.
               Variable names and labels are changed.
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.

====== Changes thru 26.197 were in MXG 26.07 dated Aug 24, 2008=========

Change 26.197  PCTMVSBY in PDB.TYPE70PR is now calculated for all engine
VMAC7072       types (CPs,zIIPs,zAAPs), because SMF70PAT parked time is
Aug 24, 2008   now recorded for the specialty engines.  The existence of
               SMF70PAT field required heuristic circumvention code when
               it was discovered that a fully parked engine did not have
               the SMF70PAT exactly equal to the SMF70ONT Online Time;
               my first test for ONT-PAT GT .02 seconds was not enough
               and caused PCTMVSBY greater than 100% when data with ONT
               of ONT 15.00.01 and PAT of 14:59:97 was found, so that
               heuristic was raised to 0.10 seconds.  CPUWAITM greater
               than DURATM by 0.01 seconds with SMF70PAT nearly DURATM
               also required heuristic protection to prevent negative
               PCTCPU calculations for individual engines in TYPE70PR.

Change 26.196  Variable DVRCP032 was removed from the KEEP list; there
VMACBVIR       are only 31 pools. But now see Change 25.198.
Aug 24, 2008
   Thanks to Jens Mohring, HUK-COBURG, GERMANY.

Change 26.195  The Multi-System Enclave Remote System dataset TYPE30MR
VMAC30         always had zero observations, because MXG's test for the
Aug 22, 2008   13 bytes remaining should have been 12, so the offset was
               always missing and the segment was never read.  This also
               caused variables CPUMRDTM/CPUMRITM in TYPE30xx, PDB.JOBS,
               PDB.STEPS, and PDB.SMFINTRV to always be zero.  However,
               fortunately, even IBM doesn't expect many (or any?) sites
               to actually have these segments, so no one had noticed
               their absence.
   Thanks to Stephen Hughes, Excellus, USA.

Change 26.194  The MXGWPSV2 JCL procedure example was inconsistent in
MXGWPSV2       the example DSNAMEs, and the JCLINSTW example notes were
JCLINSTW       clarified on the JCL Procedure Name to be used.
Aug 24, 2008

Change 26.193  Lots of cosmetic cleanup. Labels added, variables that
DOC            should not have been kept aren't, formats added, etc.,
Aug 21, 2008   as a result of SAS ITRM Dictionary Build, MXG QA runs,
               and user detected inconsistencies.  Members touched:
                 IMACCICS IMAC110  VMAC110  VMAC6156 VMACTPMX VMAC116
                 VMACSMF  VMACHSM  VMACCMF  VMXGCICI VMAC30   VMXGRMFI
                 JCLROCS  ASUMTAPE CHANGESS VMACSUSE VMXGINIT IMACQAPM
                 VMAC7072 VMACNTSM VMACTPF
   Thanks to Nick Johns, Sainsbury Supermarkets Ltd., ENGLAND.
   Thanks to Chris Weston, SAS ITRM Development, USA.
   Thanks to Freddie Arie, Merrill Consultants QA Guy, USA.

Change 26.192  Support for APAR OA24074.  IBM recalculates PCTMVSBY when
VMAC7072       HIPERDISPATCH has parked an engine(s), by subtracting the
Aug 21, 2008   Parked Time (SMF70PAT) from both the numerator and the
               denominator:
                              Online Time - (Wait + Parked Time)
                 MVS UTIL(%)=---------------------------------- * 100
                              Online Time - Parked Time
               so MXG's calculation of PCTMVSBY is revised to match IBM.
               This was noted in the MXG Newsletter discussion of Parked
               time, but was not implemented in code until now.
   Thanks to Brian Currah, Independent Consultant, CANADA.
   (In 1972, the first person I ever called with a question about an
    SMF record's contents was Brian; the late Steve Cullen knew him
    to be an SMF guru at GUIDE!  And, he knew the answer, then and now!)

Change 26.191  A new MXGSAS92 JCL Procedure for MXG under z/OS SAS V9.2
MXGSAS92       is provided because SAS changed their DSNAMES for CNTL
Aug 22, 2008   and SASMSG datasets:
              -If you use the SAS Deployment Wizard (SDW) to install the
               SAS V9.2 for z/OS release, the DSNAME of their CNTL
               dataset is changed by the addition of a new qualifier
               with the SAS Version, year, and julian date of install,
               with this syntax
                  DSN=&SASHLQ..V92DYJJJ.CNTL(BAT&YY.)
               or a specific DSNAME, for example, of
                  DSN=&SASHLQ..V92D8208.CNTL(BATW0)
               for an install in 2008 on julian date 208, in the USA.
               The MXGSAS92 JCL procedure now has
                //CONFIG DD DISP=SHR,DSN=&SASHLQ..V92DYJJJ.CNTL(BAT&YY.)
                //       DD DISP=SHR,DSN=&MXGHLQ..MXG.SOURCLIB(CONFIGV9)
               Get that exact YJJJ value from your SAS Installer.
              -Also the SASMSG DSNAME with .SL. no longer exists, so the
               SASMSG DD only has these two DDs:
                //SASMSG    DD DISP=SHR,DSN=&SASHLQ..&XX.&YY..SASMSG
                //          DD DISP=SHR,DSN=&SASHLQ..EN&YY..SASMSG
   Thanks to Tom C. Frohnapfel, AAFES, USA.
   Thanks to MP Welch, SPRINT, USA.

Change 26.190 -Support for IMS Log record 0A (CPI-CI Driven Program)
ASMIMSL6       records 0A07x (Terminate) & 0A08x (Start) creates IMS0A78
EXIMS0A7       dataset in both ASMIMSL6/TYPEIMSA and TYPEIMS7 programs.
EXIMS0A8      -For ASMIMSL6/TYPEIMSA log processing:
EXIMSA78        _IMSVERS defined in IMACIMSA now default is IMS 10.0.
IMACIMS         Comments in IMACIMSA document how to change DDNAMES and
IMACIMS7          which   %LET Wdddddd=  or %LET Pdddddd you use for
IMACIMSA          each of the six output IMS datasets.
TYPEIMS7        ASMIMSL6 was modified to pass the 0A records and report
TYPEIMSA         the total count of those records written.
VMACIMS       -For TYPEIMS7 processing:
Aug 23, 2008   _IMSVERS defined in IMACIMS7 now default is IMS 10.0.
               Member IMACIMS is NO LONGER USED.
               In _IMSUMRY macro CTR array was increased from 55 to 67.
               These DDname Macros were previously defined in IMACIMS7:
                        _IMSTRAN, _IMSBMP, and _IMSWORK
                but they are no longer used in IMS processing, as the
                simpler Pdddddd and Wdddddd macro variables are now
                fully implemented in the MXG IMS processing. They are
                still defined, in case they exist in your user code.
               All TYPEIMS7 output datasets are written to //WORK, but
                comments in TYPEIMS7 show how to send its output to
                other DDNAMES.
   Thanks to Cornelia Dorr, Lufthansa Systems Infratec GmbH, GERMANY.
   Thanks to Gero Wohlsperger, Lufthansa Systems, Infratec GmbH, GERMANY

Change 26.189  SAS V9.2 with Hot Fix F9BA07 removed the need for MXG to
VMXGINIT       enable the (non-existent, as of now) VARLENCHK option, so
Aug 20, 2008   it was removed.  See MXG Newsletter FIFTY-TWO, SAS Note 7
               which discusses the Hot Fix for SAS V9.2.
   Thanks to MP Welch, SPRINT, USA.

Change 26.188  The datasets ASUM70PR/ASUM70LP/ASUMCEC/ASUMCELP built by
DOC            the ASUM70PR member currently do NOT subtract SMF70PAT,
Aug 19, 2008   Parked Time, from the SMF70ONT, Online Time, so the count
               of LPnNRPRC (CP Engines) is not the average online count.
               It might not be possible, easily, to modify ASUM70PR to
               account for Parked Time in the two System-Level datasets
               ASUM70PR and ASUM70LP, because the SMF70PAT only exists
               in the per-MVS-system observations in TYPE70PR from the
               parked MVS system records.
               However, the two CEC-Level datasets, ASUMCEC and ASUMCELP
               already use only the per-MVS-system observations, so it
               appears that you could use the below example to create
               two new PARKCEC and PARKCELP datasets in your PDB library
               with the SMF70PAT parked time removed from SMF70ONT time,
               which then causes the calculation of LPnNRPRC and related
               related variables to account for the parked time of each
               LPAR:
                  //REALPDB DD DSN=YOUR.REAL.PDB.DATASET,DISP=SHR
                  //PDB     DD UNIT=SYSDA,SPACE=(CYL,(50,50))
                  //SYSIN DD *
                    DATA PDB.TYPE70PR;  SET REALPDB.TYPE70PR;
                    IF SMF70PAT GT 0 THEN SMF70ONT=SMF70ONT-SMF70PAT;
                    %INCLUDE SOURCLIB(ASUM70PR);
                    DATA REALPDB.PARKCEC;  SET PDB.ASUMCEC;
                    DATA REALPDB.PARKCELP; SET PDB.ASUMCELP;

Change 26.187  Support for APAR OA25205 for SMF 42 record, adds subtypes
EXTY4224       24 and 25, and to subtypes 20, 21, 24 and 25, the fields
EXTY4225       defined by IBM's ICHRUTKN DSECT are added to the record.
EXTY422A       These new datasets are created:
EXTY424A          DDDDDD    DATASET    DESCRIPTION
FORMATS           TY422A    TYPE422A   SUBTYPE 21 DELETE MEMBER ALIAS
IMAC42            TY4224    TYPE4224   DFSMS MEMBER ADD/REPLACE ST24
VMAC42            TY42A4    TYPE42A4   DFSMS SUBTYPE 24 DELETE ALIAS
VGETUTKN          TY4225    TYPE4225   DFSMS MEMBER RENAME ST25
VMXGINIT       These MXG variables are created by VGETUTKN:
Aug 19, 2008      UTKNFLG1='UTKNFLG1*MISCELLANEOUS FLAGS'
                    Bit values, not (yet?) decoded by MXG:
                    TOKENCR   X'80'   TOKEN IS ENCRYPTED
                    TOKLT19   X'20'   TOKEN CREATED BY PRE RACF 1.9 CALL
                    TOKVXPRP  X'10'   VERIFYX PROPAGATION OCCURRED
                    TOKUNUSR  X'08'   NJE UNKNOWN USER
                    TOKLOGU   X'04'   LOG USER INDICATOR
                    TOKRSPEC  X'02'   RACF SPECIAL INDICATOR
                  UTKNFLG2='UTKNFLG2*MISCELLANEOUS*FLAGS'
                    Bit values, not (yet?) decoded by MXG:
                    TOKDFLT   X'80'   DEFAULT TOKEN
                    TOKUDUS   X'40'   UNDEFINED USER
                    TOKERR    X'10'   TOKEN IN ERROR
                    TOKTRST   X'08'   PART OF TRUSTED COMPUTER BASE
                    TOKSUS    X'04'   SURROGATE USERID
                    TOKREMOT  X'02'   REMOTE JOB INDICATOR
                    TOKPRIV   X'01'   PRIVILEDGED USER INDICATOR
                  UTKNFLG3='UTKNFLG3*MISCELLANEOUS*FLAGS'
                    TOKDGRP   X'80'   DEFAULT GROUP ASSIGNED
                    TOKDSEC   X'40'   DEFAULT SECLABEL ASSIGNED
                    TOKNETF   X'20'   NETWORK NAME SPECIFIED
                    TOKIPV    X'10'   IP VALUE FOR SERVAUTH POE
                    TOKWDWN   X'08'   WRITE-DOWN IS ALLOWED
                  UTKNGRUP='SESSION*OWNER*GROUPID'
                  UTKNLEN ='UTOKEN*RTOKEN*LENGTH'
                  UTKNNETW='REMOTE*NETWORK*NAME'
                  UTKNPOE ='PORT*OF*ENTRY'
                  UTKNPOEX='PORT OF ENTRY*CLASS*INDEX'
                    Decimal values not (yet?) decoded by MXG:
                    TOKTERM  EQU   1  TERMINAL CLASS
                    TOKCON   EQU   2  CONSOLE  CLASS
                    TOKJESI  EQU   3  JESINPUT CLASS
                    TOKAPORT EQU   4  APPCPORT CLASS
                    TOKSERV  EQU   5  SERVAUTH CLASS
                  UTKNSCL ='SECLABL'
                  UTKNSGRP='SUBMITTING*GROUPID'
                  UTKNSNOD='SUBMITTER*NODE'
                  UTKNSTYP='SESSION*TYPE'
                    Decimal values decoded by MGUTKNT format:
                      1=' 1:SYSTEM ADDRESS SPACE'
                      2=' 2:COMMAND'
                      3=' 3:CONSOLE OPERATOR'
                      4=' 4:STARTED PROCEDURE'
                      5=' 5:MOUNT'
                      6=' 6:TSO LOGON'
                      7=' 7:INTERNAL READER BATCH JOB'
                      8=' 8:EXECUTION BATCH MONITOR'
                      9=' 9:RJE OPERATOR'
                     10='10:NJE OPERATOR'
                     11='11:VERIFYX UNKNOWN USER TOKEN'
                     12='12:EXTERNAL READER BATCH JOB'
                     13='13:RJE BATCH JOB'
                     14='14:NJE BATCH JOB'
                     15='15:NJE SYSOUT'
                     16='16:EXTERNAL XBM'
                     17='17:RJE XBM'
                     18='18:NJE XBM'
                     19='19:APPCTP'
                     20='20:OMVSSRV'
                     21='21:IPLOOKUP VALUE'
                  UTKNSUSR='SUBMITTING*USERID'
                  UTKNUSER='SESSION*OWNER*USERID'
                  UTKNVERS='UTOKEN*RTOKEN*VERSION*NUMBER'
                  UTKNXNOD='EXECUTION*NODE'
               APAR OA25068 is the Parent APAR for APAR OA25205, and
               this change supports both APAR numbers.

Change 26.186  WPS did not tolerate a FORMAT statement between an END
VMACVMXA       and an ELSE IF statement.  The FORMAT statement should
Aug 18, 2008   normally have been prior to that END statement in MXG, so
               it was relocated to eliminate the WPS-only error.

Change 26.185  Mostly zero observations in TMDBDB2 dataset, because no
EXTMDDB2       one had use the TYPETMDB code to read the native Landmark
IMACTMDB       for DB2 records with TYPETMDB code since 2004.  Change
VMACTMDB       22.121 corrected MXG handling of DB2 Rollup records for
Aug 16, 2008   IBM DB2 SMF records, but that change had not been applied
               to the Landmark DB2 records.  This change removed the DO
               group in EXTMDDB2 that deleted most observations, added
               the logic that creates DB2PARTY='R' for rollups, and also
               removed the _TMDBVER macro that is no longer required, as
               only Version 4+ records now exist.
   Thanks to Charles Savikas, DCF, State of Florida, USA.

Change 26.184  Circumvention for defective SMF 101 subtype 0 record from
VMACDB2        Landmark reconstructed SMF records.  Their error is in
Aug 13, 2008   the QPAC segment, which caused INPUT STATEMENT EXCEEDED
               error because the offsets to the "truncated" name fields
               are less than the QPACLEN value, and the offset should
               not have been populated, since the name fields are not
               "truncated".  In addition, these fields prior to those
               offsets are trashed, as the record contains character
               text where these numbers are input (but since any text
               is a valid PIB value, there was no error, only bad data
               values in the DB2ACCP dataset):
                 QPACAWTK QPACAWTM QPACAWTN QPACAWTO QPACAWTQ
                 QPACARNK QPACARNM QPACARNN QPACARNO QPACARNQ
               The MXG circumvention detects the record is created by
               Landmark rather than IBM (by the location of the Product
               segment, which Landmark puts at the beginning of the
               SMF record, while IBM puts it at the end), and the
               data starting at QPACAWTK is not input, so the variables
               listed above will be missing, rather than wrong, until
               a correction is available from Landmark.
   Thanks to Howard Curtis, Progress Energy, USA.

Change 26.183  This change was rescinded by Change 27.039 as wrong.
Aug 13, 2008   The QBAC and QTXA variables have always existed in the
Mar 16, 2009   DB2ACCTP dataset in DB2 V8.1 or later. Change 27.039
               restored those variables to the ASUMDB2P and TRNDDB2P
               programs.  Mar 16, 2009.

               Below is the original (AND INCORRECT) change text:
               Summary and trending of DB2ACCTP Package Dataset revised.
ASUMDB2P       The QBACxxxx and QTXAxxxx variables are always missing in
TRNDDB2P       DB2ACCTP (ever since DB2 V7.1, which moved Package Data
Aug 12, 2008   to IFCID 239 (SMF 101 Subtype 1) records, so they have
               been removed from both ASUMDB2P and TRNDDB2P summaries.
               They can be removed from your DB2ACCTP dataset, but I
               can not remove them without risk of causing a failure
               if any of your reports reference them in DB2ACCTP.
               You can copy this macro definition into your IMACKEEP
               member and they will no longer exist in your DB2ACCTP.
                 MACRO _KDB2ACP
                  QBACGET  QBACSWS  QBACRIO  QBACSEQ  QBACIMW  QBACLPF
                  QBACDPF  QBACNGT  QBACSIO
                  QTXACHG  QTXACHUS QTXACLMT QTXACLNO QTXACLUN QTXADEA
                  QTXADRNO QTXADRUN QTXAFLG1 QTXAILMT QTXAIRLM QTXALES
                  QTXALEX  QTXALOCK QTXANPL  QTXANRUN QTXAPREC QTXAQRY
                  QTXARLID QTXASLAT QTXASLMT QTXASLOC QTXASOTH QTXATIM
                  QTXAUNLK
                 %
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.182  Support for MACRO4 INSYNC SMF user record creates new
EXINSYDB       datasets:
EXINSYDI          DATASET   DDDDDD    DESCRIPTION
EXINSYDS
EXINSYDU          INSYDB2   INSYNC    DB2
EXINSYZO          INSYDBDI  INSYNC    DB2 - D OR I
EXINSYZC          INSYDBDS  INSYNC    DB2 - SQL TEXT
EXINSYZF          INSYDBDU  INSYNC    DB2 - U
FORMATS           INSYZOS   INSYNC    ZOS
IMACINSY          INSYZOSC  INSYNC    ZOS FORMAT
TYPEINSY          INSYZOSF  INSYNC    ZOS SELECTION CRITERIA
TYPSINSY       This is the first iteration and further investigation is
VMACINSY       needed with the vendor, as there are invalid SMF records
VMXGINIT       (the number of segments exceeds the physical record size)
Aug 13, 2008   and there are unexpected numerous duplicate records that
               need to be investigated).
   Thanks to Josep Miquel Oliver, La Caixa, SPAIN.

Change 26.181  Accidentally skipped change number
   Thanks to Brent Turner, CitiGroup, USA.

Change 26.180 -The circumvention for invalid UWD record to avoid a USER
ASMRMFV        ABEND, by skipping over it, is now permanent.
Aug  8, 2008  -Warning RMFV106W was incorrectly issued, and CPD table
               entries could be not-processed, but only if GEI records
               were selected.  The SSH register pointer was not reloaded
               but now are.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 26.179  The typo in VMAC7072 that had a nine-character variable
VMAC7072         ELSE IFAHONRPR=' ';
Aug  8, 2008   is corrected to
                 ELSE IFAHONPR=' ';
               This does not cause an error with MXG's CONFIGV9, which
               sets SAS option VALIDVARNAME=V7 to permit long names, but
               if the SAS option VALIDVARNAME=V6 is used, error message
               VARIABLE NAMED IFAHONRPR CONTAINS MORE THAN 8 CHARACTERS
               is printed.  The typo was introduced in MXG 26.03.
   Thanks to Brian Cummings, Federal Reserve Information Technology USA

Change 26.178  z/OS 1.9 changed length of RMF III ASI segment, adding
VMACRMFV       eight bytes, which caused ASICNM (Service Class Name)
Aug  8, 2008   and subsequent ASI variables to be wrong.  The added
               eight bytes are now decoded and kept in ZRBSI as
                 ASILMEMO='MEMORY*OBJECTS*ALLOCATED'
                 ASILPGSZ='LARGE PAGE*BYTES BACKED*IN REAL*STORE'
               While ASILPGSZ is in pages in the raw record, MXG has
               converted it to bytes and formatted it with MGBYTES to
               display that size in KB/MB/etc.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 26.177  Cleanup of MXG as a result of ITRM Dictionary build:
ASUMTAPE      -ASUMTAPE: Dataset HELDMOUN was not deleted from //WORK.
VMXGRMFI      -RMFINTRV: New RMFWKLRV dataset had these variables
VMAC85           WKLDCPU WKLDHPT  WKLDIFA  WKLDIFE  WKLDIIP  WKLDRCT
VMAC99           WKLDSRB WKLDTCB  WKLDZIE  WKLDZIP.
Aug  7, 2008   that are now FORMATed TIME12.2;
              -TYPE85RE: Variables R85BT R85MT R85RCDY R85TKN R85VT
               were unlabeled.
                  R85BT   ='BACKUP*TYPE'
                  R85MT   ='VOLUME*MEDIA*TYPE*OF FROM'
                  R85RCDY ='DAYS*SPECIFIED*FOR OBJECT*RECALL'
                  R85TKN  ='VOLUME*LOCATION*TOKEN OF*FROM'
                  R85VT   ='VOLUME*TYPE'
              -TYPE99: Variable S99BPDTM is FORMATted TIME12.3.
   Thanks to Chris Weston, SAS ITRM Development, USA.

====== Changes thru 26.176 were in MXG 26.06 dated Aug  8, 2008=========

Change 26.176  First MXG 26.06 of Aug 6 worked fine on PCSAS but FORMATS
FORMATS        failed on z/OS with one specific line in MGTNGVN that is
Aug  6, 2008   to be investigated with SAS Technical Support, but this
               iteration split the line and the FORMATS member now does
               successfully execute on z/OS and PC SAS.
   Thanks to Jerry Urbaniak, Acxiom, USA.
   Thanks to Christian Hodel, SWISScom, SWITZERLAND.

Change 26.175  Support for NMON BBBP configuration records creates new
EXNMONBP       NMONBBBP dataset.  The LSCONF and LPARSTAT-I entries are
IMACNMON       stored in variables BBBP001-BBBP047, with their labels
VMACNMON       as the identifier of the item.
VMXGINIT
Aug 22, 2008
   Thanks to John Keenam, Boeing, USA.

Change 26.174  First MXG 26.06's only.  TYPE99_1 DATASET NOT FOUND in
TESTIBM2       JCLTEST8/JCLTEST9 because the TYPE99 code now writes to
VMACNMON       //PDB (because the data must be deaccumulated) but the
Aug  5, 2008   TESTIBM2 member had PROC PRINT/PROC MEANS that expected
Aug  6, 2008   those data to be in the //WORK file.
              -NMONBBBP By list had ENDTIME, now has STARTIME.
   Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA.

====== Changes thru 26.173 were in MXG 26.06 dated Aug  4, 2008=========

Change 26.173  Support for Omegamon Tivoli Data Warehouse (TDW) data for
EXSUSELC       z/Linux (SUSE 9.3) creates seven new datasets:
EXSUSELE         DDDDDD  DATASET   Description                  Filename
EXSUSELI         SUSELC  SUSELCPU  SUSE LINUX CPU               SUSELCPU
EXSUSELN         SUSELE  SUSELNET  SUSE LINUX NETWORK           SUSELNET
EXSUSELP         SUSELI  SUSELIOE  SUSE LINUX IO EXTERNAL       SUSELIOE
EXSUSELS         SUSELN  SUSELNFS  SUSE LINUX NFS STATISTICS    SUSELNFS
EXSUSELV         SUSELP  SUSELPRO  SUSE LINUX PROCESS           SUSELPRO
IMACSUSE         SUSELS  SUSELSWA  SUSE LINUX SWAP RATE         SUSELSWA
TYPESUSE         SUSELV  SUSELVMS  SUSE LINUX VM STATS          SUSELVMS
TYPSSUSE       Comments in member VMACSUSE show how to set up the
VMACSUSE       FILENAME statements and then %INCLUDE SOURCLIB(TYPSSUSE);
VMXGINIT
Aug  4, 2008
   Thanks to Jim Flanagan, ISO, USA.

====== Changes thru 26.172 were in MXG 26.06 dated Aug  1, 2008=========

Change 26.172 -Support for new NSM data fields NTCACHE, NTLOGICALDISK,
FORMATS        NTMEMORY, NTPAGING FILE, NTPHYSICAL DISK, NTPROCESS and
VMACTNG        NTSYSTEM datasets.
EXTNT133      -Support for new VMwares objects by Active Dictionary and
EXTNT134       VMware Virtual Center 2.5 Servers, VMware ESX 3.5.5 host
EXTNT135       servers and VM guest servers creates new datasets:
EXTNT136          TNT133    NT133     NSM CA INTERFACE GROUP
EXTNT137          TNT134    NT134     NSM VMWARE VC CLUSTER
EXTNT138          TNT135    NT135     NSM VMWARE VC DATASTORE
EXTNT139          TNT136    NT136     NSM VMWARE VC ESX HOST
EXTNT139          TNT137    NT137     NSM VMWARE VC ESX HOST C
EXTNT140          TNT138    NT138     NSM VMWARE VC ESX HOST D
EXTNT141          TNT139    NT139     NSM VMWARE VC ESX HOST M
EXTNT142          TNT140    NT140     NSM VMWARE VC ESX HOST N
EXTNT143          TNT141    NT141     NSM VMWARE VC EXX HOST P
EXTNT144          TNT142    NT142     NSM VMWARE VC RESOURCE P
EXTNT145          TNT143    NT143     NSM VMWARE VC SERVER
EXTNT146          TNT144    NT144     NSM VMWARE VC VM
EXTNT147          TNT145    NT145     NSM VMWARE VC VM CPU
EXTNT148          TNT146    NT146     NSM VMWARE VC VM DISK
Aug  2, 2008      TNT147    NT147     NSM VMWARE VC VM MEMORY
Aug  4, 2008      TNT148    NT148     NSM VMWARE VC VM NETWORK
Aug  6, 2008      TNT149    NT149     NSM AD EVENTS
Aug 24, 2008      TNT150    NT150     NSM AD PERFORMANCE
                  TNT151    NT151     NSM AD UTILIZATION
                  TNT152    NT152     NSM DNS
                  TNT153    NT153     NSM FILEREPLICACONN
                  TNT154    NT154     NSM FILEREPLICASET
                  TNT155    NT155     NSM NTDS
               Added Aug 24 in 26.07:
                  TNT156    NT156     NSM VMWARE VC COMPUTE RE
   Thanks to Michael Kynch, International Paper, USA.

Change 26.171  Protection so that ANALDB2R doesn't fail with USER=PDB.
ANALDB2R       While USER=PDB is dis-recommended for BUILDPDB, and has
VMXGINIT       caused errors with other programs, this change protects
Aug  2, 2008   but ONLY for ANALDB2R. DO NOT USE OPTIONS USER=PDB.
   Thanks to Herbert Sweeney, Verizon Data Services Inc, USA.

Change 26.170  Circumvention for zero length VBS record in OPC Log file.
VMACOPC
Jul 31, 2008
   Thanks to Andrew Davis, Produban, ENGLAND.

Change 26.169  Circumvention for 24 byte PRCAPM segment.
VMACXAM
Jul 29, 2008
   Thanks to Tony Curry, BMC, USA.

Change 26.168  Support for DB2 SMF 102 IFCID=342 adds these variables:
VMAC102          QW0342TY ='DATABASE TYPE'
Jul 29, 2008     QW0342AT='AGENT TOKEN'
                 QW0342CI='CURRENT*INDEX*SPACE*USAGE'
                 QW0342CT='CURRENT*TABLES*SPACE*USAGE'
                 QW0342DB='DATABASE*DBID'
                 QW0342MI='MAXIMUM*INDEX*SPACE*USAGE'
                 QW0342MT='MAXIMUM*TABLES*SPACE*USAGE'
                 QW0342PS='TABLE/INDEX*SPACE*PSID'
                 QW0342PT='PARENT TOKEN'
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 26.167  Debugging version for invalid UWD record segments will
ASMRMFV        avoid the USER ABEND and write defective records to the
Jul 29, 2008   //RMFSKIP DD (which needs to be added). ASMRMFVX, delete.
   Thanks to Robert Carballo, Office Depot, USA.

Change 26.166  Support for AS/400 Version 6 Release 1 adds 3 variables
VMACQACS       to the QAPMDISK dataset:
Jul 29, 2008      DSSECT  ='DISK*UNIT*SECTOR*SIZE'
                  DSIOARN ='STORAGE*ADAPTER*RESOURCE*NAME'
                  DSSRLN  ='DISK*UNIT*SERIAL*NUMBER'
               and new variable to QAPMCONF dataset:
                  GDESXP  ='PM*AGENT*DATA*OBTAINED?'
   Thanks to David Bixler, FISERV, USA.

Change 26.165  A new "RMF Interval - WORKLOAD " dataset RMFWLKRV is now
EXRMFWKL       also created when RMFINTRV is created; the new dataset
VMXGRMFI       contains only the workload variables from RMF72, but
Jul 26, 2008   with one observation per workload, and only one set of
               variables created, making workload analysis much easier.
               The RMFWKLRV dataset has the same interval duration that
               you chose for your RMFINTRV dataset; these are the
               variables and labels in the new PDB.RMFWKLRV dataset:
                  DURATM      DURATION*OF*INTERVAL
                  STARTIME    START OF*INTERVAL
                  SYSNAME     SYSNAME*FROM*IEASYSXX
                  SYSPLEX     SYSPLEX*FROM*IEASYSXX
                  SYSTEM      SYSTEM*ID
                  WKLDACTV    WORKLOAD*ACTIVE*TIME
                  WKLDCPU     WORKLOAD*CPU*TIME
                  WKLDDESC    WORKLOAD*DESCRIPTION
                  WKLDEXCP    WORKLOAD*EXCP*RATE
                  WKLDFRTM    WORKLOAD*FRAME*TIME
                  WKLDHPT     WORKLOAD*HPT*TIME
                  WKLDID      WORKLOAD*ID
                  WKLDIFA     WORKLOAD*IFA*PROCESSOR*TIME
                  WKLDIFE     WORKLOAD*IFA*ELIGIBLE*PROCESSOR*TIME
                  WKLDIIP     WORKLOAD*IIP*TIME
                  WKLDIOTM    WORKLOAD*IO*CONNECT*TIME
                  WKLDMEMR    WORKLOAD*MEMORY*USAGE
                  WKLDPGIN    WORKLOAD*PAGEIN*RATE
                  WKLDRCT     WORKLOAD*RCT*TIME
                  WKLDRESD    WORKLOAD*RESIDENT*TIME
                  WKLDRESP    WORKLOAD*AVG*RESPONSE
                  WKLDSERV    WORKLOAD*SERVICE*UNITS
                  WKLDSRB     WORKLOAD*SRB*TIME
                  WKLDSVRT    WORKLOAD*SERVICE*RATE
                  WKLDSWAP    WORKLOAD*SWAP*RATE
                  WKLDTCB     WORKLOAD*TCB*TIME
                  WKLDTRAN    WORKLOAD*TRANSACTIONS
                  WKLDTRRT    WORKLOAD*TRANSACTION*RATE
                  WKLDWKST    WORKLOAD*WORKING*SET
                  WKLDZIE     WORKLOAD*ZIP*ELIGIBLE*PROCESSOR*TIME
                  WKLDZIP     WORKLOAD*ZIP*PROCESSOR*TIME
   Thanks to Don Goulden, SAS ITRM Development, USA.

Change 26.164  For the JES3 PDB, i.e., BUILDPD3, variable JOBCLASS was
BUIL3005       not kept from the SMF 30 subtype 1 and subtype 5, causing
Jul 26, 2008   it to be blank in some cases.  It is now kept in both.
Aug 12, 2008   Additionally, it is now correctly kept as 8-bytes in the
               PDB.SMFINTRV dataset, as well as being non-blank.
   Thanks to Keving McCandlish, IBM Global Services, USA.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.163  Support for TPF PUT22 changes, and corrections to current
VMACTPF        code.
Jul 21, 2008   New variables added by PUT22:
               Dataset TPFDX:
                 DXNSDIN  DXLMTRKS DXLMRSTT  DXTSWB   DXMODL   DXCRYP
               Dataset TPFSX:
                 SX4KFRMS
               Corrections:
               -The first SLOTNR was always re-read for all eight slots,
                so dataset TPFMG never had data from the 2nd-8th slots.
               -STARTIME was not populated for TPFMG dataset.
               -The INPUT of SPXDISA1-4 and SPXRTRA1-4 were relocated to
                the end of the SPX record; those variables were always
                wrong until now.
   Thanks to Bob Wilcos, EDS, USA.

Change 26.162  Reserved Change Number.
Jul 21, 2008

Change 26.161  New variable BESKEY='TAPE*ENCRYPTION*KEY*INDEX' is added
TYPETMS5       to dataset TMS to identify CA-1 encrypted tapes. This is
VMACTMS5       a reference/index into the CA Tape Encryption Data base
Jul 21, 2008   where the actual keys are stored, and it allows TMS to
               determine when a key is no longer needed and can be
               retired; TMS scans for non-scratch tapes that reference
               a key, and if none are found for a specific index, that
               key can then be safely retired.
   Thanks to Jeff Harder, Indiana Farm Bureau, USA.

Change 26.160  Support for Omegamon User SMF records in SMF 112.
VMAC112        See Change 25.257, which replaced this text.
VMACOMCI
Jul 20, 2008
   Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.

Change 26.159  TYPE77 QUEUE1 thru QUEUE4 were wrong and could be GT 100.
VMAC77         The correct denominator TOT77QUE=SUM OF (QUEUE1-QUEUE4)
Aug 13, 2008   is now used to calculate those percentages, and is kept.
               The calculation of Average Queue Length now matches IBMs
               reports, using AVG77QUE=WAITS/TOT77QUE, where WAITS is
               SMF77AQL, the total waiting requests, and new TOT77QUE
               is the total number of waiters.
               New variable RNAMEHEX is the printable hex value of the
               first MINORQCB bytes of RNAME, so those RNAMEs that have
               hex values can be seen when printed as plain text.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.158  Cosmetic, but confusing.  PDB.TYPE70 offline zip/zap
VMAC7072       engines had CAIxx='20'x instead of '00'X, had PCTIFBYx
Jul 17, 2008   and PCTZIPBx both 100%, had IFAWAITx and ZIPWAITx both 0,
               and IFAWAITM and ZIPWAITM were also both zeros if all of
               the zIIP and zAAP engines were offline during interval.
               The IFAUPTM and ZIPUPTM were both correct (missing) when
               all of these engines were offline. the NRIFAS and
               NRZIPCPU variables still count the number of engines
               available to this MVS system, even when all are offline.
   Thanks to Christine DeClercq, Dexia, BELGIUM.

Change 26.157  Change 26.115 made consistent the BY lists for RMF sorts,
MONTHASC       but only for the first three common variables.  The
MONTHBL3       TYPE70 sort order was still inconsistent between BUILDPDB
MONTHBLD       and WEEKBLD/MONTHBLD.  Now, those combining jobs all have
MONTHBLS       been updated to match the BUILDPDB order, which is:
MONTHDSK         SYSPLEX SYSTEM SYSNAME SMF70GIE GMTOFFTM STARTIME
MONTHWEK
WEEKBL3D
WEEKBL3T
WEEKBLD
WEEKBLDD
WEEKBLDT
Jul 15, 2008
   Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.

Change 26.156  Hex variable FSRDORG is decoded in new character variable
VMACHSM        FSRDSORG using the same logic used for DCOLLECT, except
Jul 15, 2008   that DCOLLECT provides bits to identify PDSE vs PDS.
   Thanks to James J. Byrnes, ???, ???

Change 26.155  Support for SMF 99 Subtype 11 (Group Capacity Limits)
EXTY99BG       creates two new datasets:
EXTY99BS         DDDDDD  DATASET   SUBTYPE  DESCRIPTION
IMAC99           TY99BG  TYPE99BG  99-11    CAPACITY GROUP
VMAC99           TY99BS  TYPE99BS  99-11    SERVICE DATA
VMXGINIT
Jul 23, 2008
   Thanks to Scott Chapman, American Electric Power,USA.

Change 26.154  If an offline LPARNUM preceded this PARTISHN, SMF70LAC
VMAC7072       was missing in PDB.TYPE70PR and PDB.ASUM70LP/PDB.ASUMCELP
Jul 10, 2008   and the corresponding LPnLAC in PDB.ASUM70PR/PDB.ASUMCEC.
   Thanks to Barry T. Mueller, RiteAid, USA.

Change 26.153 -Using ANALRMFR from MXG 26.01+ with PDB=PDB where that
ANALRMFR       input PDB was created with an earlier MXG version caused
Jul 18, 2008   a series of error messages that variables suffixed Y, Z,
               ZA ... are missing; those new variables for CPs up to 64
               were expected by ANALRMFR; rerun with PDB=SMF to correct.
              -ERROR: NO DATA SET OPEN TO LOOK UP VARIABLES corrected;
               caused by hardcoded TYPE70SP instead of _WTY70SP.
              -Updated to support 64 CP engines.
   Thanks to Bill Cheng, Toyota, USA.

Change 26.152  New utility to remove duplicate SMF records from VBS data
UNDUPSMF       file.
Jul  9, 2008
   Thanks to Larry Stahl, IBM Global Services, USA.

Change 26.151  Support for APAR OA24416, which corrects overflow in
VMAC28         GBLCRPSA by adding a four byte "high part" at the end of
Jul  8, 2008   the 'D6'x NPM record.

Change 26.150  A typo caused the values of three SPG variables to be
VMACRMFV       one tenth of their true value; the three variables
Jul  6, 2008   SPGTOTSP SPGFRESP SPGLGBLK are now multiplied by the
               correct value of 1048576 instead of 104856.
   Thanks to Roger Rush, Navistar, USA.

Change 26.149  Protection so that if SMF 21s and TYPETMNT were not added
UTILBLDP       ASUMTAPE, ASUMTMNT and ASUMTALO are NOT included, but if
Jul  6, 2008   TYPETMNT is created, the ASUMTMNT and ASUMTALO are.
   Thanks to Charles Savikas, State of Florida, USA.

Change 26.148  Enhancement to ASMTAPEE/MXGTMNT's capture of SYSLOG info,
ASMTAPEE       now at ML-43 with this change, some revisions to ASUMTAPE
ASUMTAPE       processing logic that improves the accuracy of several
VMACTMNT       SYSLOG timestamps, and the creation of new SYLVTIME,
Jul  6, 2008   which is then used to improve the accuracy of variables
               BEGTMNT, ENDTMNT, TOTMNTTM and TAPMTDTM values, some
               variable labels were revised, and a new MXG Technical
               Note to document what can still be missed by MXGTMNT.

              -ML-43 of ASMTAPEE/MXGTMNT now captures the IEF233D mount
               message in its subtype 8 records (output in TYPESYMT).
               The IEF233D message is issued for non-ATL, non-VTS first
               volume mounts from dynamic allocations that don't specify
               the DEFER option.  This message should have been in the
               initial list (IEF233A, IEC501A, IEC501E) of mount events,
               but was never observed until now, perhaps because it is
               relatively infrequent.
              -ASUMTAPE's logic revises how SYLMTIME, the SYSLOG Mount
               time is populated; previously, if there was no SYSLOG
               mount event, the time of a SYSLOG verify message was used
               to populate SYLMTIME, but now, only mount event messages,
               IEF233A, IEF233D, IEC501A, or IEC501E, are used.
              -New logic in ASUMTAPE instead creates variable SYLVTIME,
               SYSLOG Verify time, using the maximum time value of he
               IECTMS6, IECTMS9, or IEC7095I SYSLOG messages.
              -And SYLVTIME is now used in the creation of the ENDTMNT
               mount event time variable in ASUMTAPE.
              -The logic for BEGTMNT, ENDTMNT, TOTMNTTM and TAPMNDTM are
               corrected, revised, and re-labeled:
                 BEGTMNT='BEGIN TIME*OF TAPE*MOUNT EVENT'
                    IF SYLMTIME GT 0 and TMNTTIME GT 0 THEN
                       BEGTMNT=MIN(TMNTTIME,SYLMTIME);
                    ELSE iF SYLMTIME GT 0 THEN BEGTMNT=SYLMTIME;
                    ELSE IF TMNTTIME GT 0 THEN BEGTMNT=TMNTTIME;
                    ELSE                       BEGTMNT=.;
                    It is the minimum timestamp of the start of
                    the mount event, from SYSLOG or MXGTMNT.
                 ENDTMNT='END TIME*OF TAPE*MOUNT EVENT'
                    IF SYLVTIME GT 0 AND TENDTIME GT 0 THEN
                       ENDTMNT=MAX(TENDTIME,SYLVTIME);
                    ELSE IF SYLVTIME GT 0 THEN ENDTMNT=SYLVTIME;
                    ELSE IF TENDTIME GT 0 THEN ENDTMNT=TENDTIME;
                    ELSE                       ENDTMNT=.;
                    It is the maximum verification time or mount
                    end, from SYSLOG or MXGTMNT.
                 TOTMNTTM='TIME IT TOOK*TO MOUNT*TAPE VOLUME'
                    IF ENDTMNT  GT 0 AND BEGTMNT  GT 0 THEN
                       TOTMNTTM=ENDTMNT-BEGTMNT;
                    It is the duration the job was delayed for
                    this tape mount.
                 TAPMTDTM='DURATION*TAPE WAS*MOUNTED*TO DISMOUNT'
                    IF (SYLKTIME GT 0 OR TY21TIME GT 0) AND
                       BEGTMNT GT 0 THEN
                      TAPMTDTM=MAX(SYLKTIME,TY21TIME)-BEGTMNT;
                    It is the duration that the tape volume was
                    mounted on the device for this mount event.
              -VMACTMNT: New variables, decoded bits from TMNTFLAG,
               were added to make debugging a little easier:
                  TMNTMSGI='MOUNT MESSAGE ISSUED'
                  TMNTJOBI='JOB*ENDED*EVENT'
                  TMNTJOBC='JOB*CANCELLED*BY*OPERATOR'
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.

Change 26.147  Cosmetic.  The LPnNRPRC variables that count the number
VMXG70PR       of CP engines in the ASUM70PR and ASUMCEC datasets are
Jul  2, 2008   now FORMATted 6.1 to match the LPARCPUS format that was
               made in Change 26.003.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA

Change 26.146  Support for VXVNDSES dataset for zVM Domain 8 record 1.
FORMATS
VMACVMXA
Jul  2, 2008
   Thanks to Sharon Moir, JPMorgan Chase Bank, USA.

Change 26.145  Support for BMC Mainview for CICS CMR record CMRTYPE=109.
VMACMVCI       The CMRTYPE=109 records are written for ABENDs; only the
Jul  2, 2008   CMRTYPE=110 records were previously processed by MXG.
               Variable CMRTYPE was added to both datasets as well.
   Thanks to David Edge, Thompson Reuters, USA.

Change 26.144  The example ftp instructions for sending data files were
FTPSMF         all corrected; the syntax /yourname.xxx are all now
FTPVB          changed to the syntax of just yourname.xxx; that leading
JCLFTP         slash tried to write to the root directory, which was not
NEWSLTRS       the desired target destination.
SENDDATA
Jul  1, 2008
   Thanks to Trevor Ede, EDS, NEW ZEALAND.

Change 26.143  The Virtualization Engine TS7700 Statistical data in the
VMACBVIR       MXG BVIR32 dataset was trashed; these 4 one-byte fields
Jun 30, 2008   were not INPUT, causing subsequent variables to be out
               of alignment:
                 DVAVAD00='00*AVAILABLE*PHYSICAL*DEVICES'
                 DVAVAD01='01*AVAILABLE*PHYSICAL*DEVICES'
                 DVAVAD02='02*AVAILABLE*PHYSICAL*DEVICES'
                 DVAVAD03='03*AVAILABLE*PHYSICAL*DEVICES'
   Thanks to Josep Miquel Oliver, La Caixa, SPAIN.

Change 26.142  New variables added to DCOLLECT dataset DCOLDSET:
VMACDCOL          DCDCKDSI='CHECKPOINT*DS*INDICATED?'
Jun 30, 2008      DCDCPOIT='CHECKPOINTED*DATASET?'
                  DCDGT64K='GT 64K*TRACK*DATASET?'
              and new values created for DCDDSORG for HFS and PDSE;
              unfortunately, DCEDSORT is only three bytes, so the text
              value for PDSE is set to PDS"
                  DCDDSORG='HFS'  for HFS dataset
                  DCDDSORG='PDS'  for PDSE dataset
              These two values are set based on IBM support's reply, as
              only the bits are documented in the IDCDOUT DSECT, but not
              the logic:
          IF DCDPDSE='Y' AND DCDPDSEX=' ' THEN DCDDSORG='PDS'; /*PDSE*/
          IF DCDPDSE='Y' AND DCDPDSEX='Y' THEN DCDDSORG='HFS'; /*HFS*/
              However, there are several hundred DCOLDSET observations
              that have DCDDSORG blank, because the three flag bytes
              whose bits are used to define DCDDSORG, MXG variables
              DCDSORG1, DCDSORG2 and DCDFLAG3, all contain hex zeroes;
              a new query back to DCOLLECT technical support is raised.
                These blank values are believed to be from datasets
                that were allocated but never opened.
   Thanks to Trevor Ede, EDS, NEW ZEALAND.

Change 26.141  CICS STID=74 (SMF 110 Subtype 2 Statistics) length of 228
VMAC110        was incorrectly documented in DFHMQGDS, causing MXG to
Jun 30, 2008   print ERROR (NEW DATA) SKIPPED message on the log.  But,
               MXG's INPUT was off by 4 bytes (Queue Manager is only 4),
               The INPUT is corrected, the extra reserved bytes are now
               skipped, that ERROR message is now a WARNING message, and
               dataset CICIMQ (CICS MQ STATISTICS) is now corrected.
   Thanks to Ray Dunn, CIGNA, USA.
   Thanks to Murray Town, Suncorp, AUSTRALIA.
   Thanks to MP Welch, SPRINT, USA.
   Thanks to David J Schumann, Blue Cross of Minnesota, USA.

====== Changes thru 26.140 were in MXG 26.05 dated Jun 18, 2008=========

Change 26.140  Example analysis of DB2 Package resources from DB2ACCTP.
ANALPKGS
Jun 17, 2008
   Thanks to Myles M. Reed, NS Corp, USA.

Change 26.139  MXG's DOCVER and DOCVERnn members are limited to 72 bytes
UTILXRF1       per line, which permitted only 8-byte variable names; MXG
UTILVREF       now creates some datasets with variable names longer than
Jun 17, 2008   8-bytes, so the DOCVER and DOCVERnn members are revised;
               if the length of the variable is more than 8 bytes, the
               variable name is printed on a separate line.  SAS itself
               limits variable names to 32 characters.

Change 26.138  EKC's EFT/R FIRECALL SMF 80 record was changed, causing
VMAC80A        INPUT STATEMENT EXCEEDED RECORD length, because MXG
Jun 17, 2008   didn't expect the changed record.
   Thanks to Yaohua Hu, ISO, USA.

Change 26.137  For QA testing; setting TAPENGN to V9SEQ/V8SEQ is now
VMXGINIT       only done for MXG under z/OS; MONTHBLD died in QA tests
Jun 17, 2008.  because V9SEQ does not exist in ASCII versions of SAS.

Change 26.136 -Variable QW0119GP, CURRENT GET PAGES, added to T102S199.
VMACDB2       -Variable QW0225BB was mis-located in the MXG Input, and
VMAC102        should not have been converted to bytes, it is blocks.
Jun 17, 2008   Both VMACDB2 and VMAC102 process the IFCID=225 segment.
   Thanks to Steve Wood, DST Systems Inc, USA.

Change 26.135  ASMTAPEE ML-42 backs out the incorrect JOBname that was
ASMTAPEE       added in ML-41. Change 26.128 revised MXG TYPETMNT code
Jun 16, 2008   to use JOB from the SYSLOG message text, while we still
               try to find the location of that second JOB name.


Change 26.134  Cosmetic change; test for length remaining for optional
IMACICRD       DFHRMI segment for CICS/TS 3.2 added for length 96.
Jun 16, 2008
   Thanks to Paul C. Gordon, Bank of America, USA.

Change 26.133  Complete rewrite of MXG support for CA SYSVIEW, replacing
EXSVEV01       the partial support (2005) in TYPESYSV and TYPESYSI.
EXSVEV02       The new support now creates seventy-four datasets:
EXSVEV03
EXSVEV04          DDDDDD     Dataset   Description
EXSVEV05           token      Name
EXSVEV06
EXSVEV07          SVEV01     SV01EV01  SVEV01: SYSVIEW AUDIT 01 NOOP
EXSVEV08          SVEV02     SV01EV02  SVEV02: SYSVIEW AUDIT 02 START
EXSVEV09          SVEV03     SV01EV03  SVEV03: SYSVIEW AUDIT 03 SHUTDOWN
EXSVEV10          SVEV04     SV01EV04  SVEV04: SYSVIEW AUDIT 04 SESSION
EXSVEV11          SVEV05     SV01EV05  SVEV05: SYSVIEW AUDIT 05 SESSION
EXSVEV12          SVEV06     SV01EV06  SVEV06: SYSVIEW AUDIT 06 COMMAND
EXSVEV13          SVEV07     SV01EV07  SVEV07: SYSVIEW AUDIT 07 COMMAND
EXSVEV14          SVEV08     SV01EV08  SVEV08: SYSVIEW AUDIT 08 THRESHOL
EXSVEV15          SVEV09     SV01EV09  SVEV09: SYSVIEW AUDIT 09 STATE MO
EXSVEV16          SVEV10     SV01EV10  SVEV10: SYSVIEW AUDIT 10 MONITOR
EXSVEV17          SVEV11     SV01EV11  SVEV11: SYSVIEW AUDIT 11 ASID ACT
EXSVEV18          SVEV12     SV01EV12  SVEV12: SYSVIEW AUDIT 12 CONSOLE
EXSVEV19          SVEV13     SV01EV13  SVEV13: SYSVIEW AUDIT 13 WEB MQ C
EXSVEV20          SVEV14     SV01EV14  SVEV14: SYSVIEW AUDIT 14 IMS COMM
EXSVEV21          SVEV15     SV01EV15  SVEV15: SYSVIEW AUDIT 15 CICS CEM
EXSVEV22          SVEV16     SV01EV16  SVEV16: SYSVIEW AUDIT 16 DSN SERV
EXSVEV23          SVEV17     SV01EV17  SVEV17: SYSVIEW AUDIT 17 LPA MODI
EXSVEV24          SVEV18     SV01EV18  SVEV18: SYSVIEW AUDIT 18 SVCTABLE
EXSVEV25          SVEV19     SV01EV19  SVEV19: SYSVIEW AUDIT 19 SUBSYS M
EXSVEV26          SVEV20     SV01EV20  SVEV20: SYSVIEW AUDIT 20 PPT MODI
EXSVEV27          SVEV21     SV01EV21  SVEV21: SYSVIEW AUDIT 21 WTOR REP
EXSVEV28          SVEV22     SV01EV22  SVEV22: SYSVIEW AUDIT 22 LOGSTREA
EXSVEV29          SVEV23     SV01EV23  SVEV23: SYSVIEW AUDIT 23 LOGSTREA
EXSVEV30          SVEV24     SV01EV24  SVEV24: SYSVIEW AUDIT 24 PRODUCT
EXSVEV31          SVEV25     SV01EV25  SVEV25: SYSVIEW AUDIT 25 LINKSET
EXSVEV32          SVEV26     SV01EV26  SVEV26: SYSVIEW AUDIT 26 LINKLIST
EXSVEV33          SVEV27     SV01EV27  SVEV27: SYSVIEW AUDIT 27 STORAGE
EXSVEV34          SVEV28     SV01EV28  SVEV28: SYSVIEW AUDIT 28 AMRF ACT
EXSVEV35          SVEV29     SV01EV29  SVEV29: SYSVIEW AUDIT 29 ESRTABLE
EXSVEV36          SVEV30     SV01EV30  SVEV30: SYSVIEW AUDIT 30 TSOTABLE
EXSVEV37          SVEV31     SV01EV31  SVEV31: SYSVIEW AUDIT 31 REGPROD
EXSVEV38          SVEV32     SV01EV32  SVEV32: SYSVIEW AUDIT 32 DUMPDS M
EXSVEV39          SVEV33     SV01EV33  SVEV33: SYSVIEW AUDIT 33 CICSTRAN
EXSVEV40          SVEV34     SV01EV34  SVEV34: SYSVIEW AUDIT 34 CICS THR
EXSVEV41          SVEV35     SV01EV35  SVEV35: SYSVIEW AUDIT 35 CICS STA
EXSVEV42          SVEV36     SV01EV36  SVEV36: SYSVIEW AUDIT 36 MQ QUEUE
EXSVEV43          SVEV37     SV01EV37  SVEV37: SYSVIEW AUDIT 37 USER EVE
EXSVEV44          SVEV38     SV01EV38  SVEV38: SYSVIEW AUDIT 38 MQ CHAN
EXSVEV45          SVEV39     SV01EV39  SVEV39: SYSVIEW AUDIT 39 CICS TS
EXSVEV46          SVEV40     SV01EV40  SVEV40: SYSVIEW AUDIT 40 SET EXTN
EXSVEV47          SVEV41     SV01EV41  SVEV41: SYSVIEW AUDIT 41 SET GRAN
EXSVEV48          SVEV42     SV01EV42  SVEV42: SYSVIEW AUDIT 42 CICS STA
EXSVEV49          SVEV43     SV01EV43  SVEV43: SYSVIEW AUDIT 43 CICS SHU
EXSVPLOT          SVEV44     SV01EV44  SVEV44: SYSVIEW AUDIT 44 DATA SET
EXSVTHRE          SVEV45     SV01EV45  SVEV45: SYSVIEW AUDIT 45 TASK STA
EXSVSTAT          SVEV46     SV01EV46  SVEV46: SYSVIEW AUDIT 46 TASK STO
EXSVCEXC          SVEV47     SV01EV47  SVEV47: SYSVIEW AUDIT 47 JES2 JOB
EXSVTSUM          SVEV48     SV01EV48  SVEV48: SYSVIEW AUDIT 48 JES2 OUT
EXSVTRAN          SVEV49     SV01EV49  SVEV49: SYSVIEW AUDIT 49 JES2 OUT
EXSVPROG          SVPLOT     SV02PLOT  SVPLOT: SYSVIEW PLOT
EXSVFILE          SVTHRE     SV08THRE  SVTHRE: SYSVIEW THRESHOLD EXCEPTI
EXSVTMPS          SVSTAT     SV09STAT  SVSTAT: SYSVIEW STATE EXCEPTION
EXSVTDTA          SVCEXC     SV24CEXC  SVCEXC: SYSVIEW EXCEPTION
EXSVABND          SVTSUM     SV25TSUM  SVTSUM: SYSVIEW CICS TRANS SUMMAR
EXSVEXCE          SVTRAN     SV27TRAN  SVTRAN: SYSVIEW CICS TRANSACTION
EXSVMEMP          SVPROG     SV27PROG  SVPROG: SYSVIEW CICS PROGRAMS
EXSVDLI           SVFILE     SV27FILE  SVFILE: SYSVIEW CICS FILES
EXSVTHRS          SVTMPS     SV27TMPS  SVTMPS: SYSVIEW CICS TEMPORARY ST
EXSVRESM          SVTDTA     SV27TDTA  SVTDTA: SYSVIEW CICS TRANSIENT DA
EXSVDCOM          SVABND     SV27ABND  SVABND: SYSVIEW CICS ABENDS
EXSVEXIN          SVEXCE     SV27EXCE  SVEXCE: SYSVIEW CICS EXCEPTIONS
EXSVWBMQ          SVMEMP     SV27MEMP  SVMEMP: SYSVIEW CICS MONITOR EMPS
EXSVDB2           SVDLI      SV27DLI   SVDLI:  SYSVIEW CICS DL/I
EXSVMEIE          SVTHRS     SV27THRS  SVTHRS: SYSVIEW CICS THRESHOLDS
EXSVINTV          SVRESM     SV27RESM  SVRESM: SYSVIEW CICS RESOURCE MAN
EXSVIMST          SVDCOM     SV27DCOM  SVDCOM: SYSVIEW CICS DATACOM CSF
EXSVIMSP          SVEXIN     SV27EXIN  SVEXIN: SYSVIEW CICS EXEC INTERFA
EXSVMQRR          SVWBMQ     SV27WBMQ  SVWBMQ: SYSVIEW CICS WEBSPHERE MQ
IMACSVIE          SVDB2      SV27DB2   SVDB2:  SYSVIEW CICS DB2
TYPESVIE          SVMEIE     SV27MEIE  SVMEIE: SYSVIEW CICS MEI EVENT
TYPSSVIE          SVINTV     SV28INTV  SVINTV: SYSVIEW CICS INTERVAL SUM
VMACSVIE          SVIMST     SV32IMST  SVIMST: SYSVIEW IMS TRANSACTION
VMXGINIT          SVIMSP     SV33IMSP  SVIMSP: SYSVIEW IMS PROGRAM SUMMA
Jun 17, 2008      SVMQRR     SV48MQRR  SVMQRR: SYSVIEW MQ APP REGIONS

Change 26.132  Minor correction; if optional RMFFILT DD was missing but
ASMRMFV        RMFSKIP DD was present, ASMRMFV could fail with USER 998
Jun 14, 2008   when attempting to close the nonexistent RMFFILT DDname.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 26.131  The reports on MIPS/MSU usage for CP engine is enhanced
ASUMMIPS       to also report on zIIPs and zAAPs, by adding variables
Jul 18, 2008   CPUIFATM CPUZIPTM NRIFAS NRZIPCPU IFAUSED ZIPUSED MIPSIFA
               MIPSZIP with _MIPSIFA and _MIPAZIP macros that define the
               factors in the same way as base CP conversion factors.
   Thanks to Robert Kuhne, Exelon Corporation, USA.

Change 26.130  Notes for CICS IMACICEZ, IMACICE1, IMACICE2 tailoring.
IMACICEZ       These notes originated in Change 24.033, then 25.xxx and
IMACICE1       are repeated here, as well as in comments in UTILEXCL
IMACICE2       These members are required to be tailored if your CICS
UTILEXCL       records contain 'EZA01' or 'EZA01' optional segments:
Jun 14, 2008
              -IMACICEZ always has these 5 fields, identified by their
               CMODNAME='EZA01' and CMODTYPE='S':

                  EZA01       S       001      12      ooo     INIT
                  EZA01       S       002      12      ooo     READ
                  EZA01       S       003      12      ooo     WRITE
                  EZA01       S       004      12      ooo     SELECT
                  EZA01       S       005      12      ooo     OTHER

               The CMODLENG=12 is from CICS/3.2; earlier CICS had only
               CMODLENG=8, but IMACICEZ supports both lengths, so you
               just remove the comment block to tailor IMACICEZ and it
               will process data with either or both lengths.

              -IMACICE1 can have up to 13 fields, identified by their
               CMODNAME='EZA01' and CMODTYPE='A' (yes, CMODNAME is the
               same 'EZA01' as IMACICEZ, but the CMODTYPE is different):

                  EZA01   A       001       4      ooo     TINIT
                  EZA01   A       002       4      ooo     TREAD
                  EZA01   A       003       4      ooo     TWRITE
                  EZA01   A       004       4      ooo     TSELECT
                  EZA01   A       005       4      ooo     TOTHER
                  EZA01   A       006       4      ooo     REUSABLE
                  EZA01   A       007       4      ooo     ATTACHED
                  EZA01   A       008       4      ooo     OPENAPI
                  EZA01   A       009       4      ooo     TCBLIM
                  EZA01   A       010       4      ooo     TREUSABL
                  EZA01   A       011       4      ooo     TATTACHE
                  EZA01   A       012       4      ooo     TOPENAPI
                  EZA01   A       013       4      ooo     TTCBLIM

               You will have to examine REPORT THREE (which may have the
               last CMODHEAD field 'EZA01' instead of the names shown)
               to know how many fields are in your data. If you have the
               expected 13 fields, then you just remove the one comment
               block.  If you have fewer fields, then:
                  - Change the IF xxxx GE 52 THEN DO; statement so its
                    test value is 4 times the number of fields, e.g.
                    with seven fields change the "52" to "28".
                  - Change the INPUT statement's suffix from EZA01A13 to
                    the number of fields you have; if there are seven:
                       INPUT (EZA01A01-EZA01A07) (&PIB.4.) @;
                  - Delete the LABELs for variables that don't exist.

              -IMACICE2 has 22 fields with z/OS 1.7 TCP/IP data, but had
               only 11 fields with z/OS 1.4, which are identified by the
               CMODNAME='EZA02' and CMODTYPE='A:
                  EZA02       A       001       4      330     CONN
                  EZA02       A       002       4      331     STARTED
                  EZA02       A       003       4      332     INVALID
                  EZA02       A       004       4      333     DISTRAN
                  EZA02       A       005       4      334     DISPROG
                  EZA02       A       006       4      335     GIVESOKT
                  EZA02       A       007       4      336     SECEXIT
                  EZA02       A       008       4      337     NOTAUTH
                  EZA02       A       009       4      338     IOERR
                  EZA02       A       010       4      339     NOSPACE
                  EZA02       A       011       4      340     LENERR
                  EZA02       A       012       4      341     TCONN
                  EZA02       A       013       4      342     TSTARTED
                  EZA02       A       014       4      343     TINVALID
                  EZA02       A       015       4      344     TDISTRAN
                  EZA02       A       016       4      345     TDISPROG
                  EZA02       A       017       4      346     TGIVESOK
                  EZA02       A       018       4      347     TSECEXIT
                  EZA02       A       019       4      348     TNOTAUTH
                  EZA02       A       020       4      349     TIOERR
                  EZA02       A       021       4      350     TNOSPACE
                  EZA02       A       022       4      351     TLENERR
               You will HAVE to look at UTILEXCL REPORT THREE to confirm
               if you have 22 or 11 fields, and remove only one of the
               two comment blocks in IMACICE2 to tailor it.

              -You create REPORT THREE with the _RPTEXCL macro run
               with or after your UTILEXCL execution:
                    //SYSIN DD *
                     %INCLUDE SOURCLIB(UTILEXCL);
                     _BLDDICT;
                     _BLDEXCL;
                     _RPTEXCL;

Change 26.129  Format TAOTRMCD existed in FORMATS (but did not have the
FORMATS        OTHER='UNKNOWN' value statement), and it was not applied
VMACTAO        to variable TAOTRMCD in VMACTAO until now.
Jun 12, 2008
   Thanks to Steve Clark, DHL IT Services Americas, USA.

Change 26.128A ASMTAPEE ML-41 (MXG 26.03-26.04) IS DEFECTIVE.
VMACTMNT       But you do NOT need to replace the MXGTMNT monitor task
Jun 12, 2008   if it is already installed, as this circumvention will
               correct the error.  You will need to reprocess the SMF
               records created with ML-41 with the new VMACTMNT from
               this change.

               The error impacts the PDB.ASUMTAPE dataset; the TYPETMNT
               data is correct with ML-41 monitor.  However, to capture
               ALL tape mount events, you must use the ASUMTAPE program
               and then use PDB.ASUMTAPE dataset (and not PDB.TYPETMNT)
               to capture the DFHSM mounts, 2nd mounts and other mounts
               that do not go thru the IBM/STC exits; those events are
               depend on the subtype 8 SYSLOG records in PDB.TYPESYMT
               that ASUMTAPE combines with TYPETMNT and TYPE21 datasets
               to capture EVERY mount in PDB.ASUMTAPE.

               The error is only in the PDB.TYPESYMT SYSLOG dataset; the
               JOB field in the subtype 8 record with ML-41 is in error
               as it contains the JCTJOBID value, rather than JOB name,
               which causes JESNR to be a missing value in PDB.TYPESYMT,
               which then causes ASUMTAPE to fail to match up the SYSLOG
               event data with the TYPETMNT and TYPE21 records.

               This revision to VMACTMNT captures the JOB name from the
               SYSLOG message text, rather than the JOB field, and the
               VGETJESN was relocated to use the correct JOB name to
               decode the JESNR from JCTJOBID.

               Not an error, but it was observed that the PROGRAM name
               in the TYPETMNT dataset is always blank; that field was
               only capturable when the (now archaic) cross-memory
               XMEM=YES option was used, prior to the exit-driven
               redesign. Since TYPETMNT has JOB READTIME and JESNR,
               the PROGRAM can be acquired from the PDB.STEPS dataset.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.128  Prisma SMF record was changed by the vendor, by insertion
VMACPRPR       of a text field, subsequently identified as the PRINTER
Apr 11, 2008   between ACCOUNT and SHEETS.  The change was made in April
Jun 12, 2008   as Change 26.067, but never made it into CHANGES, and the
               change number was reused.
   Thanks to Carl Sablon, KBC Bankverzekerinngsholding, BELGIUM.
   Thanks to Siegfried Trantes, IDG, GERMANY.

Change 26.126  Support for WebSphere incorrect triplets in subtype 3.
VMAC120        Instead of properly using the triplet SM120SRN field to
Jun 11, 2008   count the number of Server Region Sections, IBM chose to
               implement an aberrant design by instead creating 0-n new
               triplets (offset, length, count) in the record header!
               This "feature" caused MXG to only output the first data
               section in dataset TYP120SR. Circumvention code now uses
               SM120TRN-2 (number of triplets minus two) to loop across
               the Server Regions.  This error was detected because the
               total number of allocation failures, SM120HIC, was much
               smaller than expected, and a detail trace identified that
               only one Server Region was being output.
   Thanks to Lisa Oulette, Wachovia Information Technology, USA.

Change 26.125  Support for NTSMF new Objects:
EXNTBITS         DDDDDD   DATASET    DESCRIPTION/OBJECT NAME
EXNTPACE         NTBITS   BITSNET    BITS NET UTILIZATION
EXNTUSB          NTPACE   PACEPIPE   PACER PIPE
IMACNTSM         NTUSB    USB        USB
VMACNTSM      -Jun 17, 2008:  Variable PACEINST was misspelled
VMXGINIT       as PACEPIPE in the _BNTPACE macro definition, causing
Jun 17, 2008   the PROC SORT of dataset PACEPIPE to fail.
Jun 11, 2008
   Thanks to Lisa E. Van Allen, Boeing, USA.

Change 26.124  INPUT STATEMENT EXCEEDED for short (possibly defective)
VMACITRF       type '11'x ITRF record of only 176 bytes; current ITRF
Jun 10, 2008   record should be 304 bytes long.  The record contains
               only the Input Terminal and Date and Time and the 4-byte
               "UNIQUE" hex field; all other fields are nulls or blanks.
               The observation is still output in ITRFMSGO dataset, and
               short records can be identified/counted by the variables
               COT, LOQT, OQT (and others) having missing values.
   Thanks to Prashant Joshi, Perot Systems, USA.

Change 26.123 -Support for new fields added to NTSMF MEMORY object:
VMACNTSM          FRZRPLBY='FREE AND ZERO*PAGE LIST*BYTES'
Jun  9, 2008      MODFPLBY='MODIFIED*PAGE LIST*BYTES'
Jun 17, 2008      SBCACOBY='STANDBY*CACHE*CORE*BYTES'
                  SBCANPBY='STANDBY*CACHE*NORMAL*PRIORITY*BYTES'
                  SBCARSBY='STANDBY*CACHE*RESERVE*BYTES'
              -Support for new field added to NTSMF PROCESS object:
                  WKSETPRV='WORKING*SET*PRIVATE'
   Thanks to Roger Zimmerman, Hewitt Associates, USA.

Change 26.122  Incorrect JOB name was parsed from SYSLOG text that had
ASUMTAPE       three comma delimiters.  The SAS SCAN function treats all
Jun  5, 2008   repeated delimiters as a single delimiter (why, no one at
               SAS can explain, but that 'feature' is documented!), so
               the use of TRANWRD(text,',,',', ,') ahead of the SCAN()
               was suggested, which worked fine with two delimiters.
               However, IEF234E messages with 'D 0F80,,,ZY11110,STEP099'
               (unexpected, a dismount with no volser nor PVT/PUB/STR on
               a 3590 device) were only expanded to 0F80, ,,ZY1110 so
               the subsequent SCANs returned wrong values in WORD2-5.
               Now, five TRANWRDs are executed to ensure the SCAN parse
               properly decodes the JOB and STEP.
   Thanks to Paul Naddeo, FISERV, USA.
   Thanks to David Bixler, FISERV, USA.

Change 26.121  IBM/Candle/OMEGAMON Audit Records can be buried inside
VMACOMAU       CICS records; this change protects so only Audit records
Jun  4, 2008   are processed by TYPEOMAU.  Several variables that do not
               exist in the Audit records were removed.
   Thanks to Joe Faska, Depository Trust, USA.


====== Changes thru 26.120 were in MXG 26.04 dated Jun  4, 2008=========

Change 26.120  The CICSEXCE Exception Report examples have been useless
ANALCICS       for years, as the individual wait/counts have not been
Jun  4, 2008   been populated.  Only these variables are populated in
               the CICSEXCE dataset:
                  ENDTIME  EXCMNBTR EXCMNCPN EXCMNFCN EXCMNNID EXCMNNPX
                  EXCMNNSX EXCMNRIL EXCMNRIL EXCMNRIX EXCMNRLU EXCMNRPT
                  EXCMNRTY EXCMNSRV EXCMNTCN EXCMNTRF EXCMNTYP EXCMNURI
                  EXCMNURI EXWAITTM LUNAME   OPERATOR STRTTIME TASEXCNR
                  TASKNR   TCLASS   TERMINAL TRANNAME TRANPRI TRANTYPE
                  USER
               A new report totals EXWAITCN and EXWAITM and calculates
               the AVGWAITM for each APPLID EXCMNTYP EXCMNRTY EXCMNRIX
               has been added to the examples in ANALCICS.
   Thanks to Robert Carter, PNC Bank, USA.

Change 26.119  Variable LCU is added to TYPE74CA, by converting CSSSID
VMAC74         from character to numeric, and variables CUSERIAL and
Jun  4, 2008   CUVENDOR are created by substring from R745CCMT.
               On IBM RMF reports, they print "CUID"-"CSDEVN" value and
               "SSID"-"CSSSID" value (now, "SSID"-"LCU" value).
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 26.118  Almost cosmetic; the TEST parameter (which writes MXGTMNT
ASMTAPEE       data to a flat file, instead of to SMF) did not work.
Jun  4, 2008   This first ML-42 was never distributed see Change 26.136.
   Thanks to Alexander Raeder, ATOSORIGIN, GERMANY.

Change 26.117  Dataset TYPE747C was missing almost all observations; the
VMAC74         output statement was outside the DO loop over CUs.  And,
Jun  4, 2008   variable R747SDEV is now KEPT in TYPE747C so it can be
               matched up with TYPE747P observations.
   Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.

Change 26.116  Support for APAR OA22414 adds new variables to TYPE23
VMAC23         SMF Statistics Records:
Jun  4, 2008      SMF231RF='FIRST*REFERENCE*FAULTS'
                  SMF23NFR='FIX*REQUESTS*BELOW*2GM'
                  SMF23NGR='GETMAIN*REQUESTS*ISSUED'
                  SMF23NIO='TOTAL*I/O*OPERATIONS'
                  SMF23NRF='NON-FIRST*REFERENCE*FAULTS'
                  SMF23PBG='PAGES*BACKED*DURING*GETMAINS'
                  SMF23PFX='FRAMES*FIXED*BELOW*2GB'
                  SMF23SRB='SRB*DISPATCHES'
                  SMF23TCB='UNLOCKED*TCB*DISPATCHES'
                  SMF23SFG='STATISTICS*SECTION*FLAG'
               The SMF23SFG bits 0 thru 8, if on, indicate that the
               value in the corresponding nine variables were limited
               to four bytes internally and could have wrapped if the
               value was more than 4x10**9; MXG inputs all nine fields
               as eight bytes.

Change 26.115  Inconsistent BY list for RMF data are now consistent.
VMAC7072       The correct sequence is SYSPLEX SYSTEM SYSNAME ... but
WEEKBLD        SYSNAME was not always present, and in some cases it was
MONTHBLD       SYSNAME, in others it was the &MXGSYSN macro variable
Jun  3, 2008   name (needed only way back in Version 23 to protect for
               earlier MXG versions).
               Unless you have duplicate SYSTEM names in a SYSPLEX, the
               SYSNAME is identical to SYSTEM, so its insertion will not
               have any impact on the actual sorted order.
                (Of course, if you have multiple SYSTEMs with the same
                 SYSTEM name, then the SYSNAMEs will be different, so
                 there is a SMALL chance this could cause a NOT SORTED
                 condition when you combine dailies into weekly/monthly
                 PDB libraries).
   Thanks to Brian Crow, BT, ENGLAND.

Change 26.114  z/VM MONWRITE BAD CONTROL RECORD error because MXG didn't
VMACVMXA       protect the 6.24 correctly.
May 30, 2008
   Thanks to Sharon Moir, JPMorgan Chase Bank, USA.

Change 26.113  Variable IORATE=DVTSAMPA/DURATM is now created in the
VMACRMFV       ZRBDVT dataset.
May 30, 2008
   Thanks to Rodger Foreman, Acxiom, USA.

Change 26.112  MXG 26.03:  TYPE70 variables CPUMVSTM, PCTMVSBY, SHORTCPS
VMAC7072       and PLCPRDYQ are missing if not on a z10 processor; the
May 30, 2008   support added for SMF70PAT (CPUPATTM, parked time) failed
               to protect those calculations when CPUPATTM was a missing
               value. Fortunately, you can recalculate from PDB.TYPE70:
                   CPUMVSTM=CPUUPTM-MVSWAITM;
                   IF CPUUPTM GT 0 THEN PCTMVSBY=100*CPUMVSTM/CPUUPTM;
                   IF PCTMVSBY GT 0 AND PCTCPUBY GT 0 THEN DO;
                     SHORTCPS=PCTMVSBY/PCTCPUBY;
                     PLCPRDYQ=100*(PCTMVSBY-PCTCPUBY)/PCTMVSBY;
                     IF . LT PLCPRDYQ LT 0 THEN DO;
                       SHORTCPS=1;
                       PLCPRDYQ=0;
                     END;
                   END;
   Thanks to Charles Savikas, DCF State of Florida, USA.

Change 26.111 -Support for TMVS Release 4.1, INCOMPATIBLE due to fields
EXTMVCN        inserted in the "JD" records.  Many new variables for the
EXTMVCNM       zIIP and zAAP engines are created in the Job records.
EXTMVCNP      -The code is enhanced to full "standard" structure, with
EXTMVCNS       the _Vdddddd macros created, and the _Sdddddd sort macros
EXTMVCO        now invoking PROC SORT NODUP to remove duplicates instead
EXTMVCOF       of being simple DATA steps.
EXTMVCOH      -Redundant variables with STARTIME, ENDTIME and DURATM are
EXTMVCOP       removed.
EXTMVCOS      -Thirty new datasets are created, for all of the possible
EXTMVCY        record types, and all datasets for which I have data
EXTMVCYD       records are populated and duplicate-removal-validated.
EXTMVEC       -New IHDRTMVS exist allows deletion of unwanted record
EXTMVES        types.
EXTMVHC
EXTMVHM
EXTMVHS
EXTMVMC
EXTMVMCL
EXTMVMCV
EXTMVRG
EXTMVX1
EXTMVX3
EXTMVX4
EXTMVXC
EXTMVXD
EXTMVXN
EXTMVXO
EXTMVXP
EXTMVXS
EXTMVXW
IHDRTMVS
IMACTMVS
VMACTMVS
VMXGINIT
Jun  2, 2008
   Thanks to Sam Bass, McLane Co., USA.

Change 26.110  A new MXG ERROR message is printed for PDB.RMFINTRV if
VMXGRMFI       there are no TYPE72GO observations that match the TYPE70
May 28, 2008   observations.  The resultant PDB.RMFINTRV observation has
               PCTOVHD and CPUOVHTM and CPUTM missing values.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.109  Cosmetic.  New values for QWACRINV were not formatted by
ADOCDB2        the MGDB2RC format, and value 40 should have been ABNORM.
FORMATS
May 22, 2008
   Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.

Change 26.108  CICS optional IMS data segment with CMODNAME='USER' and
UTILEXCL       CMODHEAD='SCHDPDS' or 'SCHDTIME' or 'CALLDLI' is now
May 22, 2008   recognized and is supported by the existing IMACICDL
               member.  Previously, all IMS segments had the values of
               'PSB WAIT', 'PSB SCHD', 'DB CALL', and 'DB IO' for those
               fields, and these unexpected text fields cause MXG to
               NOT identify IMACICDL as needed when UTILEXCL ran.
   Thanks to Robb Hermes, Sentry Insurance, USA.

Change 26.107  INPUT STATEMENT EXCEEDED with SMF 80 with new ASSIZMAX
VMAC80A        value in TOKDANAM; that field is not INPUT as TOKASIZM
May 21, 2008   and kept in all TYPE80xx datasets with extended data.
   Thanks to Clayton Buck, UniGroup, USA.

Change 26.106  Enhancement for AF/OPER SMF record support.
VMACAFOP       These variables are now INPUT and KEPT in all datasets:
May 19, 2008   AFOMATNR AFOMATTY AFOTRNAM AFOCPUTM AFOEXECN AFOCONSN
               The AFOCPUTM is now input as &PIB.4.3.
   Thanks to Joe Faska, Depository Trust, USA.

Change 26.105  The label for variable R723CSUP is clarified to read
VMAC7072          R723CSUP='UN-NORMALIZED*ZIP*SERVICE*UNITS'
May 19, 2008   because it contains the zip service units before their
               normalization back to the same scale as the CPUUNITS.
               The variable ZIPUNITS contains the normalized service
               units.  ZIPUNITS and R723CSUP are different ONLY if the
               CP engine speed is less than the ZIP engine speed.
   Thanks to Bret Hoesly, Telephone & Data Systems, Inc, USA.

Change 26.104  Variable SMF70PMU was not divided by NRSAMPLE and its
VMAC7072       label was incorrect.  It now is
May 19, 2008      SMF70PMU='AVG BLKED*DISPATCH*UNITS*PROMOTED'
   Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.

Change 26.103  INPUT STATEMENT EXCEEDED ID=42 SUBTYPE=15 when there were
VMAC42         more than one S2 segment.  MXG logic for LENGTH test was
May 19, 2008   corrected.
   Thanks to Dan Case, Mayo Clinic, USA.

Change 26.102  TYPETASK='J  ' occurred in TYPETMNT/TYPESYMT because the
VGETJESN       VGETJESN logic when there is no SUBSYS, and the JCTJOBID
May 19, 2008   contains 7 digits did not set TYPETASK='JOB'.
   Thanks to Brian Felix, Wachovia Corporation, USA.

Change 26.101  The ending semicolon in the %VMXGVERS(VMXGFOR,xx.yy);
VMXGFOR        statement caused a syntax error; that ending semicolon
May 17, 2008   is not only not required, in this instance it was wrong:

               In the VMXGFOR macro, the last line calls %VMXGVERS with
               a semi-colon at the end. These types of semi colons are
               never required, since the macro processor knows to
               execute the macro when the tokenization sees the right
               parenthesis. In this particular scenario, what happens
               is that that trailing semi colon gets returned to the
               input stream to the datastep - in the middle of the proc
               sort statement, which is why is complains at DATA= being
               a Statement that is not valid or out of order.
   Thanks to James Hein, Erie Insurance, USA.
   Thanks to Chris Weston, SAS ITRM, USA.

Change 26.100  Invalid MEM header record with a missing comma caused
VMACNMON       INPUT STATEMENT EXCEEDED RECORD LENGTH error.  The header
May 16, 2008   had only 7 fields, causing the error, but the actual MEM
               data records are valid, so the handling of the header is
               revised to protect for the invalid record.
   Thanks to Angelo Pezzella, SAS Italy, ITALY.

Change 26.099  Variable ELAPSTM is now calculated instead of missing.
VMACORAC
May 16, 2008
   Thanks to Bret Hoesly, Telephone and Data Systems, USA.

Change 26.098  Support for Informatics STAT user SMF record.
EXIFOCLI       Five datasets are created from the user SMF record:
EXIFODB2          IFOLIS     INFOLISN  INFORMATICS LISTENER
EXIFOEXC          IFOEXC     INFOEXCP  INFORMATICS EXCEPTION
EXIFOFIL          IFOFIL     INFOFILE  INFORMATICS FILE
EXIFOLIS          IFODB2     INFODB2   INFORMATICS DB2
IMACINFO          IFOCLI     INFOCLIE  INFORMATICS CLIENT
TESSUSR1       The datetimestamps of the INFO variables are still on the
TYPEINFO       GMT clock, because there is no GMT offset in the records.
TYPSINFO       The delta between the END (GMT) and SMFTIME (Local) can
VMACINFO       not be used, because END is missing in many records.  The
VMXGINIT       vendor has been requested to add a GMT offset field so
May 21, 2008   the GMT datetimestamps can be converted to local zone.
   Thanks to Elizabeth Griesse, Securian Financial Group, USA.

Change 26.097  Divide-by-zero for denominator CPUCPLEN is now protected.
VMACRMFV
May 13, 2008
   Thanks to Betty Wong, Bank of America, USA.

Change 26.096 -Variables QW0227FG and QW0227PG were always missing; the
VMAC102        test for QWT02R1L should have been 17 and not 21.
May 13, 2008  -Variables QW0226DB and QW0026OB are now $HEX4. format.
   Thanks to Karthik Vinayagam, Morgan Stanley, USA.

====== Changes thru 26.095 were in MXG 26.03 dated May 11, 2008=========

Change 26.095 -ML-41 of ASMTAPEE the MXG Tape Mount Monitor corrects the
ASMTAPEE       JOB Name to use MDBGJBNM in the SMF records it writes for
May 10, 2008   WTO SYSLOG events; some records had HSM instead of VTCSS.
               The new ASUMTAPE logic in Change 26.083 corrects the JOB
               when it is not the same as SYSLJOB, but this corrects the
               SMF records created by MXGTMNT monitor.
              -The Allocation Recovery Event subtype created by MXGTMNT
               was not correct for the (typical, usually automated) WAIT
               event.  ML-41 corrects the logic for that subtype, so the
               observations in TYPEARCV contains job info and the delay
               to that job due to insufficient tape devices, which is
               what an Allocation Recovery Event describes.
              -Some general performance enhancements were also made.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.094  ERROR: LIBRARY PDB IS NOT IN A VALID FORMAT FOR ACCESS
CONFIGV9              METHOD SASV6SEQ.
May  9, 2008   occurs if  OPTIONS SEQENGINE=V6SEQ or TAPENGN=V6SEQ are
               in effect; you can use PROC OPTIONS to display the value
               of those options.  SEQENGINE is defined in CONFIGV9, and
               TAPENGN is defined in VMXGINIT; both default to V9SEQ
               (or V8SEQ if still using SASV8), but either option can
               be changed with a %LET XXXX=VnSEQ, so searching your MXG
               tailoring libraries for V6SEQ should locate that text.

               The MXGSASV9 JCL procedure puts the MXG CONFIGV9 member
               as the last datasets in the //CONFIG DD, so that any SAS
               option I specify in CONFIGV9 will override the default
               SAS options specified in its .CFG file.  However, there
               are only these options that are in both the SAS BATW0 and
               the current MXG CONFIGV9 members:
                   Option        SAS Value              MXG Value
                   BUFNO             3                      2
                   BLKSIZE                               6144
                   MEMLEAVE       512K                      10M
                   SEQENGINE      TAPE                   V9SEQ
                   NLSCOMPATMODE  NONNLSCOMPATMODE      NLSCOMPATMODE
                   THREADS        THREADS               NOTHREADS

====== Changes thru 26.093 were in MXG 26.03 dated May  8, 2008=========

Change 26.093  TESTOTHR step failed because DDNAMES CTMUUNIX, CTMZZOS
JCLTESS9       were not added to support CONTROL-M support.
JCLTEST9
JCLTEST8
JCLTESS8
May  9, 2008
   Thanks to Bernd Klawa, Stadwerke-Bielefeld, GERMANY.

Change 26.092  Divide By Zero warning in HyperPav SMF 74 when SMF74PSM
VMAC74         was zero in an interval when the device was Varied.  The
May  9, 2008   divide is now protected.
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.

Change 26.091  Mis-alignment of the CS Server by four bytes caused very
VMAC111        large values in some variables in CTG SMF 111 CS Server
May  7, 2008   records.  The VMAC111 in 26.03 did not contain this
Jun  3, 2008   change.
   Thanks to Ray Dunn, CIGNA, USA.

Change 26.090  Support for SAS Version V9.2: WARNING could still occur
VMXGSUM        if OUTCODE= was specified; Change 26.065 COPYed, rather
May  7, 2008   than MOVEd the LENGTH statement to after the SET, so the
               WARNING was still printed.  As a result, MXG 26.03 is
               now the required MXG Version to eliminate the WARNING in
               MXG delivered code.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 26.089  Support for CONTROL-M logs from both Unix and z/OS.
EXCTM065       Separate programs, TYPECTMU for Unix, TYPECTMZ for ZOS
EXCTM100       read the "flat" log files to create new datasets.
EXCTM101       From Unix data, TYPECTMU/TYPSCTMU reads CTMLUNIX to
EXCTM133       create these datasets:
EXCTM134
EXCTM203        DDDDDD  DATASET   DESCRIPTION
EXCTM206
EXCTM207        CTM065  CTMU5065  CTL-M UNIX MESSAGE ID 5065'
EXCTM208        CTM100  CTMU5100  CTL-M UNIX MESSAGE ID 5100'
EXCTM209        CTM101  CTMU5101  CTL-M UNIX MESSAGE ID 5101'
EXCTM210        CTM133  CTMU5133  CTL-M UNIX MESSAGE ID 5133'
EXCTM211        CTM134  CTMU5134  CTL-M UNIX MESSAGE ID 5134'
EXCTM212        CTMUOT  CTMUOTHR  CTL-M UNIX OTHER MESSAGE ID'
EXCTM213       From ZOS data, TYPECTMZ/TYPSCTMX reads CTMLZOS to
EXCTM216       create these datasets:
EXCTM217
EXCTM219        DDDDDD  DATASET   DESCRIPTION
EXCTM281
EXCTM511        CTM203  SEL203I   CTL-M ZOS MESSAGE ID SEL203I,220I,221I
EXCTM65A        CTM206  SEL206W   CTL-M ZOS MESSAGE ID 206W
FORMATS         CTM207  SEL207E   CTL-M ZOS MESSAGE ID 207E
IMACCTMU        CTM208  SEL208I   CTL-M ZOS MESSAGE ID 208I
IMACCTMZ        CTM209  SEL209I   CTL-M ZOS MESSAGE ID 209I
TYPECTMU        CTM210  SEL210E   CTL-M ZOS MESSAGE ID 210E
TYPECTMZ        CTM211  SEL211W   CTL-M ZOS MESSAGE ID 211W
TYPSCTMU        CTM212  SEL212W   CTL-M ZOS MESSAGE ID 212W
TYPSCTMZ        CTM213  SEL213W   CTL-M ZOS MESSAGE ID 213W
VMACCTMU        CTM216  SEL216W   CTL-M ZOS MESSAGE ID 216W
VMACCTMZ        CTM217  SEL217W   CTL-M ZOS MESSAGE ID 217W
VMXGINIT        CTM219  SEL219I   CTL-M ZOS MESSAGE ID 219I
May  6, 2008    CTM281  SEL281I   CTL-M ZOS MESSAGE ID 281I
                CTM511  JOB511I   CTL-M ZOS MESSAGE ID 511I
                CTM65A  CTM64AI   CTL-M ZOS MESSAGE ID 65AI
                CTMZOT  CTMZOTHR  CTL-M ZOS OTHER MESSAGE IDS
   Thanks to John Toohey, IBM, AUSTRALIA.

Change 26.088  Support for sub-subtype '0200' MQ segment creates two new
EX112MQC       datasets from SMF 112 records:
EX112MQT         DDDDDD     DATASET   DESCRIPTION
IMAC112          112MQC     T112MQCO  OMEGAMON CICS MQ DETAIL
VMAC112          112MQT     T112MQCT  OMEGAMON CICS MQ TOTALS
VMXGINIT       There are also '0001' MQ Segments for which I do not yet
May  5, 2008   have a DSECT, to be added when documentation received.
May  9, 2008   May 9: Still no documentation for 0001 record, and the
                      0200 documentation is wrong; there are 25 4-byte
                      counters in the segment, but the DSECT from 2007
                      documented only 8 pair of 4-byte clock/counters.
                      For now, first 8 counters have the 8 labels from
                      the 2007 documentation, the rest a counter number.
   Thanks to Ray Dunn, CIGNA, USA.

Change 26.087  Flag variable UBFLAG1 in DCOLBKUP was decoded into these
VMACDCOL       variables, but they were not kept until now:
May  5, 2008     UBINCAT UBNOENQ UBBWO UBNQN1 UBNQN2
   Thanks to Michael Friske, Fidelity Systems, USA.

Change 26.086  Support for AF/Operator SMF Record creates four datasets:
EXAFOPEX          DDDDDD     MXG       MXG
EXAFOPFI          DATASET    DATASET   DATASET
EXAFOPIM          SUFFIX     NAME      LABEL
EXAFOPMA
IMACAFOP          AFOPEX     AFOPEXEC  AFOP EXEC
TYPEAFOP          AFOPFI     AFOPFILE  AFOP FILE
TYPSAFOP          AFOPIM     AFOPIMMED AFOP IMMED
VMACAFOP          AFOPMA     AFOPMATCH AFOP MATCH
VMXGINIT
May  5, 2008
   Thanks to David Kaplan, DTCC, USA.

Change 26.085  Variable SMFTIME was not in the BY list for TYPE70PR and
WEEKBLD        TYPE72MN in WEEKBLD, but was in the BY list for MONTHBLD.
May  5, 2008   The BY list in WEEKBLD was updated.  The absence of the
               SMFTIME variable caused a NOT SORTED condition when the
               clocks were set back one hour on April 6.
   Thanks to Peter Krijger, ANZ National, NEW ZEALAND.

Change 26.084  Enhancements to HSM sample reports adds a new REPORT6, a
ANALHSM        time-interval summary of MIGRATE/RECALL/BACKUP activity.
May  2, 2008   about every tape mount event.
               Additionally, new filtering parameters are created in the
               RPTFILT1-RPTFILT6 macros.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.083  Major rewrite of ASUMTAPE corrects errors and supports
ASUMTAPE       SPIN logic to create PDB.ASUMTAPE with EVERYTHING
May  2, 2008   possible about every tape mount event.
May  8, 2008
May 10, 2008   THIS IS AN INCOMPATIBLE CHANGE:
               You MUST delete your old SPIN.SPINMOUN dataset before you
               implement this revised ASUMTAPE algorithm.

               The previous ASUMTAPE logic always correctly assembled
               "complete" tape mount events, and most "incomplete"
               mounts but there were cases with only a single SYSLOG
               event (notable, from our friends HSM and DMS that do
               their own unique thing!) in which the output was not
               always correct or complete.
               In addition, as documented, ASUMTAPE never implemented
               the full "SPIN" logic to hold incomplete events for the
               next execution of ASUMTAPE.
               The TYPESYMT processing of SYSLOG records was reinvented,
               using the SYSTEM JOB JESNR DEVNR sequence, rather than
               the insufficient DEVNR DESCENDING EVENTIME sequence that
               was incapable of full protection for these end cases.
              -May 10: Final logic errors due to LASTDEVN being kept in
               SPINSYSL cleaned up match up of "full" vs "SPLIT SPIN" so
               observation counts again matched before and after tests.
              -The unique DSNAMEs in the input TYPESYMT and TYPETMNT
               were compared with the output DSNAMEs in PDB.ASUMTAPE and
               many were blank, and some were wrong, as SYSLDSN is only
               populated in IEC233A,IEC705I, and IEC501A/IEC501E SYSLOG
               messages; the blank values in the other records overlaid
               DSNAME.  Now, all observations that had DSNAME in TMNT or
               SYSLOG have non-blank DSNAME.  Some events can never have
               a DSNAME (e.g., HSM only-234E KEEP); variable MNTHAVE
               identifies which SYSLOG records were found for this mount
               event, and can be used to identify those cases where the
               DSNAME is always blank.
   Thanks to Paul Naddeo, FISERV, USA.
   Thanks to Scott Barry, SBBWorks, Inc, USA.
   Thanks to Pat Jones, DST, USA.

Change 26.082  The old IEFU84 sample SMF exit failed with z/OS 1.7 and
IEFU84         z/OS 1.9; the addition of $CADDR after $HCCT in the ASM
May  1, 2008   code eliminated the ASMA044E UNDEFINED SYMBOL messages
               for symbols C@XMXSRB, and CADDR, thanks to excellent ASM
               sleuthing by Dean.
   Thanks to Dean Gambill, Lowe's Companies, USA.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 26.081 -The JCLDAYDS had a //PDB DD, but it is never used in the
DAILYDSR       DAILYDSN or DAILYDSR programs, so it was removed from
JCLDAYDS       that JCL example.
Apr 30, 2008  -The DAILYDSR example for using DFSMS/RMM instead of TMS
               did not create the DCOLCLUS dataset from DCOLLECT data.
   Thanks to Diane Eppestine, IBM Global Services, USA.

Change 26.080  MXG 26.01 wrongly changed QPACAAFG INPUT to $CHAR2. as I
FORMATS        thought it contained hex text.  The $EBCDIC2 input is now
VMACDB2        restored, a hex zero value is converted to blanks, and
Apr 29, 2008   its $MGDB2PK format enhanced to decode that blank value:
                   VALUE $MGDB2PK
                    '  '='BLANK:NOT DEFINED'
                    '01'='01:STORED PROCEDURE'
                    '02'='02:USER DEFINED FUNCTION'
                    '03'='03:TRIGGER EXECUTING'
                   ;
   Thanks to Glenn Bowman, Wakefern, USA.

Change 26.079  Variable IFAHONOR could be blank when it should have
VMAC7072       been 'Y'; typo in logic was corrected.
Apr 25, 2008
   Thanks to William Wailun Wong, HSBC, HONG KONG

Change 26.078  MXG 26.02 VMXGSUM caused VARIABLE NOT FOUND if variables
VMXGSUM        that do not exist in the input dataset were named in one
Apr 24, 2008   of the output lists (eg., in SUM= ).  This support was
               accidentally deleted.  This would happen if you used an
               unmodified MXG ASUMxxxx member that listed all variables
               to be summed, but you had dropped variables from the
               input dataset.  (Think ASUMDB2A which sums all DB2ACCT
               variables).
   Thanks to Jim Kovarik, Aegon, USA.

Change 26.077  MXG printed a WARNING: NEGATIVE CPUUNITS when a type 30
VMAC30         record had IFAUNITS greater than CPUUNITS, citing APAR
Apr 29, 2008   OA24836 as the IBM correction.  But even with that APAR,
               imprecision in zAAP and CP Service Units caused small
               negative deltas equivalent to a few hundredths's of a CPU
               second, as confirmed by IBM Support, who pointed to new
               SMF updates documenting these service unit issues, and
               recommended the CPUUNITS and IFAUNITS be recalculated
               based on the proportions of the CPUTCBTM and CPUIFATM,
               when the subtraction returned a negative value. In so
               doing, I discovered that all test cases with negative
               deltas actually had CPUTCBTM=0, i.e., they were tasks
               that only used zAAPs, so the resultant CPUUNITS=0 after
               recalculation is correct and not an approximation!
                 But, if the delta is greater than one CPU second, a
                 revised warning is printed with the before and after
                 service unit and cpu time values.
   Thanks to Janet Harris, Navistar, USA.
   Thanks to Roger Rush, Navistar, USA.

Change 26.076  This JCL example had an extra space on the // EXEC
JCLMQMCI       statement and the symbolic WORKNUM instead of WORKVOL.
Apr 23, 2008
   Thanks to Gary Green, Dow Jones, USA.

====== Changes thru 26.075 were in MXG 26.02 dated Apr 22, 2008=========

Change 26.075 -MXG logic incorrectly handled back-to-back TYPE21 from
ASUMTAPE       different systems in the interleave with TYPETMNT; this
Apr 22, 2008   ultimately caused variable SYSTEM in PDB.ASUMTAPE to have
               the wrong system's name for these mount events.
   Thanks to Paul Naddeo, FiServ, USA.

Change 26.074  MXG 25.07-MXG 26.01 only. Fewer obs created in TYPE78CU,
VMAC78         even with Change 26.023, which only partially solved the
Apr 22, 2008   MXG error. The test for 58 should have been 56.
   Thanks to Shantha Hallett, Capgemini, WALES.

Change 26.073  The SORTEDBY= attribute of DB2 datasets that are created
VMACDB2        by a DATA step (instead of a PROC SORT, which sets the
Apr 20, 2008   SORTEDBY list of BY variables automatically) is added to
               DATA steps for DB2STATS, DB2GBPST, and DB2STATB, and for
               DB2STAT0 and DB2STAT1, but they are already in DB2STATS.
               SAS will bypass a subsequent PROC SORT of a dataset when
               its SORTEDBY list matched the requested sort's BY list.

Change 26.072  Example ANALTCP reports adds API (Socket) data report,
ANALTCP        corrects the date selection code (it didn't work when
Apr 20, 2008   both BEGTIME and ENDTIME were requested), and the SYSTEM
May  6, 2008   selection is revised for a list of SYSTEMs and to allow
               a prefix. Option 'ALL' was added for the DATA selection.
               Additional enhancements made on May 6.
   Thanks to Steve Clark, DHL IT Services Americas, USA.

Change 26.071  Support for z/OS 10.0 (INCOMPATIBLE due to MXG coding):
VMAC1415      -New triplet in TYPE72GO - INCOMPATIBLE due to MXG test of
VMAC18         NRTRIPLT=7 (protected previous short-record IBM error)
VMAC19         causes zero observations in TYPE72GO without this change.
VMAC30         The new Resource Delay segment is not yet coded, awaiting
VMAC42         test data records; R723RDNX, R723RDNN index/number added.
VMAC7072      -TYPE72GO new CPU times (subset in existing CPUTCBTM):
VMAC71          CPUCRPTM='CPU TIME*AT CHRONIC*CONTENTION' (R723CPDP)
VMAC74          CPUPRMTM='CPU TIME*AT PROMOTED*DISPATCH*PRTY'(R723TPDP)
VMAC78          R723CPDP in TYPE72GO.
VMXGINIT      -TYPE74. New variable:
Apr 18, 2008    SMF74CAP - AVAILABLE*VOLUME*CAPACITY*IN CYLINDERS.
Jul 21, 2008  -TYPE1415.  New variables:
Aug 22, 2008     SMF14EAV='EAV BAM*DETECTED*EXCP OR*XDAP?'
                 DEB2XUPF='BSAM*PGFIX*OPTION*SPECIFIED?'
                 EADSCBOK='DCBEADSCBOK*FLAG*OK*ON?'
              -TYPE1718.  New variable:
                 SMF18CON='CONTINUATION*RECORD*INDICATOR*MULT-VOL'
              -TYPE19.  New variables (actually added in z/OS 1.9):
                 SMF19CYM='VOLUME*HAS*CYL-MANAGED*SPACE?'
                 SMF19TRK='TOTAL*TRACKS ON*VOLUME'
                 SMF19TRM=*TOTAL*TRACKS IN*TRACK-MANAGED*SPACE'
                 SMF19VLI='VOLUME*SIZE*INFORMATION'
              -TYPE30.  New variable added (by z/OS 1.9):
                 SMF30SNF='ZIIP NORMALIZATION FACTOR'
              -TYPE42D2. New variable added:
                 SMF42GBQ='LOCK*STRUCTURE*NAME'
              -TYPE4222. New subtype 22 creates new TYPE4222 datset
               for DFSMS Audit Record:
                  JOB     ='JOB NAME'
                  RACFUSER='RACF*USER*ID'
                  READTIME='READTIME'
                  S42CNABL='CONTROL*RECORD*ENABLE*FLAG'
                  S42CSYNC='CATSYNCH*DATETIME*STAMP'
                  S42GMTOF='LOCAL TIME/DATE OFFSE'
                  S42JNEXT='NEXT*JOURNAL*RECORD*NUMBER'
                  S42JRECN='JOURNAL*RECORD*NUMBER'
                  S42MACTY='ACTIVITY*TYPE'
                  S42MCUPD='VSI*WHEN*MCUPDACT*SET ON'
                  S42MFG1 ='SMF42MFG1*FLAG*ONE'
                  S42MJRN ='JOURNAL*RECORD*AVAIL?'
                  S42MLIS ='LAST*IN*SET?'
                  S42VRLTK='VSREL*LAST*CHANGE*TOKEN'
                  S42VRSCN='CURRENT*VRS*CHANGE*COUNTER'
                  S42VRSUN='LAST*HSKP*VRS*CHANGE*COUNTER'
                  S42VSICN='VSI*CONTROL*COUNT'
                  S42VTSFL='VIRTUAL*TAPE*SERVER*FLAG'
              -TYPE4223. New subtype 23 creates new TYPE4223 datset
               for DFSMS Security Record:
                  DSNAME  ='DATA*SET*NAME'
                  DSSNO   ='DATASET*SEQUENCE*NUMBER'
                  JOB     ='JOB NAME'
                  LOCLINFO='LOCAL*INFO'
                  RACFGRUP='RACF*GROUP'
                  RACFUSER='RACF*USER*ID'
                  READTIME='READ*TIME'
                  S42DEVT ='DEVICE*TYPE'
                  S42GMTOF='LOCAL*TIME*OFFSET'
                  S42NACTY='ACTIVITY*TYPE'
                  S42NSTP ='SECURITY*TYPE'
                  S42NVER ='RECORD*VERSION*IDENTIFIER'
                  VOLSEQ  ='VOLUME*SEQUENCE*NUMBER'
                  VOLSER  ='VOLUME*SERIAL*NUMBER'
                  Note: Change 26.187 supports APAR OA25205 which adds
                  subtype 24 and 25 and adds data to subtypes 20 and 21.
              -TYPE71. New variables added:
                 SMF71CFA='AVG*64BIT*COMMON MEM*OBJS*FIXED RSTORE'
                 SMF71CFM='MIN*64BIT*COMMON MEM*OBJS*FIXED RSTORE'
                 SMF71CFX='MAX*64BIT*COMMON MEM*OBJS*FIXED RSTORE'
                 SMF71COA='AVG*64BIT*COMMON MEM*OBJS*ALLOCATED'
                 SMF71COM='MIN*64BIT*COMMON MEM*OBJS*ALLOCATED'
                 SMF71COX='MAX*64BIT*COMMON MEM*OBJS*ALLOCATED'
                 SMF71CRA='AVG*64BIT*COMMON MEM*OBJS*BACKED RSTORE'
                 SMF71CRM='MIN*64BIT*COMMON MEM*OBJS*BACKED RSTORE'
                 SMF71CRX='MAX*64BIT*COMMON MEM*OBJS*BACKED RSTORE'
                 SMF71CSA='AVG*64BIT*COMMON MEM*AUXSTOR*SLOTS'
                 SMF71CSM='MIN*64BIT*COMMON MEM*AUXSTOR*SLOTS'
                 SMF71CSX='MAX*64BIT*COMMON MEM*AUXSTOR*SLOTS'
                 SMF71SOA='AVG*SHARED*MEM OBJ*ALLOCATED'
                 SMF71SOM='MIN*SHARED*MEM OBJ*ALLOCATED'
                 SMF71SOX='MAX*SHARED*MEM OBJ*ALLOCATED'
                 SMF71SRA='AVG*HI VERT*SHARED*FRAMES BACKED*RSTORE'
                 SMF71SRM='MIN*HI VERT*SHARED*FRAMES BACKED*RSTORE'
                 SMF71SRX='MAX*HI VERT*SHARED*FRAMES BACKED*RSTORE'
              -TYPE78PA (Private Area for jobs) new variables added:
                 COBYHWM ='HWM*BYTES 64BIT COMMON 2GB'
                 COBYMAX ='MAX BYTES*64BIT COMMON*ABOVE 2GB'
                 COBYMIN ='MIN BYTES*64BIT COMMON*ABOVE 2GB'
                 COBYNTME='TIME STAMP*OF MIN*64BIT COMMON'
                 COBYTOTL='TOTAL*SAMPLES*64BIT COMMON 2GB'
                 COBYXTME='TIME STAMP*OF MAX*64BIT COMMON'
                 COMOHWM ='HWM*BYTES 64BIT*COMMON'
                 COMOMAX ='MAX BYTES*64BIT*COMMON'
                 COMOMIN ='MIN BYTES*64BIT*COMMON'
                 COMONTME='TIME STAMP*OF MIN*64BIT COMMON'
                 COMOTOTL='TOTAL*SAMPLES*64BIT*COMMON'
                 COMOXTME='TIME STAMP*OF MAX*64BIT COMMON'
                 LGMOHWM ='HWM*BYTES LARGE*MEMOBJ'
                 LGMOMAX ='MAX BYTES*LARGE*MEMOBJ'
                 LGMOMIN ='MIN BYTES*LARGE*MEMOBJ'
                 LGMONTME='TIME STAMP*OF MIN*LARGE*MEMOBJ'
                 LGMOTOTL='TOTAL*SAMPLES*LARGE*MEMOBJ'
                 LGMOXTME='TIME STAMP*OF MAX*LARGE*MEMOBJ'
                 R782MEML='ADDRESS*SPACE*MEMLIMIT*MB'

Change 26.070  Support for SMF 102 IFCID 217 Storage Pool Stats changes.
VMAC102       -Dataset T102S217 new variables (GM existed, relabeled):
Apr 16, 2008     QW0217GA='TOTAL*GETMAINED*STORAGE*ABOVE*THE BAR'
                 QW0217GM='TOTAL*GETMAINED*STORAGE*BELOW*THE BAR'
                 QW0217HF='FLAG*BITS*IN THE*HEADER'
                 QW021764='THE*ABOVE THE*BAR DATA*IS INCOMPLETE'
              -The original IFICD=217 record was in error, with triplet
               3's data in triplet 2, which MXG protected by hardcoded
               tests for the segment length to figure out where is that
               data?  IBM has increased the 02 segment with +24 blank
               bytes, but that caused zero observations in T102U217.
               The new 152 Length is now supported, even though no new
               data was decoded!
   Thanks to Matt Clarke, Charles Schwab & Co., Inc, USA.

Change 26.069  Change 25.109 stored the new (0-65535) UIC values in the
VMAC71         old a (0-2054) variables HIUICAV/HIUICMN/HIUICMX, but
Apr 16, 2008   only HIUICAV=SMF71UAC matched the RMF Paging Report
               HIGH UIC (AVG).  HIUICMN (MIN) was UAM instead of ULC,
               HIUICMX (MAX) was UAX when it should have been UHC.
   Thanks to Ray Dunn, CIGNA, USA.

Change 26.068  This MXG utility to "PRINT/CONTENTS/MEANS" all datasets
VMXGPRAL       in a SAS Data Library failed with NOCONT=PRINT because
Apr 16, 2008   while PROC CONTENTS NOPRINT is valid, its counterpart
               syntax PROC CONTENTS PRINT is NOT valid, and MXG had used
               macro variable &NOCONT to set CONTENT's PRINT/NOPRINT.
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.

Change 26.067  MXG assumed NTHOSTTN in ID=119 ST=21 to be 8-bytes, but
VMAC119        this field at the end of the record is shortened to the
Apr 14, 2008   host name length, and I now see that LEN11903=6, so it is
               now used in INPUT NTHOSTTN $VARYING8. LEN11903 @; code.
               ERROR: INPUT STATEMENT EXCEEDED RECORD LENGTH occurred.
   Thanks to Richard J. Schwartz, State Street Corporation, USA.
   Thanks to Kathleen M. Hall, State Street Corporation, USA.

Change 26.066  This MXG SAS utility gets z/OS PDS directory block counts
UTILLPDS       one dataset at a time.  Added by Change 25.136 with typos
Apr 14, 2008   in comments, its documentation and code matches examples.
               The one created dataset is now named UTILLPDS.
   Thanks to Jeffrey A. Harder, Indiana Farm Bureau Insurance, USA.

Change 26.065  Support for SAS Version 9.2: Revised August 20.
ANALCNCR        The WARNING code issues originally discussed below are
VMXGSUM         corrected by SAS Hot Fix F9BA07.  See Change 26.189 and
ANALDOS         MXG Newsletter FIFTY-TWO, SAS Technical Note 7.
ASUMDOS
ASUMHSM        Except for RETURN/CONDITION CODE 4 for SAS V9.2 WARNINGs,
EXTYTPMX        (which ONLY impacts z/OS job processing, and ONLY if JCL
TYPEZARA         or a scheduling package checks step condition codes):
UTILXRF1
VMACVMXA        MXG Software runs without error with SAS Version 9.2.
VMXGUOW                              and
VMXGINIT        MXG Software Version 26.03 eliminates the new WARNING.
Apr 20, 2008     (or Hot Fix F9BA07).
Apr 22, 2008
Aug 20, 2008   SAS V9.2 created a new WARNING message and sets CC=4 for
               changes in variable LENGTHs, but the WARNINGs in MXG code
               were NOT in error, the length changes were intended, the
               output dataset was valid, so these warnings harmless:

               "WARNING: Multiple lengths specified for variable XXXXXX"

               EXCEPT FOR: a non-zero condition code/return code can
               make your z/OS job stream that test condition codes to
               ABEND.

               MXG has enabled the new-in-SAS-V9.2 VARLENCHK option to
               completely eliminate the existence of this WARNING.
                 (Removed by Change 26.189, Aug 20, 2008).

               These warnings (all for numeric variables) primarily
               occurred inside VMXGSUM in two different cases:
               a. Inside VMXGSUM where PROC MEANS is used to create an
                  output (summary) dataset. The original MEANS created
                  8-byte variables with no option to change them, so MXG
                  shortened numeric variable's stored lengths in a DATA
                  step after the PROC MEANS (to save disk space).
                  Now, SAS V9.2 detects that (intentional) decrease in
                  variable length, and prints the above WARNING.
                    But ONLY if the LENGTH statement precedes the SET!
                    If the LENGTH statement is AFTER the SET statement,
                    the warning is NOT printed, but either before or
                    after, the numeric variable's LENGTH is changed!
                       These LENGTH statements were located before the
                       SET statement, because that is the only location
                       where the length of a character variable can be
                       changed; character variable's length are set by
                       the first assignment or attribute statement.
                       Since the before-the-SET-location also worked for
                       numeric variable, all LENGTH change statements
                       were located there.
                       But all numeric variables are 8-bytes in memory
                       and the LENGTH (from the last LENGTH statement)
                       is only used when the observation is written, and
                       so relocating the numeric LENGTH changes to be
                       after the SET statement eliminates the WARNING
                       and still changes the variable's LENGTH.

               b. A JOIN of multiple datasets (SET MON.JOBS TUE.JOBS...)
                  where a variable has different lengths in different
                  datasets.
                    But only if the variable length in the first dataset
                    is shorter than other lengths.  There is NO WARNING
                    if the largest length is in that first dataset!
                  This also occurred inside VMXGSUM, when multiple input
                  datasets are combined in a SET/MERGE/UPDATE/etc., like
                  TRENDing, where TREND has shortened LENGTHs but the
                  "NEWTREND" internally had fixed, pre-KEEPLEN LENGTHs.
                  MXG 26.03 added the KEEPLEN option to PROC MEANS to
                  eliminate these inside-VMXGSUM-cases.

               HOWEVER: EVEN WITH MXG 26.03 AND SAS V9.2 THE WARNING CAN
               OCCUR NOW:

               a. If you have tailoring members in "USERID.SOURCLIB"
                  from old MXG versions, that need the same code
                  revisions to eliminate.

               b. In user-written SAS programs, this could actually be a
                  valid warning that a variable was truncated.

               OR AT ANY TIME IN THE FUTURE THE WARNING CAN STILL OCCUR:

               c. When an MXG Version that changed variable LENGTHs is
                  installed, subsequent WEEKLY or MONTHLY jobs create
                  the WARNING because some PDB's have the old length and
                  some have the new length, when those multiple datasets
                  are joined.  Previous to V9.2, length were changed
                  with no WARNING nor CC.  Between MXG 24.24 and 25.25
                  1206 variable's lengths were changed.
                  Note: installing a new MXG version on the first day of
                  the week is always safest, i.e., make Tuesday morning
                  BUILPDB with the new MXG Version, so MON-SUN datasets
                  are all the same; this will eliminate WEEKLY exposure,
                  but next MONTHLY is still exposed.

               THEREFORE: The only way to prevent job failure due to
               the WARNING is that SAS Institute may provide a new
               option for SAS V9.2 on z/OS to turn off the setting of
               the condition code for this WARNING.  When this happens,
               MXG will enable that new OPTION by default so that the
               length of variables can be changed by MXG without this
               failure.

              -Discovery of how SAS sets stored LENGTH of a variable.

               A DATA step uses the last LENGTH statement to set length
               of numeric variables, if there are multiple statements.

               An existing numeric's variable's length can be changed in
               with a LENGTH statement; that statement can be put BEFORE
               or AFTER the SET statement, and can request the length be
               be SMALLER or LARGER in size.  A 7-byte numeric variable
               was increased/decreased before/after with these results:

                    LENGTH      NEW      RESULT  OUTPUT         WARNING
                    STATEMENT   WANTED   OUTPUT  REQUESTED      MESSAGE
                    LOCATION    LENGTH   LENGTH  LENGTH         PRINTED

                    NUMERIC VARIABLES:

                    BEFORE SET  SMALLER     6    YES,TRUNCATED   YES-1
                    AFTER  SET  SMALLER     6    YES,TRUNCATED   NO
                    BEFORE SET  LARGER      8    YES             NO
                    AFTER  SET  LARGER      8    YES             NO

                    CHARACTER VARIABLES:

                    BEFORE SET  SMALLER     6    YES,TRUNCATED   YES-1
                    AFTER  SET  SMALLER     7    NOT CHANGED     YES-2
                    BEFORE SET  LARGER      8    YES,INCREASED   NO
                    AFTER  SET  LARGER      7    NOT CHANGES     YES-2

               The output lengths are identical between V9.2 and V9.1.3,
               so this is not new behavior.  But further tests with both
               NUMERIC and CHARACTER variables discovered that:

               NUMERIC: BEFORE SET SMALLER caused WARNING message and
                        the length was truncated (as requested).

               NUMERIC: AFTER SET SMALLER does NOT print WARNING, but
                        the variable was truncated (as requested).

               NUMERIC: BEFORE or AFTER SET LARGER worked, no WARNING.


               CHAR:    BEFORE SET SMALLER caused WARNING message but
                        the length was truncated (as requested).

               CHAR:    AFTER SET SMALLER does NOT change the LENGTH,
                        and it prints a different WARNING:
                         "LENGTH OF CHAR VAR C HAS ALREADY BEEN SET."
                        i.e., it does not work, yet it still WARNs you.
                        Interestingly, this WARNING, if length is to be
                        shortened, does NOT set a condition code, with
                        either V9.2 or with SAS 9.1.3.

               CHAR:    AFTER SET LARGER also does NOT change LENGTH,
                        and it prints that second WARNING,
                         "LENGTH OF CHAR VAR C HAS ALREADY BEEN SET.",
                        also not working and yet WARNING you.
                        Very interesting, this WARNING, if length is to
                        be increased, DOES set a condition code, with
                        both SAS 9.1.3 or SAS 9.2.

               CHAR:    BEFORE SET LARGER worked, no WARNING.

               For NUMERICs, the requested LENGTH is always created, so
               moving the LENGTH statement to be AFTER the SET statement
               will eliminate the V9.2 WARNINGs and create same output.

               For CHARs, only BEFORE changes LENGTHs, but BEFORE SMALL
               prints the new-in-V9.2 WARNING that sets Condition Code:
                There is NO way to shorten a CHARACTER VARIABLE's LENGTH
                with V9.2 on z/OS without that warning and setting CC=4.
               Neither AFTER SMALL nor AFTER LARGE change LENGTH, and
               both print the WARNING: CHAR VAR ALREADY SET, which may
               or may not set condition code, but it's a moot point,
               since they don't change the variable lengths.


               Details of the log messages and condition codes with
               test with SAS V9.1.3 and SAS V9.2 on z/OS and Windows:

                                                                NUM CHR
                  1          CC  DATA BEFORE76SMALLER; NEW LEN: YES,YES
                    PC  9.1       NO WARNING
                    PC  9.2       MULTIPLE LENGTHS SPECIFIED FOR VAR N,C
                    ZOS 9.1  00   NO WARNING
                    ZOS 9.2  04   MULTIPLE LENGTHS SPECIFIED FOR VAR N,C
                  2              DATA AFTER76SMALLER;  NEW LEN: YES,NO
                    PC  9.1       LENGTH OF CHAR VAR C ALREADY BEEN SET.
                    PC  9.2       LENGTH OF CHAR VAR C ALREADY BEEN SET.
                    ZOS 9.1  00   LENGTH OF CHAR VAR C ALREADY BEEN SET.
                    ZOS 9.2  00   LENGTH OF CHAR VAR C ALREADY BEEN SET.
                  3              DATA BEFORE78LARGER;  NEW LEN: YES,YES
                    PC  9.1       NO WARNING
                    PC  9.2       NO WARNING
                    ZOS 9.1  00   NO WARNING
                    ZOS 9.2  00   NO WARNING
                  4              DATA AFTER78LARGER;   NEW LEN: YES,NO
                    PC  9.1       LENGTH OF CHAR VAR C ALREADY BEEN SET.
                    PC  9.2       LENGTH OF CHAR VAR C ALREADY BEEN SET.
                    ZOS 9.1  04   LENGTH OF CHAR VAR C ALREADY BEEN SET.
                    ZOS 9.2  04   LENGTH OF CHAR VAR C ALREADY BEEN SET.


               VMXGSUM is extensively used in MXG summarization programs
               (ASUMxxxx,TRNDxxxx,RMFINTRV,CICINTRV) and in many ANALxxx
               report examples.  If you have local reports that invoke
               VMXGSUM/ANALCNCR, that have LENGTH statements in INCODE=
               or OUTCODE= parms, you could generate the WARNINGS. So
               TEST your REPORTS!!

               This change also eliminated the LNSUMOUT macro variable
               in Change 25.248 that was thought needed to eliminate the
               warnings.  It only worked in simple cases and ended up
               with the output variable lengths different than input.

               Changes made to MXG members to eliminate this WARNING:

              -VMXGSUM was revised internally, adding the KEEPLEN option
               in PROC MEANS, to propagate the input length to output.
               That option was added back in SAS Version 7, but only now
               is it needed to eliminate the WARNINGs inside VMXGSUM in
               the MXGSUM1/MXGSUM2/MXGSUM3 temporary datasets.

              -VMXGSUM LENGTH statements for NUMERIC variables was moved
               after SET statement to eliminate those WARNING messages.

              -Other MXG programs listed had PROC MEANS/PROC SUMMARY and
               warning messages that are similarly eliminated now.

              -ANALCNCR. LENGTH &DEFAULT added to CONCURR2 step.

              Specific MXG summary programs that required modifications:

              -VMXGUOW   Variable TRANNAME was incorrectly set to $8 in
                         several LENGTH statements, but CICS TRANNAME is
                         only four bytes long.  The output PDB.ASUMUOW
                         dataset did have TRANNAME $4, but the $8 caused
                         WARNING messages.
              -ASUMDOS   LENGTH DEFAULT=&MXGLEN; needed in INCODE= for
                         variable DATE.
              -TYPEZARA  Invoked PROC MEANS, rather than VMXGSUM, so the
                         INHERIT option and &KEEPLEN were added.
                         Fixed so QA would run; dunno if product exists!
              -VMACVMXA  PROC MEANS were updated with /INHERIT &KEEPLEN,
                         and LENGTH statements moved to after SETs.
              -UTILXRF1  SAS V9.2 PROC CONTENTS changed the length of
                         variables LABEL and MEMLABEL to $256, and
                         MEMNAME/DATASET from $8 to $32, causing this
                         MXG QA utility to generate WARNINGs due to hard
                         coded LENGTH statements.  The PROC CONTENTS
                         output variable's length change also causes the
                         DOCVER step of QA job to print the WARNING,
                         when creating DOCVERnn by comparing OLD and NEW
                         version's QA data libraries that have intended
                         length changes.  This is unavoidable, but not
                         an error, and only occurs in my QA job.
              -ANALDOS   Last updated 18 years ago.  PROC MEANS and PROC
                         SUMMARY (same code as MEANS) needed INHERIT and
                         KEEPLEN options added.
              -ASUMHSM   Variable REQUEST needed LENGTH 8 when created
                         in a DATA step; it is a datetimestamp.
              -EXTYTPMX  The 99 optional TPMX User Character variables
                         are each INPUT with a $VARYING50 statement, but
                         all are then listed in a default DROP statement
                         (that you would tailor in this exit member if
                         you wanted one or more to be kept).  But there
                         was a LENGTH TPMUC1-TPMUC99 $1.; statement, to
                         minimize disk space if all variables were kept
                         that generated the WARNING message. That LENGTH
                         statement is now inside comments.

              The following note was superceded by Change 26.189:

              -VMXGINIT  Enables OPTION VARLENCHK=NOWARN; for SAS V9.2.
                         This requires a Hot Fix for Phase I Foundation
                         but the new option will be in Phase II V9.2

                   The OPTION VARLENCHK was added to Phase I by Hot Fix.
                   If that OPTION VARLENCHK does not yet exist, on your
                   SAS V9.2 platform, this note will be printed
                   NOTE: ARGUMENT 1 TO FUNCTION GETOPTION INVALID,
                   on the SAS log, but it has no impact, except to tell
                   you to install that Hot Fix to eliminate that note,
                   but more importantly to suppress the warning.
   Thanks to MP Welch, SPRINT, USA.

Change 26.064  Implementation of Rich Olcott's "The Actuals Map" and the
ANALACTM       "WLM Service Goal Summary", as described in his paper,
Apr 12, 2008   "Dimensions of Service - Exploring WLM's Solution Space".
               The Actuals Map uses SAS/GRAPH to display a daily graph
               of interval service units consumed by each Service Class,
               color modulated by quality of service delivered (based on
               PERFINDX value: Green LT 0.6, Blue 0.6-1.4, Red GT 1.4).
               with the graph arranged top to bottom by the Importance
               of that Service Class. The PowerPoint paper is available
               at    http://regions.cmg.org/regions/mcmg/
                     Rich%20Olcott%20-%20Dimensions%20of%20Service%20
                     -%20MCMG%20.ppt
               The MXG implementation provides additional features and
               creates html output for these reports, and will create a
               report for each system, or report each sysplex, etc.
               Reese is cited simply because he asked for the report!
   Thanks to Rich Olcott, (now) IBM Global Services, USA.
   Thanks to Chuck Hopf, Bank of America, USA.
   Thanks to Reese Bailey, Progress Energy, USA.

Change 26.063  Only DB2ACCT observations with QWACATYP=4, CICS Attach,
VMXGUOW        will be considered for merge with CICSTRAN, and only if
Apr 12, 2008   the UOWTIME is non-missing in the DB2ACCT dataset. Some
               DB2ACCT observations that exceeded SPINCNT, because they
               had a missing UOWTIME value, were inadvertently output.
               Now, they are not output, but are counted and a note is
               printed on the log with the number of these DB2ACCT obs
               with QWACATYP=4 and UOWTIME=. were discarded by ASUMUOW.
   Thanks to Diane Eppestine, IBM Global Services, USA.

Change 26.062  In some cases (from %UTILBLDP), where there were a lot of
VMXGPARS       special characters like ( ) ; ' % in the text, the parser
Apr 12, 2008   got sick on macro quoting function idiosyncrasies.  Using
               the %SUPERQ macro function appears to solve the parsing.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA

Change 26.061  Internal dataset TYPE70SP, added for the "SPLIT70" logic,
VMAC7072       was explicitly named and was not in _N7072, so it could
VMXGINIT       not be "_NULL_"ed.  MACRO _WTY70SP &WTY70SP..TYPE70SP %
Apr 12, 2008   is now defined and VMXGINIT updated and _N7072 updated.
               Since it uses _VTY70 and _KTY70 definitions for content
               tailoring, no other _xTY70SP macros are not defined.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.060  COSMETIC SAS V9.2 differences with SAS V9.1.3.
ANALRMFR       SAS V9.2 changed some text in SASLOG NOTES, but none have
Apr 12, 2008   any impact on MXG execution.  They do make comparison of
               SAS logs of MXG QA runs from both versions a bit messy,
               but these were noted in validating MXG execution .

              -The FULLSTATS statistics at the end of each PROC/DATA
               step is enhanced with new resource information:

                  NOTE: The SAS System used:
                        real time           28:46.70
                        user cpu time       3:26.99
                        system cpu time     3:55.99
                        Memory                            89953k
                        OS Memory                         101216k
                        Timestamp            4/11/2008  6:39:31 PM

                  The FULLSTIMER Statistics documentation states:
                    Real Time  - amount of time spent to process the SAS
                                 job, also referred to as elapsed time.
                    User CPU   - CPU time spent to execute SAS code
                    System CPU - CPU time spent to perform operating
                                 system tasks (system overhead tasks)
                                 that support the execution of SAS code.
                    Memory     - the amount of memory required to run a
                                 step.
                    OS Memory  - the maximum amount of memory that a
                                 step requested from the System.
                    Timestamp  - the end date/time of the step.  Useful
                                 in diagnosis of SAS run time issues,
                                 and to correlate log events to time of
                                 day.  Better than the OPTIONS DTRESET;
                                 that prints time to the minute at each
                                 new page, but I would have preferred to
                                 also see time to the milliseconds; a
                                 simple data step with no variables runs
                                 in about 5 milliseconds.

              -A new LIBREF, MAPS, exists with SAS V9.2 on Windows; this
               caused WORK.LIBNAMES and WORK.MXGENG datasets to have
               observation count differences when %VGETENG was used to
               get the engine type of a libname and saw the new libname.
               This has zero actual other impact.
              -The PROC CONTENTS output under SAS V9.1.3 printed only 42
               lines per page, while SAS V9.2 prints 54 lines when both
               had the OPTIONS PS=54 default.  This caused the location
               "printed pages 1-105" with 9.1.3 to be "pages 1-79" with
               SAS V9.2, which, of course, then impacted the location in
               all subsequent "printed pages n-m" log messages.
              -Inconsistencies in character text in these NOTEs:
                 NOTE: The DATA step printed page 269.
                 NOTE: The DATASTEP printed page 325.
                 NOTE: No observations in input data set.
                 NOTE: No observations in input dataset.
              -The SPF compare showed four cases of '0c'x before MXGNOTE
               with SAS V9.2, and five different instances with V9.1.3.
               The MXGNOTE text is a %PUT MXGNOTE statement, so having
               any difference was quite confusing, until I realized that
               the '0c'x in column 1 of the SAS log file when written to
               a disk file under Windows, is the top-of-page control,
               and these MXGNOTEs with '0c'x just happen to start a new
               page, and with the PROC CONTENTS changing pages, there
               were different lines at the top of each page, but nothing
               more nefarious.
              -COMPRESSION DISABLED for RDHITSP RDHITSNP datasets in 9.2
               that was compressed in 9.1 suggest a minor change in the
               internal when-to-compress algorithm.
              -ANALRMFR: Harmless note new in V9.2 printed on SAS log:
                "NOTE: The array IN has the same name as a SAS-supplied
                       or user-defined function.  Parentheses following
                       this name are treated as array references and not
                       function references."
               The array name was changed to ININ to eliminate printing
               of this new harmless (and useless?) NOTE on the SAS log.
               I also made all FILE statements parameters consistent,
               left to right, for ease in reading, before I had realized
               that '0c'x issue was NOT due to differences in the FILE
               parameters in the ANALRMFR program itself!
              -An additional NOTE: WORK.CICSUOW HAS 0 OBSERVATIONS when
               datasets for ASUMUOW all has zero observations, possibly
               due to use of VIEWs.

Change 26.059  Variable SRDMXUSE was input $1 Format $HEX2., but it is
VMACSRDF       the numeric Max Percent Cache.  New variable SRDMXUSP is
Apr 10, 2008   created to avoid an ABEND due to CHAR and NUM conflict if
May  5, 2008   the name were reused and you combined differently built
               PDB datasets.  The old variable is left unchanged, and
               you can create the new numeric variable in old PDB's with
                 SRDMXUSP=INPUT(SRDMXUSE,&PIB.1.)/256;
               May 5: Flags 3 and 4 decoded into individual variables.

Change 26.058  IMF dataset TYPECIMS variable INPUTCLS was increased to
VMACCIMS       2 bytes, but the FORMAT INPUTCLS $HEX2. statement seen
Apr 10, 2008   before INPUT defined the variable's length to one byte.
               The $HEX2. was changed to $HEX4.  But the INPUT was also
               now incorrect, as the two-byte value starts @76, instead
               of @77 for the one-byte value.  An input class of ' T'
               that would have been stored as INPUTCLS='T' in one byte
               will now be stored as INPUTCLS=' T' in two bytes, so you
               need to examine any tests for INPUTCLS in your reporting
               programs.
   Thanks to Geert De Batselier, KBC, BELGIUM.

Change 26.057  Change 25.090 added QW0225BB to the old T102S225 dataset,
VMACDB2        but it falsely said it was also added to DB2STAT4.  Now,
Apr  8, 2008   it is kept in DB2STAT4.
   Thanks to Kerry Sommers, Deere & Co., USA.

Change 26.056  Replaced by Change 26.264.

Change 26.055  SAS V8 only: ERROR: REQVECTOR DATAREP IN DROP, KEEP ....
UTILCONT       because those two variables only exist with SAS V9.  As
Apr  4, 2008   they were only referenced in a DROP statement for a temp
               dataset, they are removed with no other impact.
   Thanks to George Ellard, Fedex, USA.

Change 26.054  Cosmetic. Format MGBYTES added to the byte-containing
VMAC16         variables (BYTESORT ICEMOSIZ ICEFILSZ), and the format
Apr  4, 2008   MGKILO is added to these count variables, which can have
               large values, so they will "print pretty".
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.053  The ASIxxxxx percentages calculated by MXG in ZRBASI use
VMACRMFV       ASISMPCT='NUMBER OF*VALID*SAMPLES*THIS ASID', but RMF III
Apr  2, 2008   reports use SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'.
               So if there are 2 samples for the job in question, in a
               100 sample MINTIME interval, and one delay sample, MXG
               calculated 1/2 = 50% while RMF reports 1/100 = 1%.
               I could create 50 additional ASIxxxxx variables with the
               RMF III percentage values, but I personally think the way
               MXG calculates is more useful, since it reflects delay or
               using only when the job is actually active.  However, if
               you wish to match the IBM RMF III display, you can use
                 IBMPCT=MXGPCT*ASISMPCT/SSHSMPNR;
               because I have added SSHSMPNR to the variables kept in
               ZRBASI dataset.
   Thanks to Susan Kent, Charles Schwab, USA.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 26.052  IBM SMF 110 Subtype 2 Statistics STID=31 segments are not
VMAC110        always valid; the segment length of 808 indicates there
Mar 31, 2008   are 16 segments, but many segments have a value of one in
               LDBNRDSN, so MXG now loops to MAX(LDRNRDSN,SKIP/44).
               Impacts only the CICSDBDS dataset.
   Thanks to Diane Eppestine, IBM Global Services, USA.

Change 26.051  ACF2 changed the format of ACSMFREL from a packed numeric
VMACACF2       value ('62'x for Release 6.2) to a hex character ('C0'x
Mar 28, 2008   for release 12), causing INVALID DATA FOR ACSMFREL, which
               cause ACSMFREL to be a missing value, causing additional
               potential errors.  The INPUT was revised and 'C0'x will
               now be converted to ACSMFREL=12.0;
   Thanks to Patrick Holloman, Zions Bank Corp, USA.

Change 26.050  Cosmetic. Variables VOLSER and STORGRUP can be hex zeros
VMAC74         for tape devices (no volume mounted at end of interval);
Mar 28, 2008   MXG now translates to blanks to avoid non-printables.

Change 26.049  Transparent restructure of the _C102sss macros relocated
VMAC102         IF QWHSIID= nnn THEN DO; statements to be the first in
Mar 27, 2008   each definition, ahead of the LABEL, FORMAT, LENGTH, etc.
               This permits the use of the _CDExxxx syntax to construct
               MXG programs for multiple SMF record processing, using:
                   %INCLUDE SOURCLIB(VMACSMF,VMACID,VMAC110,VMAC26J2,
                             VMAC30,VMAC74,VMACDB2,VMAC102,IMACKEEP);
                   DATA
                    _VARID   _VAR110  _VAR26J2 _VAR30
                    _VAR74   _VARDB2  _V102022 _V102044
                    _V102063
                    _SMF
                    _CDEID
                    ELSE _CDE26J2
                    ELSE _CDE30
                    ELSE _CDE74
                    ELSE _CDEDB2
                    ELSE _HDR102
                      ELSE _C102022
                      ELSE _C102044
                      ELSE _C102063
                    _END102
                    RUN;
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.
   Thanks to Chris Weston, SAS ITRM Development, USA.

Change 26.048  If there was no SUM MIN MAX MINTIME MAXTIME or SUMLONG,
VMXGSUM        VMXGSUM aborted, saying it had nothing to do, even if
Mar 27, 2008   you had asked for other statistics.  Now corrected.

Change 26.047  Support for Version 6 of MegaCryption SMF records added
VMACMGCR       two new variables (INCOMPATIBLY, as they were inserted):
Mar 27, 2008     MGCRCOMP='COMPRESS=*PARAMETER*IN MGCPARMS'
                 MGCRTSKI='TCB*ADDRESS'
               and increased the length of two character fields,
               MGCRIV from $8 to $16, and MGCRKS from $40 to $64.
   Thanks to Denise Willers, InfoCrossing, USA.

Change 26.046  Support for GPARMKY=0050x ESS data creates new variable
IMAC6ESS         ESSPRTAT='ESSPRTAT*PRINT*ATTRIBUTE*IN ESS'
VMAC6          Sample record has a value of "document-codepage=IBM-273".
Mar 28, 2008
   Thanks to Peter MacCarthy-Morrogh, ATOSORIGIN, GERMANY.
   Thanks to Alexander Raeder, ATOSORIGIN, GERMANY.

Change 26.045  VMACIMS support for '08'x log record for IMS Version 10
VMACIMS        was incorrect even after Changes 26.026 and 26.045; the
Mar 27, 2008   logic was revised, and enhanced to use the LINTSUB bits
               to store TRANSACT in LINTPSB (a new field added in V10)
               and to store LINTSY2 into TRANSACT when appropriate.
               Labels were added for many variables for IMS08 dataset.
   Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.

Change 26.044  Change 26.026 misspelled TRANCLAS as TRABCLAS in its new
VMACIMSA       in IMS 9.0+ two-byte INPUT, so TRANCLAS was still wrong.
Mar 26, 2008
   Thanks to Steve Hudson, AVNET, USA.

Change 26.043  Initial header INPUT of SYSTEM in 1.4 to get SYSZONE was
VMACVMXA       off by 4 bytes, but actual 1.4 INPUT was correct and the
Mar 26, 2008   value is retained from that INPUT.

Change 26.042  Support for new UARG record with PROGNAME added, but only
VMACNMON       PID and FULLCOMD populated (and the short record caused
Mar 25, 2008   INPUT STATEMENT EXCEEDED error).
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 26.041  The default INTERVAL in ASUM70PR in MXG 26.01 was changed
ASUM70PR       accidentally to INTERVAL=HOUR, but the intended default
Mar 21, 2008   of INTERVAL=QTRHOUR,CECINTRV=HOUR are reinstated.
   Thanks to Jorge Fong, New York City DOITT, USA.

Change 26.040  Variables for zIIP engines are added to TREND.TRND72GO:
TRND72GO         ZIPUNITS ZIEUNITS CPUZIPTM CPUZIETM
Mar 21, 2008
   Thanks to Ingegerd Jansson, Volvo, SWEDEN.

Change 26.039 -Support for APAR OA24074 adds variable SMF70HHF to TYPE70
VMAC7072       (COMPATIBLY), with more complete HiperDispatch Status
Mar 17, 2008   than in the original HiperDispatch Status in SMF70HDM.
Mar 28, 2008   The new SMF70HHF is formatted HEX2 with these bit values:
Apr  5, 2008     SAS bit   IBM Bit  Meaning
                '1.......'   0       HiperDispatch supported
                '.1......'   1       HiperDispatch is active
                '..1.....'   2       HiperDispatch status changed
              -MXG 26.01 SMF70PAT/CPUPATxx, new parked time, was wrong;
               my guessed INPUT of SMF70PAT/CPUPATxx Parked Time with no
               test records was incorrect, needing a divide by 4096.
               So MXG 26.02 is needed for HiperDispatch and Parked time.
              -See Newsletter FIFTY-TWO for description and schematics
               of this new "Parked Time" durations in TYPE70/TYPE70PR.
              -The PCTMVSBY calculation now subtracts SMF70PAT (parked)
               from SMF70ONT (online) for the denominator. Those three
               elapsed time durations in SMF70PAT, SMF70ONT and DURATM
               are gathered separately and small deviations are expected
               and observed: SMF70PAT was 0.015 seconds (15 millisecs)
               larger than SMF70ONT, which would have created a negative
               PCTMVSBY, so MXG's heuristic now calculates the PCTMVSBY
               only if the ONT-PAT delta is at least +.02 seconds.
              -SMF70HDM was not initialized to blank and was incorrectly
               kept in TYPE70 instead of TYPE70PR.
              -This APAR and Change applies only to z10 and later CPUs.

Change 26.038  Datasets VXPRCIOP and VXAPLSL0 were not _NULL_'ed in the
VMACVMXA       MACRO _NVMXA.
Mar 17, 2008

====== Changes thru 26.037 were in MXG 26.01 dated Mar 11, 2008=========

Change 26.037  The FORMATS step in the first MXG 26.01 fails on z/OS due
FORMATS        to a syntax difference between Windows and z/OS SAS that
Mar 11, 2008   I added after the last QA test on z/OS.
   Thanks to Nathan Loewenthal, CITI, USA.

====== Changes thru 26.036 were in MXG 26.01 dated Mar 10, 2008=========

Change 26.036  Variable R793CUT was 0.062 when it should have been 62,
VMAC79         the Percent MVS Utilization.  Variable R793CUU, Percent
Mar 10, 2008   LPAR Utilization was correct. The 4.3 input is now 4.
   Thanks to Dan Almagro, Automobile Club of Southern California, USA.

Change 26.035  Dataset TYPE74SY variable R742SDIR is FORMATed with the
FORMATS        existing $MG074PD format, and that format is updated with
VMAC74         new value '20'x:'20X:LOCAL' so it can be used for both
Mar 10, 2008   R742SDIR and R742PDIR variables
   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.

Change 26.034  ITRF TYPE='10'x INPUT STATEMENT LENGTH error because the
VMACITRF       record with LENGTH=251 was not expected; now the code
Mar  8, 2008   tests each INPUT statement to verify data is present.
               Comments added to indicate that MXG has been tested with
               records from OMEGAMON XE FOR IMS 4.1 with DCR 77/78.

Change 26.033  Support for new VMWare Objects, CA NSM Performance cubes
EXTVW011       creates these new datasets with TYPETNG (NSM was TNG):
EXTVW012         DATASET    DDDDDD       DESCRIPTION
EXTVW013          VW011     VW011     NSM CA CPU INTERRUPT GRO
EXTVW014          VW012     VW012     NSM CA CUBE STORE GROUP
EXTVW015          VW013     VW013     NSM CA DISK GROUP
EXTVW016          VW014     VW014     NSM CA PROCESS GROUP (PI
EXTVW017          VW015     VW015     NSM FILESYSTEM
EXTVW018          VW016     VW016     NSM NETWORK
EXTVW019          VW017     VW017     NSM PRINTER QUEUE
FORMATS           VW018     VW018     NSM PROCESS
IMACTNG           VW019     VW019     NSM USERS
VMACTNG        and new metrics were added to several existing VMWare
VMXGINIT       datasets.
Mar  8, 2008
   Thanks to Xiaobo Zhang, CheckFree, USA.

Change 26.032  Debugging PUT _N_= _I_= _J_= LOCCONN=; statement printed
VMACRMFV       lots of messages on the log if you enable CF data, but
Mar  7, 2008   had no other adverse impact, and is now removed.
   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.

Change 26.031 -Support for Dedicated zAAPs and fix for Dedicated zIIPs.
VMAC7072       Change 25.211 only worked for one Dedicated zIIP engine,
VMXG70PR       because it used total ZIPWAITM vs the ZIPWAIT(LCPUADDR+1)
Mar  7, 2008   wait time for each engine, impacting TYPE70 variables
               ZIPACTTM, PCTZIPBY, and PCTCIBYn.  That logic is fixed,
               and new logic for Dedicated zAAPS is added, impacting the
               IFAACTTM, PCTIFABY, and PCTCIBYn variables.  For Shared
               zIIPs or zAAPs, the LPAR Dispatch time was always valid,
               but for Dedicated zAAPs or zIIPS, the dispatch time was
               always reported as 100% busy.
               I recommend that you do not use the PDB.TYPE70PR dataset,
               as it has too much detail and requires lots of logic in
               your programs to sort out what's what; instead, use the
               ASUM70PR-created PDB.ASUMCEC and PDB.ASUMCELP CEC-level
               summary datasets or PDB.ASUM70PR and PDB.ASUM70LP, which
               already have separate variables for the "CPU" times for
               your CPs, ZIPs and ZAPs.  But, if you still use TYPE70PR:
                  For Dedicated zIIPs and zAAPs, in the PDB.TYPE70PR
                  dataset, the LCPUPDTM and LCPUEDTM dispatch values are
                  not changed, and will still be the "100%" value.  But
                  MXG now creates IFAACTTM and ZIPACTTM variables from
                  the ORIGWAIT field for each LCPUADDR that is an IFA or
                  a ZIP engine.
              -Support for Dedicated zIIPs and zAAPs in ASUM70PR-created
               summary datasets was also added by this change, so the
               PDB.ASUM70PR, PDB.ASUM70LP, PDB.ASUMCEC and PDB.ASUMCELP
               datasets have correct values.
   Thanks to Mark Cohen, DTS, ITALY.

Change 26.030 -Two extraneous debugging PUT statements were removed from
VMACNTSM       the SQL record processing.
Mar  6, 2008  -Datasets SQLDATAB and MSQDATAB have new variable
               INSTANCE ('SQL' in SQLDATAB, MSQSRVDB in MSQDATAB),
               and DATABASE is populated, for ease in combining them.
   Thanks to Roger Zimmerman, Hewitt Associates, USA.

Change 26.029  Cosmetic.  A slash was missing in the SUCCESSFULLY READ
VMACSMF        SMF message, causing a linewrap on the SAS log.
Mar  6, 2008
   Thanks to Peter Krijger, ANZ National, NEW ZEALAND.

Change 26.028A Fields added COMPATIBLY to HSM FSR SMF record in z/OS 1.8
FORMATS        and z/OS 1.9 are now created in HSMFSRST dataset, and all
VMACHSM        bit flags are decoded.
Mar  6, 2008   New variables added in z/OS 1.8 SMF records:
                   FSRCPYME='REQUESTED*FAST REPLICATION*METHOD'
                   FSRFDASD='DASD*COPY*DELETED?'
                   FSRFDCPY='DUMP CLASS*COPY POOL*DELETED?'
                   FSRFDVER='ENTIRE*DUMP*VERSION*DELETED?'
                   FSRFPIGB='USED*TAPE*ALREADY*MOUNTED?'
                   FSRFRDMP='FAST*REPLICATION*DUMP OR*RESORE?'
                   FSRFREMO='COMPLETED*ON*REMOTE*SYSTEM?'
                   FSRFRHOS='MWE*PROCESSED*BY REMOTE*HOST?'
                   FSRFRTRY='BACKUP*DURING*RETRY*INUSE?'
                   FSRFBKTP='BACKUP*VERSION*DELETED*IS ON TAPE?'
                   FSRFEXBV='BACKUP*VERSION*DELETED BY*EXPIREBV?'
                   FSRFEXDT='DATASET*DELETED BY*EXPDT OR*MGMTCLASS?'
                   FSRFVINI='RECOVERY*SCHEDULED*FROM VOLUME*REQUEST?'
                   FSRFXPL1='DATASET*BEING*EXPIRED*IS FROM ML1?'
                   FSRFXPL2='DATASET*BEING*EXPIRED*IS FROM ML2?'
                   FSRRECON='RECONNECTION*MIGRATION?'
                   FSRFLG4 ='FSRFLG4*FLAGS'
                   FSRFG480='FSRF*FRRECOV*DSNAME*COMMAND?'
                   FSRFG440='FSRF*FRRECOV*FROMDISK*ONLY?'
                   FSRFG420='FSRF*MULTIPLE*DSNAMES*SPECIFIED?'
                   FSRFG410='FSRF*MULTIVOLUME*FRRRECOV*REQUEST?'
                   FSRFG408='FSRF*ALTERPRI*COMMAND?'
                   FSRFG404='FSRF*ALTERPRI*HIGH*KEYWORD?
                   FSRFG402='FSRF*INC*COPY POOL*INCREMENTAL?'
                   FSRORGID='HOST*ID THAT*GENERATED*REQUEST'
                   FSRFREAS='FSR*FR*REAS*RETURN*CODE'
                   FSRCLIP ='TARGET*VOL+FROM MWE*VOL RESTORE'
                   FSRCPNAM='COPY*POOL*NAME'
               New variables added in z/OS 1.9:
                   FSRECYSO='SOURCE*FOR*RECYCLE*OPERATION'
                   FSRECYCN='RECYCLE*COUNTER'
                   FSRCALTW='RECALL*CAUSED*TAPE*TAKEAWAY?'
                   FSRPSQTY='TRACKS*NEEDED*WHEN ML1*OUT OF SPACE'
               Bit variables now decoded that should have been decoded:
                   FSRFFSTR='FROM*STRIPED?'
                   FSRFFSTR='TO*STRIPED?'
                   FSRFNONQ='NOT*SERIALIZED*ENQUEU?'
                   FSRFNQN1='ENQUE*FAILED*ONCE?'
                   FSRFNQN2='ENQUE*FAILED*AGAIN?'
                   FSRFVER ='FSRGEN*CONTAINS*VERSON?'
                   FSRFVSDS='VSAM*DATASET?'
                   FSRFT0  ='CONCURRENT*COPY*FUNCTION*USED?'
               Variables DSRTYPE,VSRTYPE,FSRTYPE,WFSRTYPE are decoded by
               MGHSMFU format, which is updated with new values of:
                   21='21:FAST REPLICATION BACKUP FUNCTION'
                   22='22:FAST REPLICATION RECOVER FUNCTION'
                   23='23:FAST REPLICATION DELETE FUNCTION'
   Thanks to Michael Friske, Fidelity Systems, USA.

Change 26.028  Protection for a divide by zero when SMF70GMU was zero,
VMXG70PR       in the new Group Capacity PCTGCUSE creation in ASUM70GC
Mar  6, 2008   dataset.
   Thanks to Alexander Raeder, ATOSORIGIN, GERMANY.

Change 26.027  Nigel's Monitor, NMON, writes RECTYPE='ERROR' records,
VMACNMON       with a text message (ERRORMSG=), and MXG printed the text
Mar  6, 2008   on the SAS log, but ERRORMSG= made it look like it was an
               MXG error.  Now, when these records are read, the text on
               the log is printed with this header information

                 NMON RECTYPE=ERROR: _N_=13720 SNAPSHOT=T0144
                                     ENDTIME=25FEB2008:02:37:52.00
                  MESSAGE: ERROR,T0144,Disk statistics reset detected.
                           This time Read=0 Write=0 and Total So far=0

               You'll have to contact your NMON guru over in AIX/LINUX
               land, to find out if that message is expected or not.
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 26.026  IMS Log updates for IMS Version 9 or IMS Version 10.
IMACIMS       -TYPEIMS7 and TYPEIMSA (used in ASMIMSL6/JCLIMSL6) now
IMACIMSA       both keep these new variables from 07 and 08 log records
VMACIMS        in their IMS0708 and IMSTRAN and BMPS datasets:
VMACIMSA         From IBM IMS 07 log record:
TYPEIMS7           DLRABRSN='ABEND*REASON*CODE'
TYPEIMSA           DLRCPUID='CPU ID*PLACE*HOLDER'
Mar  6, 2008       DLRESAF ='ESAF*CALLS'
                   DLRFLD  ='FASTPATH*FLD*CALLS'
                   DLRNPGM ='DLRNPGM '
                   DLRNWID ='NETWORK*IDETIFIER*OF LAST*MESSAGE'
                   DLROSAMR='OSAM*IO*READS'
                   DLROSAMW='OSAM*IO*WRITES'
                   DLRPOS  ='FASTPATHP*POS*CALLS'
                   DLRRLSE ='RLSE*CALLS'
                   DLRTOTIO='TOTAL*DL/I*OSAM+VSAM*CALLS'
                   DLRVSAMR='VSAM*IO*READS'
                   DLRVSAMW='VSAM*IO*WRITES'
                   DLRXCOPY='COPY*CALLS*(XQUERY)'
                   DLRXRSTR='RSTR*CALLS*(XQUERY)'
                   DLRXSAVE='SAVE*CALLS*(XQUERY)'
                 From IBM IMS 08 log record:
                   LINTFLG1='FLAG*1'
                   LINTPGM ='PROGRAM*NAME'
                   LINTPSB ='PSB*NAME'
                   LINTSUB ='IMS08*SUBTYPE'
                   LINTSY2 ='TRANCODE OR DBNAME'
              -The default in _IMSVERS value is now consistently 8.1.
                 Member IMACIMS is used only in archaic TYPEIMS member.
                 Member IMACIMS7 sets _IMSVERS for TYPEIMS7 member.
                 Member IMACIMSD sets _IMSVERS for TYPEIMSD (DBCTL).
                 Member IMACIMSA sets _IMSVERS for TYPEIMSA (ASMIMSL6).
                 Member IMACIMSA sets _IMSVERS for TYPEIMSB (ASMIMSL6).
              -You can always use the &MACKEEP macro variable to set the
               value of _IMSVERS instream, with this syntax:
                 %LET MACKEEP=  MACRO _IMSVERS 10.0 %  ;
                 %INCLUDE SOURLIB(TYPEIMS7);
              -All datetime stamps are now converted to local time zone
               when INPUT in the VMACIMS and VMACIMSA members, now that
               GMTOFFTM exists in all active IMS Versions; this makes
               the detail IMSxx datasets consistent with the final
               IMS0708 and IMSTRAN output datasets.  The GMTOFFTM logic
               in the TYPEIMSA member was removed.
              -These five variables are now correctly input as Packed:
                 DLRMINT  /* WAIT TIME*FOR*INTENT*CONFLICT*/
                 DLRMPOL  /* WAIT TIME*FOR*POOL*SPACE*/
                 DLRMSCH  /* ELAPSED TIME*FOR*SCHED PROCESS*/
                 DLRTMEIO /* DBCTL*DB I/O*ELAPSED*TIME*/
                 DLRTMEPL /* DBCTL*LOCKING*ELAPSED*TIME*/
              -Additional cleanup and validation with V8, V9, and V10
               log records, and detection of incorrect _IMSVERS setting
               in many cases will stop processing with log messages.
   Thanks to Steve Hudson, AVNET, USA.

Change 26.025  Support for APAR OA12774 new z10 variables (COMPAT).
VMAC7072       MXG 25.25 supports (TOLERATE) the new z10 processor, and
VMAC71         it won't fail if you install this APAR, but you will need
Mar  2, 2008   MXG 26.01 if you want to use any of these new variables:
Mar  6, 2008   New variables in TYPE70 dataset:
                  SMF70HDM='HIPERDISPATCH*IS*ACTIVE?'
                  SMF70MCR='MODEL*CAPACITY*RATING OF*SMF70MDL'
                  SMF70MPC='MODEL*PERMANENT*CAPACITY*IDENT'
                  SMF70MPR='MODEL*PERMANENT*CAPACITY*RATING'
                  SMF70MTC='MODEL*TEMPORARY*CAPACITY*IDENT'
                  SMF70MTR='MODEL*TEMPORARY*CAPACITY*RATING'
                  CPUPATm0='CPU 0*PARKED*DURATION'
                  CPUPATm1='CPU 1*PARKED*DURATION'
                  CPUPAT..         ...
                  CPUPATYb='CPU 62*PARKED*DURATION'
                  CPUPATYC='CPU 63*PARKED*DURATION'
                  CPUPATTM='TOTAL*PARKED*DURATION*ALL CPUS'
               New variables in TYPE70PR dataset:
                  SMF70CAN='AVERAGE*THIS SMF70CIN*ENGINES*IN CEC'
                  SMF70POW='AVERAGE*HIPERDISPATCH*WEIGHT'
                  SMF70PAT='LCPUADDR*PARKED*DURATION'
               New variables in TYPE70Y2 Crypto dataset:
                  R702NH5C='SHA-384/512:CALLS*TO*HASH'
                  R702NH5B='SHA-384/512:DATA*BYTES*HASH'
                  R702NH5I='SHA-384/512:PCMF INSTR*USED TO*HASH'
                  CRYIH5R ='SHA-384/512*HASHING*RATE'
                  CRYIH5S ='SHA-384/512*HASHING*SIZE'
               New variables in TYPE71 dataset:
                  SMF71LOA='AVG*LARGE MEMORY*OBJECTS*ALLOCATED'
                  SMF71LOM='MIN*LARGE MEMORY*OBJECTS*ALLOCATED'
                  SMF71LOX='MAX*LARGE MEMORY*OBJECTS*ALLOCATED'
                  SMF71LRA='AVG NR*1 MB FRAMES*BACKED*REAL STORE'
                  SMF71LRM='MIN NR*1 MB FRAMES*BACKED*REAL STORE'
                  SMF71LRX='MAX NR*1 MB FRAMES*BACKED*REAL STORE'
              -Discovered: these 12 percentage vars for CPUIDs 10,11,12
                 PCTCPBYA-YC, PCTIFBYA-YC, PCTZIBYA-YC, PCTCIBYA-YC
               were overlaid by values from CPUIDs 61,62,63 if they
               existed, because those names were reused.
               New variable names for these metrics are now:
                 PCTCPBXA-XC, PCTIFBXA-XC, PCTZIBXA-XC, PCTCIBXA-XC
              -Discovered: these variables summed across all CPUIDs
               did not include CPUIDs 54 thru 63 (suffix ZT-ZZ,YA-YC):
                 CPUWAITM MVSWAITM CPUPDTTM CPUPATTM CPUEFFTM

Change 26.024  DB2STATS variables QTPACAUT, QTPACNOT and QTPACPUB were
VMACDB2        not de-accumulated.
Mar  1, 2008

Change 26.023  MXG 25.07-MXG 25.25 only. Fewer obs created in TYPE78CU
VMAC78         and in TYPE72IO datasets. The last LCUID was never output
Feb 27, 2008   in TYPE78CU because MXG's test for 60 bytes remaining
Apr 11, 2008   should have been for 58 bytes after the pointer was at
               the end of the 2-byte field.
   Thanks to Steve Lottich, The University of Iowa Hospitals, USA.

Change 26.022  The RACF Unload utility IRRDBU00 was revised to support
VMACRACF       reading the EBCDIC text file while MXG executes on ASCII.
Feb 26, 2008   The output file is all text/ZD fields and MXG assumed
               that under ASCII the data would have been downloaded and
               translated from EBCDIC, but using ftp access to read the
               file from ASCII did not work without revisions.
              -Also, there were '92'x ASCII text (instead of '27'x for
               single quotes) that when uploaded to z/OS became '00'x,
               a non-printable, fortunately inside comments in VMACRACF
               so they had no impact.  But then a search of all members
               found those text were also in the VMAC122, NEWSLTRS, and
               DOCVER members, which were also corrected to '27'x text.
   Thanks to Paul Gillis, Pacific Systems Management Pty., AUSTRALIA

Change 26.021  Specifying OUTDATA=CICSVIEW and OUTVIEW=YES with VMXGSUM
VMXGSUM        caused errors because there was an extraneous &VWUTDATA
Feb 26, 2008   reference outside the DO group in line 1874.  Deleting
               the line corrects the MXG error.
   Thanks to Nigel Greenwood, EDS, UK.

Change 26.020  Support for optional user-created CICS fields:
IMACICU6          CMODHEAD   CMODNAME    Variables Created
IMACICU7          VZSOAP     SOAPOUT     SOAPOUCN, SOAPOUTM
UTILEXCL          VXAOAP     SOAPABCT    SOAPABCT
VMAC110
Feb 24, 2008
   Thanks to Herbert Sweeney, Verizon Data Services Inc, USA.
   Thanks to Vernon W. Gordon - Verizon Data Services Inc, USA.
   Thanks to Marshall S. Hellmann - Verizon Data Services Inc, USA.
   Thanks to Michael F. Root - Verizon Data Services Inc, USA.

Change 26.019  The DURATM values in IMACSHFT are used only for _DURSET,
IMACSHFT       but the values in the examples were wrong.  For those
Feb 20, 2008   three example shift definitions, the DURATM values should
               have been  9*3600, 15*3600, and 48*3600
   Thanks to Jeffrey A. Harder, Indiana Farm Bureau Insurance, USA.

Change 26.018  Dataset BVIR30 contained only data for Preference Group
VMACBVIR       Zero, PG0.  These PG1 variables are now INPUT and KEPT:
Feb 20, 2008   VIRVOL01 DATRES01 AV4HAG01 VL4MIG01 AV48AG01 VL48IG01
               AV35AG01 VL35IG01
   Thanks to Stan Adriaensen, AXA, BELGIUM.

Change 26.017  The COMPBYTE and UNCOMBYT byte counts were increased to 8
VMACXCOM       bytes with two overflow fields that are input and added.
Feb 19, 2008   One new field overlaid TCPIPPNR, so it's a missing value.
   Thanks to Peter J. Gray, EDS, AUSTRALIA.

Change 26.016  BLDSMPDB options WEEKKEEP WEEKDROP MNTHKEEP MNTHSROP did
BLDSMPDB       not protect for lower case in the user input text.
Feb 18, 2008
   Thanks to Loren Mitchell, Los Angeles County Office of Education,USA.

Change 26.015  Variable R783HLCU was not kept nor labeled, even though
VMAC78         I used it to confirm SMF78HIX was wrong, which led to
Feb 18, 2008   IBM APAR OA21799 (see Change 25.141)!
   Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.

Change 26.014  IMPLX Version 4.1 support was incorrect; six fields that
VMACMPLX       were input as PIB4. are actually PIB8., causing trashed
Feb 15, 2008   values in many variables.
   Thanks to David Bixler, FISERV, USA.

Change 26.013 -With PARM='NONE', ASMRMFV still attempted to open the
ASMRMFV        DDNAMES RMFBSAM, RMFFILT, and RMFSKIP.  NONE was intended
Feb 10, 2008   to product no output, but omitting //RMFBSAM resulted in
               a spurious USER ABEND, now eliminated. The //RMFBSAM DD
               is still required for all other RMF table based selection
              -Comments documenting RMFBSAM and "NONE" were enhanced.
              -PARM='NONE' caused unnecessary ASMRMFV processing: the
               output records were completely built before the test for
               NONE, which prevented the write of the record.  The test
               was relocated to bypass that unwanted processing.
   Thanks to Jack Schudel, University of Florida, USA.

Change 26.012  Cosmetic, used by MXG technical support.  VMXGINIT prints
VMXGINIT       the z/OS full dataset name or the ascii full path name
Feb  8, 2008   of each of the SOURCLIB and SASAUTOS concatenations.
               On ASCII, a FILENAME statement with the LIST; operand is
               used, but that does not work on z/OS, so a DATA step that
               reads VEXTFL is used:
                DATA; SET SASHELP.VEXTFL (UPCASE(FILEREF)='SOURCLIB'));

Change 26.011  Change 25.306 did NOT support IFCID 22 APAR PK38803; that
EX102I22       change text claimed SMF records with the APAR were wrong,
IMAC102        but that was my error; the SMF records with the APAR do
VMAC102        match IBM's DSECT, which I misread.  The T102S022 dataset
VMXGINIT       created by Change 25.306 will only have valid data in the
Feb  8, 2008   first obs output from each record; subsequent segments
               were mis-aligned and had trashed values.
               Moreover, MXG output T102S022 for each INDEX in each plan
               keeping repeated values for the plan fields and wasting
               disk space.  This change creates new T102I022 Index
               dataset with an obs for each index, keeping only the
               index and sort variables, and creates the existing
               T102022 dataset with one obs for each plan segment,
               keeping only the plan related variables.

               These index variables were removed from T102S022 dataset
                 QW0022MS QW0022NM QW0022AC QW0022AN
                 QW0022MO QW0022XF QW0022FF QWOL22AC
                 QW0022AC QWOL22AN QW0022AN
               as they are now only kept in the T102I022 index dataset.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 26.010  New utility %MACRO VMXGPARS parses macro variables, like
UTILBLDP       MACKEEP=, INCODE=, etc., that are a long string of text,
VMXGPARS       into "chunks" that fit in 72 bytes and that are chunked
Feb  8, 2008   into reasonably humanly readable pieces of code.   Used
               now in UTILBLDP, it's use will like be extended to other
               %MACRO defining members in the future.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.009  NOTE: INVALID DATA FOR TRNSTTRA and TRNSTOPA is cosmetic
VMACCIMS       only, and occurs when either field is not populated.  MXG
Feb  6, 2008   now protects the PD input with double question marks.
               The output datasets were correctly created.
   Thanks to Ermanno Bertolotti, Intesa SanPaolo, ITALY.

Change 26.008  New MYDATA parameter is added, and a new CASE 3 example
VMXGUOW        of how you might use it to insert new dataset name(s) and
Feb  5, 2008   a keep list, so that you can create a subset of ASUMUOW
               (eg, based on Transaction name), without having to repass
               millions of records in ASUMUOW to create it.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 26.007  The CICS Dispatcher Statistics CICDS dataset created from
VMAC110        SMF 110 Subtype STID=60 statistics segments, and the MXG
VMXGCICI       PDB.CICINTRV interval summary dataset have new variables
Feb  5, 2008     CICTCTTM='TOTAL*DSGTCT*DURATION*TIME'
                 CICTDTTM='TOTAL*DSGTDT*DISPATCHED*TIME'
                 CICTWTTM='TOTAL*DSGTWT*IN OS WAIT*TIME'
               and the existing
                 CICTCBTM='TOTAL*DSGACT*CPU TCB*TIME'
               summed across all 19 CICS TCB names for the interval.
               These data were added primarily so an IBM "Rule of Thumb"
               could be tested; new variable
                 PCTREGBY='PCT*TCB/(TDT+TCW)*BUSY;
               calculates the percent of Dispatch+OS Wait time that was
               executing CPU TCB time, and IBM's recommends that if the
               PCTREGBY formula calculates to more than about 70 percent
               busy, they suggest that you need additional CICS Regions.
   Thanks to Jacob Nudel, Thompson BETA Systems, USA.

Change 26.006  Support for 64 CP Engines adds sets of variables for CPs
VMAC7072       54 thru 63 with suffixes ZS-ZZ and YA-YC for TYPE70 data.
Feb  1, 2008   No such systems yet exist, but are expected so the code
Mar  8, 2008   is now in place to create those per-CPU variables.

Change 26.005  In all XAM VM datasets, variable ZDATE was LENGTH 5,
VMACXAM        because it was created by code in VMACXAM instead of the
Jan 31, 2008     %%INCLUDE SOURCLIB(IMACZDAT);
               which sets ZDATE's length to 4, which is always used to
               create ZDATE, not only for length consistency, but the
               IMACZDAT member is the tailoring member you would use for
               a rerun of a prior daily build PDB job, to set the value
               of ZDATE to that prior date.  Having LENGTH 5 is not an
               error, even though only 4 bytes are used elsewhere in MXG
               but it's inconsistency uncovered this inconsistency.
   Thanks to Theo Peelen, Fortis Bank, BELGIUM.

Change 26.004 -MXG expected NMON's "AAA,time" record ahead of "AAA,date"
VMACNMON       but this site's data had "AAA,date", several lines, then
Jan 31, 2008   "AAA,time", which caused STARTIME to always be a missing
               value.  Presuming a local specification changed the order
               I protected STARTIME for either order, found STARTIME was
               now always populated in NMONINTV, but was still always
               missing in NMONCPUD and all of the other datasets.  After
               much debugging, I discovered the original NMON data file
               had been SORTED, which not only put date ahead of time,
               but had lumped all of the end of interval 'ZZZZ' records
               at the bottom, so none of the ENDTIME-only records, like
               the CPUnn records, had either ENDTIME or STARTIME.
               The moral: DO NOT SORT NMON DATA;
              -Support added for new record types: ESSREAD and ESSWRITE
               with seven VPATHn KB/sec, and ESSXFER with seven transfer
               rates per second for each vpath.
   Thanks to Massimo Pugliese, ELSAG Spa, ITALY.

Change 26.003  LPARCPUS is not integer in PDB.ASUM70LP & PDB.ASUMCELP
VMXG70PR       MXG summary datasets, and LPARCPUS=0 could have been a
Feb  5, 2008   value between 0 and 1, because MXG erroneously FLOOR'd
               LPARCPUS to force an integer value.  While LPARCPUS in
               PDB.TYPE70PR observations at the LCPUADDR detail is an
               integer number of CP engines, in summarizing counts of
               LCPUADDRs in each LPAR, and/or multiple intervals, MXG
               sums SMF70ONT (the Online Time) and divides by DURATM,
               the interval duration to create LPARCPUS.  But the IPL
               interval for a 3-CP engine with DURATM 5 minutes had only
               3 minutes of uptime, SMF70ONT, causing LPARCPUS=0, when
               the true LPARCPUS=0.7 value should have been calculated.
               Now, that FLOOR is removed, LPARCPUS is FORMATed 6.1,
               (so the printed value will be rounded and hence those old
               2.9999 values will print as 3.0), and is now labeled:
                 LPARCPUS='LPAR*AVERAGE*NUMBER OF*CP*PROCESSORS'
               in the datasets built by ASUM70PR summarization program.
   Thanks to William Wai Lun WONG, HSBC, HONG KONG.

Change 26.002  Cosmetic, but still wrong and possibly confusing: a dozen
FORMATS        value statements in FORMATS had incorrect right-hand hex
Jan 31, 2008   for the left-hand value (like '04'X='40X: explanation').
               A new QA job will catch this type of error in the future.
   Thanks to Danny Ball, Con-way Enterprise Services, USA.

Change 26.001  Typo VMUM introduced in Change 25.252 corrected to VWUM.
VMXGCAPT
Jan 30, 2008
   Thanks to Brian Carter, EDS, UK.

LASTCHANGE: Version 26.
=========================member=CHANGE25================================
 /* COPYRIGHT (C) 1984-2008 MERRILL CONSULTANTS DALLAS TEXAS USA */


        MXG Version 25.25  is dated Jan 28, 2008, thru Change 25.309
First   MXG Version 25.25 was dated Jan 21, 2008, thru Change 25.302
        MXG Version 25.12 was dated Jan 21, 2008, thru Change 25.294
        MXG Version 25.11 was dated Dec  7, 2007, thru Change 25.268
First   MXG Version 25.11 was dated Nov 22, 2007, thru Change 25.256
        MXG Version 25.10 was dated Oct  7, 2007, thru Change 25.215
        MXG Version 25.09 was dated Sep 17, 2007, thru Change 25.199
        MXG Version 25.08 was dated Sep  5, 2007, thru Change 25.187
First   MXG Version 25.08 was dated Sep  4, 2007, thru Change 25.182
        MXG Version 25.07 was dated Aug 10, 2007, thru Change 25.161
        MXG Version 25.06 was dated Jul  4, 2007, thru Change 25.134
        MXG Version 25.05 was dated Jun  7, 2007, thru Change 25.107
        MXG Version 25.04 was dated May  7, 2007, thru Change 25.086
Second  MXG Version 25.03 was dated Apr 12, 2007, thru Change 25.058
First   MXG Version 25.03 was dated Apr 10, 2007, thru Change 25.057
        MXG Version 25.02 was dated Mar 10, 2007, thru Change 25.033
        MXG Version 25.01 was dated Mar  5, 2007, thru Change 25.025
        MXG Version 24.24 was dated Feb  5, 2007, thru Change 24.306
        MXG Newsletter FORTY-NINE was dated Feb 5, 2007

MXG 25.25 is the 2008 "Annual Version", dated January 28, 2008.

Instructions for ftp download of MXG 25.25 were mailed to all licensees,
but you can always request ftp download instructions using the form at
  http://www.mxg.com/ship_current_version

Contents of member CHANGES:

  Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
  contain the current MXG Technical Notes that used to be put in member
  CHANGES between Newsletters.  New Technical Notes are now added (and
  now dated!) in NEWSLTRS/Newsletters with each new MXG Version.

I.    Current MXG Software Version 25.25 is available upon request.
II.   Incompatibilities and Installation of MXG 25.25.
III.  Online Documentation of MXG Software.
IV.   Changes Log

=======================================================================


I.  MXG Version 25.25, now re-dated Jan 28, 2008.

    Minor cosmetic corrections in MXG 25.25, re-dated Jan 28, 2008

  TYPEXAM  25.307  Extraneous PUT from testing removed.
  ASUM70PR 25.303  Extraneous PROC PRINT from testing was removed.

    Minor enhancements in MXG 25.25, re-dated Jan 28, 2008

  TYPERMFV 25.309  Support for RMF III CPD, Channel Path Data Table.
  TYPE102  25.306  IBM SMF 102 IFCID 22 APAR PK38803 wrong, supported.
  TYPE30   25.304  Support for APAR OA23679, BLKSIZE might be wrong.
  COMPINTV 25.302  Capture/Compare ALL CPU times in 30/70/72/100/101/110

    Major enhancements added in MXG 25.25, dated Jan 21, 2008

  ADOCs    25.296  All ADOCxxxx member's CONTENTS were updated.

    Major enhancements added in MXG 25.12, dated Jan 21, 2008

  TYPEDB2  25.265  DB2TCBTM Correction for DB2 V9.1, REQUIRED.
  TYPEDB2  25.291  DB2ACCT variable QWACUDCP CPU time added in DB2TCBTM.
  TYPE122  25.287  Support for SMF 122, Tivoli Tape Allocation Manager
  TYPEITRF 25.286  Support for ITRF DCR77/DCR78 additions.
  TYPENTSM 25.282  Support for new NTSMF Objects, Database Mirroring.
  TYPEMQLG 25.280  Support for MQ V6 System Admin Accounting Queue Log.
  TYPE85   25.279  Support for subtypes 38, 39 and 40 for ID=85 OAM.
  TYPEPSYC 25.277  Support for PSYNCH/390 SMF record.
  TYPE22   25.276  Support for APAR OA20043 Dynamic Volume Expansion
  TYPE102  25.306  Support for APAR PK38803 INCOMPAT SMF 102 IFCID 22.
  TYPE50   25.269  Support for OSA-MPC VTAM SMF 50 subtype 4 record.
  TYPETIMS 25.271  Revisions for TMON/IMS support
  ASUM70PR 25.270  INTERVAL=DURSET cannot be used.
  CONFIGV9 25.267  VALIDVARNAME=V7 added to SAS CONFIGs.
  ITRMTNG  25.262  233 DDU files to create ITRM definitions for TYPETNG.

    Major enhancements added in MXG 25.11 dated Dec  7, 2007.

  TYPE111  25.241  Support for CICS CTG 7.1.0 new SMF 111 record.
  TYPE110  25.240  Full Support for CICS/TS 3.2 Compressed Data
  EXITCICS 25.240  New "CICS" INFILE EXIT for CICS compressed SMF data.
  TYPE7072 25.224  CPUTYPE tests are replaced with ZARCHMDE tests.
                    This means that with MXG 25.11 or later, a new IBM
                    CPUTYPE will NOT require a new MXG Version.
  TYPETPMX 25.239  Support for Thruput Manager SLM and DB2 data.
  TYPE82   25.257  Support for ISCF HCR7750 TKE Logging update.
  TYPEEVTA 25.255  Support for Action Software's EventAction user SMF.
  TYPE85   25.234  New variables in OAM subtype 32-35 records.
  TYPE78   25.236  Zero obs in TYPE78IO with Change 24.171 if z/OS 1.7.
  TYPEEVTA 25.255  Support for Action Sofware's EventAction SMF record.
  TYPERMFV 25.246  Updates for CPU Segmentation changes.
  TYPENTSM 25.253  Support for new NTSMF objects for MSSQL.
  TYPETNG  25.221  Support for VM Ware VSX Systems in CA NSM records.
  TYPETNG  25.235  New Solaris, AIX, and many RedHat objects added.
  VMXGSUM  25.248  New &LNSUMOUT=8 will make all output to length 8.
  UTILEXCL 25.256  Macro variable &MXGDEBUG revised for IMACEXCL plus!
  EXITCICS 25.240  MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
  TYPE110  25.240  MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
  UPRINDOC 25.226  Utility prints NAME and LABEL of all variables.
  TYPE30   25.260  MXG 25.10, INTRVLTM missing for TYPETASK='OMVS'
  ANALACTP 25.254  Sample report summarizes DB2 Package data to UOW.
  CONFIGW2 25.252  MXG updates for testing MXG Execution under WPS.

    Major enhancements added in MXG 25.10.

  TYPE7072 25.205  Support for z/OS 1.9, up to 54 CPUs per MVS, INCOMPAT
  TYPERMFV 25.204  CFI Segmentation eliminates RMF III skipped CF data.
  ANALDB2R 25.202  VARIABLE QBnTDPIO NOT FOUND error corrected.
  TYPE70   25.211  ZIPACTTM, PCTZIPBY corrected for Dedicated zIIPs.
  ASUMCELP 25.209  Duplicate observations in PDB.ASUMCELP eliminated.
  TIMEBILD 25.209  Optional SYNC59 timeshifting using TIMETABL.

    Major enhancements added in MXG 25.09.

    IMPORTANT CHANGES:

    Almost none!  Only UTILEXCL in 25.08 had an error, but these other
                  fixes/enhancements are now ready for prime time:

  UTILEXCL 25.193  MXG 25.08 ONLY: LABEL IMACICU3 NOT FOUND.
  TYPERMFV 25.191  Support for RMF Monitor III CFI table enhancements.
  TYPESRDF 25.195  Support for EMC's SRDF/A user SMF record.
  READDB2  25.189  New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
  ANALDB2R 25.189  New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
  RMFINTRV 25.199  SMF70GIE now reset to 00/15 if SYNC59=YES is used.
  TYPE89   25.198  SMF89HOF,SMF89DTO were incorrect due to typo.
  UTILCSV  25.197  %UTILCSV creates a CSV (or TAB) Delimited flat file.
  UTILBLDP 25.196  Large &MACKEEP string caused strange results.
  TYPE92   25.192  New ID=92 ST=14 INPUT EXCEEDED if not a RENAME.

    Major enhancements added in MXG 25.08.

    IMPORTANT CHANGES:

  TYPETNG  25.181  Support for CA NSM RedHat 4.01 Linux perf cube.
  TYPE7072 25.176  Support for APAR OA18244, Blocked Workload z/OS 1.9.
  TYPE7072 25.163  Support for Capacity Groups variables in TYPE70.
  ASUM70PR 25.163  Capacity Group summarization, PDB.ASUM70GC/ASUM70GL.
  TYPEQACS 25.178  AS400 APAR QAPMDISK with LRECL=456 added new data.
  ADOCDB2  25.172  Example to process DB2 datasets to separate DDNAMES.
  TYPEDB2  25.169  _RDB2ACC DB2 Parallel event "analysis" example.
  Many     25.179  %UPCASE,%LOWCASE,%STR,%BQUOTE,%QUOTE, etc.
  Doc      25.179  Use %LET MACxxxx= %STR( text ) ; to pass text.


    Major enhancements added in MXG 25.07.

    CRITICAL CHANGE:

  TYPE78   25.141  APAR OA21799 for HiperPAV, ABEND, SMF78HIX invalid.
                   Installing HyperPAV can create invalid RMF 78-3's
                   that cause BUILDPDB to ABEND as it reads RMF 78's.
                   Change 25.141 will detect bad records and avoid the
                   ABEND, but you will need to install the IBM PTF for
                   the APAR to correct the invalid data values.

    IMPORTANT CHANGES/ENHANCEMENTS:

  Many     25.140  Prelim z/OS 1.9 (fails if 54-CPs, See Ch 25.205)
  TYPECIMS 25.139  Support for IMF Version 4.3 (INCOMPATIBLE).
  TYPE74   25.140  APAR OA17070 supports CF Level 15 measurements.
  TYPE89   25.138  Support for APAR OA20314 new SMF89LPN/SMF89ZNA.
  TYPE80A  25.137  Support for unknown TOKDANAMs, prevents ABEND.
  UTILLPDS 25.136  Utility to count used/defined PDS Directory Blocks.
  TYPE7072 25.135A LCPUCAP/LCPUCAPC Labels include "Hard CAP".
  TYPE42   25.153  MXG 25.06 only, false INVALID TYPE42 SUBTYPE 5 error.
  TYPEVMXA 25.151  180 Error _MPRCAPC not found, DEBUG prints removed.
  ASUM70PR 25.150  ASUM70PR created PCTCPUBY GT 100%, final fix?
  ASUM70PR 25.150  ASUM70PR now supports INTERVAL/CECINTRV=SHIFT.
  ADOCITRM 25.149  Doc. Maps ITRM dataset names to MXG name.
  ADOCDB2  25.148  Doc. How to create DB2ACCTB/DB2ACCTP in separate DDs.
  ANALRMFR 25.146  ERROR: NO DATASETS TO LOOKUP correction.
  TYPERMFV 25.145  RMF III dataset ZRBLCP missing obs for many LPARs.
  UPCMEMDZ 25.144  ASCII utility to determine memory available to MXG.
  TYPE71   25.143  SWAPrates were set missing if zero, now can be zero.
  VMXGINIT 25.143  New MXGMISS macro variable changes TYPE71 SWAPrates.

    Major enhancements added in MXG 25.06.

  TYPE30   25.116  MXG 25.05, negative EXECTM, INTRVLTM, GMTOFF30 wrong.
  TYPE110  25.041  Support for CICS/TS 3.2 (INCOMPATIBLE), Uncompressed.
  TYPEBTE  25.107  Support for CA Brightstor Tape Encryption SMF.
  TYPE80A  25.131  Support for CRL PUBLISH and SET UID RACFEVNT 52, 79.
  TYPEFERT 25.133  Support for Williams Data FERRET product user SMF.
  TYPECLAR 25.130  Support for Clarion Disk Array flat files.
  TYPE119  25.119  SMF 119 from z/OS 1.8 caused INVALID DATA messages.
  TYPESYNC 25.117  INVALID ARGUMENT due to incorrect HEX4/HEX3 formats.
  ASUMUOW  25.121  Enhanced to keep each CICS segment response time.
  ASUMHSM  25.113  HSM Summary enhanced with "HSM COMPLEX" HSMPLEX.
  IHDRIDMS 25.112  CA IDMS PerfMon support enhanced with "IHDR" exit.
  TYPENMON 25.110  Support for DISKBUSYn for all NMON Disk Monitoring.
  TYPERACF 25.134  Support for IRRDBU00 record types 0560,0561,0562.
  TYPE80A  25.131  Support for TOP SECRET (INCOMPAT) '90'x,'00'x VRSN.

    MXG Version 25.05, dated Jun  7, 2007.

    Major enhancements added in MXG 25.05.

  TYPEITRF 25.103  Support for IBM OMEGAMON TRF ITRF V550 and V560.
  TYPENMON 25.104  Full support for NMON, Nigel's Monitor for AIX/unix.
  TYPEDB2  25.090  Support for PK37354 SMF 101 Subtype 4 in DB2 9.
  TYPEDB2  25.097  Variable THREADTY blank if non-DDF transaction.
  TYPE30   25.089  GMTOFF30 calculation corrections and problems.
  CONFIGV9 25.101  MEMLEAVE=10M SORTBLOCKMODE now set in CONFIGV9
  UTILBLDP 25.098  %UTILBLDP(BUILDPDB=JES3 ... enhancement.

    Major enhancements added in MXG 25.04.

  TYPE21   25.083  Fix for support for APAR OA20077 Device Bytes TYPE21.
  TYPEXAM  25.082  Support for XAM Release 3.6, many new data.
  TYPENMON 25.073  Support for LPAR and IOADAPTR Nigel's NMON data.
  SYSLOG   25.070  Support for SYSLOG file enhanced, all records output.
  TYPENDM  25.081  Support for NDM-CD type 'NM' records creates NDMNM.
  DALYTAPE 25.072  Sample tape reports from STC VTS SMF + MXGTMNT.
  TYPERMFV 25.079  ZRBLCP dataset had only first LPARs observations.
  TYPEDB2  25.064  Several QISE variables were wrong.
  TYPEDB2  25.075  QBGL variables in DB2 V8.1 now supported, were wrong.
  TYPETMS5 25.084  FILSEQ in TMS.DSNBRECD could be wrong, mult-vol-file.
  ANALDB2R 25.068  SQL Text QW0141TX was not printed, coding error.
  UTILBLDP 25.071  Products that need deaccumulation now protected.
  UTILBLDP 25.065  Default list of ASUMxxx to be included, MXGINCL=.
  VMXGRMFI 25.069  Service Class Names can be "wild-carded"
  VMXGUSE  25.067  Revised to invoke _STY70; UTILBLDP recommended.
  FORMATS  25.063  Additional SWAP reason codes added to $MG079SR.
  Doc      25.078  List of MXG-issued USER ABEND values & source member.


    Major enhancements added in MXG 25.03.

  CONFIGV8 25.037  SORTEQUALS should NOT have been in CONFIGV8, V9 only.
  TYPE119  25.035  Support for SMF 119 for z/OS 1.8 (INCOMPATIBLE).
  TYPE1415 25.047  Support for APAR OA19502, SMF14KET Key Exchange Time
  TYPE21   25.040  Support for APAR OA20077, uncompress read/write bytes
  TYPEAIXT 25.039  Support for AIX Tapas-C performance data files.
  TYPESAMS 25.055  Support for SAMS objects 2151,2226,2229 and 2231.
  TYPETDS  25.052  Support for TDSLink Version 630 ZCOST datasets.
  TYPECSM  25.050  Support for CrossSysplexManager user SMF record.
  TYPSCOCR 25.034  Support for CopyCross (now VTF Mainframe 2.1.0) SMF.
  VMXGDUR  25.044  Interval= QUARTER, SEMIANN, ANNUAL now supported.
  TYPEHSM  25.042  Process HSM with different SMF IDs/different SYSTEMs.
  ASUMTAPE 25.040  Uncompress read/write SMF21DBR/DBW kept in ASUMTAPE.
  ASUMUOW  25.054  QWACSPCP,QWACTRET added to PDB.ASUMUOW for OTE.
  ASUMCEC  25.053  PDB.ASUMCEC, PCTCPUBY GT 100%, DURATM LT CECINTRV.
  BLDSMPDB 25.048  Corrections to BLDSMPDB, new SORTEDBY= option.

    Major enhancements added in MXG 25.02.

    MXG 25.02 was created to protect sites who set the NOSORTEQUALS
    option (i.e., changed the SORTEQUALS default). NOSORTEQUALS causes
    invalid data in ASUM70PR-built datasets.

  CONFIGV9 25.028  OPTION NOSORTEQUALS caused errors in ASUM70PR.
  VMXG70PR 25.028  OPTION NOSORTEQUALS caused errors in ASUM70PR.

        Other New Support and corrections added in MXG 25.02:

  ASMTAPEE 25.033  Support for ASMTAPEE ML-40 assembly under z/OS 1.8.
  ANALRMFR 25.032  IRD corrections to RMF reports.
  TYPE42DS 25.030  TYPE42DS had carried-forward IOCOUNT and other vars.
  TYPE70   25.028  IORATEn per-engine I/Os corrected for IRD.
  VMXGPRAL 25.028  Print All utility now compares all datasets in LIBs.
  UCOMPSOE 25.028  Utility to compare SORTEQUALS and NOSORTEQUALS output
  ANALFIOE 25.026  Divide by zero message protected.

    Major enhancements added in MXG 25.01.

    The MXG 24.24 Annual Version is VERY solid, with only these three
    relatively minor corrections:

  TYPENTSM 25.015  INCOMPAT MXG CHANGE for NTSM WEEKly requires action.
  TYPE7072 25.013  PCTMVSBY in PDB.TYPE70PR was wrong if IRD was active.
  ASUM70PR 25.001  NRICFCPU,NRIFLCPU were wrong if you have more than 1.

        Other New Support and corrections added in MXG 25.01:

  TYPEIMS7 25.006  Support for IMS Version 10 (INCOMPATIBLE) IMS log.
  TYPEBVIR 25.011A Support for TS7700 SMF records.
  TYPE7    25.025  Support for APAR OA19453 for 4-byte LOSTRECS count.
  TYPE74   25.003  NREXPOSR was wrong for HyperPAV devices.
  IMACICMR 25.007  Optional CICS CMRDATA, CMDUDATA/CMDDBCCP reversed.
  IMACICOB 25.008  Optional CICS OMDBDB2LN now spelled as OMBDB2LN.
  IMACICOM 25.008  Optional CICS OMMLN now spelled as OMMQLN.


    Please read CHANGESS for the complete list of major enhancements.

  See member NEWSLTRS or the Newsletters frame at www.mxg.com for
  current MXG Technical Notes that used to be in CHANGES.


  All of these enhancements are described in the Change Log, below.

    SAS Version requirement information:

      MXG 22.08 or later is REQUIRED for SAS V9.1.2 or V9.1.3; see
      "Major Enhancements in MXG 22.08" in CHANGES, above, for the major
      items, then search Newsletters for V9 for all of the minor items.

      MXG executes under SAS V8.2 and SAS V9.1.3, but MXG is no longer
      supported under SAS V6.  The "PDB" libraries written to by MXG
      must have been created by V8/V9 (i.e, if ENGINE=V6 is shown in the
      PROC CONTENTS output, you must convert that data library to the
      current ENGINE=BASE by PROC COPYing it under SAS V8 or V9.

       For SAS V9.1.3 on z/OS with Service Pack 4:
        There are no reported errors, and MXG's CONFIGV9 now specifies
        V9SEQ instead of V6SEQ.  As V6SEQ does not support long length
        character variables, it should not be used.

       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.

       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
        SN-013514 is REQUIRED to be able to read datasets that were
          created by V6SEQ (tape) engine.
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.

        With MXG 23.02 or later, V9SEQ is the default sequential engine
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.

       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
         to be completely safe.  No earlier Version 8's were supported.

       Sequential Engine Status:
          V9SEQ is fixed in V9.1.3; it is now the default in CONFIGV9.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
                 should no longer be used, as it does not support long
                 length variables.

      MXG New-Version QA tests are executed on z/OS with SAS V9.1.3 and
      V8.2, and on Windows XP with SAS V9.1.3.  But previous QA tests
      have been run with all SAS releases on z/OS, SAS V8.2 and V9.1 on
      Linux RH8 on Intel, with V9.1 on Solaris v2.8 on Model V880, and
      V9.1 on HP-UX v11.11 model rp5470, confirming full compatibility.
      MXG should execute under SAS V9.1.3 or V8.2 on every possible SAS
      platform without errors! Each new MXG version is also tested with
      the SAS ITSV/ITRM product by the ITRM developers.

    Availability dates for the IBM products and MXG version required for
    the processing of that product's data records:

                                       Availability     MXG Version
      Product Name                     Date              Required

      MVS/ESA 4.1                      Oct 26, 1990         8.8
      MVS/ESA 4.2                      Mar 29, 1991         9.9
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9
      MVS/ESA 4.3                      Mar 23, 1993        10.10
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09
      OS/390  1.1.0                    Feb 22, 1996        14.01
      OS/390  1.2.0                    Sep 30, 1996        14.05
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02
      OS/390  2.4.0                    Sep 28, 1997        15.06
      OS/390  2.5.0                    Feb 24, 1998        15.06
      OS/390  2.6.0                    Sep 24, 1998        16.04
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS    1.1                      Mar 30, 2001        18.11
      z/OS    1.1 on 2064s             Mar 30, 2001        19.01
      z/OS    1.1 with correct MSU     Mar 30, 2001        19.02
      z/OS    1.2                      Oct 31, 2001        19.04
      z/OS    1.1,1.2 APARs to 78      Oct 31, 2001        19.05
      z/OS    1.2+ APAR OW52227        Apr 26, 2002        20.02
      z/OS    1.3+ APAR OW52227        Apr 26, 2002        20.02
      z/OS    1.2 JESNR Z2 MODE        Apr 26, 2002        20.03
      z/OS    1.3 JESNR Z2 MODE        Apr 26, 2002        20.03
      z/OS    1.4 Tolerate             Sep 27, 2002        20.03
      z/OS    1.4 Support              Sep 27, 2002        20.06
      z/OS    1.4 Over 16 CPUs/LPARs   May 29, 2003        21.02
      z/OS    1.4 DFSMS/rmm, RACF      Aug 29, 2003        21.04
      z/OS    1.5                      Mar 31, 2004        21.21
      z/OS    IRD ASUM70PR/ASUMCEC     Sep 22, 2003       *24.10
      z/OS    IRD TYPE70PR             Mar 11, 2004       *24.10
      z/OS    IRD TYPE70,RMFINTRV      Mar 22, 2002       *24.10
      z/OS    1.6 - No IFAs            Sep 30, 2004       *22.09
      z/OS    1.6 - With IFAs          Sep 30, 2004       *22.11
      z/OS    1.7 (COMPATIBLE CHANGES) Sep 30, 2005       *24.10
      z/OS    1.7 (SPLIT70 CORRECTION) Sep 30, 2005       *24.10
      z/OS    IFA data in RMF 79s      Sep 30, 2005        23.10
      z/OS    1.8 - ASMTAPEE assembly  Sep 30, 2005       *25.03
      z/OS    1.8 - SMF 119 INCOMPAT   Sep 30, 2005       *25.06
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24
      z9EC CPUs - CPUTYPE '2094'x:
             with 64-bit z/OS - no change required        *24.24
             with 32-bit z/OS only:    Aug 26, 2006        24.06
      z9BC CPUs - CPUTYPE '2096'x:
             with 64-bit z/OS - no change required         24.01
             with 32-bit z/OS only:    Jul 27, 2006       *24.24
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02
      z/OS IRD errors corrected        May 15, 2006        24.03
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24
      z/OS    zIIP Processor Support   Jun 22, 2006       *24.24
      z/OS    Dedicated zIIP Support   Oct  5, 2007        25.10
      z/OS    1.8 (COMPATIBLE CHANGES) Sep 20, 2006       *24.24
      z/OS    1.9 (INCOMPAT, 54 CPs)   Sep 27, 2007        25.10
      CICS/ESA 3.2                     Jun 28, 1991         9.9
      CICS/ESA 3.3                     Mar 28, 1992        10.01
      CICS/ESA 4.1                     Oct 27, 1994        13.09
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11
      CICS-TS for Z/OS Version 2.2     Jan 25, 2002        19.19
       CICSTRAN subtype 1 support only                    *19.19
       CICSTRAN subtype 2 completed                       *19.08
      CICS-TS for Z/OS Version 2.3     Dec 19, 2003
       Using UTILEXCL to create IMACEXCL:                  21.04
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005
       Using UTILEXCL to create IMACEXCL:                  22.13
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11
      DB2 2.3.0                        Oct 28, 1991        10.01
      DB2 3.1.0                        Dec 17, 1993        13.02A
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07
      DB2 4.1.0 Full support           Sep 11, 1996        14.07
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14
      DB2 5.1.0 Full support           Jun 27, 1997        15.02
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19
      DB2 7.1.0 corrections            Mar 31, 2001        20.06
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04
      DFSORT SMF V1R5                  Mar  1, 2006        24.02
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02
      MQ Series 1.2.0                  May 26, 1998        16.02
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      MQ Series 5.2                    Dec 16, 2000        18.10
      MQ Series 5.3                    Dec 16, 2002        21.05
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03
      NPM 2.0                          Dec 17, 1993        12.03
      NPM 2.2                          Aug 29, 1994        12.05
      NPM 2.3                          ??? ??, 1996        15.08
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      NPM 2.6                          Nov ??, 2001        19.06
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12
      RMDS 2.3                         Jan 31, 2002        19.11
      TCP/IP 3.1                       Jun 12, 1995        12.12
      TCP/IP 3.4                       Sep 22, 1998        16.04
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04
      WebSphere 6.0                    Feb 18, 2006        23.23
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      VM/ESA  2.0                      Dec 23, 1992        10.04
      VM/ESA  2.1                      Jun 27, 1993        12.02
      VM/ESA  2.2                      Nov 22, 1994        12.06
      VM/ESA  2.3                      Jun  1, 1998        16.08
      VM/ESA  2.4                      Mar  1, 2001        19.03
      z/VM    3.1                      Mar  1, 2001        19.03
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02
      z/VM    4.2 ??                   May  2, 2002        20.02
      z/VM    4.4                      Jan 22, 2005        22.22
      z/VM    5.1                      Jan 22, 2005        22.22
      z/VM    5.2                      Jan 22, 2006        24.01
      z/VM    5.3                      Jan 22, 2007        25.04
      IMS log 4.1                      Jul  4, 1994        12.02
      IMS log 5.1                      Jun  9, 1996        14.05
      IMS log 6.1                      ???  ?, 199?        20.03
      IMS log 7.1                      ???  ?, 200?        20.03
      IMS log 8.1                      May 21, 2003        21.02
      IMS log 9.1                      Dec ??, 2004        22.08
      IMS log 10.0                     Feb 27, 2007        25.01
      AS400 3.7.0                      Nov  1, 1996        15.01
      AS400 4.1.0                      Dec 30, 1996        15.08
      AS400 4.2.0                      Apr 27, 1998        16.02
      AS400 4.4.0                      Sep 27, 1999        17.07
      AS400 4.5.0                      Jul 27, 2000        18.07
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04
      AS400 5.3.0                      Jan 22, 2005        22.22
      AS400 5.4.0                      Aug 26, 2006        24.06

    Note: Asterisk before the version number means the Version number
          was changed (to the MXG version required), after an earlier
          MXG version was listed as supporting this product release,
          usually because an APAR modified the product's data records.
          Or a coding error in MXG could be the reason for the change!

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
       NTSMF 2.4.4                     Aug  9, 2002        20.04
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02
       NTSMF 2.4.7                     Sep 30, 2004        22.08
      Landmark
       The Monitor for DB2 Version 2                       13.06
       The Monitor for DB2 Version 3.0                     16.02
       The Monitor for DB2 Version 3.1                     20.04
       The Monitor for DB2 Version 4.0                     22.10
       The Monitor for CICS/ESA 1.2 -                      12.12
       The Monitor for CICS/ESA 1.3 -                      15.01
       The Monitor for CICS/ESA 2.0 -                      15.06
       The Monitor for CICS TCE 2.1 -                      20.04
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04
       The Monitor for CICS TCE 2.3 including cics/ts 3.1  22.08
       The Monitor for MVS/ESA 1.3  -                      12.05
       The Monitor for MVS/ESA 1.5  -                      12.05
       The Monitor for MVS/ESA 2.0  -                      15.09
       The Monitor for MVS/ESA 3.0  -                      19.19
       The Monitor for CICS/TS V2.3 for CICS/TS 3.1        22.08

      Candle
       Omegamon for CICS V200 User SMF                     12.05
       Omegamon for CICS V300 User SMF                     13.06
       Omegamon for CICS V400 User SMF                     16.02
       Omegamon for CICS V400 type 110 segments            16.02
       Omegamon for CICS V500 User SMF                     18.01
       Omegamon for IMS V110 (ITRF)                        12.12
       Omegamon for IMS V300 (ITRF)                        14.04
       Omegamon for IMS V550/V560 (ITRF)                   25.05
       Omegamon for MVS V300                               13.05
       Omegamon for MVS V400                               13.06
       Omegamon for DB2 Version 2.1/2.2                    13.05
       Omegamon for VTAM V160                              12.04A
       Omegamon for VTAM V400                              15.15
       Omegamon for VTAM V500                              18.08
       Omegamon for SMS V100/V110                          12.03
      CA
       ACF2 6.2                                            16.04
       ASTEX 2.1                                           14.04
       NETSPY 4.7                                          14.03
       NETSPY 5.0                                          14.03
       NETSPY 5.2                                          16.05
       NETSPY 5.3                                          18.03
       NETSPY 6.0                                          20.10 20.305
       NETSPY 7.0                                          20.10 20.305
       SAR/VIEW R11                                        23.07 23.196
      BMC, was Boole & Babbage
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*
       IMF 4.1 (for IMS 9.1)                               22.08
      Memorex/Telex
       LMS 3.1                                             12.12A
      Oracle V9, V10                                       24.06
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10
       XAMAP 3406                                          24.03
       XAMAP 3.7                                           25.04

II.   Incompatibilities and Installation of MXG 25.11.


 1. Incompatibilities introduced in MXG 25.11:

  a- Changes in MXG architecture made between 25.11 and prior versions
     that can introduce known incompatibilities.

     NTSMF Weekly/Monthly processing will fail on BLKBERRY dataset due
     to new variable in the BY list.  See Change 25.015 for required
     actions you must take prior to running the Weekly/Monthly.  The
     incompatibility was introduced by Change 24.162 in MXG 24.06.

     Change 25.189 revised %READDB2/%ANALDB2R when PDBOUT=, is null.
     Now, ALL output datasets are written to //WORK, which was intended
     when PDBOUT=null, but that did not always happen.
       The error corrected was that a simple report with %ANALDB2R
       failed if there was no //PDB DD name, because MXG tried used the
       default DDnames, and did not force them to //WORK as desired.
       That correction created a new exposure if you actually did have
       a //PDB DD name, if you had changed DDNAME defaults with
          %LET PDB2ACC or MACRO _LDB2ACC or _WDB2ACC,
       and if you did not specify PDBOUT=PDB; Change 25.189 now caused
       zero observations in PDB.DB2ACCT.
     So if you want output datasets created by %READDB2/%ANALDB2R, you
     must specify
        PDBOUT=PDB (which works as documented, output all to //PDB), or
        PDBOUT=YES (which outputs to the (tailored) default DDNames, or
        PDBOUT=ZZZ (which outputs everything to ZZZ DDname).
     Change 25.284, in MXG 25.25, corrected the original Change 25.189.

 2. Installation and re-installation procedures are described in detail
    in member INSTALL (which also lists common Error/Warning messages a
    new user might encounter), and sample JCL is in member JCLINST9 for
    SAS Version 9.1.3 (JCLINST8 for SAS Version 8.2).

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
                 the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.
                 A change that alters any previously kept variable is
                 INCOMPATIBLE, and requires the new version to be used.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.

                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.


III.  Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


IV.   Changes Log

--------------------------Changes Log---------------------------------

 You MUST read each Change description to determine if a Change will
 impact your site.  All changes have been made in this MXG Library.

 Member CHANGES always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 The actual code implementation of some changes in MXG SOURCLIB may be
 different than described in the change text (which might have printed
 only the critical part of the correction that need be made by users).

 Scan each source member named in any impacting change for any comments
 at the beginning of the member for additional documentation, since the
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.



Alphabetical list of important changes in MXG 25.06 after MXG 24.24:

  Dataset/
  Member   Change    Description
  Many     25.140  Support for z/OS 1.9 (COMPAT, minor SMF additions).
  Many     25.179  %UPCASE,%LOWCASE,%STR,%BQUOTE,%QUOTE, etc.
  ADOCDB2  25.172  Example to process DB2 datasets to separate DDNAMES.
  ADOCDB2  25.148  Doc. How to create DB2ACCTB/DB2ACCTP in separate DDs.
  ADOCITRM 25.149  Doc. Maps ITRM dataset names to MXG name.
  ANALACTP 25.254  Sample report summarizes DB2 Package data to UOW.
  ANALDB2R 25.202  VARIABLE QBnTDPIO NOT FOUND error corrected.
  ANALDB2R 25.189  New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
  ANALDB2R 25.068  SQL Text QW0141TX was not printed, coding error.
  ANALFIOE 25.026  Divide by zero message protected.
  ANALRMFR 25.146  ERROR: NO DATASETS TO LOOKUP correction.
  ANALRMFR 25.032  IRD corrections to RMF reports.
  ASMTAPEE 25.033  Support for ASMTAPEE ML-40 assembly under z/OS 1.8.
  ASUM70PR 25.303  Extraneous PROC PRINT from testing was removed.
  ASUM70PR 25.270  INTERVAL=DURSET cannot be used.
  ASUM70PR 25.163  Capacity Group summarization, PDB.ASUM70GC/ASUM70GL.
  ASUM70PR 25.150  ASUM70PR created PCTCPUBY GT 100%, final fix?
  ASUM70PR 25.150  ASUM70PR now supports INTERVAL/CECINTRV=SHIFT.
  ASUM70PR 25.001  NRICFCPU,NRIFLCPU were wrong if there was more than 1
  ASUMCEC  25.053  PDB.ASUMCEC, PCTCPUBY GT 100%, DURATM LT CECINTRV.
  ASUMCELP 25.209  Duplicate observations in PDB.ASUMCELP eliminated.
  ASUMHSM  25.113  HSM Summary enhanced with "HSM COMPLEX" HSMPLEX.
  ASUMTAPE 25.300  Blank SYSTEM, missing DEVNR in PDB.ASUMTAPE fixed.
  ASUMTAPE 25.040  Uncompress read/write SMF21DBR/DBW kept in ASUMTAPE.
  ASUMUOW  25.121  Enhanced to keep each CICS segment response time.
  ASUMUOW  25.054  QWACSPCP,QWACTRET added to PDB.ASUMUOW for OTE.
  BLDSMPDB 25.048  Corrections to BLDSMPDB, new SORTEDBY= option.
  COMPINTV 25.302  Capture/Compare ALL CPU times in 30/70/72/100/101/110
  CONFIGV8 25.037  SORTEQUALS should NOT have been in CONFIGV8, V9 only.
  CONFIGV9 25.267  VALIDVARNAME=V7 added to SAS CONFIGs.
  CONFIGV9 25.101  MEMLEAVE=10M SORTBLOCKMODE now set in CONFIGV9
  CONFIGV9 25.028  OPTION NOSORTEQUALS caused errors in ASUM70PR.
  CONFIGW2 25.252  MXG updates for testing MXG Execution under WPS.
  DALYTAPE 25.072  Sample tape reports from STC VTS SMF + MXGTMNT.
  Doc      25.179  Use %LET MACxxxx= %STR( text ) ; to pass text.
  Doc      25.078  List of MXG-issued USER ABEND values & source member.
  EXITCICS 25.240  MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
  EXITCICS 25.017  SAS INFILE EXIT for compressed CICS SMF 110-1 data.
  FORMATS  25.063  Additional SWAP reason codes added to $MG079SR.
  IHDRIDMS 25.112  CA IDMS PerfMon support enhanced with "IHDR" exit.
  IMACICMR 25.007  CMRDATA, CMDUDATA/CMDDBCCP reversed.
  IMACICOB 25.238  OMEGAMON did NOT increase time-duration to 12 bytes.
  IMACICOB 25.008  OMDBDB2LN now spelled as OMBDB2LN.
  IMACICOM 25.008  OMMLN     now spelled as OMMQLN.
  ITRMTNG  25.262  233 DDU files to create ITRM definitions for TYPETNG.
  MXGWPSV2 25.252  Revised JCL Procedure for MXG Execution under WPS.
  READDB2  25.189  New PDBOUT=YES, old PDBOUT= changed, writes to WORK.
  RMFINTRV 25.199  SMF70GIE now reset to 00/15 if SYNC59=YES is used.
  RMFINTRV 25.177  ARRAY SUBSCRIPT OUT OF RANGE, 9999 LIMIT externalized
  SYSLOG   25.070  Major revisions to SYSLOG program, will be renamed.
  TIMEBILD 25.209  Optional SYNC59 timeshifting using TIMETABL.
  TYPE102  25.306  Support for APAR PK38803 INCOMPAT SMF 102 IFCID 22.
  TYPE102  25.306  IBM SMF 102 IFCID 22 APAR PK38803 wrong, supported.
  TYPE102  25.129  IFCID=224 updated with QW0224PN and QW0224CI.
  TYPE110  25.240  MCTSSCRL now tested vs MCTMNOPN for CICS Compressed.
  TYPE119  25.119  SMF 119 from z/OS 1.8 caused INVALID DATA messages.
  TYPE119  25.119  Support for SMF 119 for z/OS 1.8 (INCOMPATIBLE).
  TYPE120  25.247  SM120SNT=2 (two heap ids) caused INPUT EXCEEDED.
  TYPE122  25.287  Support for SMF 122, Tivoli Tape Allocation Manager
  TYPE1415 25.047  Support for APAR OA19502, SMF14KET Key Exchange Time
  TYPE21   25.083  Actual support for APAR OA20077 Device Bytes TYPE21.
  TYPE21   25.040  Support for APAR OA20077, uncompress read/write byte
  TYPE22   25.276  Support for APAR OA20043 Dynamic Volume Expansion
  TYPE30   25.304  Support for APAR OA23679, BLKSIZE might be wrong.
  TYPE30   25.260  MXG 25.10, INTRVLTM missing for TYPETASK='OMVS'
  TYPE30   25.116  MXG 25.05, negative EXECTM, INTRVLTM, GMTOFF30 wrong.
  TYPE30   25.089  GMTOFF30 calculation corrections and problems.
  TYPE42   25.153  MXG 25.06 only, false INVALID TYPE42 SUBTYPE 5 error.
  TYPE42DS 25.030  TYPE42DS had carried-forward IOCOUNT and other vars.
  TYPE50   25.269  Support for OSA-MPC VTAM SMF 50 subtype 4 record.
  TYPE70   25.211  ZIPACTTM, PCTZIPBY corrected for Dedicated zIIPs.
  TYPE70   25.028  IORATEn per-engine I/Os corrected for IRD.
  TYPE7072 25.237  LCPUWAIT was accidentally not kept in TYPE70.
  TYPE7072 25.227  Variable RPRTCLAS now kept in TYPE72DL dataset.
  TYPE7072 25.224  CPUTYPE tests are replaced with ZARCHMDE tests.
  TYPE7072 25.205  Support for z/OS 1.9 54 CP engines per MVS, INCOMPAT
  TYPE7072 25.176  Support for APAR OA18244, Blocked Workload z/OS 1.9.
  TYPE7072 25.163  Support for Capacity Groups variables in TYPE70.
  TYPE7072 25.135A LCPUCAP/LCPUCAPC Labels include "Hard CAP".
  TYPE7072 25.013  PCTMVSBY in PDB.TYPE70PR was wrong if IRD was active.
  TYPE70PR 25.051  NRIFACPU now populated for z990/2084 CPUTYPE.
  TYPE71   25.143  SWAPrates were set missing if zero, now can be zero.
  TYPE71   25.109  UIC variables changed meaning in z/OS 1.8.
  TYPE74   25.140  APAR OA17070 supports CF Level 15 measurements.
  TYPE74   25.140  Support for APAR OA17070 RMF 74-4 Coupling Facility
  TYPE74   25.108  R748CSER/CTYP/CDML now kept in TYPE748 dataset.
  TYPE74   25.003  NREXPOSR was wrong for HyperPAV devices.
  TYPE78   25.236  Zero obs in TYPE78IO with Change 24.171 if z/OS 1.7.
  TYPE78   25.141  APAR OA21799 prevents ABEND, SMF78HIX invalid.
  TYPE80A  25.137  Support for unknown TOKDANAMs, prevents ABEND.
  TYPE80A  25.131  Support for CRL PUBLISH and SET UID RACFEVNT 52, 79.
  TYPE80A  25.131  Support for TOP SECRET (INCOMPAT) '90'x,'00'x VRSN.
  TYPE80A  25.111  TYPE80xx variable TYPSTRNG wrong after Change 25.024.
  TYPE82   25.257  Support for ISCF HCR7750 TKE Logging update.
  TYPE85   25.279  Support for subtypes 38, 39 and 40 for ID=85 OAM.
  TYPE85   25.234  New variables in OAM subtype 32-35 records.
  TYPE89   25.198  SMF89HOF,SMF89DTO were incorrect due to typo.
  TYPE89   25.138  Support for APAR OA20314 new SMF89LPN/SMF89ZNA.
  TYPE92   25.192  New ID=92 ST=14 INPUT EXCEEDED if not a RENAME.
  TYPE99   25.012  SMF 99 with only Trace, INPUT STATEMENT EXCEEDED.
  TYPEAIXT 25.039  Support for AIX Tapas-C performance data files.
  TYPEBTE  25.107  Support for CA Brightstor Tape Encryption SMF.
  TYPEBVIR 25.011A Support for TS7700 SMF records.
  TYPECIMS 25.230  IMF 4.2 PTF BQI0129 caused INPUT EXCEEDED error.
  TYPECIMS 25.139  Support for IMF Version 4.3 (INCOMPATIBLE).
  TYPECLAR 25.130  Support for Clarion Disk Array flat files.
  TYPECSM  25.050  Support for CrossSysplexManager user SMF record.
  TYPEDB2  25.291  DB2ACCT variable QWACUDCP CPU time added in DB2TCBTM.
  TYPEDB2  25.265  DB2TCBTM Correction for DB2 V9.1, REQUIRED.
  TYPEDB2  25.169  _RDB2ACC DB2 Parallel event "analysis" example.
  TYPEDB2  25.097  Variable THREADTY blank if non-DDF transaction.
  TYPEDB2  25.090  Support for PK37354 SMF 101 Subtype 4 in DB2 9.
  TYPEDB2  25.064  Several QISE variables were wrong.
  TYPEDB2  25.020  DB2STATS, QWS3, QWS4 may have reversed contents.
  TYPEEVTA 25.255  Support for Action Software's EventAction user SMF.
  TYPEEVTA 25.255  Support for Action Sofware's EventAction SMF record.
  TYPEFERT 25.133  Support for Williams Data FERRET product user SMF.
  TYPEHSM  25.042  Process HSM with different SMF IDs/different SYSTEMs.
  TYPEIMS7 25.006  Support for IMS Version 10 (INCOMPATIBLE) IMS log.
  TYPEITRF 25.286  Support for ITRF DCR77/DCR78 additions.
  TYPEITRF 25.103  Support for IBM OMEGAMON TRF ITRF V550 and V560.
  TYPEMQLG 25.280  Support for MQ V6 System Admin Accounting Queue Log.
  TYPENDM  25.242  NDM record 'UC' is now output in NDMAE dataset.
  TYPENDM  25.081  NDM-CD type 'NM' records now decided into NDMNM.
  TYPENDM  25.014  No observations in NDMRT due to incomplete comment.
  TYPENMON 25.229  NMON for AIX CPUnn records vary in number.
  TYPENMON 25.110  Support for DISKBUSYn for all NMON Disk Monitoring.
  TYPENMON 25.104  Full support for NMON, Nigel's Monitor for AIX/unix.
  TYPENMON 25.073  Support for LPAR and IOADAPTR Nigel's NMON data.
  TYPENTSM 25.282  Support for new NTSMF Objects, Database Mirroring.
  TYPENTSM 25.253  Support for new NTSMF objects for MSSQL.
  TYPENTSM 25.015  INCOMPATIBLE MXG CHANGE for NTSM WEEK/MONTH BUILDs.
  TYPEORAC 25.127  No change in Oracle Version 10, but data is trash.
  TYPEPDSM 25.245  CA PDSMAN diagnostic trace records filled //WORK.
  TYPEPSYC 25.277  Support for PSYNCH/390 SMF record.
  TYPEQACS 25.178  AS400 APAR QAPMDISK with LRECL=456 added new data.
  TYPEQACS 25.132  Revisions to AS400 TYPECONF GDES variables.
  TYPERACF 25.244  IRRDBU00 Unload '0200' record has two lengths.
  TYPERACF 25.134  Support for IRRDBU00 record types 0560,0561,0562.
  TYPERMFV 25.309  Support for RMF III CPD, Channel Path Data Table.
  TYPERMFV 25.246  Updates for CPU Segmentation changes.
  TYPERMFV 25.225  Variable ENCCPUT corrected with zIIP time removed.
  TYPERMFV 25.204  CFI Segmentation eliminates RMF III skipped CF data.
  TYPERMFV 25.191  Support for RMF Monitor III CFI table enhancements.
  TYPERMFV 25.145  RMF III dataset ZRBLCP missing obs for many LPARs.
  TYPERMFV 25.079  ZRBLCP dataset had only first LPARs observations.
  TYPESAMS 25.055  Support for SAMS objects 2151,2226,2229 and 2231.
  TYPESRDF 25.195  Support for EMC's SRDF/A user SMF record.
  TYPESYNC 25.117  INVALID ARGUMENT due to incorrect HEX4/HEX3 formats.
  TYPETDS  25.052  Support for TDSLink Version 630 ZCOST datasets.
  TYPETIMS 25.271  Revisions for TMON/IMS support
  TYPETMS5 25.126  Circumvention skip new TMC 'FF20'x Vol Def record.
  TYPETMS5 25.084  FILSEQ in TMS.DSNBRECD could be wrong, mult-vol-file.
  TYPETNG  25.243  Automatic PROC DELETE of UNKNOWN dataset removed.
  TYPETNG  25.235  New Solaris, AIX, and many RedHat objects added.
  TYPETNG  25.221  Support for VM Ware VSX Systems in CA NSM records.
  TYPETNG  25.181  Support for CA NSM RedHat 4.01 Linux perf cube.
  TYPETNG  25.181  Support for CA Unicenter NSM is in MXG "TNG" product.
  TYPETPMX 25.239  Support for Thruput Manager SLM and DB2 data.
  TYPEVMXA 25.151  180 Error _MPRCAPC not found, DEBUG prints removed.
  TYPEVMXA 25.043  Reserved Change Number.
  TYPEXAM  25.307  Extraneous PUT from testing removed.
  TYPEXAM  25.115  Incorrect memory variables in XMUCDSYS in MXG code.
  TYPEXAM  25.082  Support for XAM Release 3.6, many new data.
  TYPSCOCR 25.034  Support for CopyCross (now VTF Mainframe 2.1.0) SMF.
  UCICSCNT 25.120  CICS record counting separates Resource segments.
  UCOMPSOE 25.028  Utility to compare SORTEQUALS and NOSORTEQUALS output
  UPCMEMDZ 25.144  ASCII utility to determine memory available to MXG.
  UPRINDOC 25.226  Utility prints NAME and LABEL of all variables.
  UTILBLDP 25.196  Large &MACKEEP string caused strange results.
  UTILBLDP 25.098  %UTILBLDP(BUILDPDB=JES3 ... enhancement.
  UTILBLDP 25.071  Products that need deaccumulation now protected.
  UTILBLDP 25.065  Default list of ASUMxxx to be included, MXGINCL=.
  UTILCSV  25.197  %UTILCSV creates a CSV (or TAB) Delimited flat file.
  UTILEXCL 25.256  Macro variable &MXGDEBUG revised for IMACEXCL plus!
  UTILEXCL 25.193  MXG 25.08 ONLY: LABEL IMACICU3 NOT FOUND.
  UTILLPDS 25.136  Utility to count used/defined PDS Directory Blocks.
  VMAC110  25.041  Reserved Change Number.
  VMACDB2  25.075  QBGL variables in DB2 V8.1 supported, were wrong.
  VMXG70PR 25.293  SMF70GIE is now set from STARTIME=DURATM after shifts
  VMXG70PR 25.028  OPTION NOSORTEQUALS caused errors in ASUM70PR.
  VMXGDUR  25.044  Interval= QUARTER, SEMIANN, ANNUAL now supported.
  VMXGINIT 25.231  Unresolved &ARRAYRMF is SAS V8.1 or WPS was used.
  VMXGINIT 25.143  New MXGMISS macro variable changes TYPE71 SWAPrates.
  VMXGPRAL 25.028  Print All utility now compares all datasets in LIBs.
  VMXGRMFI 25.069  Service Class Names can be "wild-carded"
  VMXGSUM  25.248  New &LNSUMOUT=8 will make all output to length 8.
  VMXGUSE  25.067  Revised to invoke _STY70; UTILBLDP recommended.

  See member CHANGESS for all changes ever made to MXG Software.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 25.


====== Changes thru 25.309 were in MXG 25.25 dated Jan 28, 2008=========

Change 25.309  Support for RMF III CPD, Channel Path Data Table, creates
ASMRMFV        new ZRBCPD dataset.
CLRMFV
ADOCRMFV       The RMFV documentation in DOCRMFV and the documentation
EXZRBCPD       in the CLRMFV CLIST (without any code changes in CLIST)
IMACRMFV       have been updated to match ASMRMFV's updated.
VMACRMFV
VMXGINIT
Jan 28, 2008
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 25.308  SAS V8.2-V9.1 %MACRO compiler accepts  %ELSE %THEN %DO;
ANALDB2R       syntax, but the documented syntax is only    %ELSE %DO;
VMACMVCI       The SAS Language compiler never accepted  ELSE THEN DO;
VMXGSUM        In early tests of SAS V9.2, its %MACRO compiler rejected
Jan 28, 2008   the extra %THEN, so all three accidental, unintended MXG
Sep 16, 2008     %ELSE %THEN %DO statements have been corrected.
               If you have an old member in your "USERID.SOURCLIB", the
               error message you will get with SAS V9.2 will be:
               ERROR: THERE IS NO MATCHING %IF STATEMENT FOR THE %THEN.
                      A DUMMY MACRO WILL BE COMPILED.
   Thanks to MP Welch, SPRINT, USA.

Change 25.307  Debugging PUT printed _N_= COL=nnnn PRCAPM for every one
VMACXAM        of those segments, but had no impact on output data.
Jan 25, 2008   Remove the PUT statement after WHERE ('PRCAPM').
   Thanks to Rodger Foreman, TransUnion, USA.

Change 25.306  Change was in error, did not support PK38033, and was
VMAC102        replaced by Change 26.011 which does support the APAR.
Jan 23, 2008   And the original change text was WRONG, as there was
Feb  8, 2008   NOTHING wrong with IBM SMF 102 IFCID 22 with PK38803
               records; the records matched the DSECT which I misread.

Change 25.305  Error in %UTILBLDP with USERADD=TMNT/nnn + BUILDPDB=YES.
UTILBLDP       Because TMNT processing is already in BUILDPDB, there was
Jan 23, 2008   special handling in the USERADD= logic, but in this case
Jan 27, 2008   it incorrectly didn't create the MACRO _IDTMNT nnn % that
               it should have, so, while all TMNT datasets were created,
               they all had zero observations, unless you had defined
               your TMNT Record ID _IDTMNT in IMACKEEP/IMACTMNT.
               The logic in UTILBLDP is corrected for all USERADDs,
               whether or not they are already in BUILDPDB:
               USERADD=TMNT/nnn, creates   MACRO _IDTMNT nnn %
                                which will override any IMAC tailoring.
               USERADD=TMNT,     does not create _IDTMNT, but ensures
                                 TMNT records are processed.
              -Jan 27: Added support for USERADD=100 101 alias for DB2.
              -In testing the UTILBLDP invocation in the new COMPINTV, I
               had %MACRO errors about non-numeric in a %EVAL, (whose
               clarity may be a separate SAS issue!), but which were the
               result of incorrect code ordering in my COMPINTV program.
               When %UTILBLDP has MACKEEPX= argument text with old-style
               macros that you want to redefine AND execute in this one
               step, then your   MACRO _XXXXXXX ...  %   statements must
               be located after the %UTILBLDP(); statement and before
               the %INCLUDE statement that executes the UTILBLDP output:
               statement that executes the UTILBLDP output:

                 %UTILBLDP(MACKEEPX=  MACRO _ETY70  _SETTIME  %, .... );
                 RUN:
                 MACRO _SETTIME  STARTIME=FLOOR(STARTIME/900);  %
                 RUN;
                 %INCLUDE INSTREAM;

               If the old style macros are defined before %UTILBLDP is
               executed, then they are expanded inside the macro
               language when the %MACRO UTILBLDP is being compiled,
               which can result in unexpected failures.  If you move the
               definition to after %UTILBLDP, only the name of the macro
               is passed to the UTILBLDP output which works as expected.
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 25.304  APAR OA23679 documents possible errors in BLKSIZE in SMF
VMACEXC1       30 records when DDCONS=YES is specified.  Since MXG has
Jan 23, 2008   ALWAYS recommended DDCONS=NO and NEVER to use DDCONS=YES,
               this shouldn't have impact.  But when YES is specified,
               IBM now says the consolidated SMF 30 record contains the
               first non-zero BLKSIZE value from those DDs in SMF30BSZ,
               the original 4-byte blocksize field, but the newer 7-byte
               SMF30BXS blocksize field, contains the BLKSIZE value from
               the last DD in the consolidation, which could be valid or
               zero.  MXG stored SMF30BSZ into BLKSIZE, but then INPUT
               BLKSIZE from SMF30BXS when it existed, even when zero.
               Now, BLKSIZE is set to SMF30BXS ONLY when it is larger
               than SMF30BSZ.

Change 25.303 -Extraneous PROC PRINT from testing was removed.
VMXG70PR      -Calculation of LPARCPUS could be non-integer value, for
Jan 22, 2008   example, 11.99995682 instead of 12.  Algorithm refined.
Jan 28, 2008
   Thanks to Clayton Buck, UniGroup, USA.
   Thanks to William Wai Lun WONG, HSBC, HONG KONG.

====== Changes thru 25.302 were in MXG 25.25 dated Jan 21, 2008=========

Change 25.302  Compare all CPU variables from SMF 30,70,72,100,101,110s.
COMPINTV       Single pass of SMF creates only the needed datasets with
UTILEXCL       a "fast read" of SMF records keeping only the CPU and key
Jan 21, 2008   variables to minimize the run with a tailored %UTILBLDP
Jan 27, 2008   and MACKEEPX overrides to create two summary datasets:
Jan 30, 2008     PDB.INTVSRVC by SYSTEM STARTIME SRVCLASS          30+72
                 PDB.IN307072 by SYSTEM STARTIME                30+70+72
                 PDB.INALLCPU by SYSTEM STARTIME    30+70+72+100+101+110

               Fast read:  6 GB SMF data, 2 Minutes CPU, 10 Min Elapsed

               The type 30 SMF interval and type 72 RMF service class
               create the PDB.INTVSRVC with CPU times by service class.
               Those data and the CPUACVTM from TYPE70 are combined into
               the PDB.IN307072 SMF+RMF CPU time for each interval. Then
               the CICSTRAN and DB2ACCT transaction CPU times plus the
               interval CICDS dispatcher and DB2STATS statistics CPU
               times are added from the 100, 101, and 110 records to
               create the PDB.INALLCPU with ALL possible CPU variables,
               summed for each SYSTEM for each STARTIME.

               Several PROC MEANS summary output reports are printed.

               The SRVCLASS-level SMF30 and RMF72 summary CPU times
               should match closely for most service classes, but there
               can be significant differences in which "SRVCLASS" CPU
               time is recorded.  For example Enclave CPU time in SMF
               may be in the SRVCLASS of the address space that started
               the enclave, but in RMF that same enclave CPU time gets
               put in the SRVCLASS where that enclave was classified.
               And we've seen enclaves in two SRVCLASS in SMF30 while
               spread across three SRVCLASS in RMF72.  It can get messy!

               The STARTIME-level interval summary should match RMF and
               SMF totals, for the CPU fields that we expect to match,
               and will show how much of that CPU time is captured in
               the DB2 and CICS interval data as well, but its accuracy,
               and the accuracy of the SRVCLASS-level data is dependent
               on the synchronization of your SMF and RMF data.
                 The MACRO _SETTIME default expects 15 minute intervals
                 and SYNC(0), but can be tailored to your intervals.
                 You can get the totals of all CPU times for all of SMF
                 records in a single output observation per SYSTEM by
                 setting STARTIME to a single value for all records.
                   But the summary of the CICSTRAN and DB2ACCT times
                   can always be skewed by a long-running transaction,
                   or if SYNC59 is in the data (because not all CPU
                   records obey SYNC - RMF/SMF 30 does, CICS doesn't.
               Jan 30: If you use COMPINTV and have an IMACEXCL member,
                       COMPINTV fails when it sees the second _VCICTRN
                       definition in your IMACEXCL.  If you will insert
                          MACRO _VCICTRN _VCICTRN %
                       immediately before the existing MACRO _VCICTRN,
                       then COMPINTV will not fail.  And, fortunately,
                       by accident, the MACRO _VCICTRN defined in the
                       MACKEEPX in UTILBLDP will be used for CICSTRAN,
                       (and it's required for the rename of STRTTIME to
                        STARTIME and to minimize disk space), because
                       MACKEEPX is instanced after IMACEXCL was read.
                         Syntax corrected in Change 26.020.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.301  Due to typos that had DB where OB should have been, all
VMAC102        of the QW1145OB-QWF145OB variables were wrong (they had
Jan 21, 2008   the DB database value instead of the OB Object value).
   Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.

Change 25.300  PDB.ASUMTAPE could have blank SYSTEM and VOLSER, DEVNR
ASUMTAPE       missing when the SYSLOG Mount and Keep messages had the
Jan 21, 2008   same timestamp, and the Keep was seen first. Adding the
               variables SMFTIME SYSLTEXT forces the KEEP to be first
               to complete the prior event, but adding .001 seconds to
                 IF SYSLTMNT GT . THEN EVENTIME=SYSLTMNG+.001;
               was also needed to force the correct sequence.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.299  Type 42 Subtype 18 CF Cache Partition Summary Section for
EXTY42P3       Directory/Element Ratio Data now creates new dataset:
IMAC42            DDDDDD  DATASET  Description
VMAC42            TY42P3  TYPE42P3 RLS CF DIRECTORY/ELEMENT RATIO
VMXGINIT       which had been added in z/OS 1.8 but overlooked.
Jan 21, 2008
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 25.298  ADOCxxxx members that existed have been updated with new
ADOCs          variables.  New ADOCS member lists the VMACxxxx products
Jan 20, 2008   for which an ADOC member does not exist.

Change 25.297  Change 25.196 caused ERROR: CHAR OPERAND IN THE %EVAL ...
UTILBLDP       when either or both MACFILE and MACKEEP were used and had
Jan 19, 2008   more than 65 characters of text.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.296  All ADOCxxxx members were updated with current CONTENTS.
ADOCs
Jan 19, 2008
   Thanks to Freddie Arie, Merrill Consultants, USA.

Change 25.295  The COMPALL program compiles all of the VMACs for all SMF
COMPALL        records in a single data step, and is back in MXG's QA
VMACIPAC       tests, now that it can be compiled!  It was used in early
VMACOMCI       MXG Versions, testing only the IBM SMF records, by about
VMACSAMS       Version 3 (1987!), it needed more virtual storage than I
Jan 19, 2008   could get back then, and it was set aside.  It now brings
               in all of the VMACs for all IBM and USER SMF records, and
               it detected numeric-character variable conflicts in one
               temp variable that was renamed in VMACIPAC, and two kept
               variables were renamed to avoid the exposure to error,
               if you were to add these and certain other SMF records to
               your BUILDPDB job:
                 -VMACSAMS.  Variable CLUSTR replaces numeric CLUSTER.
                 -VMACOMCI.  Variable DIFTYPEF replaces char DIFTYPE.
               The current COMPALL requires an 1150 MB Region on z/OS.

====== Changes thru 25.294 were in MXG 25.12 dated Jan 17, 2008=========

Change 25.294  Label PARTNCPU='TOTAL*NUMBER OF*CPUS*IN THE CEC' replaces
VMAC7072       the previous confusing "CPUS IN THE PARTITION" text that
VMXG70PR       goes back to the days when we "physically partitioned" a
Jan 17, 2008   "hardware platform". The variables PARTNCPU PLATCPUS,
               NUCPSCPU and temp variable NRCPSCPU have always counted
               the CP/CPU engines in this CEC/CPC/platform/box/etc.

               If there are no LPARNAME='PHYSICAL' records in TYPE70PR
               (because your outsourcer turned them off?), the variables
               PARTNCPU, PLATCPUS, NUCPSCPU and CPCNRCPU will be zero.
               And the specialty engine counters NRIFACPU, NRZIPCPU, etc
               will also always be zero.  And, in the ASUM70PR/ASUMCEC
               datasets, only your own LPARn variables are populated.
               Finally (?), CPCMSU in PDB.RMFINTRV is also zero.
   Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.

Change 25.293  SMF70GIE is now set from STARTIME+DURATM after SYNC59 to
VMXG70PR       provide a more stable and consistent value for the
Jan 17, 2008   expected end of the interval.  See Change 25.270.

Change 25.292  Internal logic was revised so when INTERVAL= is used, the
ANALRMFR       variables LRDY00-LRDY11 are added to the MEAN= parm for
Jan 17, 2008   Cpu Reports.
               Dollarsigns were needed in the below array definitions.
              -ARRAY INICT05 $ STFBIT05(' ') ;
              -ARRAY INICT05 $ STFBIT06(' ') ;
              -Also, updated for 54 engines z/OS 1.9.
   Thanks to Clay Duncan, Toyota, USA.
   Thanks to Jerry Cobb, American Century, USA.

Change 25.291  DB2ACCT variable QWACUDCP, CPU time in DB2 User Functions
VMACDB2        is now included in MXG variable DB2TCBTM, as documented
Jan 17, 2008   in DB2 Technical Note 4 (PAR.TASKS) in Newsletter FIFTY.

Change 25.290  Variable JOBCLASS is $8 in JES3 and $1 in JES2, but MXG
BUIL3005       had INPUTs with both lengths, and that caused SAS WARNING
VMAC26J2       messages that the variable's length was CHANGED; these
VMAC26J3       warnings will set Return Code 4 in SAS Version 9.2, so
VMAC30         this change revised how MXG handles JOBCLASS for JES3
Jan 17, 2008   to keep the full 8-byte length.  The contents of the
Jan 20, 2008   SPIN library are also changed; JOBCLASS is no longer kept
               in SPIN26, and JOBCLAS8 is kept instead of JOBCLASS in
               SPIN30_1, SPIN30_4, and SPIN30_5.
                   Note: This change was revised in MXG 25.25.
                         Do NOT use MXG 25.12 with JES3 BUILDPD3.
   Thanks to MP Welch, SPRINT, USA.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.289 -Nigel's Monitor for AIX/LINUX variable NRCPUS in NMONINTV
VMACNMON       dataset was one-tenth correct; the INFORMAT 6.1 should be
Jan 17, 2008   6.0.  The AAACPU2 count was correct in NMONAAA dataset.
              -Support for ERROR: records, sort of: they are printed on
               the log in full when read.
   Thanks to Michael W. Wolke, Boeing, USA.
   Thanks to Steve Olmstead, Northwestern Mutual Trust, USA.

Change 25.288  Variable SMF70GJT is already on Local zone, so the adding
VMAC7072       of the GMT offset in MXG created incorrect datetimes.
Jan 16, 2008   Jan 26: a second instance was removed.
Jan 26, 2008
   Thanks to Al Sherkow, I/S Management Strategies, USA.

Change 25.287  Support for SMF 122, Tivioli Allocation Record creates
EXT122IT       six new datasets:
EXT122AL          DDDDDD  DATASET   DESCRIPTION              SUBTYPE
EXT122WA
EXT122FA          T122IT  T122INIT  ATAM ASID INIT/TERM          0,4
EXT122DY          T122AL  T122ALOC  ATAM SUCCESSFUL ALLOCATE       1
EXT122ON          T122WA  T122WAIT  ATAM WAIT/NOHOLD/ALOCFAIL  2,3,5
IMAC122           T122FA  T122FAIL  ATAM VARY ONLINE FAILURE       6
TYPE122           T122DY  T122DYNA  ATAM UNSUPPORTED DYNALLOC      7
TYPS122           T122ON  T122VONL  ATAM VARY ONLINE TO WAIT       8
VMAC122
VMXGINIT
Jan 16, 2008

Change 25.286  Support for new ITRF variables in subtype '10'x and '18'x
EXITRCRG       records and new subtype '20'x created by ITRF DCR77/DCR78
EXITRCRG       (PTFs UA36089,UA37073).  New variables added:
IMACITRF         Dataset  New Variables
VMACITRF         ITRFMSG
VMXGINIT                  RECTOK  ='FULL*RECOVERY*TOKEN'
Jan 16, 2008              IMSID   ='IMS*ID'
                          COMN    ='COMMITS*DURING*THIS*SCHEDULE'
                          OASN    ='ORIGIN*APPLICATION*SEQUENCE*NUMBER'
                          SUSEC   ='SERVICE*UNITS*PER*SECOND'
                 ITRFDB2
                          CPUDB2TM='IN DB2*CPU*TIME'
               New dataset ITRFCRGN, 'CONTROL REGION CPU TIME', which is
               created once each 24 hours with the daily total CPU Time
               in the IMS Control Region:
                 Dataset  New Variables
                 ITRFCRGN
                          CPUCRGTM='CONTROL*REGION*DAILY*CPU TIME'
                          IMSNAME ='IMSID*FOR THE*IMS SYSTEM'
                          INTBTIME='INTERVAL*START*DATETIME'
                          INTENDTM='INTERVAL*END*TIME'
               The IMSNAME is retained from the prior ITRF record, as
               the '20'x record contains only the time fields.

Change 25.285  The VALIDVARNAME=V7 option added by Change 25.267 to WPS
CONFIGW2       CONFIGW2 file caused ERROR: OPTION VALIDVARNAME NOT KNOWN
Jan 15, 2008   so it has been removed from CONFIGW2 member.  That option
               is the internal WPS default, but the option name is not
               supported by WPS.

Change 25.284  Change 25.189 was not completely implemented.
ANALDB2R      -Using %ANALDB2R with new PDBOUT=YES printed COPIED TO YES
READDB2        and did not perform as documented; an additional test for
VFMT102        AND &PDBOUT NE YES was required to support the new YES.
Jan 16, 2008     But then using PDBOUT=YES caused messages:
                   ERROR: Libname PDB is not assigned.
                   ERROR: Libname   _VDB2A is not assigned.
                 when no //PDB DD or LIBNAME PDB was allocated.
                 That is an error.  When PDBOUT=YES is specified, it
                 writes all DB2 output datasets to their default (or the
                 tailored) DDname, and PDB is the default for sorted DB2
                 datasets.
                -But then using no PDBOUT operand, which should write
                 all DB2 output to //WORK, still caused
                   ERROR: Libname PDB is not assigned.
                 because READDB2 had an old segment of code that should
                 have been removed by Change 25.189, now corrected, so
                 that PDBOUT= null does NOW write only to //WORK.
              -Warnings about T102S017 DOES NOT EXIST are removed with
               enhancements made in VFMT102.
   Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA.
   Thanks to Robert Carballo, Office Depot, USA.

Change 25.283  An extraneous ); was inserted in %UTILBLDP output (on a
UTILBLDP       separate line several lines after %LET EPDBOUT= text) if
Jan 15, 2008   both EXPDBOUT= and INCLAFTR= were specified.
   Thanks to Robert Carballo, Office Depot, USA.

Change 25.282  Support for seven new NTSMF Objects:
EXNTCICP          DDDDDD     DATASET   DESCRIPTION
EXNTCILI          NTCICP     CITRIXCP  CITRIX CPU UTILIZATION MGMT USER
EXNTHSMG          NTCILI     CITRIXLI  CITRIX LICENSING
EXNTHSRV          NTHSMG     HEALMGMT  HEALTH SERVICE MANAGEMENT GROUPS
EXNTOPSM          NTHSRV     HEALSERV  HEALTH SERVICE
EXNTSECT          NTOPSM     OPSMGRCN  OPSMGR CONNECTOR
EXNTSQDM          NTSECT     SECTIKAU  SECURE TICKET AUTHORITY
IMACNTSM          NTSQDM     SQLDATMI  SQLSERVER:DATABASE MIRRORING
VMACNTSM                           or  MSSQL:DATABASE MIRRORING
VMXGINIT       The SQLSERVER and MSSQL Database Mirroring records are
Jan 15, 2008   both output in SQLDATMI dataset.  The MSSQL records will
               populate variable SQLDBNAM='SQL*SERVER*DATABASE*NAME'
               while SQLDBNAM will be blank in the SQLSERVER records.
   Thanks to Roger Zimmerman, Hewitt Associates, USA.

Change 25.281  Cosmetic. If RMFINTRV definitions fall thru to create any
VMXGRMFI       work in "OTHER", a new MXG NOTE alerts you to the SYSTEM
Jan 15, 2008   and SRVCLASS that fell thru your workload definitions.
Jan 28, 2008   This is not an error, but it is recommended that all of
               your work be mapped to a unique workload variable in the
               RMFINTRV dataset.  The first ten workload names that fell
               thru are printed on the SAS log.
              -Cosmetic. Some ERROR:NEGATIVE CPU OVERHEAD for RMF 70-72s
               were in intervals in which a Policy Activation occurred,
               and data for those intervals are always wise to ignore.
               There is no flag bit that activation occurred during this
               interval, but the time of policy activation, R723MTPA, is
               now printed along with STARTIME and DURATM of the raw RMF
               record, so you can see if there was a policy activation
               to blame.  Variable CPUOVHTM in PDB.RMFINTRV will be
               negative, non-missing value. to identify the intervals
               that printed that log message.
               This message may also be seen in intervals in which the
               number of hardware CPUs was altered.
   Thanks to Chuck Hopf, Bank of America, USA.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 25.280  Support for Websphere MQ V6 System Admin Account Queue
EXMQLGMD       MQMD Structure in MQ Accounting Log non-SMF file creates
IMACMQLG       the new MQLGMQMD Dataset with the Descriptor fields for
TYPEMQLG       each event. This structure is documented on page 51 in
TYPSMQLG       Chapter 7.
VMACMQLG
VMXGINIT
Jan 11, 2008

Change 25.279  SMF 85 subtypes 38, 39, and 40 now create three datasets
EXTY85RE       TYPE85RE, TYPE85IB, and TYPE85TR.  Archaic test records
EXTY85IB       from year 2000 with shorter records were protected.
EXTY85TR
VMAC85
VMXGINIT
Jan 10, 2008
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 25.278  PDB.TYPE70 variables PCTZIBYx were created in MXG 24.02
VMAC7072       but were accidentally  not kept after MXG 24.06; they are
Jan 10, 2008   now reinstated.  PCTZIBYx/PCTIFBYx are the "MVS" values,
               variables PCTCIBYx/IFATYPE are "LPAR" values for zIIP and
               zAAP usage as noted in Change 24.184.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 25.277  Support for PSYNCH/390 SMF Record from M-Tech product
EXPSYC39       creates PSYNC390 dataset.
FORMATS        Only one of the four flag variables will have a value in
IMACPSYC       one record, but it's now too late to change the MXG code.
TYPEPSYC       May 5:  Formats were updated.
TYPSPSYC
VMACPSYC
VMXGINIT
Jan 10, 2008
May  5, 2008
   Thanks to Joe Faska, Depository Trust, USA.

Change 25.276  Support for APAR OA20043 DFSMS DYNAMIC VOLUME EXPANSION
VMAC22         adds these two variables:
Jan  9, 2008     SMF22CYL='DEVICE*HIGH*CYLINDER'
                 SMF22PCP='DEVICE*HIGH*CYLINDER*PREVIOUS'
               to the TYPE22_A dataset.

Change 25.275 -Strange error messages can occur if you did not update
VMACTPMX       your IMACTPMX member with your SYSPLEX and SYSTEM names
Jan  4, 2008   and mapping tables; messages like these:
Jan  9, 2008   >>ERROR>> MXG/SAS VARIABLE TPMXPLEX NOT ASSIGNED
                         CORRECTLY USING LOCAL PROC FORMAT $MXTPMPX IN
               >>ERROR>> EXIT MEMBER MXG.PROD.USERID.SOURCLIB(IMACTPMX).
               >>ERROR>> RUN ABORTED.  CORRECT THE FORMAT AND RESTART.
               resulted when data from SYSTEMs not in IMACTPMX was read.
               Adding an entry for each SYSPLEX and for its SYSTEMs in
               IMACTPMX solved those errors.
              -Variable JXJBSJ4 was incorrectly input as $EBCDIC, but it
               is a hex flag field, now input and formatted $HEX8.
               Jan 9: A debugging PUT was removed, VGETJESN %INCLUDEd to
                      create variable JESNR from JCTJOBID for subtype=5.
                      The current level: TM V6R1.2 at PTF TMT6116; the
                      fix for the truncated records is APAR TR61390, but
                      you are at PTF TMT6118, the APAR is TR61391.
   Thanks to James D. Lieser, UHC, USA.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.274  A GDG member that had DSNAME .VnnnnGOO' (alpha oh) caused
VMAC6156       INVALID DATA warning message when MXG INPUT the oh's as a
Jan  2, 2008   numeric.  Adding the double question mark modifier to the
               INPUT function eliminates the warning and causes GENNO to
               be a missing value:
                 IF ENTTYPID='H' THEN DO; /*GDG, GET GOOVO GEN/VER NUM*/
                   GDGLEN=LENGTH(ENTRNAME);
                   VCK   =SUBSTR(ENTRNAME,GDGLEN-2,1);
                   DOTGCK=SUBSTR(ENTRNAME,GDGLEN-8,2);
                   IF DOTGCK='.G' AND VCK='V' THEN DO;
                     GENNO=INPUT(SUBSTR(ENTRNAME,GDGLEN-6,4),?? 4.);
                     VERNO=INPUT(SUBSTR(ENTRNAME,GDGLEN-1,2),?? 2.);
                   END;
                 END;
               Scott had provided this elegant alternative that uses the
               TRANSLATE and SCAN functions, worthy of sharing:
                 IF ENTTYPID='H' THEN DO; /*GDG, GET GOOVO GEN/VER NUM*/
                   LASTNODE = SCAN(ENTRNAME,-1,'.');
                   IF TRANSLATE(LASTNODE,'%%%%%%%%%%','0123456789') =
                     'G%%%%V%%' THEN DO;
                     GENNO=INPUT(SUBSTR(LASTNODE,2,4),4.);
                     VERNO=INPUT(SUBSTR(LASTNODE,7,2),2.);
                   END;
                 END;
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.273  APAR PK38803 incompatibly alters SMF 102 IFCID 22 Record.
VMAC102       -These variables were INPUT as fixed length text, but they
Jan  2, 2008   can be longer, and can be relocated in the SMF record.
               MXG now detects the new OFFSETs and INPUTs $VARYING32:

                 Variable  Fixed Length         Label
                 QW0022CN   $EBCDIC18.    /*TABLE*CORRELATION*NAME*/
                 QW0022CR    $EBCDIC8.    /*TABLE*CREATOR*/
                 QW0022TN   $EBCDIC18.    /*TABLE*NAME*/
                 QW0022AC    $EBCDIC8.    /*QW0022XC:ACC INDEX CREATOR*/
                 QW0022AN   $EBCDIC18.    /*qw0022XN:INDEX NAME*/
                   (Note: 22AC and 22AN were original DSECT names)

               Debugging is enabled for the first 10 instances that have
               varying length fields on the MXG log, so I can validate.
              -Records with QW0022PL=. have many missing values, and the
               $CHAR vars formatted with $HEX have '20'x vice '00'x. The
               obs was created from a second record, after a legitimate
               instance with 6 observations, and has only R1O segment.
              -_S102022 SORT MACRO revised and tested for dupe removal.
              Jan 23, 2008:  Change 25.306 is now required for PK38803.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.272  The Group Capacity Name SMF70GNM is now populated only if
VMAC7072       bit 1 of SMF70PFL is ONE, as that bit indicates this LPAR
Dec 21, 2007   is part of a capacity group of that name.  If bit 1 is
               zero, SMF70GNM is blanked, because some z/OS 1.8 data had
               non-blank SMF70GNM when bit 1 was zero.  While I could
               have created a separate variable for bit 1 to identify
               this LPAR is in a capacity group, with this change there
               is no need for a second variable; now, IF SMF70GNM GT ' '
               then this LPAR is in that Capacity Group, otherwise not.
   Thanks to Al Sherkow, I/S Management Strategies, USA.

Change 25.271  Corrections for TMON/IMS support.
VMACTIMS      -CM5612TM is a datetime variable, now format DATETIME21.2.
Dec 21, 2007  -CMCOMP, CPCOMP are formatted HEX8.
              -XXTOKN Token variables are LENGTH 5 and HEX8 format.
              -CMGMTA value's second division by 4096 was removed.
              -ENDTIME is already on Local time, its GMT correction was
               removed.
              -These variables were incorrectly input as &PIB.8.6 vice
               &PD.8.6, causing too-large values when non-zero:
                 TIMSCH: CMTMEIO CMTMEPL CMMINT CMMPOL CMMSCH
                 TIMSCM: CMTMEIO CMTMEPL CMMINT CMMPOL CMMSCH
                 TIMSCN: CNTMEIO CNTMEPL CNMINT CNMPOL CNMSCH
                 TIMSCP: CPTMEIO CPTMEPL CPMINT CPMPOL CPMSCH
                 TIMSCT: CTTMEIO CTTMEPL CTMINT CTMPOL CTMSCH
               These fields were correctly documented as Packed in the
               DSECT, but overlooked originally as they all were zero.
              -Variables input &PIB.8.6 that are NOT GMT offsets are NOT
               then divided by 4096: e.g., CTRSPTME when CTSDATE and
               CTSPDATE are both non-missing matches their delta.
                 However, when CTSDATE is missing, CTRSPTME contains
                 the value of CTSPDATE shifted right by three nybbles,
                 i.e. a very large and very invalid data.
                 This problem will be passed to Landmark for correction,
                 but is circumvented by MXG setting CTRSPTME to missing.
              -Five CPU variables are documented on the DSECT as (MILS)
               for milliseconds and have always been input as &PIB.4.3:
                 CHCUMCPU CMCUMCPU CNCUMCPU CPCUMCPU CTCUMCPU
              -But eleven REGION*CPU*TIME variables have no clue as to
               their decimal place location:
                 CHCTCPUT CHDBCPUT CHDLCPUT CHIRCPUT CHCQCPUT
                 CJTXNCPU
                 CNCTCPUT CNDBCPUT CNDLCPUT CNIRCPUT CNCQCPUT
               I have arbitrarily input them as &PIB.4.3 (MIL) but this
               must be validated.
              -These variables are assumed input of &PIB.4.6 to be like
               their xxDUR counterparts, but this must be validated:
                 CMSQ6GM CMACCQ6 CNSQ6TM CNACCQ6 CPSQ6GM CPACCQ6
                 CUSQ6GM CUACCQ6
   Thanks to Warren Waid, JC Penny, USA.

Change 25.270  For ASUM70PR, IMACRMFI tailoring with INTERVAL=DURSET
ASUM70PR       can NOT be used, and output datasets created with that
VMXG70PR       tailoring will be invalid if STARTIME is changed in your
Dec 19, 2007   IMACRMFI member and you used the default ASUM70PR, which
               specified INTERVAL=DURSET as its default prior to this
               change.  You must use INTERVAL=HOUR, QTRHOUR, etc. in
               in your %VMXG70PR invocation in your ASUM70PR member to
               specify the desired interval.

               For RMFINTRV, you can still use IMACRMFI/DURSET, because
               it is a per-SYSTEM dataset, but I still recommend you use
               INTERVAL=xxxx and not use IMACRMFI, for clarity.

               Here's the problem with DURSET/IMACRMFI for ASUM70PR:
                 Because ASUM70PR summarization combines SYSTEMs that
                 can have different STARTIME, it uses and resets the
                 value in SMF70GIE.  When I detect INTERVAL=DURSET, I
                 have to detect if STARTIME was changed in IMACRMFI, and
                 if so, then MXGDURTM (that you added in your IMACRMFI
                 per Change 25.150) must be added to STARTIME to create
                 SMF70GIE.  I though I could use this code:
                     OLDSTART=STARTIME;
                     _DURSET;
                     IF STARTIME NE OLDSTART THEN DO;
                 and that worked with the first test case.

                 However, I now discover that the test will always fail
                 if STARTIME is already exactly on the interval, i.e.
                 STARTIME=DHMS(DATE,HOUR,0,0); for HOURly intervals will
                 equal OLDSTART when OLDSTART is exactly on the hour.
                 Since I can only detect some, but not all, changed obs,
                 I cannot support IMACRMFI and DURSET in ASUM70PR.

                 This is a rare problem; using INTERVAL=value in the
                 ASUM70PR invocations of %VMXG70PR and RMFINTRV invokes
                 of %VMXGRMFI is self-documenting and works safely,
                 so this change is mostly this change text and updates
                 to the INTERVAL= documentation comments in the cited
                 members.

Change 25.269  Support for SMF 50 subtype 4 OSA-MPC VTAM record adds new
EXTY50         observations with ATTCHTYP=4 to TYPE50 dataset, but only
FORMATS        if this DEV had activity during this interval; the logic
VMAC50         that deletes zero-activity intervals is in the EXTY50
Dec 22, 2007   if you should want to output all of those observations.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

====== Changes thru 25.268 were in MXG 25.11 dated Dec  7, 2007=========

Change 25.268  The date in MXG 25.11 was typo'ed as year 2006 in several
AAAAAAAA       members, but the member CHANGES was correct with 2007.
COPYRITE       The dates were corrected and the ftp site was refreshed
Dec  7, 2007   on Tuesday with the Dec  7, 2007 date.
   Thanks to Mike Ryan, Acxiom, USA.

Change 25.267  If the option VALIDVARNAME=V6 is set in your site's SAS
AUTOEXEC       options, a temporary variable in VMAC78 caused
AUTOEXEU        ERROR: The variable named N78HCNTCN contains more than
AUTOEXEW               8 characters
CONFIGV8       because the V6 value restricts the length of variable's
CONFIGV9       names to be 8 bytes or less.
VMAC78         MXG tests with the default VALIDVARNAME=V7, which allows
Dec  7, 2007   variable names to be up to 32 characters.
               But almost all MXG variables will always be 8-bytes or
               less, because I think shorter, encoded, albeit cryptic,
               variable names are easier for PROGRAMMERs to work with.
               But because some new open systems code was written with
               their long names, and because change the default in the
               MXG members can do no harm but can avoid future errors,
               VALIDVARNAME=V7 has been added to MXG CONFIGVx and the
               AUTOEXEx members.
   Thanks to Andreas von Imhof, Rabobank Nederland, THE NETHERLANDS.

Change 25.266  The MXG ERROR.VMAC110... messages are updated to print
VMAC110        the CICS/TS 3.2 expected values.
Dec  6, 2007
   Thanks to MP Welch, SPRINT, USA.

Change 25.265  Required for DB2 Version 9.1, DB2TCBTM correction.
VMACDB2        DB2TCBTM could be significantly less than it should be in
Dec  7, 2007   non-rollup observations in DB2ACCT.  The CPU time delta
               QWACEJST-QWACBJST was NOT included in DB2TCBTM when
               QWACBJST was zero (and DB2PARTY NE 'R') in DB2ACCT.
               And the loss has only been reported at sites with zIIP
               engines for their DB2 systems.

               Prior to DB2 V1.9, IBM DSNWMSGS documentation noted that
               QWACBJST=0 meant that CPU timing was in error, and so MXG
               had always NOT included that QWACEJST-QWACBJST delta in
               MXG's DB2TCBTM variable.  Accidentally, DB2TCBTM for the
               Rollup Records (i.e., DB2PARTY='R") has always included
               the QWACEJST when QWACBJST=0.
               Note that
                    DB2TCBTM=SUM(DB2TCBTM,QWACSPCP,QWACTRTE);
               is the final value output in DB2ACCT dataset.

               Now, IBM DB2 Level 2 Support has confirmed in a reply to
               an MXG site that QWACBJST=0 is valid and the QWACEJST in
               those records should be included in DB2TCBTM, adding that
               "If we have an agent running 100% on a zIIP, QWACBJST
               will be zero."  It was only after that reply from IBM DB2
               Support that I looked to see the CPU timing not is not in
               DSNWMSGS in the DB2 V 1.9 Macro Library.

               To see if this change impacts your DB2ACCT dataset, you
               can measure how much DB2TCBTM was lost with

                  PROC MEANS SUM DATA=PDB.DB2ACCT
                    (WHERE= (DB2PARTY NE 'R' AND QWACBJST=0));
                  VARIABLES QWACEJST;
                  TITLE TOTAL QWACEJST NOT INCLUDED IN DB2TCBTM;

               If no observations are selected, no CPU time was lost.

               Several folks at DB2 Support were ultimately involved in
               the problem, providing this information about PK46171:
               - Class 1 CP, zIIP, and elapsed times could be incorrect.
                  Because we don't get a 'start accounting' call:

                  1. QWACBSC would be from the last transaction to see a
                     start

                  2. QWACBJST would be the CP time from the last
                     transaction to see a start -- this can result in
                     this number being unrelated to QWACEJST

                  3. QWACCLSL_ZIIP would be effected similarly to
                     (QWACEJST - QWACBJST) since it is internally
                     calculated from a start ziip time that can be
                     unrelated to the end time

                  4. QWACAJST and QWACCLS2_ZIIP are probably not
                     noticeably effected although there could be an
                     extremely small amount of time that is not counted.

                     Above symptoms only occur in DRDA work when
                     connection-reuse is in effect.  I can't see any
                     record said lacking of PK46171 will directly make
                     qwacbjst to zero.
                - And this note on why QWACBJST can validly be zero.
                  From dump, we can see CPUTIME is 0 but zIIP time is >0
                  and this is a zIIP eligible distributed SRB.  Thus
                  this is working as expected.  The CP time can be 0
                  since all time might be on a zIIP at the time of the
                  first clocking. As long as either the CP or the zIIP
                  time > 0, that is normal.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY
   Thanks to Derrick Haugan, MetLife, USA.
   Thanks to Lisa Ouellette, Wachovia, USA.
   Thanks to Jim Lazowski, NAV-INTERNATIONAL, USA.
   Thanks to Uncha, DB2 Level 2 Support, GERMANY.
   Thanks to Ronald Lobodzinski, DB2 Level 2 Support, USA.

Change 25.264  For consistency with MXG tailoring macro variables, new
IMACSPCK       &MACSPCK is defined in VMXGINIT and referenced in the
VMXGINIT       IMACSPCK tailoring member, though unlikely to be used.
Dec  5, 2007
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.263  Some DD DUMMY statements for INFILEs for new products
JCLTEST8       were missing in the TESTOTHR/TESSOTHR steps, and there
JCLTESS8       were inconsistencies in the TEST vs TESS members that
JCLTEST9       were corrected in these four test members. The main
JCLTESS9       purpose of these TEST/TESS jobs is to confirm that your
Dec  4, 2007   "USERID.SOURCLIB" tailoring did not cause any errors in
               the TESTIBMx steps, so a failure in a subsequent step due
               to a missing DD statement should not prevent you from
               moving to JCLPDB8/JCLPDB9 testing.
   Thanks to Eric Barnes, Scottish and Southern Energy, SCOTLAND.

Change 25.262  The 233 DDU files needed for ITRM sites to create ITRM
TYPETNG        table definitions for each of the 233 datasets built
Dec  4, 2007   by MXG's TYPETNG (for CA's NSM product, formerly TNG).
               There is also the cpddudef.sas program that is used
               to generate all table definitions,.  You will need to
               replace &YOUR_PDB_PATH & Your_DDU_PATH in cpududef.sas
               with your paths.  The creation was run under a SAS ITRM
               interactive session.
               The itrmtng.sas file contains all 234 files in IEBUPDTE
               format; the individual files can be created by using the
               IEBUPDTE.SAS program in the MXG Source Library with the
               itrmtng.sas file as it's input.
   Thanks to Xiaobo Zhang, CheckFree, USA.

Change 25.261  Variable LGGLGDEF in CICS dataset CICLGG is the Log Write
VMAC110        Defer Interval, the value specified in the site's LGDFINT
Nov 29, 2007   parameter, but the MXG format only printed 2 decimals;
               the value is normally in milliseconds, so the format
               TIME13.3 is now used so a value of 5 ms will print as
               00:00:00.005.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 25.260  ITRTVLTM in TYPE30_V or PDB.SMFINTRV could be missing
VMAC30         for TYPETASK='OMVS' record; it is now protected twice,
Dec  1, 2007   in the SUBSTEP loop, and at the OUTPUT statement.
   Thanks to Carl Sablon, KBC, BELGIUM.

Change 25.259  VMXGALOC bumped to the next week's PDB one day early, and
VMXGALOC       could do even worse if the week-start-day was not Monday.
Nov 29, 2007   The logic was revised for both errors by this CodeShark.
   Thanks to Patrick Holloman, Zions Bank Corporation, USA.

Change 25.258  Intentionally Blank Change (a/k/a skipped).

Change 25.257  Support for ICSF HCR7750 SMF Logging Update for TKE adds
FORMATS        these new variables to SMF type 82 subtype 16 TYPE8216:
VMAC82            SMF82PAL='LENGTH OF*FIXED*AUDIT*DATA*'
Nov 29, 2007      SMF82PDE='DESCRIPTION'
                  SMF82PFI='FUNCTION*ID'
                  SMF82PFR='FUNCTION*RETURN*CODE'
                  SMF82PTA='TKE*AUTHORITY'
                  SMF82PUS='USER ID*NONCE*TSN'
               and incorrectly spelled SMF82PDK is now SMF82PBK.
               New MG082RC format decodes SMF82PFR.
   Thanks to Greg Burt, Fifth Third Bank, USA.

====== Changes thru 25.256 were in MXG 25.11 dated Nov 22, 2007=========

Change 25.256  Macro variable &MXGDEBUG is revised for internal debugs.
TIMEBILD       It's value is now the name of the member, suffixed with a
UTILRMFI       numeric value when multiple values are needed. Previously
VMXGRMFI       tests were for a simple numeric value, which triggered
VMXGSUM        unwanted debugging diagnostics from other code members.
VMXGSUME       And, UTILEXCL now exploits &MXGDEBUG with BEFORE/AFTER
UTILEXCL       location for each of the optional CICS data segments, so
Nov 21, 2007   diagnosis of user tailoring errors will be faster!
                 For example, you could use:
                    OPTIONS FIRSTOBS=3800 OBS=3800;
                    %LET MXGDEBUG=IMACEXCL;
                    %INCLUDE SOURCLIB(TYPE110);
                 if you had an error after IMACEXCL/IMACICxx members
                 were tailored, and the error was in _N_=3800th record.

Change 25.255  Support for Action Software's EventAction SMF User Record
EXEVTA00       creates new datasets:
EXEVTA01         DDDDDD     DATASET   DESCRIPTION
EXEVTA02
EXEVTA03         EVTA00     EVTA00    DATASET CHANGE OR REFERENCE
EXEVTA04         EVTA01     EVTA01    CHANGESMXSMF)
EXEVTA05         EVTA02     EVTA02    REFERENCES MZSMF)
EXEVTA06         EVTA03     EVTA03    CHANGE ACTION CONTROLS
EXEVTA07         EVTA04     EVTA04    TEST ACTION C506)
EXEVTA08         EVTA05     EVTA05    COMMAND CONTROL C507)
EXEVTA09         EVTA06     EVTA06    CHG.DISTRIB TRANSMITS MZSMF)
EXEVTA0A         EVTA07     EVTA07    REF.TRACKING BY MEMBERS CS501)
EXEVTA0B         EVTA08     EVTA08    UPDATE TO EXCLUDES TABLE C41E)
EXEVTA0C         EVTA09     EVTA09    UPDATE TO BLACKOUT TABLE C427)
EXEVTA0D         EVTA0A     EVTA0A    UPDATE TO DATASET OPTIONS C404)
EXEVTA0E         EVTA0B     EVTA0B    UPDATE TO MEMBER OVERRIDE C405)
EXEVTA0F         EVTA0C     EVTA0C    OPTIONS AT OID LEVEL C40F)
EXEVTA10         EVTA0D     EVTA0D    GLOBAL PARMS C401)
EXEVTA11         EVTA0E     EVTA0E    DATA SET GLOBAL OPTIONS C401)
EXEVTA12         EVTA0F     EVTA0F    PXC
EXEVTA40         EVTA10     EVTA10    UPDATE TO USER GROUP
EXEVTA50         EVTA11     EVTA11    EXCLUDES NOT REF.TRK)
EXEVTA51         EVTA12     EVTA12    UPDATE TO CMD>TRACK OPTIONS
EXEVTAF0         EVTA40     EVTA40    CHANGE REQUEST DELETE
EXEVTAF1         EVTA50     EVTA50    USS CONTROLS
IMACEVTA         EVTA51     EVTA51    USS EXCLUDES
TYPEEVTA         EVTAF0     EVTAF0    ACCOUNTING RECORDS C50C)
TYPSEVTA         EVTAF1     EVTAF1    USS CHANGS AND REFERENCES
VMACEVTA
VMXGINIT
FORMATS
Nov 18, 2007
   Thanks to Craig Collins, State of Wisconsin DOA DET, USA.

Change 25.254  New sample report summarizes the DB2 Package data to the
ANALACTP       UOW level keeping track of total response and CPU,
Nov 18, 2007   the longest package, the first 10 packages.
Jan  8, 2008   Jan 8: Typos in the untested code were discovered/fixed.
                      Example expected UOWIDCHR variable had been added
                      to your DB2ACCTP dataset, but didn't show how to,
                      or note it could be removed from ANALACTP example.
   Thanks to Dan Almagro, Automobile Club of Southern California, USA.

Change 25.253  Support for new NTSMF MSSQL Objects.
EXNTQLBA          DDDDDD     DATASET      DESCRIPTION
EXNTQLBN
EXNTQLBS          NTQLBA     MSQBROAC     MSSQL:BROKER ACTIVATION
EXNTQLBT          NTQLBN     MSQBUFND     MSSQL:BUFFER NODE
EXNTQLCA          NTQLBS     MSQBROST     MSSQL:BROKER STATISTICS
EXNTQLCL          NTQLBT     MSQBRODT     MSSQL:BROKER/DBM TRANSPORT
EXNTQLCT          NTQLCL     MSQCLR       MSSQL:CLR
EXNTQLCU          NTQLCA     MSQCATME     MSSQL:CATALOG METADATA
EXNTQLES          NTQLCU     MSQCURMG     MSSQL:CURSOR MANAGER TOTAL
EXNTQLPC          NTQLCT     MSQCURTY     MSSQL:CURSOR MANAGER BY TYPE
EXNTQLSR          NTQLES     MSQEXECS     MSSQL:EXEC STATISTICS
EXNTQLTR          NTQLPC     MSQPLANC     MSSQL:PLAN CACHE
EXNTQLWS          NTQLSR     MSQSQLER     MSSQL:SQL ERRORS
IMACNTSM          NTQLTR     MSQTRANS     MSSQL:TRANSACTIONS
VMACNTSM          NTQLWS     MSQWAITS     MSSQL:WAIT STATISTICS
VMXGINIT
Nov 18, 2007
   Thanks to Bob Gauthier, Albertsons, USA.

Change 25.252  Changes for testing MXG execution under WPS:
CONFIGW2      -MXGWPSV2. JCL procedure updated for WPS under z/OS
MXGWPSV2      -VMXGINIT. Test for identification of WPS revised, code
VMXGINIT                 was relocated to after TAPENGN was set for SAS:
VMXGPRAL           %IF %SYSPROD(WPS) EQ 1 %THEN %DO;
ANALDB2K             %LET WPSVER=&SYSVER;
ANALHTML             %LET SASVER=8;
ANALMQMC             %LET TAPENGN=WPDSEQ;
ASUM42DS           %END;
ASUMCACH      -CONFIGW2.  CONFIG options now specify SEQENGINE=WPDSEQ.
ASUMHSM      -VMXGPRAL. Tests for ENGINE adds WPDSEQ to list of seqs.
ASUMTALO               Unrelated, SUM was added to PROC MEANS output.
CICSTRAN     -VMXGINIT.  WPS does not yet support VIEWS; all members
DB2PDB                   with /VIEW=XXXXXX were replaced with &VWxxxxxx
GRAFRAID                 macro variables that are %LET to the correct
JCLUOWP                  View-NAME under SAS but blanked under WPS.
JCLUOWV                    This change will be reversed when WPS has
UTILRMFI                   added support for Views.
UTILUOW      -ANALDB2K thru VMXGUOWT listed at left were "View-Revixed".
VMXGCAPT      WPS Level Tested successfully was Build (8460).
VMXGSUM
VMXGSUME      MXG Newsletter FIFTY-ONE, VI.A WPS Technical Note reports
VMXGUOTT      1. Current status of MXG Testing under WPS Betas Nov 2007.
               1.j. MXG Support Position for testing of WPS Release.
VMXGUOW       2. Run time comparisons.
VMXGUOWT      3. Revision to SAS Clones article in MXG Newsletter FIFTY.
Nov 19, 2007  4. Summary and statistics
Jan 30, 2008  Jan 30: typo VMUM corrected to VWUM.
   Thanks to Brian Carter, EDS, UK.

Change 25.251  Several variables starting with R7021xxx had '2048-BIT'
VMAC7072       in their labels, but those are all '1024-BIT' counts and
Nov 17, 2007   durations; their labels are now corrected.
   Thanks to Miguel F. Monferrer Carvajal, SPAIN.

Change 25.250  Variable TARCELAP is now FORMATed TIME12.2.
VMACTMNT
Nov 17, 2007
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.249  Variable TAUSRDAT was INPUT as $EBCDIC32. but can have up
VMACTMO2       to 240 bytes of data; INPUT statement was revised to use
Nov 17, 2007   TAUSRLEN to determine the length of user data input.
   Thanks to Rodger Foreman, Acxiom, USA.

Change 25.248  The current VMXGSUM creates output variables with stored
VMXGINIT       LENGTH of 5 (z/OS) or 6 (ASCII), based on the value of
VMXGSUM        &MXGLEN (set in VMXGINIT), unless they are used in the
Nov 18, 2007   SUMLONG=, MAXTIME=, OR MINTIME= arguments, which always
               create LENGTH 8 variables. You could change those lengths
               with an explicit LENGTH statement in OUTCODE=, or you
               could change the &MXGLEN value, but that would also
               change subsequent LENGTHs of all defaulting variables in
               subsequent steps in the same SAS session/step.
               The SUMBY= and ID variables are output in the same length
               they were in the input dataset, or in the INCODE= code if
               that is where they were created.  They could be changes
               in the ORDER= argument.
               This change creates macro variable &LNSUMOUT which will
               only apply to VMXGSUM and makes all variables on which we
               do mathematical operations to be LENGTH 8.
               The default value of LNSUMOUT is blank, so the variables
               will have the original (shorter) length unless you set
               %LET LNSUMOUT=8; in your //SYSIN stream.
                 Apr 2008: DO NOT USE LNSUMOUT.  See Change 26.065.
   Thanks to MP Welch, SPRINT, USA.

Change 25.247  WebSphere SMF 120 Subtype 3 with two heap ids SM120SNT=2
VMAC120        caused INPUT STATEMENT EXCEEDED RECORD or INVALID DO LOOP
Nov 13, 2007   CONTROL error; only SM120SNT=1 records had been read and
               this condition exposed an MXG logic error, now corrected.
   Thanks to Bjorn Helgestad, VPS ASA, NORWAY.

Change 25.246  A CFI record with only a header segment caused ASMRMFV
ASMRMFV        to burp and die with an 0C4; this revision protects.
Nov 13, 2007   Additional enhancements are noted in the changes in the
Nov 17, 2007   ASM source comments.
   Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 25.245  CA PDSMAN product's SMF record created megabytes of data
VMACPDSM       when diagnostic trace records (LGRTYPE='D') were enabled,
Nov 12, 2007   and CA's recommendation was to suppress them and also the
               Resource Monitoring (LGRTYPE='M') record processing.
   Thanks to Sudie Wulfert-Shcickendanz, Anheuser-Busch, USA.

Change 25.244  The IRRDBU00 RACF DATABASE UNLOAD record '0200' comes in
VMACRACF       two different lengths, 540 and 549, but MXG expected the
Nov 12, 2007   549 length record, which caused INPUT RECORD EXCEEDED
               error when the shorter record was read. Both lengths are
               now supported.
   Thanks to Sean Angley, IBM, CANADA

Change 25.243  The automatic PROC DELETE of the WORK.UNKNOWN dataset is
TYPETNG        removed, so that that dataset will exist after TYPETNG or
TYPSTNG        TYPSTNG program is used to process CA NSM (old TNG) data.
Nov  6, 2007   If there are non-zero observations in WORK.UNKNOWN, it is
               very possible that some or all data will not have been
               output by MXG logic, so leaving WORK.UKNOWN will allow
               it to be tested for possible unknown data records.
   Thanks to Xiaobo Zhang, CheckFree, USA.

Change 25.242  NDM record 'UC' is now output in NDMAE dataset.
VMACNDM
Nov  5, 2007

Change 25.241  Support for CICS Transaction Gateway 7.1.0 new SMF 111
EX111CM        statistics record:
EX111CM        datasets:
EX111CS           DDDDDD     MXG       MXG
EX111CXE          DATASET    DATASET   DATASET
EX111CXI          SUFFIX     NAME      LABEL
EX111GD
EX111PH           111CM      T111CM    CICS CTG COMMUNICATIONS MANAGER
EX111SE           111CS      T111CX    CICS CTG CICS SERVER
EX111WT           111CXE     T111CXE   CICS CTG EXCI SERVER INSTANCE
IMAC111           111CXI     T111CXI   CICS CTG IPIC SERVER INSTANCE
VMAC111           111GD      T111GD    CICS CTG GATEWAY DAEMON
VMXGINIT          111PH      T111PH    CICS CTG PROTOCOL HANDLER
Nov  5, 2007      111SE      T111SE    CICS CTG SYSTEM ENVIRONMENT
Nov 21, 2007      111WT      T111WT    CICS CTG WORKER THREADS

Change 25.240  Full Support for CICS/TS 3.2 Compressed Data.
EXITCICS       MXG incorrectly believed that '20'x bit in MCTMNOPN was
VMAC110        true when CICS/TS 3.2 SMF 110-1 records are internally
VMAC112        compressed, but that bit only indicates that the compress
Nov  3, 2007   option was enabled for this CICS region.  This caused MXG
Nov 13, 2007   to falsely report the EXITCICS decompression exit was not
               correctly installed, when Dictionary Records (MNSEGCL=1),
               which are never compressed, were read. MXG now tests for
               non-zero MCTSSCRL, which is the documented condition for
               a compressed CICS SMF 110 or 112 record.
              -VMAC112 was similarly changed to test for non-zero OMSPCL
               to detect compressed SMF 112 records.
              -This incorrect assumption had also been passed in my spec
               for the EXITCICS logic, which had just turned off that
               '20'x bit in its decompressed output. Now, EXITCICS sets
               MCTSSCRL or OMSPCL to zero after decompression.
              -If you previously assembled EXITCICS prior to this change
               you must reassemble with this revised EXITCICS member AND
               use the revised MXG's VMAC to read compressed records.

Change 25.239 -Support for new THRUPUT MANAGER variables in TYPETPMX:
EXTPMALG         JXSLMCC ='JXSLM*CONTROL*CENTER'
EXTPMDBS         JXSLMCC ='JXSLM*CONTROL*CENTER'
EXTPMSLM      -New SLM JOB Statistics subtype 5 creates TPMSLM dataset.
FORMATS       -New DBS POOL subtype 240 creates two new datasets:
IMACTPMX         TPMALG - Algorithm data
VMACTPMX         TPMDBS - DBS Pool data
VMXGINIT      -Jan 4: Variables JESNR JCTJOBID added to TPMSLM dataset.
Nov  3, 2007  -Jan 9: GA records have corrected ETP truncation that was
Jan  4, 2008          originally reported here.
Jan  9, 2008
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.238  Optional OMEGAMON BSC segment for CICS/TS 3.2 did NOT
IMACICOB       increase time-duration/count fields to the full 12-byte
IMACICOC       resolution that I had ASS-U-Med, which caused MXG ERROR
IMACICO2       message INVALID STRTTIME.  I made the same assumption for
Nov  2, 2007   all three Omegamon segments with time/count fields, so I
               now assumed that the other two segments also have 8-byte
               fields (IMACICOB for OMEGDB2, IMACICO2 for OMEGAMON), so
               those two members also are reverted.  And, of course, if
               Omegamon does increase their fields to full 12-bytes,
               yet another MXG change will be required.
   Thanks to Ray Dunn, CIGNA, USA.

Change 25.237  Variable LCPUWAIT='LCPU 28*WAIT*COMPLETE?' in PDB.TYPE70
VMAC7072       was not kept after MXG 23.09, but the same named variable
Nov  1, 2007   LCPUWAIT='LPAR*WAIT*COMPLETION?' in PDB.TYPE70PR was, and
               that was the source of the problem.  Now, a rename fixes
               this error, which was introduced in the infamous SPLIT70
               rewrite.
   Thanks to Enzo Rossi, Demand Technology Software, ITALY.

Change 25.236  Change 24.141 with z/OS at 1.7 or earlier caused TYPE78IO
VMAC78         dataset to have zero observations; MXG tested SMF78RSQ
Oct 31, 2007   for zero or one, but SMF78RSQ does not exist when the
Nov  1, 2007   RMF product segment is only 104 bytes.  The test was
               revised to output TYPE78 for missing value, zero or one.
               But then, the duplicate observations created were NOT
               removed by the NODUP option, because the SMFTIME in the
               second or third replicates was not exactly the same value
               as the first, so the _STY78IO sort macro was rewritten to
               remove those with identical SMFTIMEs, and an extra DATA
               step is used to keep only the FIRST.SMFTIME instance.
               (The additional logic is invoked, but not needed, when
               the SPLIT 78 records have a valid SMF78RSQ value.)
   Thanks to Peter B. Hopper, CSC, AUSTRALIA.
   Thanks to Steven Olmstead, Northwestern Mutual, USA.

Change 25.235 -Support for new Solaris CA CUBE STORE GROUP object and
EXTSO030       new variables in existing Solaris MIB-2.
EXTAI027      -Support for two new AIX Objects.
EXTAI028      -Support for 10 new RedHeat Objects, many new Metrics
EXTRH020       for existing RedHat Objects.
EXTRH021
EXTRH022
EXTRH023
EXTRH024
EXTRH025
EXTRH026
EXTRH027
EXTRH028
EXTRH029
FORMATS
VMACTNG
VMXGINIT
Oct 31, 2007
   Thanks to Xiaobo Zhang, CheckFree, USA.

Change 25.234  New variables added to OAM SMF 85 subtype 32-35 record
VMAC85         by z/OS 1.7 are now input and kept in TYPE85ST dataset:
Oct 28, 2007      R85B2ODK='BACKUP2*BYTES*DELETED FROF*OPTICAL'
Nov  1, 2007      R85B2ODO='BACKUP2*OBJECTS*DELETED FROM*OPTICAL'
                  R85B2ORK='BACKUP2*BYTES*READ FROM*OPTICAL'
                  R85B2ORO='BACKUP2*OBJECTS*READ FROM*OPTICAL'
                  R85B2OWK='BACKUP2*BYTES*WRITTEN TO*OPTICAL'
                  R85B2OWO='BACKUP2*OBJECTS*WRITTEN TO*OPTICAL'
                  R85B2TDK='BACKUP2*BYTES*DELETED FROF*TAPE'
                  R85B2TDO='BACKUP2*OBJECTS*DELETED FROM*TAPE'
                  R85B2TRK='BACKUP2*BYTES*READ FROM*TAPE'
                  R85B2TRO='BACKUP2*OBJECTS*READ FROM*TAPE'
                  R85B2TWK='BACKUP2*BYTES*WRITTEN TO*TAPE'
                  R85B2TWO='BACKUP2*OBJECTS*WRITTEN TO*TAPE'
                  R85NTE  ='TAPE*VOLUMES*EXPIRED'
                  R85RCLD ='RECALLED*OBJECTS*PROCESSED*THIS CYCLE'
                  R85RCLK ='BYTES OF*RECALLED*OBJECTES*THIS CYCLE'
               and these variables added by z/OS 1.8 are input/kept:
                  R85LOBD ='ROWS*DELETED*FROM LOB*STRUCTURE'
                  R85LOBI ='ROWS*INSERTED*INTO LOB*STRUCTURE'
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.

Change 25.233  The COMPRESSED RECORD FOUND error was printed for a CICS
VMAC110        dictionary record, but the MNSEGCL flag that identifies
Oct 27, 2007   the record IS a dictionary record was not printed.

Change 25.232  Change 25.124 added preliminary support for WPS execution
VMXGINIT       but it forced WPSVER=2; now, the actual WPSVER is stored
Oct 26, 2007   in &WPSVER.

Change 25.231  Change 25.177 created new macro variable &ARRAYRMF, but
VMXGINIT       the location in VMXGINIT was inside a DO GROUP that was
Oct 26, 2007   only executed for SAS V8.2, causing UNRESOLVED MACRO when
               MXG executed under SAS Version 8.1.  The statement was
               relocated so it is always executed, no matter what SAS
               version is used.
   Thanks to John Compton, ACS, USA.

Change 25.230  MXG support for IMF 4.3 used the new offset field to the
VMACCIMS       DBD segments when it was non-zero, but PTF BQI0129 for
Oct 23, 2007   IMF 4.2 populated that previously reserved field, which
               caused INPUT EXCEEDED error and this error message:
               INVALID IMS TRANSACTION RECORD LENGTH=836 WITH xxx
               48-BYTE DBDS EXPECTED AFTER COL=32765 _N_=1
               Now, MXG only uses the 4.3 offset to DBDs when the IMF
               version is 4.3 or greater.
   Thanks to Siegfried Trantes, IDG, GERMANY.

Change 25.229 -NMON data for AIX for PDB.NMONCPUD records can have the
VMACNMON       number of CPUnn records increase and decrease as AIX adds
Oct 23, 2007   or subtracts "virtual" CPUs, and when a CPUnn goes away,
Nov  2, 2007   NMON wrote a short record, which caused INPUT EXCEEDED
               error.  Now, MXG detects and deletes these short records.
               Note that the PDB.NMONINTV dataset, in NRCPUS variable,
               has the number of "real" CPUs.  However, in this case,
               the value of NRCPUS was always 6, even though there were
               CPUnn segments with CPU14 (i.e., there should have been
               NRCPUS=7, as there are 2 "virtual" CPUs for each "real".
              -Temporary variables WORD11-WORD24 were not set to LENGTH
               $128, so they took the SAS default of 8-bytes for CHARs,
               causing character variables stored from them to also have
               a stored length of 8 bytes.  Now, all WORDnn are $128,
               and specific LENGTHs for kept variables are used where
               needed.
              -Variables NRCPU, PID, and PPID are now numerics.
              -NMON data value 'nan' is 'Not a Number' and is stored in
               the data records, causing INVALID DATA messages until
               each instance is protected with double question marks!!
               Sometimes spelled NaN.
   Thanks to Mike Woelke, Boeing, USA.

Change 25.228  Protection for invalid SMF 14 record that had NUCB=2 but
VMAC1415       only one actual UCB segment.  This record caused ERROR:
Oct 17, 2007   INPUT STATEMENT EXCEEDED RECORD LENGTH.  Protection will
               print error message for first three bad instances.
   Thanks to William Carrol, Grange Insurance, USA.

Change 25.227  Variable RPRTCLAS is now kept in TYPE72DL dataset to flag
VMAC7072       a Service Class versus a Reporting Class observation. It
Oct 16, 2007   was not kept previously because the SMF manual mentioned
               only service classes, but actual data shows TYPE72DL can
               contain both Service and Reporting Class observations.
   Thanks to Harald Seifert, HUK-COBURG, GERMANY

Change 25.226  UPRINDOC will PROC PRINT the NAME and LABEL of variables
UPRINDOC       and is used to create the example output in the ADOCxxxx
Oct 16, 2007   members, and it also PROC MEANS all numeric variables.
               It's been in MXG for years, but never documented.

Change 25.225  RMF III variable ENCCPUT is labeled 'CP*ENGINE*CPU TIME'
VMACRMFV       now, because it is recalculated to remove zIIP CPU time:
Oct 16, 2007     ENCCPUT=ENCCPUT-ENCSUPT;
Oct 31, 2007   when it was found (and confirmed by RMF support) that it
               contained both CP and zIIP Engine CPU time, but MXG will
               always preserve the CP-Engine CPU times separately from
               the zIIP and/or zAAP engine CPU times.
   Thanks to Rodger Foreman, Acxiom, USA.

Change 25.224  The tests for CPUTYPE IN ('2064'X ...) are revised to now
VMAC7072       alternatively test for ZARCHMDE='Y', so that a new value
VMXGRMFI       for CPUTYPE does NOT have to be added to MXG's table.
Oct 16, 2007     Previously, an unknown CPUTYPE was INCOMPATIBLE until
Oct 27, 2007   it was added to the tables in these two members.
               The tests for CPUTYPE were needed to identify which data
               exists in some of the early CPU types, but now that IBM
               has added the bit for ZARCHMDE, it eliminates the need
               for a new MXG version when IBM has a new CPUTYPE.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 25.223  The variable HOST is increased to 32 bytes; the original
VMACNMON       length of 8 is insufficient for unix/AIX/linux host name.
Oct 15, 2007
   Thanks to Michael W. Wolke, Boeing, USA.

Change 25.222  EXIT112 is the enhanced CICS INFILE EXIT for z/OS MXG
EXIT112        that reads compressed SMF 110 and SMF 112 records, but it
Oct 13, 2007   is temporary, as it will replace EXITCICS when a site
               reports successful production sites with both records.

               EXITCICS is running in production at several sites.

               EXIT112 is an extension to EXITCICS, and EXIT112 has been
               tested, but only with a small SMF file.  I recommend that
               EXIT112 be installed instead of EXITICS, and ask that you
               confirm successful processing compressed 110 and 112 data
               so that I can remove EXIT112 and rewrite this change.

Change 25.221  Support for CA NSM data from VM Ware VSX Systems creates
EXTVW001-      ten new datasets.  Many VMW metrics are the same as their
EXTVW010       Solaris and RedHat Linux counterparts, but with different
FORMATS        variable names because not all exist and they are created
IMACTNG        in different orders. While "TNG" still must be the suffix
VMACTNG        for the MXG code members, the dataset labels of all "TNG"
VMXGINIT       datasets are now changed to "NSM".  New VM Ware datasets:
Oct 13, 2007     DATASET    DDDDDD    DESCRIPTION
                  VW001     VW001     NSM CA CPU GROUP
                  VW002     VW002     NSM CA FILE SYSTEM
                  VW003     VW003     NSM CA INTERFACE GROUP
                  VW004     VW004     NSM CA KERNEL CONFIG GROUP
                  VW005     VW005     NSM CA MEMORY GROUP
                  VW005     VW005     NSM CA NETWORK GROUP
                  VW007     VW007     NSM CA PER CPU GROUP
                  VW008     VW008     NSM CA SWAP GROUP
                  VW009     VW009     NSM CA PROCESS GROUP
                  VW010     VW010     NSM VIRTUALIZED ENVIRONMENT
   Thanks to Xiaobo Zhang, CheckFree, USA.

Change 25.220  The LABEL for SMF91OW was correct in TYPE91 datasets, but
ANAL91         it was changed in ANAL91, incorrectly, in an unneeded and
Oct 11, 2007   redundant and now removed LABEL statement.
   Thanks to Dave Krouse, IBM, USA.

Change 25.219  TYPE74CA variable FWDC was replaced some time ago, but
VMAC74         the label was not corrected; the variable is labeled now:
Oct 11, 2007     FWDC    ='DASD F/W*BYPASS*COUNT*R745DFWB'
   Thanks to Ed Woodward, UPS, USA.

Change 25.218  Support for local CICS USER field CMODHEAD,CMODNAME=TRADE
IMACICU5       creates variable TRADEU5 in CICSTRAN, when enabled.
VMAC110        Jul 3, 2008:  Field was increased to 80 bytes; the test
UTILEXCL       and INPUT were also increased to 80.
Oct 11, 2007
Jul  3, 2008
   Thanks to Leendert Keesmaat, UBS, SWITZERLAND.

Change 25.217  VMACPRPR was revised, in June, but the Change text was
VMACPRPR       lost.  Originally support for the '1620' record was added
Oct 10, 2007   June 12, and test records had different delimiters in
               date/time fields, so INPUTs were changed in MXG, but now
               I see that no other record's date/times were changed.
               This change, which was included in MXG 25.10, reverted
               date/times for all other records to the original format,
               but created a separate path to decode 1620 subtypes.
   Thanks to Siegfried Trantes, IDG, GERMANY.

Change 25.216  The MXG support for optional CICS EZA01/EZA02 fields has
IMACICEZ       been enhanced and documentation revised for clarity:
IMACICE1
IMACICE2      -IMACICEZ always has these 5 fields, identified by their
VMAC110        CMODNAME='EZA01' and CMODTYPE='S':
Oct 11, 2007
Jun 13, 2008      EZA01       S       001      12      ooo     INIT
                  EZA01       S       002      12      ooo     READ
                  EZA01       S       003      12      ooo     WRITE
                  EZA01       S       004      12      ooo     SELECT
                  EZA01       S       005      12      ooo     OTHER

               The CMODLENG=12 is from CICS/3.2; earlier CICS had only
               CMODLENG=8, but IMACICEZ supports both lengths, so you
               just remove the comment block to tailor IMACICEZ and it
               will process data with either or both lengths.

              -IMACICE1 can have up to 13 fields, identified by their
               CMODNAME='EZA01' and CMODTYPE='A' (yes, CMODNAME is the
               same 'EZA01' as IMACICEZ, but the CMODTYPE is different):

                  EZA01   A       001       4      ooo     TINIT
                  EZA01   A       002       4      ooo     TREAD
                  EZA01   A       003       4      ooo     TWRITE
                  EZA01   A       004       4      ooo     TSELECT
                  EZA01   A       005       4      ooo     TOTHER
                  EZA01   A       006       4      ooo     REUSABLE
                  EZA01   A       007       4      ooo     ATTACHED
                  EZA01   A       008       4      ooo     OPENAPI
                  EZA01   A       009       4      ooo     TCBLIM
                  EZA01   A       010       4      ooo     TREUSABL
                  EZA01   A       011       4      ooo     TATTACHE
                  EZA01   A       012       4      ooo     TOPENAPI
                  EZA01   A       013       4      ooo     TTCBLIM

               You will have to examine REPORT THREE (which may have the
               last CMODHEAD field 'EZA01' instead of the names shown)
               to know how many fields are in your data. If you have the
               expected 13 fields, then you just remove the one comment
               block.  If you have fewer fields, then:
                  - Change the IF xxxx GE 52 THEN DO; statement so its
                    test value is 4 times the number of fields, e.g.
                    with seven fields change the "52" to "28".
                  - Change the INPUT statement's suffix from EZA01A13 to
                    the number of fields you have; if there are seven:
                       INPUT (EZA01A01-EZA01A07) (&PIB.4.) @;
                  - Delete the LABELs for variables that don't exist.

              -IMACICE2 has 22 fields with z/OS 1.7 TCP/IP data, but had
               only 11 fields with z/OS 1.4, which are identified by the
               CMODNAME='EZA02' and CMODTYPE='A:
                  EZA02       A       001       4      330     CONN
                  EZA02       A       002       4      331     STARTED
                  EZA02       A       003       4      332     INVALID
                  EZA02       A       004       4      333     DISTRAN
                  EZA02       A       005       4      334     DISPROG
                  EZA02       A       006       4      335     GIVESOKT
                  EZA02       A       007       4      336     SECEXIT
                  EZA02       A       008       4      337     NOTAUTH
                  EZA02       A       009       4      338     IOERR
                  EZA02       A       010       4      339     NOSPACE
                  EZA02       A       011       4      340     LENERR
                  EZA02       A       012       4      341     TCONN
                  EZA02       A       013       4      342     TSTARTED
                  EZA02       A       014       4      343     TINVALID
                  EZA02       A       015       4      344     TDISTRAN
                  EZA02       A       016       4      345     TDISPROG
                  EZA02       A       017       4      346     TGIVESOK
                  EZA02       A       018       4      347     TSECEXIT
                  EZA02       A       019       4      348     TNOTAUTH
                  EZA02       A       020       4      349     TIOERR
                  EZA02       A       021       4      350     TNOSPACE
                  EZA02       A       022       4      351     TLENERR
               You will HAVE to look at UTILEXCL REPORT THREE to confirm
               if you have 22 or 11 fields, and remove only one of the
               two comment blocks in IMACICE2 to tailor it.

              -You create REPORT THREE with the _RPTEXCL macro run
               with or after your UTILEXCL execution:
                    //SYSIN DD *
                     %INCLUDE SOURCLIB(UTILEXCL);
                     _BLDDICT;
                     _BLDEXCL;
                     _RPTEXCL;
              -The only actual change made was to update VMAC110 to keep
               the EXA01A13 13th variable.

              -The text of this change was revised in June, 2008.

   Thanks to Jane Dickerson, PRODUBAN, ENGLAND.

====== Changes thru 25.215 were in MXG 25.10 dated Oct  7, 2007=========

Change 25.215  Change 25.179 broke VMXGUOW, some overrides of _LDB2ACC
VMXGUOW        caused CHARACTER OPERAND IN %EVAL FUNCTION errors.
Oct  7, 2007   Also, parameter HOWDEEP added to set kept array sizes.

Change 25.214  An example that finds all TSO and IDMS USERID that logged
TSOIDMS        on,using IBM SMF 30 and IDMS PERFMON USER SMF records.
Oct  6, 2007
   Thanks to Pat Curren, Supervalu, USA.

Change 25.213  Documentation only.  DB2 variable THREADTY shouldn't have
VMACDB2        been added to DB2ACCTP dataset (Change 25.097), because
Oct  7, 2007   DB2 V8.1 writes all Package data in IFCID=239 (ID=101.1)
               records, which do not contain a QLAC segment, and IBM's
               THREADTY definition (in comments for QWHDRQNM field in
               their DSNWMSGS member of the DB2 Macro Library) compares
               QWHDRQNM with QLACLOCN.  Since I can never safely remove
               a variable, it will still exist in DB2ACCTP, but it will
               always be blank in that dataset.  No code was changed.

Change 25.212 -SYNCSORT variable SYNCUSET is now documented to be the
VMACSYNC       sum of VSCORET plus the GDSM Adjustment, so its label
Oct  6, 2007   is revised to be:
Nov 17, 2007      SYNCUSET='CORE USED*TOTAL*VSCORET*PLUS GDSM ADJ'
              -SYNCSORT added a new field, which MXG decodes as:
                  SYNHWMPF='HIGHWATERMARK*PAGEFIXED*STORAGE*USED'
               where the old HPALLOC/HPUSED ESTORE BLOCKS was located.
              -All reserved and unknown fields in SYNCSORT SMF record
               are decoded, but none of these variables are kept:
                  /* SYNRSV41-SYNRSV45 SYNUNK01-SYNUNK15 */
                  /* SYNCHFUT SYNCBFUT SYNXXXX1 SYNSPARE */

Change 25.211  PDB.TYPE70 variables ZIPACTTM, PCTZIPBY, PCTCIBYn are now
VMAC7072       corrected for Dedicated zIIP Engines.  For Shared zIIPs,
Oct  5, 2007   the LPAR Dispatch time is valid, but Dedicated engines
               report 100% dispatch.  For TYPE70, the ZIPWAITM is used
               to correct ZIPACTTM, which corrects the other variables.
   Thanks to Jerry Cobb, American Century, USA.


Change 25.210 -WARNING: LENGTH OF CHARACTER VARIABLE ACCOUNT1 HAS BEEN
VMACSFTA       SET under SAS V9 is issued ONLY when a LENGTH statement
VMACDB2        changes the length of a character variable, and, like all
VMACOPC        WARNING: messages in SAS V9, z/OS sets Condition Code 4.
VMACBE97         (Under V8, this specific WARNING did NOT set CC=4,
VMAC7072          but V9 has tightened specs so WARNINGS always CC=4.)
TRNDDB2S       But it should never occur in MXG code: although there are
ANALCISH       multiple LENGTH statements, they should always set the
Oct  4, 2007   same value.
               But it did occur when VMACSFTA was executed standalone,
               because the statement  ACCOUNT1=XPUPNOAC;  was located
               prior to the %INCLUDE of IMACACCT, which is where the
               LENGTH of ACCOUNT1 should always be defined.  Relocating
               that ACCOUNT1=XPUPNOAC; statement eliminated the WARNING.
              -When WARNING for numeric vars (eg. QB1TALX) were printed,
               I discovered there were six members that had hard-coded
               values for LENGTH DEFAULT=4 that should have been changed
               to LENGTH DEFAULT= &MXGLEN; the were overlooked or added
               after Change 19.272, but now all are consistent so that
               numeric variables are stored 5 on z/OS and 6 on ASCII,
               except for the specific cases where length 8 is required.
   Thanks to Ron van der Zande, KLM Info Services, THE NETHERLANDS.
   Thanks to MP Welch, SPRINT, USA.

Change 25.209 -TIMEBILD/TIMETABL is enhanced to support the selective
TIMEBILD       application by SYSTEM of "SYNC59" timeshifting logic:
TIMETABL       - TIMEBILD now reads columns 71-72 of TIMETABL to INPUT
VMXGTIME         the (+ or -) number of minutes to be added for SYNC59.
VMXGINIT         That value is a part of the format built by TIMEBILD.
VMXG70PR       - %TIMEBILD must be executed first to create the table.
Oct  5, 2007   - To enable the addition of SYNC59 offset, you must set
                   %LET MXGTIM59=YES;
                 and then you would run the program whose datetimes
                 are to be shifted by both TIMEBILD zones and SYNC59.
               - The "SYNC59" option is intended to be used ONLY with
                 RMF/CMF data, and in particular, for data from a CEC
                 that has some systems SYNC59 and some SYNC00.  It may
                 not work with other programs, including BUILDPDB, as
                 you may not want all records SYNC59'ed.  And, if you
                 now use the SYNC59 option in TIMEBILD, you must also
                 change your ASUMxxx, TRNDxxxx, VMXGxxxx tailored code
                 to now specify SYNC59=NO to prevent a double shift.
               - To process only the RMF data with a TIMETABL that has
                 been updated to include the SYNC59 flag, you could use
                     %LET MXGTIM59=YES;
                     %TIMEBILD;
                     %UTILBLDP ( BUILDPDB=NO,
                                 USERADD=70 71 72 73 74 75 76 77 78,
                                 ZEROOBS=74.1 74.5,
                                 INCLAFTR=RMFINTRV ASUM70PR,
                                 OUTFILE=INSTREAM);
                     %INCLUDE INSTREAM;
                 to build you RMF-only PDB Library (which will be small,
                 as that example does NOT create observations in the two
                 big TYPE74 and TYPE74CA datasets due to that ZEROOBS=).
               - TIMEBILD will PROC PRINT the input TIMETABL and the
                 output TIMEBILD datasets by enabling MXGDEBUG:
                    //SYSIN DD *
                     %LET MXGDEBUG=1;
                     %LET MXGTIM59=YES;
                     %TIMEBILD;
                     RUN;
                     %LET MXGDEBUG=0;
               - You can conditionally reset MXGTIME59 for some SMF data
                 and not for others; for example, to enable for59 add,
                 and you do NOT have to rerun TIMEBILD.
                    %TIMEBILD(TIMEBILD=YES);
                    %LET MACFILE=%QUOTE(
                       IF ID=30 THEN CALL SYMPUT('MXGTIM59','NO');
                       ELSE CALL SYMPUT('MXGTIM59','YES');
                    );
                    %UTILBLDP(USERADD=7072 30,BUILDPDB=NO);
                    %INCLUDE INSTREAM;

              -Once TIMEBILD worked to selectively SYNC59, the original
               problem, duplicate observations in PDB.ASUMCELP, could be
               diagnosed: while BY variable GMTOFFTM is correctly used
               to creating the "per-SYSTEM" datasets, it can never be
               used in the "per-CEC" datasets, because they are built
               from multiple SYSTEM's data, which can have multiple
               values in GMTOFFTM.  Removing GMTOFFTM from the creation
               of PDB.ASUMCELP has eliminated the duplicates; I should
               remove GMTOFFTM where it makes no sense, but instead, I
               have set GMTOFFTM=. in ASUMCEC and ASUMCELP, so it will
               not create a VARIABLE NOT FOUND ERROR.
   Thanks to Ingegerd Jannson, Volvo, SWEDEN

Change 25.208  CICS local user field CMONDNAME DAT008 CMODHEAD ENTRADA
IMACICU4       creates new variable ENTRADA.
VMAC110
UTILEXCL
Oct  1, 2007
   Thanks to Jane Dickenson, Santander Produban UK, ENGLAND.

Change 25.207  The NTSMF dataset LOGLDISK had the variables FREESPAC
VMACNTSM       (FREE MEGABYTES and PCTFRESP (PCT Free space) but the
Sep 27, 2007   size of the volume did not exist until now, with the
               new DISKSIZE variable.
   Thanks to Michael Ryan, Acxiom, USA.

Change 25.206  MXG 25.09 only. If the SAS-provided default CONFIG member
FORMATS        was not in your //CONFIG DD statement in your MXGSASV9
CONFIGV8       JCL procedure, the PROC FORMAT failed to build MXGTNGON,
CONFIGV9       because lines 12092 thru 12099 in FORMATS were low-case
Oct  3, 2007   duplicates of preceding lines, that should not have  been
               have been there, but they caused no error when the CONFIG
               member was present.  Since they also caused the error if
               they were UPPERCASED, I assume the absence of the SAS
               CONFIG member caused them to be treated as UPCASE.  Also,
               there were Macro Variable error messages because MERROR
               is a required option that is normally set in SAS CONFIG.
               To protect, MERROR is now added to CONFIGV9 and CONFIGV9.
   Thanks to Jim Wertenberger, Antares Solutions, USA.

Change 25.205  Support for z/OS 1.9 54 CP engines - INCOMPATIBLE.
VMAC7072       Z/OS 1.9 allows up to 54 CP engines in a single image,
Sep 27, 2007   but SMF 70 records with CPUID=33 or higer caused ARRAY
Oct  4, 2007   SIZE EXCEEDED with MXG 25.09 or prior.  Now, CPUs with
               CPUID=33 thru CPUID=53 are supported in the PDB.TYPE70
               dataset (the only MXG dataset altered due to 54-CPUs).
               Each CPUID has a set of variables in PDB.TYPE70; existing
               0-32 CPUIDs variable names were created with suffix 0-9
               and A thru X.  Now, Y and Z are used for 33-34, and ZA
               thru ZS suffix are used for CPUIDs 35-53 variables.
               Where the variable name is 8 characters, that "Za" had
               to overlay the penultimate character in the name.
                 To operate on these CPU-specific variable names, they
                 are all defined in VMAC7072 with an ARRAY statement
                 that you can cut and paste into your program to avoid
                 spelling all those names.
              -Unrelated, discovered in testing: APAR OA18244 documented
               that the CPUC segment was increased to 116 bytes, but the
               APAR actually increased its length to 160 bytes, causing
               SMF70GJT and following variables to be missing value, as
               the MXG test was for EQ 116 (without APAR is EQ 102).
               Now, the test is for GE 160, as IBM RMF Development has
               confirmed the correct length, to be documented, is 160,
               adding 44 unused bytes of zeroes.  This APAR applies to
               both z/OS 1.8 and z/OS 1.9.
   Thanks to Tony Curry, BMC, USA.

Change 25.204  CFI Segmentation feature added for RMF III VSAM support,
ASMRMFV        which now eliminates the possibility of skipped CF data,
VMACRMFV       new ASM symbolics for tailoring, and additional items.
Sep 25, 2007   Issues Resolved:
Oct  3, 2007   -PROCCFI is now a subroutine to conserve the mainline
Dec  4, 2007    base register.
               -CFI Table output is now segmented in response to
                reported problems by MXG users.  This removes a long
                standing restriction that the size of the CFI table
                could not exceeding the 32K LRECL output maximum without
                data loss.
               -The RMFV005E error message could have overlaid text when
                multiple ASMRMFV parameter errors were detected.
               -Several problems with index data fields in the CFI table
                output record either not being set or set incorrectly
                that caused PDB build errors in VMACRMFV have been fixed
                during alpha code testing.
               Enhancements:
               -There are a pair of new option keywords BYTES/NOBYTES.
                These specify whether ASMRMFV should or should not
                provide byte counts for 5 categories of data read,
                decompressed, written, filtered, and skipped.  The
                counts are provided in each RMF data set detail report
                and also as totals in the summary report.  This feature
                is intended to aid users to understand the volume of
                data being processed by ASMRMFV, as a coarse comparison
                tool when using different versions of (or sets of
                keyword options with) ASMRMFV, and finally as a possible
                diagnostic aid.  The alias for BYTES is BY and the
                aliases for NOBYTES is NOBY or -BY.   The byte counts
                now appear in message RMFV104I and the former RMFV104I
                message is now RMFV105I.  The distributed default is
                BYTES Packed decimal arithmetic is used for these
                counters to allow up to 15 decimal digits in magnitude
                or up to a value of 999,999,999,999,999 bytes.  The
                assembler symbolic variable &BYTES is provided to allow
                the user to change the default for BYTES/NOBYTES to
                NOBYTES in the ASMRMFV source code.  The distributed
                default is 'Y' meaning that BYTES is the default.  These
                counters take little overhead to maintain and display.
                So there is little benefit in suppressing them except to
                reduce output report volume by 2 lines per data set.
                But that choice is certainly available.
               -A pair of new option keywords CFALL/CFMASTER is added in
                support of the CFI segmentation support.  CFALL
                specifies that CFI tables from all input RMF III LPARs
                are to be output as in prior versions of ASMRMFV.
                CFMASTER specifies that by testing a particular flag
                that only data from the LPAR designated as RMF III
                Master Gatherer is to be output.   The distributed
                default is CFALL.  Effective use of CFMASTER requires
                that the RMF III parameter CFDETAIL be in effect in all
                LPARs in the Sysplex.  Due to the IBM usage of this
                flag, using the CFMASTER option when RMF III NOCFDETAIL
                is in effect (IBM default) will cause all CFI records to
                be filtered out by ASMRMFV.  CFALL has no alias.
                Aliases for CFMASTER are CFMAST and CFM.  With CFDETAIL
                in effect only the single LPAR determined by RMF III to
                be the Master Gatherer collects all Coupling Facility
                detail data. So including incomplete CF data from the
                remaining LPARs may be an unnecessary and redundant
                overhead.  The intent of CFMASTER is to automatically
                exclude this extra data.  The &CFALL assembler symbolic
                is also provided to change the CFALL default in ASMRMFV
                source code if needed.  The &CFALL symbolic can be
                changed in the ASMRMFV source to 'N' prior to assembly
                to permanently enable CFMASTER processing.  The
                distributed default is 'Y'.  Do not make this change
                unless using CFDETAIL on all LPARs being input to
                ASMRMFV.
               -When CFMASTER is in effect the CFI table id in
                the RMFV105I message displays as CFIM instead of the
                usual CFI to indicate this option is in effect.
               -When the BUFFERS option is in effect the RMFV102I
                message will now display a count of both buffers
                available and used for each buffer pool type.  This
                feature was intended mainly to enable MXG users to
                intelligently size the large VSAM LSR buffer pool used
                to optimize random RMF III data set read access by
                ASMRMFV.  The distributed default is 5000.
                   Unfortunately, at this time the VSAM SHOWCB macro
                   seems to always return a 1 for actual buffers used in
                   the LSR pool.  Given the number of random I/Os
                   typically issued this value seems suspect and
                   requires further investigation.
               -Program logic for both buffer pool accounting and
                normal/filtered/skipped record output has been improved.
               -Documentation on the contents of fields for several
                messages has been improved to provide more details on
                their content and meaning.
               -ASMRMFV program prologue documentation is upgraded to
                document all related program changes.
               -Oct 3: corrected INPUT STATEMENT EXCEEDED; 1.8 CFI data
                ends with CFISCCOC in member VMACRMFV.
               -Dec 4: VMACRMFV restructured to output only the first
                CPUG3 segment to ZRBCPU; the ASMRMFV CPU segmentation
                creates a CPUG3 segment for each LPARNAME, which caused
                duplicate observations in WORK.ZRBCPU; using TYPSRMFV
                to sort ZRBCPU did remove those duplicate obs, but this
                change compares CPUHNAME with LPARNAME an outputs only
                the first instance for each interval.
   Thanks to Jerry Urbaniak, Acxiom, USA.
   Thanks to Ben Romano, Hewitt Associates, USA.
   Thanks to Lawrence Jermyn of Fidelity Investments, USA.

Change 25.203  OPTIONS COMPRESS=NO was inserted in ASUMTALO back in 1995
ASUMTALO       by Change 12.273, because the first (temporary) DATA step
Sep 25, 2007   was extremely expensive, but then Change 12.273 was not
               recalled when MXG set COMPRESS=YES as the default value,
               so INCLUDEing ASUMTALO turned off compression for any
               subsequent programs.   Now, VMXGOPTR is invoked to store
               your current value of the COMPRESS option, which is then
               reset prior to the creation of PDB.ASUMTALO, so it will
               be compress based on your choice of the COMPRSS option.
   Thanks to Patrick Holloman, Zions Bank Corp, USA.

Change 25.202  ANALDB2R Statistics Reports VARIABLE QBnTDPIO NOT FOUND
ANALDB2R       and VARIABLE QLSTCRSR NOT FOUND errors because those
Sep 22, 2007   variable names should never have been in the VMXGSUM
Oct  4, 2007   invocation for the statistics reports.
   Thanks to Clayton Buck, UniGroup, USA.
   Thanks to Yaohua Hu, ISO, USA.

Change 25.201 -Unexpected FILESYSTEM data with characers caused errors
EXTRH019       INVALID ARGUMENT FOR FUNCTION, temporarily circumvented,
FORMATS        but the circumvention causes RH017001 to be a mising
IMACTNG        value until further investigation of the strange data.
VMACTNG       -Unrelated, Red Hat object USERS is supported in the new
VMXGINIT       RH019 dataset created by this change.
Sep 24,2007
   Thanks to Xiaobo Zhang, CheckFree, USA.

Change 25.200  Use of %LET mackeep= whatever ; was not supported.
READDB2
Sep 18, 2007
   Thanks to Gary Diehl, Sun MicroSystems/STK, USA.


====== Changes thru 25.199 were in MXG 25.09 dated Sep 17, 2007=========

Change 25.199  If SYNC59=YES was specified in your %VMXGRMFI invocation
VMXGRMFI       to create PDB.RMFINTRV, the STARTIME was reset to 00/15
Sep 15, 2007   but SMF70GIE was not. Now it is, so PDB.RMFINTRV will be
               consistent with PDB.ASUM70PR/ASUM70LP/ASUMCEC/ASUMCELP.
   Thanks to Douglas C. Walter, Citicorp, USA.
   Thanks to Brent Turner, Citicorp, USA.
   Thanks to Tom Koelle, Citicorp, USA.

Change 25.198  TYPE89 variable SMF89HOF (HYPERVISOR DATATIME OFFSET) and
VMAC89         SMF89DTO were wrong because the comment for SMF89PFL was
Sep 15, 2007   not present.
   Thanks to Al Sherkow, I/S Management Strategies, USA.

Change 25.197  %UTILCSV creates a CSV (Comma Separated Values/Variables)
UTILCSV        or TAB or ANY-character-DELIMITED "text file" from any
Sep 14, 2007   SAS dataset, with the ability to order left-to-right and
               to use FORMAT statements to control the output text.

Change 25.196  If you set %LET MACKEEP= %STR( lots of lines of text );
UTILBLDP       before invoking %UTILBLDP, some of your MACKEEP code may
Sep 14, 2007   not get executed, leading to strange errors or unexpected
               results.  We now parse the text inside the macro language
               into line-sized chunks to eliminate the exposure.
               And while we were at it, we've created new arguments that
               you can use for tailoring, as an alternative to using
               %LET's for these macro variables:
                  Macro Variable Name     Macro Argument Name
                    macfile                  macfilex
                    mackeep                  mackeepx
                    ihdrdb2h                 macdb2hx
                    ihdr110                  mac110hx
               One reason to use the Macro Argument in your UTILBLDP
               rather than a %LET statement is that macro argument are
               significantly more robust in that they do not need to
               be wrapped in %STR() and we have NOT been able to find
               any text string the argument couldn't handle, vs the
               many combinations that have broken %QUOTE, etc. in %LETs!
               However, you can use both a %LET macxxxx= and macxxxxx=
               argument; the text in your %LET will preceed any text you
               passed in the corresponding argument.
               And, just to be sure, we now "chunk" any EXPDBOUT text.
   Thanks to Michael Creech, Fidelity National Information Svcs, USA.

Change 25.195  Support for EMC's SRDF/A user SMF record.
VMACSRDF
VMXGINIT
EXSRDFAA
TYPESRDF
TYPSSRDF
IMACSRDF
Sep 13, 2007

Change 25.194  Variable SJGRQRST='JVM*REQUESTS*WITH RESET' in CICTCPSJ
VMAC110        CICS Statistics dataset is now created; while it does not
Sep 13, 2007   exist in CICS/TS 3.2 (resettable JVMs were withdrawn in
               3.2 because continuous use JVMs save lots of CPU), it is
               useful for detecting these bad guys in 2.3 and 3.1.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 25.193  MXG 25.08 Change 25.182 was incomplete, which caused the
IMACEXCL       ERROR: LABEL IMACICU3 NOT FOUND when UTILEXCL was run.
UTILEXCL
Sep 13, 2007
   Thanks to Christelle Abily, Groupe Informatique Credit Mutuel, FRANCE

Change 25.192  INPUT STATEMENT EXCEEDED RECORD LENGTH SMF ID=92 ST=14
VMAC92         because the SMF92DNR/SMF92DRN Rename Length/Name fields
Sep 11, 2007   only exist when the file is RENAMEd, and because the SMF
               manual did not document that feature.  Now, MXG confirms
               that data exists prior to its INPUT.
   Thanks to John Schoenbeck, AT&T Services, Inc, USA

Change 25.191  Support for RMF Monitor III CFI table segmentation in the
ASMRMFV        ASMRMFV, and their input in VMACRMFV.  New datasets
EXZRBCFC       ZRBCFC is created from the CFICONNUS Connection Table,
IMACRMFV       and the new variables in the CFISTRES Table are created
VMACRMFV       when they exist (i.e., when CFIDETAIL was specified in
VMXGINIT       RMF III parameters).
Sep 10, 2007
Sep 14, 2007
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 25.190  Variable QDBPPFIX='PGFIX*ATTRIBUTE' is now kept in the
VMACDB2        DB2STAT2 dataset; it was added in DB2 V8.1, in the same
Sep  8, 2007   location as QDBPVTPT, which is now always blank.
   Thanks to Lori Masulis, Fidelity Systems, USA.

Change 25.189  Revision to PDBOUT= options, when PDB=SMF is specified,
READDB2        and possible INCOMPATIBILITY when PDBOUT was null.  Now,
ANALDB2R       these options for PDBOUT= control output destination:
Sep 11, 2007     PDBOUT=,    All datasets written to //WORK, always.
Sep 17, 2007     PDBOUT=PDB  All datasets written to //PDB.
Sep 24, 2007     PDBOUT=YES  All datasets written to their default
                             destination, with user tailoring honored.
                 PDBOUT=XXX  ALL datasets written to //XXX.
               This change could cause perfectly running jobs to fail,
               if PDBOUT=, was specified and you had tailoring that
               redirected the output dataset destinations.  Sorry for
               that, but using PDBOUT=YES instead of PDBOUT=PDB is now
               the DOCUMENTED and SUPPORTED option to create output.

               This revision was precipitated when ANALDB2R had been
               invoked with PDBOUT=, and it failed with DDNAME PDB NOT
               FOUND and _VDB2A UNDEFINED errors when no //PDB DD
               existed.
                Note: Only READDB2's code was changed; ANALDB2R calls
                      READDB2 with the same possible PDBOUT= argument,
                      so it is listed here for documentation
                         (that you'll only find after the error?).
               Text revised Sep 17 for PDBOUT=PDB description.
              -MXG 25.08 only, bit test for SADUCL=6 was one bit short;
               only the list of Audit Trace Classes might be incorrect.
               This was accidentally corrected in this change. 24Sep07.
   Thanks to R. Berry, Internal Revenue Service, USA.
   Thanks to Clayton Buck, UniGroup, Inc, USA.

Change 25.188  If RMFINTRV=NO and BUILDPDB=YES and ASUM70PR included,
UTILBLDP       the invocation failed because the TYPE70xx datasets were
Sep  7, 2007   not sorted into the PDB due to the RMFINTRV=NO.  Now, as
               expected, BUILDPDB=YES sorts them into the PDB library.
   Thanks to Trevor Holland, ANZ, AUSTRALIA

====== Changes thru 25.186 were in MXG 25.08 dated Sep  5, 2007=========

Change 25.187  IBM SMF Manual incorrectly documented SMF92RVN value of 3
VMAC92         but that was corrected in z/OS 1.9 manual to correct 2,
Sep  5, 2007   so two MXG tests for SMF92RVN GE 3 were change to GE 2.
               This corrected the bit variables SMF92MFG and SMF92MF2.
               Variable SMF9PPN is a path name so it was increased to
               $VARYING1024. with input length set by SMF92PPL.
   Thanks to Hyrum E. Smith, Charles Schwab & Co., USA

Change 25.186  Variable DB2PARTY not found when PMACC02 requested and
ANALDB2R       PDB.ASUMDB2A existed was corrected with a compiler faker.
Sep  5, 2007

Change 25.185  New Capacity Group datasets created by Change 25.163 did
IMACSHFT       not have a DURATM variable for the ASUM70GC and ASUM70GL
VMXGDUR        datasets; the interval is forced to HOURLY, but interval
VMXG70PR       datasets should always have a DURATM variable.
Sep  5, 2007   I tested this change with %VMXG70PR(INTERVAL=SHIFT,...)
               and found it caused VARIABLE MXGDURTM UNINITIALIZED notes
               because MXGDURTM was not defined in IMACSHFT example, and
               MXGDURTM was not always protected in VMXGDUR.
   Thanks to Chris Weston, SAS Institute Cary, USA.

Change 25.184  RMF Capacity Group reports added to ANALRMFR. Support for
ANALRMFR       new data was added by MXG Change 25.163.
Sep  5, 2007

Change 25.183  These WORK library datasets are now deleted; several PROC
TYPETMS5       DELETEs commented out for testing are now uncommented.
Sep  5, 2007     CHANGED  DSNBREC DSNBRECS DSNBRECT DSNBRECU
                 DSNBRECV DSNBRECW MGTMSVL TMSREC TMSRECS
   Thanks to John Shuck, Sun Trust, USA.
   Thanks to Stan Helms, Sun Trust, USA.
   Thanks to Mike Duwve, Sun Trust, USA.

====== Changes thru 25.182 were in MXG 25.08 dated Sep  5, 2007=========

Change 25.182  Support for CICS User Field ARZAL (CMODNAME='ARZAL' and
IMACICU3       CMODHEAD='APPLINFO' is added.
UTILEXCL
Sep  2, 2007
   Thanks to Peter Gschirr, ARZ, AUSTRIA.


Change 25.181  Support for CA Unicenter NSM has been in MXG under "TNG"
EXTAI026       for years, because TNG was NSM's original name, and the
EXTNT132       "performance cube" format was not changed at name change.
EXTRH001       Support for CA NSM PLATFORM='RHEL401', RedHat 4.01 Linux
EXTRH002       performance cube is added by this change, which initially
EXTRH003       populates the Solaris "SOnnn" datasets, as they exist and
EXTRH004       have the most objects/metrics in common with Linux, but
EXTRH005       there are Solaris-only variables that have missing values
EXTRH006       and there are RHEL objects/metrics not yet supported.
EXTRH007
EXTRH008       This change also externalizes the list of PLATFORM names
EXTRH009       that map to AIX or SOLARIS with new _AIPLAT and _SOPLAT
EXTRH010       macros (like the existing _NTPLAT macro).  And, that test
EXTRH011       is now IF PLATFORM IN : ( _NTPLAT ) THEN DO; with the
EXTRH012       "colon modifier" inserted so the test matches only the
EXTRH013       starting characters of the platform names.  I did this
EXTRH014       when I thought RHEL was a user-assigned name, which it
EXTRH015       isn't, but these macros are no-cost tokens that will make
EXTRH016       my testing easier for new PLATFORM names.
EXTRH017
EXTRH018       New variables were added to these existing datasets:
IMACTNG            Dataset   Description
VMACTNG             AI019    AIX - CA MEMORY GROUP
VMXGINIT            NT035    NT  - PROCESS
Sep  2, 2007   New datasets are created from these new objects:
                   Dataset   Object Name
                   AI026     AIX - PROCESS
                   NT132     NT  - CA CUBE STORE GROUP
              -New datasets are created from Red Hat Platform Objects:
                   Dataset   Object Name
                   RH001     RH  - CA CPU GROUP
                   RH002     RH  - CA INTERRUPT
                   RH003     RH  - CA CUBE STORE GROUP
                   RH004     RH  - CA PER CPU GROUP
                   RH005     RH  - CONTEXT SWITCHING
                   RH006     RH  - INTERRUPTS
                   RH007     RH  - PAGING
                   RH008     RH  - PROCESS CREATION
                   RH009     RH  - SWAPPING
                   RH010     RH  - CA DISK GROUP
                   RH011     RH  - CA FILE SYSTEM GROUP
                   RH012     RH  - CA INTERFACE GROUP
                   RH013     RH  - CA MEMORY GROUP
                   RH014     RH  - CA PROCESS GROUP
                   RH015     RH  - CA SWAP GROUP
                   RH016     RH  - CPU
                   RH017     RH  - FILESYSTEM
                   RH018     RH  - NETWORK
   Thanks to Xiaobo Zhang, CheckFree, USA.

Change 25.180  The Omegamon OMCI subtype 203 is now written in SMF 112s,
VMACOMCI       but can still be created in the old User SMF record; MXG
Aug 29, 2007   Change 25.099 moved the 203 code into VMAC112, but also
               disabled subtype 203 in VMACOMCI.  This corrects.
               But now see Change 26.257, which revised support.
   Thanks to Tom Kelman, Commerce Bank of Kansas, USA.

Change 25.179  Protection for %UPCASE() and %LOWCASE() for literals.
ANALDBTR       Almost all of the SAS code in MXG is in UPPER CASE, but
BLDSMPDB       some members are mixed case, with "case sensitive" noted
GRAFHSM        in their comments, but that did not prevent accidental
GRAFLPAR       low-case-ing some lines in BLDSMPDB that contained tests
GRAFTALO          if %upcase(something) eq yes %then %do;
GRAFTMNT       which failed because the yes value was now lower case.
GRAFTRND       Macro variable tests are in many MXG members, especially
GRAFWORK       those that define %MACROS where user-typed input text is
GRAFWORX       shifted with %UPCASE() for consistent testing, but I had
GRAFWRKX       never thought to protect the text being compared!
PRINTNL
READDB2        Now, all members were examined that used %UPCASE/%LOWCASE
UTILBLDP       and those that tested for literal text values now use
UTILCONT
UTILDUMP          if %upcase(something) eq %upcase(yes) %then %do;
VMACMWNT
VMXGALOC       The DATA step UPCASE() function is also used in even more
VMXGDEL        members, but as those values are not 'human-typed', I did
VMXGGETM       not see the need for also wrapping those text values.
VMXGSUM
VMXGSUME       New MXG Recommendation: Use %LET MACxxxx= %STR( text ) ;
VMXGUOW        with blanks as shown, when storing any text string that
Aug 28, 2007   can contain semi-colons, into those MXG tailoring macro
               variables, since those macro variables will be resolved
               at "compile time", which is where %STR() is to be used.
               Previously I suggested using %QUOTE() or %BQUOTE() to
               pass text with semi-colons, but they are not resolved
               until "execute time", and, while QUOTE/BQUOTE frequently
               did work, the use of %STR, especially for MACKEEP/MACFILE
               macros is the more appropriate among the many functions.
   Thanks to Tom kelman, Commerce Bank of Kansas, USA.

Change 25.178  Support for V5R4MO QAPMDISK with LRECL=456 adds these 20
VMACQACS       variables:
Aug 28, 2007      DSBKCT1='BUCKET*1*OPERATIONS'
                  DSBKCT2='BUCKET*2*OPERATIONS'
                  DSBKCT3='BUCKET*3*OPERATIONS'
                  DSBKCT4='BUCKET*4*OPERATIONS'
                  DSBKCT5='BUCKET*5*OPERATIONS'
                  DSBKCT6='BUCKET*6*OPERATIONS'
                  DSBKRT1='BUCKET*1*RESPONSE*TIME'
                  DSBKRT2='BUCKET*2*RESPONSE*TIME'
                  DSBKRT3='BUCKET*1*RESPONSE*TIME'
                  DSBKRT4='BUCKET*4*RESPONSE*TIME'
                  DSBKRT5='BUCKET*5*RESPONSE*TIME'
                  DSBKRT6='BUCKET*6*RESPONSE*TIME'
                  DSBKST1='BUCKET*1*SERVICE*TIME'
                  DSBKST2='BUCKET*2*SERVICE*TIME'
                  DSBKST3='BUCKET*3*SERVICE*TIME'
                  DSBKST4='BUCKET*4*SERVICE*TIME'
                  DSBKST5='BUCKET*5*SERVICE*TIME'
                  DSBKST6='BUCKET*6*SERVICE*TIME'
                  DSSRVT ='DISK*SERVICE*TIME'
                  DSWT   ='DISK*WAIT*TIME'
   Thanks to Clayton Buck, UniGroup, Inc, USA.

Change 25.177  ERROR: ARRAY SUBSCRIPT OUT OF RANGE in BUILDPDB/RMFINTRV
VMXGINIT       with a month's SMF data from scores of systems.  The
VMXGRMFI       culprit is the MXG algorithm to calculate MSU4HRAV, the
Aug 24, 2007   rolling hourly average MSU over the past four hours,
               created in RMFINTRV before IBM added the SMF70LAC value
               (and SMF70LAC is the variable to use, not my MSU4HRAV,
               as SMF70LAC is IBM's calculation that is used in WLM
               capping decisions, and it is slightly different than the
               MSU4HRAV, where I used total CPU and IBM didn't, and
               where I calculate true average even across an IPL and
               they don't!).
               When MSU4HRAV was created, the size was set for a daily
               or weekly RMFINTRV creation, so an array size of 9999
               elements would hold hourly data for:
                 over 100 system's daily data at 15 minute intervals
                 over  14 system's weekly data at 15 minute intervals
               but
                 only   3 system's monthly data at 15 minute intervals!
                                (and this site had 5 minute intervals!).

               This is one of the MANY reasons why I avoid ARRAYs; while
               increasing the ARRAY size will hold more system's data,
               that requires more virtual storage, and that will grow as
               the number of systems increase, exchanging OUT-OF-MEMORY
               errors for OUT OF RANGE.
                 The immediate user circumvention was to process the SMF
                 data one week at a time, which worked just fine.
               Though hopefully unneeded, I have externalized the size
               of the three temporary arrays with new macro variable
               with default value of  %LET ARRAYRMF=9999;  unchanged.

               I have also inserted a trap to detect the array size was
               exceeded and inform you via an ERROR message on the log.

Change 25.176  Support for APAR OA18244, Blocked Workload metrics, adds
VMAC7072      -These variables to the TYPE70 dataset:
Aug 24, 2007     SMF70PMI='AVG*BLKED*DISPATCH*UNITS*MAY GET'
                 SMF70PML='OPT*PARAMETER*BLWLINTHD'
                 SMF70PMP='MAX*DISPATCH*UNITS*BEING*BLOCKED'
                 SMF70PMT='OPT*PARAMETER*BLWLTRPCT'
                   (Note: The default you type is "5", but that will be
                     a value of .005 in SMF70PMT, i.e. one-half of a
                     percent.  RMF reports that a .5% but the variable
                     is NOT labelled Percent so you need to know that
                     .005 is one-half percent default.
                 SMF70PMU='BLKED*DISPATCH*UNITS*PROMOTED*PERSEC'
                 SMF70PMW='AVG*DISPATCH*UNITS*BEING*BLOCKED'
                 STFBIT05='OPT PARM*BLWLTRPCT*CHANGED?
                 STFBIT06='OPT PARM*BLWLINTHD*CHANGED?
              -This variable, previously added to the TYPE72GO dataset
               by Change 25.140 is populated by this APAR:
                 R723TPDP='CPU TIME*AT PROMOTED*DISPATCH*PRTY'
               and this new flag variable is created by this APAR:
                 ZIPHONPR='ZIP*HONOR*PRIORITY?'

Change 25.175  Internal logic was revised so when INTERVAL= is used, the
ANALRMFR       variables LPARCPUX and SMF70BDA are added to the ID= parm
Aug 24, 2007   for Cluster Reports.
              -Also, MVSCHRLV and NCYCLE are added to report headings.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 25.174  Corrections discovered by SAS/ITRM validation during the
ASUMTAPE       build of their dictionary.
VMAC7072      -Variable JBACPU dataset QAPMJOBL now FORMATed TIME13.3.
VMACQACS      -Variable MAXVLSEQ is no longer created/kept in TYPETMS5.
VMACTMS5      -Variables for CP/ICF/IFL/IFA/ZIP counts/time are labeled
VMXG70PR       in VMXG70PR & VMAC7072, PROC DELETEs uncommented to clean
VMAC110        up WORK file. Variables IFAWSTTM,ZIPWSTTM formatted.
VMACDB2       -ASUMTAPE variables BEGTMNT, ENDTMNT, TOTMNTTM labeled.
VMACSTC       -CICSDS variables DSGEJST DSGSRBT labeled and formatted;
Sep  5, 2007   they are the total TCB for all CICS TCBs and total SRB
               for all SRBs in the interval.
              -DB2ACCT variable QWHUCPU formatted.
              -TYPESTC variable STC15CTP label corrected.
               Sep 6 changes, not in 25.08:
              -TYPE7072 - variables NRPHYCPX, NRPRCX no longer kept.
                        - variable GMTOFF70 GMTOFF72 formatted.
              -TYPE85   - variables R85ST74F, R85ST78F labeled.
   Thanks to Chris Weston, SAS Institute Cary, USA.

Change 25.173 -Support for NMON "CPU_VP_USE" and "CPU_EC_USE" objects
VMACNMON       (Virtual Processor and Entitled Capacity) adds these new
Sep  1, 2007   variables to NMONINTV dataset:
                 NRECUS='CPU_EC_USE*COUNT'
                 NRVPUS='CPU_VP_USE*COUNT'
                 PCPUUSER='CPU_ALL*USER*PERCENT'
                 PECTOTAL='CPU_EC_USE*TOTAL*PERCENT'
                 PECUBUSY='CPU_EC_USE*BUSY*PERCENT'
                 PECUIDLE='CPU_EC_USE*IDLE*PERCENT'
                 PECUSYS='CPU_EC_USE*SYSTEM*PERCENT'
                 PECUUSER='CPU_EC_USE*USER*PERCENT'
                 PECUWAIT='CPU_EC_USE*WAIT*PERCENT'
                 PVPUBUSY='CPU_VP_USE*BUSY*PERCENT'
                 PVPUIDLE='CPU_VP_USE*IDLE*PERCENT'
                 PVPUSYS='CPU_VP_USE*SYSTEM*PERCENT'
                 PVPUUSER='CPU_VP_USE*USER*PERCENT'
                 PVPUWAIT='CPU_VP_USE*WAIT*PERCENT'
              -Support for NMON NETSIZE object adds thes new variables
               to NMONNETW dataset:
                 NETSRDRT='NETSIZE*READS/S'
                 NETSWRRT='NETSIZE*WRITE/S'
              -The count of JFSFILE fields drops to less than the count
               in the header record, occasionally, causing MXG to have
               to delete of that record with an MXG ERROR MESSAGE on the
               log.  Under investigation with NMON support.
              -The "UNKNOWN RECTYPE=" message for Nigel's Monitor NMON
               is clarified to indicate it's not an error, but a new
               monitor record that is not yet supported by MXG, but
               will be if you send the input data file to MXG support.
   Thanks to Michael W. Woelke, Boeing, USA.
   Thanks to John Keenan, Boeing, USA.

Change 25.172  Example to process DB2 datasets to separate DDNAMES:
ADOCDB2        libname db2acctp 'c:\mxg\db2acctp\';
Aug 20, 2007   libname db2acctb 'c:\mxg\db2acctg\';
               libname db2acctg 'c:\mxg\db2acctb\';
               libname db2acct  'c:\mxg\db2acct\';
               libname db2gbpat 'c:\mxg\db2gbpat\';
               libname db2gbpst 'c:\mxg\db2gbpst\';
  /* unsorted, written directly to individual DDNAME for parallelism */
              %LET WDB2ACP=DB2ACCTP;
              %LET WDB2ACB=DB2ACCTB;
              %LET WDB2ACG=DB2ACCTG;
              %LET WDB2PAT=DB2GBPAT;
              %LET WDB2PST=DB2GBPST;
              %LET PDB2ACC=DB2ACCT;
  /* deflected to work, as they are combined into db2stats */
              %LET PDB2STO=WORK;
              %LET PDB2ST1=WORK;
  /* sent to pdb, stats, should be small in size */
              %LET PDB2ST2=PDB;
              %LET PDB2ST4=PDB;
              %LET PDB2STS=PDB;
              %LET PDB2STB=PDB;
              %LET PDB2STR=PDB;
              %LET MACKEEP=
               %BQUOTE(
                         MACRO _SDB2ACp %
                         MACRO _SDB2ACb %
                         MACRO _SDB2ACg %
                         MACRO _SDB2pat %
                         MACRO _SDB2pst %
                         MACRO _SDB2ACc %
                      );
              %INCLUDE SOURCLIB(TYPEDB2);
                 or could be
              %INCLUDE SOURCLIB(BUILDPDB);
                 or could be
              %ANALDB2R(PDB=SMF);


Change 25.171  Documentation.  The DOCVER and DOCVERnn text printed only
UTILVREF       3 positions for LENGTHs, causing a 32000-byte variable to
Aug 20, 2007   be printed as 3E4 in exponential format. While I can't
               expand LENGTH to print 5 digits without truncating LABEL,
               I now detect the TYPE='NUM' and print four positions for
               those variables to be more accurate where I can.  You can
               always use PROC CONTENTS DATA=whatever; to see the actual
               stored LENGTH of each variable.
               See MXG Technical Note 2 in Newsletter FIFTY for a list
               of "Very Long Stored Length" variables created by MXG.

Change 25.170  If there no Mount-Related SYSLOG messages were captured
ASUMTAPE       by ASMTAPEE/MXGTMNT, i.e. TYPESYMT has zero observations
Aug 20, 2007   then there were no observations created in PDB.ASUMTAPE,
               even though the TYPETMNT and TYPE21 records matched.
               The missing SYSLOG records was due to backlevel ASMTAPEE
               at ML-38 that missed messages now captured in ML-39, but
               this revision tests for zero obs in TYPESYMT dataset, and
               forces the OUTPUT of PDB.ASUMTAPE in that case.  Note
               that this only works when all systems do not capture the
               SYSLOG data; if some systems do and others don't, this
               revision will NOT work, and only systems with obs in the
               TYPESYMT dataset will have output in PDB.ASUMTAPE.
   Thanks to John Doherty, Capita, SCOTLAND.

Change 25.169  New DB2 Parallel event "analysis" selects all DB2ACCT obs
VMACDB2        for each "ACE group" that had any parallel activity,
Aug 18, 2007   (i.e., had one or more DB2ACCT obs with DB2PARTY=O/P/R),
               keeps a large but manageable set of important variables,
               and then PRINTs the detail DB2ACCT observations for each
               "ACE Group", in time sequence, where each unique set of
               values of these BY variables defines an "ACE Group":

                 SYSTEM QWHSSSID QWHSLOCN QLACLOCN QWHCCV QWHCCN ACE

               and where ACE is either QWHSACE (S/O) or QWACPACE (P/R).

               BUILDPDB does not sort PDB.DB2ACCT automatically, due to
               it's size, but that turns out fortunate, as the default
               sort order defined in MACRO _BDB2ACC in VMACDB2:
                 SYSTEM   QWHSSSID QWHCPLAN QWHCAID  QWHSLOCN QWHCCV
                 QLACLOCN QWHCCN   QWACBSC  QWHSSTCK,
               is just fine for duplicate removal, so it's not "wrong",
               but it is NOT the correct order to group all DB2ACCT obs
               into their "ACE Group".  Instead, the new report uses
               uses this sort order (MACRO _XDB2ACC):
                 SYSTEM   QWHSSSID QWHSLOCN QLACLOCN QWHCCV QWHCCN ACE
                 QWACBSC  QWHSSTCK QWHCPLAN QWHCAID
               that does correctly sort DB2ACCT into each "ACE Group".

               This iteration defines old-style MACROs _Q, _X, _Y, _X
               which are used by the MACRO _RDB2ACC that you execute:
                   // EXEC MXGSASV9
                   //PDB DD DSN=YOUR.DB2ACCT.PDB,DISP=SHR
                   //SYSIN DD *
                    %INCLUDE SOURCLIB(VMACDB2);
                    _RDB2ACC
               This report was used for diagnostic understanding of the
               events in DB2 Parallel, and thus is not likely to be used
               by many MXG users, but it's there if needed.  Also, the
               structure of selecting all of a group that has one of
               something (DB2 Parallel Transaction, in this case) could
               easily be extended to select by some other criteria.

Change 25.168  Using %ANALDB2R(PDB=PDB,PMSTA02=YES); caused VMXGSUM to
VMXGSUM        fail with ERROR: VARIABLE STRTTIME NOT FOUND.  In this
Aug 17, 2007   one place in ANALDB2R, VMXGSUM was invoked with variable
               STRTTIME used in the INCODE's internal DATA/PROC steps,
               and it was in the KEEPIN= list, but STRTTIME was NOT in
               any of the VMXGSUM output parameters.  Now, variables in
               the KEEPIN= list are added to the generated KEEP list to
               protect for this unique VMXGSUM invocation.
               The problem was introduced in MXG 25.04 VMXGSUM changes.
   Thanks to Richard Haynes, Blue Cross Blue Shield of Kansas, USA.

Change 25.167  Variable FCUSERID='LOGIN*USER ID*OR NAME' is INPUT and
VMAC119        kept in the TYP11903 dataset.
Aug 16, 2007
   Thanks to Jim Kovarik, Aegon, USA.

Change 25.166  Trending example for DB2ACCTP dataset.
TRNDDB2P
Aug 16, 2007
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.165  The IMF FB Program Record is updated with new variables:
VMACCIMS        PGMSAD56='SADFLAG5*AND*SADFLAG6'
Aug 14, 2007    FLGSPCHR='PROGRAM*SUBTYPE'
                  The $MGIMFCS format decodes FLGSPCHR, which is OUTPUT
                  in both CIMSTRAN and CIMSPROG, but only the first
                  three values of J, K, or O exist in CICSPROG:
                     VALUE $MGIMFCS
                     'O'='O:ODBA'
                     'J'='J:JMP'
                     'K'='K:JBP'
                     'Q'='Q:PSEUDO WFI'
                     'W'='W:WFI(WAIT FOR INPUT)'
                     ;
                SAPEXIT ='SAP*PGM*USING*SAPEXIT?'
                OTMATRAN='OTMA*TRAN?'
               The offset to SRVCLASS was also corrected.
   Thanks to Doug Johnson, Blue Cross Blue Shield of Kansas, USA.

Change 25.164  The _VNDMRJ macro token was missing in the _WNDMRJ part
VMACNDM        of the _VARNDM macro definition, so the NDMRJ datasets
Aug 14, 2007   kept ALL MXG VARIABLES IN THE DATA STEP, 7062 variables
               to be exact, when NDM code was added to BUILDPDB in ITRM
               tests!
   Thanks to Chris Weston, SAS Institute, USA.

Change 25.163  Support for Capacity Group analysis. z/OS 1.8 added the
VMAC7072         SMF70GNM='CAPACITY GROUP NAME'
VMXG70PR         SMF70GMU='MAXIMUM LICENSE UNITS OF GROUP;
VMXGINIT       variables, but Change 24.092 output them in TYPE70, when
Aug 20, 2007   they should have been output in PDB.TYPE70PR dataset, as
               they are LPAR-level capacity limits.
              -ASUM70PR now creates two new Group Capacity datasets
                 PDB.ASUM70GC - CEC Totals for each Capacity Group
                 PDB.ASUM70GL - LPAR Detail within each Capacity Group
               Dataset ASUM70GL matches the RMF Group Capacity Report,
               while dataset SUM70GC provides the total MSU usage for
               each Group, and the percent of Group capacity limit used.
               Both new datasets are created with fixed INTERVAL=HOUR,
               to match SMF70GMU capacity units of MSU per hour.
   Thanks to Jim Dammeyer, State Farm Insurance, USA.

Change 25.162  The final example in comments was missing a close-paren.
UTILBLDP
Aug 12, 2007
   Thanks to Trevor Holland, ANZ, AUSTRALIA

====== Changes thru 25.161 were in MXG 25.07 dated Aug 10, 2007=========

Change 25.161  Support for new z/OS 1.9 RMF III and APAR OA17070 fields.
VMACRMFV       New variables INPUT from the CFIG3 Header Section are
Aug  9, 2007   added to the ZRBCFI dataset:
                  CFIRANGE='REPORTING*RANGE*SECONDS'
                  CFIPONAM='POLICY*NAME'
                  CFIPOACT='POLICY*ACTIVATION*TIME'
                  CFIPREQS='NOT ALL*STRUCTURES*CONTAINED'
                  CFIPREQC='NOT ALL*CONNECTIONS*CONTAINED'
               New variables INPUT from the CFIG3 Entry Section are
               added to the ZRBCFI dataset:
                  CFIENSCN='CONNECTED*MVS*SYSTEM*COUNT'
                  CFIENSTI='STRUCTURE*COUNT*IN*POLICY'
                  CFIENSTO='STRUCTURE*COUNT*OUT*POLICY'
                  CFIENTCS='TOTAL*CONTROL*SPACE'
                  CFIENFCS='FREE*CONTROL*SPACE'
                  CFIENTDS='TOTAL*DUMP*SPACE'
                  CFIENFDS='FREE*DUMP*SPACE'
                  CFIENSCT='SUM WAIT*FREE FOR*SYNCH IMMED'
                  CFIENFOC='COUNT*OF TIMES*FOR UNSUCCESSFUL'
                  CFIENFOT='SUM OF*SERVICE*FOR*UNSUCCESSFUL'
                  CFIENPDE='DEDICATED*PROCESSORS'
                  CFIENPSH='SHARED*PROCESSORS'
                  CFIENPWG='SHARED*PROCESSOR*AVERAGE*WEIGHT'
               New variables INPUT from the CFIG3 Table Entry Section
               are added to the ZRBCFI dataset:
                  CFISTCOM='MAX*CONNECTIONS*ALLOWED'
                  CFISTCOT='TOTAL*CONNECTIONS*TO*STRUCTURE*
                  CFISTCOP='CONNECTIONS*WITH*PROBLEMS'
                  CFISTQTM='SERVICETM*SUM FOR*QUEUED*REQUESTS.
                  CFISTFLE='STATUS*FLAGS*EXTENDED'
                  CFISTRBP='REBUILDPERCENT*IN ACTIVE*CFRM'
                  CFISTPL ='CF*PREFERENCE*LIST'
                  CFISTXL ='STRUCTURE*EXCLUSION*LIST'
                  CFISTETM='STRUCURE*EXECUTION*TIME*SUM'

Change 25.160  Sample reports for Velocity Software data.
ANALXAMR
Aug  9, 2007
   Thanks to Robert Obee, IMS Health(R), USA.

Change 25.159  Support for APAR OA12865 for RMF 79 Subtype 9 Device
VMAC79         Activity added variable R799PSM='SUCCESSFUL*PAV*SAMPLES'
Aug  9, 2007   and relabeled variable R799PCT='UNSUCCESSFUL*PAV*SAMPLES'
               and now INPUTs R799NDA as 4 bytes instead of 2, so that
               variables R799NDA,R799DPB,R799CMR,R799PCT,R799PSM now are
               correct, and variable R799CNX6='HYPERPAV*BASE*DEVICE?' is
               created.
              -RMF II 79 subtype 9 records written at 1 minute intervals
               have the accumulated values reset when RMF Monitor I pops
               its interval, which caused MXG to set the DIF()'d
               values missing; now, only the first observation for each
               device will have missing values for the deaccumlations,
               since I don't know the prior value from yesterday!
              -R799NUX required special handling as it is accumulated
               if the device is HyperPav, and is not otherwise.
   Thanks to Mike Romeo, Schwab, USA.

Change 25.158  The %QUOTE function had to be replaced with the %BQUOTE
UTILBLDP       function, because %QUOTE does not "mask" percent signs,
Aug  8, 2007   and the user-provided text can contain percent signs
               that needed to be masked.  When a user sets the  text
               %LET MACKEEP= MACRO _S110 %;  and executes %UTILBLDP(...)
               this %LET MACBLDP= %QUOTE(&MACKEEP);  created the MACBLDP
               with  MACRO _S110 ) instead of MACRO _S110 % because the
               %QUOTE function saw the end of the text as  %) and that
               pair of adjacent characters are a "special character"
               that is, by design, changed to a single paren by %QUOTE.
               The %BQUOTE masks these characters that aren't by %QUOTE:
                 unmarked percent signs
                 unmatched, unmarked single and double quotation marks
                 unmatched, unmarked opening and closing parentheses
               This issue comes up most often in the %LET MACKEEP= text,
               as its usage can have a wide range of character text.
               I have previously suggested that when setting MACKEEP to
               text that can contain a semicolon, you must use %QUOTE(),
               but for old-style macro redefinitions like _S110, there
               was no need for the complexity of the %QUOTE() syntax.
               And it appears if there happened to be blanks in the
               right places, even percent signs could be passed without
               either function.  Now, if you have semicolons or percents
               depending on the context and state of the macro language,
               %BQUOTEs may be required in your %LET statements.
               Specifically this is required:
                 %LET MACKEEP=%BQUOTE( MACRO _S110 %) ;
   Thanks to Carmen Vitullo, Acxiom IT Outsourcing, USA.

Change 25.157  Change 24.064 added &MXGNOBY operand to circumvent errors
MONTHDSK       NOT SORTED, but the invocation of &MXGNOBY was not added
MONTHWEK       the WEEKBLDT and MONTHDSK members, where it didn't work!
WEEKBLDT
Aug  6, 2007
   Thanks to Randy Parker, Trustmark National Bank, USA.

Change 25.156  The ARRAY LWAI(33) $ LCPUWAI0-9 + were one-byte lengths,
VMAC7072       but ARRAY LDED(33) $ LCPUDED0-9 + were eight bytes long,
Aug  6, 2007   and I cannot see why they are different, but as they are
               one-byte variables, their ARRAY statement now explicitly
               sets their length with  ARRAY xxxx (33) $1;

Change 25.155  Variables created with the SCAN() function are set by SAS
VMACCLAR       to character length of $200, even though the input length
VMACNMON       is only $128.  While I believe SAS should set the output
Aug  6, 2007   length to $128, as WPS does, adding LENGTH statements did
               circumvent this SAS problem.  Other character handling
               functions, like SUBSTR() do set the new variable's length
               from the input variable's length.

Change 25.154  PROC MEANS does not pass variable attributes (LENGTH etc)
VMXG70PR       to the output dataset unless / INHERIT is added to the
Aug  6, 2007   OUTPUT statement; MXG normally uses %VMXGSUM, which does
               specify INHERIT, but the two new PROC MEANS added for the
               new IFA/ZIP variables did not specify INHERIT, causing
               wrong or blank LENGTH/LABEL/FORMATs for those variables.

Change 25.153  False ERROR: INVALID TYPE42 SUBTYPE 5 RECORD DELETED
VMAC42         were printed because the tests revised by Change 25.095
Aug  3, 2007   should be OFF+LEN GT LENGTH+1 vice GT LENGTH.  The
               record was valid, but, as the message stated, it was
               deleted.
   Thanks to Joachim Mayr, Amadeus, GERMANY.

Change 25.152  The analysis of input queue time for Duplicate JOB HOLD
ANALINIT       used LASTEND=LAG(JINTTIME) for the start of the input
Aug  3, 2007   queue delay of the next Duplicate JOB NAME, but JINTTIME
               is the Start Time of the last job, and, as documented in
               Change 12.274, that LAG() function statement
                 (which returns the value of that variable from the
                  prior observation)
               should have been LASTEND=LAG(JTRMTIME), so that this
               job's delay is calculated from the End of Execution of
               the prior job.
   Thanks to Larry Riggen, OneAmerica, USA.

Change 25.151  The example JCLVMXA invokes PROC MEANS for all datasets,
VMACVMXA       that would not normally be executed except for the first
Aug  3, 2007   test, but it failed be cause _MPRCAPC and _MPRCAPM were
               not defined (those macro names in lines 20396,20397 were
               misspelled).  The MONWRITE datasets were correctly built;
               Also, MXG 25.06 had a DEBUG=1; statement left from tests
               that printed a lot of messages on the SAS log, but with
               no impact on the SAS datasets that MXG created.
   Thanks to Yaohua Hu, ISO, USA.

Change 25.150  The ASUM70PR summarization could (still!) create PCTCPUBY
VMXG70PR       over 100%, if adjacent intervals being summarized had the
Aug  3, 2007   exact same value of STARTIME SMF70GIE and DURATM after
               the INTERVAL= operand had reset STARTIME and SMF70GIE.
               These DURATM was also incorrect (too small) in these bad
               observations, but ALL OTHER VARIABLES ARE CORRECT.
               It was the heuristic use of DURATM that seemed to work,
               but is now recognized as the culprit, as it failed when
               two adjacent DURATMs were identical.  Now, by instead
               using the OLDSTART, the original unmodified interval
               start, and inserting it in internal sorts in place of
               DURATM, and testing IF FIRST.OLDSTART vice FIRST.DURATM
               there's a clean algorithm for new intervals and this old
               recurring problem should be fixed for good.
              -Summarization with INTERVAL=SHIFT did not work, because
               MXG can not know the duration of each of your shifts, and
               message VARIABLE MXGDURTM UNINITIALIZED was printed.
               However, if you will add a statement in your IMACSHFT
               tailoring member for each shift, that sets then variable
               MXGDURTM=nnnnn;, where nnnnn is the duration in seconds
               (e.g., MXGDURTM=28800; for an 8-hour shift), then you can
               INTERVAL=SHIFT to summarize PDB.ASUM70PR & PDB.ASUM70LP
               to your shift definitions.
              -Summarization with CECINTRV=SHIFT is also now supported,
               proved you tailor IMACSHFT to set MXGDURTM, as above.
               The MXG note that SHIFT could not be used is removed.
   Thanks to Debby Blackey, HCA HealthCare, USA.

Change 25.149  The SAS/ITRM product (formerly SAS/ITSV) executes MXG to
ADOCITRM       create its SAS datasets, but the MXG dataset names are
Aug  2, 2007   changed by ITRM.  This member's table maps the ITRM names
               to the original MXG dataset name.

Change 25.148  A tutorial on how MXG normally creates SORTed datasets,
ADOCDB2        two exceptions, and an MXG tailoring example that writes
Aug  1, 2007   the DB2ACCTB and DB2ACCTP datasets to separate DDNAMES,
               also bypassing their SORTs.

               MXG normally builds datasets that are PROC SORTed, and
               the sort order can be exploited in subsequent programs
               to avoid unneeded sorts.  MXG's SORTs specify the NODUP
               SAS option, which removes any duplicate SMF records.

               However, two datasets, DB2ACCT and CICSTRAN have never
               been SORTed by default, as they were always known to be
               very large.  So their "dataset sort _Sdddddd" tokens,
               _SDB2ACC and _SCICTRN, were NOT in the default list of
               datasets to be sorted in VMACDB2 and VMAC110 defaults.

               With hindsight, I should also have NOT included SORTs of
               the DB2 per-buffer (DB2ACCTB) and per-package (DB2ACCTP)
               datasets, which now can be as large or larger than, their
               DB2ACCT counterpart!

               But now that MXG has sorted those datasets by default,
               I can not safely remove those SORTs, without high risk
               of causing a user program to unnecessarily fail. But,
               you can use this MXG tailoring example to write them
               to separate DDnames, and bypass their dataset sorts:

                 // EXEC MXGSASV9
                 //SMF  DD DSN=YOUR.SMF,DISP=SHR
                 //DB2ACCT  DD DSN=YOUR.DB2ACCT,DISP=(,CATLG),...
                 //DB2ACCTB DD DSN=YOUR.DB2ACCTB,DISP=(,CATLG),...
                 //DB2ACCTP DD DSN=YOUR.DB2ACCTP,DISP=(,CATLG),...
                 //PDB      DD DSN=YOUR.OTHER.DB2.STUFF,DISP=(,CATLG),..
                 //SYSIN DD *
                  %LET WDB2ACC=DB2ACCT;  /*DDNAME for DB2ACCT */
                  %LET WDB2ACB=DB2ACCTB; /*DDNAME for DB2ACCTB*/
                  %LET WDB2ACP=DB2ACCTP; /*DDNAME for DB2ACCTP*/
                  %LET MACKEEP=
                    MACRO _SDB2ACB  %    /*BYPASS DB2ACCTB SORT*/
                    MACRO _SDB2ACP  %    /*BYPASS DB2ACCTP SORT*/
                  ;
                  %INCLUDE SOURCLIB(BUILDPDB);
                  RUN;

               This same tailoring, using a  %LET Wdddddd=DDNAME;
               statement to name the output DDname for the "Work"
               copy of a dataset, and using %LET MACKEEP= as shown to
               define MACRO _Sdddddd % (i.e., to a blank value) can be
               used for any other large dataset that you want written
               to a separate DDNAME, unsorted, as your SMF data is read.

Change 25.147  Almost cosmetic.  The IMACxxxx/MACxxxx tokens that were
VMACQACS       defined for VMACQACS were the old IMACQAPM/MACQAPM tokens
VMXGINIT       from when AS/400 support was in VMACQAPM, and I decided
Aug  1, 2007   to change the VMAC to QACS but still use the QAPM token
               so existing AS/400 tailoring wouldn't need to be changed.
               However, this is inconsistent for new users, so this
               change adds the include of IMACQACS and created MACQACS,
               so the expected token names are found, but the old tokens
               are still invoked, so existing tailoring still works.
   Thanks to Philip Downes, Fortis Bank, BELGIUM.

Change 25.146  Using PDB=SMF could cause ERROR: NO DATASETS TO LOOKUP
ANALRMFR       because SPLIT70 changes were not fully implemented.
Aug  1, 2007   A circumvention was to use TYPS7072 first to create the
               PDB datasets, and then use PDB=PDB in the %ANALRMFR,
               but this change corrects the error.
   Thanks to Mike Rounceville, Blue Cross Blue Shield of NC, USA.

Change 25.145  RMF III dataset ZRBLCP might have no observations for
VMACRMFV       many LPARs, due to an MXG error in its "SKIP" logic that
Aug  1, 2007   prematurely ended the scan over all LPARs.
               The statement SKIP=CPUCPLEN-32-1280; was replaced with
               the statement SKIP=CPUCPLEN-LPARPROF-LPARPRLN*LPARPRNR;
   Thanks to Erik Torp, IMT Nordic IBM, DENMARK.

Change 25.144  For ASCII execution, the FULLSTIMER option (MXG default)
UPCMEMSZ       will print the memory used by each DATA/PROC step.  One
Jul 31, 2007   way to determine how much virtual memory is available to
               your MXG programs is to execute this new utility
                 %INCLUDE SOURCLIB(UPCMEMSZ);
               which iterates the number of variables allocated in a
               temporary array of 32K-length-character-variables so the
               array size varies from 150MB up to 3GB.  You look on the
               log for the last successful step prior to the ERRORs:
                  FATAL: Insufficient memory to execute data step
                  program.  Aborted during the COMPILATION phase.
                  NOTE: The SAS System stopped processing this step
                  because of insufficient memory.
               In my Windows/XP system with SAS 9.1.3, that last step
               allocated  ARRAY TESTMEMSIZE (30000) $32000 _TEMPORARY_;
               and used 938,107 kbytes, or 916 MegaBytes

Change 25.143  MXG sets each of the 135 SWAP rate variables in TYPE71 to
VMAC71         a missing value if that field was zero and the field was
VMXGINIT       INPUT, but that design is inconsistent with MXG's use of
Jul 29, 2007   missing values.  Normally, an MXG variable has a missing
               value, a value different from a "zero", when:
                - the event didn't happen, like a datetimestamp JSTRTIME
                  for a JCL error - the job never "started".
                - a new variable is not INPUT, because that new product
                  is not yet installed at your site.
                - an old variable that no longer exists (like PERFGRP)
                  is no longer INPUT because the record segment is no
                  longer written.
               This design is not perfect; if the new variable is INPUT
               because it was added to an already-existing-segment, or
               if the old variable is still INPUT because it's segment
               exists, they will have a zero value instead of a missing
               value, but examination of missing values with PROC MEANS
               is used in MXG validation and technical support.
                 Back when these swap rates were added to the TYPE71,
                 most were zero, but I wanted blanks when PROC PRINTed,
                 so by setting their zero values to a missing value, and
                 using an OPTIONS MISSING=' '; statement, SAS printed
                 blanks instead of a sea of zeros or periods.

               Since TYPE71 always been this way, I'm reluctant to make
               changes to my default, but new &MXGMISS macro variable is
               now defined in VMXGINIT:
                  %LET MXGMISS = GT 0 ;
               and it referenced in VMAC71 for each swaprate with logic
                  IF variable &MXGMISS THEN variable=variable*INTTIME;
                  ELSE                      variable=.'
               so you can put this statement in your IMACKEEP or SYSIN
                     %LET MXGMISS = GE 0 ;
               and any zero values will no longer be missing values.

                 Advanced SAS notes:
                 a. I first defined MACRO _GT0 GT 0 % in VMAC71 member,
                    so it could be redefined with the MACKEEP, but its
                    re-execution caused unrelated code with ' GT 0 ' to
                    be seen as ' GT 0 0 ', causing compiler errors.
                 b. I tested IF X &MXGMISS THEN ... syntax for the case
                    when the variable MXGMISS was not defined, which
                    would happen if your site (unwisely) has a tailored
                    VMXGINIT member.  Although there are UNRESOLVED
                    MACRO VARIABLE messages and one NOTE: VARIABLE
                    MXGMISS IS UNINITIALIZED, the end result
                    I also discovered that the value of &MXGMISS macro
                    variable, when it is undefined, is the MXGMISS text,
                    rather than the blank value I had assumed/presumed!
   Thanks to Jerry Urbaniak, Acxiom, USA.

Change 25.142  Change 18.211 identified most _xxxxID macro tokens that
IMACIPAC       are "reversed" from the normal _IDxxxx syntax, but that
VMACIPAC       change only updated member UTILBLDP so it would know of
Jul 29, 2007   those inconsistent _ID macro names.  This change defines
               new, "correct" _IDxxxx macro names for those products,
               and modifies the SMF Record ID test syntax to

                  IF ID=_IDxxxx OR ID=_xxxxID THEN DO;

               so that your old definition in your IMACKEEP tailoring
               with MACRO _xxxxID nnn % does NOT need to be changed, but
               more importantly, so that new users who use the expected
               MACRO _IDxxxx nnn % will never find out about this MXG
               inconsistency.  These members were identified:
                ARB, DLMN, DMON, HBUF, HURN, IPAC, M204, NSPY, PDSM,
                RMDS, ROSC, RTE, SYNC, TSOM, VVDS, WYLA, WYLB, X37.
               Thus far, this change has only been made to these xxxx:
                IPAC
   Thanks to Keith McWhorter, Georgia Technology Authority, USA.

Change 25.141  IBM APAR OA21799 corrects invalid values for SMF78HIX,
VMAC78         the offset to the new-with-HYPERPAV (SMF78HPS) segments
Jul 27, 2007   in RMF 78 Subtype 3 records.  The value in SMF78HIX:
               -sometimes exceeded the physical record length, causing
                the MXG job to ABEND with this error message:

                  INPUT STATEMENT EXCEEDED RECORD LENGTH

               -sometimes pointed to the wrong LCUID. MXG compares the
                LCUID/R783ID2 from the old SMF78ASS segment with the
                R783HLCU from the new SMF78HPS, and printed messages:

                ***ERROR.VMAC78 LCUID=002E  DOES NOT MATCH R783HLCU=002F

               HyperPAV support was shipped by IBM with APAR OA12865.

               This change prevents the ABEND without the APAR installed
               by validating SMF78HIX before the INPUT of the HYPERPAV
               variables. Also, these new HyperPav variables:
                 R783HLCU R783HCU R783HNAI R783HTIO R783HAIU
                 R783HCAD R783HIOQ
               are set missing when LCUID mismatch or beyond-record-HIX
               is detected.  Only 10 error messages will be printed.

              -The actual records that contained invalid SMF78HIX values
               happened to also be "SPLIT 78" records, i.e., multiple
               records written for an interval when the data won't fit
               in one 32K SMF record.

               But split 78 records are not new; even before HyperPav,
               records are split if there are more than 80 LCUIDs.
               Fortunately, MXG has always created observations in the
               TYPE78CF (Configuration, from the SMF78DCS segments, and
               TYPE78CU (Control Unit, from the SMF78ASS and SMF78HPS
               segments), since split records are fully self-contained
               for each group of LCUIDs for those three segments that
               create those two datasets.

               But, UnFortunately, when 78 records are split, the 588
               byte I/O Queue Global segment (pointed to SMF78QDS) is
               repeated in each split record, causing duplicate,
               triplicate, or more replicas of each interval's data to
               be output in the TYPE78IO per-IOPIQID dataset.  I think
               the SMF78QDS data should have been written only in the
               first split record, but now that I see what IBM does, the
               change now only outputs TYPE78IO when SMF78RSQ is zero or
               one; zero is the value in an un-split record, one is the
               first record when records are split.
                 P.S. Because the split records have slightly different
                      values in SMFTIME, these duplicates cannot be
                      automatically recognized as dupes with the NODUP
                      option in PROC SORT after the fact; they must be
                      prevented up front.

              -No one has noticed/reported the duplicate TYPE78IO data,
               and only two sites encountered the ABEND in their daily
               BUILDPDB due to the invalid SMF78HIX, but IBM immediately
               accepted the problem and created the APAR to correct the
               error.  But RMF 78s are automatically processed by MXG's
               BUILDPDB job, so the behind-the-scene installation of
               HyperPAV might cause a fine-running-daily-accounting-JOB
               to ABEND, so do not overlook this Change and/or APAR.
   Thanks to Sam Knutson, Geico, USA.
   Thanks to Mike Lewellen, Charles Schwab & Co., USA.

Change 25.140  Support for z/OS 1.9 (very minor additions, COMPATIBLE).
ADOC6          - Variables SMF22ETY and SMF22FNC values are formatted
EXTY8223         and decoded by existing MG022FN, MG022ET formats.
EXTY9214       - Variable R723TPDP='CPU TIME AT*PROMOTED*DISPATCH*PRTY'
IMAC82           is added to TYPE72GO dataset.
IMAC92         - Variables
VMAC1718           R742PSTM='MORE*PATH*STATUS*FLAGS'
VMAC22             R742PRCT='PATH*RETRY*COUNT'
VMAC30             R742PPND='CURR*PENDING*SIGNALS*OUTBOUND'
VMAC7072           R742PUSE='CURRENT*BLOCKS OF*BUFF SPACE*USED'
VMAC71           are added to the TYPE74PA dataset.
VMAC74         - Variables
VMAC79             R742MST1='EXTENDED*MEMBER*STATE*ONE'
VMAC82             R742MST2='EXTENDED*MEMBER*STATE*TWO'
VMAC92             R742MINT='STATUS*CHECKING*INTERVAL'
VMXGINIT           R742MJOB='JOB THAT*JOINED*MEMBER'
Jul 26, 2007     are added to the TYPE74ME dataset.
               - Variables
                   R744FPSN='NUMBER OF*SHARED*CF*PROCESSORS'
                   R744FPDN='NUMBER OF*DEDICATED*CF*PROCESSORS'
                   CFPTYP01='1ST CF*CPU*PROCESSOR*TYPE'  thru
                   CFPTYP16='16TH CF*CPU*PROCESSOR*TYPE'
                   CFPWGT01='1ST CF*SHARED*PROCESSOR*WEIGHT' thru
                   CFPWGT16='16TH CF*SHARED*PROCESSOR*WEIGHT'
                 are added to the TYPE74CF dataset.
               - Variable
                   R744SETM='STRUCTURE*EXECUTION*TIME'
                 are added to the TYPE74ST dataset.
               - Variable
                   R791EXCW='EXCP*COUNT'
                 are added to the TYPE791  dataset.
               - Variable
                   R792EXCW='EXCP*COUNT'
                 are added to the TYPE792  dataset.
               - Variable
                   SMF82TKS='TKDS NAME'
                 are added to the TYPE8201 dataset.
               - New dataset TYPE8223 dataset contains
                   SMF82TKF='TKDS*BITS'
                   SMF82TKH='TKDS*HANDLE*BEING*PROCESSED'
                   SMF82TKN='TKDS*NAME'
               - New dataset TYPE9214 dataset contains
                  SMF92DDN='UNIQUE*DEVICE*NUMBER*FOR FILE'
                  SMF92DFG='FLAGS*80X=*RENAME'
                  SMF92DFN='NAME OF FILE*DELETED OR*RENAMED'
                  SMF92DFS='FILE*SYSTEM*NAME/
                  SMF92DFT='DATETIME OF*DELETE'
                  SMF92DIN='FILE*SERIAL*NUMBER'
                  SMF92DIP='FILE*SERIAL*NUMBER*OF PARENT'
                  SMF92DNL='LENGTH OF*FILE NAME*FOR DELETE'
                  SMF92DNR='LENGTH OF*FILE NAME*FOR RENAME'
                  SMF92DRN='NEW NAME*THAT WAS*RENAMED'
                  SMF92DTY='FILE TYPE*AS DEFINED IN*BPXYFTYP'
                 new variables.
               -APAR OA17070 Additions to RMF 74-4 Coupling Facility CF
                records provides the RMF support for accounting and the
                measurement extensions of CF level 15. The COMPATIBLE
                record change to RMF 74 records added these new data:
                - Variables
                   R744FPSN='NUMBER OF*SHARED*CF*PROCESSORS'
                   R744FPDN='NUMBER OF*DEDICATED*CF*PROCESSORS'
                   CFPTYP01='1ST CF*CPU*PROCESSOR*TYPE'
                      thru
                   CFPTYP16='16TH CF*CPU*PROCESSOR*TYPE'
                   CFPWGT01='1ST CF*SHARED*PROCESSOR*WEIGHT'
                      thru
                   CFPWGT16='16TH CF*SHARED*PROCESSOR*WEIGHT'
                  are added to the TYPE74CF dataset.
                - Variable
                   R744SETM='STRUCTURE*EXECUTION*TIME'
                  are added to the TYPE74ST dataset.

Change 25.139  Support for IMF Version 4.3 (INCOMPATIBLE).  Part of that
VMACCIMS       incompatibility was because MXG tested IMSVERS LT '13'
Jul 14, 2007   (because CIMS/Boole made major record format changes when
               IMS 1.3 replaced IMS 1.2 years ago), but now, IMSVERS has
               '1010' for IMS Version 10, causing MXG to try to read the
               current records with ancient 1.2 code.  However, many new
               new fields were inserted by IMF 4.3, which relocated the
               DBD segments incompatibly; this won't happen again, as
               one of the new fields added is the OFFDBTRL, the offset
               to the DBD segments.  These new variables are created
               in the CIMSTRAN dataset:
                 TRNARVTH TRNARVTJ TRNE1STD TRNEAPPL TRNEAPPU TRNEDB2
                 TRNEDB2U TRNEDLDB TRNEDLTM TRNEF2   TRNELDLI TRNEMQS
                 TRNEMQSU TRNEOESS TRNEOESU TRNEOPCL TRNESYNC TRNETFLG
                 TRNETIME TRNEWLMC TRNMODET TRNMSCTH TRNMSCTJ TRNMSCUT
                 TRNNUOWP TRNOTCLF TRNOTCLN TRNOTCON TRNOTCOR TRNOTIP
                 TRNOTMAM TRNOTMAP TRNOTPRT TRNOTSCF TRNOTSLF TRNOTSOC
                 TRNOTSTC TRNOTSTF TRNOTSYF TRNOTUSR TRNRSENM TRNSMQGN
                 TRNSTCKE TRNSTOPA TRNSTOPU TRNSTRTA TRNSTRTU TRNTCPU
                 TRNUOW   TRNW1OTH TRNW2IOO TRNW2IOV TRNW2LCH TRNW2OTH
                 TRNW3LCH TRNW3OTH TRNW4DBR TRNW4IO  TRNW4OTH TRNW5IOD
                 TRNW5IOO TRNW5IOV TRNW5LCH TRNW5LCK TRNW5OTH TRNWLMRE
                 TRNWLMRT TRNWLMSC TRNWLMZR TRNXCKPC TRNXCKPM TRNXCKPT
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
   Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.

Change 25.138  Support for APAR OA20314 which adds two variables
VMAC89           SMF89LPN='LPAR*NAME'
Jul 14, 2007     SMF89ZNA='LICENSE*ZNALC*IN*EFFECT?'
               to both TYPE89 and TYPE892 datasets.
   Thanks to Al Sherkow, I/S Management Strategies, USA.

Change 25.137  INPUT STATEMENT EXCEEDED RECORD LENGTH error with SMF 80
VMAC80A        record that contained new TOKDANAMs CPUTIMEMAX,
Jul 13, 2007   ASSIZEMAX and FILEPROCMAX segments, because MXG did not
               protect for unknown tokens.  This fix protects so the
               record will be read and the new tokens will be skipped.
               This change and text will be revised to support those
               three new tokens.
   Thanks to Gerald Nagao, University of California, USA.

Change 25.136  Two utility programs to count PDS Directory Blocks used
TYPELPDS       and defined.
UTILLPDS       The first example, in TYPELPDS, uses IBM LISTVTOC and
Jul  4, 2007   LISTPDS programs to create flatfiles that are then read
Aug  7, 2007   in a second SAS step (so this could be used by sites with
               SAS only on ASCII), and it captures all PDS on a volume,
               with no prior knowledge of their DSNAMES.
               The second example, in UTILLPDS, is a SAS example that
               gets the blocks for a single dataset.
               Christa requested the facility.  Chuck wrote TYPELPDS.
               Geert contributed UTILLPDS.  I wrote the change/comments.
   Thanks to Chuck Hopf, Bank of America, USA.
   Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.
   Thanks to Geert De Batselier KBC Bankverzekerinngsholding, BELGIUM.

Change 25.135A The label for TYPE70PR variables LCPUCAP and LCPUCAPC now
TYPE7072       include "Hard CAP" because those flag variables are set
Jul  4, 2007   'Y' when Hard Capping was specified when the LPAR was
               defined (LCPUCAP) or if the Hard Capping status of the
               LPAR was changed during this interval (LCPUCAPC).  Hard
               Capping tells PR/SM to cap resources delivered to that
               LPAR at that LPAR's Designated Share (which is derived
               from the weight given to this LPAR versus the total of
               the weights you gave all of the other LPARs in the CEC).
               Once an LPAR specified as hard capped reaches its
               designated share, that LPAR is then "hard capped" and
               normally does not receive more than its share of total
               CEC resources.

               Soft capping of an LPAR is done by WLM in response to
               license manager determining that the LPAR's rolling
               4-hour average MSU has exceeded the MSU specified for the
               LPAR.  A Soft Capped LPAR will have PDB.TYPE70PR variable
               LPARNSW='PERCENT*LPAR SOFT*CAPPED' nonzero in soft capped
               intervals (and LPnNSW variables nonzero in PDB.ASUM70xx
               ASUMCExx summary datasets).

               To further confuse the issue, there can be resource group
               capping of service classes based on Resource Group
               specifications.

               Even more confusing is that Discretionary Management
               algorithms can cap a service class period that is a
               candidate for Discretionary Mangement if it significantly
               exceeds its performance goal (PI LT 0.71), and this
               Discretionary Management cap will show up even though the
               service class is not assigned a Resource Group cap.

   Thanks to ???, ???, FRANCE, for asking why LCPUCAP was never 'Y'.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
               the above answers.

Change 25.135  %ANALRMFR(PDB=PDB,REPORT=DEVC,DEVICEC=20) caused several
ANALRMFR       errors (variables CPUTYPE CPUVERSN, variable CAIM NOT
Jul  4, 2007   FOUND).  A list with dashed names CPUSER0-CPUSER9 was
               enumerated and CAIM was removed (no such variable), and
               UNINITIALIZED VARIABLES SMF70CPA and SMF70WLA were fixed
               by their addition to ID statements where needed. But the
               removal of CPUTYPE and CPUVERSN from the TEMP74 ID list
               was the correct revision, because the don't exist when
               a report for only RMF 74 records is requested.
   Thanks to Esti Sas, Bank Lemui, ISRAEL.

====== Changes thru 25.134 were in MXG 25.06 dated Jul  4, 2007=========

Change 25.134  Support for IRRDBU00 record types 0560, 0561, 0562 and
EXRAC560       05C0 create four new datasets (all of which, unlike prior
EXRAC561       IRRDBU00 records, contain multiple segments per record).
EXRAC562          dddddd     Dataset   Description
IMACRACF          RAC560     RACF0560  GEN RES CERTIFICATE DATA
VMACRACF          RAC561     RACF0561  GEN RES CERTIFICATE REFERENCE
VMXGINIT          RAC562     RACF0562  GEN RES KEY RING DATA
Jul  3, 2007      RAC5C0     RACF05C0  GEN RES CDTINFO DATA
   Thanks to Aimee Steele, Euroclear, BELGIUM.

Change 25.133  Support for Williams Data Systems FERRET product user SMF
EXFERTCP       creates three new datasets:
EXFERTEE
EXFERTRT         DDDDDD     MXG       MXG
IMACFERT         DATASET    DATASET   DATASET
TYPEFERT         SUFFIX     NAME      LABEL
TYPSFERT
VMACFERT         FERTCP     FERRETCP  FERRET CP SUBTYPE 1
VMXGINIT         FERTEE     FERRETEE  FERRET EE SUBTYPE 2
Jun 30, 2007     FERTRT     FERRETRT  FERRET RTP SUBTYPE 3

Change 25.132  AS400 TYPECONF variables GDESCL,GDESCN,GDESED,GDESET, and
VMACQACS       GDES91 are now kept, GDES2 is formatted TIME8, and GDES3
Jun 30, 2007   is now INPUT as $7 (Model+System-TYPE - e.g., 8709406).
               Date/Time variables GDESED, GDESET are character text, so
               they cannot be formatted, but new GDESEDD and GDESETT are
               numeric variables with DATE9 and TIME8 formats.
   Thanks to Urs Kugler, Zurich Insurance Company, SWITZERLAND.

Change 25.131 -Support for RACFEVNTs 52 (SET UID) and 79 (CRL PUBLISH)
EXTY8052       creates two new datasets from SMF 80 records:
EXTY8079         DDDDDD     MXG       MXG
IMAC80A          DATASET    DATASET   DATASET
VMAC80A          TY8052     TYPE8052  RACF EVT 52 SET UID
VMXGINIT         TY8079     TYPE8079  RACF EVT 79 CRL PUBLISH
Jun 30, 2007  -Support for TOP SECRET records with RACFVRSN '90'x.
Jul  2, 2007   The '90'x records contain ONLY the "standard" relocate
               sections (they have SMF80DTP=RACFTYPE values 1-255, there
               are NRSET sections, and they are located at OFFSET), and
               the header ends at SMF80VER/RACFVRSN, the "short" CA SMF
               80 header, which is different than the "standard" IBM 80
               record header; MXG has always detected IBM vs TOP SECRET
               format based on RACFVRSN and found the short header.
              -Support for TOP SECRET records with RACFVRSN '00'x is an
               INCOMPATIBLE change that required new logic to detect the
               new and different format. The '00'x records contain ONLY
               the "extended" relocate sections (they have segment type
               SMF80TP2=EXTLNTYP values of 256-65535, there are SMF80OC2
               sections, and they are located at SMF80OC2), but the '00'
               records now have the "full" IBM header (thru SMF80RSV).
                 And, of course, CA changed the SMF80OC2 offset value in
                 the '00'x, but not in the '90'x, to match the way IBM
                 has always (incorrectly!) set OFFSET and SMF80OC2:
                  In all other IBM SMF records, offsets are from the RDW
                  and the INPUT is @OFFSET-3, but the IBM SMF 80s have
                  always required @OFFSET+1.  The original and '90'x Top
                  Secret records require -3, the new ones require +1.
              -The MXG code that formerly created TYPE80A and TYPE80CM
               datasets has been changed, and there now should never be
               any observations written to those datasets.  Previously,
               TYPE80A was OUTPUT if NRSET=0 (e.g., RACFEVNT=79 that
               has only extended relocate segments), and TYPE80CM was
               OUTPUT when an unknown SMF80DTP segment type was found.
               TYPE80A now will contain obs only if the SMF 80 records
               has no segments: OUTPUT only if NRSET=0 AND SMF80OC2=0.
               TYPE80CM will contain obs only if SMF 80 records contain
               relocate sections (standard or extended) that MXG does
               not (yet) decode, but if you send your SMF records to
               support@mxg.com, those segments will be decoded and those
               observations will go away.
              -Top Secret Documentation: MXG decodes the Top-Secret-Only
               SMF80DTP segment values of 103, 104, 105, 109, and 114,
               and outputs one observation in the TYPE80TS for each
               segment (i.e., multiple observations from one SMF 80
               record).  MXG also outputs one observation per record to
               the appropriate TYPE80xx dataset for that RACFEVNT=xx,
               with all the "IBM" variables from the relocatable DTP/DT2
               segments.
              -New Top Secret DTP=115 and DTP=116 segments will be
               decoded and output to TYPE80TS when documentation is
               received; this text will be updated when completed.
   Thanks to Greg Burt, Fifth Third Bank, USA.

Change 25.130  Support for Clarion Disk Array flat files creates new
EXCLARDI       datasets:
EXCLARLU         DDDDDD     MXG       MXG
EXCLARPO         DATASET    DATASET   DATASET
EXCLARRA         SUFFIX     NAME      LABEL
EXCLARSA
EXCLARSN         CLARDI     CLARDISK  CLARION ARRAY DISK DATA
EXCLARSP         CLARLU     CLARLUN   CLARION ARRAY LUN  DATA
IMACCLAR         CLARPO     CLARPORT  CLARION ARRAY PORT DATA
TYPECLAR         CLARRA     CLARRAID  CLARION ARRAY RAID DATA
TYPSCLAR         CLARSA     CLARSAN   CLARION ARRAY SAN  DATA
VMACCLAR         CLARSN     CLARSNAP  CLARION ARRAY SNAP DATA
VMXGINIT         CLARSP     CLARSP    CLARION ARRAY SP   DATA
Jun 29, 2007   Jul 5: Variable OBJECT removed from BY lists as it is
Jul  5, 2007   subordinate to their OWNERNAM, and it's parsed pieces
               are already available in the other BY variables.
   Thanks to Jim Quigley, ConEd, USA.

Change 25.129  Variable QW0224PN and QW0224CI are now created in the
VMAC102        T102S224 DB2 Trace IFCID=224 dataset.
Jun 29, 2007
   Thanks to Christa Neven, KBC Bankverzekerinngsholding, BELGIUM.

Change 25.128  Variable UBRECRD is now formatted with $MGDCORF, and is
VMACDCOL       INPUT as $CHAR1 instead of $EBCDIC1 so it is valid on the
Jun 27, 2007   ASCII platform as well as on EBDIC, and it is set to
               LENGTH $1 (without the LENGTH set to $1, the length of
               the format item, $MGDCORF, is used by SAS for the length
               of the variable, wasting space).
   Thanks to Trevor Ede, EDS New Zealand Limited, NEW ZEALAND.

Change 25.127  Support for Oracle Version 10 has been in place since MXG
VMACORAC       Version 24.06, as there were no changes in the physical
Jun 27, 2007   contents of their user SMF record.  However, V10 data for
Oct 16, 2008   the Kernel fields (MXG variables LOGREADS PHYREADS
               LOGWRTS DMLCOMIT DMLROLLS DEADLOCK) is trashed with very
               large values in the initial test records; a problem has
               been opened with Oracle Technical Support and this note
               will be updated when a fix is available from Oracle.
               Oct 2008 update:
               The incorrect I/O counts appear to have been fixed in
               Oracle 10.2.0.3.  The SMF fix 6725982 also requires fix
               6138068 and 6646861.
   Thanks to Sudie Wulfert-Shcickendanz, Anheuser-Busch, USA.

Change 25.126  Circumvention to skip new TMC 'FF20'x Volume Definition
VMACTMS5       record, awaiting doc and data to decode.
Aug  7, 2007

Change 25.125  VGETOBS added conditional use a DATA step for testing,
VGETOBS        but that revision was removed and would not be executed.
Aug  7, 2007

Change 25.124  Preliminary changes to support testing of MXG under WPS.
AUTOEXEW      -Member CONFIGW2 defines the SAS options for WPS execution
CONFIGW2       on z/OS platforms.  Some SAS options do not yet exist in
MXGWPSV2       WPS, and some are no longer needed or are not changeable.
VMXGINIT       It must be the last dataset in the //CONFIG DD in your
Jun 25, 2007   MXGWPSV2 JCL procedure.
Aug  8, 2007  -Member AUTOEXEW defines the SAS options for WPS execution
Sep 25, 2007   on ASCII platforms.
VMACSMF       -VMXGINIT set new GLOBALed macro variable &WPSVER=2 when
               execution under WPS V2 is detected, and sets the existing
               macro variable &SASVER=8, so that MXG will generate code
               for the SAS V8 environment that WPS V2 replicates.
               Sep 25: test for SASVER EQ 2.00 in VMXGINIT was changed
               to LT 6 when WPS changed version to 2.01.
              -VMACSMF updated to protect FILENAME= option not in WPS.


Change 25.123  An undetected DIVIDE BY ZERO in VMXGRMFI occurred in the
VMXGRMFI       PGPERBLK=PGPERBLK/BLKSAUIN calculation, but I do not know
Jun 25, 2007   why SAS did not detect and report the error (which is
               inside the OUTCODE= of a PROC MEANS inside VMXGSUM).  The
               division is now protected.

Change 25.122  If BUILDPDB=NO, USERADD didn't function correctly for the
UTILBLDP       TMNT, 5, 26J2, or 30 "products".
Jun 25, 2007
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.121  PDB.ASUMUOW dataset is enhanced to keep the response time
VMXGUOW        of each of the CICS segments in the Unit of Work.
Jun 22, 2007

Change 25.120  Utility for counting CICS record, bytes, transactions for
UCICSCNT       each region and subtype now separates CICS Resource field
Jun 22, 2007   segments from CICS Transaction segments in counts, and
               report titles and labels were clarified.

Change 25.119  SMF 119 with (new in z/OS 1.8) IPV6 ICMP segments caused
VMAC119        INVALID DATA error messages due to blanks where &PIB.4.
Jun 20, 2007   should have been for the INFORMAT of several variables
               in the TYP11905 dataset (after @OFF11907).
   Thanks to Marty Rhodes, Hertz Corporation, USA.

Change 25.118  DEVMODEL='3380K' caused INVALID ARGUMENT error as noted
ASUMCACH       in Change 23.073; logic revised to set MODEL=3380 when
Jun 20, 2007   DEVMODEL=:'3380' to circumvent.
   Thanks to Tom Heller, Cincom Systems, Inc, USA.

Change 25.117  INVALID ARGUMENT TO FUNCTION INPUT reading SYNCSORT SMF
VMACSYNC       records were due to incorrect HEX4 and HEX3 informats
Jun 19, 2007   that should have been HEX8 and HEX6, and (on ASCII only)
               SYNSRTOU was input as $CHAR instead of $EBCDIC.  The
               variables that were wrong were Device Addresses
               SIDEVNR and SODEVNR.
   Thanks to Patrick Holloman, Zions Management Services Co., USA.

Change 25.116  MXG 25.05 GMTOFF30 was still wrong because Change 25.089
VMAC30         for TYPE30U6 GMTOFF30/INTETIME/INTBTIME was still wrong
VMAC30         in some cases; those variables are now created in the
Jun 19, 2007   _STY30U6 logic based on SMFTIME and the EXECTM; variable
               SYNCTIME sometimes exists, and if it does, it is reset
               from GMT; otherwise, it is set to INTETIME.  With 25.05
               TYPE30_V/SMFINTRV has negative EXECTM and ITRVLTM values.
               With MXG 25.05,
   Thanks to Rudolf Sauer, T-Systems Enterprise Services, GERMANY.

Change 25.115  Incorrect values for memory variables in XMUCDSYS were
VMACXAM        the result of my inability to recognize PL/1 source, so
Jun 15, 2007   I overlooked several fields in this Linux under VM data.
   Thanks to Robert Obee, IMS Health, USA.

Change 25.114 -The XCOM support is revised to conform to Change 18.338
VMACNDM        by defining the MACRO _VTYXCOM for this product.  Over
VMACSOLV       time, all members will be revised to provide this option,
VMACXCOM       but I tend to get motivated only when someone asks.
Jun 14, 2007  -Jun 27: SOLV enhanced to define _VTYSOLV, _VTYSOL1 macros
Jun 27, 2007  -Jun 27: NDM now defines _VNDMxx macro for all datasets.
   Thanks to Trevor Ede, EDS, New Zealand.

Change 25.113  The HSM support is enhanced to create an "HSM COMPLEX"
ASUMHSM        variable, HSMPLEX, for the HSM Summarization logic to
Jun 14, 2007   support sites with multiple DFHSM-managed storage
               environment. HSMPLEX is blank by default, but the new
               MACRO _ESUHSM has a commented exmaple on how you might
               create values in HSMPLEX for your DFHSM data.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.112  The CA IDMS Performance Monitor support is enhanced with
IHDRIDMS       the insertion of an INCLUDE for IHDRIDMS member after the
VMACIDMS       IDMS header variables have been input.  New &MACIDMSH
VMXGINIT       macro variable is defined so either the IHDRIDMS member
Jun 14, 2007   or it can be used to access the header variables.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.111  A misplaced end comment after PUT 'DEBUG TWO' statement
VMAC80A        after Change 25.024 caused variable TYPSTRNG to be wrong.
Jun 13, 2007   TYPSTRNG is an MXG-created variable that identifies which
               RACFTYPE subtypes were found for this RACF event.
   Thanks to John Hammonds, Texas Comptroller of Public Accounts, USA.

Change 25.110 -When there are more than some number of disks, NMON will
VMACNMON       create additional objects DISKBUSY1/DISKREADn etc; they
Jun 12, 2007   are now supported.
              -Inconsistent sort order BY statement were revised.
              -JFSFILE name was increased in size to $128 to prevent
               false duplicates

Change 25.109  z/OS 1.8 changed the meaning of UIC values in SMF71Uxx
VMAC71         variables to now represent the time for one steal cycle
Jun 14, 2007   through the whole storage area, with a range of values
               from 0 to 65535 (18 hours).  As before, low UIC implies
               higher storage contention. The new UIC metrics for
               Current UIC are calculated every second, while Min and
               Max are the lowest/highest UIC during the last walk thru
               the storage area.  IBM has kept the old form of UIC
               (values 0-2054) in SMF71LIC/HIC/ACA, MXG variables
               HIUICMN/MX/AV, but this change now stores the new
               SMF71Uxx values in the three old UIC MXG variables
               HIUICMN/HIUICMX/HIUICAV variables, as their value has no
               meaning with z/OS 1.8.
               See Change 26.069, which corrected HIUICMN and HIUICMX.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 25.108  Unused Change.

====== Changes thru 25.107 were in MXG 25.05 dated Jun  7, 2007=========

Change 25.107  Support for CA Brightstor Tape Encryption user SMF record
EXBTENCR       creates two new datasets:
EXBTEN32        DDDDDD  MXG       MXG
IMACBTE         DATASET DATASET   DATASET                            REC
TYPEBTE         SUFFIX  NAME      LABEL                              St
TYPSBTE         BTENCR  BTENCRYP  BTENCR: BRIGHTSTOR TAPE ENCRYPTION all
VMACBTE         BTEN32  BETNCR32  BTEN32: BRIGHTSTOR SUBTYPE 32
VMXGINIT       but this change was not included in MXG 25.05; 25.06+ is
Jun  7, 2007   needed for these data.  See also Change 25.143.
Jun 14, 2007
   Thanks to Ray Dunn, CIGNA, USA.

Change 25.106  MXG 25.04 only.  Zero obs in TMSTMS due to a debug test
TYPETMS5       IF DSN='DB2SPEC.DBBKUP.ONSITE.CSTDB21R.CSTTSP10' THEN
Jun  5, 2007   statement that should have been deleted.
   Thanks to Jan Bigalke, AGIS Allianz Dresdner Infosys, GERMANY.

Change 25.105 -Variable PARTNCPU contains the number of CP Engines, but
VMAC7072       the "in what" is different in different MXG datasets:
VMXG70PR       In ASUMCEC and ASUMCELP the label now reads:
Jun  5, 2007       PARTNCPU='NUMBER OF*CP ENGINES*IN CEC'
               in TYPE70PR, ASUM70PR, and ASUM70LP, the label now reads:
                   PARTNCPU='NUMBER OF*CP ENGINES*IN PARTITION'
               For example, you could see PDB.ASUMCEC with
                   NRPRCS=5 NRPHYCPS=4 NRICFCPU=2 PARTNCPU=2
               and PARTNCPU is thus the correct number of CP engines for
               any "CPU Busy" calculations.
              -Variable MXGCIN was not always set correctly for 'ICF's;
               fortunately, there was no impact on other variables.
              -If you should accidentally/incorrectly run ASUM70PR with
               incorrect CECINTRV=QTRHOUR reading DURATM=30 Minute data,
               then, as should be expected, the ASUMCEC output dataset
               is invalid, and had many PCTCPU's much greater than 100%.

Change 25.104  Full support for NMON, Nigel's Monitor for AIX/unix.  All
EXNMONAA       OBJECTs are now supported; an NMONxxxx dataset is created
EXNMONCD       from each OBJECT that has multiple instances per interval
EXNMONDS       (e.g. NMONDISK has an observation for each DISKNAME), and
EXNMONIN
EXNMONIO       NMONINTV dataset has all metrics from all OBJECTs that
EXNMONJF       have only one instance per interval.
EXNMONNT
EXNMONFS       These datasets are now created from NMON records:
EXNMONTO          DDDDDD  MXG       MXG
EXNMONUA          DATASET DATASET   DATASET
EXNMONVG          SUFFIX  NAME      LABEL                      Instance
EXNMONWL
IMACNMON          NMONAA  NMONAAA   NIGELS MONITOR AAA CONFIG   none
VMACNMON          NMONCD  NMONCPUD  NMON CPU DETAIL             CPUNR
VMXGINIT          NMONDS  NMONDISK  NMON DISK                   DISKNAME
Jun  5, 2007      NMONIN  NMONINTV  NIGELS MONITOR INTERVAL     none
                  NMONIO  NMONIOAD  NMON IOADAPTER              IOADAPTR
                  NMONJF  NMONJFSF  NMON JFSFILE                JFSFIL
                  NMONNT  NMONNETW  NMON NETWORK                NETNAME
                  NMONFS  NMONNFS   NMON NFS CLIENT AND SERVER  NFSTYPE
                  NMONTO  NMONTOP   NMON TOP PROCESS            PID
                  NMONUA  NMONUARG  NMON UARG PROCESS           PID PPID
                  NMONVG  NMONVG    NMON VOLUME GROUP           VOLGROUP
                  NMONWL  NMONWLM   NMON WLM                    WLMCLASS

               This table maps the objects to each MXG dataset:

                DDDDDD  MXG       MXG       The OBJECTs that create
                DATASET DATASET   DATASET   are listed.
                SUFFIX  NAME      LABEL

                NMONAA  NMONAAA   NIGELS MONITOR AAA CONFIGURATION
                                    OBJECTS: AAA
                NMONCD  NMONCPUD  NMON CPU DETAIL
                                    OBJECTS: CPUnn
                NMONDS  NMONDISK  NMON DISK
                                    OBJECTS: DISKBUSY DISKREAD DISKWRITE
                                    OBJECTS: DISKXFER DISKBSIZE
                NMONIO  NMONIOAD  NMON IOADAPTER
                                    OBJECTS: IOADAPT
                NMONJF  NMONJFSF  NMON JFSFILE
                                    OBJECTS: JFSFILE JFSINODE
                NMONNT  NMONNETW  NMON NETWORK
                                    OBJECTS: NET NETPACKET NETERROR
                NMONFS  NMONNFSS  NMON NFS CLIENT AND SERVER
                                    OBJECTS: NFSCLIV2 NFSCLIV3
                                    OBJECTS: NFSSVRV2 NFSSVRV3
                NMONTO  NMONTOP   NMON TOP PROCESS
                                    OBJECTS: TOP
                NMONUA  NMONUARG  NMON UARG PROCESS
                                    OBJECTS: UARG
                NMONVG  NMONVG    NMON VOLUME GROUP
                                    OBJECTS: VGBUSY VGREAD VGWRITE
                                    OBJECTS: VGXFER VGSIZE
                NMONWL  NMONWLM   NMON WLM
                                    OBJECTS: WLMCPU WLMBIO WLMMEM

                NMONIN  NMONINTV  NIGELS MONITOR INTERVAL
                                    OBJECTS: CPU_ALL
                                     VARS: PCPUUSER PCPUSYS PCPUWAIT
                                     VARS: PCPUIDLE PCPUBUSY NRCPUS
                                    OBJECTS: MEM
                                     VARS: REALFREE VIRTFREE REMBFREE
                                     VARS: VIMBFREE REMBTOTL VIMBTOTL
                                    OBJECTS: MEMNEW
                                     VARS: MNPROCPC MNFSCAPC MNSYSTPC
                                     VARS: MNFREEPC MNPINNPC MNUSERPC
                                    OBJECTS: MEMUSE
                                     VARS: MUNUMPPC MUMINPPC MUMAXPPC
                                     VARS: MUMINFPC MUMAXFPC
                                    OBJECTS: PAGE
                                     VARS: PGFAULTS PGIN PGOUT PGSIN
                                     VARS: PGSOUT RECLAIMS SCANS CYCLES
                                    OBJECTS: PAGING
                                     VARS: PGMBFREE
                                    OBJECTS: LARGEPAGE
                                     VARS: FREEPAGE USEDPAGE PAGES
                                     VARS: HIGHPAGE SIZEMB
                                    OBJECTS: PROC
                                     VARS: RUNNABLE SWAPIN PSWITCH
                                     VARS: READ WRITE FORK EXEC SEM MSG
                                     VARS: SYSCALL
                                    OBJECTS: PROCAIO
                                     VARS: AIOPROCS AIORUNNG AIOCPU
                                    OBJECTS: FILE
                                     VARS: IGET NAMEI DIRBLK READCH
                                     VARS: WRITECH
                                     VARS: TTYRAWCH TTYCANCH TTYOUTCH
                                    OBJECTS: LPAR
                                     VARS: PHYSICPU VIRTCPUS LOGLCPUS
                                     VARS: POOLCPUS ENTITLED WEIGHT
                                     VARS: POOLIDLE USEDALL USEDPOOL
                                     VARS: SHARECPU

               The JFSFILE and JFSINODE objects have errors in one file
               out of many; after many intervals, the number of data
               fields in those object records is smaller than the number
               of file names in the "dictionary" record.  Logic in MXG
               detects and reports these bad records on the log, and
               deletes the defective records.  If a fix from Nigel is
               forthcoming, this note will be updated.
   Thanks to Steve Olmstead, Northwestern Mutual Trust, USA.
   Thanks to Henry Steinhauer, Northwestern Mutual Trust, USA.

Change 25.103  Support for IBM OMEGAMON TRF ITRF V550 and V560.
EXITRMST       -Many new variables added to datasets ITRFMSG & ITRFMSGO.
IMACITRF       -Variables LOCLTIME and PSTNR added to all ITRF datasets.
VMACITRF       -New ITRFMSGT dataset is created from subtype 12 with the
VMXGINIT        text of the DFS554A message.
Jun  4, 2007   -There is a known error now fixed in APAR CCnnnnn; a few
                '10'x records (39 out of 10000) are misaligned, causing
                very high CPU time (1E13) and missing value in LOCLTIME.
                  Use PROC MEANS N MIN MAX SUM DATA=ITRFMSG; to examine
                  the maximum value of ACCPU and SRBTIME and LOCLTIME to
                  see if it has any missing values.
   Thanks to Guenter Rucks, FinanzIT GmbH, GERMANY.
   Thanks to John Maher, IBM Tivoli, USA.
   Thanks to Bert Winberg, IBM Nordic Processor, DENMARK.

Change 25.102  The erase of the old month directory syntax was wrong;
VMXGALOC       statement %let killmo="&basedir.w%trim(&killmnth)\*.*";
Jun  2, 2007   is now    %let killmo="&basedir.m%trim(&killmnth)\*.*";
   Thanks to Patrick Holloman, Zions Management Service Company, USA.

Change 25.101  MXG 25.04 only. Back in Change 25.085, I added options
               MEMLEAVE=25M NOSORTBLKMODE in CONFIGV9 because they did
CONFIGV9       correct an error, but those values were suggested for the
Jun  1, 2007   diagnostics; this change restores SORTBLOCKMODE because
               it is used by DFSORT for significant improvement in sort
               performance, and it is the SAS default, so it no longer
               set in MXG's CONFIGV9.
               MEMLEAVE protects a virtual storage area used only by SAS
               (especially needed when SAS calls an external product,
               like a host sort program), but MEMLEAVE is taken from the
               REGION size of the JOB; if you had an old job with the
               prior-recommended-by-MXG of REGION=64M, with MEMLEAVE=25M
               you only had 39M for the MXG job.  Additionally, the SAS
               recommended value is 10% of the REGION size, and almost
               all of MXG will execute in a REGION=100M, changing the
               value to MEMLEAVE=10M is more correct.
               But what about REGION=0M, didn't that solve the need to
               periodically increase any static REGION=nnnM values in
               your JCL?  Yes, it did, prior to the new Threaded Kernel
               Memory architecture in SAS V9, which operates independent
               of the prior "SAS Proper" WM Memory architecture, but the
               existence of two independent memory managers in one ASID
               has uncovered memory exposures if and only if REGION=0M
               is specified.  While a future version of SAS may resolve,
               the safest recommendation now is to set REGION=100M on
               your job card, with this revised CONFIGV9 member in use.
               (MXG also sets NOTHREADS because there are exposures to
               the use of THREADS on z/OS at this time that need to be
               understood, so I leave it to you to decide to THREADS,
               but even with NOTHREADS, the REGION=0M exposure exists,
               because SAS V9 itself is threaded.)
   Thanks to Jim Hayes, Huntington, USA.

Change 25.100  Documentation.  References to JCLINSTL were changed to
INSTALL        JCLINST9 for SAS V9.1.3 or JCLINST8 for SAS V8.2; the
JCLINSTx       JCLINSTL member no longer exists because it didn't work
Jun  1, 2007   for both SAS versions, but I failed to update the doc.
   Thanks to Allan Hardman, Co-Operative Bank, ENGLAND.

Change 25.099  Sub-subtype '4000'x (DLI) caused INPUT STATEMENT EXCEEDED
VMAC112        ERROR and/or incorrect values in T112DLI and T112DLIT
VMACOMCI       datasets; an 8-byte field was overlooked.
May 31, 2007  -Jun 28: Detection of unknown TTYPE added for safety.
Jun 28, 2007  -The SMF 112 record replaced the OMEGAMON for CICS user
Jun 30, 2007   SMF record, but only the SUBTYPE=203 "ONDV" record is
               processed by TYPE112, because that is the useful data,
               because only the subtype 203 can be compressed, and
               because the existing TYPEOMCI/TYPSOMCI code will read the
               other two subtypes:
                 200 - SYST
                 201 - INTR
               in a standalone job from SMF with this example

                 // EXEC MXGSASV9
                 //SMF
                 //PDB
                 //SYSIN DD *
                  %LET MACKEEP=  MACRO _IDOMCI  112  %
                  %INCLUDE SOURCLIB(TYPSOMCI);

               so you can investigate if the other two subtypes contain
               data of interest.  You could easily add processing of the
               SMF 112 and OMCI records to your BUILDPDB, using:

                  %LET MACFILE=
                    %QUOTE(      IF ID=112 THEN DO;
                                   INPUT @OFFSMF+19 SUBTYPE &PIB.2. @;
                                   IF SUBTYPE IN (200,201) THEN ID=299;
                                 END;
                          );
                  %LET MACKEEP=   MACRO _IDOMCI 299 %  ;
                  %UTILBLDP(BUILDPDB=YES,USERADD=112 OMCI);
                  %INCLUDE INSTREAM;


               Because the TYPE112 code now processes the subtype 203,
               VMACOMCI now only reads subtype 200 and 201 records, it
               was updated to accept V560 version, and the four bytes
               inserted for compression statistics are skipped.
               But see Change 26.257, which revised OMCI and 112 code.
   Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
   Thanks to Ray Dunn, CIGNA, USA.

Change 25.098  %UTILBLDP is enhanced with new option BUILDPDB=JES3 to
UTILBLDP       generate an %INCLUDE for BUILDPD3 instead of BUILDPDB to
May 31, 2007   create a PDB library with JES3 instead of JES2 records.
   Thanks to Julian Smailes, Experian, ENGLAND.

Change 25.097  MXG-created DB2-variable THREADTY was blank if there was
VMACDB2        no QLAC segment (i.e., non-DDF), because the MXG code to
May 28, 2007   create THREADTY was located inside the QLAC processing,
Jun  6, 2007   because the logic needs to test QLACLOCN.  The code block
               was relocated to after the QLAC processing, and THREADTY
               should, now, always be populated.
              -THREADTY added to DB2ACCTP dataset default KEEP list.
   Thanks to Eileen F. Van Etten, Bank of America, USA.

Change 25.096  Using an IMAC7072 tailoring that had an old _STY70 caused
IMAC7072       ERROR: VARIABLE LPARNAME NOT FOUND. from within a VMXGSUM
May 28, 2007   that was "INVOKED BY VMXGRMFI TYPE70 - R70HOUR", although
               the real error was back when PDB.TYPE70 was created, as
               it had zero observations because the new "SPLIT70" _STY70
               must be executed, now, to create observations in TYPE70.
               Removing the IMAC7072 corrected the error; it has been
               the MXG recommendation to remove all of the old IMACnnnn
               "product tailoring" members, and use only IMACKEEP to
               redefine macros you know you want to change.
                 Long ago, the IMACxxxx members actually defined the
                 _L, _K, _S, _B etc macros, but those definitions moved
                 into the VMACxxxx member precisely because of these
                 exposures when I have to make an incompatible change
                 in MXG architecture.
   Thanks to Jim Hayes, Huntington, USA.

Change 25.095  Reading VSAM SMF with TYPE42 caused false MXG messages
VMAC42           **ERROR SHORT SMF 42 SUBTYPE 6 ACCESS METHOD SECTION
May 28, 2007        (OFFDSAM=1 confirms it's a false message) and
                 **ERROR INVALID TYPE42 SUBTYPE 5 RECORD
                    (COL=229,S42VTVDO=228 confirms false message).
               and these records were incorrectly deleted, but only when
               the (undumped) VSAM SMF file is read; when the (normal,
               dumped) BSAM SMF file is read, there are no errors.
               Logic to handle OFFSMF for subtype 5 and OFFDSAM revised.
   Thanks to Jim Poletti, Edward Jones, USA.

Change 25.094  Harmless divide by zero when EXCPDASD was zero; the obs
ANALBLSR       is now deleted since it can't be a BLSR candidate.
May 28, 2007
   Thanks to Rodger Foreman, TransUnion, USA.

Change 25.093  With BUILDPDB=YES,SUPPRESS=DB2, an %INCLUDE for ASUMCICX
UTILBLDP       was generated, but the prerequisite %INCLUDE for ASUMUOW
May 22, 2007   was not generated, causing ASUMCICX to fail in a SORT.
   Thanks to Robert Sample, Atlanta Journal Constitution, USA.

Change 25.092  Doc only.  The example in the comments to run ASUM70PR
ASUM70PR       against SMF data was incorrect; the corrected example is:
VMXG70PR         %INCLUDE SOURCLIB(TYPS7072,ASUM70PR);
May 21, 2007   Error Dataset PDB.TYPE70PR NOT FOUND resulted if you used
               the example in the comments.
   Thanks to Art Cuneo, Health Care Services, USA.

Change 25.091  After MXG 25.04 QA completed, but before it was packaged,
TESSOTHR       a untested TESSOTHR member was copied into SOURCLIB; the
May 15, 2007   PROC COPY that causes the ERROR in JCLTEST9 is removed.
   Thanks to Randy Parker, Trustmark National Bank, USA.

Change 25.090 -Support for PK37354 SMF 100 Subtype 4 in DB2 V1.9, which
EXDB2ST4       will contain the old IFCID=225 (ID=102 Subtype 225) data.
IMACDB2        This makes my head hurt, because I can't safely use the
VMACDB2        old T102S225 dataset name: combining 100 and 102 records
VMAC102        in the same DATA step would cause SAS to fail due to the
VMXGINIT       duplicate output dataset names.  So the old IFCID=225
May 15, 2007   data will be output in new DB2STAT4 dataset.
              -NEW QW0225BB='STORAGE POOL*MANAGER*BLOCKS BELOW*THE LINE'
               was also added by this APAR, for both DB2 V1.8 and 1.9,
               and it is INPUT and kept in T102S225 and DB2STAT4.
               Apr 8, 2008: QW0225BB was only added to T102S225 by this
                            change. Change 26.057 added it to DB2STAT4.

Change 25.089  GMTOFF30 must be calculated because IBM does not put it
VMAC30         in SMF 30 records; it can only be calculated from the
May 14, 2007   subtype 2 or 3 interval records, which contain interval
May 31, 2007   start on both local and GMT clocks (SMF30IST is local and
Jun  1, 2007   SMF3ISS is GMT), and then GMTOFF30 was used to create the
Jun 18, 2007   local zone INTBTIME & INTETIME interval start/end times.
               It was also RETAINed to convert INTETIME in the subtype 6
               record, which has no local counterpart, and from which
               INTBTIME will be created when TYPE30_6 is deaccumulated.
               These problems existed prior to this change:
                - Subtype 6 logic caused GMTOFF30 to be zero, causing
                  INTBTIME/INTETIME in TYPE30_6 to be wrong.  Worse,
                  if the next subtype 2/3 did not have a CPU segment,
                  (MULTIDD='Y' observations have no CPU segment and
                  thus SMF30IST is a missing value), that RETAINed zero
                  GMTOFF30 value was used, causing INTBTIME/INTETIME
                  in TYPE30_V and PDB.SMFINTRV datasets to be wrong.
                - Subtype 2 and 3 records for OMVS tasks do NOT have the
                  interval start time in SMF30IST (they appear to have
                  the original substep initiate time, not the current
                  interval's start time;  this undocumented feature
                  caused very large GMTOFF30 values (like -29 hours).
               This change revised the subtype=6 logic so GMTOFF30=0 is
               not created, and the OMVS records (SUBSTEP GT 0) are not
               used to calculate GMTOFF30; instead, they use the RETAIN
               value of GMTOFF30 to recalculate INTBTIME and INTETIME.

               There can still be errors in the value of GMTOFF30, or
               INTBTIME or INTETIME because of the need to RETAIN the
               GMT offset from prior records, but many records do not
               have the needed data.  These design errors exist in 30s:
                 - SMF30IST is wrong in OMVS (SUBSTEP GT 0) records.
                 - SMF30IST is not populated in subtype 6 records.
                 - SMF30IST is not populated in records with no CPU
                   segment, notably MULTIDD='Y' records with only EXCPs,
                   or records with more MULC segments than fit in one
                   physical SMF 30 record.
               The only solution for auditable SMF 30 data is for IBM to
               add the GMT Offset value in EVERY type 30 record.

              -May 31, 2007: Variable INTRVLTM was missing after May 14
               change, only for SUBSTEP GT 0 (USS - OMVS) tasks, because
               it wasn't calculated in that revised code block.

              -Jun  1, 2007: Variables SMF30IET/INTETIME/SYNCTIME with a
               fixed datetime value of '17SEP2042:23:53:47.37' in all
               subtype 6 records was found at one site; the hex value of
               the field showed it was actually a negative binary value
               of -22 (the number of leap seconds of offset!) when it
               was INPUT as &IB.8.6 and then divided by 4096, which is
               the TODSTAMP algorithm for negative values.
               IBM's SMF manual only documents SMF30IST/SMF30IET for the
               subtype 2 and 3 records; in subtype 6, SMF30IST is always
               missing, but previously SMF30IET was the valid end time.
               Now, additional logic detects the duration rather than
               datetime in SMF30IET, and sets SMF30IET from SMFTIME in
               those cases in TYPE30_6 observations.
              -Jun 18, 2007:  IF TST30IET GT 0 THEN test was corrected
               of IF TST30IET LT -30 THEN because valid TODSTAMP values
               have first bit on, which causes TST30IET to be always be
               negative, but the -30 test detects the invalid values of
               IET that contained leap seconds and not a valid time.
   Thanks to Douglas C. Walter, Citicorp, USA.
   Thanks to Rudolf Sauer, T-Systems Enterprise Services, GERMANY.

Change 25.088  The &VMXGVERS as the last line should have been %VMXGVERS
VGETDDS
May 10, 2007
   Thanks to Jim S. Horne, Lowe's Companies, USA.

Change 25.087  BROKEN CONTROL RECORD error caused by DMN=10 RC=2 record
VMACVMXA       for MDGPROD=:'5739A03RM0000000' logic, now corrected.
May 10, 2007
   Thanks to Tom Draeger, Aurora, USA.

====== Changes thru 25.086 were in MXG 25.04 dated May  7, 2007=========

Change 25.086  New Analysis of CEC-level z/OS Capture Ratio combines PDB
ASUMCAPT       ASUMCEC and RMFINTRV datasets, summing workload CPU & TCB
VMXGCAPT       time for all Service Classes in all z/OS LPARS in the CEC
May  6, 2007   to create new dataset PDB.ASUMCAPT with total CPUACTTM
               from PDB.ASUMCEC and total CPU72TM from PDB.RMFINTRV for
               new variable CECAPTRT='CEC*CAPTURE*RATIO' to be created
                  CECAPTRT=100*CPU72TM/CPUACTTM;
               You can simply add %INCLUDE SOURCLIB(ASUMCAPT); after the
               your %INCLUDE SOURCLIB(ASUM70PR); in your BUILDPDB job.
               The default summarization is by HOUR.

               This hour's data shows how 17532 CPU Seconds of CEC Busy
               time ends up as only 16389 CPU seconds captured in RMF 72
               Service Class records, for a CECAPTRT=93.48 for the CEC:

           __________________________________________________________
           | ASUMCEC   |  RMFINTRV |  RMFINTRV | RMFINTRV |  RMFINTRV |
           | CPUACTTM  |  CPUMVSTM |  RMFACTTM | CPUEFFTM |  CPU72TM  |
           |  17532    |   17500   |   17448   |   17389  |   16389   |
           |           |           |           |          |           |
           |           |           |           |          | __16389__ |
           |           |           |           |          /           |
           |           |           |           |__17389__/|           |
           |           |           |          /|          |           |
           |           |           |__17448__/ |          |           |
           |           |          /|           |          |           |
           |           |__17500__/ |           |          | UNCAPTURED|
           |          /| ??Phys??  | PHYSICAL  | CPUOVHTM |           |
           |__17532__/ |__   32__  | __   84__ | __  143__|__  1143__ |

               Of those 16389 CPUTM seconds, only 14086 was CPUTCBTM,
               showing why you MUST use total CPUTM and not just TCB.

Change 25.085  Strange V9.1.3 z/OS memory failures in the SAS Internal
CONFIGV9       SORT (no error message on SAS log nor in JOBLOG, even no
May  4, 2007   end of step IEF374I message, but SYSLOG shows the job was
               placed in HOLD by JES after a S0F9 ABEND; system couldn't
               acquire storage for an SVRB.  The error was in _BLDEXCL
               of UTILEXCL's sort to create dataset UNIQUE, which must
               use internal SAS sort because its BY list is way over the
               4092 character limit of host sort packages.  By using a
               REGION=256M (not REGION=0M, NO LONGER SAS-RECOMMENDED)
               and by using these replacement values in CONFIGV9 that
               were recommended by SAS Technical Support:
                 MEMLEAVE=25M
                 NOSORTBLKMODE
               the error was eliminated.  So I have added those option
               values to the CONFIGV9 member in this change.
              -z/OS 1.12 message IEF032I/33I replaced IEF374I/276I.
   Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.

Change 25.084  Variable FILSEQ was wrong in TMS.DSNBRECD observations
TYPETMS5       created from the VOL record, for multi-volume, multi-file
VMACTMS5       tapes.  FILSEQ does not exist in the VOL record, but MXG
May  4, 2007   creates a pseudo-DSNBRECD obs with the DSNAME in the VOL
May 29, 2007   record; MXG logic did not handle these cases correctly.
               VMACTMS5 changed only cosmetic DEBUG statements.
               May 29: TYPETMS5 member in MXG 25.04 did NOT contain this
               correction; the member copied into MXG 25.04 was not the
               tested member that is now updated and redated May 29.
   Thanks to Tim Hare, Florida Department of Transportation, USA.
   Thanks to Paul Naddeo, FiServ, USA.

Change 25.083  MXG 25.03 only. APAR OA20077 SMF 21 new compressed bytes
VMAC21         SMF21DBR and SMF21DBW were still wrong after two tries.
May  3, 2007   I missed the 4096 multiplier, and I reversed the label
               text COMPRESSED/UNCOMPRESSED in all four variables.
               Worse, the customer actually had to go to IBM Support,
               who quickly and politely diagnosed my coding errors.
               These old variables always had correct value:
                  BYTEREAD='UNCOMPRESSED*CHANNEL*BYTES*READ'
                  BYTEWRIT='UNCOMPRESSED*CHANNEL*BYTES*WRITTEN'
               These new variables were wrong prior to this change:
                  SMF21DBR='COMPRESSED*DEVICE*BYTES*READ'
                  SMF21DBW='COMPRESSED*DEVICE*BYTES*WRITTEN'
               These two new compression ratio variables are created:
                  SMF21CRR='READ*COMPRESSION*RATIO'
                  SMF21CRW='WRITE*COMPRESSION*RATIO'
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
   Thanks to Ken C. Jobbitt, IBM Support, USA.

Change 25.082  Support for new XAMAP segments HSTAPP,VSIAPP,VSINAP,
EXXMHAPP       VSISFT,VSISYS,VSIUSR and STOSCS creates new VMXHSTAPP,
EXXMHAPP       XMVSIAPP,XMVSINAP,XMVSISFT,XMVSISYS,XMVSIUSR, and
EXXMOSCS       XMSTOSCS datasets.  Variables fron new segments SYTSXP
EXXMVNAP       and SYTSXP are added to XAMCPUBY/XAMCPUTO datasets, new
EXXMVSFT       variables from old segments SUBSUM,SYTRSG,SYTXSG,MTRMEM,
EXXMVSYS       STORSG and SYTCPU are added to XAMSYS dataset, variables
EXXMVUSR       from new segments PRCAPC,PRCAPM,SYTSXG,STOSXG are added
IMACXAM        to XAMSYS dataset, new vars from IODVSW,USRCON,USRACT
VMACXAM        will be decoded.
VMXGINIT
May  1, 2007
   Thanks to Robert Obee, IMS Health, USA.

Change 25.081  NDM 'NM' records are now decoded, and output in NDMNM
VMACNDM        dataset (previously output, but with only the header
May  1, 2007   variables). Variable NDMTIME is kept but it is not
               populated in the sample SMF record.
   Thanks to Trevor Ede, EDS New Zealand, NEW ZEALAND.

Change 25.080  Cosmetic protection for a user syntax error if the user
VMXGDUR        failed to specify a DATETIME= variable that cause strange
VMXGSUM        syntax errors.  Now, MXG issues USER ABEND 1916 when that
May  1, 2007   required operand is missing.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.079  MXG RMF III code only output the first LPAR's data in the
VMACRMFV       ZRBLCP dataset, which now has one observation for each
May  1, 2007   LCPUADDR for each LPARNAME that has engines assigned.
   Thanks to Jerry Urbaniak, Acxiom, USA.
   Thanks to Sam Knutson, Geico, USA.

Change 25.078  Documentation.  These MXG members issue USER ABENDs with
INSTALL        an ABORT ABEND nnnn; statement, so these programs could
May  1, 2007   ABEND with the listed User Abend Code:
Feb  1, 2015
                 USER      Member              USER       Member
                 ABEND                         ABEND

                    1      VMACTMV2            1234      VMACTMS5
                   69      VMACSMF             1911      VMXGRMFI
                   69      VMACTMV2            1912      VMXGRMFI
                   69      VMACTMVS            1913      VMXGRMFI
                   99      VMACCADM            1914      VMACSET
                   99      VMXGVTOC            1914      VMXGSET
                   99      VMXGVTOF            1915      VMACSET
                  111      VMACTNG             1916      VMMXGDUR
                  666      UTILDUMP            1917      UTILBLDP
                  666      UTILDUMP            1918      UTILBLDP
                  666      VGETALOC            1919      UTILBLDP
                  666      VMACMVCI            1954      BLDSMPDB
                  666      VMACXAM             2098      VMACTMVT
                  666      VMXGALOC            2099      VMACTMD8
                  666      VMXGSUM             2099      VMACTMDB
                  666      VMXGSUME            2099      VMACTMDC
                  990      VMACRMFI            2099      VMACTMDQ
                  991      IHDRTMS5            2099      VMACTMTC
                  992      IHDRTMS5            8888      VGETOBS
                 0001      VMACTMV2            8888      VGETOBS
                 0010      VMACPKSZ            MXGABND   VMAC110
                 0069      VMACTMV2            MXGABND   VMACSMF
                 0666      IMACNORM            MXGABND   VMACSMF
                 1099      TYPEMOND            MXGABND   VMACTMS5
                 1099      TYPETMON            MXGABND   VMXGRMFI
                 1099      VMACMON8
                 1099      VMACTIMS
                 1099      VMACTMO2
                 1111      MONTHASC
                 1111      MONTHBL3
                 1111      MONTHBLD
                 1111      MONTHBLS
                 1111      MONTHDSK

               See text of Changes 23.184, 29.290, 29.304, 33.020 36.136
               for syntax/usage of &MXGABND USER ABEND macro variable.

Change 25.075  DB2 V8.1 incompatibly changed the QBGL Group Buffer Stats
VMACDB2        segment, making these nine fields now reserved:
Apr 30, 2007      QBGLAD QBGLAN QBGLAR QBGLAZ QBGLMN QBGLRB QBGLRF
                  QBGLSU QBGLXN
               and adding five new variables to PDB.DB2GBPST dataset:
                  QBGLCM QBGLCR QBGLMW QBGLWP QBGLWS
   Thanks to Martin Packer, IBM, WORLDWIDE.

Change 25.074  Extraneous DATA; SET; BY ...; statements, left over from
VMAC7072       debugging the SPLIT70 logic, is removed.
Apr 30, 2007
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.073  Enhancement to "Nigel's Monitor for AIX and Linux' adds
EXNMONAA       variables HOST and INTERVAL to NMONINTV dataset, decodes
IMACNMON       the IOADAPTR and LPAR data types, and creates new NMONAAA
VMACNMON       dataset with the "AAA" configuration records information.
VMXGINIT
Apr 29, 2007
   Thanks to Massimo Pugliese, ELSAG Spa, ITALY.

Change 25.072  Sample tape statistics reports using STC VTS SMF records
DALYTAPE       and the MXGTMNT tape mount and allocation records.  Can
Apr 26, 2007   be used after a modified BUILDPDB, or with the %UTILBLDP
               example in the comments, the reports can be created from
               an SMF data file.

Change 25.071  MXG 25.03 only UTILBLDP: did not generate the _Sxxxx sort
UTILBLDP       macros when BUILDPDB=NO was specified due to a typo; the
Apr 26, 2007   USERADD= datasets were not sorted into the PDB library.
May  7, 2007   Additionally, these products that need deaccumulation and
               require their _Sxxxx product sort macros to be invoked:
                 7072  DB2  HSM  NTCP  ROSC  TMDB  TPX  103  28
               will now have those macros invoked whenever USERADD= is
               invoked for them.
              -May 7:  Support for SMF ID=102 record, which requires the
               _HDR102, _END102 macros.  With over 300 IFCID/subtypes,
               you can select which T102Snnn datasets are created using
               USERADD=102.63 102.106 102.141 102.142 syntax.  The 102
               tokens must be contiguous in your USERADD= parameter, but
               do not need to be continuously numbered, nor do they need
               to be in numeric order in your USERADD= in you %UTILBLDP.
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.070 -MXG's SYSLOG-reading program failed, INVALID ARGUMENT TO
SYSLOG         FUNCTION INPUT, because the final tested changed member
Apr 25, 2007   was still in my "USERID.SOURCLIB" from Nov, 2005, when it
Apr 28, 2007   should have been moved into the MXG source library.  The
Apr 29, 2007   output dataset TYPETMSG contains an observation for each
               SYSLOG event (but not for each physical record in SYSLOG:
               records starting with "S" are continuation records, and
               their text is appended in the variable TMTGMTXT so that
               only one output observation is created for these events.
              -Variable TMTGMTXT was increased to $120 from $80, which
               caused text for "S" records to be truncated.
              -In addition to using thid code to read SYSLOG messages,
               you can also write any SYSLOG message to SMF, using the
               MXGTMNT Tape Mount Monitor program (in ASMTAPEE), which
               with then be output in BUILDPDB's TYPESYSL dataset.
   Thanks to MP Welch, SPRINT, USA.
   Thanks to Stephen Van Scyoc, SPRINT, USA.

Change 25.069  Service Class names can be "wild-carded" using the colon
UTILRMFI       symbol, if you have similarly named Service or Reporting
VMXGRMFI       Class names to map to workloads in your WORKnn= argument.
Apr 24, 2007
   Thanks to Chuck Hopf, Bank of America, USA.

Change 25.068  The SQL text from QW0141TX was not printed if the length
ANALDB2R       of text was less that 60 bytes, due to a typo; the line
Apr 23, 2007   ELSE TEXT=QW0141TX; is corrected to ELSE TEXT1=QW0141TX;
   Thanks to Michael Gebbia, Eddie Bauer, USA.

Change 25.067  The VMXGUSE macro is updated to add the _STY70 macro if
VMXGUSE        processing of the SMF 70 records was requested; VMXGUSE
UTILBLDP       is still supported, but the newer UTILBLDP is recommended
Apr 20, 2007   as the better tool, as it offers many more options; it
               was also updated to ensure _STY70 is invoked when needed.
              -MXG25.03 also had double percent instead of %VMXGVERS.
   Thanks to Scott Barry, SBBWorks, Inc, USA.

Change 25.066  DB2 SMF 102 IFCID=225 record with invalid header offset
VMACDB2H       of '0CB5'x, 3253 decimal, for QWHCEUID_Off, but with its
Apr 20, 2007   LRECL of only 486 bytes, caused INPUT STATEMENT EXCEEDED.
               The input now validates that the offset is LE LENGTH.
   Thanks to Robbie A. McCoy, Salt River Project, USA.

Change 25.065  Enhancement to UTILBLDP to select the ASUMxxxx members to
UTILBLDP       be executed when BUILDPDB=YES is specified. The default
Apr 18, 2007   list of members %INCLUDEd after BUILDPDB is not changed,
               but they are now set in the new MXGINCL= argument:
                MXGINCL=
                   ASUMUOW  ASUMCICX ASUM70PR ASUMCACH ASUMTAPE
                   ASUMTMNT ASUMTALO ASUMDB2A ASUMDB2B,
               so you can now remove any unwanted ASUMs.
   Thanks to Tom Kelman, Commerce Bank of Kansas, USA.

Change 25.064  Several QISE variables should have been DIF()'ed as they
VMACDB2        contained accumulated values; now all QISE variables are
Apr 17, 2007   DIF()'d except for those that contain counts of pages or
               statements, in creating the PDB.DB2STATS dataset from the
               SMF 100 Subtype 1 DB2 Statistics records.  Also, QISExxxx
               labels with "Dataspace" were corrected to "DBD POOLS".
   Thanks to Lori Masulis, Fidelity Systems, USA.

Change 25.063  Additional SWAP resaons codes were added to $MGO79SR
ADOC71         format and in the ADOC71 member documentation.
FORMATS            VALUE $MG079SR
Apr 17, 2007        '00'X='00X:UNKNOWN'
                    'AS ='AS:AUXSTOR SHORTAGE (VERY UNLIKELY)'
                    'AW'='AW:APPC WAIT'
                    'DW'='DW:DETECTED WAIT'
                    'EX'='EX:CAP EXCHANGE'
                    'IC'='IC:IMPROVE CSTORE'
                    'IP'='IP:IMPROVE PAGING'
                    'IW'='IW:OMVS INPUT'
                    'LW'='LW:LONG WAIT'
                    'MR'='MR:MAKE ROOM'
                    'NQ'='NQ:CAP ENQUEUE'
                    'NS'='NS:TRANSITION TO NON-SWAPPABLE'
                    'OW'='OW:OMVS OUTPUT'
                    'RQ'='RQ:REQUEST SWAP'
                    'RS'='RS:REAL STORAGE SHORTAGE'
                    'SR'='SR:IN-REAL'
                    'TI'='TI:TERMINAL INPUT'
                    'TO'='TO:TERMINAL OUTPUT'
                    'TS'='TS:TRANSITION'
                    'US'='US:CAP UNILATERAL'
                    'VR'='VR:VIRTUAL REAL REQUEST'
                    'WT'='LW:LONG WAIT'
                    'XS'='XS:AUX STORAGE SHORTAGE'
                   ;
   Thanks to Warren Hayward, TJX, USA.

Change 25.062  Protection for truncates RMF ID=72 SUBTYPE=7 LENGTH=78.
VMAC7072       while the site examines logs for x37 ABENDS and/or opens
Apr 16, 2007   a problem report with IBM.
   Thanks to Ravi Kumar, CSC, USA.

Change 25.061  Variable SMF12WIC is padded with '00'x instead of blanks;
VMAC120        those '00'x are now translated to blanks.
Apr 15, 2007
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA

Change 25.060  Using TYPSTPF invoked very old PROC SORTs that still had
VMXGTPFI       invocations of %VMXGFOR, long ago archaic and no longer
VMXGFOR        needed, but they caused a 180 Syntax error for "FORCE".
Apr 12, 2007   The %VMXGFOR calls were removed from VMXGTPFI, and that
               member was revised to "FORCE" is only created for SAS
               V5 and V6 where it was originally required.
               Change 20.327 in 2003 documented the removal of FORCE.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 25.059  All %VMXGVERS(25.03,MEMBER) invocations were typo'ed as
DOC            %VMXGVERS(25.03MEMBER);. Wrong syntax, but, fortunately
Apr 12, 2007   there was no error; the old macros would still be noted
               in the messages to the log, which still had the right
               information, albeit slightly different than expected.
   Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.

====== Changes thru 25.058 were in MXG 25.03 dated Apr 12, 2007=========

Change 25.058  Variable NDMSNODE appeared twice in the _BNDMCT by list.
VMACNDM
Apr 12, 2007
   Thanks to Trevor Ede, EDS New Zealand, NEW ZEALAND.

====== Changes thru 25.057 were in MXG 25.03 dated Apr 10, 2007=========

Change 25.057  The 9672x CPUTYPE without APAR OW37565 does not populate
VMAC7072       SMF70CIN, causing PARTNCPU to be zero.  Now, MXG forces
Apr 10, 2007   SMF70CIN='CP' when CPUTYPE='9672'X and NRCIXGTO=0.
   Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.

Change 25.056  DB2STATS SMF 100 Subtype 1 Language Environment QLExxxxx
VMACDB2        LE variables have always been wrong, partially due to MXG
Apr 10, 2007   code errors (I assumed the 8-byte fields contained both a
               duration and a count, and deaccumulated some fields that
               were not accumulated), and partially because IBM's record
               is incorrectly written and does not agree with the DSECT.
               The 8-byte header (normally has the 'QLES' eye catcher)
               doesn't exist, but LENQLES=168, and visual examination of
               hex dumps showed the extra 8 bytes are inserted between
               QLELOWIM and QLESTG1M fields.  DB2 Versions 1.6 thru 1.8
               SMF records all have LENQLES=168 and the inserted field.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.

Change 25.055  Support for SAMS objects 2151,2226,2229 and 2231 has been
EXSAM151       validated and new datasets created.
EXSAM226      -Many variables in many of the existing SAMSnnnn datasets
EXSAM229       were renamed to avoid conflict with same-named variables
EXSAM231       created from other SMF records.
IMACSAMS
VMACSAMS
VMXGINIT
Apr  8, 2007

Change 25.054  DB2TCBTM in DB2ACCT/ASUMUOW includes QWACSPCP,QWACTRET
VMXGUOW        CPU times, but with OTE, the DB2TCBTM includes some of
Apr  6, 2007   the CPU time already recorded in the CICSTRAN's TASCPUTM;
               using PDB.ASUMUOW, the correct CPU metric would be the
               sum of TASCPUTM from CICSTRAN and QWACSPCP and QWACTRET
               from DB2ACCT.  This change SUMs QWACSPCP and QWACTRET
               into PDB.ASUMUOW so that you can add those DB2 CPU times
               to the CICS CPU times with no overlap.

Change 25.053  Variable PCTCPUBY greater than 100% in PDB.ASUMCEC, but
VMXG70PR       only in hour intervals when LPARs were started/stopped,
Apr  5, 2007   and only if the DURATM of the last LPAR (alphabetically)
               was less than the full hour.  DURATM was intended to be
               set to CECINTRV, but MXG set it only for FIRST.SMF70GIE;
               it was then being output from the DURATM of that last
               LPARNAME. DURATM=CECINTRV is now set unconditionally.
   Thanks to David Bixler, FISERV, USA.
   Thanks to Randy Shumate, Lexus-Nexus, USA.

Change 25.052  Support for TDSLink Version 630 adds new ZCOST datasets
EXTDS16        from subtypes 16x, 17x, 18x and 19x:
EXTDS17           dddddd    dataset   description
EXTDS18           TDS16     TDSL16    ZCOST CPC
EXTDS19           TDS17     TDSL17    ZCOST LPAR
IMACTDSL          TDS18     TDSL18    ZCOST SYSPLEX
VMACTDSL          TDS19     TDSL19    ZCOST SYSPLEX/CPC
VMXGINIT
Apr  5, 2007

Change 25.051  Change 24.116 reported NRIFACPU for z990/2084 CPUTYPE was
VMAC7072       not countable - SMF70CIN='ICF' in LPARNAME='PHYSICAL' in
Apr  6, 2007   RMF 70 records instead of 'IFA' - and created the macro
               variable CECIFANR so you could set NRIFACPU if needed.
               Now, Al has found a way using the non-PHYSICAL-LPARNAME
               segments (that do have SMF70CIN='IFA' for IFAs!) to count
               and populate variable NRIFACPU for z990s with IFAs.
              -New field SMF70CTN, the total count of engines of that
               SMF70CIN type (CP,IFL,etc), in the CEC was incorrectly
               INPUT, but it was not kept nor used. It still is not used
               for NRxxxCPU in ASUM70PR, but now it is input correctly
               and kept in PDB.TYPE70PR dataset.  It will have the same
               value in all obs of that engine type, so a 27-engine CEC
               will have SMF70CTN=27 in all obs with SMF70CIN='CP', both
               in both the LPARNAME='PHYSICAL' and LPARNAME='real' obs.
   Thanks to Al Sherkow, I/S Management Strategies, USA.

Change 25.050  Support for CrossSysplexManager user SMF record (Skill
EXCSMDDN       Software) creates two new datasets:
EXCSMJOB         CSMDDN     CSMDDN    CROSS SYSPLEX DDNAME
IMACCSM          CSMJOB     CSMJOB    CROSS SYSPLEX JOB
TYPECSM
TYPSCSM
VMACCSM
VMXGINIT
Apr  4, 2007
   Thanks to ???, ???, Italy.

Change 25.049  Format $MGSASPR, which maps SAS Procedure Name in the SAS
FORMATS        "USER" SMF record, has new QUANTREG and ROBUSTRE values
Apr  2, 2007   added for SAS STAT product.
   Thanks to Len Rugen, University of Missouri, USA.

Change 25.048  Corrections to MXG 25.02 included correction for the
BLDSMPDB       libname=PDB operand, the CALL SYMPUT('SRTDSN',SORTDBY)
DOC            spelling, and logic related to VGETSORT invocation.
Apr  1, 2007   References to WEEK1 were replaced with WEEK.
Apr 17, 2007   New SORTEDBY= option can be set to sortedby=no to bypass
               the requirement for input weekly/daily datsets to be
               sorted. 17Apr07: Null input library protected with msg.
   Thanks to Loren Mitchell, Los Angeles Couty Office of Education,USA.

Change 25.047 -Support for APAR OA19502, adds SMF14KET, the Key Exchange
FORMATS        Time (Encryption Overhead).  This time is only recorded
VMAC1415       in SMF 15 output records and only for a CLOSE processing
Apr  1, 2007   after a non-parallel OPEN writing file sequence one from
               the loadpoint.  Otherwise, SMF14KET is zero.  This is the
               elapsed "wall clock" duration, and is NOT a CPU time
               metric.  A "non-parallel OPEN" is when the parameter list
               passed to OPEN includes only 1 DCB or ACB.
              -New $MG014CD format decodes the SMF14CD1 and SMF14CD2
               Encoding Mechanisms:
               L:LABEL - the key label itself is to be stored as part
                         of the EEDK structure on the tape cartridge.
               H:HASH  - "Public Key HASH" - a hash of the public key
                         referenced by the key label is to be stored
                         on the cartridge rather than the key label
                         itself. Storing the hash value rather than the
                         key label itself allows for greater flexibility
                         when tapes are exported to another location,
                         especially if that location may be using a
                         different key label (than the originating site)
                         to refer to the same key.
   Thanks to Jack Muehl, CitiGroup, USA.

Change 25.046  Cosmetic.  INVALID DATA FOR MDY message and hex dumps of
VMACSTC        the first two instances are printed when the LSBTIME date
Mar 31, 2007   field contains zeros.  Now, LSBTIME is only created when
               the data exists.  These records with no date also have
               zeros in all other fields, and so the defective records
               were not output into the STCLMU dataset, either before or
               after this change.
   Thanks to David Kaplan, Depository Trust, USA.

Change 25.045  Variable TTTOD was not kept in TPFDH, TPFKC, or TPFSB
VMACTPF        datasets, but were referenced in BY statement in _STPFKC.
Mar 30, 2007   Now, that retained variable is kept in those datasets.
   Thanks to Chris Weston, SAS Institute, USA.

Change 25.044  New intervals (obviously for TRENDing, and not tactical!)
VMXGDUR        of QUARTER, SEMIANN, and ANNUAL will create summary data
VMXGSUM        when those arguments are used.  The code change was in
Mar 28, 2007   VMXGDUR; only comments were changed in VMXGSUM.
   Thanks to Nalini Elkins, Inside Products, USA.

Change 25.043  Support for z/VM 5.3.
EXIODHPC       (Apr 12 changes were moved Apr 17, were not in 25.03.)
EXIODHPP
EXIODLPT
EXMTRHPP
EXPRCAPC
EXPRCAPM
EXPRCDIA
EXPRCINS
EXSAMSDT
EXSCLSCA
EXSTOSCS
EXSTOSXG
EXSTOSXP
EXSYTLCK
EXSYTSPT
EXSYTSXG
EXSYTSXP
EXVNDLSD
EXVNDLSU
EXVNDSES
IMACVMXA
VMACVMXA
VMXGINIT
Mar 28, 2007
Apr 12, 2007

Change 25.042  Enhancement to support HSM records with different SMF IDs
VMACHSM        perhaps from different systems.  HSM writes 2 SMF records
Mar 28, 2007   with and ID and ID+1 architecture, and MXG defined two ID
               macros that you tailored with your SMF TYPE numbers:
                  MACRO _IDHSMDS  224   %
                  MACRO _IDHSMDS1 225   %
               But I have redefined the second ID macro to now be
                  MACRO _IDSHMDS1  _IDHSMDS+1   %
               which has no impact on your existing IMACKEEP tailoring,
               but now, you could use this logic to redefine them:
                  MACRO _IDHS