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

CHANGE 21.21

 
=========================member=CHANGE21================================
 /* COPYRIGHT (C) 1984-2004 MERRILL CONSULTANTS DALLAS TEXAS USA */

Final    MXG Version 21.21  is dated Feb 11, 2004, thru Change 21.320
Annual   MXG Version 21.21 was dated Feb  6, 2004, thru Change 21.319
Last     MXG Version 21.08 was dated Jan 28, 2004, thru Change 21.292
First    MXG Version 21.08 was dated Jan 25, 2004, thru Change 21.289
Final    MXG Version 21.07 was dated Dec  2, 2003, thru Change 21.247
First    MXG Version 21.07 was dated Nov 30, 2003, thru Change 21.245
Final    MXG Version 21.06 was dated Nov 12, 2003, thru Change 21.230
Second   MXG Version 21.06 was dated Nov 10, 2003, thru Change 21.228
First    MXG Version 21.06 was dated Nov  7, 2003, thru Change 21.226
         MXG Version 21.05 was dated Sep 22, 2003, thru Change 21.183
First    MXG Version 21.05 was dated Sep 18, 2003, thru Change 21.181
         MXG Version 21.04 was dated Aug 25, 2003, thru Change 21.159
         MXG Version 21.03 was dated Jul 28, 2003, thru Change 21.133
         MXG Version 21.02 was dated Jun  9, 2003, thru Change 21.101.
Second   MXG Version 21.02 was dated Jun  5, 2003, thru Change 21.094.
First    MXG Version 21.02 was dated Jun  3, 2003, thru Change 21.091.
         MXG Version 21.01 was dated Mar 24, 2003, thru Change 21.051.
Annual   MXG Version 20.20 was dated Feb  7, 2003, thru Change 20.341.
         MXG Newsletter FORTY-TWO was dated Feb 8, 2003.

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 21.21 was shipped to all sites by Feb 13.
II.   Incompatibilities and Installation of MXG 21.21.
III.  Online Documentation of MXG Software.
IV.   Changes Log

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

I.  MXG Software Version 21.21, the Annual Version, was sent by Feb 13.

  MXG 21.21 supports every new version of every new product that you are
  likely to install this year, especially for MVS systems, including new
  z/OS 1.5, CICS/TS 2.3, DB2 V8.1, and IMS V8.1 products, and new data
  added by PTFs, and data for those releases from the monitor vendors
  IBM, ASG, BMC, Candle, CA, etc.  And for ASCII system there are new
  objects in existing products (NTSMF, TNG) and more support for "sar"
  and AIX Performance Tool for unix systems. Details provided below.

  MXG 21.21 has been tested under SAS Version 9.1 and runs fine; use the
  CONFIGV9 member and MXGSASV90 JCL Procedure member for z/OS execution;
  for ASCII, use the current AUTOEXEC file.  See Change 21.290.

  And replacing your existing version of MXG is easy; as there are no
  structural changes, you shouldn't have to change any of your current
  MXG "Tailoring"; you build the Source Library, create/update the MXG
  Format Library, change the DSNAME/DIRECTORY name to use MXG2121, and
  run your acceptance test.  That's all that should be required.

    Major enhancements added in MXG 21.21

  all      21.310  Support for z/OS 1.5.
  AUTOEXEC 21.290  Option defaults changed for SAS V 9.1 for ASCII.
  CONFIGV9 21.290  Option defaults changed for SAS V 9.1 for EBCDIC.
  ASMTAPEE 21.304  New MXG Tape "Event" Mount/Allocate/Recvr Monitor.
  TYPE120  21.294  Support for JVM Heap sizes in SMF 120 st 1 and 3.
  TYPEBE97 21.312  Support for Beta97 User SMF record.
  TYPEOMVT 21.311  Support for Omegamon/VTAM subtypes 29 and 30.
  UNIXSAR1 21.309  Support for "sar", "acctcom", "ps" for AIX/SUN unix.
  UNIXTOP  21.314  Support for "top" unix report.
  DAILYDSR 21.293  Support for DFSMS/rmm+DCOLLECT in JCLDAYDS example.
  EMAIL    21.308  Example to email a PROC PRINT to a list of users.
  SYSLOG   21.307  Example program to read SYSLOG for job events.

    Major enhancements added in MXG 21.08

  SAS V9.1 21.289  Note 49-169 blanks inserted to eliminate note
  TYPEDB2  21.281  Support for DB2 Version 8.1, COMPATIBLE back to 20.20
  TYPE42   21.288  Support for Type 42 Subtype 10 TYPE42VS Vol Sel Fail
  TYPENDM  21.286  Support more NDM/Connect Direct subtypes, 26 new dset
  TYPENTSM 21.285  Support for Web Service Cache, WSRM objects.
  PROCCOPY 21.279  Use MT=DATA with PROC COPY + SELECT for performance.
  TYPETPMX 21.271  Major enhancement/validation of ThruPut Manger SMF
  TYPETNG  21.269  Major enhancement/validation of new TNG objects.
  TYPENETM 21.263  Support for UniCenter NetMaster Automate Services SMF
  TYPE115  21.262  WebSphere MQ Version 5.3 SM115REL added.
  TYPE116  21.262  WebSphere MQ Version 5.3 SM116REL added.
  TYPEDB2  21.259  Using VMXGTIME with DB2 caused GMTOFFDB/QWACBSC wrong
  BLDSMPDB 21.255  New BLDSMPDB builds SMF PDB Jobstream, weekly, etc.
  VMXGINIT 21.253  Global macro variables TRENDOLD/TRENDNEW/TRENDINP.
  RMFMON   21.252  Free Interactive RMF control block monitor.
  TYPESASU 21.251  Support for SAS SMFEXIT adds SAS Version/User/JOBID.
  ANALALL  21.250  ANALALL/ANALJOBN/VMXGPRAL job counting SMF records.

    Major enhancements added in MXG 21.07

  TYPEOMDB 21.243  Support for Candle Omegamon II for DB2 Historical.
  TYPEOPFT 21.233  Support for Fujitsu Siemens openFT ftp SMF record.
  TYPE110  21.240  Support for new S4RSP7CT in STID=124 CICS record.
  TYPEMWUX 21.241  Revised support for HP Measureware for HPUX.
  ASUMCICS 21.242  Protection for OPERATOR/TERMINAL variable not found.
  TYPE74   21.238  Dataset TYPE74DU (RMF DUPLEX CF) was trashed.
  ANALDB2R 21.239  Ability to read multiple PDBs in ANALDB2R restored.
  ASUMUOTT 21.237  New ASUMUOTT combines TMDBDB2 and MONITASK datasets.
  ASMRMFV  21.236  Wrong member replaced; this has change 21.186 code.
  UTILBLDP 21.231  USERADD=80/90 create TYPE80A or TYPE90A execution.

    Major enhancements added in MXG 21.06

  ASUMUOW  21.220  FLASH: MXG 21.06 required to have all errors fixed.
  TYPETSMF 21.210  Support for IBM Tivoli Storage Manager Acct Records.
  TYPE102  21.175  Support for IFCIDs 217 and 254.
  TYPETNG  21.160  Support for TNG Version 7 (INCOMPAT, Header changed).
  TYPE99   21.217  Support for SMF 99 subtype 7 PAV Device record.
  TYPE80A  21.215  Support for EKC's ETF/R FIRECALL SMF 80 data.
  TYPEORAC 21.213  Support for Oracle V9.x, no changes.
  TYPE110  21.212  Support for CMODNAME='MQSeries' CICSTRAN segment.
  TYPE110  21.152  Support for CICS/TS 2.3 (INCOMPATIBLE)in MXG 21.05+.
  TYPE80A  21.211  Support for RACF segment RACFDBP=44, new variables.
  TYPECIMS 21.205  Support for Shared Message Queue Group in SMQGROUP.
  TYPEEXCH 21.195  Support for Microsoft Exchange Server 5.5 Log file.
  TYPE119  21.190  Support for APAR PQ77633, corrects FTPREPLY.
  none     21.184  Support for 3592 Tape Drives, they look like 3590s.
  TYPESYNC 21.192  Up to 255 SORTWORKs supported in z/OS 1.1 SMF record.
  RMFINTRV 21.225  RMF WORKLOAD name can be used to define workloads.
  TYPE70   21.170  NRCPUs in TYPE70 redefined to Average Online for IRD.
  RMFINTRV 21.170  NRCPUs in TYPE70 redefined to Average Online for IRD.
  TYPEDB2  21.200  Negative values for DB2TCBTM if QWACEJST small.
  TYPE110  21.198  Missing value for STRTTIME in CICSTRAN possible.
  VMXGSUM  21.185  New INTERVAL=SECOND now supported.
  CONFIGV8 21.168  SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
  RMFINTRV 21.216  z990 CPUTYPE 2084 NOT IN TABLE with OS/390 R2.10.
  TYPE6    21.210  Support for several ESS segments '34x,35x,37x,47x'.
  TYPEDB2  21.208  QWACBSC/QWACESC missing in DB2ACCTP, some packages
  ASUMCACH 21.197  Enhanced to keep I/O by LPAR in PDB.ASUMCACH.
  TYPE110  21.189  New 110 St=1 MNSEGCL=5 caused INVALID DO LOOP CONTROL

    Major enhancements added in MXG 21.05

  TYPE70   21.170  NRCPUs in TYPE70 redefined to Average Online for IRD.
  RMFINTRV 21.170  NRCPUs in TYPE70 redefined to Average Online for IRD.
  TYPE110  21.176  New TSQUEUE SMF 110 CL 5 INPUT STATEMENT EXCEEDED.
  TYPE110  21.165  STID=126 UNEXPECTED data corrected.
  TYPE102  21.175  Support for IFCIDs 217 and 254.
  TYPE116  21.173  Subtype 0 SMF 116 INVALID PRODUCT SECTION message.
  TYPE119  21.162  IFDURTM was incorrectly divided by 496 vice 4096.
  TYPETNG  21.160  Support for TNG Version 7 (INCOMPAT, Header changed).
  TYPEWWW  21.166  IIS Web Log with missing fields now supported
  CONFIGV8 21.168  SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
  MONTHBLD 21.163  Enhancement for un-sorted input, or NOT SORTED ERROR.

    Major enhancements added in MXG 21.04

  TYPE7072 21.149  Support for z990 - INCOMPATIBLE - REQUIRED.
    While the support for z990s was in MXG 21.04, it was not
    realized that MXG 21.04 is REQUIRED for z990s until 16Sep.
  ASUM70PR 21.149  Major LPAR Measurement Enhancement: PDB.ASUM70LP.
  ASMTAPES 21.137  ASMTAPES new Allocation Recovery event record.
  UTILBLDP 21.148  Enhancement to the "Build your own PDB" utility.
  TYPEEDGR 21.158  Support for z/OS 1.4 DFSMS/rmm EDGRXEXT (INCOMPAT)
  TYPECTLL 21.156  Support for Control-D Log file.
  TYPENSPY 21.155  Doc: support for NetSpy V6 or V7 in MXG 20.10+.
  TYPECIMS 21.153  Support for BMC MVIMS IMF 3.3.0 (COMPAT)
  TYPE120  21.150  Support for CPU Time in WASserver APAR PQ74463.
  ASUMUOW  21.147  Near-constant value STRTTIME error in PDB.CICS.
  TYPENTSM 21.146  Support for Windows 2003 Server MEMORY object.
  TYPEHMF  21.143  Support for HMF Subtype 29,30,32,33 changes.
  TYPETCP  21.142  TYPETCPS contained accumulated, not interval data.
  FORMATS  21.141  $MG070CP updated for MSU for CPUTYPE 084 table.
  TYPEDB2  21.140  PDB.DB2STATS QBGLxxxx wrong, negative B3HITRAT.
  TYPE7072 21.138  R723Rxxx vars now kept in TYPE72DL vice TYPE72SC.
  TYPENTSM 21.136  SMPTSERV for Windows 2000 had accumulated values.
  ANALSTK  21.135  Report using STK SMF + MXGTMNT to track Virtual tape.
  ANALDB2R 21.157  Accounting Summary Class 2 were totals, not avgs.

    Major enhancements added in MXG 21.03

  TYPE7072 21.130  Support for APAR OW56656 for RMF for z990 (COMPAT).
  TYPE102  21.121  Support for IFCID 251, 257, corrections for 21.
  TYPE103  21.115  Support for APAR PQ71799 HTTP Server SMF 103 data.
  TYPE120  21.107  Support for WebSphere APAR PQ74463 - adds CPU time.
  TYPETMMQ 21.129  Support for ASG-Landmark TMON for MQ Series.
  TYPENDM  21.133  Support for NDM Release 4.3 (INCOMPATIBLE).
  TYPEENTX 21.124  Support for EntireX user SMF accounting record.
  TYPEICE  21.102  Support for STK IXFP SMF L2P00A2/LZP00A9 (COMPAT)
  TYPEQACS 21.118  Support for TCP and TCPIEF objects for AS/400.
  TYPEMVCI 21.117  Support for Mainview for CICS 5.6 CMRDETL (INCOMPAT).
  TYPEAIX  21.116  Major revision to AIX PTX Support - new datasets.
  VMXGRMFI 21.125  Different SRVCLASS definitions can map to same WORK.

  Incompatible revision:
      If you used ASUMCICS to read ASG-TMON/CICS MONITASK to create
      PDB.CICS, you must now instead use ASUMCICT.  But MXG recommends
      you no longer use either ASUMCICS nor ASUMCICT, but instead you
      should use ASUMUOW/ASUMUOWT to create PDB.ASUMUOW, and then create
      PDB.CICS using ASUMCICX to properly measure CICS.  See the
      discussion in Change 21.105 text.
  ASUMCICS 21.105  Reads only CICSTRAN, creates PDB.CICS, don't use.
  ASUMCICT 21.105  Reads only MONITASK, creates PDB.CICS, don't use.
  ASUMCICX 21.105  Reads PDB.ASUMUOW; use instead of ASUMCICS/ASUMCICT.
  ASUMUOW  21.105  Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW, use!
  ASUMUOWT 21.105  Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW, use!

    Major enhancements added in MXG 21.02

  TYPE7072 21.065  Support for more than 16 CPUs or LPARs.
  TYPE74   21.058  Support for APAR OW54347 CMR Command Response time
  TYPETMS5 21.097  Support for PDC # QI30130 new variables.
  TYPEIMS7 21.064  Support for IMS Version 8.1, some changes.
  ASMIMSL6 21.064  Support for IMS Version 8.1; just reassemble L6.
  IMAC6ESS 21.082  Support for additional GPARMKY values in SMF 6 ESS.
  IMAC6ESS 21.096  Support for GEPARMKY=001B.
  TYPE30   21.086  Support for IDMS/R PerfMon type 30 subtype 3 per tran
  TYPENTSM 21.063  Support for NTSMF 2.4.5 (INCOMPATIBLE).
  TYPENTSM 21.053  Support for NTSMF BlackBerry Server object.
  TYPETNG  21.095  Support for six new TNG objects, new fields.
  EXUTILEX 21.069  Exit for UTILEXCL for non-standard "User" field.
  VMXGRMFI 21.067  Examples to invoke RMFINTRV twice, general cleanup.
  ASUMUOW  21.062  Revised SPINUOW logic, forward sequence of times.
  ASUMUOW  21.093  Blank SYSTEM in PDB.ASUMUOW for CICS-only fixes.
  TYPE102  21.061  Support for dataset T102S196 (locks) validated.
  TYPE74   21.059  TYPE74ST negative values corrected, QSIZ retained.
  FORMATS  21.057  RACF MG080QU,TY formats updated for z/OS 1.2-1.4.
  BUILDPDB 21.056  Exit EXPDBSPJ created for local variables for spin.
  UTILEXCL 21.054  Variables KY8DISTM/KY8CPUTM corrected.
  MICSMXG  21.089  New member documenting MICS replacement by MXG.

    Major enhancements added in MXG 21.01

  ASMRMFV  21.002  Improved processing of RMF III data.
  CLRMFIII 21.002  CLIST for batch execution to read all RMF III data.
  DOCLRMFV 21.002  Documentation of CLRMFIII CLIST.
  GRAFTRND 21.040  New plots of Peak to Average Utilization ratio.
  MXGSASV8 21.009  Symbolic parm WORKVOL= added, default 5 volumes
  SAS V9   21.028  Early V8-V9 comparisons flawed, V9 is better.
  TYPE108  21.018  Support for Domino Server Relase 6.0.0 new data.
  TYPECTLT 21.026  Support for Control-T Release 6.0/6.1(INCOMPATIBLE).
  TYPEQACS 21.033  AS/400 5.2 file's LRECLs have been validated.
  TYPETNG  21.024  Support for TNG "Enterprise Cubes", Processes, plus.
  TYPEXAM  21.023  Support for TCP/Linux/etc, plust lots of cleanup.

  See member NEWSLTRS or the Newsletters frame at www.mxg.com for
  current MXG Technical Notes that used to be in CHANGES.

  MXG New Version QA tests are executed on OS/390 & z/OS with SAS V8.2,
  V9.0 and (archaic) V6.09, and on Windows 2000 & XP with V8.2 and V9.1
  on Intel platforms.  Additional tests have been run with SAS V8.2 on
  Linux RH 7.2 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 under SAS V8.2 or later on every possible SAS platform!
  Each new version is also tested with SAS/ITSV by ITSV development.


  All of these enhancements are described in the Change Log, below.

    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 OW41317       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, IRD enhancements    Apr 26, 2002        20.01
      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
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04
      z/OS    1.5                      Mar 31, 2004        21.21
      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        21.04
      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
      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                      Jul 23, 2003        21.03

    Note: An asterisk before the version number indicates that this
          entry was changed to a later version of MXG being required,
          after it was found that the previous version did not support
          the listed product level, usually the result of an APAR to
          the product that modified the products 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

      SAS Institute
       MXG executes best under SAS Version 8.2, with 82BA77 HOTFIX for
         MVS-OS/390-z/OS which includes Critical fixes; see NEWSLTRS.
         It has executed succesfully under SAS Version 9 Beta on both
         MVS and Windows platforms.
       See Newsletters for expanded discussion of other versions.
       Read member NEWSLTRS (search 'V8') for SAS Version 8 notes.

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


II.   Incompatibilities and Installation of MXG 21.03.


 1. Incompatibilities introduced in MXG 21.06 (since MXG 20.20):

  a- Changes in MXG architecture made between 21.06 and 20.20 that might
     introduce incompatibilities.

      ASUMCICS: If you used ASUMCICS to read ASG-LANDMARK MONITASK CICS
                data to create PDB.CICS, you must now use ASUMCICT.
                See Change 21.105.


 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.

    OBSERVATION COUNT CHANGE: xxxxxxxx more/fewer observations.
      This new note will be the last line of new Changes that alter the
      number of observations MXG creates in dataset xxxxxxxx.

III.  Online Documentation of MXG Software.

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


IV.   Changes Log

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

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

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

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

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

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

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



Alphabetical list of important changes after MXG 20.20 now in MXG 21.06:

  Dataset/
  Member   Change    Description

  many     21.131  &OPSYS now consistently used in place of &SYSSCP.
  many     21.289  Note 49-169 in SAS V9.1 is harmless.
  none     21.310  Support for z/OS 1.5.
  none     21.184  Support for 3592 Tape Drives, they look like 3590s.
  ANALALL  21.250  ANALALL/ANALJOBN/VMXGPRAL job counting SMF records.
  ANALDB2R 21.015  Using %ANALDB2R(PDB=SMF) caused syntax errors.
  ANALDB2R 21.157  Accounting Summary Class 2 were totals, not avgs.
  ANALDB2R 21.239  Ability to read multiple PDBs in ANALDB2R restored.
  ANALSTK  21.135  Report using STK SMF + MXGTMNT to track Virtual tape.
  ASMIMSL6 21.064  Support for IMS Version 8.1; just reassemble L6.
  ASMRMFV  21.002  Improved processing of RMF III data.
  ASMRMFV  21.236  Wrong member replaced; this has change 21.186 code.
  ASMTAPEE 21.304  New MXG Tape "Event" Mount/Allocate/Recvr Monitor.
  ASMTAPES 21.004  Using //EXCLUDE DD with highest DEVNR cause 0C4.
  ASMTAPES 21.137  ASMTAPES new Allocation Recovery event record.
  ASUM70PR 21.149  Major LPAR Measurement Enhancement: PDB.ASUM70LP.
  ASUMCACH 21.197  Enhanced to keep I/O by LPAR in PDB.ASUMCACH.
  ASUMCICS 21.105  Reads only CICSTRAN, creates PDB.CICS, don't use.
  ASUMCICS 21.242  Protection for OPERATOR/TERMINAL variable not found.
  ASUMCICT 21.105  Reads only MONITASK, creates PDB.CICS, don't use.
  ASUMCICX 21.105  Reads PDB.ASUMUOW; use instead of ASUMCICS/ASUMCICT.
  ASUMUOTT 21.237  New ASUMUOTT combines TMDBDB2 and MONITASK datasets.
  ASUMUOW  21.062  Revised SPINUOW logic, forward sequence of times.
  ASUMUOW  21.105  Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW, use!
  ASUMUOW  21.147  Near-constant value for STRTTIME in PDB.CICS.
  ASUMUOW  21.194  Variables added to PDB.ASUMUOW
  ASUMUOW  21.220  FLASH: MXG 21.06 required to have all errors fixed.
  ASUMUOWT 21.035  ASUMUOWT failed with BY VARIABLES NOT SORTED.
  ASUMUOWT 21.105  Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW, use!
  AUTOEXEC 21.290  Option defaults changed for SAS V 9.1 for ASCII.
  BLDNTPDB 21.103  Relocated copying of WEEKn.
  BLDSMPDB 21.255  New BLDSMPDB builds SMF PDB Jobstream, weekly, etc.
  BUILDPDB 21.056  Exit EXPDBSPJ created for local variables for spin.
  CLRMFIII 21.002  CLIST for batch execution to read all RMF III data.
  CONFIGV8 21.168  SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
  CONFIGV9 21.290  Option defaults changed for SAS V 9.1 for EBCDIC.
  DAILYDSR 21.293  Support for DFSMS/rmm+DCOLLECT in JCLDAYDS example.
  DOCLRMFV 21.002  Documentation of CLRMFIII CLIST.
  DOCMXG   21.132  ERROR: NO DATA SET OPEN TO LOOK UP VARIABLES cause
  EMAIL    21.308  Example to email a PROC PRINT to a list of users.
  EXUTILEX 21.069  Exit for UTILEXCL for non-standard "User" field.
  FORMATS  21.057  RACF MG080QU,TY formats updated for z/OS 1.2-1.4.
  FORMATS  21.141  $MG070CP updated for MSU for CPUTYPE 2084 table.
  GRAFTRND 21.040  New plots of Peak to Average Utilization ratio.
  IMAC6ESS 21.014  Multiple 6-ESS "0031" USERDATA segments supported.
  IMAC6ESS 21.082  Support for additional GPARMKY values in SMF 6 ESS.
  IMAC6ESS 21.096  Support for GEPARMKY=001B.
  MONTHBLD 21.163  Enhancement for un-sorted input, or NOT SORTED ERROR.
  MXGSASV8 21.009  Symbolic parm WORKVOL= added, default 5 volumes
  PROCCOPY 21.279  Use MT=DATA with PROC COPY + SELECT for performance.
  RMFINTRV 21.170  NRCPUs in TYPE70 redefined to Average Online for IRD.
  RMFINTRV 21.216  z990 CPUTYPE 2084 NOT IN TABLE with OS/390 R2.10.
  RMFINTRV 21.225  RMF WORKLOAD name can be used to define workloads.
  RMFMON   21.252  Free Interactive RMF control block monitor.
  SAS V9   21.028  Early V8-V9 comparisons flawed, V9 is better.
  SAS V9.1 21.289  Note 49-169 blanks inserted to eliminate note
  SYSLOG   21.307  Example program to read SYSLOG for job events.
  TYPE102  21.061  Support for dataset T102S196 (locks) validated.
  TYPE102  21.121  Support for IFCID 251, 257, corrections for 21.
  TYPE102  21.175  Support for IFCIDs 217 and 254.
  TYPE103  21.115  Support for APAR PQ71799 HTTP Server SMF 103 data.
  TYPE108  21.018  Support for Domino Server Relase 6.0.0 new data.
  TYPE110  21.100  CICSTRAN RTYPE='S' or 'F' decoded.
  TYPE110  21.101  CPURLSTM wrong with CICS/TS 1.1 or later
  TYPE110  21.165  STID=126 UNEXPECTED data corrected.
  TYPE110  21.176  New TSQUEUE SMF 110 CL 5 INPUT STATEMENT EXCEEDED.
  TYPE110  21.189  New 110 St=1 MNSEGCL=5 caused INVALID DO LOOP CONTROL
  TYPE110  21.198  Missing value for STRTTIME in CICSTRAN possible.
  TYPE110  21.212  Support for CMODNAME='MQSeries' CICSTRAN segment.
  TYPE110  21.240  Support for new S4RSP7CT in STID=124 CICS record.
  TYPE115  21.183  SMF 115 ST 2 INPUT STATEMENT EXCEEDED corrected.
  TYPE115  21.262  WebSphere MQ Version 5.3 SM115REL added.
  TYPE116  21.173  Subtype 0 SMF 116 INVALID PRODUCT SECTION message.
  TYPE116  21.262  WebSphere MQ Version 5.3 SM116REL added.
  TYPE119  21.162  IFDURTM was incorrectly divided by 496 vice 4096.
  TYPE119  21.190  Support for APAR PQ77633, corrects FTPREPLY.
  TYPE120  21.107  Support for WebSphere APAR PQ74463 - adds CPU time.
  TYPE120  21.150  Support for CPU Time in WASserver APAR PQW74463.
  TYPE120  21.294  Support for JVM Heap sizes in SMF 120 st 1 and 3.
  TYPE30   21.086  Support for IDMS/R PerfMon type 30 subtype 3 per tran
  TYPE42   21.010  SMF 42 offsets subtype 20,21 wrong in IBM doc, fixed.
  TYPE42   21.288  Support for Type 42 Subtype 10 TYPE42VS Vol Sel Fail
  TYPE6    21.210  Support for ESS segments '34x,35x,37x,47x'.
  TYPE6    21.226  Support for GEPARMKY=000B in ESS, variable ESSDEFAU.
  TYPE6156 21.123  Non-duplicate (Data/Index) TYPE6156 were NODUPed.
  TYPE70   21.170  NRCPUs in TYPE70 redefined to Average Online for IRD.
  TYPE7072 21.065  Support for more than 16 CPUs or LPARs.
  TYPE7072 21.130  Support for APAR OW56656 for RMF for z990 (COMPAT).
  TYPE7072 21.138  R723Rxxx vars now kept in TYPE72DL vice TYPE72SC.
  TYPE7072 21.275  SMF70CIN/LPARCPUS wrong if VSAM SMF read
  TYPE7072 21.287  NRCPUS=ROUND(NRCPUS,.001); for 2.00000040 value.
  TYPE70PR 21.108  LPnNSW - Percent When Soft Capped variables added.
  TYPE71   21.218  TYPE71 variables had AVAILABLE...USED, USED removed.
  TYPE73   21.007  PCHANBY missing for 'CFS/CFP/CBP/CBS/IFP' TYPE73.
  TYPE73   21.098  Some TYPE7204 "SUM OF" variables weren't.
  TYPE74   21.058  Support for APAR OW54347 CMR Command Response time
  TYPE74   21.059  TYPE74ST negative values corrected, QSIZ retained.
  TYPE74   21.238  Dataset TYPE74DU (RMF DUPLEX CF) was trashed.
  TYPE79   21.003  Variable R791FMCT needed to be multiplied by 4096.
  TYPE80A  21.201  Protection for SMF80DTP=53 (RUKTN) with wrong len.
  TYPE80A  21.211  Support for RACF segment RACFDBP=44, new variables.
  TYPE80A  21.215  Support for EKC's ETF/R FIRECALL SMF 80 data.
  TYPE85   21.104  OAM SMF 85 from R85PRVM 1.3.0 caused STOPOVER.
  TYPE90   21.196  INVALID DATA FOR VERSN90 has no impact.
  TYPE94   21.191  Variable SMF94VCZ recalculated when it is zero.
  TYPE99   21.217  Support for SMF 99 subtype 7 PAV Device record.
  TYPEAIX  21.116  Major revision to AIX PTX Support - new datasets.
  TYPEBE97 21.312  Support for Beta97 User SMF record.
  TYPECIMS 21.153  Support for BMC MVIMS IMF 3.3.0 (COMPAT)
  TYPECIMS 21.205  Support for Shared Message Queue Group in SMQGROUP.
  TYPECTLL 21.156  Support for Control-D Log file.
  TYPECTLT 21.026  Support for Control-T Release 6 (INCOMPATIBLE).
  TYPEDB2  21.006  Negative values in DB2STATB after stop/start DB2.
  TYPEDB2  21.140  PDB.DB2STATS QBGLxxxx wrong, negative B3HITRAT.
  TYPEDB2  21.187  PDB.DB2GBPST occasionally had invalid (large) values.
  TYPEDB2  21.200  Negative values for DB2TCBTM if QWACEJST small.
  TYPEDB2  21.208  QWACBSC/QWACESC missing in DB2ACCTP, some packages
  TYPEDB2  21.259  Using VMXGTIME with DB2 caused GMTOFFDB/QWACBSC wrong
  TYPEDB2  21.281  Support for DB2 Version 8.1, COMPATIBLE back to 20.20
  TYPEEDGR 21.158  Support for z/OS 1.4 DFSMS/rmm EDGRXEXT (INCOMPAT)
  TYPEEDGS 21.122  MACRO _LNEDGS resolves STOPOVER with rmm data.
  TYPEENTX 21.124  Support for EntireX user SMF accounting record.
  TYPEEXCH 21.195  Support for Microsoft Exchange Server 5.5 Log file.
  TYPEHMF  21.143  Support for HMF Subtype 29,30,32,33 changes.
  TYPEICE  21.102  Support for STK IXFP SMF L2P00A2/LZP00A9 (COMPAT)
  TYPEIMS7 21.064  Support for IMS Version 8.1, some changes.
  TYPEMVCI 21.117  Support for Mainview for CICS 5.6 CMRDETL (INCOMPAT).
  TYPEMWUX 21.241  Revised support for HP Measureware for HPUX.
  TYPENDM  21.133  Support for NDM Release 4.3 (INCOMPATIBLE).
  TYPENDM  21.286  Support more NDM/Connect Direct subtypes, 26 new dset
  TYPENETM 21.263  Support for UniCenter NetMaster Automate Services SMF
  TYPENSPY 21.155  NetSpy Version 6 and 7 already supported since 20.10.
  TYPENTSM 21.053  Support for NTSMF BlackBerry Server object.
  TYPENTSM 21.063  Support for NTSMF 2.4.5 (INCOMPATIBLE).
  TYPENTSM 21.136  SMPTSERV for Windows 2000 had accumulated values.
  TYPENTSM 21.146  Support for Windows 2003 Server MEMORY object.
  TYPENTSM 21.193  Variable BYTEAVAI can be zero.
  TYPENTSM 21.285  Support for Web Service Cache, WSRM objects.
  TYPEOMDB 21.243  Support for Candle Omegamon II for DB2 Historical.
  TYPEOMVT 21.311  Support for Omegamon/VTAM subtypes 29 and 30.
  TYPEOPC  21.202  INPUT STATEMENT EXCEEDED.
  TYPEOPFT 21.233  Support for Fujitsu Siemens openFT ftp SMF record.
  TYPEORAC 21.019  Oracle ASID, ELAPSTM corrected.
  TYPEORAC 21.213  Support for Oracle V9.x, no changes.
  TYPEQACS 21.013  INVALID DATA for QAPMDISK file corrected.
  TYPEQACS 21.033  AS/400 5.2 file's LRECLs have been validated.
  TYPEQACS 21.118  Support for TCP and TCPIEF objects for AS/400.
  TYPEQACS 21.224  New QAPMCONF GDESIL/IT/PU were missing values.
  TYPESARR 21.223  INPUT STATEMENT EXCEED for CA-VIEW SMF record.
  TYPESASU 21.251  Support for SAS SMFEXIT adds SAS Version/User/JOBID.
  TYPESYNC 21.192  Up to 255 SORTWORKs supported in z/OS 1.1 SMF record.
  TYPETCP  21.142  TYPETCPS contained accumulated, not interval data.
  TYPETMMQ 21.129  Support for ASG-Landmark TMON for MQ Series.
  TYPETMO2 21.134  MONITASK UOW variables were incorrect.
  TYPETMS5 21.097  Support for PDC # QI30130 new variables.
  TYPETNG  21.024  Support for TNG "Enterprise Cubes", processes, plus.
  TYPETNG  21.095  Support for six new TNG objects, new fields.
  TYPETNG  21.160  Support for TNG Version 7 (INCOMPAT, Header changed).
  TYPETNG  21.269  Major enhancement/validation of new TNG objects.
  TYPETPMX 21.209  New fields supported.
  TYPETPMX 21.271  Major enhancement/validation of ThruPut Manger SMF
  TYPETSMF 21.210  Support for IBM Tivoli Storage Manager Acct Records.
  TYPEWWW  21.166  IIS Web Log with missing fields now supported
  TYPEWWW  21.221  Web Log INVALID ARGUMENT with negative GMT offset.
  TYPEXAM  21.023  Support for TCP/Linux/etc, plus lots of cleanup.
  UNIXSAR1 21.309  Support for "sar", "acctcom", "ps" for AIX/SUN unix.
  UNIXTOP  21.314  Support for "top" unix report.
  UTILBLDP 21.148  Enhancement to the "Build your own PDB" utility.
  UTILBLDP 21.231  USERADD=80/90 create TYPE80A or TYPE90A execution.
  UTILEXCL 21.054  Variables KY8DISTM/KY8CPUTM corrected.
  VMACSMF  21.127  Variable INFILENM contains input DSNAME or dir/file.
  VMXGINIT 21.253  Global macro variables TRENDOLD/TRENDNEW/TRENDINP.
  VMXGRMFI 21.067  Examples to invoke RMFINTRV twice, general cleanup.
  VMXGRMFI 21.094  Corrections to MSU4HRAV calculation.
  VMXGRMFI 21.113  Parsing of more than 99 service class names.
  VMXGRMFI 21.125  Different SRVCLASS definitions can map to same WORK.
  VMXGRMFI 21.234  Test for '2084'x CPUTYPE, only needed S/390 R2.10.
  VMXGSUM  21.185  New INTERVAL=SECOND now supported.
  VMXGSUME 21.277  Enhanced alternative, tolerates non-present variables
  VMXGUOW  21.093  PDB.ASUMUOW corrected, blank SYSTEM plus others.
  WEEKBLDT 21.045  WEEKBLDT fails under SAS Version 6.

Inverse chronological list of all Changes:

NEXTCHANGE: Version 21.

====== Changes thru 21.320 were in MXG 21.21 dated Feb 10, 2004=========

Change 21.320  MXG 21.21 final QA corrections/incompatibilities:
CLRMFV        -SEQENGINE=V6SEQ changed to V8SEQ/V9SEQ in CONFIGV8/V9.
CONFIGV8       See MXG Tech Note 4.A in Newsletter FORTY-FOUR, 10Feb04.
CONFIGV9      -VMACDB2. Remove line 8259: PUT _N_= 'HAVE 239 ';
EXTMNSTS      -UTILEXCL. Add a second percent-sign to change line 218 to
IMACTMNT                   %%INCLUDE SOURCLIB(IMACZDAT);
UTILEXCL      -CLRMFV. Cosmetic. A "NOT" and EQUAL symbols slipped thru
VMAC90         and were changed to "NE"; NOTs don't translate well among
VMACDB2        platforms, and were removed back in Change 8.093
VMACTMNT      -Only if you received MXG on CD: Change line 57 in member
VMXGINIT       VMACTMNT, removing  "DEVNR", changing the line to be:
Feb 10, 2004           MACRO _BTYSTS SYSTEM SHIFT INTBTIME %
              -The CD-only VMACTMNT error was caused by my accidental
               copying of support for the new TYPESTAT statistics data
               from the subtype 6 ASMTAPEE ML-30 SMF record, after the
               ftp and tape files were built.  TYPESTAT was validated,
               but I didn't use TYPSTMNT to test its sort macro. Member
               EXTMNSTS was added and VMXGINIT updated for TYPESTAT and
               the sort has been tested in this final iteration.
              -Variables SMF9029N,SMF9029A,SMF9030I in archaic VMAC90
               were renamed A, N, and Y, only in case someone foolishly
               uses both VMAC90 and VMAC90A in same step.  Use VMAC90A.
   Thanks to George Canning, Abbey National Plc, ENGLAND.
   Thanks to Vernon Kelley, IBM, USA.

====== Changes thru 21.319 were in MXG 21.21 dated Feb  6, 2004=========

Change 21.319  Variables PARTNCPU and CPCMSU were added to the new
VMXG70PR       PDB.ASUM70LP dataset so the hardware attributes of
Feb  6, 2004   the number of engines and MSU capacity are kept.
Feb 10, 2004
   Thanks to Una Cho, CIGNA, USA.

Change 21.318  The label for DB2 variable QLACRBND should be
VMACDB2          SQL STATEMENTS*BOUND FOR*REMOTE ACCESS insteadd of
Feb  5, 2004   ... REMOVE ....
   Thanks to Marnel Groebner, State of Washington, USA

Change 21.317  IBM changed the contents of SMF64BMH; its new label is
VMAC64            SMF64BMH='REQUEST HITS*FROM RLS BMF*BUFFER POOL'
Feb  5, 2004   the number or requests obtained from the local shared
               buffer pool, and not the old VSAM LSR pool.
   Thanks to Thomas R. Coccia, Bank One, USA.
   Thanks to Hari Maramraju, Bank One, USA.
   Thanks to Raymond G. Seeley, IBM OS/390 Support, USA.

Change 21.316  Updates for SMF record from Serena Ultimizer fix an INPUT
VMACULTM       EXCEEDED error and revised INPUT logic have been tested
Feb  4, 2004   with Version R313, but the DSECT indicates no changes
               since R310.
   Thanks to Scott Barry, SBBWorks, Inc., USA

Change 21.315  PDB.TYPE70PR data with STARTIME 10:13:59 and 10:14:00
VMXG70PR       caused multiple observations in PDB.ASUMCEC; the logic
Feb  4, 2004   to force STARTIME across the CEC to the nearest minute
               was changed to   STARTIME=60*FLOOR((STARTIME+30)/60);
               and now those two observations are correctly combined.
               Why the STARTIME are off by a full second in a SYSPLEX
               is not known at this time.  See Change 23.070 redesign.
    Thanks to Alan Gray, Carefirst, USA.

Change 21.314  Support for "top" unix command in this user contribution.
UNIXTOP        This member contains input for IEBUPDTE to create a PDS
Feb  4, 2004   or directory of the sample program.
               This code is not yet "MXG-structured".
               Comments in the members tell you what to do!
   Thanks to Xiaobo Zhang, ISO, USA.

Change 21.313  Error IEC143I 213-04 on STEPLIB DD with the SAS JCL PROC,
MXGSASV8       after you have executed MXGSASVx JCL Proc, tells you to
MXGSASV9       change your SAS proc to //NULLPDS DD DISP=(NEW,DELETE),
Feb  4, 2004   to matches MXG's discovery that (NEW,DELETE) is safer for
               all sites than (MOD,PASS) - see text of Change 20.076.
               And SAS intends to change their default to match MXG.
                  However, if you do NOT have CA-11, and you are not the
                  SAS installer, you can circumvent this error by making
                  //NULLPDS in MXGSASxx PROC use the archaic (MOD,PASS).
               This change is doc only; nothing was changed in MXG.
   Thanks to Allana Jacob, IBM CANADA LTD, CANADA.

Change 21.312  Support for Beta97 creates new datasets in this user
EXTYB970       contribution.
EXTYB972
EXTYB974
EXTYB97L
IMACBE97
VMACBE97
VMXGINIT
Feb  4, 2004
   Thanks to Stephen Bell, Sparkassen Informatik, GERMANY.

Change 21.311  Support for Omegamon for VTAM subtype 29/30 additions and
VMACOMVT       protection for INPUT STATEMENT EXCEEDED error, and for
Feb  3, 2004   records that are too short to contain all IRECS.
   Thanks to Manfred Engelhart, Candle GmbH, GERMANY.

Change 21.310  Support for z/OS 1.5 (V 1 Release 5) is already in place
all            in MXG 21.04 and later (required for z/OS 1.4 PTFs), so
Feb  3, 2004   no new MXG changes are required.  Minor additions in data
               fields that were reserved were compatibly made by IBM.

Change 21.309  Enhanced support for "sar", "acctcom", and "ps" reports
UNIXSAR1       for AIX & SUN unix platforms, in this user contribution.
Feb  3, 2004   In addition to the existing UNIXSAR example, this member
               contains four SAS members and two Perl scripts that you
               can use to process "sar" data.  You need to install the
               daemons in the SUN and AIX operating systems; collect the
               data in each system, ftp or nfs the data to MXG, and then
               process the sar data with the SAS programs.
               This member contains input for IEBUPDTE to create a PDS
               or directory of the sample program.
               This code is not yet "MXG-structured".
               Comments in the members tell you what to do!
   Thanks to Uriel Carrasquilla, NCCI. USA.

Change 21.308  Member EMAIL previously contained examples to send an
EMAIL          email from SAS; this enhancement defines %MACRO EMAIL
Feb  3, 2004   that will send a PROC PRINT of any SAS dataset via a
               list of email addressees.
   Thanks to Chuck Hopf, MBNA, USA.

Change 21.307  Example program that reads z/OS SYSLOG file for specific
SYSLOG         events; an excellent starting place for additional event
Feb  3, 2004   analysis.  Please send your updates for other events.
               This example tracks these SYSLOG events:
                AQ/HQ       Activate/Hold JES2 input job queue
                SI/TI/PI    Start/Modify/Purge Initiators
                TJ          Modify a job - class, scheduling environment
                SJ          Force a job to start, disregard class limits
                T JOBCLASS  Modify characteristics of a job class
   Thanks to Chuck Hopf, MBNA, USA.

Change 21.306  This change was rewritten.  There is no new "87F3x" flag
VMACVMXA       (which was actually a typo, the value was "873Fx") and
Feb  3, 2004   MONWRITE was not changed.  However, if you ftp MONWRITE
Mar 22, 2004   data, and translate it from EBCDIC to ASCII, instead of
               using a BINARY ftp transfer, you will find the incorrect
               0000873Fx value instead of 00008709x at the start of the
               data file, and you'll get *ERROR* PROBABLE DATA LOSS DUE
               TO MONWRITE FAILURE messages.  Always ftp MONWRITE as
               BINARY, (i.e., NOASCII NOCRLF if using IND$FILE, etc.)
               Aug 20, 2004:  If you send VMACCT data and translate it
               from EBCDIC to ASCII, CPUMODEL='3F84'x results, which is
               the cause of INVALID DATA error for a '2084'x CPU.
   Thanks to Dwain Majak, ACS, USA.
   Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch Companies, USA.

Change 21.305  UNDECLARED ARRAY REFERENCED: ICSRDQU error precedeed by
VMXGINIT       an APPARENT SYMBOLIC WCICRDQ NOT RESOLVED error was due
Feb  3, 2004   to back-level VMXGINIT in tailoring that didn't define
               &WCICRDQ.  The text   &WCICRDQ..CICSRDQU (KEEP=  without
               the macro var was parsed to      ISCRDQU (KEEP=  which
               looks just like an array reference to SAS compiler.
               Real purpose of this note is to suggest to always take
               care of the first SAS error first, and then rerun to see
               if that also took care of subsequent SAS errors during
               compile of complicated programs.
   Thanks to Michael Cosentino, Rohm & Haas, USA.

Change 21.304  New MXG Tape "Event" Mount/Allocate/Recovery monitor sees
ASMTAPEE       all tape events, no longer samples for mounts, and gets
VMACTMNT       back all of the JOB-level data lost when we gave up XMEM.
Feb  5, 2004   ASMTAPEE is a complete redesign that executes in a mount
               exit in the address space of the job, so we not only see
               all mount events, but no longer have to use Cross Memory
               Services.  The new design had one field test iteration
               last year, and only one graceful failure (i.e., only an
               ABEND of the monitor program, no impact to the system)
               when two concurrent allocation recovery events for the
               same device occurred, which is now protected.
               However, please test this new design with extreme care;
               this text will be updated when we have had confirmed
               field tests and feed back from new users.  See comments
               in the ASMTAPEE member for more information.

               Since ASMTAPEE will eventually replace ASMTAPES, this
               is "ML-30" of the MXGTMNT program.

               When MXIT=YES is used, then the mount exit monitoring is
               used instead of interval sampling.  MXIT=NO is default;
               you must change that default to create the exit monitor.

               The new MXIT=YES exit monitor (like the recently added
               allocation recovery monitor logic) runs in a subtask of
               MXGTMNT to keep it separate and independent.  If an
               unrecoverable error occurs in the MXIT=YES subtask, it
               will shut itself down and switch back to using the old
               interval sampling method, so that records won't be lost.
               New variable TMNTFLAG='1.......'B is set in records that
               are created by the new exit monitor.

               The tape allocation monitoring function still uses
               interval sampling.

               Most of the fields that were removed when we disabled
               XMEM processing are populated by the exit monitor, and
               these new variables are created in TYPETMNT dataset:
                  ASID    ='ASID'
                  DDNAME  ='DD NAME'
                  DSNAME  ='DSNAME NAME'
                  JOBCLASS='JOB*CLASS'
                  PGMRNAME='PROGRAMMER*NAME'
                  RACFGRUP='RACF*GROUP*NAME'
                  RACFTERM='RACF*TERMINAL*NAME'
                  RACFUSER='RACF*USER*NAME'
                  STEPNAME='STEP*NAME'
                  TMNTACTN ='MNTFLG: 80 04 02 01'
                  TMNTDEVC='DEVICE*NUMBER AS*CHARACTER'
                  TMNTEDUR ='EVENT*DURATION'
                  TMNTFLAG ='MNTFLG: 80 04 02 01'
                  TMNTRCN ='RELATIVE*CONCATENATION*NUMBER'
   Thanks to "asmguy@mxg.com".

Change 21.303  Variable ZARCHMDE, "System is running in z/Architecture"
VMAC7072       is now kept in TYPE70 dataset, since it has been found to
Feb  2, 2004   be a useful discriminant when activating Z/Arch mode.
   Thanks to Cheryl Watson Walker, Watson & Walker, Inc., USA.

Change 21.302  DB2 SMF 102 IFCID=22 variable QW0022OS was negative when
VMAC102        the &RB.4. field contained 'FFFFFFFF'x, an invalid float
Feb  2, 2004   value.  MXG now tests and detects and sets QW0022OS to a
               missing value instead of -7.237E75.  There is no IBM note
               describing why the SQL cost was not validly populated.
   Thanks to Frank d'Hoine, National Bank of Belgium, BELGIUM.

Change 21.301  Ahh, what we have to do to keep MXG running under SAS V6!
VMXGCICI       VARIABLE S2ACT S2TCT IS UNINITIALIZED because their names
Jan 30, 2004   DS2ACT and DS2TCT started in column 1 of the ORDER= stmt,
               and the preceding label's ending quote was in column  72,
               and the V6 parsing was imperfect.  Inserting a blank has
               corrected this V6.09-only error, caught in our QA.
                 P.S. The only impact without this change was that the
                 real variables DS2ACT/DS2TCT had blank labels.
   Thanks to Freddie Arie, TXU, USA.

Change 21.300  The calculated EXPORTIM was incorrect for hour 0; the
VMACHPxx       logic was revised to protect that hour of the day.
VMACMWxx
Jan 30, 2004
   Thanks to Nick Johns, Sainsburys, ENGLAND.

Change 21.299  PARTNCPU was zero for z800s running in basic mode.   MXG
VMXGRMFI       tested SMF70WLA, the image size, to determine what data
Jan 30, 2004   is present, because on OS/390 R2.10 or lower, SMF70WLA
               was zero or missing.  But when basic mode or LPAR mode is
               running with OS/390 R2.10 or z/OS, SMF70WLA is populated
               with the image size in MSUs.  When there are no LPARS,
               PARTNCPU was zero, so using CPCNRCPU=PARTNCPU was wrong.
               The test was revised to use SMF70LAC, which is zero on
               basic machines, but nonzero for LPARs.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.

Change 21.298  Nearly cosmetic; all variables were kept in TYPE30_4 when
ANAL30         four were needed; the MACRO _KTY30U4 V1 V2 V3 V4 %  was
Jan 29, 2004   replaced with  MACRO _VTY30U4 KEEP= V1 V2 V3 V4 %
   Thanks to Diane Eppestine, SBC, USA.

Change 21.297  Variable ZDATE added to the list of variables kept in the
UTILEXCL       PDB.CICSDICT dataset, for possible use.
Jan 29, 2004

Change 21.296  Does MXG support the VM Performance Tool Kit data file?
TYPEVMXA       There is a VM Perf took kit that apparently creates its
Jan 29, 2004   own output data file, but that file is not supported in
               MXG, because MXG's TYPEVMXA member supports all of the
               monitor data from the IBM-supplied CMS MONWRITE command,
               rather than the tool kit's subset of the monitor data.

               I thought there might be an actual MONWRITE execution as
               part of the tool kit's process, so that you would only
               have to find and read that intermediate file,
                  and if you find there is one, please let me know,
                  or if you find there is tool kit data not in MONWRITE,
                     then I'll consider supporting the tool kit file,
               but one user found it easier just to create a virtual
               machine and run MONWRITE in it to monitor all of the VMs
               on that system (including each of the Linux machines!);

               His virtual machine had these directory statements:
                 IUCV *MONITOR MSGLIMIT 255 NAMESAVE MONDCSS
               and then he can issue the "start" command:
                 MONWRITE MONDCSS *MONITOR DISK
               command which will cause the MONWRITE records to be
               copied from the monitor to this virtual machine and
               written on its a-disk.  Then the command
                 MONWSTOP
               is issued to close the file and then reissue the "start"
               command to start the monitor back up.
               As he said, "it's crude, but it works."
   Thanks to Jerry Ellis, Liberty Mutual, USA.

Change 21.295  Documentation of /VIEW limitation.  This simple program
doc            should read SMF type 110 records, create dataset CICSTRAN
Jan 29, 2004   as a view (to skip a write and read of CICSTRAN), and at
               the same time, create all of the CICS Statistics datasets
               in the //WORK file, then PROC SORT each of the CICS stats
               datasets to the //PDB by the _S110ST macro, and then the
               _SUOWCIC macro will PROC SORT the CICSTRAN view to create
               the PDB.ASUMUOW dataset.   This program fails:
                      %INCLUDE SOURCLIB(VMAC110,VMACSMF,IMACKEEP...);
                      DATA
                      _VAR110 /VIEW=_WCICTRN;
                      _SMF
                      _CDE110
                      _S110ST
                      _SUOWCIC
               because of the /VIEW operand.  Remove the /VIEW= and the
               program works as expected.  Why?  Because the existence
               of a /VIEW defers the execution of that data step until
               that dataset is referenced, but the _S110ST macro starts
               with PROC SORT DATA=CICAUSS, so ERROR: CICAUSS NOT FOUND
               results since that dataset hasn't yet been create; what's
               really confusing is that the INFILE SMF messages are not
               on the log, and SMF was never opened.
               However, reordering the macro references:
                      DATA
                      _VAR110 /VIEW=_WCICTRN;
                      _SMF
                      _CDE110
                      _SUOWCIC
                      _S110ST
               the program works just fine, because the CICSTRAN gets
               referenced first, the data step runs, and _SUOWCIC runs,
               and the CICS Statistics Data Sets are SORTed at the end.
                 Okay, since VIEW= is for performance, putting the Sort
                 of CICS Stats after _SUOWCIC means those stat datasets
                 will be occupying //WORK space until after _SUOWCIC
                 ends, which might itself be a bigger performance issue
                 than the write/read of CICSTRAN saved with the VIEW.
                 An alternative that writes those CICS Statistics Data
                 Directly to the PDB library, without the PROC SORT, so
                 no duplicates will be detected, but without the extra
                 copy, was described in Change 18.152:
                     //SYSIN DD *
                       %INCLUDE SOURCLIB(VMAC110,VMACSMF,IMACKEEP...);
                       %LET CICSTAT=PDB;
                       _CICSTAT;
                       ... rest of your program


Change 21.294  Support for new JVM Heap data in SMF 120 subtype 1 and 3:
EXT120SH
EXT120SR        Subtype dddddd   dataset   description
IMAC120           1     T120SH   TYP120SH  server region heap
VMAC120           3     T120SR   TYP120SR  server region intervval heap
VMXGINIT       Has been tested with only one heap per server region, so
Jan 29, 2004   have not validated with multiple heaps and code is nasty.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.

Change 21.293  Support for DFSMS/rmm + DCOLLECT in the JCLDAYDS example.
DAILYDSR       The original JCLDAYDS, for "Daily Data Set Accounting"
JCLDAYDS       used DCOLLECT for DASD space accounting and TMS/CA-1 for
Jan 29, 2004   tape storage; this enhancement will use IBM's DFSMS/rmm
               instead of TMS for your tape storage accounting.
   Thanks to Diane Eppestine, SBC, USA.

====== Changes thru 21.292 were in MXG 21.08 dated Jan 28, 2004=========

Change 21.292  Jan 26 21.08: ERROR: VARIABLE R0723AX NOT FOUND TYPE7002,
VMAC7072       when sorted; correct name is R7023AX in the _BTY7002
Jan 28, 2004   macro definition.
   Thanks to Craig Loubser, Winn-Dixie, USA.

Change 21.291  If your "PDB" Data Libraries were built by V6, reusing
TYPE102        that old V6 PDB under SAS V8/9 to create MXG datasets
Jan 27, 2004   with "long length character variables", i.e, those with
               "LENGTH varname $ &SASCHRLN;" in their VMACxxxx member,
                 like SQL text variable QW0063ST in T102S063 dataset,
               will fail.  You must write those V8 SAS datasets to V8
               data libraries; you cannot write them to a V6 library.
               Create a new data library with SAS V8, and if you need
               any of the old datasets as input, the use PROC COPY to
               copy from the old V6 library to the new V8 library.
                 In this specific case, the error that surfaced was that
                 variables SEG10263 and LEN10263 were missing; they were
                 counts of 200-byte segments of SQL text under SAS V6.
   Thanks to Frank d'Hoine, National Bank of Belgium, BELGIUM.

====== Changes thru 21.290 were in MXG 21.08 dated Jan 26, 2004=========

Change 21.290  Changes in OPTIONS for SAS V9.1.
AUTOEXEC      -The options for printing statistics on the SAS log have
CONFIG9        been enabled and made consistent; benchmarks with V9.1
JCLTEST9       show there is no longer a CPU cost associated with these
MXGSASV9       options, now the default, as their informatiopn on the
Jan 27, 2004   log has been very useful in execution problem resolution.
Jan 31, 2004   -ASCII:  AUTOEXEC  STIMER FULLSTIMER
               -EBCDIC: CONFIGV9  STIMER FULLSTIMER DLEXCPCOUNT MEMRPT
                                  FULLSTATS
                 Under Windows, SAS V9.1 FULLSTIMER increased run time
                 by only 14 seconds in a 5 minute execution.
              -New options DTRESET added to both AUTOEXEC and CONFIGV9,
               to print the current date/time on the SAS log and SAS
               listings (rather than the constant step initiate time on
               every page!).
              -See also Newsletter FOURTY-FOUR, which contains benchmark
               comparisons of SAS V9.1, along with other notes
               concerning using 9.1.

====== Changes thru 21.289 were in MXG 21.08 dated Jan 25, 2004=========

Change 21.289  Execution tests with SAS Version 9.1 caused NOTE 49-169
VMAC6156        "NOTE 49-169: The meaning of an identifier after a
IMACICBB         quoted string may change in a future SAS release.
VMACX37          Inserting white space between a quoted string and the
VMACEREP         succeeding identifier is recommended."
ANALDB2R       V9.1 fixed the 9.0 spurious 49 problem, so 9.1 notes were
ANALRMFR       used to find the 7 members and 14 lines of MXG code that
ANAL94         needed a blank to be inserted to support for this future
Jan 25, 2004   SAS version now, and make these notes go away.
               Because you may have similar now-non-recommended-syntax,
               these are the statements that were flagged and revised.
                Member      Statement    Text
                VMAC6156    PUT         '***'JOB
                IMACICBB    LABEL     'ID*(='23'x)'
                VMACX37     IF     EQ 'X37 3'OR PRODREL
                VMACEREP    LABEL      '...('YY'X)'
                ANALDB2R    PUT     ...text='QW0020PC' text'
                            PUT     ...text='QW0020AN' text'
                            PUT     ...text='QW0023PD' text'
                            PUT     ...text='QW0024PD' text'
                            PUT     ...text='QW0025PD' text'
                ANALRMFR    PUT           "*"LPARNAME"*"
                            PUT      PERIOD='PERIOD
                ANAL94      PUT     'S94TVCS'GB'       3 times

Change 21.288 -Support for Type 42 Subtype 10, Volume Selection Failure'
EXTY42VS       because of insufficient space when allocating a dataset
IMAC42         creates new TYPE42VS dataset.
VMAC42        -Type 42 subtype 3 TYPE42AU SMS AUDIT with SMF42EAC='VARY'
VMXGINIT       needed +22 instead of +21 after SMF42ENM, causing vars
Jan 25, 2004   SMF42EVL/ESY/EST to be incorrect by one byte.
   Thanks to Chris Edwards, Defence Computing Bureau, AUSTRALIA.

Change 21.287  Calculation NRCPUS=SMF70ONT/DURATM had value 2.00000040
VMAC7072       when IRD was not in use, and that fractional value had
Jan 25, 2004   impact on PCTRDYWT and CPUUPTM calculations.  Calculation
               now uses    NRCPUS=ROUND(SMF70ONT/DURATM,.001);
               to keep three decimal accuracy after that calculation.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.

Change 21.286  Enhancement to support many NDM/Connect Direct subtypes
EXNDMCS        that were previously skipped, with/without log messages.
EXNDMEI        All known NDMRTYPEs are now recognized and will be output
EXNDMEV        in their corresponding NDMxx dataset; those for which I
EXNDMFA        could find DSECTS have additional variables INPUT, and
EXNDMIP        those for which I had test records have been validated.
EXNDMJX        The ACCOUNT/DATASET name offsets are decoded, but the
EXNDMLS        offset not yet exploited, since no one has actually asked
EXNDMMF        for any of this new data; users just observed the log
EXNDMPE        messages that these new types existed in their SMF data.
EXNDMPX        Fully Decoded:
EXNDMQE            Dataset  NDMRTYPEs Output
EXNDMQT             NDMPS - PS or SW
EXNDMRE             NDMPX - PX
EXNDMRO             NDMQE - QE QH QT QW
EXNDMS2             NDMSY - SY: NO DSECT, ADDL DATA EXISTS.
EXNDMSC             NDMAE - AE DU,IU,SU,UM
EXNDMSD             NDMSD - SD
EXNDMSH             NDMCI - CI CE TI JI
EXNDMSP             NDMDT - DT SP FT IB SS SN IS IA ID IP IF IX VP
EXNDMSY        Header Only Decoded:
EXNDMTR                 CS FA GO IF JX LS MF NL PE PI RE RO S2 SB
EXNDMUM                 SC SH SY TP TR WS XO
EXNDMWS        The Header Only subtypes are output, but only with header
EXNDMXO        variables; MXG prints a message and hex dump of the first
IMACNDM        of each new subtype, up to 10 new subtypes.  If you have
VMACNDM        the DSECT documentation of those Header Only subtypes,
Jan 25, 2004   please send them so I can fully decode those subtypes.
               If you want to suppress those MXG messages from NDM, use:
                   //SYSIN DD *
                   %LET MACFILE= %QUOTE( RETAIN NDMNEWST 99;  );
                   %INCLUDE SOURCLIB(TYPSNDM.... );
                 (or you can put that  RETAIN NDMNEWST 99; in IMACFILE).

Change 21.285  New NTSMF Objects supported:
EXNTWBSC         dddddd    Dataset     Object
EXNTWSRR         NTWBSC    WEBSRVCA    NT WEB SERVICE CACHE
EXNTWSRC         NTWSRR    WSRMPRMC    NT WSRM PROCESS MATCHING CRITERIA
EXNTWSRY         NTWSRC    WSRMPROC    NT WSRM PROCESS
VMACNTSM         NTWSRY    WSRMPLCY    NT WSRM POLICY
Jan 22, 2004  -New NRDATA=40 in Active Server Pages supported
Feb 18, 2004  -Variables CIINNAME in dataset CITRIXIN and SQBPNAME in
               dataset SQLBUFPT were changed from numeric to character,
               as they are Instance Name, and their original numeric
               definition was wrong.  If you build Week-to-Date, or
               combine NTSM datasets built before and after this change,
               you will get  VARIABLE SQBPNAME HAS BEEN DEFINED BOTH AS
               CHARACTER AND NUMERIC  (or VARIABLE CIINNAME ....).
               You must drop the old variable before combining the old
               and new datasets.
   Thanks to Terry Heim, ECOLAB, USA.

Change 21.284  TYPE99 variables S99TLPI and S99TSPI were 100 times too
VMAC99         large; they should have been input &PIB.4.2 instead of
Jan 22, 2004   &PIB.4.
   Thanks to Adam Warkow, Cicigroup, USA.

Change 21.283  TYPE119 Variables UCRPORT/UCLPORT and CTLPORT/CTRPORT are
VMAC119        now kept as Port Number in numeric variables, instead of
Jan 22, 2004   the variables with suffix C (from which they are created,
               but which should not have been kept).
               Variables UCLLIP and NILLIP's translate statement typos
               that had RIP instead of LIP were corrected.
               Some labels were also revised.
   Thanks to Thomas Heitlinger, Fiducia, GERMANY.

Change 21.282  Change 21.277 created VMXGSUME to tolerate non-present
ASUMDSDB       variables, but it ABENDed with several sample ASUM/TRND
ASUMHSM        members that ran just fine with its predecessor design.
MNTHDB2S
MNTHDBAS       In each case, the VMXGSUM arguments coded in the example
TRNDDB2S       were actually in error, and the output dataset created by
VMXGSUME       the old version were never correct nor as expected. but
Jan 22, 2004   the old VMXGSUM did not fail.

              -ASUMDSDB had DATETIME=QWACBSC, but variable QBACBSC was
               not in the SUMBY= argument list.  This caused 22-322 and
               180-322 errors underscoring DATETIME=&DATETIME with the
               new code as only clue as to the real error.

               ASUMDSDB was corrected with QWACBSC in place of QWHSSTCK
               in the SUMBY.

              -ASUMHSM did not create SHIFT in the INCODE for HSMINTRV,
               but SHIFT was in the SUMBY, and BY SHIFT was used in the
               step after than %VMXGSUM execution.  The old design would
               create the non-present SHIFT variable, but the design of
               the revised VMXGSUM built its SUMBY without SHIFT, so the
               VMXGSUM executed correctly, but then the following step
               failed when it found no SHIFT variable.
               ASUMHSM was corrected to create SHIFT in the INCODE, as
               it did in the other steps of that example, with IMACSHFT.

              -MNTHDB2S had the token "DATETIME" in the SUMBY list, and
               not the correct variable name.  Replaced DATETIME in the
               SUMBY list with the STRTTIME variable (i.e, the variable
               that was in the DATETIME= argument).  However, MNTHDB2s
               also had two datasteps in the INCODE=, which required a
               change to VMXGSUM to support.  Finally, however, because
               "DATETIME" as a token in the SUMBY= list was the original
               recommended syntax for %VMXGSUM, and probably is around
               in lots of existing jobs, the enhanced VMXGSUM was again
               enhanced, and with this revision:
                  If "DATETIME" string is in the SUMBY= list, and
                  it is NOT ALSO the DATETIME= variable name, and
                  the length of the DATETIME= variable name is not 0,
                  then the SUMBY uses the DATETIME= variable name
                  instead of the name DATETIME.
                  But because the use of "DATETIME" token in the SUMBY
                  is archaic, and so you know what we've done, there is
                  a log message that we found this archaic usage.
              -MNTHDB2S - Variable QWHSSTCK not found.
              -TRNDDB2S - Restructured.

Change 21.281  Support for DB2 Version 8.1, COMPATIBLE.  MXG 20.20 or
VMACDB2        later will read V8 SMF 100 and 101 records without errors
Jan 21, 2004   ("MXG 20.20+ TOLERATES DB2 V8"); this change adds support
               for the new fields added at the end of existing segments.
                New variables in DB2ACCT:
                 QXCRESEQ='CREATE*SEQUENCES'
                 QXALTSEQ='ALTER*SEQUENCES'
                 QXDROSEQ='DROP*SEQUENCES'
                 QXPRRESI='PREPARES*RESTRICTED*PENDING*INDEX'
                 QXALTVW ='ALTER*VIEWS'
                 QLACOFF1='OFFSET TO*REST OF*TRUNCATED*QLACLOCN'
                 QBGAP1  ='P-LOCK*LOCK REQS FOR*SPACE MAP*PAGES'
                 QBGAP2  ='P-LOCK*LOCK REQS FOR*DATA*PAGES'
                 QBGAP3  ='P-LOCK*LOCK REQS FOR*INDEX LEAF*PAGES'
                 QBGAU1  ='P-LOCK*LOCK REQUESTS'
                 QBGAS1  ='P-LOCK*LOCK SUSPND FOR*SPACE MAP*PAGES'
                 QBGAS2  ='P-LOCK*LOCK SUSPND FOR*DATA*PAGES'
                 QBGAS3  ='P-LOCK*LOCK SUSPND FOR*INDEX LEAF*PAGES'
                 QBGAWS  ='WRITE AND*REGISTER*WAR*REQUESTS'
                New variables in DB2STATS:
                 QBSTLPL ='TIMES WHEN*PAGES ADDED*TO LPL'
                 QTGSFLMG='FALSE*CONTENTIONS*ENCOUNTERED'
                 Q3STHWIB='IDBACK*THREAD*HIGHWATER*MARK'
                 Q3STHWIF='IDFORE*THREAD*HIGHWATER*MARK'
                 Q3STHWCT='CTHREAD*THREAD*HIGHWATER*MARK'
              -Apr 18, 2005: Version 8.1 is "almost" COMPATIBLE; some of
               the data fields can be in "UNICODE UTF-8" format; an MXG
               ERROR message will be printed if one is encountered, and
               MXG 23.03, Change 23.082, supports QWHSLOCN in UNICODE.
              -This change also inserted QBGAGG=TBGAGG to correct the
               value in QBGAGG.
   Thanks to Steve Cunningham, DST Systems, Inc., USA.

Change 21.280 -Variable LGMGEN was input as $EBCDIC8., but that field is
VMACPDSM       actually a one byte number with range 1-99.  New variable
Jan 20, 2004   LGMGENNR as numeric is now created, and LGMGEN is not.
Jan 23, 2004  -The logic for 'FF'x values and reset to blank values were
               removed; that reset is needed for EBCDIC text fields, but
               these fields are all $HEX formatted, so changing 'FF'x to
               '40'x or '20'x is undesired.
              -The FORMAT LGPSRRC LGJRC $HEX1. was changed to $HEX2., as
               should be all MXG one-byte character variables containing
               hex data; it makes no sense to display just the first hex
               nybble.  I assumed it was a typo, but a search of all of
               MXG found $HEX1 in VMACXXXX, of all places, in VMACIMS,
               and in XLOGREC members, which were changed to $HEX2.
               However, HEX1. without the dollar-sign is validly used as
               an INFORMAT for numeric variables, and was not changed.
   Thanks to Peter Lines, RBS, UK.

Change 21.279  Using PROC COPY + SELECT dataset(s) to copy from a tape
many           data library should specify MEMTYPE=DATA to minimize the
Jan 19, 2004   run time and the I/O resources.  PROC COPY with a SELECT
               statement without MT=DATA reads the entire tape dataset
               (which could be multi-volume!!), and does not stop when
               the last dataset in the SELECT list has been found.
               Because PROC COPY can copy more than just datasets, it
               continues to read for other entries (Graphs, Catalogs)
               with the same name.  By adding MT=DATA (or MEMTYPE=DATA),
               SAS will stop reading the input when the last dataset has
               been read, reducing CPU and elapsed time and I/O.
               All PROC COPY statements in MXG that copy datasets now
               have MEMTYPE=DATA or MT=DATA specified.

Change 21.278 -NTSMF Active Server Pages object has NRDATA=36, was 34,
ADOCNTSM       but both new metrics are named "ASP.NET.V1.1.4322", and
EXNTIP4D       added at the end of the record. Temp protection reads 34.
EXNTIP4I      -Web Service object has NRDATA=86, was 81, with five new
IMACNTSM       fields with "COUNTER NAME MISSING" inserted in 4 places.
VMACNTSM       Temporary protection added second INPUT for know 81 vars.
VMXGINIT      -Four new Objects are supported:
Jan 18, 2004      DDDDDD     DATASET     Object
                  NTASPN     ASPNET      ASP.NET Apps v1.1.4322
                  NTASPA     ASPNETAP    ASP.NET v1.1.4322
                  NTIP4D     IPV4SDRV    IPSEC v4 Driver
                  NTIP4I     IPV4SIKE    IPSEC v4 IKE
              -Some recently added new variables, most from new objects,
               were not listed in the (required) INFORMAT 16.2 list,
               which would cause values to be 100 times too high.
               PROC CONTENTS was used to identify those variables with
               no informat and the list was updated (although there are
               some counters, notably in the headers, that are integers
               and correctly do not belong in the INFORMAT 16.2 list.
              -Internal notes and instructions describing how to update
               the MXG VMACNTSM code to add support for new object and
               new variables were revised, and skeleton code examples
               added to make my next revision more procedural.

Change 21.277 -VMXGSUME is an enhanced VMXGSUM, designed to tolerate
VMXGSUME       dropped variables from a dataset that are expected by an
Jan 17, 2004   invocation of VMXGSUM, if a variable was in the SUMBY=
               list, the VMXGSUM execution failed, or if the variable
               was in one of the other lists, that variable with missing
               value was created in the output dataset.   This change
               reads one observation of the input dataset and invokes
               in INCODE argument to get the full list of all variables
               that exist, and compares that with the variables in all
               of the VMXGSUM arguments, and rebuilds the SUMBY=, etc.,
               to use only the existing variables.
                 Specific example:  Many sites drop OPERATOR from their
                 CICSTRAN dataset, but ASUMCICS has that variable in its
                 SUMBY= list, so previously you had to EDIT an ASUMCICS
                 to remove the references to OPERATOR.  Now, that is
                 done automatically.
              -Performance issues if the input dataset is on tape.
               There will be multiple tape mounts on the job log; two if
               KEEPALL=YES, and three if KEEPALL=NO, as we must open the
               input dataset to determine variables that exist.
               If this is a single-SAS-data-set tape library, the extra
               mounts should not cause any delay, as only repositioning
               is needed on real tape, especially if the tape is a VTS.
               However, if the input tape data library contains multiple
               SAS datasets, on multiple tape volumes, we must at least
               open and read the data library sequentially twice to read
               one observation, and then a final time to actually read
               the full input dataset, and that could cause an increase
               in the elapsed time.
                 You might consider PROC COPY; SELECT xxxxxxx; from tape
                 to disk before executing VMXGSUM, but initial test show
                 that is may not be any better, the copy must write the
                 full dataset with all variables, but VMXGSUM brings in
                 only the variables it will need, and write is much more
                 expensive than read.
                 Adding a PROC COPY step may increase, or may decrease
                 the execution time.
                 Note:  This is a big performance hit, just discovered:
                     Always use MEMTYPE=DATA on PROC COPY with SELECT
                     statement from tape data libraries.
                     With MEMTYPE=DATA, SAS stops reading the input tape
                     library when it finds the last SELECTed dataset.
                     Without MEMTYPE=DATA, the PROC COPY doesn't know
                     you only want data entries, so it continues to read
                     the entire tape data library, because there could
                     be a different entry (Graphs,Catalogs,etc) with the
                     same name!
               Because the enhanced VMXGSUM can cause errors in working
               code, it is not used by default anywhere in MXG.  But you
               can use the enhanced macro defined in the VMXGSUME member
               simply by using %INCLUDE SOURCLIB(VMXGSUME); as the first
               statement in your //SYSIN stream, as that will compile
               the Enhanced-but-named-the-same %VMXGSUM macro that will
               be used by SAS for that job.

Change 21.276  Typos caused UNINITIALIZED VARIABLE message for WATSBACT
ANAL116        (s/b WTASBATC) and WTASPSEO (s/by WTASPSE-zero).
Jan 17, 2004

Change 21.275  Reading Active (undumped) VSAM SMF files caused TYPE70PR
VMAC7072       dataset variable SMF70CIN to be blank, which then caused
Jan 16, 2004   variables LPARCPUS, PARTNCPU, and NRIFCPU to be wrong.
               The +OFFSMF (needed to read VSAM SMF transparently) was
               not added to the OFFCPUID calculation.
   Thanks to Melanie Hitchings, BT, ENGLAND.

Change 21.274  Protection for truncated SMF 110 record (LENGTH=76) was
VMAC110        added, testing the APS/ASS triplets before INPUTing the
Jan 15, 2004   rest of the record.  Record was truncated because ACS
Jan 21, 2004   rules for Eagle tape drives forced LRECL=80, and the
               ACS rule overrode the Model DSCB in the DD statement.
   Thanks to Chuck Hopf, MBNA, USA.

Change 21.273  Variable NTLIP, Local IP Address, was incorrect, typo.
VMAC119        The NTLIP=COMPRESS(NTRIP); should have been (NTLIP).
Jan 14, 2004
   Thanks to Raff X. Rushton, Kaiser Permanente, USA.

Change 21.272  Typos corrected; MVSWAIT3=CPUWAITE is MVSWAITE=CPUWAITE
VMAC7072       and MVSWAITW=MVSWAITX is MVSWAITX=MVSWAITX twice.
Jan 12, 2004
   Thanks to Hugh Lapham, RCMP, CANADA.

Change 21.271 -Enhancement decodes INSYSAF bit map to create variables
IMACTPMX       JBAFF1-JBAFF32 for the System Affinities of each JOB, but
VMACTPMX       you must EDIT the IMACTPMX member, which now defines two
Jan 11, 2004   formats ($MXTPMPX and $MXTPMBT) that map your SYSTEM IDs
Jan 12, 2004   to your SYSPLEXes, and that maps the bits in INSYSAF for
Jan 13, 2004   each SYSPLEX to the AFFINITY SYSTEM's name.  If you do
Jan 20, 2004   not update your IMACTPMX, the values in JBAFFn variables
Jan 22, 2004   will be wrong, or more likely, always blank.
              -The INPUT(INSYSAFF,$EBCDIC)/TRANSLATE statements for the
               INSYSAFF were deleted:  i.e., it was "un-EBCDIC'd".  That
               pair of functions are used only for variables containing
               EBCDIC text characters.  INSYSAFF contains hex bit string
               data as characters, and is formatted $HEX8.
              -Variables NRACCTFL and ACCOUNT1-ACCOUNT9 are now created
               from the ACCT field, decoding with your IMACACCT member
               that determines how many fields are actually kept.  As
               old variable ACCT contains both binary numbers and EBCDIC
               text, it is "un-EBCDIC'd", and is formatted $HEX32.
              -CURREC5, current time of day, was incorrect; it is now
               input as hhmmssth in four PK1. fields, and converted to
               a SAS time value and formatted TIME12.2.  I created new
               variable CURRENT from CURRECn, but then found it was
               exactly equal to SMFTIME, so I chose to not keep CURRENT.
              -Variable JALSYJ is not labeled; it appears to be the
               same as SYSTEM.
              -Variable RD is not labeled; it has value 'NC' in five obs
               and is blank in the other five thousand observations.
              -Variable RDRDATE is formatted DATE9.
              -In testing, you cannot set OBS= to less than 634, because
               there are 634 input records for the CNTLLIN for the token
               table look up.  You get TOKEN NOT FOUND with OBS=100.
              -Variables JTSDATE and JTSTIME were missing because their
               informats were incorrect; now they are populated.
              -Variable CA7DD was incorrectly input.
              -Variable CA7DT was created as a character variable, but
               that field is a time duration, so variable CA7DTM is now
               created as numeric and formatted.  I cannot change CA7DT
               from char to numeric without causing someone's perfectly
               running weekly or monthly job that combines TPMX data to
               ABEND due to a variable conflict, and since CA7DT was not
               ever correct, it can safely be replaced by CA7DTM.
              -Variables CA7JCL, CA7SCHID formatted Z3. to print 001.
              -Variable CPU formated TIME12.2.
              -Variable CURPRIO now INPUTs only first for bits.
              -Variables DISPLD1 formatted DATE9, DISPLD2 corrected.
              -Variable INPRIO input BITS4.0.
              -Variable INRMT is input $EBCDIC8, but the field changed
               to numeric in 5.2.1; new numeric INRMTNR variable is now
               created and input PIB.2., but INRMT is still created.
              -Variable INSEI input $EBCDIC8 instead of 4.
              -Variable JXCPUCA should have been name of JCXPUCA; both
               variables now exist, but use only JXCPUCA.
              -New variables JES3M26,JESM27,JES3M28 and JES3M29 were
               replaced with JLSENQ, JLSENQN, JLSLIMTT and JLSLIMTN,
               as they had nothing to do with JES3.
              -User character variables TPMUC1-TPMUC99 and user numeric
               variables TPMUN1-TPMUN99 are now supported, but none are
               kept by default; you remove comments in the EXTYTPMX to
               choose which user variables you want kept, and you code
               LENGTH and FORMAT statements for character variables to
               control their stored lengths and protect any $HEX data.
               You also blank out the variable's name from the DROP code
               in that member.  The example also shows how you can
               create variables from any binary fields in your character
               fields, and how to use MACRO _KTYTPMX to also keep them.
   Thanks to Lawrence Jermyn, Fidelity Systems, USA.
   Thanks to Kelly Vogt, Humana, USA.

Change 21.270  Short CMRDETL record caused INPUT STATEMENT EXCEEDED
VMACMVCI       and STOPOVER condition; test now validates the record
Jan  8, 2004   is at least 277 bytes, prints error messages and dump of
               first two short records, but no longer ABENDs.
   Thanks to Mike Kevlin, CSC, AUSTRALIA.

Change 21.269 -Support for many new TNG objects from AIX, NT,and SOLARIS
EXTAI013                  dddddd   dataset    description
  thru                    TAI013    AI013     CA CPU GROUP
EXTAI024                  TAI014    AI014     CA DISK GROUP
EXTSO016                  TAI015    AI015     CA FILE SYSTEM
  thru                    TAI016    AI016     CA INTERFACE GROUP
EXTSO026                  TAI017    AI017     CA KERNEL CONFIG GROUP
FORMATS                   TAI018    AI018     CA KERNEL GROUP
IMACTNG                   TAI019    AI019     CA MEMORY GROUP
VMACTNG                   TAI020    AI020     CA NETWORK GROUP
VMXGINIT                  TAI021    AI021     CA PER CPU GROUP
Jan  6, 2004              TAI022    AI022     CA SWAP GROUP
Jan  7, 2004              TAI023    AI023     PRINTER QUEUE
Jan 14, 2004              TAI024    AI024     USERS
                          TSO016    SO016     CA CPU GROUP
                          TSO017    SO017     CA DISK GROUP
                          TSO018    SO018     CA FILE SYSTEM
                          TSO019    SO019     CA INTERFACE GROUP
                          TSO020    SO020     CA KERNEL CONFIG GROUP
                          TSO021    SO021     CA KERNEL GROUP
                          TSO022    SO022     CA MEMORY GROUP
                          TSO023    SO023     CA NETWORK GROUP
                          TSO024    SO024     CA PER CPU GROUP
                          TSO025    SO025     CA SWAP GROUP
                          TSO026    SO026     USERS
                          TNT051    NT051     NTMSSQL$IN01:ACCESS ME
                          TNT052    NT052     NTMSSQL$IN01:BUFFER MA
                          TNT053    NT053     NTMSSQL$IN01:BUFFER PA
                          TNT054    NT054     NTMSSQL$IN01:CACHE MAN
                          TNT055    NT055     NTMSSQL$IN01:DATABASES
                          TNT056    NT056     NTMSSQL$IN01:GENERAL S
                          TNT057    NT057     NTMSSQL$IN01:LATCHES
                          TNT058    NT058     NTMSSQL$IN01:LOCKS
                          TNT059    NT059     NTMSSQL$IN01:MEMORY MA
                          TNT060    NT060     NTMSSQL$IN01:SQL STATI
                          TNT061    NT061     NTMSSQL$IN01:USER SETT
                          TNT062    NT062     NTMSSQL$IN01:BACKUP DE
                          NOTE: DATASETS NT051-NT062 CONTAIN DATA
                                FOR ALL SERVER='IN01' thru 'IN07'
               Twelve MSSQL Server Objects are created for each unique
               Server Name ("IN01"-"IN07"), so with 7 servers there are
               84 unique objects, but only twelve datasets are needed.
               Datasets NT051-NT062 contain data for all servers, with
               variable SERVER="IN0n" identifying the server.
                 Capturing the server name from object name, and mapping
                 84 objects to 12 datasets required new algorithms, and
                 this implementation is specific to those server names.
                 Arrays nt063-nt134 are used for "IN02"-"IN06".
              -The array sizes directly impact the REGION size needed.
               Now, you can change array sizes directly with %LETs in
               SYSIN, before the %INCLUDE SOURCLIB(TYPSTNG); statement.
               One very large NT site, had to set:
                 //SYSIN DD *
                    %LET NT005I=21;
                    %LET NT007I=999;
                    %LET NT013I=75;
                    %LET NT014I=625;
                    %LET NT017I=625;
                    %LET NT035I=2000;
                    %INCLUDE SOURCLIB(TYPSTNG);
               This works now, because all of the TNG macro variables
               (MAXROWS,AInnnI,AInnnV,NTnnnI,NTnnnV,SOnnnI,SOnnnV,etc)
               definition %LETs were moved to VMXGINIT and GLOBALed.
                 You cannot use  %LET MACTNG=  to redefine the array
                 size macro variables; you can't %LET a %LET.  You can
                 define a MACRO _MYSIZE  %%LET NT035I=2000; % and use
                 %LET MACTNG= _MYSIZE ;  %INCLUDE SOURLIB(TYPSTNG); ,
                 but you cannot define  MACRO _MYSIZE in your SYSIN
                 stream - that causes a recursion error.
              -By default TYPETNG reads all cube types, and MXG default
               array sizes (set so that I can read all test data sent
               thus far) requires a REGION=225M.  Region is NOT a real
               resource, but some sites artificially constrain REGION
               size. You can save some virtual storage by reading only
               one cube type at a time, and also using MACTNG to specify
               the _AIONLY, _SOONLY, or _NTONLY macro, to set unwanted
               array sizes to a value of one.
                  //SYSIN DD *
                   %LET MACTNG=  _NTONLY  ;
                   %INCLUDE SOURCLIB(TYPSTNG);
                       With _NTONLY   REGION=120M
                       With _SOONLY   REGION= 66M
                       With _AIONLY   REGION= 30M
              -SAS V8.2 and MXG 21.07 defaults required REGION=100M on
               z/OS 1.4; the same program used 86M Total Memory when run
               with SAS V9.0 under Windows 2000.
              -If there are any observations in the UNKNOWN dataset, it
               means there were new objects and/or new metrics that are
               not yet supported, and when there are obs in UNKNOWN, it
               is possible that MXG will not output any observations
                (when the last object in a group is unknown, the output
                 of the entire cube never occurs).
               Adding support for all new objects and metrics causes the
               observations to be output.
              -An ARRAY EXCEEDED error messaged, because AI007V should
               have been 7 instead of 2.
              -Some of the new "CA.." objects have identical metrics in
               both Solaris and AIX cubes, but other datasets, notably,
               the SO016, 020, 021, 022, and SO023 have a different set
               of variables than their AIX counterparts; always use the
               variable's LABEL, and not the NAME, to match AIX data to
               Solaris data in those dataset.
              -Major enhancements in error detection and reporting of
               array size issues were added; the number of instances
               and the number of variables in your data are compared
               to the array limits, and messages print which object's
               value in which array is too small, and by how much.

   Thanks to Ralton R. Van Heerden, CSC South Africa, SOUTH AFRICA.
   Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.

Change 21.268  The PDB.ASUMCACH variable IORATE was wrong, because both
ASUMCACH       TYPE74 and TYPE74CA datasets have a variable IORATE, and
VMAC74         both values were being summed.  But in investigating the
Jan  6, 2004   error, I found that the TYPE74 IORATE variable is often
               a very different value than IORATE in TYPE74CA:
                 In TYPE74, the SIO74CNT variable is directly used:
                    IORATE=SIO74CNT/DURATM;     in TYPE74 dataset.
                 But in TYPE74CA, as there is no SIO count variable, the
                 I/O request counts RDREQS+WRREQS+ICLR+BPCR are added
                 to get the total I/O request count, SIO74CA:
                   IORATE=SIO74CA/DURATM;      in TYPE74CA dataset.
               Both SIO74CNT and SIO74CA variables are in PDB.ASUMCACH,
               so you can see the differences in your own data. One test
               had TYPE74 with 4,635,246, while TYPE74CA had 18,425,069.
              -In VMAC74, variable SIO74CA is created in TYPE74CA data
               set, for direct comparison with TYPE74 data.
              -In ASUMCACH, the IORATE variable is now calculated in the
               OUTCODE= argument, using IORATE=SIO74CNT/DURATM, since
               the TYPE74 IORATE existed long before cache controllers,
               but also, new variable IORATECA=SIO74CA/DURATM is created
               so that you can compare the two I/O rates directly.
              -The local variables IORATEA-IORATEZ were also removed.
   Thanks to Kasandra Natzke, Infores, USA.

Change 21.267 -Syntax of the redefinition of old-style "dataset" MACRO
ASUMUOWT       names _LDB2ACC _LMONTSK, _LCICTRN and _INMQ had hardcoded
VMXGUOW        DDnames of DB2ACCT, MONITASK, CICSTRAN, and PDB, but now
VMXGUOWT       have &PDB2ACC, &PMONTSK, &PCICTRN, and &PTY116 (&Pdddddd)
Jan  7, 2004   macro variable names for the LIBNAME/DDNAME, so they can
               be easily overridden, and to be consistent.
              -ERROR: OLD-STYLE MACRO NAME MUST CONTAIN ... in ASUMUOWT
               was corrected by redefining each old-style macro name to
               itself immediately before the %LET MACKEEP= statement.
               (see Change 21.244).
              -PSUUOW macro variable is no longer re-set in ASUMUOWT.
   Thanks to Chris Weston, ITRM Development, USA.

Change 21.266  Calculation of CPCMSU in PDB.RMFINTRV and PDB.ASUM70PR
VMXGRMFI       and PDB.ASUMCEC is now rounded to an integer, to more
VMXG70PR       closely match the IBM values.
Jan  5, 2004   CPCMSU - Announced MSU alue, calculated from SMF70CPA.
               CPCFNAME - MXG-created "standard" long name for the box.
               SU_SEC   - SRM "constant" value in SMF 72 record, changes
                          when the LPAR configuration is changed, cannot
                          be used to exactly calculate CPCMSU.
   Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.

Change 21.265  Variable SMF70LAC (IBM's 4-hr-avg-MSU) was incorrectly
VMAC7072       output in every observation in PDB.TYPE70PR, which made
Jan  5, 2004   the LPnLAC values identical for all LPARs.  This change
               recognizes SMF70LAC is a "this-partition-only" value and
               it is now non-missing only in PDB.TYPE70PR dataset from
               the 'this-partition' records, which will correct values
               of LPnLAC in PDB.ASUM70PR and PDB.ASUMCEC.  However, MXG
               must read the raw SMF type 70 records from each LPAR
               for the LPnLAC values to be completely non-missing.
   Thanks to Richard Ralston, Humana, USA.

Change 21.264  New utility %VGETSORT macro reads the contents of a SAS
VGETSORT       data library, and, for each dataset in that library, will
Jan  5, 2004   build a macro variable that contains the member name and
               the SORTEDBY variables,or UNSORTED if there is no SORTBY.
               This will be used to dynamically build a WEEKBLD/MONTHBLD
               process that will preserve the default sort order.

Change 21.263  Support for UniCenter NetMaster Automation Services SMF
EXNETM22       record with Event View, Resource View, and Server View
EXNETM30       Statistics creates two new datasets:
IMACNETM         DDDDDD Dataset  Description
TYPENETM         NETM22 NETM2200 Subtype 2000, 2200 Event View
TYPSNETM         NETM30 NETM3000 Subtype 3000, Resource/Service View
VMACNETM       Some problems exist with datetimestamps that are under
VMXGINIT       investigation, and no 2200/2000 data has been tested.
Jan  4, 2004
   Thanks to Andy Creet, Defence Computing Bureau, AUSTRALIA.

Change 21.262  WebSphere MQ Version 5.3 new variables SM115REL/SM116REL
VMAC115        with Version and Release ("531") is now kept in all MQ
VMAC116        datasets.  However, as there are no other changes in 5.3
Jan  3, 2004   DSECTS, except for these two new Release variables, MXG
Jan 23, 2004   21.05 or later supports MQ Version 5.3 SMF 115/116s.
              -Label for QPSTDMC is now SYNC, it was incorrectly ASYNC,
               a very important difference in this case, since Sync page
               writes can significantly delay transactions.
   Thanks to Don Deese, Computer Management Services, USA.

Change 21.261  Dataset TYPE74CF could have multiple observations, when
VMAC74         more than one SMF 74 subtype 4 record was written (due to
Jan  2, 2004   a large number of structures).  The MXG logic test to
               output TYPE74CF included variable SMF744SN, which has
               been removed, and only if the XN, GN, and PN segments are
               present in this SMF 74 record will TYPE74CF be output.
   Thanks to Art Cuneo, Health Care Service Corporation, USA.

Change 21.260  Macro compilation ERROR: A CHARACTER OPERAND .... is
UTILBLDP       corrected; this error was introduced in Change 21.231.
Jan  2, 2004
   Thanks to Scott Barry, SBBWOrks, Inc., USA.

Change 21.259  Using VMXGTIME to shift timezones caused MXG's calculated
VMACSMF        GMTOFFDB GMT offset to be wrong, and so QWACBSC/QWACESC
VMACDB2H       were also wrong.  DB2 has no GMT offset value in the SMF
VMAC110        records, but all timestamps are on the TODCLOCK, so MXG
VMACOMCI       compared SMFTIME with TODSTAMP values to create the GMT
Jan  2, 2004   offset, and then shift the DB2 timestamps to local zone.
               But when VMXGTIME is enabled, the SMFTIME was shifted in
               VMACSMF, before the GMT offset calculation in VMACDB2H,
               causing this error.  Variable UNMODSMF is now created and
               it contains the un-modified SMFTIME value, and UNMODSMF
               is used in VMXGDB2H to calculate the GMT Offset for DB2.
              -SMFTIME was also used in the calculation of UOWTIME, to
               find the FRSTBASE (epoch) of the 205-day-wrapping-clock.
               While that exposure is extremely small, UNMODSMF is
               also now used in that calculation.
   Thanks to Chuck Hopf, MBNA, USA.

Change 21.258  Label for variable ESFRLSAV in TYPE71 dataset revised to
VMAC71         ESTORE vice CSTORE, and ESFRLSAV=. is now set instead of
Dec 17, 2003   CSFRLSAV when ESFRLSAV is LT 0 (line 1412).
   Thanks to Jennifer C. Chu, State Street Corporation, USA.

Change 21.257  Output statement for ZRBSVPP dataset was relocated to
VMACRMFV       after the segment has been input, causing variables to be
Dec 17, 2003   populated.

Change 21.256  Variable CECSER now kept in PDB.TYPE70LP dataset.
VMXG70PR
Dec 17, 2003
   Thanks to Hugh Lapham, RCMP, CANADA.

Change 21.255  New BLDSMPDB builds an executable "BUILDPDB jobstream"
BLDSMPDB       that executes under either ASCII or EBCDIC SAS, reads an
Dec 16, 2003   SMF file to create the MXG recommended, enhanced, Daily
               "SMF" PDB library, optionally copies that daily PDB to
               the appropriate one-of-seven day-of-week PDBs, optionally
               updates the current Week-To-Date PDB library, optionally
               creates the Weekly PDB library from the seven dailies on
               the first day of your week, optionally creates the
               Monthly PDB on the 1st day of the month, and optionally
               updates your TREND PDBs.  First draft, to be revised.

               This program effectively implements the suggestions in
               the (still out of date documentation) ACHAP35 member.
   Thanks to Joe Key, BOC, ENGLAND.

Change 21.254  Revised.
TRNDDB2A
Dec 16, 2003

Change 21.253  New GLOBAL macro variables TRENDOLD, TRENDNEW, TRENDINP
VMXGINIT       default to TREND, TREND, and WEEK respectively, and will
Dec 16, 2003   be used in place of those hard-coded DDNAME/LIBNAMEs in
               the MXG Trend Members.

Change 21.252  Two ways to see RMF control blocks, happy values, SU_SEC:
RMFMON         one uses the LIST subcommand of the TSO TEST command,
Dec 16, 2003   a better one uses the SAS PEEK() function specifically to
               display the SU_SEC value in your z/OS system.

Change 21.251  SAS has a new SMFEXIT that adds SAS Version/Release, User
VMACSASU       and JOBID to the SAS User SMF record; those fields are
Dec 16, 2003   now input as variables SASVEREL, SASUSER, and SASJOBID.
               The revised SMFEXITs are available from SAS Institute at:
                http://ftp.sas.com/techsup/download/mvs/SMFEXIT.ASMSRC
   Thanks to David Heiniluoma, Commonwealth of Massachussets, USA.
   Thanks to Rich Anderson, SAS Institute, USA.

Change 21.250 -New ANALJOBN reads all job-related SMF records to count
ANALALL        how many records of which type and subtype were written
ANALJOBN       by each JOB, so you can track down which runaway JOB
VMXGPRAL       filled your SMF file.
Dec 12, 2003  -Existing ANALALL member (prints all variables and all
Dec 15, 2003   observations for all job-related datasets created by
               selected jobnames) was revised so only datasets with
               JOB name are created.
              -The VMXGPRAL utility (invokes PROCs PRINT or PROC MEANS
               against all datasets in a SAS data library:
                 %VMXGPRAL(DDNAME=WORK,NOBS=50);
               was enhanced with the NOFREQ= option used by ANALJOBN.
              -The confusing SAS NOTE on the log when VMXGPRAL was run:
                 "The variable NOBS exists on an input dataset, but was
                  also specified on an I/OI statment option. The
                  variable will not be included on any output data set."
               was eliminated, thanks to Charley.
   Thanks to Adam Floro, Southern Illinois University, USA.
   Thanks to Charley Mullin, SAS Technical Support, SAS Institute.

Change 21.249  TIC_UTIL in the NSPYTIC3 dataset was missing because the
VMACNSPY       wrong time per frame variables were used in the equation.
Dec 10, 2003   Jan 17: Typo NSPYTMFS corrected to NSPVVTMFS.
Jan 17, 2004
   Thanks to Steve Donahue, BCBS of Texas, USA.

Change 21.248  MWUX GLOB records with missing delimiter after the field
VMACMWUX       "Process Queue Histogram" and before "Process Waiting"
Dec  5, 2003   caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
               Circumvention coded while the vendor is being contacted.
   Thanks to Miguel Fernandez, Information Services International, USA.

====== Changes thru 21.247 were in MXG 21.07 dated Dec  2, 2003=========

Change 21.247  Support for MVS Solution's ThruPut Manager now supports
VMACTPMX       all of the fields created as of their latest version,
Dec  2, 2003   TMT5210, adding 259 new variables to TYPETPMX dataset.
   Thanks to Lawrence Jermyn, Fidelity Systems, USA.
   Thanks to Nancy DiFilippo, MVS Solutions Inc., CANADA.

Change 21.246  Cosmetic, sort of.  Text was added to two error messages
VMXGRMFI       to clarify their known causes:
Dec  1, 2003
              -If your workload definitions are incorrect:

           ***ERROR.RMFINTRV. WORKLOAD CPU TIMES DO NOT MATCH REAL CPU.
           YOU HAVE CPUTM=00:30:00 REAL CPU TIME IN SMF 72, BUT HAVE
           CPU72TM=00:45:00 CPU TIME IN YOUR WORKLOAD DEFINITIONS.
           AT STARTIME=30NOV2003:00:02:30.00 FOR SYSTEM=SYS1.
           THIS IS A SERIOUS ERROR IN YOUR TAILORING IN IMACWORK, OR
           IN RMFINTRV MEMBERS.  ALL OF YOUR WORKLOAD VARIABLES
           (BATXXXX, TSOXXXX, CICSXXXX AND THEIR SUMS
           (CPUTCBTM,CPUSRBTM,CPUHPTTM,CPU72TM) ARE WRONG.
           SEE TEXT OF CHANGE 15.138.

              -If MXG detects NEGATIVE UNCAPTURED CPU TIME in 70 vs 72:

           *** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
           *** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
           *** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
              FIRST: LOOK AT THE VALUES OF CPUTM AND CPU72TM, BELOW.
                     IF THEY ARE NOT EQUAL, THERE WAS AN EARLIER ERROR
                     MESSAGE:    ERROR.RMFINTRV. WORKLOAD CPU TIME...
                     TELLING YOU THIS ERROR IS DUE TO TAILORING OF YOUR
                     WORKLOAD DEFINITIONS IN IMACWORK OR RMFINTRV.
                     THIS MESSAGE IS PRINTED HERE FOR REINFORCEMENT.
             SECOND: LOOK AT THE VALUES OF CPUACTTM AND CPUEFFTM,
                     BELOW, IN THIS MESSAGE.  IF CPUEFFTM IS MORE
                     THAN CPUACCTM, THEN READ APAR II10549 ABOUT
                     SLOW COUPLING FACILITY AND HARDWARE PROBLEMS.
                     YOUR CE NEEDS TO OPEN A HARDWARE PMH TO FIX.
                     SEARCH MXG NEWSLTRS FOR II10549 FOR MORE INFO.
             THIRD:  IF NEITHER, THEN YOU HAVE BAD DATA IN YOUR 70/72
                     RECORDS. BMC CMF PRODUCT NEEDS CMF PTF BPM6782.
                     IBM RMF APARS OW28256 (1997) OR OY51878 (1992).
                     ONLY 2 INSTANCES OF THIS MESSAGE ARE PRINTED.
                     READ TEXT OF CHANGE 15.238 IN MEMBER CHANGES.
           *** ERROR. THIS IS A SERIOUS ERROR**********************
              CPUOVHTM=-00:00:01.40
              SYSTEM=PRD2 STARTIME=30NOV2003:00:30:00
              CPUACTTM=0:05.22.35 CPUEFFTM=0:05:59.77
              CPUTM=0:05:23.75 CPU72TM=0:05:23.75
               and you can see this error was for the Second case.

   Thanks to Hugh Lapham, RCMP, CANADA.

====== Changes thru 21.245 were in MXG 21.07 dated Nov 30, 2003=========

Change 21.245  Revisions to resolve errors and inconsistencies.
ASUMUOW
ASUMUOWT
ASUMUOTT
VMXGUOW
VMXGUOWT
VMXGUOTT
Nov 30, 2003

Change 21.244  Cosmetic cleanup after first MXG 21.07 QA runs:
ANALCNCR      -ANALCNCR.  UNINITIALIZED VARIABLE NEXTINTV/LASTINTV
VMXGTPFI       messages had no impact on the results, but have been
VMACOMDB       eliminated.
ANAL16        -VMXGTPFI revised to remove unneeded sorts and messages
Nov 28, 2003   about MXGSUM2.
              -VMACOMDB minor revisions to remove duplicate variables in
               FORMAT statement, and $CHAR instead of $EBCDIC for $HEX.
              -ANAL16 following INCLUDE of TYPE16 failed with message
                ERROR: OLD-STYLE MACRO NAME MUST CONTAIN ONLY LETTERS.
               because ANAL16 used %LET MACKEEP to redefine old-style
               macros.  Redefinition (MACRO _KTY16 _KTY16 %) inserted
               ANAL16 before the %LET MACKEEP re-definition, as noted in
               the DOCMXG comments related to use of %LET MACKEEP.

Change 21.243  Support for Candle Omegamon II for DB2 Historical D2540
EXDB0010       file creates 312 new datasets, based on the SAS code that
...310 more    Candle provided with the product.  This iteration
EXDB3370       supports DB2 V7.1; only forty-two of the datasets have
IMACOMDB       been populated with observations, and only cursory
TYPEOMDB       validation of formats, labels, etc., has been completed.
TYPSOMDB
VMACOMDB
Nov 24, 2003

Change 21.242  JCLTEST8 fails with VARIABLE OPERATOR NOT FOUND if your
ASUMCICS       CICS guru has Excluded OPERATOR or TERMINAL from CICSTRAN
JCLTEST8       dataset, because those two variables are historically in
Nov 24, 2003   in the default SUMBY list in MACRO _BSUCICS.
               - See Change 21.105: We no longer recommend ASUMCICS be
                 used, since it summarizes transaction segments instead
                 of unit-of-work transactions.
                 Instead, you should create PDB.ASUMUOW and then use the
                 ASUMCICX program to create PDB.CICS summary dataset:
                     %INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
                 (and you need to tailor IMACUOW - read its comments).

               - You should always use ASUMUOW, even if you don't have
                 DB2 data, to combine CICS MRO segments together to get
                 correct TRANNAME, etc.  If you do not create the
                 PDB.DB2ACCT dataset, you can create a zero-observation
                 DB2ACCT dataset to satisfy ASUMUOW, using:
                    OPTIONS OBS=0;
                    %INCLUDE SOURCLIB(TYPEDB2);
                    RUN;
                    OPTIONS OBS=MAX;RUN;
                    &INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);

               - If you still must create PDB.CICS from CICSTRAN, you
                 can re-define the old SUMBY list "instream":
                 //SYSIN DD *
                   %LET MACKEEP=
                        MACRO _BSUCICS APPLID USER STRTTIME TRANNAME
                                       SYSTEM SHIFT %
                    ;
                    %INCLUDE SOURCLIB(ASUMCICS);
                 to remove the OPERATOR and TERMINAL variables.
               - But so you don't get blindsided during testing with my
                 defaults,
                   One site with excluded fields had never used ASUMCICS
                   but their "clean running" JCLTEST8 job failed.
                 this change added "compiler fakers' in ASUMCICS to
                 create one-byte OPERATOR/TERMINAL variables when they
                 do not exist in your CICSTRAN.
               Jan 25, 2004 Update: You can now use the VMXGSUME member
               created in Change 21.277, and not have to modify ASUMCICS
               or ASUMUOW to deal with dropped variables.

Change 21.241  Revised support for Hewlett Packards MeasureWare for HPUX
VMACMWUX       now a/k/a OVPA.
Nov 22, 2003  -DISKKBYT,KBYTRATE,PREADKBS,PWRITKBS are mult by 1024.
              -GLOBAL Transaction variables no input by default
              -The REPORT ALL command in ADOCMWUX is the command to use
               that creates the MXG-expected data fields.
              -Many TRAN fields were removed as they are not in the HP
               default REPTALL, and I had no test data to validate with.
   Thanks to Tony Steward, Royal Mail, ENGLAND.
   Thanks to Miguel Fernandez, Information Services International, USA.

Change 21.240  Support for new S4RSP7CT in STID=124 CICS Statistics data
VMAC110        record.  Caused "FOUND WITH SKIPPED FIELDS" warning with
Nov 21, 2003   STID=124,SKIP=4,STILEN=120, but no error.
   Thanks to Tim Vanderhoek, Fidelity Systems, USA.

Change 21.239  The ability to read multiple PDB libraries was lost in a
ANALDB2R       prior change, but has been restored, so you can again use
Nov 20, 2003   the documented syntax PDB=MON TUE WED THU FRI SAT SUN,
               to read multiple PDBs as input to ANALDB2R.
   Thanks to Bill Bonfitto, MassMutual Financial Group, USA.

Change 21.238  Dataset TYPE74DU (RMF DUPLEX COUPLING FACILITY) was trash
VMAC74         because the offset SMF744RO is unlike other RMF offsets.
Nov 20, 2003   It is from the first data byte and not from the RDW, so
               SMF744RO=SMF744RO-3 used to calculate the byte location
               had to be deleted.  And with data to look at, the two sum
               of squares R744RSSS and R744RSSD are actually &PIB.8 and
               not the &RB.8 that I had assumed.
   Thanks to Tom Draeger, Aurora Health Care, USA.

Change 21.237  New ASUMUOTT member creates new PDB.ASUMUOTT from the
ASUMUOTT       ASG-Landmark DB2 TMDBDB2 dataset and ASG-Landmark CICS
EXTMDDB2       MONITASK dataset.  The output is named PDB.ASUMUOTT,
IMACUOTT       even though it is logically the same as PDB.ASUMUOW,
JCLUOTT        because the TMDBDB2 variable names are used instead of
VMACTMDB       the DB2ACCT names.
VMXGUOTT      -Member VMACTMDB was modified to create the DB2PARTY
Nov 19, 2003   variable, to identify DB2 Parallel event records (see
Nov 30, 2003   Change 14.287).
               Formats MGDB2RC and MGDB2LM applied to RINV/PREC vars.
               All ACE vars are now all numeric, $HEX8. &MXGBYLN.
               All /4096 are now formatted TIME12.2.
              -Member EXTMDDB2 was revised to use DB2PARTY to delete
               events that should not be output (see Change 19.027).
              -Member JCLUOTT is a standalong example to read the raw
               TMON CICS and TMON DB2 files to create PDB.ASUMUOW.
              -Member VMACDB2, variable QWACLRAB now formatted MGBYTES.
               Nov 30:
               New member ASUMUOWT and VMXGUOWT created to support the
               combination of MONITASK.MONITASK and DB2ACCT.DB2ACCT.
   Thanks to Hamid Tavakolian, CSC, USA.

Change 21.236  The ASMRMFV member in MXG 21.06 was an earlier iteration
ASMRMFV        that did not include the enhancements in Change 21.186.
Nov 18, 2003   I copied the wrong member into the source library.  The
               ASMRMFV at Change 21.236 dated Nov 18, 2003 (or later)
               contains that major revision to the ASM program for the
               RMF III VSAM data; Change 21.228 added VMACRMFV support.

Change 21.235  Variable CPCFNAME, the CPC FULL NAME (2064216) created in
VMXG70PR       PDB.RMFINTRV, is now also created in PDB.ASUM70PR and in
Nov 18, 2003   PDB.ASUM70LP datasets.
   Thanks to Kenneth D. Jones, xwave, CANADA.

Change 21.234  Test for '2084'X added, but only needed if  OS/390 R2.10
VMXGRMFI       with SMF70WLA=. (i.e., do not have the APAR that added
Nov 18, 2003   SMF70WLA installed) is running on a z990.

Change 21.233  Support for Fujitsu Siemens openFT file transfer propgram
FORMATS        user SMF record creates new OPENFT dataset for each SMF
EXOPENFT       event record.
IMACOPFT
TYPEOPFT
TYPSOPFT
VMACOPFT
VMXGINIT
Nov 17, 2003
   Thanks to Wolfgang Prescher, Itellium, GERMANY

Change 21.232  Replaced change.

Change 21.231  Now, USERADD=80 USERADD=90 cause the TYPE80A or TYPE90A
UTILBLDP       code to be generated, and not TYPE80 nor TYPE90, which
Nov 17, 2003   were replaced by their "A" counterparts.  MXG's original
               logic for RACF TYPE80 and OPERATOR COMMAND TYPE90 created
               one TYPE80/TYPE90 dataset with hundreds of variables; the
               "A" replacements create many TYPE80nn/TYPE90nn datasets,
               one for each event with only that event's variables kept.
               You can see what events occurred, just by looking at the
               non-zero observation counts for each dataset on the log.
                  Previously: "USERADD=90," created obs in TYPE90, but
                  "USERADD=90 90A," generated both _CDE90 and _CDE90A
                  segments, and that first  ELSE IF ID=90 ...  in _CDE90
                  prevented _CDE90A from being executed, so there were
                  never any obs in any of the TYPE90nn datasets.
   Thanks to Gadi Ben-Avi, Malam Systems Ltd, ISRAEL.

====== Changes thru 21.230 were in MXG 21.06 dated Nov 12, 2003=========

Change 21.230  SAS V6 Only.  OUT OF MEMORY error with MXG 21.04+ because
VMXGCICI       the ORDER= argument "clean up" by Change 21.152 increased
Nov 11, 2003   the number of lines which exceeded the maximum size of a
               SAS V6 macro argument.  Compacting the lines reduced the
               total bytes and the code now executes under V6 or V8+.
   Thanks to Kelvin Wells, ScaleOn GmbH, GERMANY.

Change 21.229 -Variable CPUTM=SUM(PRODTCB,PRODSRB) added to TYPE89 data
VMAC89         set for consistency; MXG datasets with multiple CPU Time
Nov 11, 2003   measurements were intended to always have variable CPUTM
               as the total, unoverlapped, billable, etc., CPU time, but
               TYPE89 was overlooked.
   Thanks to Jake M. Drew, MBNA, USA.

====== Changes thru 21.228 were in MXG 21.06 dated Nov 10, 2003=========

Change 21.228  Support for RMF III ASMRMFV data added by Change 21.186.
EXZRBRCB        - CFI segment creates ZRBCFI dataset
EXZRBRCD        - RCD segment creates multiple datasets:
EXZRBRCP           ZRBRCB     ZRBRCDB   RMFIII RESPONSE TIME BUCKETS
EXZRBRCR           ZRBRCS     ZRBRCDS   RMFIII SERVICE CLASS
EXZRBRCS           ZRBRCR     ZRBRCDR   RMFIII REPORT CLASS
EXZRBRCT           ZRBRCP     ZRBRCDP   RMFIII PERIOD
EXZRBSVG           ZRBRCT     ZRBRCDT   RMFIII RESPONSE TIME COUNTS
EXZRBSVP           ZRBRCD     ZRBRCDD   RMFIII SUBSYSTEM DELAY
EXZRRCFI        - SVP segment creates multiple datasets:
EXZRRSVC           ZRBSVP     ZRBSVPP   RMFIII SERVICE POLICY
EXZRRSVR           ZRBSVW     ZRBSVPW   RMFIII SERVPOLICY WORKLOAD DEFN
EXZRRSVW           ZRBSVC     ZRBSVPC   RMFIII SERVPOLICY SRVCLASS DEFN
EXZRRSVZ           ZRBSVZ     ZRBSVPZ   RMFIII SERVPOLCY SRVCLASS PERIOD
IMACRMFV           ZRBSVR     ZRBSVPR   RMFIII SERVPOLICY REPORC CL DEFN
VMACRMFV           ZRBSVG     ZRBSVPG   RMFIII SERVPOLICY RESOURCE GROUP
VMXGINIT        - UWD segments produce warnings (first five) that will
Nov  9, 2003      will be investigated, and only cursory validation of
                  all of the new data has been accomplished.  Some back
                  end merges/unions may be necessary, and/or there may
                  be some variables that need to be carried forwared,
                  but that awaits someone who really wants to use these
                  new data segments, but lots of the data is already in
                  the TYPE7xxx RMF Monitor I data.

Change 21.227  Final Cleanup after full QA runs:
ANALDBTR      -ANALDBTR updated to include all pairs datasets; I183R183
ANALDB2R       was changed to S183S183 for consistency in pair names.
CONFIG        -Archaic CONFIG member for SAS V6 specifies MEMSIZE=128M.
JCLTEST6      -VMAC6,IMAC6ESS ESSPIMSG/ST spellings corrected, all vars
IMAC6ESS       in DROP and KEEPs.
VMAC6ESS
Nov  8, 2003
   Thanks to Freddie Arie, TXU, USA.
   Thanks to Bruce Widlund, Merrill Consultants, USA>

====== Changes thru 21.226 were in MXG 21.06 dated Nov  7, 2003=========

Change 21.226  Support for GEPARMKY=000B in Extended SMF 6 ESS data now
IMAC6ESS       creates ESSDEFAU variable if IMAC6ESS is enabled to
VMAC6          decode those optional ESS data fields.
Nov  7, 2003
   Thanks to Engelbert Smets, Provinzial Rheinland Versicher, GERMANY

Change 21.225 -PDB.RMFINTRV workload definitions can now be based on the
VMXGRMFI       WORKLOAD name, variable WKLDNAME, instead of a long list
Nov  7, 2003   of Service Class Names, by this enhancement that adds an
               eight value to the WORK= argument.
                Caveats:  USECNTRL must be YES or GOAL, or nothing will
                        be found.  And if you mix up workloads, service
                        classes, and reporting classes, the UTILRMFI
                        can't help you figure out what you've done wrong
                        because WORKLOAD doesn't exist in TYPE30 SMF.
              -The SPIN logic to detect existence was enhanced.
              -Note that if both SRVCLASS and WORKLOAD are specified,
               that WORKnn workload will include all observations that
               match either the SRVCLASS or the WORKLOAD names, so you
               must be careful to avoid any overlap.
   Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
   Thanks to ??? who actually asked for it earlier.  Identify yourself.

Change 21.224  New QAPMCONF variables GDESIL/GDESIT/GDESPU were missing
VMACQACS       values because they were not in the RETAIN statement, and
Nov  6, 2003   the configuration file has one record per parameter; all
Nov 10, 2003   GDESxxxx variables are now RETAINed.
              -New variables GDESIL/GDESIT/GDESDL/GDESDT had incorrect
               values; they are now input as PIB2.1 instead of PIB4.1;
               I misread the OS/400 description of B(4,1) as being a
               four byte field.
              -New variable GDES18 decodes the GDESKEY='18' record.
              -Variables GDESAP and GDESAT are addresses, and are now
               formatted as MGBYTES (so they print 255G for 255 GBytes).
              -Variable GDESI, interval value, was multiplied twice by
               60, causing an incorrect value.
   Thanks to Jim Wertenberger, Antares Management Solutions, USA.
   Thanks to Al Kadowaki, IBM Corporation, USA.

Change 21.223  CA-VIEW TYPESARR user SMF records caused INPUT STATEMENT
VMACSARR       EXCEEDED RECORD LENGTH error because MXG used $VARYING40.
Nov  6, 2003   but one instance had 45 characters.  Now use $VARYING80.,
               and protection was added if the text length is greater
               than 80.  Then I realized these character variables were
               not even output (probably because I didn't have any data
               with index data), so the subtype 30/31 datasets now have
               variables SV30/31INAM,SV30/31IVAL,SV30/312VAL,SV30/313VAL
               with the Index name and the first three index values.
   Thanks to John Rivest, TDS, USA.

Change 21.222  SAS Version 6 ERROR 29-185 WIDTH INVALID $EBCDIC255 when
VMAC102        MXG was executed under SAS V6, which limited character
VMAC110        variables to 200 bytes.  While execution under SAS V8.2
VMXGINIT       or later is STRONGLY RECOMMENDED, it was my intention to
Nov  3, 2003   support execution under V6 for all of the "standard" code
Nov 27, 2003   members, so this oversight was corrected with a new macro
               variable &EBC255 that will input $EBCDIC200. +55 for V6.
               These new products require execution under SAS V8:
                 TYPEAIX    -  AIX Performance Tool
                 TYPETMTC   -  TMON ASG-Landmark TCP/IP monitor
                 TYPEWWW    -  Web Logs
                 TYPEOMDB   -  Omegamon II for DB2 Historical File
              -In addition, a $VARYING250 in VMAC102 was changed to only
               read in the first 200 bytes with $VARYING200.
   Thanks to Kevin Wells, ScaleOn Gmbh & Co KG, GERMANY.

Change 21.221 -MXG Web Log processing of data with negative GMT offset
VMACWWW        caused INVALID ARGUMENT messages, and causing variable
Oct 31, 2003   GMTOFFTM to be missing, but ENDTIME was correct.
Nov  5, 2003  -ELAPSTM was missing value in IIS logs due to typo, and
               is now formatted TIME8.
   Thanks to Robert Gauthier, Albertsons, USA.

Change 21.220  FLASH: MXG 21.07 is required for PDB.ASUMUOW to have all
ASUMCICX       reported errors fixed.  If you use JCLUOWV from an
ASUMUOW        earlier MXG version, or use VMXGUOW, ASUMUOW, ASUMUOWT on
ASUMUOWT       Landmark MONITASK data to build PDB.ASUMUOW, you're at
JCLUOWP        risk of having incorrect data, like missing values for
JCLUOWV        STRTTIME, or your perfectly running BUILDPDB can ABEND
VMACTMO2       with DATASET DB2ACCT NOT SORTED or with the VARIABLES NOT
VMXGUOW        FOUND error condition.  We have had a series of
Oct 30, 2003   architectural revisions to correct the sort sequence for
Nov 30, 2003   LU 6.2 transactions, and corrections to that redesign,
               and restructured into ASUMUOW for IBM CICSTRAN and
               ASUMUOWT for ASG MONITASK data, to eliminate double
               mounts of tape libraries, and only now does it appear
               we've fixed everything or at least documented that you
               must use the JCLUOWV or JCLUOWP members from MXG 21.06,
               due to these changes:
                 Change 21.194 - Added Variables
                 Change 21.147 - Populated STRTTIME
                 Change 21.134 - MONITASK fixed
                 Change 21.093 - SYSTEM blank, cleanup
                 Change 21.076 - Stored Procedure vars added
                 Change 21.062 - SORT ORDER CHANGED, vars dropped
                 Change 21.237 - ASUMUOWT fixed
               This change is only documenation of the INCOMPATIBLE
               changes that have been made to this very-important MXG
               program that we strongly suggest you use to put the DB2
               and CICS transaction data together.
   Thanks to Larry Nova, Transamerica, USA.

Change 21.219  Support for IBM Tivoli Storage Manager Accounting Records
EXTSMACC       creates new TSMACCT dataset when data files are
IMACTSMA       transferred, with counts of transactions and bytes
TYPETSMA       transferred.
TYPSTSMA
VMACTSMA
VMXGINIT
Oct 27, 2003
   Thanks to Simone Niemczura, Sungard, USA.

Change 21.218  Six variables in TYPE71 had "AVAILABLE ..USED" in the
VMAC71         label, but the "USED" did not belong, as all count the
Sep 24, 2003   number of available, not used, frames:
                AVLEXTAV AVLEXTMN AVLEXTMX PVTAFCAV PVTAFCMN PVTAFCMX
   Thanks to Tom Buie, Southern California Edison, USA.

Change 21.217  Support for SMF 99 subtype 7 PAV Device data creates new
EXTY99U7       TYPE997 dataset.  Observations are only output if there
IMAC99         were activit