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

CHANGE 22.22

 
=========================Member=CHANGE22================================
 /* COPYRIGHT (C) 1984-2005 MERRILL CONSULTANTS DALLAS TEXAS USA */

         MXG Version 22.22 is  dated Feb  1, 2005, thru Change 22.378
Early    MXG Version 22.22 was dated Jan 22, 2005, thru Change 22.366
         MXG Version 22.13 was dated Jan 13, 2005, thru Change 22.350
First    MXG Version 22.13 was dated Jan 12, 2005, thru Change 22.345
Final    MXG Version 22.12 was dated Dec 11, 2004, thru Change 22.316
Second   MXG Version 22.12 was dated Dec 10, 2004, thru Change 22.313
First    MXG Version 22.12 was dated Dec  2, 2004, thru Change 22.308
         MXG Version 22.11 was dated Oct 26, 2004, thru Change 22.277
         MXG Version 22.10 was dated Oct 13, 2004, thru Change 22.264
         MXG Version 22.09 was dated Aug 25, 2004, thru Change 22.227
Final    MXG Version 22.08 was dated Aug 20, 2004, thru Change 22.219
Second   MXG Version 22.08 was dated Aug 13, 2004, thru Change 22.207
First    MXG Version 22.08 was dated Aug 12, 2004, thru Change 22.205
Final    MXG Version 22.07 was dated Jul 25, 2004, thru Change 22.180
         MXG Version 22.07 was dated Jul 23, 2004, thru Change 22.177
         MXG Version 22.06 was dated Jun 15, 2004, thru Change 22.129
         MXG Version 22.05 was dated May 22, 2004, thru Change 22.108
         MXG Version 22.04 was dated May  2, 2004, thru Change 22.099
         MXG Version 22.03 was dated Apr  5, 2004, thru Change 22.066
First    MXG Version 22.03 was dated Apr  2, 2004, thru Change 22.063
         MXG Version 22.02 was dated Mar 24, 2004, thru Change 22.055
         MXG Version 22.01 was dated Mar 11, 2004, thru Change 22.036
First    MXG Version 22.01 was dated Mar 10, 2004, thru Change 22.034
Final    MXG Version 21.21 was dated Feb 11, 2004, thru Change 21.320
         MXG Newsletter FORTY-FOUR was dated Feb 11, 2004.

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.    MXG Software Version 22.22 is now available upon request.
II.   Incompatibilities and Installation of MXG 22.13.
III.  Online Documentation of MXG Software.
IV.   Changes Log

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


I.  MXG Software Version 22.22 is available upon request.

    Major enhancements added in MXG 22.22

  BUILDPDB 22.365  BUILDPDB now sets Condition/Return code of zero.
  ASUMMIPS 22.354  Interval Capacity by Workload, MIPS and MSU used.
  ASMTAPEE 22.366  MXGTMNT ML-32, has MEXIT=ON,XMEMF=ON,ARCV=ON
  TYPE110  22.359  Support for CICS/TS 3.1 with no EXCLUDEd fields.
  UTILEXCL 22.347  New CICS/TS 3.1 WBREPRDL/WBREPWDL/PGCRECCT supported.
  TYPE7072 22.349  Negative PCTMVSBY/CPUMVSTM/SHORTCPs, SMF70CNF bit 6.
  TYPE30   22.375  IBM error in CPUIFATM, MXG error in SRVTCBTM.
  TYPETPF  22.374  Support for MQ Series in TPF operating system.
  TYPEQACS 22.371  Support for OS/400 5.3.0, new QAPMSYS dataset.
  TYPEVMXA 22.369  Support for z/VM 4.4 and 5.1 new data (INCOMPATIBLE).

    Major enhancements added in MXG 22.13

  BUILDPDB 22.342  TYPE115/TYPE116 are now in BUILDPDB, will cause error
                   if you have already tailored MXG to add 115/116s.
                   You must remove your 115/116 tailoring from EXPDBxxx
                   or you will get this error message if you miss this:
                     ERROR: DATA SET WORK.MQMLOG IS ALREADY OPEN ....
  BUILDPDB 22.320  MULTIDD='Y' obs now combined in PDB.SMFINTRV.
  BUILDPDB 22.326  Variable CPUCEPTM now deaccum in PDB.SMFINTRV.
  TYPE110  22.312  Support for CICS/TS 3.1 (INCOMPATIBLE).
  UTILEXCL 22.350  Support for CICS/TS 3.1 new fields, errors fixed.
  ASUMUOW  22.336  MQMACCT/MQMACCTQ data can be added to PDB.ASUMUOW
  TYPE70   22.325  "Short CPs" variable SHORTCPS created in TYPE70.
  TYPE70PR 22.325  "Short CPs" variable SHORTCPS created in TYPE70PR.
  TYPETNG  22.339  Major TNG enhancement - array sizes dynamically set.
  TYPE74   22.334  Support for APAR OA06476 type 74 subtype 5 and 8.
  ONLYINTV 22.326  Example to build only PDB.SMFINTRV/PDB.TYPE30_6.
  TYPE6    22.321  Support for second format type 6 PrintWay record.
  TYPE7072 22.340  Revision to support for varying IFAs online/offline.
  IMAC6ESS 22.332  Support for GEPARMKY 0036, 0041, 0043, fix 0034x.
  TYPEHIOM 22.331  Support for hIOmon File I/O Performance Monitor.
                    This is a Windows environment monitor that tracks
                    I/O activity to the filename and user.
  MONTHDSK 22.343  "MONTHBLD" program to build MONTHLY PDB on disk.

    Major enhancements added in MXG 22.12

      MXG 22.12 corrects IRD errors introduced in MXG 22.10/22.11.
      MXG 22.12 corrects TYPE6 errors introduced in MXG 22.10/22.10.

  TYPE6    22.309  Final correction for type 6 INPUT EXCEEDED errors.
  TYPE6    22.298  SMF 6 STOPOVER on PrintWay section - missing @;
  TYPE7072 22.307  Negative CPU values for IRD - Required CHANGE.
  TYPEHURN 22.304  Support for ObjectStar subtype 45 Page Sweep.
  TYPE6    22.302  Support for VPS V1 R8.0 VPS-FAX data
  TYPE102  22.294  Support for APAR PQ73385,PQ91101 for IFCIDs 217, 225
  TYPE102  22.294  Support for APAR PQ87848 for IFCID 173
  TYPECIMS 22.314  Support for Mainview IMS IMF 4.1.00 (NO CHANGES!).
  UTILEXCL 22.313  Support for APPLNAME,CANDEXNM,CANDEXTY CICS segments.
  TYPENSPY 22.312  Support for NetSpy Version 7.0 (COMPATIBLE).
  TYPEQACS 22.311  Support for OS/400 5.3.0 CONF/DISK/POLL/JOBL data.
  ASMRMFV  22.316  Enhanced support for RMF III VSAM files.
  TYPETNG  22.291  Support TNG NT Platforms NTW400I, WNS502I, ZPP501I.
  VMACSMF  22.300  Use of FTP access to read SMF MVS-to-MVS supported.
  ASUM70PR 22.293  LP0xxxxx variables now populated with PHYSICAL's data
  CICINTRV 22.288  Comments show how to create PDB.CICINTRV from SMF.
  VMXGPRAL 22.287  Enhancement to use PROC FREQ, example for 102 "who".
  TYPE80A  22.286  Numerous enhancements, multiple RACF segments, etc.
  ANALSIZE 22.276  Utility to analyze size of SAS data libraries.
  ASUM70PR 22.274  Vars TOTSHARE/TOTSHARC kept for orig/current weights.

    Major enhancements added in MXG 22.11

     MXG 22.11 is NOW required for z/OS 1.6 with IFA/zAAPs, and it HAS
     been tested with SMF 30, 70, and 72s from a system with real IFAs!
       MXG 22.09 and MXG 22.10 do correctly support z/OS 1.6 without any
       zAAP engines, but actual test data uncovered MXG errors and IBM
       undocumented fields (Changes 22.272, 22.262, 22.265) that caused
       most of the IFA/IFE fields to contain invalid values.

     Additional enhancements in 22.11:

  TYPE30   22.272  Support for zAAP IFA engines.
  TYPE7072 22.272  Support for zAAP IFA engines.
  TYPE30   22.265  Support for APAR OA09118, adds CPUCOEFF to SMF 30s.
  TYPE94   22.268  Support for VTS R7.3 additional statistics.
  TYPECMF  22.266  Support for CMF Version 5504 User SMF (INCOMPAT).
  VMACDB2H 22.270  22.08-22.10 only. DB2 V8.1 INPUT STATEMENT EXCEEDED.
  TYPE71   22.269  22.07-22.10 only. LPAxxxx variables missing values.

    Major enhancements added in MXG 22.10

     MXG 22.10 supports z/OS 1.6, but only if there are no IFA engines.

     Additional enhancements in 22.10:

  TYPE7072 22.260  Support for z/OS 1.6 WITH IFA engines.
  TYPEVMXA 22.240  Support for z/VM 4.4, INCOMPAT.
  TYPENTSM 22.246  Support for NTSMF Release 2.4.7 COMPATIBLE.
  TYPEXAM  22.245  Support for XAMAP Release 3.4 INCOMPAT.
  TYPETDSL 22.249  Support for TDSLink product's user SMF record.
  TYPEBETA 22.250  Support for BETA93 Release 3.5 subtypes 0-5.
  TYPETMDB 22.235  Support for ASG/Landmark TMON for DB2 V4.0 (COMPAT)
  SYSLOG   22.238  Preliminary support for SYSLOG file.
  ANALGART 22.242  Example analysis for Gartner Group requests.
  ASUMCIMS 22.241  Example summarization of the four IMF datasets.
  ERRORASC 22.239  ASCII platform errors when incorrect SMF download.
  ANALFLSH 22.236  New member tracks concurrent flash copies executing.
  TRND.... 22.258  Symbolics &TRENDINP,&TRENDNEW,&TRENDOLD added.

    Major enhancements added in MXG 22.09

     MXG 22.09 supports z/OS 1.6, but only if there are no IFA engines.

     See Change 22.221 and especially MVS Technical Notes in NEWSLTRS.

    Major enhancements added in MXG 22.08

     MXG 22.08 is required for safe execution with SAS V9.1.2 or V9.1.3.

     While MXG 22.07 had critical revisions for SAS 9.1.2, more design
     changes were discovered in V9.1.2 that required more MXG changes.
      In addition, Syncsort's add-on product PROC SYNCSORT was found to
      corrupt INFORMATs, causing fatal errors in BUILDPDB, but because
      I could remove all MXG INFORMAT statements faster than they could
      even examine their error, I believe you can safely use that add-on
      with MXG code (but you'll need to check your own code for INFORMAT
      and watch for their eventual revised version that will work with
      SAS V9.1.2).  Note, the errors are in the PROC SYNCSORT add-on
      product (which prints "PROC SYNCSORT" on your SAS log if used).
      We have not seen these errors with the Syncsort Sort product.
      The Syncsort ticket number # SR387805 is open for PROC SYNCSORT.
     The details of the MXG changes that support V 9.1.2 and V 9.1.3 are
     in the change text of the below MXG changes, but for execution of
     MXG under "MVS", the only critical changes required are to:
     - Install MXG 22.08 and use MXGSASV9 and CONFIGV9 from 22.08, and
     - Run the UTILS2ER utility against all of your source libraries to
       see if any lines of your SAS programs conflict with S2=72 option
       that was required to replace the previous S2=0 option in MXG.

     Changes related to SAS V9.1.2 and MXG execution:
  CONFIGV9 22.207  NOTHREADS specified for 9.1.2 error, fixed in 9.1.3.
    (the NOTHREADS change caused the Aug 13 re-date of MXG 22.08!),
  CONFIGV9 22.108  CRITICAL Hot Fix SN-012437 Required for SAS V9.1.2
  CONFIGV9 22.123  SAS V9 on MVS VB INCOMPAT: S2=72 must be S2=0.
  MXGSASV9 22.130  Revised MXG JCL example for SAS V9, NLS names, etc.
  MXGSASV9 22.126  SAS dsnames must be "W0", w-zero, not w-oh.
  CONFIGV9 22.108  Support for V6SEQ under SAS V9.1
  UTILS2ER 22.123  Utility to detect errors with S2=0 in your programs.
  FLASH    22.108  CRITICAL SAS Hot Fix SN-012437 is REQUIRED for V9.1.2
  Many     22.184  SAS V9.1.2 $VARYING design change protected.
  AUTOEXEU 22.102  autoexec.sas file for unix, protects SASAUTOS error.
  Some     22.108  Support for SAS V9.1 and V6SEQ without Hot Fix.
  Many     22.192  Protection for PROC SYNCSORT error with SAS V9.1.2

    Additional important enhancements in MXG 22.08:

  TYPETMO2 22.191  Support for ASG/TMON TCE for CICS/ESA 2.3, COMPATIBLE
  Many     22.180  Support for IFA CPU variables for zAAP processors.
  Many     22.177  Update to define MACRO _Vdddddd for numeric SMF plus.
  Many     22.192  All INFORMAT $NOTRAN statements were removed.
  TYPEIMS7 22.199  Major revision to IMS0708 dataset, all events output.
  VMACDB2H 22.196  Support for extended length DB2 id variables.
  TYPENTSM 22.193  Support for NTSMF Exchange/Outlook/DTS CPU objects.
  TYPENTSM 22.190  Support for NTSMF MicroStrategy Server objects.
  TYPEOMVT 22.186  Omegamon/VTAM V520 IRNUM 29 Divide by zero corrected.
  TYPE80A  22.185  Invalid SMF 80 Extended Relocate Section protected.
  ANALRMFR 22.181  Enhancements to RMF reporting.
  ADOC110  22.189  Major updated added 1300 lines of CICS documentation.

  Note: The Aug 20 re-date of MXG 22.08 was made only because it was
        easy to do; I discovered that members were missing from the
        3480 tapes (not from ftp nor CD-rom shipments) and so I chose
        to create replacement tapes with the added changes that were
        made during the week.

    Major enhancements added in MXG 22.07

  TYPE7072 22.152  Support for IFA Processors, APAR OA05731.
  TYPE7072 22.137  Support for z890 CPUTYPE 2086, OS/390-INCOMPAT.
  TYPE74   22.141  Support for RMF 74 subtype 8 ESS Link Stats record.
  TYPETNG  22.170  Support for TNG Windows Server 2003 new objects+fix.
  IMACICHO 22.169  Hogan optional CICS data member now exists
  TYPEHMF  22.168  Support for HMF V2.7 new subtypes, compatible.
  TYPEHPDM 22.166  Support for STK ExHPDM user SMF record.
  BUILDPDB 22.165  BUILDPDB detects overlapped SMF data previously read.
  IMAC6ESS 22.161  Support for ESS GEPARMKY 003Bx and 0045x fields.
  TYPETNG  22.160  REGION reduced for JCLTEST8 TESTOTHR due to TYPETNG.
  UTILBLDP 22.149  Enhancement supports subtype selection in ZEROOBS.
  VGETENG  22.148  Enhancement to get Engine and Device Type of LIBNAME
  ASUM42DS 22.147  Performance enhancement reduce I/O, CPU  using view.
  TYPE119  22.146  TYP119nn datasets had GMT time zone, now have local.
  JCLRMF   22.143  Example to create "RMF-only" PDB from SMF data.
  ASUMUOW  22.139  Variables APPLID/USER/LUNAME/TERMINAL incorrect.
  ANAL4GB  22.138  Revised to use DCOLLECT to detect large VSAM files.
  IEFU84   22.136  SMF exit to get Initiator Name and Number for jobs.
  ASUM70PR 22.135  MVS System Name of each LPAR, SMF70STN, added.
  TYPE70   22.134  Percent when each engine online PCTONLN0-PCTONLNX.
  TYPENDM  22.133  Support for several additional NDM-CDI subtypes.
  TYPENSPY 22.131  TYPENSPY and TYPENETM combined, only one SMF record.
  TYPENETM 22.131  TYPENSPY and TYPENETM combined, only one SMF record.
  MXGSASV9 22.130  Revised MXG JCL example for SAS V9, NLS names, etc.
  UTILCONT 22.175  Utility to Inventory the Megabyte Sizes of PDBs.

    Major enhancements added in MXG 22.06

       Really major:
        Change 22.123 -  SAS V9 on "MVS" INCOMPAT due to RECFM=VB on the
                         SAS-supplied SASMACRO library requires the MXG
                         default S2=72 be changed to S2=0, which itself
                         raises another potential incompatibility in SAS
                         programs, so new UTILS2ER must be run against
                         your SAS programs before migration to SAS V9,
                         or your programs may have strange ABENDs.  See
                         extensive discussion in text of Change.
        Change 22.121 -  CPU time for DB2 Parallel Trans was not output
                         (i.e., lost, could be very large) in DB2ACCT.
                         See the Change text, and also the DB2 Technical
                         Note in Newsletter FORTY-FIVE.
  CONFIGV9 22.123  SAS V9 on MVS VB INCOMPAT: S2=72 must be S2=0.
  UTILS2ER 22.123  Utility to detect errors with S2=0 in your programs.
  TYPEDB2  22.121  DB2 Parallel CPU time lost, not output in DB2ACCT.
  TYPEDB2  22.124  MXG 22.04-05, QWHSSTCK missing in SMF 102 trace data.
  EXDB2ACC 22.121  DB2 Parallel CPU time lost, not output in DB2ACCT.
  TYPEIPAC 22.125  Support for IPAC subtype 5 IPAC05 corrections.
  IMAC6ESS 22.117  Support for optional ESS segment GEPARMKY=003Bx.
  BUILDPDB 22.115  JES3 PDB only; wrong TYPE26J3 used in BUILDPD3.
  TYPE102G 22.109  TYPE102G to read DB2 Trace written to GTF didn't.
  BLDIMPDB 22.128  ASCII equivalent of JCL for JCLIMSLx execution.
  TYPEIMSA 22.113  ASCII execution only, APPLID not readable.
  TYPEEDGS 22.112  INPUT STATEMENT EXCEEDED with MVRECLEV '02'x.
  ANALFIOE 22.127  Run time improvement if SMF, instead of PDB, input.
  BLDSMPDB 22.111  unix case sensitivity corrections
  BLDNTPDB 22.111  unix case sensitivity corrections
  MXGSASV9 22.126  SAS dsnames must be "W0", w-zero, not w-oh.

    Major enhancements added in MXG 22.05

  CONFIGV9 22.108  Support for V6SEQ under SAS V9.1
  FLASH    22.108  CRITICAL SAS Hot Fix SN-012437 is REQUIRED for V9.1.2
  TYPE102C 22.104  Support for Candle Omegamon II for DB2 IFCID Trace.
  AUTOEXEU 22.102  autoexec.sas file for unix, protects SASAUTOS error.

    Major enhancements added in MXG 22.04

  TYPE110  22.094  Support for CICS/TS 2.3 with no EXCLUDEd fields.
                   (If you use UTILEXCL with your CICS/TS 2.3 data,
                    there was no error, but CICSTRAN without IMACEXCL
                    was wrong if all fields were present in 110-1.)
  TYPEQACS 22.095  Support for OS/400 5.2 QAPMMIOP record new fields.
  TYPETNG  22.085  Support for NT objects SESSION and USER in TNG cubes.
  TYPEAIX  22.083  Support for AIX PTX new objects.
  TYPEIBSM 22.079  Support for IBM Session Manager user SMF record.
  TYPETPMX 22.077  Support for alternative multiple-ACCT field TPM data.
  TYPE74   22.075  Support for 1024 structures in Coupling Facility.
  UTILEXCL 22.068  Support for optional RMI data in CICSTRAN.
  VMXGINIT 22.096  Macro variables &MACINTV and &MAC30DD created.
  TYPEDB2  22.090  MXG 22.02-22.03 only. QWHSSTCK 1960 date in DB2ACCT.
  TYPEDB2  22.084  Large QBSTGET in DB2STATB due to DB2 restart fixed.
  TYPE70   22.087  Non-PR/SM, IORATE/PCTTPI variables too low.
  TYPE7072 22.072  TYPE72GO with R723CWMN GT 0, Periods not output.
  MONTHASC 22.064  Example "MONTHBLD" for ASCII systems.
  AUTOEXEC 22.064  LIBNAME DUMMY added to support MONTHASC.

    Major enhancements added in MXG 22.03

    Revision of ThruPut Manager TYPETPMX to not use ARRAYS to save CPU.
     (34 new datasets); Change 22.060.

    Major enhancements added in MXG 22.02

    If you are using IRD, you must install MXG 22.12 or later:
      (This note originally said MXG 22.02, but now, Change 22.307 in
       MXG 22.12 is required for IRD values to be correct!)

  --Full Support for IRD (Intelligent Resource Director) is now in all
    CPU-related datasets.  IRD support was incremental in MXG:
            Datasets            When        MXG Version  Change
          ASUM70PR/ASUMCEC   Sep 22, 2003     21.05      21.170
          TYPE70PR           Mar 11, 2004     22.01      22.011
          TYPE70,RMFINTRV    Dec  2, 2005     22.12      22.307
    PCTCPUBY in TYPE70 and RMFINTRV were wrong in any interval when IRD
    varied CPUs offline.  I'm embarrassed, since PCTCPUBY is the second
    most important variable in all of MXG (CPUTM for billing is the most
    important); this is the first PCTCPUBY error in MXG's history!  When
    all engines remained online, however, there was no error.

  BUILDPDB 22.052  PDB.STEPS can have wrong EXCP,IOTM,TAPExxxx values,
                   but only in rare circumstance of identical INITTIMEs.
  RMFINTRV 22.050  Variable PCTCPUBY wrong in RMFINTRV when IRD active.
  TYPE70   22.050  Variable PCTCPUBY wrong in TYPE70 when IRD is active.
  DB2STATB 22.045  Negative QBSTGET, other QBSTxxx, when 4-byte wrapped.
  TYPEDB2  22.042  DB2 Stats records not written in subtype order.
  ANALALL  22.040  Example now can write all SMF for selected job(s).
  ASMTAPEE 22.038  ML-31 of MXGTMNT corrects GMT, MSC APAR support.

    Major enhancements added in MXG 22.01

  VMXGRMFI 22.017  BUILDPDB run time elongation, if output is to tape.
                   Circumvention: USE FREE=CLOSE on tape DDs. See text.
  TYPE117  22.029  Support for SMF 117 WBIMB WebSphere Business Integrat
  TYPE82   22.005  Support for SMF 82 Crypto subtypes 14 thru 19.
  TYPEENDV 22.032  Support for Endeavor Release 4.0, INCOMPATIBLE.
  TYPEHURN 22.006  Support for Huron/Object Star additional subtypes.
  TYPESMSX 22.030  Support for DF/SMS Storage Class Exit User SMF record
  Many     22.018  Hardcoded "SPIN" DDname now &SPININ,&SPINOUT macros.
  TYPE120  22.014  WebSphere SMF 120s had GMT for many timestamps.
  TYPE30   22.022  Variable SRVTCBTM,SRVSRBTM,CPUTOTTM created in TYPE30
  TYPETMNT 22.012  RACFUSER/RACFTERM reversed, GMT times, INPUT EXCEEDED
  TYPETPMX 22.008  (Final?) revisions to internal Thruput array names.
  TYPE30   22.021  Job delays SMF30HQT/JQT/RQT/SQT revisions.

  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 for details.

      MXG executes best under the most recent SAS Version, with all
      Critical HotFixes installed by your SAS Installer:

       For 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 V7SEQ,V8SEQ, or V9SEQ.
        Both fixes ARE included in SAS V9.1.3; earlier MXG notes that
          they were required for 9.1.3 are wrong.

       For SAS Version 8.2, HotFix Bundle 82BX08 is REQUIRED to be safe.

       Sequential Engine Status:
          V9SEQ is fixed in V9.1.3; it would be my default in CONFIGV9,
            but I can't tell that you are at V9.1.3, and because V9SEQ
            was badly broken prior to 9.1.3, I still have to use V6SEQ
            and MXG's default in CONFIGV9.  You should change to V9SEQ
            in CONFIGV9 if you have installed SAS V9.1.3.
          V6SEQ, if used under V9.1.2, requires SN-013514.
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time
            by always compressing when writing in tape format.

      MXG New Version QA tests are executed on z/OS with SAS V9.1.3 and
      V8.2, and on (archaic) V6.09, and on Windows XP with SAS V9.1.3.
      Previous tests of MXG Software have been run with SAS V9.1.2, SAS
      V8.2 and V9.1 with Linux RH8 on Intel, with V9.1 on Solaris v2.8
      model v880, and V9.1 on HP-UX v11.11 model rp5470, confirming full
      compatibility.  So MXG executes with SAS V9.1+ or SAS V8.2 on
      every possible SAS platform! Each new MXG version is also tested
      with SAS/ITSV/ITRM by ITRM developers.

    Availability dates for the IBM products and MXG version required:

                                       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        21.05
      z/OS    IRD TYPE70PR             Mar 11, 2004        22.01
      z/OS    IRD TYPE70,RMFINTRV      Mar 22, 2002        22.12
      z/OS    1.6 - No IFAs            Sep 30, 2004       *22.09
      z/OS    1.6 - With IFAs          Sep 30, 2004       *22.11
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07
      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
      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                 Mar 31, 2004        20.20
      DB2 8.1 New Data Supported       Mar 31, 2004        21.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
      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
      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
      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
      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

    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 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/ESA 2.1 -                      20.04
       The Monitor for CICS/ESA 2.2 - 20.335, 21.134       21.04
       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 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
      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
      Memorex/Telex
       LMS 3.1                                             12.12A
      Amdahl
       APAF 4.1, 4.3                                       16.08
      Velocity Software
       XAMAP 3.4                                           22.10

II.   Incompatibilities and Installation of MXG 22.10.


 1. Incompatibilities introduced in MXG 22.22 (since MXG 21.21):

  a- Changes in MXG architecture made between 22.22 and 21.21 that might
     introduce incompatibilities.

      NONE.


 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 JCLINSTL.

    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.


_PAGE_  8
Alphabetical list of important changes in MXG 22.22 after MXG 21.21:

  Dataset/
  Member   Change    Description
  Many     22.018  Hardcoded "SPIN" DDname now &SPININ,&SPINOUT macros.
  Many     22.177  Update to define MACRO _Vdddddd for numeric SMF plus.
  Many     22.180  Support for IFA CPU variables for zAAP processors.
  Many     22.184  SAS V9.1.2 $VARYING design change protected.
  Many     22.192  All INFORMAT $NOTRAN statements were removed.
  Many     22.192  Protection for PROC SYNCSORT error with SAS V9.1.2
  Some     22.108  Support for SAS V9.1 and V6SEQ without Hot Fix.
  ADOC110  22.189  Major updated added 1300 lines of CICS documentation.
  ANAL4GB  22.138  Revised to use DCOLLECT to detect large VSAM files.
  ANAL94   22.114  IBM VTS Stat Report used SMFTIME, not STARTIME.
  ANALALL  22.040  Example now can write all SMF for selected job(s).
  ANALFIOE 22.127  Run time improvement if SMF, instead of PDB, input.
  ANALFLSH 22.236  New member tracks concurrent flash copies executing.
  ANALGART 22.242  Example analysis for Gartner Group requests.
  ANALIDMS 22.372  Sample contributed report for IDMS response times.
  ANALPATH 22.275  Support for 256 LCUs in the example report.
  ANALRMFR 22.062  REPORT=ALL request failed due to HTTP report, fixed.
  ANALRMFR 22.181  Enhancements to RMF reporting.
  ANALSIZE 22.276  Utility to analyze size of SAS data libraries.
  ASMRMFV  22.316  Enhanced support for RMF III VSAM files.
  ASMTAPEE 22.038  ML-31 of MXGTMNT corrects GMT, MSC APAR support.
  ASMTAPEE 22.366  MXGTMNT ML-32, has MEXIT=ON,XMEMF=ON,ARCV=ON
  ASMTAPST 22.366  Prototype test MXGTMNT for STK HSC = please test.
  ASUM42DS 22.147  Performance enhancement reduce I/O, CPU  using view.
  ASUM70PR 22.135  MVS System Name of each LPAR, SMF70STN, added.
  ASUM70PR 22.274  Vars TOTSHARE/TOTSHARC kept for orig/current weights.
  ASUM70PR 22.293  LP0xxxxx variables now populated with PHYSICAL's data
  ASUMCACH 22.248  Protection for zero obs in PDB.TYPE74CA.
  ASUMCIMS 22.241  Example summarization of the four IMF datasets.
  ASUMHSM  22.282  Variable DATETIME was missing.
  ASUMJOBS 22.031  Incorrect stats for jobs that did not purge.
  ASUMMIPS 22.354  Interval Capacity by Workload, used MIPS and MSU.
  ASUMUOW  22.139  Variables APPLID/USER/LUNAME/TERMINAL incorrect.
  ASUMUOW  22.336  MQMACCT/MQMACCTQ data can be added to PDB.ASUMUOW
  AUTOEXEC 22.064  LIBNAME DUMMY added to support MONTHASC.
  AUTOEXEU 22.102  autoexec.sas file for unix, protects SASAUTOS error.
  BLDIMPDB 22.128  ASCII equivalent of JCL for JCLIMSLx execution.
  BLDNTPDB 22.111  unix case sensitivity corrections
  BLDSMPDB 22.111  unix case sensitivity corrections
  BLDSMPDB 22.329  Major enhancement to "PC Job Stream" for SMF on PC.
  BUILDPDB 22.022  Variable LOSU_SEC,SRVTCBTM,SRVSRBTM,CPUTOTTM in PDB.
  BUILDPDB 22.052  PDB.STEPS can have wrong EXCP,IOTM,TAPExxxx values.
  BUILDPDB 22.115  JES3 PDB only; wrong TYPE26J3 used in BUILDPD3.
  BUILDPDB 22.140  BY VARIABLES NOT SORTED FOR DATASET WORK.SPIN30TD.
  BUILDPDB 22.165  BUILDPDB detects overlapped SMF data previously read.
  BUILDPDB 22.320  MULTIDD='Y' obs now combined in PDB.SMFINTRV.
  BUILDPDB 22.326  Variable CPUCEPTM now deaccum in PDB.SMFINTRV.
  BUILDPDB 22.342  TYPE115/TYPE116 added to BUILDPDB, may cause errors.
  BUILDPDB 22.365  BUILDPDB now sets Condition/Return code of zero.
  CICINTRV 22.288  Comments show how to create PDB.CICINTRV from SMF.
  CONFIGV9 22.108  CRITICAL Hot Fix SN-012437 Required for SAS V9.
  CONFIGV9 22.123  SAS V9 on MVS VB INCOMPAT: S2=72 must be S2=0.
  DB2STATB 22.045  Negative QBSTGET and other QBSTxxx, 4-bytes wrapped.
  ERRORASC 22.239  ASCII platform errors when incorrect SMF download.
  EXDB2ACC 22.121  DB2 Parallel CPU time lost, not output in DB2ACCT.
  IEFU84   22.136  SMF exit to get Initiator Name and Number for jobs.
  IHDRMQM  22.290  New "header" exit for MQ record selection.
  IMAC6ESS 22.117  Support for optional ESS segment GEPARMKY=003Bx.
  IMAC6ESS 22.161  Support for ESS GEPARMKY 003Bx and 0045x fields.
  IMAC6ESS 22.332  Support for GEPARMKY 0036, 0041, 0043, fix 0034x.
  IMACICHO 22.169  Hogan optional CICS data member now exists
  IMACSHFT 22.058  Temporary variable SHFTTIME now dropped and not kept.
  IMACZDAT 22.004  New ZTIME variable available.
  JCLMNTHD 22.343  JCL example to build MONTHLY PDB on disk.
  JCLRMF   22.143  Example to create "RMF-only" PDB from SMF data.
  MONTHASC 22.064  Example "MONTHBLD" for ASCII systems.
  MONTHDSK 22.343  "MONTHBLD" program to build MONTHLY PDB on disk.
  MXGSASV9 22.126  SAS dsnames must be "W0", w-zero, not w-oh.
  MXGSASV9 22.130  Revised MXG JCL example for SAS V9, NLS names, etc.
  ONLYINTV 22.326  Example to build only PDB.SMFINTRV/PDB.TYPE30_6.
  RMFINTRV 22.050  Variable PCTCPUBY wrong in RMFINTRV when IRD active.
  RMFINTRV 22.088  Second VMXGRMFI invocation requires SPINRMIN= arg.
  RMFINTRV 22.289  Duplicate observations for first hour.
  SYSLOG   22.238  Preliminary support for SYSLOG file.
  TESTOTHR 22.279  TYPEVTOC no longer executed in MXG test stream.
  TRND.... 22.258  Symbolics &TRENDINP,&TRENDNEW,&TRENDOLD added.
  TYPE102  22.074  T102S125 variables QW0125SN/PC/PL/PN/TS missing.
  TYPE102  22.234  Support for IFCIDs 140-145 SQL text that was blank.
  TYPE102  22.294  Support for APAR PQ73385,PQ91101 for IFCIDs 217, 225
  TYPE102  22.294  Support for APAR PQ87848 for IFCID 173
  TYPE102C 22.104  Support for Candle Omegamon II for DB2 IFCID Trace
  TYPE102G 22.109  TYPE102G to read DB2 Trace written to GTF didn't.
  TYPE110  22.059  CICS/TS 2.3 Pool Variables corrected in CICDSPOO.
  TYPE110  22.094  Support for CICS/TS 2.3 with no EXCLUDEd fields.
  TYPE110  22.359  Support for CICS/TS 3.1 with no EXCLUDEd fields.
  TYPE117  22.029  Support for SMF 117 WBIMB WebSphere Business Integrat
  TYPE119  22.073  TYP11910 variables UCINxxxx,UCOUxxxx corrected.
  TYPE119  22.146  TYP119nn datasets had GMT time zone, now have local.
  TYPE120  22.014  WebSphere SMF 120s had GMT for many timestamps.
  TYPE30   22.021  Job delays SMF30HQT/JQT/RQT/SQT revisions.
  TYPE30   22.022  Variable SRVTCBTM,SRVSRBTM,CPUTOTTM created in TYPE30
  TYPE30   22.221  Support for z/OS 1.6 and zAAP/IFA Processors.
  TYPE30   22.265  Support for APAR OA09118, adds CPUCOEFF to SMF 30s.
  TYPE30   22.272  Support for zAAP IFA engines.
  TYPE30   22.375  IBM Error in CPUIFATM, MXG Error in SRVTCBTM.
  TYPE30MR 22.345  TYPE30MR dataset restructured and corrected.
  TYPE42   22.254  False ERROR:INVALID TYPE 42 SUBTYPE 5 corrected.
  TYPE42DS 22.055  TYPE42DS variable AVGIOQMX small negative value.
  TYPE57   22.057  Support for optional ESS fields.
  TYPE6    22.153  SUBSYS='TCP' or 'TCPE' for Printway SMF 6 records.
  TYPE6    22.298  SMF 6 STOPOVER on PrintWay section - missing @;
  TYPE6    22.302  Support for VPS V1 R8.0 VPS-FAX data
  TYPE6    22.309  Final correction for type 6 INPUT EXCEEDED errors.
  TYPE6    22.321  Support for second format type 6 PrintWay record.
  TYPE70   22.050  Variable PCTCPUBY wrong in TYPE70 when IRD is active.
  TYPE70   22.087  Non-PR/SM, IORATE/PCTTPI variables too low.
  TYPE70   22.116  Variables SMF70NSI/NSA/NSW incorrectly divided.
  TYPE70   22.134  Percent when each engine online PCTONLN0-PCTONLNX.
  TYPE70   22.325  "Short CP" variable SHORTCPS created in TYPE70.
  TYPE7072 22.063  Calculation of variable PCTDLTDQ in TYPE72GO revised.
  TYPE7072 22.072  TYPE72GO with R723CWMN GT 0, Periods not output.
  TYPE7072 22.137  Support for z890 CPUTYPE 2086, OS/390-INCOMPAT.
  TYPE7072 22.152  Support for IFA Processors, APAR OA05731.
  TYPE7072 22.221  Support for z/OS 1.6 and zAAP/IFA Processors.
  TYPE7072 22.260  Support for z/OS 1.6 WITH IFA engines.
  TYPE7072 22.272  Support for zAAP IFA engines.
  TYPE7072 22.307  Negative CPU values for IRD - Required CHANGE.
  TYPE7072 22.340  Revision to support for varying IFAs online/offline.
  TYPE7072 22.349  Negative PCTMVSBY/CPUMVSTM/SHORTCPs, SMF70CNF bit 6.
  TYPE70PR 22.011  PCTCPUBY for IRD was incorrect.
  TYPE70PR 22.150  LPAR names for LPARs 16-32 now 8 bytes, were only 1.
  TYPE71   22.269  22.07-22.10 only. LPAxxxx variables missing values.
  TYPE74   22.075  Support for 1024 structures in Coupling Facility.
  TYPE74   22.141  Support for RMF 74 subtype 8 ESS Link Stats record.
  TYPE74   22.334  Support for APAR OA06476 type 74 subtype 5 and 8.
  TYPE78   22.091  Variable PCTALLBY, TYPE78CU always missing, correct.
  TYPE80A  22.185  Invalid SMF 80 Extended Relocate Section protected.
  TYPE80A  22.286  Numerous enhancements, multiple RACF segments, etc.
  TYPE82   22.005  Support for Crypto subtypes 14 thru 19.
  TYPE94   22.268  Support for VTS R7.3 additional statistics.
  TYPEAIX  22.083  Support for AIX PTX new objects.
  TYPEBETA 22.250  Support for BETA93 Release 3.5 subtypes 0-5.
  TYPECIMS 22.314  Support for Mainview IMS IMF 4.1.00 (NO CHANGES!).
  TYPECMF  22.266  Support for CMF Version 5504 User SMF (INCOMPAT).
  TYPEDB2  22.042  DB2 Stats records not written in subtype order.
  TYPEDB2  22.084  Large QBSTGET in DB2STATB due to DB2 restart fixed.
  TYPEDB2  22.090  MXG 22.02-22.03 only. QWHSSTCK 1960 date in DB2ACCT.
  TYPEDB2  22.121  DB2 Parallel CPU time lost, not output in DB2ACCT.
  TYPEDB2  22.124  MXG 22.04-05, QWHSSTCK missing in SMF 102 trace data.
  TYPEEDGS 22.112  INPUT STATEMENT EXCEEDED with MVRECLEV '02'x.
  TYPEENDV 22.032  Support for Endeavor Release 4.0, INCOMPATIBLE.
  TYPEHIOM 22.331  Support for hIOmon File I/O Performance Monitor.
  TYPEHMF  22.168  Support for HMF V2.7 new subtypes, compatible.
  TYPEHPDM 22.166  Support for STK ExHPDM user SMF record.
  TYPEHURN 22.006  Support for Huron/Object Star additional subtypes.
  TYPEHURN 22.304  Support for ObjectStar subtype 45 Page Sweep.
  TYPEIBSM 22.079  Support for IBM Session Manager user SMF record.
  TYPEIMS7 22.199  Major revision to IMS0708 dataset, all events output.
  TYPEIMSA 22.113  ASCII execution only, APPLID not readable.
  TYPEIPAC 22.125  Support for IPAC subtype 5 IPAC05 corrections.
  TYPEMVCI 22.296  Reading CMRDETL on ASCII platform - BLKSIZE error
  TYPENDM  22.133  Support for several additional NDM-CDI subtypes.
  TYPENETM 22.037  Support for NetMaster 5000x subtype.
  TYPENETM 22.131  TYPENSPY and TYPENETM combined, only one SMF record.
  TYPENSPY 22.131  TYPENSPY and TYPENETM combined, only one SMF record.
  TYPENSPY 22.312  Support for NetSpy Version 7.0 (COMPATIBLE).
  TYPENTSM 22.082  Variable MEMINBOX in NTCONFIG was wrong.
  TYPENTSM 22.190  Support for NTSMF MicroStrategy Server objects.
  TYPENTSM 22.193  Support for NTSMF Exchange/Outlook/DTS CPU objects.
  TYPENTSM 22.246  Support for NTSMF Release 2.4.7 (COMPATIBLE).
  TYPEOMVT 22.186  Omegamon/VTAM V520 IRNUM 29 Divide by zero corrected.
  TYPEQACS 22.095  Support for OS/400 5.2 QAPMMIOP record new fields.
  TYPEQACS 22.311  Support for OS/400 5.3.0 CONF/DISK/POLL/JOBL data.
  TYPEQACS 22.371  Support for OS/400 5.3.0.
  TYPESASU 22.163  Cannot use NODUP option with TYPESASU SAS user SMF.
  TYPESMSX 22.030  Support for DF/SMS Storage Class Exit User SMF record
  TYPETDSL 22.249  Support for TDSLink product's user SMF record.
  TYPETMDB 22.235  Support for ASG/Landmark TMON for DB2 V4.0 (COMPAT)
  TYPETMNT 22.012  RACFUSER/RACFTERM reversed, GMT times, INPUT EXCEEDED
  TYPETMNT 22.237  DDNAME/STEPNR missing in PDB.ASUMTMNT corrected.
  TYPETMO2 22.191  Support for ASG/TMON TCE for CICS/ESA 2.3, COMPATIBLE
  TYPETNG  22.081  Protection for '9E'x for Left Square Bracket.
  TYPETNG  22.085  Support for NT objects SESSION and USER in TNG cubes.
  TYPETNG  22.160  REGION reduced for JCLTEST8 TESTOTHR due to TYPETNG.
  TYPETNG  22.170  Support for TNG Windows Server 2003 new objects+fix.
  TYPETNG  22.291  Support TNG NT Platforms NTW400I, WNS502I, ZPP501I.
  TYPETNG  22.339  Major TNG enhancement - array sizes dynamically set.
  TYPETPF  22.374  Support for MQ Series data from TPF Operating System.
  TYPETPMX 22.008  (Final?) revisions to internal Thruput array names.
  TYPETPMX 22.060  Restructure TPM support, multiple datasets created.
  TYPETPMX 22.077  Support for alternative multiple-ACCT field TPM data.
  TYPETPMX 22.142  INNODE, JBSBIND, JVLVOL, REQCLA varnames supported.
  TYPEVIOP 22.101  Support new VIO/PLUS (Performance Enhancer) subtypes.
  TYPEVMXA 22.240  Support for z/VM 4.4, INCOMPAT.
  TYPEVMXA 22.369  Support for z/VM 4.4 and z/VM 5.1 additions.
  TYPEXAM  22.245  Support for XAMAP Release 3.4 (INCOMPATIBLE).
  UTILBLDP 22.149  Enhancement supports subtype selection in ZEROOBS.
  UTILBLDP 22.277  New MACFILEX argument to insert SAS code.
  UTILBLDP 22.301  Use of ZEROOBS= parameter could fail.
  UTILCONT 22.356  ABEND with SAS V9 when PDB=WORK requested fixed.
  UTILEXCL 22.068  Support for optional RMI data in CICSTRAN.
  UTILEXCL 22.313  Support for APPLNAME,CANDEXNM,CANDEXTY CICS segments.
  UTILEXCL 22.317  The final @; was not created in IMACEXCL.
  UTILEXCL 22.347  New CICS/TS 3.1 WBREPRDL/WBREPWDL/PGCRECCT supported.
  UTILS2ER 22.123  Utility to detect errors with S2=0 in your programs.
  VGETENG  22.148  Enhancement to get Engine and Device Type of LIBNAME
  VMACDB2H 22.196  Support for extended length DB2 id variables.
  VMACDB2H 22.270  22.08-22.10 only. DB2 V8.1 INPUT STATEMENT EXCEEDED.
  VMACSMF  22.271  _LOGSMF revised for TYPENDML.
  VMACSMF  22.300  Use of FTP access to read SMF MVS-to-MVS failed.
  VMXGINIT 22.096  Macro variables &MACINTV and &MAC30DD created.
  VMXGPRAL 22.287  Enhancement to use PROC FREQ, example for 102 "who".
  VMXGRMFI 22.017  BUILDPDB run time elongation, if output to tape.


Inverse chronological list of all Changes:

NEXTCHANGE: Version 22.

====== Changes thru 22.378 were in MXG 22.22 dated Feb  1, 2005=========

Change 22.378  Type 74 subtype 8 (ESS 2105 PPRC RMD data) with nulls for
VMAC74         R748CFDT (DATE WHEN FIRST RECORD WRITTEN) caused R748CFTM
Jan 30, 2005   to be midnight on 1JAN1960.  Now, R748CFTM is set missing
               when R748CFDT is not populated.
   Thanks to Shirley Fung, Hong Kong & Shanghai Bank, HONG KONG.

Change 22.377  This elegant tweak discovered by this user to my enhanced
TYPETNG        dynamic array sizing uses even less virtual storage when
VMACTNG        you have multiple TNG cubes from different systems.  My
Jan 29, 2005   enhancement in Change 22.339 kept all instances from all
               systems to set the array sizes, but by changing counting
               from BY PLATFORM OBJECT to BY PLATFORM SYSTEM OBJECT, the
               true count of unique instances needed for the array size
               is much smaller; for example, NT042I dropped from 1008 to
               489, and REGION dropped from 266MB to only 149MB.
              -TYPETNG now prints the INSTREAM file on the log after it
               was created, useful for debugging.
   Thanks to Peter Krijger, ANZ National Bank Limited, NEW ZEALAND.

Change 22.376 -MXG 22.22 is the last to be tested under SAS V6 on MVS,
UTILXRF1       because my MVS QA site is removing Version 6, but the
CROSSREF       final tests discovered two variables whose names were
Jan 29, 2005   longer than 8 bytes.  While SAS V8+ permits longer names,
Jan 30, 2005   it is my intention to NEVER use them in MXG, not only as
               I find them user-unfriendly, but also because all of my
               ADOC/DOC members are designed for 8-byte variable names.
               But this last test was a great wakeup, so I have enhanced
               my Cross Reference utility, run during my Alpha QA tests,
               to detect long variable names, and also, for similar
               reasons, detect if I have created labels longer than 40.
              -Dataset Labels were missing from many datasets in DOCVER,
               even though the MXG code had a LABEL= dataset option in
               the VMACxxxx members.  Dataset labels are propagated from
               the input to the output dataset if PROC COPY or PROC SORT
               is used (even if the dataset name is changed in SORT),
               but creating a new dataset from an old dataset does not
               propagate the dataset label.  Most MXG _Sdddddd dataset
               macros use PROC SORT, and test data is used to determine
               the correct BY list to remove duplicates, but when there
               is no test data,  DATA _Ldddddd; _Wdddddd;  is used to
               copy the "Work" dataset to the "PDB" output library, and
               it was those instances that had missing labels in DOCVER.
               While getting test data and revising the _Sdddddd to SORT
               and remove duplicates is the eventual solution, to get
               the dataset labels for MXG 22.22, I revised CROSSREF to
               copy the _Wdddddd datasets to one library, and to copy
               the _Ldddddd datasets to a second library, and to use the
               label from the _Wdddddd dataset if the _Ldddddd copy had
               a blank label.  I could not just use the _Wdddddd data,
               because some of the _Sdddddd macros add new variables;
               in particular, when adjacent interval records have to be
               deaccumulated, the _Sdddddd logic creates the DELTATM.
              -There are still a few datasets that don't have labels.
   Thanks to Jake M. Drew, MBNA, USA.

Change 22.375  MXG variable SRVTCBTM, a CPU TCB time that is calculated
VMAC30         from CPU TCB Service Units was wrong if the task executed
Jan 29, 2005   on a zAAP (IFA) engine, because the MXG calculation used
               CPUUNITS before IFAUNITS had been removed from CPUUNITS.
              -Now, the order of calculation is correct.
                 - SRVTCBTM was added by Change 22.022 to the TYPE30xx
                   datasets so that it could be compared with CPUTCBTM.
                   Cheryl thought that using Service Units might provide
                   higher resolution and less truncation for small jobs
                   due to the .01 second precision of CPUTCBTM, but my
                   analysis had not shown a significant difference.
                 - Change 22.221 documented that the "raw" CPUUNITS in
                   SMF 30 records include the IFA Service Units, but as
                   IBM provides the CPUIFATM and the coefficients, that
                   MXG created a separate variable, IFAUNITS, and those
                   IFA Service Units are removed from CPUUNITS.
              -However, new analysis of SRVTCBTM in type 30 records for
               2086 (z/890s) for tasks that use IFAs shows an error in
               IBM's creation of CPUIFATM: the calculated SRVTCBTM is
               significantly larger than CPUTCBTM when IFAs are used:
                 IFA?   SRVCLASS   CPUTCBTM   SRVTCBTM  Diff  CPUIFATM
                 Yes     STCHI        31.14      90.58   +59     80
                 Yes     STCMED      129.29     333.35  +204    211
                 Yes     STCHI      4057.62    4517.82  +460    689
                 Yes     STCMED       23.37     118.91   +95     13
                 No      STCHI      1253.96    1248.32    -5
                 No      STCHI       242.15     241.79     0
                 No      STCMED      266.03     265.80     0
               IBM is fully aware of this problem and will undoubtedly
               correct it in the near future.

Change 22.374  Support for MQ Series data from TPF creates two datasets
EXTPFMQC         dddddd   dataset   description
EXTPFMQQ         TPFMQC   TPFMQC    MQ SERIES CHANNEL INFORMATION
IMACTPF          TPFMQQ   TPFMQQ    MQ SERIES QUEUE INFORMATION
VMACTPF
VMXGINIT
Jan 28, 2005

Change 22.373  Change 22.055 set AVGIOQMS to zero if a negative value
VMAC42         was calculated, due to clock differences, but that change
Jan 28, 2005   only applied to AVGIOQMS for TYPE42SR dataset.  Now, the
               other two datasets, TYPE42VT and TYPE42DS are protected.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.

Change 22.372  Sample contributed report for IDMS response times, using
ANALIDMS       the PDB.IDMSTAS dataset built by TYPEIDMS from the IDMS-R
Jan 28, 2005   SMF record.  The report also shows how you can send any
               SAS report to your company's web site.
   Thanks to Pat Curren, SuperValu Inc., USA.

Change 22.371  Support for OS/400 5.3.0.  New data in QAPMJOBM, QAPMSYSC
EXQAPDPS       QAPMSYST and QAPMIODn, and new QAPMSYS replaces QAPMSYSL.
EXQAPJSU       Change 22.311 supported new data in QAPMCONF, QAPMDISK,
IMACQACS       QAPMPOLL and QAPMJOBL.  As always with AS/400 support, if
JCLTEST8       you are running MXG on z/OS, you must make the LRECL of
JCLTEST9       the MVS dataset into which the QAPM file is sent to be
QAJOBXX        the same as the LRECL in the table in VMACQACS for that
VMACQACS       dataset; on ASCII, it's the LRECL in your FILENAME that
VMXGINIT       must match.
Jan 28, 2005  -The new QAPMSYS with 567 variables replaces QAPMSYSL, but
               none of the old JSxxxx variables from QAPMSYSL exist in
               QAPMSYS.  QAPMSYS is the "long" (LRECL=3344) system file,
               and you will need to add _TQAPSYS and //QAPMSYS DD to
               create the new dataset.
              -The new QAPMJSUM dataset is created with Job Statistics
               Performance Data.
              -The new QAPMDPS dataset is created with Data Port Service
               Performance Data.
              -Variables added to QAPMSYSC:
               SCTACT - The number of CPUs, so variable PCTCPUBY is now
               calculated as 100*SUM(OF SCPU01-SCPU32)/(SCTACT*INTSEC).
              -Variables added to QAPMJOBM:
                 JBASH    JBASHA   JBBFA    JBBFW    JBBTA     JBBTW
                 JBCOP    JBCOS    JBDOP    JBDOS    JBFSH     JBFSHA
                 JBNSJE   JBPGA    JBPGD    JBPJE    JBSJD     JBTNW
                 JBTWT    JBUJD    JBXRBR   JBXRBW   JBXRFS    JBXRRR
                 JBXRRW   JCUSR
              -Variables added to QAPMSYST:
               SYBTAC   SYBTAP   SYBTAPC  SYBTAPD  SYBTAPP  SYCTA
               SYIFTA   SYIFTE   SYIFUS   SYJOC1   SYJOC2   SYJOC3
               SYJOER   SYJOES   SYJOIB   SYJOS1   SYJOS2   SYJOS3
               SYLPTB   SYNPLA   SYNPLU   SYNUAL   SYNUTC   SYSDFAL
               SYSDFRL  SYSDNFE  SYSDNFO  SYSDNST  SYSDPFD
               SYSDPFF  SYSDTET  SYSPTU   SYUTA
   Thanks to Clayton Buck, Unigroup, USA.

Change 22.370  The dataset name in the comments in the code that invokes
TYPEHO15       the _Edddddd macro was incorrect in a number of members,
VMAC84         but in some cases, it wasn't the name in comments, but it
VMACARB        was the _Edddddd that was wrong, which caused those data
VMACCMFV       to be output to the wrong dataset.  Fortunately, none of
VMACTMDB       these are "mainstream" datasets, so that error was never
VMACVITA       noticed.  The MXG QA stream now validates the comment and
Jan 27, 2005   the _Edddddd macro are consistent.
               invoke it.  This change corrects the dataset name typos
               and makes the macro use more consistent within MXG code.
                TYPEHO15  VMAC84  VMACARB  VMACCMFV VMACTMDB VMACVITA
   Thanks to Jake M. Drew, MBNA, USA.

Change 22.369  Support for new fields added to z/VM 4.4 and z/VM 5.1;
EXIODQDS       INCOMPATIBLE only because MXG did not properly use the
EXMTRQDC       offsets and lengths for the SYTCUG and SYTCUP datasets.
FORMATS       -Added prior to z/VM 4.4, but not in MXG until now:
IMACVMXA        SYTSYG -  CPUCAPAB CPUCFGCT CPUCOUNT CPURESVD
VMACVMXA                  CPUSTNBY CTNABORT CTNDONE  CTNNOTEL VL3CAF
VMXGINIT                  VL3CFGCT VL3COUNT VL3CPNAM VL3DBCT  VL3MNAME
Jan 26, 2005              VL3RESVD VL3STNBY
Jan 27, 2005    USELOF -  ASCDEFSZ VMDCTPVG VMDMVB2G VMDMXSHR VMDTHRCT
                USEACT -  ASCDEFSZ IPQFO    IPQRQLO  IPQRQHI IPQEFLO
                          IPQEFHI  IPQDSKIP VMDCTPVG VMDMVB2G
              -Added in z/VM 4.4:
                IODDEV -  SCGCOUNT SCGSSCH  SCMDBTIM SCMIRTIM
                IODMOF -  SCGCOUNT SCGSSCH  SCMDBTIM SCMIRTIM
                MTRMEM -  CALSCMAX HCPMMO HCPSYS RSAGSTOR SYSGTORS
                          SYSSCMEX SYSTRCPC
                MTRSYS -  CPUCFGCT CPUCHAR CPUCOUNT CPUDEDCT CPURESVD
                          CPUSHARD CPUSTNBY LPARCAF LPARNAME LPNUMBER
                          SYSMMODL SYSMPOM SYSMSEQC SYSMTYPE
                STOASP -  SCGSSCH
                STOASS -  SCMSSCH (expanded to 4 bytes)
                SYTCUG -  CPUCFGCT CPUCHAR  CPUCOUNT CPUDEDCT CPURESVD
                          CPUSHARD CPUSTNBY LPARCAF  LPARNAME LPNUMBER
                SYTEPM -  CSCCMCDP CSCCMCDU CSCCMCMP CSCCMCMS ECMMDUS
                          ECMMDUSC ECMMSNT  ECMMSNTC ECMMUATS ECMMURB
                          ECMMURBC
                SYTRSG -  TCMMNBLW TCMMNABV RSA2GDCT SYSSCGCT
                SYTSCG -  CALTLKCT CALTLKTM
              -Added in z/VM 5.1:
                IODDEV -  EDEVTYPE RDEVDEV
                IODDTD -  RDEVDEV
                IODVOF -  RDEVDEV
                IODVON -  EDEVFCP1-EDEVFCP8 EDEVLUN1-EDEVLUN8
                          EDEVTYPE EDEVWPN1-EDEVWPN8 RDCOBRCO RDCRCUC
                          RDEVDEVP RDEVPVFG RDEVSER  RDEVSID RDEVSIDP
                          RDEVTYPE
                MTRDEV -  EDEVFCP1-EDEVFCP8 EDEVLUN1-EDEVLUN8
                          EDEVWPN1-EDEVWPN8 EDEVTYPE RDEVDEVP RDEVPVFG
                          RDEVSIDP
                MTRPAG -  RDEVDEV
                MTRSYS -  CPUCAPAB SCPCAPAB
                STOASS -  RDEVDEV
                STOATC -  RDEVDEV
                SYTCUP -  LCXPUPID
                SYTXSG -  TCMFSHVM TCMRDCT TCMPIN4K
                USELOF -  VEBALERT VEBHDWAI VEBSVSCT VEBTPIAI
                          VEBTVSCT VEBVIRAI
                USEACT -  VEBALERT VEBHDWAI VEBSVSCT VEBTPIAI
                          VEBTVSCT VEBVIRAI
                USEATE -  VEBALERT VEBHDWAI VEBSVSCT VEBTPIAI
                          VEBTVSCT VEBVIRAI
                SYTSYG -  SCPCAPAB
              -New Datasets created in z/VM 5.1:
                MTRQDC - QDIO DEVICE CONFIGURATION
                IODQDS - QDIO ACTIVITY
                Other new records will be supported only if you
                have a need and can send test data for them:
                  MTRCCC, IODVSM, IODVSR, IODSZI, IODQDA, IODQDD.
   Thanks to Kris Ferrier, State of Washington Dept Info Services, USA.
   Thanks to Alexandre Dorsimont, SCNH, FRANCE.

Change 22.368  The "TOTALS" record was still output in XAMSYT, because
EXXAMSYT       the test in EXXAMSYT was spelled 'TOTAL' but the actual
Jan 26, 2005   LPAR name test needed to be 'TOTALS:'.
   Thanks to Joachim Mayr, Amadeus, GERMANY.

Change 22.367  MXG 22.13-22.22 only.  Change 22.320 combined MULTIDD obs
BUILD005       from TYPE30_V into one PDB.SMFINTRV obs, but if you used
BUIL3005       IMACINTV to only output some of the TYPE30_V obs, then
Jan 25, 2005   PDB.SMFINTRV had more obs than were in TYPE30_V.  All DDs
               for all tape devices from all interval records are output
               in TYPE30TD, independent of the TYPE30_V selections.  The
               TYPE30TD then becomes TYPE30VT, which is merged with the
               INTVS (which is a stripped down TYPE30_V) and INT30VSIO
               (the sum of all I/Os for the interval records), but now,
               the merge is only OUTPUT if the obs is in INTVS.
   Thanks to Ron Lundy, AHOLD, USA.

====== Changes thru 22.366 were in MXG 22.22 dated Jan 22, 2005=========

Change 22.366  The MXGTMNT Tape Mount Event and Sampling Monitor ML-32
ASMTAPEE       is in member ASMTAPEE, with these enhancements:
ASMTAPST      -The ML-32 revisions are primarily for IBM Tape Devices,
ASMTAPSK       because it defaults to use the IBM Volume Mount Exit, and
Jan 22, 2005   STK doesn't support that exit.  Thus these defaults in
Jan 27, 2005   the ASMTAPEE member will ONLY work with IBM devices:
                  MXIT=ON,  use the IBM Volume Mount Exit to capture all
                    Mount Events (exit-driven, not sampling for mounts),
                    which also gets job-level fields for the Mount Event
                    so Cross Memory Service calls are not needed for the
                    mount record.
                  XMEMF=ON, use Cross Memory Services to get job-level
`                   fields for the Allocation Event, which are detected
                    by sampling.
                  ARCV=ON,  enable detection of Allocation Recovery thru
                    exit, to write a separate subtype for each delay
                    because a tape device could not be allocated.  This
                    subtype creates the (new) PDB.TMNTTARC dataset.
              -However, you can use ML-32 with STK devices: you have to
               set MXIT OFF, so that the old sampling monitor is used to
               detect mount events, even though that means that many of
               your fast VTS mounts will not be captured.  You also need
               to leave XMEMF ON, so that Cross Memory Services is used
               to get the job-level information for both mount events
               and allocate events, even though that may increase the
               CPU time used by the MXGTMNT monitor (because there is no
               way to know that an address space is no longer present,
               except to issue the XMEM call, and then go thru the very
               CPU-expensive recovery mechanism when XMEM fails to find
               the job, because it had already ended).
              -And if you have both IBM and STK devices, you will need
               to assemble two different MXGTMNT programs and run them
               in two Started Tasks, and use the EXCLUDE LIST DD to tell
               the IBM instance to exclude the STK devices by DEVNR, and
               to tell the STK instance to exclude the IBM devices.
               You can create the same SMF record for both monitors, or
               you could set different SMF IDs, and then you would use
                MACRO _IDTMNT  nnn OR ID= mmm %  in the IMACKEEP member
               to tell MXG to process both IDs as MXGTMNT records.
              -STK devices are allocated by STK's HSC product, which
               does not call the IBM volume mount exit; we have written
               a test program for the HSC SLSUX01 exit, but have not had
               an STK site run the program, which will determine if we
               can use that exit for STK devices (and thus eliminate the
               sampling and missed mounts).  Here's what we need:
                ASMTAPST is a test exit for potential STK support.  The
                program is a wrapper for the site's current SLSUX01 HSC
                exit.  There is a DD in the linkedit step, HSCLOAD, that
                points to the location of the site's current SLSUX01
                exit.  The output of the linkedit is a combined SLSUX01
                exit that the site will use, instead of their current
                SLSUX01 exit code.  The HSCLOAD and SYSLMOD DDs must not
                point to the same library, or the site's SLSUX01 will be
                replaced.  Once the ASM/LKED are done, the site will
                have to define the new MXG version of that exit to HSC.
                 The logic is as follows:
                  -HSC calls the MXG SLSUX01.
                  -MXG SLSUX01 executes the site's local SLSUX01 as-is,
                   taking whatever actions, were coded by the site.
                  -Control is returned to MXG SLSUX01 where the code
                   will do some data gathering and issue WTOs to the job
                   log, reporting what was discovered, from which we can
                   tell if the HSC exit can be used for STK devices.
                  -MXG SLSUX01 returns to HSC.
                 Once you've installed our exit, run some jobs that
                 cause both VTS and non-VTS tape mounts, and send us the
                 MXGTMNT job log, which will show us if all mounts do
                 actually go through the exit, and what environment
                 exists at the time the exit is taken.  From that info,
                 we may be able to figure out how to handle the STK
                 devices.  Unfortunately, we have to depend on you to
                 run these tests, as STK has been unwilling to run these
                 tests for us on their systems.
                  - Just discovered: STK no longer provides a dummy exit
                    SLSUX01 in HSC 6.0!  Member ASMTAPSK is the variant
                    of ASMTAPST that doesn't call that user exit.
              -ML-32 corrects ML-31, in which setting MEXIT bypassed the
               XMEMF call in the Allocation Monitor (causing job-level
               fields to be missing in the allocation records).  Now,
               XMEMF on/off is independent of the MEXIT on/of setting.
              -The TMNT004I message is updated before it is issued at
               MXGTMNT initialization, to show any user modifications.
              -STEPNAME is now correctly populated, and PROCSTEP name
               has been added to TYPETMNT record for mounts.
              -Using MXIT on IBM systems is only supported on z/OS.  We
               have seen, on OS/390 systems, that second and subsequent
               mounts for a job-step are not captured by MXIT, and also
               mounts from STCs (like DFHSM and JES2) are also missed.
               This is just not worth fixing for those archaic systems.
              -There is one know error in ML-31/ML-32; the Mount Start
               time is taken as the entry time into the Volume Mount
               Exit, which now appears to be the same as the Allocation
               Allocation Start time, and for most mounts that is very
               close to the IEF233I Mount Message timestamp, and hence
               not a problem.  But one site experienced very significant
               delays (30 minutes!, due to hardware errors) between the
               TMNTTIME time and the IEF233I time, so "asmguy@mxg.com"
               is now working on a revision, ML-33, but it won't be done
               and tested in time for MXG 22.22; please email a request
               to support@mxg.com when you read this text, asking for
               ML-33, and we'll email the revised ASMTAPEE when ready.

Change 22.365  BUILDPDB now sets Condition/Return Code of zero under V9!
BUILD005       SAS V9 tightened when Condition Codes were returned, and
VMAC26J2       the  WARNING: LENGTH OF CHARACTER VARIABLE HAS BEEN SET
Jan 21, 2005   returned a CC=0 with SAS Version 8.2, but CC=4 with V9,
               because JES3 JOBCLASS is $8, VMAC30 reads JES2 and JES3
               30s, but VMAC26J2 for JES2 26s had JOBCLASS of $1, and
               VMAC26J2 was located first in BUILDPDB to set $1 length.
               This design increased JOBCLASS length in VMAC26J2 to $8,
               eliminating the WARNING in the SMF-reading step where
               VMAC30 and VMAC26J2 coexist, and new LENGTH JOBCLASS $1
               statements were inserted in BUILD005 to keep only $1 for
               JES2 JOBCLASS in the PDB and SPIN datasets, so that old
               and new datasets built before and after this redesign
               will still have a one byte JES2 JOBCLASS variable.
              -TYPE30 used by itself always had JOBCLASS $8, so that did
               not change; only if you use TYPE26J2 by itself would you
               notice that JOBCLASS's length is now $8 instead of $1.
               But with MXG's COMPRESS=YES default, you shouldn't see
               any increase in the size 'cause those 7 blank bytes will
               get compressed real good!
              -The SAS change was noted in MXG Newsletter FORTY-FOUR,
               but that note was revised, citing this MXG change.
              -This should make migration from V8 to V9 even easier.

Change 22.364  Variables BLKPAGE, BLKSAUIN, and NRBLKPAGE in TYPE71 are
VMAC71         rates (per second, like all paging activity rates), but
Jan 21, 2005   their labels did not so indicate; now, they do.
   Thanks to David Kaplan, DTC, USA.

Change 22.363 -The JES3 Workload Management Section variables (added to
BUILD005       SMF 26 in OS/390 R2.4; already in TYPE26J2 and PDB.JOBS
BUIL3005       for JES2, are now kept in JE3's TYPE26J3 and PDB.JOBS.
VMAC26J3         JOBMODE0='RAN*IN*MODE=WLM'
Jan 21, 2005     JOBMODE1='RAN*F*J=JOB,RUN'
                 SMF26WCL='SERVICE*CLASS AT*EXECUTION'
                 SMF26WIN='JOB*INDICATORS'
                 SMF26WJC='JOB*CLASS'
                 SMF26WOC='ORIGINAL*SERVICE*CLASS'
                 SMF26WSE='SCHEDULING*ENVIRONMENT'
              -Variable SMF26WSE, the Scheduling Environment name, was
               only previously kept in JES2's PDB.JOBS, but this change
               adds SMF26WSE to PDB.STEPS for both JES2 and JES3, as it
               is often useful examine STEPS-level data (i.e., PROGRAM)
               and the Scheduling Environment name that caused that PGM
               to execute on this SYSTEM.
   Thanks to Julian Smailes, Experian, ENGLAND.

Change 22.362  Cosmetic.  The include of VMACSMF in these products was
Several        not needed, as they read different INFILES.  No error,
Jan 21, 2005   but it could have been confusing. Members changed:
               TYPEASXT, TYPECMFV, TYPEEAGL, TYPEIDML, TYPEMVCI,
               TYPEOMDB, TYPEUNIA, TYPEUNIK, and TYPEVITA and TYPS's.
    Thanks to Freddie Arie, TXU, USA.

Change 22.361  Variable SYSTEM was blank in PDB.ASUMUOW if there was no
VMXGUOW        DB2ACCT observation for that unit of work.  The value of
Jan 20, 2005   SYSTEM comes from the last of the two input datasets
               (CICS,DB2) that contributed to the PDB.ASUMUOW obs, so
               if there are DB2 obs, the SYSTEM of the last DB2ACCT
               observation will be the source of the value of SYSTEM.
    Thanks to Ron Root, Texas Comptroller of Public Accounts, USA.

Change 22.360  On z/890s with z/OS 1.4 but with SMF70LAC=0, values in
FORMATS        the variables CECSUSEC, CPCNRCPU, CPUMSU were missing
VMXGRMFI       because the $MG070CP format's table for CPUTYPE='2086'x
Jan 19, 2005   was wrong.  When SMF70LAC GT 0, those variables are in
               the SMF 70, but the $MG070CP table has to be used when
               SMF70LAC=0. MXG ERROR: CPUTYPE WAS NOT FOUND IN TABLE,
               CECSUSEC IS MISSING was printed (obscurely) on the SAS
               log by RMFINTRV code; this change enhanced that message
               in case it again occurs. Changes 21.299 and 20.168 noted
               that SMF70LAC was zero on basic (non-LPAR) machines, or
               on LPAR'd machines if APAR OW55509 was not installed and
               the LPAR had no defined capacity limit. This system was
               not running in 64-bit mode, which may also be required
               for SMF70LAC to be non-zero.
   Thanks to Diane Parker, AmerisourceBergen Corp, USA.

Change 22.359  Full support for CICS/TS 3.1 was only in UTILEXCL in
VMAC110        22.13 as the three new fields (328,341,342) during the
Jan 18, 2005   ESP were not added to VMAC110 INPUT for SMFPSRVR=64.0
               until today.  MXG 22.13 tested MCTSSDCN=283, but now
               MCTSSDCN=286 and MCTSSDRL=1848 is tested for
               non-excluded-field records.  Using UTILEXCL to create
               IMACEXCL has always been the recommended way to minimize
               the size of your CICS 110s, and even if there are added
               fields, since UTILEXCL read your CICS dictionary records,
               it will generate code to skip over any unrecognized
               fields (and will tell you on the log it found unknown
               fields, so they can be added to the MXG UTILEXCL and
               VMAC110 members.
   Thanks to Roland Schiradin, Alte-Leipziger, GERMANY.
   Thanks to Lambros Theodorides, Alte-Leipziger, GERMANY.

Change 22.358  CALTODON, the datetime stamp when user Logged on, was not
VMACVMXA       converted from GMT to local time, but now it is.
Jan 18, 2005
   Thanks to Xiaobo Zhang, ISO, USA.

Change 22.357  UTILBLDP failed with USERADD=118 because VMACTCP defines
UTILBLDP       the macros for SMF 118; originally, the TCP record was a
Jan 18, 2005   User SMF record, and only later was given ID=118.  Now,
               UTILBLDP is coded for this inconsistency and will work if
               use USERADD=118 or USERADD=TCP.
   Thanks to Keith McWhorter, Georgia Technology Authority, USA.

Change 22.356  UTILCONT reports SAS Data Set sized in MegaBytes; as is
UTILCONT       documented in its comments, it can cause log messages of:
Jan 18, 2005     WARNING: LIBRARY xxx WAS ALREADY ALLOCATED
                 ERROR:   LIBRARY xxx MAY NOT BE REASSIGNED
                 ERROR:   DISP=SHR CONFLICTS ASSIGNED
                 ERROR:   LIBNAME XXX IS NOT ASSIGNED
               but with MXG default options, these messages to NOT cause
               a condition code, nor does the job fail, and the reports
               are produced.  However, if you have set the SAS Option to
               ERRORCHECK=STRICT (default is NORMAL), then errors like
               the above in LIBNAME statements do cause ERRORABEND to be
               invoked, and the step fails with USER ABEND 999.
               An ABEND did occur with %UTILCONT(PDB=WORK); due to the
               changes made in Change 22.175, when MXG 22.12 was tested.
               This change to UTILCONT detects that the LIBNAME of WORK
               was requested and does not reassign it, avoiding those
               messages for the WORK library, and the ABEND.
   Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.

Change 22.355  EDGRKEXT was wrong; the first +1 did not exist. New
VMACEDGR       variables RKRELIXD RKRELSI RKRETAND RKRETNCD RKRETNXD
Jan 17, 2005   are now output.
   Thanks to Reinhard Nitsch, Provinzial Vershicherungen, GERMANY.

Change 22.354  Capacity used for each interval for each workload, for
ASUMMIPS       each service and reporting class from PDB.TYPE72GO, and
Jan 16, 2005   for each job from PDB.SMFINTRV, with MIPSUSED, MSUUSED,
Jan 22, 2005   and PCTUSED variables, is created in two output datasets
               named PDB.RMFMSUSE and PDB.SMFMSUSE by the ASUMMIPS code.
               I think MSU is a much better capacity measure than MIPS,
               but I used "MIPS" to name the member, so that, when your
               boss asks for an MXG report on MIPS used, you will find
               this program, which uses MSUUSED and MSU Capacity for the
               PCTUSED, but also calculates MIPSUSED from MSUUSED.
              -Note that the conversion from MSU to MIPS uses a factor
               that you will likely have to change to meet your boss's
               MIPS rating of your hardware.  IBM giveth the MSU rating.
               Comments show how to determine the factor for your boss,
               and you can set different factors for different systems.
              -The MIPSUSED are the MSUUSED, multiplied by the factor
               you set; the default factor is 5.8 MIPS for each MSU, but
               IBM now has a factor of 6.7 MIPS for each MSU for T-REX.
              -See MXG Newsletter FORTY-ONE, MVS Technical Note 24, for
               my documentation of MSU metrics and the MSU capacity
               variables that are reported in the ASUMMIPS examples.
              -PDB.RMFMSUSE is created from RMFINTRV and TYPE72GO data,
               for capacity used by each Service and Reporting Class in
               each interval.  Be careful: PDB.RMFMSUSE has duplicate
               data, because it keeps both the Reporting and Service
               Class obs.  You will need to select which obs are of
               interest for your reporting, before you do any summary of
               the data in PDB.RMFMSUSE.
              -PDB.SMFMSUSE is created from RMFINTRV and SMFINTRV data,
               for capacity used by each JOB in each interval.  If your
               SMFINTRV data is NOT globally synchronized, the results
               in PDB.SMFMSUSE may be inaccurate:
                 If your RMF Interval is on 0 minutes, but your SMF data
                 is on 3 minutes, the 00:00 to 00:10 interval created in
                 PDB.SMFMSUSE includes CPU time from jobs's intervals
                 that executed from 00:03 to 00:13.
              -In both datasets, the MSU capacity is calculated from the
               CECSUSEC of the hardware platform, not from the SU_SEC of
               the MVS System, because that's what IBM uses in its MSU
               calculations.  I use the NRCPUS (average number of CPUs
               that IRD gave to this MVS system ) to get the capacity
               of the specific interval (DURATM).  To compare with IBM
               hourly MSU rates, you need to multiply by the ratio of
               3600 divided by DURATM of your interval data.
              -The PCTUSED is the percentage of MSUUSED by the job or
               service/reporting class during this interval, divided
               by the interval MSU capacity (using average NRCPUS),
               which MXG calculates in variable INTMSUCP.
              -Be careful to not confuse MIPS/MSU counts with MSU rates.
               Read the Newsletter Article (again).
              -Macros define the input "RMFINTRV" dataset that is used,
               which sets the output interval, and macros define the
               output dataset names.  The MXG default interval for
               "RMFINTRV" is your RMF Interval, but you can execute the
               RMFINTRV program many times to create multiple "RMFINTRV"
               datasets, each with different interval (see comments in
               member RMFINTRV). For example, Hourly in RMFINTHR,
               Shiftly in RMFINTSH, Daily in  RMFINTDY.   Comments in
               ASUMMIPS member show how to execute it and how to tailor
               it for your needs.
   Thanks to George Canning, Abbey Plc, ENGLAND.

Change 22.353  The ERROR*RMFINTRV. WORKLOAD CPU TIMES DO NOT MATCH ...
VMXGRMFI       is printed when the sum (CPU72TM) of the workloads that
Jan 16, 2005   you defined, either in your tailored RMFINTRV member
                 (the recommended way to define which Service/Reporting
                 Classes you want combined into PDB.RMFINTRV workloads),
               or in your tailored IMACWORK member (the old way), do not
               match the sum (CPUTM) of all Service-only Classes.
               The text of the message was enhanced to show both times
               in both TIME12.2 and 8.2 formats and they are collimated
               for easier reading.
              -If you do receive that error message, you need to review
               your RMFINTRV/IMACWORK definitions, and review your data,
               which is the purpose of the UTILRMFI program, which will
               examine both your TYPE72GO and STEPS/SMFINTRV data to
               provide explicit answers, but UTILRMFI requires manual
               EDITing, and could require re-reading of your SMF data.
               This PROC FREQ might be sufficient to show the error:

                  PROC FREQ DATA=PDB.TYPE72GO
                     WHERE=(STARTIME='02JAN2005:08:00:00'DT));
                  BY SYSPLEX SYSTEM;
                  TABLES RPRTCLAS*SRVCLASS*STARTIME/MISSING;
                  WEIGHT CPUTM;
                  FORMAT STARTIME DATETIME13.;RUN;

               My error message was the result of using an old RMFINTRV
               that had USEREPRT=GOAL (use ONLY Reporting Classes), but
               the test data I was looking at (for other purposes!) did
               not have 100% of its Service Classes mapped to Reporting
               Classes.  The preceding PROC FREQ showed that the CPUTM
               was exactly equal to the RPRTCLAS=' ' observations, and
               that CPU72TM was exactly equal to the RPRTCLAS='Y' obs,
               and that CPU72TM was less than CPUTM.  The PROC FREQ is
               also useful since it shows the CPU time and the names of
               all Service and Reporting Classes in the interval.

Change 22.352  Test for short record expanded to test both LENMONI and
VMACTMO2       LENGTH, because an archive file contained two 80-byte
Jan 14, 2005   records that contained '4040'x for LENMONI.
   Thanks to Tom Parker, CSC, USA.

Change 22.351  HSM format MGHSMFU for 13 is 13:FULL VOLUME DUMP instead
FORMATS        of 13:DELETE BACKUP VERSIONS, and descriptions were made
Jan 14, 2005   clearer for migration formats.
   Thanks to Michael Yuan, University of California, USA.

====== Changes thru 22.350 were in MXG 22.13 dated Jan 13, 2005=========

Change 22.350  New CICS/TS 3.1 variables WBREPRDL, WBREPWDL, PGCRECCT
UTILEXCL       were found in PDB.CICSDICT and are now supported in the
VMAC110        UTILEXCL member, and WBSNDOU1 test was corrected.
Jan 13, 2005  -Duplicate variables were not removed from SORTTEST so
               and additional DATA step was added to remove them all.
               Without this change, 180 errors when TYPE110 was executed
               with IMACEXCL built by the earlier UTILEXCL.
   Thanks to Tory Lepak, Aetna, USA.

Change 22.349  Change 22.325 created SHORTCPS/PLCPRDYQ variables, but
VMAC7072       negative values were found in a few TYPE70 observations.
VMXGINIT       Those obs also had PCTMVSBY and CPUMVSTM negative, values
Jan 13, 2005   of MVSWAITx greater than DURATM, and unreasonably large
Jan 29, 2005   IORATE values, at two sites, both using IRD (Intelligent
               Resource Director, the WLM component that varies engines
               on/offline as needed.  The occasionally bad data records
               occurred with both z/OS 1.4 and 1.5, and all of the RMF
               70 records with bad data had SMF70CNF bit 6 on ('02'x or
               '03'x in MXG variables CAIx), and no observations with
               bit 6 off had bad data values, and only some CPU Data
               segments in each bad record had bad data.
              -None of the LPAR bits indicated a change in CPUs, but in
               one z/OS 1.5 case examined closely, in the LPAR segment
               for the CPUID that had CAI='02'x, SMF70ONT was only 230
               milliseconds less than SMF70INT/DURATM; the next interval
               shows that engine remained offline (CAI='00'x), so it
               appears the bad data may only occur when IRD has varied
               an engine off right at the end of an interval.
              -When engines had been IRD'd on/off with good data, they
               had SMF70ONT values that were a multiple of 10 minutes,
               the normal WLM decision interval for varying engines.
              -SMF70CNF bit 6 was documented in the SMF manual as
                 "CPU reconfigured during the measurement interval (data
                 for this CPU is incorrect)"
               However, RMF Development now says that the "incorrect"
               part of the doc is out of data, is no longer true, and
               will be revised.
              -Both sites had SLIH counts of 20-30 million in 900 second
               (15 minute) interval data, which was much above the value
               in normal observations from both sites.
              -Many obs had SMF70WAT (CPUWAITM) much larger than DURATM
               in the observations with bit 6 on (as much as 26 Hours of
               Wait in a 15 minute interval) at one site, while the
               second size always had SMF70WAT of zero when bit 6 was on
               (which is likely also wrong, as that would be 100% busy
               for that engine, which was inconsistent with the other
               engines in the LPAR for that interval).
              -One of the sites will opening a PMR with IBM, after I had
               extensive discussions with RMF Development, but that will
               require IBM Support to design a SLIP trap to diagnose the
               problem, which will take some time and effort by both IBM
               and the customer.
              -I had revised MXG code to detect that CNF bit 6 is on, in
               this original change, so that you could choose to cause
               those bad values to be instead be set to a missing value,
               simply by inserting this optional statement:
                     %LET CNFBIT6=1;
               after your //SYSIN.  And this change originally made the
               MXG default to calculate the bad values, so that you'd
               know they existed.  Fortunately, that bad data only
               affects variables that are "MVS-specific" and are not the
               "mainstream" variables you use for CPU calculations; they
               have been there some time and were not observed until I
               added the Short CPs variables.
               HOWEVER: UPDATE JAN, 2006:  SPLIT 70 Rewrite eliminated
               the CNFBIT6 macro variable option, and these data are
               always presented.  See change 23.321.
              -Several MXG sites without IRD have run the program and
               none have seen the symptoms, but that's not conclusive.
              -In conclusion, these MXG variables in PDB.TYPE70 and in
               PDB.RMFINTRV (where not all are kept) may be negative or
               incorrect with MXG's default
                  PCTMVSBY MVSWAITn SHORTCPS PLCPRDYQ CPUMVSTM
               when corresponding CAIx variables have 02x or 03x values.
              -Additional notes from RMF Development elaborate meanings:
                MXG Variable LPARCHNR='Y' if Bit 1 of SMF70PFG is on:
                  Bit 1 of PFG (Number of Logical Processors has
                  Changed) does not indicate any online/offline
                  activity; it it indicates whether the number of
                  logical processors changed and does not care whether
                  those processors are online or offline or whether
                  their on/of status changed.
                MXG Variable LCPUVARY='Y' if Bit 5 of SMF70VPF is on:
                  Bit 5 of VPF (log proc varied online during interval)
                  is only set when the processor turned ONLINE compared
                  to the status at the end of the previous interval
                  (this is more or less a bit from the old days, prior
                  to WLM CPU mgmt).
              -You can use the below program, to analyze your existing
               TYPE70 data to see if the problem exists in at your site:

                 /* CNFBIT6 PROGRAM, EXAMINE SMF70CNF BIT 6 ERRORS  */
                 /* DISREGARD THE MESSAGES ON THE LOG THAT STATE:   */
                 /*  THERE ARE NO VALID OBSERVATIONS...             */
                 PROC CHART DATA=PDB.TYPE70;
                 BY SYSPLEX SYSTEM MVSLEVEL DURATM NOTSORTED;
                 HBAR CPUWAIT1-CPUWAIT9 IORATE CAI1-CAI9;
                 TITLE MXG INVESTIGATION OF SMF70CNF BIT 6 ERROR;
                 TITLE2 CPUWAIT GT DURATM IS AN ERROR CONDITION;
                 TITLE3 IORATE GT 10000 IS LIKELY AN ERROR CONDITION;
                 TITLE3 ONLINE STATUS OF 02-03 ARE SMF70CNF BIT 6 ON;
                 LABEL SYSPLEX='SYSPLEX' SYSTEM='SYSTEM'
                       MVSLEVEL='MVSLEVEL' DURATM='DURATM';

   Thanks to MP Welch, SPRINT, USA.
   Thanks to Chuck Hopf, MBNA, USA.
   Thanks to Michael Oujeski, MBNA, USA

Change 22.348  The actual variable names are CPUIFATM and CPUIFETM, but
Several        there still were references in several members to the
Jan 12, 2005   original-last-August names of IFACPUTM and IFECPUTM.
   Thanks to Raimo Korhonen, CompMeas Consulting Oy, FINLAND.

Change 22.347  The IMACEXCL member generated for CICS/TS 3.1 data could
UTILEXCL       fail with 180 abend starting with variable PGTOTCCT.
Jan 12, 2005
   Thanks to Victoria Lepak, Aetna, USA.

Change 22.346  PCTCPUBY for non PR/SM system was wrong; it was either
VMAC7072       the busy of the last engine, or missing, if the last CPU
Jan 12, 2005   was offline. And the IORATE was way wrong, as it was the
               IORATE of the last engine, not the total of all engines.
   Thanks to Mary Kay Pettengill, (i)Structure, USA.

====== Changes thru 22.345 were in MXG 22.13 dated Jan 12, 2005=========

Change 22.345  The support for Multi-System Remote Enclave CPU segment
VMAC30         in Change 22.051 was flat out wrong; I was misled by my
Jan 12, 2005   own error: my code INPUT the MOF/MLN/MNO triplet at the
               same location as the ARM triplet offset.  The data DOES
               agree with IBM documentation, and, with this change, the
               IBM field names are the MXG variable names in TYPE30MR.
               Note: the SMF30MRD/SMF30MRI CPU times are normalized by
               MXG back to the system on which this type 30 was created,
               but both SMF30MRA and LOSU_SEC variables are kept in the
               TYPE30MR dataset, in case you want to do it differently.
               The sum of SMF30MRD/SMF30MRI in all MR segments in this
               SMF 30 record are summed into variables CPUMRDTM/CPUMRITM
               which already existed in TYPE30_4(PDB.STEPS) and TYPE30_5
               and are now also kept in TYPE30_V (PDB.SMFINTRV).
               However, CPUMRDTM/CPUMRITM are NOT added into CPUTM, at
               least not yet by this change; since they have never been
               right, they could not have been used, and it is not
               clear exactly what use will be made of those CPU times
               that occurred on other systems. Your feedback is wanted!
               Especially, since I do not have any type 30 records with
               the Multi-System segment with which to validate!!
              -The original MXG variable names RMSU_SEC and MRENSYST are
               now replaced by SMF30MRA and SMF30MRS respectively.
   Thanks to Robert Vaupel, IBM RMF Development, GERMANY.

Change 22.344  If you have too many LPARs and LCPUADDRs, it is possible
VMAC7072       for IBM to split your RMF 70 data into multiple physical
Jan 11, 2005   records for each interval, and this is not YET supported
               in MXG (because no one yet has actually made it happen).
               At least now, MXG will detect the split records and will
               alert you with error messages and hex dumps of the first
               10 records with SMF70RAN non-zero, and will tell you that
               your TYPE70, TYPE70PR, ASUM70PR, ASUM70LP, and ASUMCEC
               data are wrong, and that TYPE70 will have multiple obs
               for a single RMF interval.  Eventually, MXG will support
               the split records, and this change text will be revised.

====== Changes thru 22.343 were in MXG 22.13 dated Jan 10, 2005=========

Change 22.343  Discussion and examples for building MONTHLY PDBs.
JCLMNTH       -The existing JCLMONTH and JCLMNTH both assume you want to
JCLMNTHD       build your MONTH PDB on tape.  The original JCLMONTH read
JCLMONTH       five weekly PDBs and created MONTH as a sequential format
MONTHBLD       ("tape format") SAS data library, but there are multiple
MONTHDSK       mounts and rewinds when multiple data steps are used to
Jan  9, 2005   write multiple datasets to a seq-format library on tape.
               So the JCLMONTH was revised (in 1987!) to write each
               dataset first in sequential format to //TAPETEMP DD on
               DASD, and MVS's MOD was used to add each dataset to the
               end of the tape, to eliminate backspace/rewind delays.
              -But even then, if your weekly PDBs were each on tape, the
               JCLMONTH required six tape drives, one for each weekly
               PDB and one for the MONTH output data library.  So 1992s
               JCLMNTH example enhanced the process by requiring only
               one tape drive, by first PROC COPYing each weekly tape
               PDB with SELECT of the needed datasets to temporary DASD,
               (with UNIT=AFF so only one tape drive was needed to read
               all weekly PDBs), and then the MONTH PDB was created
               using //TAPETEMP, MOD, and UNIT=AFF on the same drive.
              -While both JCLMONTH or JCLMNTH were designed to write the
               //MONTH to tape, you could write MONTH to a DASD DD.
               However, a data library in sequential (tape) format has
               no directory, so you must read all N-1 preceding SAS
               data sets to read the Nth dataset you wanted, wasting CPU
               and I/O.
              -In addition, you may have been wasting a lot of DASD
               space if you wrote your //MONTH to DASD in sequential
               format.  This entire discussion was precipitated when the
               reporting site's monthly job failed when it ran out of
               disk space; they had moved from SAS V8.2 to SAS V9.1.3,
               but were unaware they were creating their Monthly PDB in
               sequential format:
                 -Using SAS V8, V8SEQ, and COMPRESS=YES (MXG Default),
                  and writing //MONTH to DASD in sequential format, they
                  needed only 55,830 tracks, because V8SEQ, SAS 8.2 and
                  COMPRESS=YES did compress sequential format libraries,
                  but V9SEQ and SAS V9.1.3 does NOT compress seq format,
                  so its data library was 106,710 (uncompressed) tracks!
                 -So I had Chuck then run these benchmarks to reveal the
                  source of their ABEND:

                  Tracks   Engine   SAS Version  CPU sec   Compress
                   34305   DASD V8    8.2        ---         Yes
                  106710   V6SEQ      8.2         65         Yes
                  106725   V9SEQ      9.1.3       26         No
                  106725   V9SEQ      9.1.3       26         Yes
                   34380   DASD V9    9.1.3      138         Yes
                   63705   DASD V9    9.1.3       22         No
                  106723   V8SEQ      8.2         22         No
                   55830   V8SEQ      8.2        126         Yes
                   34305   V8SEQ      8.2        133         Yes
                   50145   V8SEQ      8.2         20         No
                  106725   V8SEQ      9.1.3       26         No
                  106725   V8SEQ      9.1.3       26         Yes
                   34380   DASD V8    9.1.3      137         Yes
                   63705   DASD V8    9.1.3       20         No

                  -Even though COMPRESS was specified, not all engines
                   and versions actually compress sequential format, but
                   that is what I want: if you are writing to tape, the
                   IDRC hardware compress the tape, so you don't want
                   SAS to burn CPU time to also compress the data.
                   Furthermore, you can write a single SAS dataset to
                   an extended-sequential, striped, hardware-compressed
                   DASD device, which also shouldn't be SAS-compressed.

                  -MXG CONFIGV9 still specifies V6SEQ today, because I
                   cannot tell from within SAS if you are at V9.1.3, or
                   if you have the critical Hot Fix for earlier V9s.
                   Originally I recommended V6SEQ, even under SAS V8.2,
                   because it did NOT waste CPU time by compressing.
                   While V9SEQ eliminated that compression, prior to
                   SAS V9.1.3, you MUST use V6SEQ, because there were
                   data corruption errors using V8SEQ or V9SEQ under
                   SAS V9s prior to 9.1.3.  If you have installed 9.1.3,
                   it is NOW safe for you to change CONFIGV9 to V9SEQ.

              -So back to the new JCL examples, and documentation of all
               of your choices.  This change adds example JCLMNTHD and
               member MONTHDSK, which should be used when yow want your
               monthly on DASD, and your weekly PDBs are also on DASD.
               Additionally, once you've built "Last Month's" PDB on
               DASD, you can archive it to a tape GDG by using:
                   PROC COPY IN=MONTH OUT=MNTHTAPE MT=DATA;
               to write all of those datasets in a single write to tape
               when you're finished with this month's reporting and then
               free up the DASD space.

                 JCL      Code     Weekly  Monthly  Select   Tape
                 Member   include    On      On     Copy     Drives

                 JCLMONTH MONTHBLD  Tape    Tapes    No       Six
                 JCLMNTH  MONTHBLD  Tape    Tapes    Yes      One
                 JCLMNTHD MONTHDSK  Disk    Disk     No       None
                 JCLMNTHT MONTHDSK  Tape    Disk     Yes      One

              -To be complete, JCL example JCLMNTHT is created, but it
               is likely to be unneeded - if you can't find space on
               DASD for your weekly PDBs, then why try to write a month
               to DASD?  (Perhaps, if you only build a small number of
               datasets monthly, which is really what I personally think
               best - I only created the JOBS/STEPS/PRINT/RMFINTRV in my
               monthly, and did all of my other reporting week-to-week.
   Thanks to Bruce Green, MIB, USA.


Change 22.342  INCOMPATIBLE MXG CHANGE TO BUILDPDB, if you have tailored
BUILD001       your build to add SMF 115 or SMF 116 records.  If so, you
BUIL3001       MUST remove the references to 115 and/or 116 in the PDB
BUILD004       exit members, EXPDBINC/EXPDBVAR/EXPDBCDE/EXPDBOUT.  If
BUILDPDB       you overlook this revision to your tailoring, your first
BUILDPD3       test of the new MXG BUILD will fail, because of duplicate
BUILD606       dataset names being built in the first Data Step.
Jan 10, 2005

Change 22.341 -If you have IFAs but don't have APAR OA09118 installed
VMAC30         (adds CPUCOEFF to SMF 30), MXG-created IFAUNITS/IFEUNITS
Jan  7, 2005   variables are missing, causing CPUUNITS to still include
               the IFAUNITS.  Now, if there are RMF 72s from the same
               SYSTEM in the SMF file that precede the type 30 record,
               the old MXG logic to calculate EXCPRMF using CPUCOEFF
               from RMF is used to also populate IFAUNITS and IFEUNITS
               and to subtracts IFAUNITS from CPUUNITS.  If both the
               IFAUNITS and EXCPRMF are still missing values, then both
               the APAR is not installed and there was no RMF 72 record
               from this system before that type 30 record.
              -The IFA CPU time variables are now formatted TIME12.2.
   Thanks to Bernie Pierce, IBM, USA.

Change 22.340 -If zAAP engines are offline, MXGs PCTIFABY in TYPE70 was
VMAC7072       100%, and IFAACTTM was equal to the DURATM, because MXG
Jan  6, 2005   did not consider offline IFAs.  This change restructures
               MXG code for IFAs, summing IFAs SMF70ONT into IFAUPTM and
               summing IFAs LCPUPDTM into IFAACTTM to calculate PCTIFABY
               and also new variable NRIFAONL, the number of IFAs that
               were online (which, like NRCPUS, the number of CPs that
               were online) can be a fraction if some are offline.
              -The MXGCIN variable is also now correctly set to IFA even
               for offline IFAs.  The original NRIFAS variable is now a
               count of installed IFAs, but is not used in calculations.
              -The IFAWAITn and PCTIFBYn variables (32 of each!) are no
               longer created; they are not needed in TYPE70 and they
               can be determined from TYPE70PR.
              -If CP engines were varied on/off, PCTMVSBY was wrong, as
               it was calculated based on DURATM instead of SMF70ONT;
               this also led to incorrect values of the new SHORTCPS
               variable, that was added in Change 22.325.
              -Mar 7, 2005: The MXGCIN 'guess' depends on IRD, because
               variable SMF70SPN, the LPAR Cluster Name, is only found
               in systems that are in an LPAR Cluster.
   Thanks to Dave Cogar, CA, USA.

Change 22.339 -Major enhancement to TNG support:
EXTNT100-      The instance macro variables values and the MAXROW value
EXTNT127       are now set dynamically from the input performance cubes,
EXTNT127       so you won't get any ARRAY SUBSCRIPT OUT OF RANGE errors!
FORMATS        The cube's headers are read in a quick pass of the input,
IMACTNG        and then used to write the %LET PPoooI=nnn; statements
TYPETNG        (to //INSTREAM) for each object that was found in your
TYPSTNG        input; the input is then re-read to create the output.
VMACTNG        This will also minimize the amount of virtual storage
VMXGINIT       required for the MXG job; a REGION of only 200MB was
Jan  6, 2005   used for test data with many objects and many instances
Jan 21, 2005   that previously required over 400MB.  And since the array
               size is now based on data, the default instance macro
               variables in VMXGINIT are now all set to one, and metric
               macro variables are back in the VMACTNG member, since
               they are only changed when new metrics are added by CA,
               and that requires other changes in the VMACTNG code.
              -Support for 28 new NT objects with over 600 metrics:
                   Dataset   dddddd    Object Name
                   TNT100    NT100     ASP.NET APPS V1.1.43
                   TNT101    NT101     ASP.NET V1.1.4322
                   TNT102    NT102     DOUBLE-TAKE CONNECTI
                   TNT103    NT103     DOUBLE-TAKE KERNEL
                   TNT104    NT104     DOUBLE-TAKE SECURITY
                   TNT105    NT105     DOUBLE-TAKE SOURCE
                   TNT106    NT106     DOUBLE-TAKE TARGET
                   TNT107    NT107     FTP SERVER
                   TNT108    NT108     GOPHER SERVICE
                   TNT109    NT109     GROUPSHIELD FOR MICR
                   TNT110    NT110     HTTP SERVICE
                   TNT111    NT111     INDEXING SERVICE
                   TNT112    NT112     INDEXING SERVICE FIL
                   TNT113    NT113     MSEXCHANGE INTERNET
                   TNT114    NT114     MSEXCHANGECCMC
                   TNT115    NT115     MSEXCHANGEDS
                   TNT116    NT116     MSEXCHANGEES
                   TNT117    NT117     MSEXCHANGEIMC
                   TNT118    NT118     MSEXCHANGEIS
                   TNT119    NT119     MSEXCHANGEIS PRIVATE
                   TNT120    NT120     MSEXCHANGEIS PUBLIC
                   TNT121    NT121     MSEXCHANGEMSMI
                   TNT122    NT122     MSEXCHANGEMTA
                   TNT123    NT123     MSEXCHANGEMTA CONNEC
                   TNT124    NT124     MSEXCHANGEPCMTA
                   TNT125    NT125     SQLSERVER:BACKUP DEV
                   TNT126    NT126     DATABASE
                   TNT127    NT127     RSVP SERVICE
              -When processing TNG data on ASCII platforms, which have
               a default LRECL=255, you will need to add LRECL=32000 to
               your FILENAME statement.
              -Jan 20: temporary datasets used in _UTNGCNT now deleted.
   Thanks to Peter Krijger, ANZ National Bank Limited, NEW ZEALAND.

Change 22.338  The AUTOEXEx and CONFIGVx members now specify the option
AUTOEXEC       DLDMGACTION=REPAIR for all platforms; the option causes
AUTOEXEU       SAS to automatically repair and rebuild indexes and the
CONFIGV8       integrity constraints, when a damaged SAS dataset is
CONFIGV9       detected; the most common reason for a damaged data set
Jan  4, 2005   is when it was left open because of a prior abnormal
               termination (i.e., on z/OS, an x22 timeout ABEND). SAS
               defaults are inconsistent, with z/OS having REPAIR for
               batch and PROMPT for interactive, but FAIL for batch and
               REPAIR for interactive for Windows systems.
   Thanks to Dan Squillace, SAS Institute Cary, USA.

Change 22.337 -WARNING: BIT MASK .. TOO LONG because the RACF variables
VMAC80A        KW23SPEC and KW23IGNR are only one byte each, but the bit
Jan  4, 2005   tests were wrong, and were testing for two bytes.
              -Variable RACF07DT was increased to 200 bytes.
   Thanks to Erling Andersen, SMT, DENMARK.

Change 22.336  Major enhancement: MQMACCT/MQMACCTQ data (SMF 116) can be
ASUMUOW        added to the PDB.ASUMUOW dataset for CICS transactions
IMACUOW        created by MQ-Series (but you must enable their addition
JCLMQMCI       in your IMACUOW member or in your input per comments.
VMXGUOW        IBM does NOT provide the variables NETSNAME/UOWTIME in
VMXGINIT       MQMACCT/MQMACCTQ datasets that are used to directly match
Jan 10, 2005   up to CICSTRAN data. (IBM MQ-series support claimed that
               the STCK value in QWHCNID in MQMACCT could be used, but
               its value is NOT the same as the UOWTIME STCK value.)
               So this heuristic algorithm first matches CICSTRAN with
               MQMACCT by APPLID TASKNR TRANNAME to get NETSNAME/UOWTIME
               from CICSTRAN, which is then used to merge MQMACCT and
               MQMACCTQ (which can have more than one obs per uow if
               multiple MQ queues are used) with the CICSTRAN (and any
               DB2ACCT data, although DB2ACCT data is not required).
              -There is a clear exposure in using the TASKNR within an
               APPLID to get the NETSNAME/UOWTIME from CICSTRAN, as the
               IBM maximum for TASKNR is currently 99999, even though
               the field is a PD4 that could contain 9999999, but there
               is no other way at the present time.
              -You MUST have tailored either IMACUOW or ASUMUOW to even
               create observations in PDB.ASUMUOW in the first place,
               since the MXG default is to create zero observations.
               You must re-tailor using the new IMACUOQ or ASUMUOW
               member from this MXG to add the MQ Series variables.
              -ASUMUOW will not fail, even if there are no MQ data.
              -Variable MQTRAN counts the number of MQMACCT/MQMACCTQ
               records that were included in the Unit of Work.
              -MXG's BUILDPDB was revised by Change 22.342 to add the
               processing of SMF 115 and 116 data in the default PDB.
              -Member JCLMQMCI is a JCL example that uses VMXGUOW for
               standalone processing of SMF for CICSTRAN, DB2ACCT and
               SMF 116 data to create PDB.ASUMUOW with all three.
              -MXG 22.12.  Error due to IMACUOW missing an end comment
               symbol.  At the same time, CICSUOW dataset was
               externalized by  MACRO _UOWICIC so that it's destination
               can be overridden.
              -VMXGINIT defines macro variable MXGMQADD, default blank.
              -Cosmetic.  Using %INCLUDE SOURCLIB(ASUMUOW); with no DB2
               observations caused UNINITIALIZED variable messages that
               are now eliminated by adding compiler fakers for DB2PARTY
               QWACFLGS and QWHSSSID variables, and missing value notes
               have also been almost completely suppressed.
   Thanks to Ove Dall-Hansen, Codan Insurance, DENMARK.
   Thanks to Diane Eppestine, SBC, USA.

Change 22.335  Unused Change Number.

Change 22.334  Support for APAR OA06476 changes to RMF 74 records.
EXTY748A      -Subtype 5 adds these new metrics to TYPE74CA dataset:
EXTY748R          R7451CT1='BYTES*READ'
EXTY748X          R7451CT2='BYTES*WRITTEN'
FORMATS           R7451CT3='READ*RESPONSE*TIME'
IMAC74            R7451CT4='WRITE*RESPONSE*TIME'
VMAC74            R7451PBR='PHYSICAL*STORAGE*BYTES*READ'
VMXGINIT          R7451PBW='PHYSICAL*STORAGE*BYTES*WRITTEN'
Jan  1, 2005      R7451PRO='PHYSICAL*STORAGE*READ*OPERATIONS'
                  R7451PRT='PHYSICAL*STORAGE*READ*TIME'
                  R7451PWO='PHYSICAL*STORAGE*WRITE*OPERATIONS'
                  R7451PWT='PHYSICAL*STORAGE*WRITE*TIME'
                  R7451XID='EXTENT*POOL*ID'
                  R7451XTY='EXTENT*TYPE'
                  R7452XFL='EXTENT*POOL*FLAGS'
                 "Millisec" values are formatted TIME13.3 (so a value of
                 99 milliseconds will print as 0:00:00.099).
              -Subtype 8 creates three new datasets:
               TYPE78A -  ESS RANK ARRAY DATA
                R748AACP='ARRAY*CAPACITY'
                R748AAID='RANK*ARRAY*IDENTIFIER'
                R748AASP='ARRAY*SPEED*IN 1000*RPM'
                R748AAWD='ARRAY*WIDTH'
                R748AEBC='ARRAY*TYPE*EBCDIC'
                R748ARID='RANK*IDENTIFIER'
                R748ATYP='ARRAY*TYPE*CODED'
               TYPE78R -  ESS RANK STATISTICS DATA
                R748RAIX='INDEX TO*FIRST ARRAY*SECTION OF*RANK'
                R748RBYR='BYTES*READ'
                R748RBYW='BYTES*WRITTEN'
                R748RCNT='COUNT OF*ARRAYS*IN RANK'
                R748RKRT='READ*TIME'
                R748RKWT='WRITE*TIME'
                R748RPNM='EXTENT*POOL*NUMBER'
                R748RRID='RANK*IDENTIFIER'
                R748RROP='RANK*READ*OPERATIONS'
                R748RWOP='RANK*WRITE*OPERATIONS'
               TYPE78X -  ESS EXTENT POOL STATISTICS
                R748XPID='EXTENT*POOL*IDENTIFIER'
                R748XPLT='EXTENT*TYPE'
                R748XRCP='REAL*EXTENT*POOL*CAPACITY*
                R748XRNA='ALLOCATED*REAL*EXTENTS*IN POOL'
                R748XRNS='REAL*EXTENTS*IN EXTENT*POOL'
                R748XRSC='REAL*EXTENT*CONVERSIONS'
                R748XSDY='SOURCES OF*DYNAMIC*RELOCATIONS'
                R748XTDY='TARGETS OF*DYNAMIC*RELOCATIONS'
                R748XVCP='VIRTUAL*EXTENT*POOL*CAPACITY'
                R748XVNS='VIRTUAL*EXTENTS*IN EXTENT*POOL'
                R748XVSC='VIRTUAL*EXTENT*CONVERSIONS'

Change 22.333  Cosmetic. If you used "views" for MXG datasets that still
Many           "housecleaned" with PROC DELETE DATA=_Wdddddd syntax, you
Jan  1, 2005   got a non-fatal SAS warning message; replacing the syntax
               with the preferred %%VMXGDEL(DDDDDD=dddddd); eliminates
               the messages.  (All were oversights where VMXGDEL should
               have been used.)  These members were revised:
                ANALVVDS ASUMTAPE TYPEDOS  TYPETMS5 VMAC103  VMAC108
                VMAC29   VMAC30   VMAC50   VMAC79   VMACAIX  VMACCIMS
                VMACCTLL VMACHMF  VMACHSM  VMACMPLX VMACTCP  VMACTIMS
                VMACTMDB VMACTPF  VMACTPX  VMACVITA VMACVMON VMACVMXA
                VMACXXXX
   Thanks to Joe Babcock, Bank One, USA.

Change 22.332  Support for (Optional) ESS segment GEPARMKY field values
IMAC6ESS       0036x=ESSRETAS, 0041x=ESSOFSTF, and 0043x=ESSOFSTB, plus
VMAC6          correction for '034'x field, which can have time-in-text
Dec 30, 2004   formats of 10:00  or 0150:00:00.
Jan  2, 2005
   Thanks to Alexander Raeder, Itellium, GERMANY.
   Thanks to Hartmut Beckmann, Itellium, GERMANY.

Change 22.331  Support for hIOmon File I/O Performance Monitor.
VMACHIOM       This Windows family I/O monitor records activity at the
Dec 30, 2004   individual file for each process for each user, with both
               I/O activity counts, Bytes read/written, and duration of
               the I/O.  A special export option MXGall creates a csv
               file of all 117 I/O metrics, with nulls for those fields
               that are not being monitored, and that file is the file
               supported in the TYPEHIOM code.  Only a single dataset is
               presently created, for both files and devices, but that
               may change, based on user feedback.  The inexpensive I/O
               monitor can be downloaded at http://www.hyperio.com, and
               a free trial is offered.
   Thanks to Tom West, hyperI/O LLC, USA.

Change 22.330  Documentation.  The CPUxxxTM variables created from SMF
ADOC30         30 records were not fully documented; they are updated
Dec 30, 2004   and identify what's included in which variables.
   Thanks to Michael Bouros, Morgan Stanley, USA.

Change 22.329  Major enhancement to "PC Job Streams" for running MXG on
BLDNTPDB       ASCII systems to create "SMF" or "NTSMF" PDB Libraries.
BLDSMPDB       Uses the new VMXGALOC utility macro to allocate daily,
VMXGALOC       weekly, and monthly PDB Directories, creating directory
VMXGSUM        names that contain the DATE of the data, and logic to
Dec 30, 2004   read the correct directories for the MONTH PDB.
Jan 16, 2005  -UPCASE(KEEPALL) was added in VMXGSUM for pc execution.
UTILBLDP      -Note: Only VMXGSUM was updated in MXG 22.13; the other
TRND70         three members were not revised until Jan 16, 2005.
ANALSHCP      -UTILBLDP now supports OUTFILE=INSTREAM, needed for the
               BLDSMPDB enhancement that lets you specify BUILDPDB= to
               use the tailored UTILBLDP output for your BUILDPDB code.
              -UTILBLDP now has an internal table of SMF records that
               are automatically created by MXG's default BUILDPDB, so
               that your USERADD= list can be compared and errors
               prevented if you list a record that's already in PDB.
              -UTILBLDP/BLDSMPDB logic for OUTFILE argument is robusted.
               If the name is a PC dataset name it has to be inside
               quotes, but if it is not (something like INSTREAM or like
               SOURCLIB(MYPDB) then it must NOT be inside quotes in your
               invocation. If a colon or backslash is found in your text
               it will be put in quotes and treated as a PC filename.
              -TRND70 now adds PCTMVSBY SHORTCPS PLCPRDQY MAXSHCPS and
               MAXRDYQ to TRND70 dataset.
              -ANALSHCP provides sample reports of SHORTCPs and PLCPRDYQ
               for your systems.
   Thanks to Chuck Hopf, MBNA, USA.

Change 22.328  Cosmetic, unless you used the _NTNG macro to null all of
VMACTNG        the TNG datasets (the _NULL should have been _NULL_ in
Dec 29, 2004   each of the lines in MACRO _NTNG), or tried to use the
               _KTNT015 macro to tailor NT015 (it was spelled _KTNT016).
   Thanks to Freddie Arie, TXU, USA.

Change 22.327  Cleanup of BUILDPDB/BUILDPD3.
BUILDPDB      -In BUILDPDB/BUILDPD3, TYPE30MR was not sorted into //PDB
BUILD002       (unless you used BUILD002, which did contain _STY30MR).
BUILDPD3      -Work datasets STEPS, STEPSIO, SPJB30T4 were created in
SPUNJOBS       SPUNJOBS but were not deleted, now they are.
Dec 24, 2004

Change 22.326  Variable CPUCEPTM (CPU TIME WHEN TASK WAS ENQUE PROMOTED)
BUILD005       in what I regard as an IBM Design Error, is accumulated
BUIL3005       in the SMF 30 subtype 2 and 3 interval records; no other
ONLYINTV       CPU metrics are accumulated in those records.  This means
Dec 24, 2004   that the TYPE30_V dataset built from SMF is no longer
               valid.  But since MXG can correct IBM errors faster than
               they can even acknowledge their errors (Level 2 says it's
               not their problem to fix), this redesign in BUILDPDB code
               deaccumulates the CPUCEPTM in the PDB.SMFINTRV dataset.
                 (Of course, the CPUCEPTM will be missing in the first
                  interval for each task that has more than one interval
                  record, since there is no prior interval record in
                  "today's" SMF file.)
               Dataset PDB.SMFINTRV is automatically built by BUILDPDB.

              -If you want to create PDBINTRV.SMFINTRV (and the other
               interval dataset, PDBINTRV.TYPE30_6) directly from your
               raw SMF file, you can use this example that uses the
               BUILDPDB logic, but builds only the PDBINTRV.SMFINTRV
               and the PDBINTRV.TYPE30_6 interval datasets:
                  //PDBINTRV DD DSN=YOUR.PDB.OUTPUT,DISP=(,CATLG),....
                  //SMF      DD DSN=YOUR.SMF.DATA,DISP=SHR
                  //PDB      DD UNIT=SYSDA,SPACE=(CYL,(5,5))
                  //SPIN     DD UNIT=SYSDA,SPACE=(CYL,(5,5))
                  //SYSIN DD *
                   %INCLUDE SOURCLIB(ONLYINTV);
   Thanks to Tony Hirst, Wells Fargo, USA.

Change 22.325  Variable SHORTCPS=PCTMVSBY/PCTCPUBY is created in TYPE70
VMAC7072       and TYPE70PR datasets, based on Kathy Walsh's Paper that
Dec 23, 2004   was presented at SHARE in August, 2004, available at
Jan 10, 2004   http://www-03.ibm.com/support/techdocs document PRS1077,
               "Performance Impacts of Running CICS in a Shared LPAR".
               The term 'Short CPs' was created by IBM WSC Performance
               Staff, and is a performance effect created by the LPAR
               hipervisor enforcing LPAR weights on busy processors or
               capped LPARs, that can reduce the MIPS delivered by the
               logical CPs to the partition.  She suggested that when
               the SHORTCPS ratio exceeded 2, it could be a sign of
               trouble.  But Don Deese pointed out that another way of
               looking at the phenomenon is as a measure of the queueing
               delay when the LPAR is waiting for a CP engine to be
               assigned, and that a ratio of 2:1 means that for 50% of
               the elapsed time, the LPAR was waiting for a CP engine.
               He suggests that even a lower ratio may be the threshold
               of pain; a ratio of 1.5:1 means the LPAR was 33% waiting.
               Don is working on an extensive discussion of this topic
               in the next release of his CPExpert product, and I have
               created variable PLCPRDYQ=100*(PCTMVS-PCTCPUBY)/PCTMVSBY;
               so that you can use either the ratio or the percent of
               time when there was a delay in your analysis to see if
               this construct is useful in measuring your LPARs.
   Thanks to Don Deese, Computer Management Sciences, USA.
   Thanks to Dr. Robert Cross, JP Morgan, USA.

Change 22.324  Cosmetic.  Missing value messages eliminated by testing
VMACTNG        three NT006 fields before they are multiplied by 1024 or
Dec 23, 2004   1024*1024.

Change 22.323  Line 3624 should have named TOTSHARE TOTSHARC in KEEP=
VMXG70PR       list for &OUT70LP dataset, instead of SYSSHARE CURSHARE,
Dec 23, 2004   to keep those variables in the PDB.TYPE70LP dataset.
   Thanks to MaryBeth Delphia, Texas Comptroller of Public Accounts, USA

Change 22.322  Hasty creation of JCL examples for MXG under SAS V9.1.3
MXGSASV9       did not have sufficient testing; W-OH should have been
JCLTEST9       W-zero, WORKVOL was not referenced in JCLTEST9, WORK
JCLPDB9        sizes are all now 500,500, the WORK=200 in JCLPDB9 was
Dec 23, 2004   removed (with only a primary allocation, you cannot use
               multiple volumes), and comments with "V8" were revised to
               "V9".  The instream JCL PROC in the JCLTEST9 example now
               matches the symbolics in MXGSASV9.
               Feb 23, 2005: This change originally changed the INSTREAM
               LRECL to 72, but Change 23.012 corrected that back to 80.
   Thanks to Bruce Green, MIB, Inc., USA.
   Thanks to Michael Gebbia, Eddie Bauer, USA.

Change 22.321  Type 6 PrintWay records apparently come in two flavors,
VMAC6          and Change 22.302 did not protect both; in some records
Dec 21, 2004   the SMF6PQNM is always 24 bytes, and SMF6PQLN is the
               number of non-blank bytes, and in other records, SMF6PQNM
               is only the length of SMF6PQLN. (And, to make it more
               fun, in VPS-FAX records, SMF6PQLN is always zero, but
               PQNM is 24 bytes!).  Additional test for blanks when
               SMF6PQLN is less than 24 bytes now protects INPUT
               STATEMENT EXCEEDED error that occurred even with Change
               22.302/MXG 22.12 installed.  And, variable SMF6PQLN is
               now output in TYPE6 dataset.
   Thanks to Robert Vance, Zurich Insurance Co., USA
   Thanks to Reiner Luken, Zurich Insurance Co., USA

Change 22.320  This long-overdue enhancement for PDB.SMFINTRV combines
BUILD005       the MULTIDD='Y' observations from TYPE30_V into a single
BUIL3005       observation in PDB.SMFINTRV, with the correct totals for
Dec 15, 2004   EXCPxxxx, IOTMxxxx, and TAPEDRVS variables for each SMF
               interval.  There will be fewer observations created in
               PDB.SMFINTRV, and variables EXCPNODD, IOTMNODD, and
               TAPEDRVS are now correct for each interval.  Variable
               EXTRADD is set to zero, since those extra DDs have been
               consolidated in the single observation per interval.
               Note: Long ago, the MULTIDD='Y' observations were summed
               into the PDB.STEPS dataset in the BUILDPDB logic.  It
               was only PDB.SMFINTRV that still contained MULTIDD='Y'
               observations:
                  MULTIDD='Y' - steps with more DDs than can fit in one
                  SMF 30 record write multiple type 30 records; those
                  additional records contain only IOTMxxxx,EXCPxxxx and
                  TAPEDRVS values, and are flagged with MULTIDD='Y'.
               See Change 23.015 if ERROR: PDB.SMFINTRV NOT SORTED is
               encountered in your WEEKLY or MONTHLY PDB jobs.
   Thanks to Mary Kay Pettengill, (i)Structure, USA.

Change 22.319  The R747AVFR/R747AVFT average frame size received/sent
VMAC74         in dataset TYPE747P needed to be multiplied by four; the
Dec 15, 2004   source fields are in words, and have 4 bytes per word.
   Thanks to Pat Jones, DST, Inc., USA.

Change 22.318  The JCLINSTL example used the SAS V8 JCL procedure; new
JCLINST9       JCLINST9 had the minor changes to execute under SAS V9.
Dec 15, 2004   The correc