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

CHANGE 12.12

 
=========================member=CHANGE12================================

 /* COPYRIGHT (C) 1984-1995 MERRILL CONSULTANTS DALLAS TEXAS USA */

This is MXG Version 12.12A, dated Mar 20, 1995, thru 12.328.

     MXG Version 12.12A is  dated Mar 20, 1995, thru Change 12.328
     MXG Version 12.12  was dated Mar  1, 1995, thru Change 12.314
     MXG Newsletter TWENTY-SEVEN, Mar  1, 1995, thru Change 12.306
     MXG Version 12.07  was dated Feb  6, 1995, thru Change 12.290
     MXG Version 12.06  was dated Jan  9, 1995, thru Change 12.240
     MXG Version 12.05  was dated Nov 20, 1994, thru Change 12.218
     MXG Version 12.04A was dated Oct 23, 1994, thru Change 12.192
     MXG Version 12.04  was dated Sep 30, 1994, thru Change 12.169
     MXG Version 12.03A was dated Aug 17, 1994, thru Change 12.140
     MXG Newsletter TWENTY-SIX,   Aug  4, 1994, thru Change 12.128
     MXG Version 12.03  was dated Aug  4, 1994, thru Change 12.128
     MXG Version 12.02  was dated Jul  4, 1994, thru Change 12.084
     MXG Version 12.01A was dated Jun 15, 1994, thru Change 12.056
     MXG Version 12.01  was dated Jun  1, 1994, thru Change 12.047
     MXG Version 11.11  was dated Mar 26, 1994, thru Change 11.361
     MXG Newsletter TWENTY-FIVE,  Mar 26, 1994, thru Change 11.347

 See member NEWSLTRS for text of Newsletter TWENTY-SEVEN of 1Mar95.

Contents:

I.    MXG Software Version 12.12A, dated Mar 20, 1995.
III.  MVS Technical Notes not printed in Newsletter TWENTY-SEVEN.
VIII. Incompatibilities and Installation of MXG 12.12A.
 1.   Members IMAC7072 IMAC74   IMACDB2 IMACPDB  IMACWORK
              IMACTMNT MONTHBLD WEEKBLD IMACCICS TYPEQAPM changed.
 2.   Installation instructions.
IX.   Online Documentation of MXG Software.
X.    Changes Log

I. MXG Software Version 12.12A, dated Mar 20, 1995, contains these major
   enhancements:

   Major enhancements added in MXG 12.12A dated Mar 20, 1995:

    Twelve MXG 12.12 members had errors that are now fixed:

      ANALCNCR ANALDB2C ANALDB2R ANALPATH ANALTALO IMACICSA
      TRNDTALO VMAC80A  VMAC110  VMACILKA TYPEMON8 TYPETMON

    Support for Memorex/Telex LMS Version 3.1 (INCOMPATIBLE).

   Major enhancements added in MXG 12.12 dated Mar  1, 1995:

    Support for OS/400 AS/400 Version 3.1.0 INCOMPATIBLE.
    Support for PR/SM APAR OW078986 adds "MVS Wait" to "LPAR Waits"
    Support for Type 99 Subtype 1 added.
    Support for CICSAO availability measurement SMF written by CICSAC.
    Support for Mitchem's ACC/SRS user SMF record.
    Support for LEGENT SAR Cross Memory Session Logoff user SMF record.
    Support for Network Systems DXE channel RDS user SMF.
    Support for Velocity Software XAMAP Version 2.2.
    Support for CICSAO user SMF record for CICS availability.
    Support for Boole & Babbage IMF Version 3.1 (for IMS 5.0).
    Support for VAX/VMS Accounting and Performance data.
    Amdahl's MDF now populates TYPE70PR/ASUM70PR with valid CPU time.
    Candle's ITRF product-error corrections have been validated.
    RACF TYPE80A enhanced to decode RACF commands of interest.
    REXX program to convert DB2 GTF records to SMF format for MXG.
    ANALPGNS reports CPU utilization by Performance Group.
    ANALDB2R Support for DB2 Version 3.1 DB2PM-like reports.
    ANALMTP Analysis of Tape Mounts Concurrently Waiting.
    ANALRMFR enhanced, selection by storage class, device, LCU added.
    XMXGSUM replacement for VMXGSUM is ready for full use.

   Major enhancements added in MXG 12.07 dated Feb  6, 1995:

    Support for TCP/IP Version 3.1 (incompatible).
    Support for RMDS Version 2.1 (incompatible).
    Support for TPX 4.0 (compatible with one line edit).
    Support for RMF Monitor III ("ZRB") for MVS/ESA 4.3 - partial.
    Support for Xerox Print Service Manager XPSM SMF record.
    Support for BGS's BEST/1 I/O Monitor SMF record.
    Support for Boole & Babbage CMF VSAM MRR records.
    %ANALCNCR algorithm for concurrency analysis (inits, tapes, etc.)
    Circumvention for CACHE90 zero observations with RAMAC devices.
    New TYPE72DL dataset for MVS/ESA 5.1 Goal Mode

   Major enhancements added in MXG 12.06 dated Jan  9, 1995:

    Support for NETSPY 4.5. Compatible except for LU6.2 NSPYAPPL data.
    Support for Innovation Processing's IAM user SMF record.
    VM/ESA 2.2 Scheduler records supported.
    Invalid DB2 type 101 SMF record workaround (fix is APAR PN63234).
    Revised ANALPATH reporting for MVS I/O Path analysis.
    Final (?) enhancements for VMXGSUM parsing of all dataset options.

   Major enhancements added in MXG 12.05 dated Nov 20, 1994:

    Support for MQM 1.1.2 Performance Statistics type 115 SMF record.
    Support for MQM 1.1.2 Accounting type 116 SMF record.
    Support for Omegamon for CICS V100 and V300 SMF.
    Support for Landmark Monitor for MVS Release 1.3 enhanced.
    Support for InfoAccess Release 5.1 user SMF record.
    Support for HSM APAR OW05988, adds CPU time to FSR!
    Support for Sterling Software's ASM V3.0.0 type 39 records.
    Support for CA/SQL user SMF record (same as IDMS/R records).
    Support for S/390 Parallel Query Server SPQS SMF 123 started.
    Correction for NPM 2.2 NPMVSaaa datasets.
    CICS Utility UTILCICS now identifies type 110s from Omegamon.
    New dataset PDB.TYPE72SC for Goal Mode Server data.
    Type 42 technical note, removal of GMT offset calculation.

   Major enhancements added in MXG 12.04A  dated Oct 23, 1994:

    Support for Omegamon for VTAM V160 (Incompatible).
    Correction to MXG 12.04-only errors:
      Type 28 Input Statement EXCEEDED error message.
      MXG Tape Unload caused return code 4, extra members unloaded.
      UTILCICS failed with syntax error
    Correction to SAP Accounting under IMS.
    Correction to NETSPY Token-Ring TIC-UTIL in NSPYTR - was too large.
    Correction to TYPE42 STARTIME/ENDTIME - may be on GMT clock.
    Technical note on Memory measurement in MVS Technical Notes.

   Major enhancements added in MXG 12.04  dated Sep 30, 1994:

    All "Chapter 99 CodeSharks" now honored in ACHAP99.
    Support for CICS/ESA 4.1.0 (compatible) adds important new measures.
    Support for NPM 2.2 (compatible, but new subtypes).
    Support for LEGENT's TSO/MON 6.1 (compatible).
    Support for Landmark TMON Monitor for CICS/ESA 1.3 (incompatible).
    Support for Landmark TMON Monitor for DB2.
    Support for STK ICEBERG SMF record subtype 5.
    Support for CA's TELEVIEW user SMF record.
    Support for APARs OW00484/UW06888/others corrupt TYPE1415 variables.
    DB2STATS variables QB3Taaaa/QB4Taaaa corrected.
    TYPE37 Short LAND segment INPUT STATEMENT EXCEEDED corrected.

   Major enhancements added in MXG 12.03A dated Aug 17, 1994:

    Support for APAF 2.2 (incompatible).
    Support for TLMS Release 5.4 (incompatible).
    Support for BETA93 1.6.1 validated (it was incomplete in MXG 12.03).
    Further DB2 3.1 corrections in TYPEDB2 and TYPE102 support.

   Major enhancements added in MXG 12.03 dated Aug 4, 1994:

    Support for MVS/ESA 5.1 Type 99 Subtype 2 record.
    Support for LEGENT's ASTEX Release 2.0.
    Support for UniKix Release 4.1 Binary File
    Support for EMPACT's HIPER-CACHE Version 1.1.1.
    Support for SMF Type 50 VTAM Tuning APAR OW04453.
    Support for RSD's WSF Release 3.5.1.
    Support for Omegamon II for SMS V100/V110.
    Support for BETA93 user SMF record.
    MXG Tape Mount and Tape Allocation Monitor errors now works!
    Correction for NPM Release 2.0 subtypes 214 thru 219.
    Additional DB2 3.1 Trace IFCIDs supported.
    Analysis ANALDB2C matches CICSTRAN observations with DB2ACCT.

   Major enhancements added in MXG 12.02 dated Jul 4, 1994:

    MXG Tape Mount and Allocation Monitor was revised, new reports.
    Support for IBM's CRR 1.6 (3990-3 and 3990-6) (incompatible).
    Support for DFSMS 1.2 changes to DCOLLECT (compatible).
    Support for MEMO subtype 6 record.
    Support for TCP/IP APAR PN34837 new field (compatible).
    Support for MVS APAR OW00884/UW06821 - (no impact, see MVS Notes).
    Support for IMS 4.1 Log Records (see IMS Technical Notes)

   Major enhancements added in MXG 12.01 dated Jun 15, 1994:

    Support for MVS/ESA 5.1 many new datasets (Goal Mode Incompatible).
    Support for Measured Usage SMF Record 89 and changes to type 30.
    DB2 Version 3.1 Buffer Pool statistics were incorrect in MXG 11.11.
    OPC Version 1.2.0 had INPUT STATEMENT EXCEEDED error with MXG 11.11,
     but change 12.002 corrects, plus adds support for split records!
    Problem with Cache RMF Reporter Records discussed in Newsletter 25
     are actually fixed by MVS APAR OW01787.
    ANALDSET/ANALBLSR routines were corrected in Change 12.001.


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

    Table of availability dates for the IBM products and MXG version:

                                       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     1991.        9.9
      MVS/ESA 4.3                      Mar 23  1993.       10.10
      MVS/ESA 5.1.0                    Jun 24  1994        12.02
      MVS/ESA 5.2.0                    ??? ??  ????        13.??
      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.       12.04
      CICS/ESA ?.?                     ??? ??, ????.       13.??
      CRR 1.6                          Jun 24, 1994.       12.02
      DB2 2.2.0                                1990         8.8
      DB2 2.3.0                        Oct 28, 1991.       10.01
      DB2 3.1.0                        Dec 17, 1993.       12.04
      DB2 4.1.0                        ??? ??, ????.       13.??
      DFSMS/MVS 1.1                    Mar 13, 1993.       11.11
      DFSMS/MVS 1.2                    Jun 24, 1994.       12.02
      NPM 2.0                          Dec 17, 1993.       12.03
      NPM 2.2                          Aug 29, 1994.       12.05
      VM/ESA  1.1.1                    Dec 27, 1991.       10.01
      VM/ESA  2.0                      Dec 23, 1992.       10.04
      VM/ESA  2.1                      Jun 27, 1993.       12.02
      VM/ESA  2.2                      ??? ??, 1994.       12.06

    Table MXG support for non-IBM products:

                                       Availability     MXG Version
      Product Name                     Date              Required

      Landmark
       The Monitor for CICS/ESA 1.3                        12.12
       The Monitor for MVS/ESA 1.3                         12.05
      Candle
       OMEGAMON for CICS V300 User SMF Record              12.05
      Boole & Babbage
       IMF 3.1 (for IMS 5.1)                               12.12


III.  MVS Technical Notes not printed in Newsletter TWENTY-SEVEN.

 1. APAR OW06770 and QW09814 (PTFs UW10049 and UW14370) correct type 72
    wrong values in MVS/ESA 5.1 fields SMF72ACT SMF72SER SMF72MTS
    SMF72ITS SMF72CTS SMF72TAT and SMF72STS.  Bad values occured in any
    interval in which a CICS region was FORCED or a batch job terminated
    at end of memory.  The bad values were all '7FFFFFFF'x, which in MXG
    (being read as PIB4.) is 2,147,483,647!

 2. Boole & Babbage CMF 5.1 creates RMF records with incorrect STARTIME
    when SYNC is specified, which causes MXG's RMFINTRV dataset to see
    incorrect uncaptured CPU times.  Boole's fix is BPM5061.  Another
    symptom is a difference of 1 second between the STARTIME in the type
    70 and the STARTIME in the type 71 records.

VIII. Incompatibilities and Installation of MXG 12.12.

 1. Incompatibilities introduced in MXG 12.12 (since MXG 11.11):

  a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
     must refit your tailoring, starting with the new IMAC member):

       IMAC7072  IMAC74  IMACDB2   IMACPDB   IMACWORK IMACTMNT
       MONTHBLD  WEEKBLD IMACCICS

  b- The JCL for processing the OPC log requires two new DDNAMES so that
     the OPC spanned records can be reconstructed and read by MXG.  See
     comments in member VMACOPC.  Member JCLTEST6 was changed also.

  c- The JCL for AS/400 processing with TYPEQAPM requires //QAPMIOPD DD
     added. See Change 12.292

  d- ASUMTALO was incompatibly changed in MXG 12.12, so early users of
     the Tape Mount and Allocation Monitor analysis will need to rebuild
     PDB.ASUMTALO (by %INCLUDE SOURCLIB(ASUMTALO) against each PDB that
     they want to include), so that TRNDTALO will trend tape allocation.

  e- These products were incompatibly changed by their vendor, and they
     require MXG 12.12 (or at least the MXG 12.xx indicated):

     MVS/ESA 5.1 (Goal Mode)     Change 12.034     MXG 12.02
     OS/400 Version 3.1.0        Change 12.292     MXG 12.12
     TCP/IP Version 3.1          Change 12.257     MXG 12.12
     RMDS Version 2.1            Change 12.264     MXG 12.12
     Omegamon for VTAM V160      Change 12.186     MXG 12.04A
     Landmark CICS Version 1.3   Change 12.151     MXG 12.12
     Landmark MVS Version 1.3    Change 12.191     MXG 12.05
     APAF 2.2                    Change 12.138     MXG 12.12
     TLMS Release 5.4            Change 12.136     MXG 12.03A
     Cache RMF Reporter 1.6      Change 12.070     MXG 12.12


 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:
    Summary:
     a. Install member MXGSAS as JCL Procedure MXGSAS in your PROCLIB.
     b. Allocate a 90-cyl PDS:  MXG.V1212.MXG.SOURCLIB, and use IEBUPDTE
        to read the MXG tape to create the 2500+ member Source Library.
     c. Allocate a 1-cyl PDS:  MXG.V1212.USERID.SOURCLIB for your site
        "Installation Tailoring" Source Library.  Installation specific
        tailoring (like telling MXG your shift hours, which performance
        groups are TSO, CICS, etc.) is done by copying and modifying MXG
        source members into V1212.USERID.SOURCLIB.
     d. Allocate a 1-cyl SAS Data Library:  MXG.V1212.MXG.FORMATS and
        execute SAS to create the library of Formats required by MXG.
     e. If this is the initial install of MXG, tailor these members into
        your MXG.V1212.USERID.SOURCLIB tailoring library:
          IMACACCT (Account Length),
          IMACSHFT (Shift Definitions),
          IMACWORK (Performance Group to Workload mapping), and
          IMACSPIN (for BUILDPDB).
        Each IMAC member is self-documenting, and IMACAAAA is the index
        of all of the IMACs.  You should at least scan IMACAAAA to see
        the acronyms MXG uses for the many products MXG supports.
     e. If re-installing MXG, copy your existing USERID.SOURCLIB library
        members into the MXG.V1212.USERID.SOURCLIB.  Then, compare the
        members in your USERID.SOURCLIB with the list of members that
        were incompatibly changed (above, in this section) in this MXG.
        If any of the incompatibly changed members exist in your dataset
        MXG.V1212.USERID.SOURCLIB, then you must reinstall your site's
        tailoring for that IMAC, starting with the IMAC member from the
        MXG 12.12 Source Library.
     f. EDIT and submit member JCLTEST6 to verify that your tailoring
        did not create any errors.
     g. EDIT and submit JCLPDB6 to create a Daily PDB for testing.  Or
        use the TYPE.... members to process specific data sources, use
        the ANAL.... members for report examples, the GRAF.... members
        for SAS/GRAPH reports.

     You have now installed MXG 12.12 in its own set of libraries. When
     parallel testing is complete and are ready to implement MXG 12.12
     in production, rename your three current MXG Production Libraries
     (MXG.MXG.SOURCLIB, MXG.USERID.SOURCLIB, and MXG.MXG.FORMATS) to
     (MXG.BACK.MXG.SOURCLIB, MXG.BACK.USERID.SOURCLIB, MXG.BACK.MXG....)
     and rename the MXG.V1212.x.y libraries to their Production names!

     Again, detailed installation instructions are in member INSTALL

Always read comments in the CHANGES member for compatibility issues, as
well as for any last minute changes.

Whenever you install changes or test a new version of MXG (or even your
own reports), be extra careful to look on the SAS log for any real error
conditions.  Search for all occurrences of "ERROR:", "ERROR :", " NOT "
"UNINITIALIZED", "TRUNCATED", "NEVER BEEN", "NOT FOUND", "CONVERT",
"APPARENT", and "NOT CATLGD", as they usually indicate a serious error.


A PROC PRINT and a PROC MEANS of each new MXG-built SAS dataset can help
you to understand their contents, and should be used to examine any
unusually large, negative, or suspicious values.  Print all variables in
the dataset, and read the variable's descriptions in its ADOC member.

IX.   Online Documentation of MXG Software.

Beginning with MXG 11.11, the contents of the two MXG Books, (the 1984
MXG Guide, and the 1987 MXG Supplement) are contained in the MXG Source
Library, as are all MXG Technical Newsletters and all MXG Changes, so
all MXG documentation is actually online in the software itself; even
the Installation Instructions are online, in members INSTALL/JCLINSTL!

ACHAPxxx members are the text of the 42 chapters from the two MXG books,
to which the text from newsletters and changes has been added.  Some of
these chapters are still rough; while some of the chapters have actually
been completely revised, many of these ACHAPxxx are little more than a
concatenation of the two original chapters, often without the figures
or tables.  The revision is work still in progress!

Members ADOCxxxx are what were in Chapter FORTY, and should be the first
place you look for information about MXG variables and/or datasets.  The
ADOCxxxx members alphabetically describe each dataset and all variables
that are created by product xxxx, the instructions on how to enable that
product, bibliography of the vendor documentation, sample PROC PRINT and
PROC MEANS of real data, references to MXG reports that use these data,
and the MXG member names that you use to process that product.  While
this too is work in progress, the most heavily used data sources,
especially the common SMF records, have been revised and are up to date.

There is an IMACxxxx member for every product supported by MXG.  Once
you know the xxxx suffix for a product, you then know the names of all
of the MXG members for that product, because of MXG naming conventions:

  IMACxxxx - Defines record IDs, and the _Lyyyzzz and _Kyyyzzz macros
             that name the dataset(s) created from product xxxx.
  ADOCxxxx - "Chapter FORTY" style dataset and variable documentation of
             all datasets created from product xxxx, with sample output.
  VMACxxxx - The "real" source code member, often extensively commented.
  TYPExxxx - Standalone member to test or process product xxxx records.
  ASUMxxxx - Summarization example (only for some products)
  TRNDxxxx - Trending example (only for some products)
  ANALxxxx - Reporting/analysis example (only for some products)
  GRAFxxxx - SAS/GRAPH report example (only for some products)
  EXyyyzzz - OUTPUT exit for tailoring of each MXG dataset, not used by
             most MXG sites, but powerful if needed.  There can be more
             than one dataset created from one product.  The yyyzzz
             suffix of the EXyyyzzz member name is the same as the
             suffix of "_L" and "_K" macros defined in the IMACxxxx for
             its product. See Using the MXG Exit Facilities in ACHAP33.

Member IMACAAAA is an index of all IMACs, and is the best place to begin
to find what xxxx suffix Merrill chose for which product!  You can often
find additional documentation by searching members NEWSLTRS or CHANGESS
for the xxxx suffix.

Member CHANGES identifies this Version and Release of MXG Software, and
describes all changes made in this Release, plus new technical notes.

Member CHANGESS contains each of the CHANGES members from each version
of MXG, so this member contains ALL changes ever made to MXG Software.
Since each MXG change lists the names of the members that were added or
altered, names the new product/version supported by a change, or lists
error messages corrected by a change, this member is designed to be read
online (with SPF BROWSE); you can search for specific product acronyms
(CICS, MVS/ESA, etc.), or the MXG member name or anything else.  Many of
the changes are actually mini-tutorials, especially for new products.

Member NEWSLTRS contains the text of all newsletters.  You can search
NEWSLTRS for product name or acronym to find all of Dr. Merrill's
published and unpublished technical papers, technical notes announcing
enhancements in new operating systems or subsystems, new datasets and
products, important APARs and PTFs, and other technical information of
importance to MXG users.  (Since the Change Log that is printed in each
newsletter is in member CHANGESS, it is not repeated in NEWSLTRS.) MXG
Technical Newsletters are typically published twice a year, with one
printed copy sent to each licensed site's technical addressee.

Member DOCVER lists alphabetically ALL datasets and variables that are
built by this MXG Software Version, abbreviated to a line per variable.

Members DOCVERnn are the "delta-documentation" between MXG versions, and
list only those datasets and variables that were added/deleted/changed
by version "nn", so you can identify when a variable/dataset was added.

Finally, remember that MXG is source code, and you can often find your
answer by BROWSING the source members, especially the VMACxxxx members.
The MXG Variable name is frequently the vendor's field name, or the
vendor's field name is often in a comment adjacent to the variable's
INPUT, so you can cross reference MXG to the vendor's documentation.

The migration from print to online is clearly work in progress, but at
least the two books are now machine readable!  When all 42 chapters
are completely revised and updated in the source library, I will decide
which, if any, will also be made available in printed form, but the
primary media for all future MXG documentation will be these members of
the MXG source library, which can be immediately updated in each new
version of MXG as changes occur.

X.    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 of the MXG SOURCLIB will always be more accurate than
 the printed changes in a Newsletter, because the software tapes are
 created after the newsletter is sent to the printer!

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

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

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

  Dataset/
  Member   Change    Description

  Many     12.034  Support for MVS/ESA 5.1.
  Many     12.030  All instances of MSEC8. were removed from MXG.
  ACHAP99  12.161  "Chapter 99 CodeSharks" honored.
  ANALBLSR 12.001  Batch LSR analysis fails due to errors in ANALDSET.
  ANALBLSR 12.080  Batch LSR analysis enhanced.
  ANALBLSR 12.185  No BLSR candidates detected when there were some.
  ANALCISH 12.035  CICS Shutdown report corrected, design revised.
  ANALCISH 12.163  PDB=PDB,TYPE=ALL,SUMMARY=YES produced no reports.
  ANALCISH 12.235  Additional DFHSTUP-like CICS Shutdown reports.
  ANALCNCR 12.272  Analysis of concurrency - generalized new tool.
  ANALDB2C 12.087  Analysis to match CICSTRAN with DB2ACCT.
  ANALDB2R 12.078  Using ANALDB2R with PDB= tape was inefficient.
  ANALDB2R 12.236  DB2 report PMSQL01 may fail - QWHCTOKN left out.
  ANALDB2R 12.250  DB2 Locking Contention Report fails.
  ANALDB2R 12.251  DB2 Transit Report fails with NOT SORTED.
  ANALDB2R 12.270  PMLOK02 and PMLOK03 now revised.
  ANALDB2R 12.305  Support for DB2 Version 3.1 DB2PM-like reports.
  ANALDSET 12.001  Syntax error (wrong member migrated).
  ANALMTP  12.303  Analysis of Tape Mounts Concurrently Waiting.
  ANALPATH 12.239  Revised analysis of TYPE73, TYPE74, TYPE78CF data.
  ANALPGNS 12.293  CPU Utilization by Performance Group analysis.
  ANALRMFR 12.047  RMF CPU Activity Report CPU time can be zero.
  ANALRMFR 12.276  Report selection by storage class, device, LCU.
  ANALSMF  12.012  SMF Simulator 3380 tracks count wrong if CISIZE=26624
  ASMIMSLG 12.129  ABEND 002 on IMSMPRS with FASTPATH records corrected.
  ASMTAPES 12.024  MXG Tape Allocation and Mount Monitor almost healed.
  ASMTAPES 12.058  New Tape Allocation and Mount Monitor now works!
  ASMTAPES 12.105  MXG Tape Mount and Tape Allocation Monitor Now Works!
  ASMTAPES 12.234  MXG Tape Mount and Tape Allocation Monitor fixes.
  ANALINIT 12.274  Analysis of initiator concurrent usage.
  ASUMPRTR 12.040  KEEPIN=STDUPLEX TMBUPLEX needed to be added
  ASUMTALO 12.273  Revised summarization using %ANALCNCR (incompat).
  ASUM70PR 12.048  INVALID NUMERIC DATA 'SAT' with modified IMACRMFI.
  BUILDPDB 12.013  TYPE77 addition to BUILDPDB/BUILDPD3 causes errors.
  BUILDPDB 12.026  Jobs with ABEND='JCL' are not in PDB.JOBS.
  BUILDPDB 12.200  New dataset PDB.TYPE72SC for Goal Mode Server data.
  BUILDPDB 12.204  TYPETASK added for jobs with only type 6 record.
  DAILYDSN 12.004  Variable UMLEVEL must be added to KEEPIN= list.
  DB2ACCT  12.033  DB2 3.1 Buffer Statistics are wrong.
  DB2STATS 12.033  DB2 3.1 Buffer Statistics are wrong.
  DIFFDB2  12.133  DDF variables QLSTxxxx incorrectly deaccumulated.
  FMXGSID  12.015  Function ABENDs 0C4 with SAS 6.08 at TS407.
  FMXGUCBL 12.015  Function ABENDs 0C4 with SAS 6.08 at TS407.
  INSTALL  12.101  Documentation of common MXG installation errors.
  REXXDB2  12.306  REXX program to convert DB2 GTF to SMF format.
  TESTOTHR 12.153  ABEND 213-04 if VIO used for temporary allocation.
  TRNDRMFI 12.046  Variables TSOnSWAP and TSOnTRAN were not normalized.
  TYPEACC  12.277  Support for ACC/SRS from Mitchem Technologies.
  TYPEACF2 12.063  INVALID data for LIDCDATE/LIDDXPDT/LIDIPDAT/LIDADATE.
  TYPEACF2 12.072  INPUT STATEMENT EXCEEDED for subtype 'V' record.
  TYPEACF2 12.253  ACF2 INPUT STATEMENT EXCEEDED, DO value wrong
  TYPEACHE 12.262  CACHE90 zero observations with RAMAC devices.
  TYPEAPAF 12.138  Support for APAF 2.0 (incompatible).
  TYPEAPAF 12.197  INPUT STATEMENT EXCEEDED ... with backlevel APAF.
  TYPEBETA 12.132  Support for BETA93 1.6.0 user SMF record.
  TYPEBGSI 12.268  Support for BGS's BEST/1 I/O Monitor SMF record.
  TYPECACH 12.194  3990-6 storage variables units were changed by IBM.
  TYPECIAO 12.299  Support for CICSAO user SMF for CICS availability.
  TYPECIMS 12.265  IMF variables ABENDSYS/ABENDUSR in CIMSPROG wrong.
  TYPECIMS 12.284  Support for IMF 3.1 (for IMS 5.1) - record unchanged.
  TYPECMFV 12.269  Support for Boole & Babbage CMF VSAM MRR records.
  TYPECTLD 12.011  INPUT STATEMENT EXCEEDED for CONTROL-D SMF record.
  TYPEDB2  12.157  Dataset PDB.DB2ACCTB should have zero observations.
  TYPEDB2  12.159  DB2STATS variables QB3Taaaa/QB4Taaaa corrected.
  TYPEDB2  12.220  Invalid DB2 type 101 workaround (fix is APAR PN63234)
  TYPEDCOL 12.051  Variable DCNDMBLK needs to be multiplied by 1024.
  TYPEDCOL 12.057  Support for DFSMS 1.2 added several variables.
  TYPEDMON 12.120  Support for ASTEX 2.0 added several variables.
  TYPEEDGB 12.242  Support for DFSMSrmm Control Backup file
  TYPEEDGR 12.242  INPUT STATEMENT EXCEEDED corrected.
  TYPEHIPR 12.104  Support for EMPACT's HIPER-CACHE Version 1.1.1.
  TYPEHSM  12.206  Support for HSM APAR OW05988, adds CPU time to FSR!
  TYPEIAM  12.226  Support for Innovation Processing's IAM SMF record.
  TYPEICE  12.031  ICEBERG dataset ICEBRGCH is trashed, misalignment.
  TYPEICE  12.160  Support for STK ICEBERG SMF record subtype 5.
  TYPEICE  12.228  ICEBERG variables CAENBCUR,DFWENCUR incorrect.
  TYPEICE  12.243  Support for ICEBERG's PUT9404 (compatible).
  TYPEIDMS 12.212  Support for CA/SQL user SMF record (same as IDMS/R).
  TYPEIMSA 12.009  IMS Log processing incorrect, misspelled NMSGPROC.
  TYPEIMSA 12.179  SAP Accounting under IMS times wrong.
  TYPEITRF 12.287  Candle's ITRF product errors corrected by Candle.
  TYPELMS  12.007  WARNING LMS SMF RECORD TYPE created in error.
  TYPEMEMO 12.056  Support for MEMO subtype 6 SMF record.
  TYPEMON8 12.291  INVALID OFFSETS IN USER SEGMENTS Landmark CICS.
  TYPENDM  12.014  INPUT STATEMENT EXCEEDED for NDM type FP record.
  TYPENDML 12.146  Reading NDM VSAM log produced zero observations.
  TYPENSPY 12.010  LANSPY dataset NSPYLANS has no/too few observations.
  TYPENSPY 12.184  NETSPY Token-Ring TIC_UTIL in NSPYTR 10 times larger.
  TYPENSPY 12.196  Variables AOUTSZT and ARSPNET now match reports.
  TYPENSPY 12.225  Support for NETSPY 4.5 (partially incompatible).
  TYPEODS  12.198  Support for InfoAccess Release 5.1 user SMF record.
  TYPEOMCI 12.027  OMEGAMON for CICS dataset OMCISYST wrong.
  TYPEOMCI 12.164  Zero observations in OMCIVSAM dataset.
  TYPEOMCI 12.167  INVALID DATA FOR EXMXT1 - EXMXT10 when hex zeroes.
  TYPEOMCI 12.203  Support for Omegamon for CICS V100 and V300 SMF.
  TYPEOMSM 12.123  Support for Omegamon II for SMS V100/V110.
  TYPEOMVT 12.186  Support for Omegamon for VTAM V160 (Incompatible).
  TYPEOPC  12.002  INVALID MT0TYPE, OPC29 too few obs, split support.
  TYPEQAPM 12.292  Support for OS/400 AS/400 Version 3.1.0 INCOMPATIBLE.
  TYPEQTRT 12.037  Support for AS/400 Trace File (QTRTSUM).
  TYPERDS  12.295  Support for Network Systems DXE Channels RDS SMF.
  TYPERMDS 12.264  Support for RMDS Version 2.1 (incompatible)
  TYPERMFV 12.259  RMF Monitor III ("ZRB") support for MVS/ESA 4.3.
  TYPESARS 12.299  Support for LEGENT's SAR Cross Memory Logoff SMF.
  TYPETCP  12.041  Ambiguity between TELNET and FTP resolved.
  TYPETCP  12.049  TCP/IP APAR PN34837 added 8 bytes to TELNET SERVER.
  TYPETCP  12.257  Support for TCP/IP Version 3.1 (incompatible)
  TYPETELE 12.229  Support for CA's TELEVIEW user SMF record.
  TYPETLMS 12.136  Support for TLMS Release 5.4.
  TYPETMDB 12.162  Support for Landmark's The Monitor for DB2.
  TYPETMON 12.151  Support for TMON/CICS Version 1.3 (incompatible).
  TYPETMVS 12.191  Support for TMON/MVS Release 1.3 (incompatible).
  TYPETPX  12.008  UNRECOGNIZED TPX VERSION message.
  TYPETPX  12.263  Support for TPX 4.0 (compatible, new datasets)
  TYPETSOM 12.165  Support for LEGENT's TSO/MON 6.1 added (compatibly).
  TYPEUNIK 12.112  Support for UniKix Release 4.1.
  TYPEVMXA 12.069  UNEXPECTED/INVALID CONTROL RECORD/PROBABLE DATA LOSS.
  TYPEVMXA 12.224  VM/ESA 2.2 Scheduler records cause PROBABLE LOSS.
  TYPEWSF  12.096  Support for RSD's WSF Release 3.5.1.
  TYPEXAM  12.282  Support for Velocity Software XAMAP Version 2.2.
  TYPEXPSM 12.267  Support for Xerox Print Service Manager XPSM SMF.
  TYPE102  12.032  IFCID=196 (Lock Timeout Details) now populated.
  TYPE102  12.088  Additional DB2 Trace IFCIDS new in 3.1 now supported.
  TYPE102  12.103  DB2 Trace IFCID=141 corrected.
  TYPE102  12.135  IFCID 125 created extraneous observations.
  TYPE110  12.023  CICS Statistics in CICLSRR wrong.
  TYPE110  12.068  Boole & Babbage subtype 'BB02'x changed to '0B02'x.
  TYPE110  12.166  Support for CICS/ESA 4.1.0 is added (compatibly).
  TYPE110  12.189  CICS 3.2.1 only. CICDS variables wrong.
  TYPE110  12.278  ERROR.TYPE110.SUBTYPE 2, STID=57, CICS 3.3.0.
  TYPE115  12.208  Support for MQM 1.1.2 Performance Statistics SMF.
  TYPE116  12.209  Support for MQM 1.1.2 Accounting SMF record.
  TYPE123  12.215  Support for S/390 Parallel Query Server SPQS SMF 123.
  TYPE1415 12.036  APAR OW00484 adds open date to type 14,15 SMF record.
  TYPE1415 12.158  APARs OW00484/UW06888/OW08246 corrupt TYPE1415 data.
  TYPE1415 12.245  INVALID DATA FOR OPENDTE corrected.
  TYPE26J2 12.015  IBM truncates type 26 record, caused STOPOVER.
  TYPE28   12.097  NPM Release 2.0 subtypes 214 thru 219 corrected.
  TYPE28   12.145  Support for NPM Release 2.2 added NetWare measures.
  TYPE28   12.188  MXG 12.04 only. Type 28 INPUT STATEMENT EXCEEDED.
  TYPE28   12.201  Support for NPM 2.2 NPMVSaaa datasets corrected.
  TYPE30   12.018  TYPE30_V INTBTIME/INTETIME are GMT in MULTIDD='Y'.
  TYPE37   12.154  Short LAND segment caused INPUT STATEMENT EXCEEDED.
  TYPE39   12.210  Support for Sterling Software's ASM V3.0.0 type 39.
  TYPE42   12.019  INVALID ADSM SECTION TRIPLET and/or bad data values.
  TYPE42   12.045  DFSMS GG66-3252 pub are now variables in TYPE42DS/SR
  TYPE42   12.180  TYPE42 STARTIME/ENDTIME may be on GMT clock.
  TYPE50   12.102  Support for VTAM Tuning APAR OW04453 type 50 SMF.
  TYPE6    12.016  CA-DISPATCH 5.1 PTF T97E056 corrects bad READTIME.
  TYPE6    12.059  Type 6 records from VPS now have SUBSYS='VPS '.
  TYPE6    12.199  INVALID ARGUMENT TO FUNCTION INPUT with CA-DISPATCH.
  TYPE62   12.122  Support for APAR OW00157 adds SMS classes to TYPE62.
  TYPE70   12.288  Support for PR/SM APAR OW078986 adds "MVS Wait".
  TYPE70   12.289  MDF now populates TYPE70PR/ASUM70PR w/valid CPU time
  TYPE70   12.290  Same LPAR number for two LPARs trashes CPU busy.
  TYPE70s  12.006  SYNCTIME wrong in RMF 71,73,74,75,77,78 and 79.
  TYPE72DL 12.252  New TYPE72DL dataset for MVS/ESA 5.1 Goal Mode.
  TYPE80A  12.280  RACF Command events decoded in TYPE80A for RACFRW.
  TYPE89   12.028  Support for Measured Usage License Charges type 89.
  TYPE91   12.038  BatchPipes/MVS APAR PN45846 adds new fields.
  TYPE91   12.254  BatchPipes/MVS INTBTIME/INTETIME values incorrect.
  TYPE99   12.117  Support for ESA 5.1 Workload Manager Trace SMF 99.
  TYPE99   12.285  Support for Type 99 Subtype 1 added.
  UCICSCNT 12.021  Utility report output counts were unclear.
  UTILCICS 12.182  UTILCICS fails with syntax error, mislocated comment.
  UTILCICS 12.202  CICS Utility identifies if type 110s are Omegamon's.
  UTILCVRT 12.022  Non-existent conversion utility now exists.
  VAXPDS   12.301  Support for VAX Accounting and Performance Data.
  VMXGSUM  12.084  New features added transparently to VMXGSUM.
  VMXGSUM  12.233  New VMXGSUM enhancements in XMXGSUM.
  VMXGSUM  12.271  More VMXGSUM enhancements in XMXGSUM.
  VMXGVTOF 12.249  DEVCYL value different for RAMAC than native devices.
  WEEKBLDT 12.195  DATASET TAPEMNTS NOT SORTED.
  XMXGSUM  12.304  XMXGSUM replacement for VMXGSUM ready for use.

Inverse chronological list of all Changes:

NEXTCHANGE: Version 12

Change 12.328  Syntax errors may occur with ANALDB2R (depending on which
ANALDB2R       reports are requested).
Mar 19, 1995  -Insert "INCODE="  between lines 045520 and 045530:
                    045520          QWHSIID  QWHCATYP QWHSSTCK,
                    045525   INCODE=
                    045530      %DB2RSELA;
               This error caused PMACC01 report to fail
              -There are two occurrences of this pair of lines:
                   +1  "&SORT3 - " &SORT3 $CHAR12.;
                   %END;
                 %END;
               In both pairs of lines, remove the semicolon after the
               $CHAR12, and insert a new line with just a semicolon
               between the two %END statements, so they now read:
                   +1  "&SORT3 - " &SORT3 $CHAR12.
                   %END;
                   ;
                 %END;
               This error occurred with PMACC02 if less that three
               SUMBY= variables were specified.

Change 12.327 -ANALTALO failed with VARIABLE NOT FOUND because it had
ANALTALO       not been updated for the changes in ASUMTALO variables.
TRNDTALO       Now, ANALTALO works with ASUMTALO/TRNDTALO datasets.
Mar 19, 1995  -TRNDTALO failed because a comma was missing after the
               calculation of DURATM.
   Thanks to Glenn Harper, Memorial Hospital Systems, USA.

Change 12.327  ANALCNCR failed when invoked by ANALTAPE or ANALMTP, but
ANALCNCR       the logic error was only in ANALCNCR.  Many lines were
Mar 19, 1995   changed, but the ANALMTP error can be eliminated by just
               adding  OUTSUMRY=SUMMARY,  to the %ANALCNCR invocation in
               ANALMTP.
   Thanks to Tom Elbert, John Alden Life Insurance, USA.
   Thanks to Steve Harris, Tennessee Valley Authority, USA.

Change 12.326  Support for Memorex/Telex LMS Version 3.1 (INCOMPATIBLE,
FORMATS        because a two-byte field was expanded in place to four
VMACLMS        bytes in many records).  Two new variables are added to
Mar 19, 1995   LMSAINT dataset, and twenty-four new variables are added
               to the LMSINIT dataset.
               New values for existing MGLMSxx formats were added, but
               there were no new formats created.
   Thanks to Dan Kaberon, Hewitt Associates, USA.

Change 12.325  Cross-System DASD Analysis Report columns ran together
ANALPATH       when I changed LCU from $HEX2 to $HEX4 in MXG 12.12, so
Mar 19, 1995   Dan spread the columns in this report revision.
   Thanks to Dan Kaberon, Hewitt Associates, USA.

Revised:       See Change 13.077.
Change 12.324  In IMACICSA, variables STCTIME/STCTIMTR are now formatted
IMACICSA       TIME12.2 instead of DATETIME21.2, STCTIMTR is now INPUT
VMAC110        as PIB4.3 instead of PDTIME4., a "LENGTH STCTASK $2;" was
Mar 17, 1995   added, and after the INPUT of STCDB5S  &PIB.4., insert
               "@; INPUT" (so that either the CPIC statistics or the
               Appendage stats are read first, but then STCRUT and other
               fields are read for either CPIC or Appendage records).
              -In VMAC110, JCSPTIME's PDTIME4. input was changed to
               HH &PK.1.  MM &PK.1. SS ?? &PD2.1 and then
               IF SS GT 0 THEN JCSPTIME=HMS(HH,MM,SS);
   Thanks to Jens Schlatter, EDP Consulting Schlatter, GERMANY.

Change 12.323 -The argument 2*_I_ in the SUBSTR function was invalid
VMAC80A        when _I_=16; the argument should be 2*_I_-1.
Mar 17, 1995  -STOPOVER occurs if RACFDLN is GT 27 in WHEN (12) logic.
               Inside the WHEN (12) logic, inside IF RACFDLN GE 27 ...
               insert  SKIP=RACFDLN-27;IF SKIP GT 0 THEN INPUT +SKIP @;
               to prevent STOPOVER abend when there are more than three
               IGNORED IDnames.  MXG now keeps first six names.
              -Segments with RACFTYPE=32,42, or 44 are now protected so
               you won't get "SKIPPED SEGMENT" messages for those data
               segments.
   Thanks to Tom Parker, Hogan Systems, USA.

Change 12.322  INPUT with QWSBNM after IF NRQWSB GT 9 was replaced with
VMACDB2        INPUT +SKIP @; because if there were ten destinations,
Mar 17, 1995   the tenth destination name replaced the first dest name.
               This was not likely to have been noticed, but is fixed.
               Also, the reference to Change 12.179 inside VMACDB2
               should have referenced Change 12.279.
   Thanks to Tom Parker, Hogan Systems, USA.

Change 12.321  CICS/ESA Statistics Dataset CICDS from CICS/ESA 3.3.0 or
VMAC110        4.1.0 can have values in DS3TWT,DS3TDT,DS3TCT,DS3ACT,
Mar 17, 1995   DS3SWT,DS3SCT that are 4096 times too large.  Ten lines
               that should have been added by Change 12.030 were lost.
               This error was overlooked because the Concurrent TCB time
               in my test statistics records was essentially zero.  A
               separate coding error also caused DSGTDT to be wrong; the
               statement DSGTDT=DSGTWT/4096 obviously should have had
               DSGTDT on the right!  Since CICDS is used to create the 6
               PDB.CICxxxRV datasets, those datasets will also be wrong
               if the DS3 variables are non-zero.  Note that only the
               CICS Statistics data was affected - the transaction times
               in CICSTRAN were not affected by this error.
   Thanks to Waldemar Schneider, SAS Europe, GERMANY.
   Thanks to Tom Parker, Hogan Systems, Inc., USA.

Change 12.320  Many Landmark CICS Version 1.3 variables were not INPUT
TYPETMON       because I used an early DSECT that showed many of these
Mar 17, 1995   fields as reserved.  When Svend raised the question, I
               found I had a more recent DSECT, and now there are 15 new
               variables in dataset MONITASK, and 79 new variables in
               dataset MONISYST.  This revision has been validated with
               sample data for reasonableness, but please validate with
               reasonableness checks of your own data records!
   Thanks to Svend Henningsen, SMT Data A/S, DENMARK.

Change 12.319  Variables F20LHST F20RHST FTPCRHST FTPCLHST were added to
VMACILKA       the LENGTH DEFAULT=4 statement with length 5, because
Mar 17, 1995   4-byte numeric addresses are truncated when they are
               stored in only 4 bytes.
   Thanks to ???, Nordbanken, USA.

Change 12.318  ANALDB2C error: NO MATCHING IF THEN ELSE CLAUSE because
ANALDB2C       the statement END: should have been END;  (i.e., change
Mar 17, 1995   the colon to a semi-colon.
   Thanks to David Callahan, Caterpiller, USA

Change 12.317  A local external writer type 6 with invalid SMF6LN1 value
VMAC6          caused INPUT STATEMENT EXCEEDED RECORD LENGTH error. The
Mar 17, 1995   line IF SUBSYS='JES2' AND SMF6LN1 GT 30 THEN DO;  is now
               .... SMF6LN1 GT 30 AND SECTIND='1.......'B THEN DO;
   Thanks to Joe Schwartz, CIGNA, USA.

Change 12.316  The DCOLLECT output file LRECL has been increased to 644
JCLDAYDS       but this JCL example contained LRECL=264, which caused an
Mar 17, 1995   ABEND.  Remove the DCB attributes from the JCL, so the
               DCB attributes will be picked up from the data.
   Thanks to Glenn Harper, Memorial HealthCare System, USA.

Change 12.315  Landmark CICS records in version 8 format (TYPEMON8)
IMACMONI       has these errors:
TESTOTHR      -Syntax error (in MXG 12.12 only) - NO MATCHING DO/SELECT.
TYPEMON8       Change the line in member TYPEMON8
Mar 17, 1995     that now reads:     ... AND MRONUM GT THEN DO;
                 to read:            ... AND MRONUM GT 0 THEN DO;
                    This got past my Q/A test because member TYPEMON8
                    was not tested; when I meant to add member TYPETMON
                    (support for version 1.3) to my test member
                    TESTOTHR, I accidentally replaced TYPEMON8.  Now,
                    both TYPEMON8 and TYPETMON are tested!
              -Using TYPEMON8 to read TMON 1.3 records converted to 8.1
               format caused USER ABEND 1099, and "IT APPEARS YOU ARE
               TRYING" message, due to the new TMMDREC='TD' DSA Interval
               record, which did not exist in version 8.1!
               Change the line in member TYPEMON8 that now reads:
                     IF TMMDREC='DD' OR TMMDREC='HH' THEN DELETE;
               to read:
                     IF TMMDREC='DD' OR TMMDREC='HH' OR TMMDREC='TD'
                         THEN DELETE;
              -Now that I know that the TD record exists in converted
               version 8 records created from TMON 1.3 records, I copied
               creation of dataset MONIDSA from TYPETMON into TYPEMON8,
               so that you will get the new DSA data from the converted
               records, but it would be much wiser if you had used the
               TYPETMON support to read the native TMON 1.3 records and
               thus avoid the unnecessary conversion step.  Note that
               member IMACMONI was also changed (the _LMONDSA/_KMONDSA
               macro definitions were added), so if you have a tailored
               member IMACMONI in your USERID.SOURCLIB, you will need to
               retrofit your tailoring with the new IMACMONI member.
              -Also, the DO group beginning with
                  IF LENMONI='1...  ..'B THEN DO;
               was relocated to follow
                  IF TMMDREC='DD' ...  'HH' ...  'TD' THEN DELETE;
               because one XA site found the LENMONI bit on in an 'HH'
               record (causing USER ABEND 1099), even though the site
               had the EXITMON6 decompression exit installed.  I'm still
               investigating, but relocating the DELETE to be prior to
               the LENMONI test eliminated the ABEND.
   Thanks to Carl Sommer, SAS Institute Cary, USA.
   Thanks to Jim Swartz, Dale Electronics, USA.
   Thanks to Svend Henningsen, SMT Data A/S, USA.

===Changes thru 12.314 were included in MXG 12.12 dated Mar  1, 1995===
   (but were were not printed in MXG Newsletter TWENTY-SEVEN)

Change 12.314  IMACEXCL (for CICS Exclude/Include logic) is updated with
IMACEXCL       new _CICXCU4 for CICS/ESA 4.1.0 records; the old _CICXCUS
Feb 24, 1995   macro for Version 3 won't work with the restructured data
               records in Version 4 - you get no error, but bad values,
               most notably for TASCPUTM.
   Thanks to Simon Wu, Southern California Edison, USA.

Change 12.313  TCP/IP error INVALID DATA FOR TELLOGFT encountered at one
VMACTCP        site; the 8-byte field added by APAR PN34837 did not have
Feb 23, 1995   a valid date-time-stamp.  To eliminate the message, I put
               double questionmarks between TELLOGFT and SMFSTAMP8.
   Thanks to Barbara Rask, University of North Dakota, USA.

Change 12.312  INPUT STATEMENT EXCEEDED for LANSPY type D record because
VMACNSPY       the path segments were not correctly skipped.  Inside the
Feb 23, 1995   IF LDLANMAX GT 0 THEN DO;  group, after the @;, insert
                  OFFNSPY=OFFNSPY+LDLANMAX*28;
               to move the pointer over the path segments.
   Thanks to Mr. Dechamps, R&V Versicherung, GERMANY.

Change 12.311  Early MXG 12.12 only (dated 20Feb95).  IEBUPDTE step had
VAXPDS         return code of 4, because the "./" in VAXPDS should have
Feb 23, 1995   been changed to "xy".
   Thanks to Glenn Harper, Memorial Hospital, USA.

Change 12.310  RMF CPU reporting is now consistent with new APAR OW07986
ANALRMFR       (MVS/ESA 5.1) or OW05435 (MVS/ESA 4.3).  "CPU ACTIVITY"
Feb 22, 1995   REPORT column showing the CPU busy time percentage (
               column header "BUSY TIME PERCENTAGE") has been replaced
               by a column showing now the LPAR CPU utilization (new
               column header "LPAR BUSY TIME PERC").  In case of an LPAR
               system this column contains the same values as in
               previous versions. In case of a basic mode system, dashes
               are shown here. The previous column showing the wait time
               ( column header "WAIT TIME PERCENTAGE") has been replaced
               by a column showing the MVS view of the CPU utilization (
               column header "MVS BUSY TIME PERC").  The wait time is no
               longer shown on this report.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 12.309  Xerox Print Services Manager SMF record has been further
FORMATS        enhanced and validated.  The first 3 downtime segments
VMACXPSM       are kept (if you find you need more, let me know), and
Feb 22, 1995   the font list and forms list are now decoded.

Change 12.308  Support for RMDS 2.1 has now been validated with read SMF
VMACRMDS       data; some datetimes were missing because all of the YYYY
Feb 22, 1995   inputs should have been &PIB.4. instead of &PIB.2.; the
               input of RMDSALC and RMDSPAGE for RMDSORG='1' should have
               been &PIB.4. instead of &PD.4. (I guessed wrong!); and
               some datetime calculations in the old 1.3,1.4 code were
               moved to eliminate missing value messages on the log.
   Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.

Change 12.307  Some dates/times were wrong because Change 10.176 was
VMACFTP        only partially implemented; PIB4. should have been PIB4.2
Feb 20, 1995   and the DATEJUL() was missing in DHMS functions.
   Thanks to Waldemar Schneider, SAS Europe, GERMANY.

===Changes thru 12.306 were printed in MXG Newsletter TWENTY-SEVEN=====

Change 12.306  Support for DB2 Trace Records sent to GTF is provided by
REXXDB2        this user contribution, in REXX, which will read the GTF
VMACSMF        records (which are uniquely segmented) and reconstruct a
Feb 18, 1995   valid, un-segmented SMF format type 102 record that can
               be processed by conventional MXG code.  (DB2 type 102
               records that happen to fit in one 255-byte segment can
               already be processed, but most of the interesting data is
               in longer records, and I had contracted with a slick ASM
               programmer to write me an Assembly routine to do exactly
               what this slick REXX program does!)  I have modified the
               GTF macro in VMACSMF to at least now tell you that a
               spanned record was deleted - Clyde was justifiably
               frustrated when he first tried to use vanilla MXG code
               against GTF data, and MXG did not tell him that those
               spanned records could not be handled and were deleted!
   Thanks to Clyde Thompson, Australian Taxation Office, AUSTRALIA

Change 12.305 -ANALDB2R provides DB2 Version 3.1 reports for PMACC02
ANALDB2R       (Accounting Detail Report), PMSTA02 (Statistics Summary
ASUMDB2A       Report), and PMSTA01 (Statistic Detail Report), the last
TRNDDB2A       now uses the DB2STATS.  PMACC02 does not yet include
TRNDDB2B       detail stats on each of the new buffer pools; that will
TRNDDB2S       be available in the next MXG release, as will package
TRNDDB2X       report support.  These new DB2 reports take many more
VMACDB2        pages per group, so be cautious and select carefully!
Feb 20, 1995  -ASUMDB2A, TRNDDB2A, and TRNDDB2B were changed to now keep
Oct 19, 1995   new DB2 3.1 variables needed for ANALDB2R reports.
              -TRNDDB2S now uses PDB.DB2STATS instead of the (archaic
               DB2STAT0, DB2STAT1, and DB2STAT2 datasets, (ANALDB2R also
               now uses PDB.DB2STATS for statistics reports).  Instead
               of creating the old TRNDDB20/TRNDDB21 datasets, TRNDDB2S
               now summarizes into TREND.TRNDDB2S.  You can convert your
               old TRNDDB20/TRNDDB21 datasets into the TRNDDB2S with a
               one-time execution of the UCVRTDB2 program.
              -New member TRNDDB2X trends the eXtra statistics for each
               buffer pool from PDB.DB2STATB data. Revised 10/19/1995.
              -VMACDB2 was changed to add variables to DB2ACCTB that are
               needed by ANALDB2R (and should have been kept already!).
              -The DB2STAT0, DB2STAT1, DB2STAT2, TRNDDB20, and TRNDDB21
               datasets should be replaced in your reporting with either
               PDB.DB2STATS or TREND.TRDNDB2S, as only these latter two
               datasets will continue to be enhanced.  Fortunately, the
               statistics datasets are physically small, so keeping the
               redundant data in your PDB is better than removing it now
               (and possibly causing an avoidable ABEND)!
   Thanks to Chuck Hopf, Merrill Consultants, USA.

Change 12.304  XMXGSUM, a much faster and leaner replacement for VMXGSUM
XMXGSUM        has all errors fixed (the last fix UPCASED all variables)
Feb 18, 1995   and has been heavily tested.  However, because VMXGSUM is
               so pervasive in MXG ASUM/TRND/ANAL members, I decided to
               leave VMXGSUM intact and deliver XMXGSUM as a separate
               member so you would not be accidentally burned.  If you
               have lots of CICS/DB2 data being summarized by MXG, I
               strongly urge you to test XMXGSUM in place of VMXGSUM,
               because it runs much faster and uses much less CPU and
               DASD when there are lots of data and variables read and
               only a few kept.  (You can test simply by copying XMXGSUM
               into your USERID.SOURCLIB, renaming it therein to VMXGSUM
               and running your test programs, because internally it is
               VMXGSUM!).  However, do not use OPTIONS OBS=nnn with the
               new XMXGSUM without reading this detail techie note:
                  XMXGSUM figures out what variables are really needed
                  and what variables exist to create a KEEP= list.  We
                  use a PROC CONTENTS of all of the datasets in the
                  INDATA= parameter to create the list of unique
                  variable names.  If OPTIONS OBS=nnn is in effect, and
                  if nnn is less than the total number of variables,
                  unpredictable failures will occur (or no failure with
                  incorrect values!).  created.  To prevent these
                  problems, never set the OBS= to be less than the sum
                  of the number of variables in the combined INDATA=
                  datasets or (a better choice) set OBS back to MAX
                  after selecting the data you want to summarize.  A
                  dataset with 0 obs and a non-existent dataset look the
                  same (because there is no SAS facility to determine if
                  a dataset exists).  If the dataset does not exist,
                  then PROC MEANS abends because its expected variables
                  are not found.  Now, an observation is forced so the
                  number of variables can be used to tell if you made an
                  mistake (i.e., you referenced a non-existent dataset
                  for input) or if there just happened to be no
                  observations (when we go ahead and create the expected
                  zero-obs output dataset).
   Thanks to Chuck Hopf, Merrill Consultants, USA.
   Thanks to Diane Eppestine, Southwestern Bell, USA.

Change 12.303  Analysis of tape mounts pending using the MXG Tape Mount
ANALMTP        monitor TYPETMNT data and the new %ANALCNCR concurrency
Feb 18, 1995   analysis tool gives you average and maximum number of
               tape mounts outstanding across the day, with built-in
               graphs!  A fine example of the power of %ANANCNCR!
   Thanks to Chuck Hopf, Merrill Consultants, USA.

Change 12.302  ANALCNCR enhanced to permit multiple MAX= variables and
ANALCNCR       multiple COUNT= variables.  If no MAX= is used and there
Feb 18, 1995   are COUNT= variables, then the MAX variables will be
               MAX1-MAXn where n is the number of COUNT= variables used.
               MAX= is positional, and the variables listed will be the
               MAX of the same positioned variable in the COUNT= list.
               If you don't use MAX= and ask for a summary, then the
               MAXCNCR variable will contain the MAX value for the
               things you are counting.

Change 12.301  Support for VAX Accounting Data and even some Performance
VAXPDS         reports are provided in this user contribution from the
Feb 18, 1995   Australian creators of "The Bill".  Member VAXPDS is
               really a 12-member PDS in IEBUPDTE format (the first few
               lines give you the JCL example to create MXG.VAX.SOURCLIB
               PDS from member VAXPDS.  I have not tested this code, but
               it is self explanatory (read comments in each member to
               understand what it does) and has been used by several VAX
               sites in Australia, so I anticipate no surprises!
   Thanks to Brian Jennings, Pacific Management Systems, AUSTRALIA.

Change 12.300  SYNCSORT has permitted up to 32 SORTWORK DDs, but MXG did
VMACSYNC       not decode statistics for 13th-32nd.  I have added code
Feb 17, 1995   to INPUT the 13th-32nd sets of variables, but I did not
               add the new variables to the KEEP= list in VMACSYNC, as
               I really don't think anyone uses that many DDs!  If you
               really need the extra variables, they can be added using
               the _KTYSYNC macro in IMACSYNC (see Change 10.175 for the
               general instructions for using _K macros to add/drop
               variables to MXG datasets).  This was only an MXG change;
               while there is a new release 3.6 of SYNCSORT, it made no
               changes to their SMF record.

Change 12.299  Support for CICSAO user SMF record written by CICSAD,
EXTYCIAO       added by APAR PN06426, provides CICS availability info,
FORMATS        in new dataset TYPECIAO, reporting for each CICS region
IMACCIAO       under CICSAO control when CICSAO started or shutdown a
TYPECIAO       particular region, and when that CICS actually completed
VMACCIAO       that function.  If the region halts (becomes unusable) or
Feb 15, 1995   is unhalted, that event too is recorded.

Change 12.298  The JCL example for the MXGTMNT PROC did not contain an
ASMTAPES         //SNAPOUT DD SYSOUT=C
Feb 15, 1995   causing the monitor to fail at startup.  Now it does.
   Thanks to Shaheen Pervaiz, Acxiom, USA.

Change 12.297  SAS errors "OBJECT FILE OUT OF SPACE" is an indication
CONFIG         that you do not have enough virtual storage, either the
CONFIG07       MEMSIZE in your CONFIG member is too small or the REGION
CONFIG08       parameter on your JOB card is too small.  MXG 12.12 does
Feb 15, 1995   require slightly more virtual storage (because of the
               additional datasets/variables for MVS/ESA 5.1), and if
               you were just below the limit prior to MXG 12.12, you may
               fail just due to MXG 12.12.  I have raised the default in
               CONFIG to 48M to hopefully minimize this occurrence.
   Thanks to Shaheen Pervaiz, Acxiom, USA.

Change 12.296  DEBUG messages were printed on the SAS log for some MIM
VMACMIM        records; the PUT statement writing these messages should
Feb 15, 1995   have been deleted.
   Thanks to Shaheen Pervaiz, Acxiom, USA.

Change 12.295  Support for RDS, Remote Device Support, for Network
EXTYRDS1       Systems Corp. DXE Channel Extenders user SMF record
EXTYRDS2       creates seven datasets:
EXTYRDS3        TYPERDS1 - Device Class Descriptions
EXTYRDS4        TYPERDS2 - Path Descriptions
EXTYRDS5        TYPERDS3 - Device Throughput
EXTYRDS6        TYPERDS4 - Network Throughput
EXTYRDS7        TYPERDS5 - RDEVADPT Errors
IMACRDS         TYPERDS6 - HOSTADPT Errors
TYPERDS         TYPERDS7 - LINK Network Errors
VMACRDS        Activity counts, bytes transferred, and other statistics
Feb 15, 1995   as well as errors are provided in these datasets.
   Thanks to Christopher B. Calvin, Ahold Information Services, USA
   Thanks to Benny Maynard, Ahold Information Services, USA

Change 12.294  Support for SAR Cross Memory/VTAM Region Session Logoff
EXTYSARS       user SMF record contains statistics on storage used above
IMACSARS       and below, CPU time, Getmains, etc., in new dataset
TYPESARS       SARSESSN. Note that this is a separate SMF record that
VMACSARS       can be created by SAR; the other record created by the
Feb 14, 1995   SARSRQU3 exit is supported by member TYPESAR et al.
   Thanks to Miguel Trujillo, Salomon, Inc., USA
   Thanks to Dov Brosh, Salomon, Inc., USA.

Change 12.293  CPU Utilization for each Performance Group is provided in
ANALPGNS       this new, simple analysis algorithm which merges RMFINTRV
Feb 12, 1995   with TYPE72.  Two measures of PerfGrp utilization are:
                PGPCTCAP = Percentage of Capacity used by PERFGRP.
                PGPCTUSE = Percentage of Active Time used by PERFGRP.
               The denominator for Percent of Capacity is Duration times
               Number of CPUs Online, while the denominator for Percent
               of Active Time is the Capacity Duration times PCTCPUBY.
               Which number you use depends on whether you want to know
               how much of the installed capacity was used by a PERFGRP,
               or how much of what was used by everyone was used by a
               PERFGRP, so both numbers are provided.  This sample will
               likely be expanded into a full-blown %ANALPGNS member
               with bells and whistles and summarization, but the basic
               algorithm is provided in these initial 48 lines.
               I have described how to do this scores of times; with
               hindsight, this member should have existed years ago!
   Thanks to Virginia Tsai, SAS Institute, TAIWAN.

Change 12.292  Support for OS/400 Version 3.1.0 AS/400 Performance Data
EXQAPIO1       records: completely INCOMPATIBLE!!  Instead of appending
EXQAPIO2       new fields at the end of the existing records, new fields
EXQAPIO3       were inserted in almost every record, and some record's
EXQAPIO4       fields were reordered even when no new fields were added!
IMACQAPM       Previously, MXG logic used LENGTH to identify the OS400
TYPEQAPM       Version and hence data format, but QAPMDISK record was
VMACQAPM       reordered with no change in LENGTH, so MXG now uses the
Feb 12, 1995   variable ASLEVEL (input from QAPMCONF and retained, which
               is why _TQAPCON must always be executed first) to detect
               data format.
               While almost every other record was also changed, that
               change was to insert two 2-byte packed decimal fields for
               Bus Number and Bus Address. But those IOPB/IOPA variables
               were already created in MXG from the existing 1-byte "IP
               Address" (bits 0-2 = IOPB, bits 3-7 = IOPA, easily INPUT
               with SAS's BITS informat)!  Apparently, it was so hard
               for other OS/400 programmers to decode these simple bit
               values (dare I say "objects"?), that IBM Rochester had to
               convert the bits to numbers and create two new fields for
               them (which, of course, were then inserted, instead of
               being appended to the end for compatibility)!.
                  And IBM's pub SC41-3306-00, pp A-14 to A-30, for the
                  QAPMSYS record, has completely wrong "Buffer Position"
                  values starting with location 507 of this 3090-byte
                  record - that was real fun to sort out!
                  All this from winners of the Malcolm Baldridge award!
               In spite of the OS/400 developers inability to provide
               compatible records across version changes, there is a
               wealth of new data added to the QAPMSYS and QAPMJOBS
               datasets, and the new QAPMIOPD record creates four new
               datasets from SNADS:
                 QAPMIOP1 - File Server I/O Processor Pipe Task
                 QAPMIOP2 - OS/2
                 QAPMIOP3 - HPFS386
                 QAPMIOP4 - Lan Server
                   IBM now says QAPMIOP1 is Internal Use Only, and its
                   counters were incorrectly documented, and that even
                   if they were, you can't do anything about them, and
                   its description will be removed.  However, since my
                   code was already done before I knew that fact, I
                   decided to leave the code in place with this caveat!
               MXG Install note:  YOU MUST ADD //QAPMIOPD DD DUMMY to
               your existing QAPM job's JCL when you install MXG 12.12,
               or that existing job will fail with a JCL error.  Then,
               when you install V3.1, you can change the DUMMY to the
               real dataset, and MXG will automatically create obs in
               the new QAPMIOPn datasets.
                 Yes, this is an incompatibility between MXG 11.11 and
                 MXG 12.12, that I could have avoided by commenting out
                 the invocation of _TQAPIOP in member TYPEQAPM, but then
                 you would have had to modify the source code to create
                 observations in the future, so I chose this JCL change
                 as the lesser of the two choices.
               As of Newsletter 27 press time, the new 3.1 code had not
               been tested with 3.1 data; only 2.2 data was available.

Change 12.291  ERROR. INVALID OFFSETS IN USER SEGMENTS with Landmark
TYPEMON8       CICS/ESA Version 1.1 records converted back to Version 8
TYPETMON       format may result because MXG's test is true when the
Feb 11, 1995   offset in the record is greater than record length even
               when there is no segment - the number of segments must be
               added to the test.  The three lines in TYPEMON8 now read:
               IF FILECOL+FATNUM*TAFATLEN GT LENGTH+1 AND FATNUM GT 0 ..
               IF UATCOL+UTNUM*TAUATLEN GT LENGTH+1 AND UTNUM GT 0 ..
               IF MROCOL+MRONUM*TAMROLEN GT LENGTH+1 AND MRONUM GT 0 ..
               The one line in TYPETMON now reads:
               IF FILECOL+FATNUM*TAFATLEN GT LENGTH+1 AND FATNUM GT 0 ..
   Thanks to Bill Padilla, Farmers Group, USA.

Change 12.290  Amdahl MDF will produce negative/trashed CPU values if
VMAC7072       you use the same LPAR number for different LPARs.  The
Feb 10, 1995   error, introduced in microcode ML 6, has been fixed in
               Amdahl's ML 8.09, and your SE can show you how to define
               your IOCDS with a unique Partition Number, but you must
               correct the error, or your CPU busy data is invalid.
   Thanks to Dean Brown, Pacific Bell, USA.

Change 12.289  Amdahl MDF has been providing real MVS CPU utilization of
VMAC7072       "this" MVS in TYPE70 dataset since their microcode ML 6;
Feb 10, 1995   Change 12.288 added the PCTMVSBY/MVSWAITM fields which
               contain the MDF "CPU using" time for "this" Domain.

               A new MDF option, called "Wait Complete=No Reporting",
               (available for ML 6, included as a feature in ML 8.09)
               can store the Real CPU Active Time (instead of Dispatch
               Time) into the TYPE70PR LPAR data segments in type 70.
               You can tell that the option is enabled and the CPU times
               are real if LCPUWAIT='N' (not enabled, LCPUWAIT='Y'), as
               the 'N' record looks like a non-wait-completion PR/SM.
               (Without the option, MDF LPAR measures are "dispatch"
               time, not "CPU using" time, so you had to use Amdahl's
               APAF to get the real CPU busy time of other LPARS.  This
               new option lets you now use TYPE70PR/ASUM70PR for real
               CPU measures, using APAF data for deeper analysis.)
               Jul 9, 1997:  See Change 15.023 for update on option.

Change 12.288  PR/SM APAR OW07986 puts "MVS Wait" time back in type 70
VMAC7072       records, so the new variables PCTMVSBY MVSWAITM and
Feb 10, 1995   MVSWAIT0-MVSWAITF report the MVS view of CPU busy/wait
               contrasting with the existing variables PCTCPUBY (LPAR
               dispatch perspective) and PCTCPUEF (LPAR effective
               perspective).  Looking at one sites numbers, it appears
               that the sum of the "MVS Wait" plus the sum of "CPU Eff"
               plus the "Physical LPAR" is very close to total duration,
               which implies that PCTCPUBY-PCTMVSBY is the true LPAR or
               MDF overhead.  The text of the APAR includes a complete
               discussion of the differences between "MVS CPU Busy" in
               PCTMVSBY and "LPAR CPU Dispatch" in PCTCPUBY.
   Thanks to Boris Ginis, BGS Systems, USA.

Change 12.287  ITRF note.  Candle has corrected the problems that
VMACITRF       were reported in Newsletter 26, and the blank field for
Feb 10, 1995   RNJOB, etc., are now populated (except in the TYPE= '13'x
               thru '16'x Database records, which being cut from the IMS
               Control Region, have no associated Job information).
               A small sample of their log records post-APAR have been
               validated, and I have no reason to believe there are any
               further problems, but as the Newsletter went to press,
               the APARs were too new to have had stress testing, so I
               would appreciate feedback from active ITRF users.
               There was no change to the VMACITRF code; this change is
               solely for documentation.

Change 12.286  Zero observations in dataset CISIZE can occur, because
ANALSMF        the logic detecting that data was held was unrobust.  The
Feb 10, 1995   test IF INCI4K=0 THEN DELETE; must be expanded to
               IF SUM(INCI4K,INCI8K,INCI16K,INCI22K,INCI26K)=0 THEN ....
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.

Change 12.285  Support for Type 99 Subtype 1 has been added, creating
EXTY99TT       two new datasets:
EXTY99U1         TYPE99TT -  Trace Table Entries
VMAC99           TYPE99_1 -  System State Information
Feb  9, 1995   Don found this data so useful in his CPExpert product,
               that he shared his coding for this record!
   Thanks to Don Deese, Computer Management Sciences, USA.

Change 12.284  Support for IMF 3.1 (for IMS 5.1) is already in MXG 12.12
VMACCIMS       because Boole expects there will be no significant change
Feb  9, 1995   in the format of the IMF records in their new version.
               Some old MVS fields may be zero when MVS 5.1 is in Goal
               Mode, but the fields will still be there, so the MXG code
               is expected to be compatible.

Change 12.283  MXG 12.07 Only.  TCP/IP records cause INVALID DATA FOR
VMACTCP        VARIABLE NEW because the word NEW was accidentally left
Feb  8, 1995   in columns 1-3 of line 020100.  Remove "NEW". (NEW was
               left as a marker that I needed to add the new variable,
               FTPSTRCT to the LABEL and KEEP= lists, so not only did I
               fail to remove the NEW, I also failed to add FTPSTRCT
               until this change.  The syntax check passed because NEW
               was just another variable to be INPUT; only when real
               data records were read did the error surface.)
   Thanks to Richard Clary, Entergy Services, USA.

Change 12.282  Support for Velocity Software's XAMAP Version 2.2 added
VMACXAM        many new variables for VM/ESA 2.2, and a few variables
Feb  8, 1995   were renamed.  This code has not been tested with actual
               data.  The new fields were added at the end of the record
               so their new version appears to be compatibly made.

Change 12.281  ANALRACF's problem with PROC TRANSPOSE error will not be
ANALRACF       corrected, because the enhancements in Change 12.280
Feb  7, 1995   eliminate the need for ANALRACF.  The real error was in
               my original design of TYPE80, which creates one
               observation for each segment in each type 80 record, and
               ANALRACF was one user's solution to rebuild each logical
               event from the pieces; TYPE80A creates an observation for
               each event, solving the need (I believe) for ANALRACF.

Change 12.280  RACF TYPE80A has always decoded RACF events, but this
EXTY8009       enhancement adds new datasets that decode RACF Commands
EXTY8010       that have been requested by Security Administrators (so
EXTY8011       they can generate RACFRW reports from MXG datasets!).
EXTY8013       Seven new datasets are added by this change:
EXTY8014           Dataset     Command
EXTY8019          TYPE8009 -  ADDGROUP command
EXTY8023          TYPE8010 -  ADDUSER command
IMAC80A           TYPE8011 -  ALTDSD command
VMAC80A           TYPE8013 -  ALTUSER command
Feb  7, 1995      TYPE8014 -  CONNECT command
                  TYPE8019 -  PERMIT command
                  TYPE8023 -  REMOVE command
                  TYPE80CM -  RACF commands not decoded above.
               Most of the fields in these command records are decoded,
               but some are not; there are 2- and 4-byte bit maps (eg.,
               for Keywords specified on the command, where one bit
               is used per keyword), and rather than creating 32 or 64
               more variables, I chose to store the field as a character
               variable with $HEX format to save DASD space.  Of course,
               this means you must learn which bit does what, and thus
               you must become familiar with IBM Table 3, "Data Type 6
               Command-Related Data" in  the RACF Macros and Interfaces
               manual, SC28-1345, in SMF Records chapter, until I have
               time to document these bit-maps in member ADOC80A.
               TYPE80A should replace TYPE80/ANALRACF, because TYPE80A
               creates an observation for each event, whereas TYPE80
               creates an observation for each segment in each event,
               and ANALRACF was created to reconstruct the events from
               the segments!  This code has been tested with RACF 1.9.2
               data.
   Thanks to Richard Banks, Texas Comptroller of Public Accounts, USA.

Change 12.279  DB2STATS can be used to audit if DB2 SMF records were
DIFFDB2        lost.  DB2 counts log records written and not-written in
VMACDB2        two ways: by destination (GTF, SMF, etc. in MXG variables
Feb 19, 1995   QW1Bxxxx-QW9Bxxxx) and by writer (accounting, audit, etc,
               in MXG variables QWS1xxxx-QWS8xxxx).  With a simple:
                 PROC PRINT DATA=PDB.DB2STATS;
                 VARIABLES QW1B: QW2B: QW3B: QW4B: QW5B: QW6B:
                           QW7B: QW8B: QW9B: ;
               you can scan the QWnBNM (Destination Name) for SMF, and
               then examine QWnBSRNW for that "n" to determine if any
               SMF records were lost.  If there were records lost, you
               can then use a simple:
                 PROC PRINT DATA=PDB.DB2STATS;
                 VARIABLES QWS1: QWS2: QWS3: QWS4: QWS5: QWS6:
                           QWS7: QWS8: ;
               to examine which IFCIDs (QWSnIID) had lost records, and
               see whether accounting, audit, stat or trace records were
               not written.  See MVS Technical Notes in Newsletter 27
               for a discussion of why DB2 might lose SMF records.
               Impress your auditors with your knowledge of the exposure
               and that it is detectable!
              -Variable QWACFLGS is now INPUT $CHAR2. (it was $CHAR1.)
               and this also corrects the value of QWACPKGN.
   Thanks to Chuck Hopf, MBNA, USA.

Change 12.278  ERROR.TYPE110.SUBTYPE 2, STID=57, SKIP=84 message and hex
VMAC110        dump on the log with CICS/ESA 3.3.0 results because there
Feb  7, 1995   are undocumented bytes observed at the end of record.
               This diagnostic message has no effect on the type 110
               processing, so your datasets were built correctly (it's
               there so I can detect if IBM adds new, useful data, but
               in this instance, they simply added nulls!), but the dump
               on the log and the message can be eliminated:
                 Inside the DO group   IF STID=57 THEN DO;
                 replace  IF SMFPSRVR EQ 33.0 THEN SKIP=SKIP-336;
                 with     IF SMFPSRVR EQ 33.0 THEN DO;
                            SKIP=SKIP-336;
                            IF SKIP GT 0 THEN DO;
                              INPUT +SKIP @;
                              SKIP=0;
                            END;
                          END;
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 12.277  Support for ACC/SRS, Allocation Control Center/Space
EXTYACC        Recovery System (from Mitchem Technologies) user SMF
IMACACC        record.  SRS is like STOPX37; an SRS record is written
TYPEACC        whenever SRS protected an x37 ABEND by adding secondary
VMACACC        space.  ACC controls dataset allocation and lets you
Feb  6, 1995   change anything on a DD card.  The record is written when
               either SRS recovers, or when ACC sends a message.

===Changes thru 12.276 were included in MXG 12.07 dated Feb  6, 1995===

Change 12.276  Continued enhancement to IBM-like RMF reports.  The MXG
ANALRMFR       device reports can be selected by:
Feb  5, 1995      SG =,     Storage Class selection
                  DN =,     Device Number selection
                  LCU=,     Logical Control Unit selection
               and Coupling Facility report can be selected by:
                  RSYSPLX=. Sysplex report selection.
               Format MGRMFA3 was removed for variable LCU in the I/O
               queueing report (it caused hex instead of decimal values)
               and this edition supports more than two IOPIQIDs (using
               PROC TRANSPOSE and ARRAY processing).

Change 12.275  The old analysis of tape drives, using PDB.STEPS was
ANALTAPE       revised to use the new ANALCNCR macro to speed up the
Feb  5, 1995   analysis, but using the ASMTAPES MXG Tape Allocation
               Monitor records and datasets PDB.TYPETALO and member
               ASUMTALO is strongly recommended as more accurate.

Change 12.274  New analysis of initiator concurrent use (i.e., how many
ANALINIT       jobs are concurrently in initiation), using ANALCNCR (see
Feb  5, 1995   Change 12.272).  Unfortunately, there is no way to know
Feb 19, 1995   which initiator is actually used, but at least we can
               determine how many jobs are waiting or running in any JES
               job class.  There are also some limitations to initiator
               analysis.  Jobs submitted into HOLD cannot be included in
               measurement of jobs waiting, because we do not know when
               the job was released from hold, so these jobs are deleted
               (TYPERUN=HOLD) from the analysis. (Note that jobs that
               are read-in and then later placed in HOLD cannot be
               detected and are thus inadvertently included as queued.
               You might be able to establish a criteria for queue time
               that would let you identify these probably-held jobs -
               like queue time greater than one hour for 15 minute job
               class - and then delete these exceptions from analysis.)
               For Duplicate Jobname hold, the job is not counted in the
               input queue until the previously-initiated, same-named
               job has ended.  Finally, the analysis only applies if the
               job observation in PDB.JOBS actually completed execution;
               i.e., only if INBITS contains a J in the third position.
               The analysis first separates held jobs from jobs to use,
               and then invokes %ANALCNCR twice to count the number of
               jobs in execute/queued/held/samename, and then these 4
               datasets are merged for the report.  Buckets are created
               for distribution values of job counts, and you can change
               the number and values of the buckets.  The default values
               are 5, 10, 15, 20, 25, 30 , 35, and > 35 jobs.  ANALINIT
               is designed for MXG's PDB.JOBS, but it shows how "open"
               MXG routines are to point out that one MICS and MXG user
               used ANALINIT with MICS's BATJOBxx dataset, simply
               by replacing these MXG variable names with their MICS
               counterparts:
                  MXG Variable       MICS Variable
                    READTIME           RDRTS
                    JINITIME           STARTTS
                    JTRMTIME           ENDTS
                    TYPRUN='HOLD'      JOBHOLD GT 0
                    TYPETASK           not applicable
                    INBITS             not applicable
                    RDRTM              JOBRDRTM
   Thanks to ???,???, USA, who raised the question at CMG.

Change 12.273  Complete revision of the summarization of Tape Allocation
ASUMTALO       using the ASMTAPES Tape Mount and Allocation monitor now
TRNDTALO       uses ANALCNCR (See Change 12.272).  Early test sites that
Feb  5, 1995   have previously used ASUMTALO/TRNDTALO will need to go
Feb 20, 1995   back and reprocess TYPETALO with ASUMTALO, because the
               earlier version of ASUMTALO/TRNDTALO kept averages, but
               this version keeps totals (like other ASUM... members).
               In ASUMTALO, SAS Compression is turned off, just in case
               you had turned it on.  Because few variables are kept,
               compression saved no DASD space, but caused a significant
               increase in CPU time, 230 to 590 seconds with a million
               observations as input.  Because allocations are not
               written until termination, TRNDTALO re-drives the week's
               detail in TYPETALO back through ASUMTALO to eliminate the
               overlap and increase the accuracy of allocation trends.
               See ADOCTALO (when complete, hopefully in MXG 12.12 but
               still in progress at press time) for more discussion.

                  This note was added after MXG Newsletter 27:
                  TRNDTALO was enhanced to 'fix' the problem of tape
                  drive allocations that are in effect when the SMF data
                  is dumped.  Since this would be a daily occurrence,
                  detail data from the WEEK.TYPETALO is resummarized in
                  TRNDTALO, but since ANALCNCR runs quickly, the impact
                  is minimal.  The duration of a shift is defined as the
                  actual shift duration as defined in your IMACSHFT
                  (whether or not we found data during all intervals).
                  To avoid the remaining overlapping allocations causing
                  data perturbations, if an interval has already been
                  summarized (it was in last weeks TREND database) the
                  duration, max, and buckets for incoming records from
                  the WEEK.TYPETALO will be set to 0.  Thus, the
                  averages will be correct but (for those small number
                  of overlapping allocations) the MAX and buckets will
                  be slightly less than accurate.

Change 12.272  A powerful new MXG tool for the analysis of concurrency
ANALCNCR       (how many tape drives, or initiators, or programs ... are
Feb  5, 1995   concurrently being used.  Previously, I used brute force
               to count concurrency; an observation with a start and end
               time was exploded into many observations, with the time
               incremented from start to end by a delta-value, and then
               observations were summed by time to count concurrency.
               Thus a one-hour step record would explode into 600 obs if
               the delta-value was 6 seconds.  While that algorithm was
               accurate, its execution required lots of DASD and time.
               When someone at CMG asked about initiator usage, Chuck
               used VMXGSUM and the brute force approach in an example,
               but I realized that a general purpose routine was really
               needed, and then remembered the algorithm in my 1973
               simulator (and also recalled that an MXG user had made a
               similar suggestion long ago).  I gave the algorithm to
               Chuck, and the result is this fine new tool: %ANALCNCR.

               This concurrency algorithm, instead of exploding obs and
               summing by timestamp, creates only two observations per
               event, one at the start, with a positive value of the
               variable to be counted, and a second at the end, with a
               negative value.  Then, sorting and scanning by time,
               adding or subtracting counts as events occurred in time,
               the number of concurrent "things" is easily counted with
               no explosion in the number of observations.  Furthermore,
               there is no delta-interval; the clock resolution of the
               timestamp automatically counts any "thing" that exists
               for more than one clock interval.  The performance of
               ANALCNCR over the old algorithm is phenomenal; ASUMTALO
               with 860,000 records took only 20 minutes elapsed and 6
               minutes of CPU time; the old logic took that time for
               only 8000 records!  Not only is ANALCNCR a stand-alone
               analysis module, it is already used in MXG members
               ASUMTALO,ASUMINIT, and ANALTAPE, with more to come!

                 The logic creates the "detail" data set with the count
                 value and the duration at that count value (and the
                 "detail" can have fewer observations than the number of
                 original events!), and ANALCNCR will (optionally, but
                 usually) summarize the "detail" data set into intervals
                 (eg. hourly), as well as creating percentage-of-time
                 distribution values.  There are even canned printed and
                 plotted reports in Chuck's fine piece of work.
   Thanks to Chuck Hopf, Merrill Consultants, USA.

Change 12.271  Further enhancements after stress tests of XMXGSUM (which
XMXGSUM        will eventually replace VMXGSUM).  The compiler fakers
VMXGSUM        (IF X=. THEN X=.) which eliminated the UNINITIALIZED VAR
Feb  5, 1995   messages were removed, as they were causing dropped
               variables to be re-created in the output data set.
               If you used DATETIME=xxx and also used xxx in a MINTIME=,
               MAXTIME=, or SUM= argument, xxx was inadvertently dropped
               (error was introduced by Change 12.084 when the DROP of
               DATETIME was added).  A new argument, DSNLABEL= was added
               to supply a label for the output dataset created.  Lots
               of effort went into the parsing logic that supports the
               use of multiple input datasets that have data set options
               (like IN=, KEEP=, END=), since we now force a KEEP=
               option on the input datasets to improve performance and
               minimize work DASD space.   KEEPALL= and DSNLABEL= were
               also added to VMXGSUM for consistency.
   Thanks to Diane Eppestine, Southwestern Bell, USA.
   Thanks to Roger Zimmerman, Kemper Financial Services, USA.

Change 12.270  DB2PM-like Locking Reports were revised, now using IFCID
ANALDB2R       172 for Deadlock/Timeouts, and syntax errors in PMLOK02
Feb  5, 1995   (missing END) were corrected, and PMLOK03 was revised.
               See also Change 12.250.

Change 12.269  Preliminary support for Boole & Babbage's CMF VSAM MMR
EXCMFVAS       Historical Records creates 24 new datasets, but only the
EXCMFVCA       two most important datasets are complete (CMFVASRE and
EXCMFVCP       CMFXDRE).  Others will be supported as-requested. These
EXCMFVCX       datasets are created directly from the VSAM file:
EXCMFVDI         CMFVAS   - Address Space
EXCMFVDM         CMFVCA   - Cache
EXCMFVDX         CMFVCP   - CPU
EXCMFVEN         CMFVCX   - Channel Path
EXCMFVES         CMFVDI   - Dataspace Info
EXCMFVIS         CMFVDM   - SRM Domains
EXCMFVLP         CMFVDX   - Device
EXCMFVLX         CMFVEN   - Enqueue
EXCMFVPD         CMFVES   - ESTORE Criteria
EXCMFVRW         CMFVIS   - Interval Summary
EXCMFVSC         CMFVLP   - LPAR/Domain
EXCMFVSD         CMFVLX   - LCU
EXCMFVSM         CMFVPD   - Page Data Sets
EXCMFVSP         CMFVRW   - Resolve Warnings
EXCMFVSS         CMFVSC   - SYSID CPU
EXCMFVSU         CMFVSD   - Swap Data Sets
EXCMFVSY         CMFVSM   - SMS Storage Group
EXCMFVWK         CMFVSP   - SYSID Paging
EXCMFVWT         CMFVSS   - SYSID Swapping
EXCMFVWU         CMFVSU   - SYSID Summary
IMACCMFV         CMFVSY   - Global SYSID
TYPECMFV         CMFVWK   - Workload
VMACCMFV         CMFVWT   - Wait/Use Summary
Feb 18, 1995     CMFVWU   - Wait/Use
Feb 23, 1995   See comments in member VMACCMFV for testing status.
               There's lots and lots of data here.

Change 12.268  Support for BGS's BEST/1 I/O Monitor SMF record adds four
EXBGSCPU       new datasets:
EXBGSDEV         B1MONCPU - I/O Interrupts by CPU
EXBGSMON         B1MONDEV - I/O Interrupts by Device
EXBGSPGN         B1MONMON - Resources consumption of the B1MON itself
IMACBGSI         B1MONPGN - I/O Interrupts by Perf Grp by Device
TYPEBGSI         Their monitor is a powerful tool for I/O analysis.
VMACBGSI         This code has only been bench checked with a hex dump.

Change 12.267  Support for Xerox Print Service Manager user SMF record
EXTYXPSM       adds new dataset TYPEXPSM which tracks print and CPU
FORMATS        resources, with lots of good quality data for managing
IMACXPSM       and measuring print activity with XPSM.  New records
TYPEXPSM       with fixes for all reported problems is in hand, but it
VMACXPSM       won't be tested before the Newsletter deadline, so check
Feb  4, 1995   this text in member CHANGES of MXG 12.12 for an update.
   Thanks to Tom Bell, Rivendel Consulting, USA.

Change 12.266  If you use TYPEMON8 to process Landmark records that were
TYPEMON8       converted back to Version 8 format from CICS/ESA 1.3 data
Feb  4, 1995   TYPEMON8 fails with invalid records. Their conversion PGM
               adds unexpected records at the beginning of the file with
               value of 'HH' in TMMDREC.  Expanding the test to read:
                 IF TMMDREC='DD' OR TMMDREC='HH' THEN DELETE;
               appears to have resolved the problem.  (Of course, the
               real solution is to read the native 1.3 records with new
               support in MXG's new TYPETMON member; see Change 12.151.)
   Thanks to Bill Padillia, Farmers Group, USA.

Change 12.265  IMF variables ABENDSYS/ABENDUSR in CIMSPROG dataset were
VMACCIMS       incorrectly documented and wrongly input.  Instead of the
Feb  4, 1995   expected two-byte hex fields for each, the codes are in
               a four byte field with value xxsssuuu, so the variables
               are now input @90 for ABENDSYS and @91 for ABENDUSR, and
               these two lines were inserted after the @; after INPUT:
                 ABENDSYS=FLOOR(ABENDSYS/16);
                 ABENDUSR=MOD(ABENDUSR,4096);
   Thanks to Mel Lallement, Cessna Aircraft, USA.

Change 12.264  Support for RMDS Version 2.1 (completely incompatible!).
IMACRMDS       Not only were the key values changed from alphabetic to
VMACRMDS       numeric, but also the detail directory data from the
Feb  3, 1995   Archive activity no longer exists, so there are 46 fewer
               variables in Version 2.1 than in Version 1.3/1.4.  I have
               removed those 46 variables from the KEEP= list for the
               dataset TYPERMDS, but those variables are now in member
               IMACRMDS, in a comment block inside macro _KTYRMDS, so
               if you are still on the old release and want them kept,
               you simply remove the comments and all 46 additional
               (and now archaic!) variables will be kept.  Seven new
               variables were also added by RMDS 2.1.  Fortunately, I
               can recognize Version 2.1 records internally, so it is
               not necessary to update macro _RMDSVER in IMACRMDS to
               tell me you have installed Version 2.1 (although _RMDSVER
               still is used for Version 1.2 versus Version 1.3/1.4).
               The new version has set a world record for the largest
               number of bytes to hold a date-time field; the previous
               12-byte format (YYMODDHHMMSS) was expanded to 26 bytes:
               YYYY.MO.DD.HH.MM.SS.uuuuuu (with microsecond resolution)!

Change 12.263  Support for TPX 4.0 SMF record adds 9 new TPX datasets:
EXTPXASS        TPXASSIS - User starts/ends session assist session.
EXTPXCOI        TPXCONFI - User inits/terms conference session.
EXTPXCOJ        TPXCONFJ - User joins/leaves conference session.
EXTPXGRA        TPXGRANT - User grants temporary view authority.
EXTPXPLY        TPXPLYBK - User starts/ends playback session.
EXTPXREC        TPXRECRD - User starts/ends record session.
EXTPXTRI        TPXTRNGI - User init/terms training session.
EXTPXTRJ        TPXTRNGJ - User joins/leaves training session.
EXTPXVIE        TPXVIEW  - User starts/ends session view session.
IMACTPX        These new subtypes were added compatibly, but the TPX
VMACTPX        version number change will cause an MXG error message
Feb  1, 1995   "Unrecognized TPX Version=4.0".  Until you get the new
               version with full support, you can circumvent that error
               by inserting a line reading
                 ELSE IF TPXVER=:'4.0' THEN TPXVER=' 4.0';
               after the similar ELSE IF TPXVER=:'3.5'.... statement.
   Thanks to Warren Hayward, TJX Companies, USA.

Change 12.262  Zero observations in dataset CACHE90 with RAMAC devices
VMACACHE       behind both 3990-3 and 3990-6 cache controllers because
Feb  1, 1995   CLEN (IBM field RF8CLEN) has zero value.  Insert the
               statement  IF CLEN=0 THEN CLEN=108; after the statement
                INPUT @OFFDATA+15 CLEN &PIB.2. @;
               as a circumvention while we still pursue the IBM error.
   Thanks to Miguel Sanchez, Florida Power and Light, USA.
   Thanks to Harry Price, Florida Power and Light, USA.

Change 12.261  Support for APAR OW05435/OW07895 adds new variable
VMAC79         R793CUT to dataset TYPE793, but no format for the data
Jan 29, 1995   was given - I have guessed it's really CPU time, but am
               pursuing with IBM.
Change 12.260  Reserved Change Number.
Jan 29, 1995

Change 12.259  Replacement support for TYPEZRB RMF Monitor III VSAM data
ASMRMFV        for MVS/ESA 4.3 is tested for DSIG3, SSHG3, ASIG3, GEIG3
IMACRMFV       & DVTG3 tables and work is planned for the UWDG3, CSRG3,
TYPERMFV       & PGPER tables - both the ASMRMFV assembly program and
VMACRMFV       the VMACRMFV SAS programs must be changed to support the
Jan 29, 1995   additional segments, but their DSECTS are missing
Feb 20, 1995  -RMF VSAM data is now compressed, so you must assemble the
               program ASMRMFV (in member ASMRMFV) for the 2-step job:
              -ASMRMFV reads the VSAM file from DDNAME of RMFVSAM,
               invokes IBM's Data Set Decompression Interface Service
               module (ERB3RDC) to decompress the data, and then writes
               each section as a logical record to the output RMFBSAM
               DDNAME, which is a temporary file on DASD.
              -TYPERMFV reads the INFILE of RMFBSAM to create the MXG
               datasets (all starting with ZRB....., and the dataset
               names and variable names are the same as those created
               by the original TYPEZRB code).  In the example JCL below,
               the output MXG datasets will be written to the DDNAME of
               ZRBPDB because of the USER=OPTION on the EXEC statement.

              -First, assemble the ASMRMFV program into YOUR.LOADLIB.
              -Second, use this JCL:
                  //ASMSTEP EXEC PGM=ASMRMFV
                  //STEPLIB DD DSN=YOUR.LOADLIB,DISP=SHR
                  //RMFVSAM DD DSN=YOUR.VSAM.RMFIII.DATA,DISP=SHR
                  //RMFBSAM DD UNIT=SYSDA,SPACE=(CYL,(100,100)),
                  //           DSN=&&BSAMRMF,DISP=(,PASS)
                  //MXGSTEP EXEC MXGSAS,OPTIONS='USER=PDBZRB'
                  //RMFBSAM DD DSN=&&BSAMRMF,DISP=(OLD,DELETE)
                  //PDBZRB  DD DSN=YOUR.OUTPUT.PDB.LIBRARY,DISP=(,CATLG)
                    %INCLUDE SOURCLIB(TYPERMFV);

               All storage variables that contained FRAME counts were
               converted into bytes and formatted with MGBYTES format,
               so installed/used values can be compared easily, and the
               labels indicate "storage" rather than "frames".

               Many new variables are now created in ZRBASI and ZRBGEI.

               This support is preliminary, in that it has not had any
               extensive usage by real users, although I have had real
               data to look at.  Some of the fields may be accumulated,
               and it may be necessary to add a post-processing step to
               de-accumulate, but I need feedback from active users to
               add the polish to this (long-overdue) enhancement.  I did
               not compare my output with snapshots of RMF III screens,
               so please verify my calculations.  The next interation of
               ASMRMFV will provide record selection and will print a
               summary report of records found/written.  Originally,
               ASMRMFV was named ASMMON3.
   Thanks to Don Friesen, BC Systems, CANADA.
   Thanks to Danal Estes, Logical Resources, USA.
   Thanks to Lawrence Jermyn, Fidelity Systems, USA.

Change 12.258  JCLTEST6 may fail with LIBRARY MONITASK UNASSIGNED in
JCLTEST6       step TESTIBM2 or BUILDPDB, if you have changed member
Jan 27, 1995   IMACMONI to specify  MACRO _LMONTSK MONITASK.MONITASK %.
               JCLTEST6 invokes ASUMCICS in TESTIBM2 in member TYPE110,
               and step BUILDPDB also includes ASUMCICS, and if you have
               added the MONITASK ddname in IMACMONI, then both steps
               will require that ddname.  Although obscure, I have put
               //MONITASK DD in both steps in the test job stream.
   Thanks to Angela Mulcahy, UJB Financial Corp, USA.

Change 12.257  Support for TCP/IP Version 3.1 requires MXG 12.07 or
VMACTCP        later to be compatible, but sites with MXG 12.01-12.06
Jan 27, 1995   can process Version 3.1 records by changing the LENGTH
Feb  3, 1995   tests (added by MXG Change 12.041)
                 from 200 to 204 for TCPEVENT='FTPSERVER'
                 from  86 to  90 for TCPEVENT='TELSERVER'.
               TCP/IP Version 3.1 added FTPLCLUS (local user ID) and
               FTPLCLPN/FTPRMTPN (local/remote port) in dataset
               TYPETCPF (TCPSERVER), and added TELLCLPN/TELRMTPN in
               dataset TYPETCPT (TELSERVER).  (FTPLCLUS does exists in
               records written by both TCP/IP Versions 2.2.1 and 3.1).
   Thanks to Wanda Prather, The Johns Hopkins University APL, USA.

Change 12.256  Variable TRANSACT in Landmark is an eight-byte variable,
TYPETMON       but only the first four bytes are used for transaction
TYPEMON8       name; the final four bytes are hex nulls ('00000000'X).
Jan 26, 1995   If you test for TRANSACT='ABCD', the test will always
               fail, because SAS pads the literal 'ABCD' with blanks,
               and ABCD-blanks is not equal to ABCD-hex-zeroes.  You can
               circumvent this effect by using the colon-modifier in the
               equality:    IF TRANSACT=:'ABCD' THEN ... which test true
               for all values of TRANSACT that start-with ABCD. However,
               I have decided to correct this problem at the source, and
               have inserted the following TRANSLATE after each input in
               both Landmark members:
                   TRANSACT=TRANSLATE(TRANSACT,' ','00'x);
   Thanks to Tim Carne, Nottinghamshire County Council, ENGLAND.

Change 12.255  TYPE78CF variable PCTDIRPT is mislabeled as percent delay
VMAC78         and was miscalculated.  The line
Jan 25, 1995     IF NRCMPTSM GT 0 THEN PCTDIRPT=100*PCTDIRPT/NRCMPTSM;
               was replaced with
                 IF (CHPIDTKN+PCTDIRPT) GT 0 THEN
                    PCTDIRPT=100*PCTDIRPT/(CHPIDTKN+PCTDIRPT);
               with new LABEL of 'PERCENT WHEN*DIRECTOR PORT*WAS BUSY'
               Note: See Change 15.061, which revised this change.
   Thanks to Thomas Heitlinger, FIDUCIA, GERMANY.

Change 12.254 -BatchPipes/MVS variables INTBTIME/INTETIME are in the
FORMATS        SMFSTAMP8 format rather than TODSTAMP8 (obvious, when
VMAC91         you have test data records!).  Find their INPUT after
Jan 25, 1995    IF SMF91PRL GE 60 THEN DO; and use SMFSTAMP instead of
Feb  9, 1995   TODSTAMP8 for INTBTIME and INTETIME (SMF91IST/SMF91IET).
               Note: Do not change the first INPUT of only INTETIME, as
               it (SMF91INT) really is in TODSTAMP format!
               The logic for INTBTIME/INTETIME/DURATM is now INPUT only
               for the interval subtypes 2 and 12 (their un-cleared, non
               zero values were confusing).  INTETIME is set to SMFTIME
               and INTBTIME/DURATM will be missing in non-intervals.
              -The lines with +4 after the INPUT of SMF91IWB and after
               the INPUT of SMF91OWB must be deleted to correct the
               values of SMF91IEC/SMF91OEC/AFSTTIME/ALSTTIME.
              -Variables SMF91SST and SMF91STR are now decoded by format
               for subsystem status (ACTIVE/STARTING/STOPPING) and trace
               activity (ERROR/ FUNCTION/FLOW).
              -APAR PN66074 corrects the value of SMF91PLR, the Pipe's
               LRECL, which was 4 too large before the APAR.
   Thanks to Lawrence Jermyn, Fidelity Systems Company, USA.

Change 12.253  MXG 12.04-12.06 only.  ACF2 SMF record still gets an
VMACACF2       INPUT STATEMENT EXCEEDED RECORD LENGTH error results
Jan 24, 1995   because the code added by Change 12.072:
                         IF ACVMFIDC GT 0 THEN DO _I_=1 TO ACVMFIDC;
               must be   IF ACVMFIDC GT 0 THEN DO _I_=3 TO ACVMFIDC;
               (the first two authids have already been input!).
   Thanks to Peter Arcoudis, NRMA, AUSTRALIA.
   Thanks to Dov Brosch, Solomon, USA.

Change 12.252  MVS/ESA 5.1, Goal Mode, TYPE72GO dataset variables from
EXTY72DL       the Work/Resource Manager State Samples (all start with
IMAC7072       R723R... or R72XR...) were moved from TYPE72GO into new
VMAC7072       dataset TYPE72DL (for Delay, since these state samples
BUILDPDB       report workload delays), because there can be more than
WEEKBLD        one pair of Begin-to-End/Execution statistics for these
MONTHBLD       "Transaction Service Class" observations (R723TYPE=3).
               For example, if the SRVCLASS is a logical service class
               (i.e., for CICS transactions), and those transactions
               also call on IMS, the TYPE72GO for the SRVCLASS would
               have delay state sections for both the CICS region and
               the IMS region delays, but the original implementation
               only kept the first set of delay statistics.
               Additionally, these variables only exist in R723TYPE=3
               records, so creating the new dataset will save DASD by
               reducing the size of TYPE72GO dataset.
               And dataset TYPE72DL will only have observations if you
               have Transaction Service Classes, R723TYPE=3 records.
   Thanks to Don Deese, Computer Management Sciences, USA.

Change 12.251  DB2 Transit Report failed with NOT SORTED because the
ANALDBTR       pairing of the 015-016-017-018 IFCIDs in ANALDBTR added
ANALDB2R       CUBTOKEN (Change 12.124), causing the S015S018,S016S018,
Jan 21, 1995   S017S018, or S018S018 data to be out of sequence with the
               rest of the trace events.  The fix in ANALDBTR was to add
                PROC SORT DATA=SxxxS018 OUT=SxxxS018;
                BY SYSTEM QWHSSSID QWHSACE QWHCCN QWHCCV BEGEVENT;
               for each of the four SxxxS018 datasets at the end of the
               _015PAIR macro.  In addition, the design of the Transit
               Report was changed to minimize DASD required.  The report
               previously built the TRANSIT dataset (747 variables!) and
               then did a PROC PRINT; now, the report is produced with
               PUT statements, and the TRANSIT dataset is now built with
               only 6 variables (for a summary report of event counts).
   Thanks to Dan Null, Caterpiller, USA.

Change 12.250  DB2 Locking Contention Report PMLOK02 in ANALDB2R was
ANALDBTR       incorrect, and the pairing logic for 044-045-054 IFCIDs
XDB2LOCK       in ANALDBTR was also incorrect.  ANALDBTR has been fixed
Jan 20, 1995   while PMLOK02 is still being repaired.  However, member
               XDB2LOCK provides an analysis of DEADLOCK/TIMEOUT events
               that may meet your needs, and can be easily tailored if
               you need more details on these contention events.
   Thanks to Charlie Royster, AHOLD, USA.

Change 12.249  The DEVCYL value (cylinders per device) for RAMAC devices
VMXGVTOF       is different than for a native device.  For native 3390-3
Jan 16, 1995   DEVCYL=3340, but for RAMAC 3390-3, DEVCYL=3339, which is
               the number of cylinders that you can really use!  So why
               is the value different?  Because native devices have 15
               alternate tracks (one cylinder), which DEVCYL counts, but
               RAMAC alternate track support is internal, and does not
               count the extra cylinder.  In VTOC processing, MXG has
               always subtracted one from DEVCYL so that DEVCYL*DEVTRK
               would give you the correct capacity, but for a RAMAC VTOC
               DEVCYL ends up one cylinder too small!
               (The impact of one cylinder of capacity would probably
               be overlooked, but this site used exact values of DEVCYL
               in a FORMAT to identify which model 3380/3390 was used,
               and the off-by-one value fell thru their format!).
               At present, there does not seem to be a way to tell that
               the VTOC is from a native device versus a RAMAC device,
               so I may have to resort to a table of expected sizes, but
               I await IBM's response.
   Thanks to Paul Polley, PolyGram Holding, Inc., USA.

Change 12.248  The //IMSSUM DD had RECFM=F,LRECL=132,BLKSIZE=132 when it
ASMIMSLG       should have been RECFM=FB,LRECL=132,BLKSIZE=23364.  This
Jan 16, 1995   can only help the elapsed run time!  (Also, the LRECL=132
               files with BLKSIZE=13200 were increased to BLKSIZE=23364,
               for half track on 3380s.).
   Thanks to Don Cleveland, Blue Cross and Blue Shield, USA.

Change 12.248  Cosmetic.  The comments and examples for using IMACFILE
IMACFILE       were revised, and the list of variables available to the
Jan 16, 1995   exit was corrected.
   Thanks to Mr. Loewenthal, Zonussi Elettrodomestici, ITALY.

Change 12.247  Variable LSCDSTYP replaced a reserved field in NPMINSES
VMAC28         dataset in NPM 2.2, but was overlooked until now.
Jan 16, 1995
   Thanks to John Steigerwald, Canadian General, CANADA.

Change 12.246  Matching CICSTRAN with DB2ACCT found occurrences when the
ANALDB2C       DB2 plan continued to execute long after the CICS trans
Jan 12, 1995   had ended, and a trace of these transactions was needed,
               so a new %MACRO DBUGDB2C will now print out the detail
               events for a selected NETSNAME/UOWTIME value.  Also, the
               matchup logic now prints notes on the log on selected
               mismatches (first 5, then every 100,000th) so you can
               diagnose data problems (like one day's DB2 with another
               day's CICS!).  See comments in the member, and the DB2
               Technical Note in Newsletter TWENTY-SEVEN.
   Thanks to Ed Long, Fidelity Systems, USA.

Change 12.245  INVALID DATA FOR OPENDTE in type 14/15 records with nulls
VMAC1415       in that date field are corrected by adding  ??  between
Jan 12, 1995   OPENDTE and PD4. and by wrapping the OPENTIME and OPENTM
               calculations with IF OPENDTE GT 0 THEN DO; ...  END;
               I do not know why these records, clearly written after
               APAR OW00484 was installed, have zero date, but only one
               such record has been found.
   Thanks to J. R. Bleeker, Newport News Shipbuilding, USA.

Change 12.244  Variable LCU or LCUID was FORMATted as HEX2., but sites
Many           now have more than 255 LCUs, so the variable was changed
Jan 11, 1995   from HEX2. to HEX4. in members TYPE8911,TYPE10,TYPE1415,
               TYPE19,TYPE21,TYPE64,TYPE69,TYPE74,TYPE75,TYPE78,TYPE79.
   Thanks to John Astle, National Australia Bank, AUSTRALIA.

Change 12.243  Support for ICEBERG's IXFP SRP Subsystem Performance SMF
VMACICE        record PUT9404 changes the subtype 1 record (MXG dataset
Jan 11, 1995   ICEBRGSY) compatibly, adding variables FREBESCT/FREBESCP
               (free collected back end space total/in prod partition).

Change 12.242  Support for DFSMSrmm records with DFSMS Release 1.2, and
TYPEEDGB       new support for rmm's Control Backup file.
VMACEDGR       To summarize MXG support for various rmm data sources:
VMACEDGS         Member    Infile   Reads
Jan 11, 1995     TYPEEDGB  LOGSMF   Control Backup (EDGSKIP with BACKUP)
                 TYPEEDGR  EDGHSKP  Extract (EDGSKIP with RPTEXT)
                 TYPEEDGS  SMF      SMF Audit and Security (must update
                                    member IMACEDGS for SMF record ID).
              -VMACEDGR support for the DFSMSrmm Extract Record type S
               causes INPUT STATEMENT EXCEEDED because the +38 Reserved
               field following RSBINNO should have been +31.  Also,
               field RVSTSTAT does not exist, RVSTBIN and RVOBIN should
               have been $EBCDIC6 instead of $EBCDIC8, and RVSTDATE
               should have been $EBCDIC10 instead of $EBCDIC8.
               This Extract Record is created by EDGHSKP with RPTEXT
               option, but all of the dates are in character instead of
               SAS dates, so this file may be less than useful.
              -However, if EDGHSKP is run with the BACKUP option, that
               file creates records that are almost like the SMF records
               that are processed by VMACEDGS, except that there is no
               SMF header, and there is no EDGS header.  With minor
               changes to VMACEDGS, new member TYPEEDGB will now read
               the backup file (but note, you must use the //LOGSMF DD
               to point to the backup file).  This seems to be the best
               data to use account for and analyze all your rmm tapes!
              -The VMACEDGS Audit Record type D variables MDPDSN/MDNDSN
               were always INPUT, but they may or may not exist; now the
               INPUT is conditional. based on MDPDSNL/MDNDSNL.
   Thanks to David Froberg, Software AG, USA.

Change 12.241  MVS/ESA Goal Mode type 72 subtype 3 does not measure the
VMAC7072       SYSTRNTM, the total system transaction time, from read in
Jan 10, 1995   to termination.  Instead, variable AVGXETTM (Average
               Execution Time), which is a subset of the AVGELPTM
               (Average Elapsed time) duration is created.  (SYSTRNTM
               does exists in Compatibility Mode.)
   Thanks to Don Deese, Computer Management Services, USA

===Changes thru 12.240 were included in MXG 12.06 dated Jan 09, 1995===

Change 12.240  Cosmetic changes (LABELs for unlabeled variables, names
Many           in comments corrected, delete of temporary datasets that
Jan  8, 1995   should not have been kept, uncovered during QA runs) were
               made to these 18 members:
                 ANALVMDY ASUMTALO INSTALL  JCLINSTL JCLUXRE6 TESTIBM3
                 TYPEMON8 TYPETMON TYPE102A VMACRSPS VMACSIM  VMACTIRS
                 VMACTLMS VMACVMON VMACXAM  VMACZRB  VMAC0    VMAC44

Change 12.239  Dan Kaberon has revised his analysis that merges the MVS
ADOCPATH       TYPE73, TYPE74, and TYPE78CF data to analyze I/O path
ANALPATH       statistics.  An excellent documentation of the report is
ZNALPATH       also provided by Dan in ADOCPATH, and (though unlikely to
Jan  8, 1995   ever be needed again), the original ANALPATH is ZNALPATH.
   Thanks to Dan Kaberon, Hewitt Associates, USA.

Change 12.238  Almost cosmetic.  There was no EXDB2STS exit member for
EXDB2STS       dataset PDB.DB2STATS, but as there was also no statement
DIFFDB2        "%%INCLUDE SOURCLIB(EXDB2STS);" in DIFFDB2 (the OUTPUT
Jan  8, 1995   statement was implicit).  Now there is an INCLUDE to
               explicitly invoke the (newly created) exit member.

Change 12.237  MXG 12.04-12.05 only.  Support for new subtype 5 Iceberg
EXICEDEL       Deleted Data Space Release event (MXG dataset ICEBRGDE)
VMACICE        was incorrectly output in dataset ICEBRGDR, and there was
Jan  8, 1995   no exit member EXICEDEL added to the Source Library,
               because the "%%INCLUDE SOURCLIB(EXICEDRV);" following the
               "MACRO _CICE05" definition in member VMACICE should be:
             "%%INCLUDE SOURCLIB(EXICEDEL);/*_LICEDEL OUTPUTS ICEBRGDE*/

               No one reported this error (which actually has minimal
               impact since the subtype 5 is new and infrequent).
               Instead, it was detected by a real fine addition to my QA
               jobstream that was written by Freddie Arie.  Using the
               structure and naming conventions of MXG, Freddie reads
               the MXG source library to look for exceptions and lack
               symmetry between the IMACs, VMACs, and the exit members,
               such as mismatched comments and datasets not output, and
               it even verifies that any dataset name in a comment after
               each OUTPUT statement is actually the dataset name that
               is ultimately output!  His powerful logic found my coding
               error (I had block replicated code to add support for the
               new subtype 5 record, but had failed to change the exit
               name!).
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.

Change 12.236  DB2 report PMSQL01 may fail because QWHCTOKN was in the
ANALDB2R       BY list for the report step, but was left out of the BY
Jan  8, 1995   list for the sort (and the failure is only apparent if
               your data has non-blank QWHCTOKN!).  Replace the line
                NETSNAME QWHSLOCN BEGEVENT;  with
                NETSNAME QWHSTOKN QWHSLOCN BEGEVENT;

Change 12.235  Further cleanup of CICS reporting.  Correct summarization
ANALCISH       of "Storage Manager" CICSMD/CICSMT/CICSMDSA and "Journal"
Jan  5, 1995   CICJCR.  "Last Reset time" (DSGLRT) was incorrect on the
               report headers.  Merged CICxxxxx datasets with CICDS, BY
               statement changed to BY SYSTEM COLLTIME;, and VMXGSUM is
               now used internally.
               Dataset summarization status with this revision:

                 CICVT                 "VTAM STATISTICS"
                   Summarization value (times at RPL maximum) does
                   not match IBMs value, DETAIL values do match.
                 CICTCR                 "TERMINALS"
                 CICSMD-CICSMT-CICSMDSA "STORAGE MANAGER"
                 CICJCR                 "JOURNALS".
                 CICTCLR                "TCLASS STATISTICS"
                 CICTM                  "TABLE MANAGER"
                 CICAUSS                "AUTOINSTALLED TERMINALS"
                 CICAUTO                "AUTOINSTALLED STATISTICS"
                   Summarization value (Times the peak was reached)
                   does not match IBMs value, DETAIL values do match.
                 CICDBUSS               "DBCTL STATISTICS"
                 CICLDR                 "PROGRAMS"
                   Summarization value (Average fetch time) does not
                   match.
                 CICDS                  "DISPATCHER & TCB STATISTICS"
                 CICDTB                 "DYNAMIC TRANSACTION BACKOUT"
                 CICFCR                 "FILES DATA TABLE STATISTICS"
                 CICIRCB                "BATCH GLOBAL STATISTICS"
                 CICLDG                 "LOADER STATISTICS"
                   Value in question: "programs loaded but not in use".
                 CICM                   "MONITORING STATISTICS"
                 CICDQG                 "TRANSIENT DATA GLOBAL"
                 CICDQR                 "TRANSIENT DATA RESOURCES"
                 CICLSRR                "LSRPOOLs     "
                   SHARED DATA BUFFERS O.K.
                   Had no index data or hiperspace data to verify values
                 CICLSRFR               "LSRPOOL FILES"
                 CICST                  "STATISTICS DOMAIN STATISTICS"
                 CICTC                  "TASK ACCUMULATED SO FAR"
                 CICTSQ                 "TEMPORARY STORAGE"
                 CICCONSS               "ISC/IRC ATTACH TIME STATISTICS"
                 average reuse time values do not match:
                   IBM Average reuse time tween entries: 00:00:08.3886
                   MXG Average reuse time tween entries:  0:00:00.296
                  and the MXG value was summed.

               NEW CICS 4.1 REPORTS.  None have been validated with 4.1
                 test data yet; this note will be updated when tested.

                 CICDLIG                "DL/I GLOBAL"
                 CICFEPIC               "FEPI CONNECTION"
                 CICFEPIP               "FEPI POOL"
                 CICFEPIT               "FEPI TARGET"
                 CICPAUTO               "AUTOINSTALL PROGRAM"
                 CICPUSG                "USER DOMAIN"
                 CICXMC                 "TRANSACTION MANAGER TCLASS"
                 CICXMG                 "TRANSACTION MANAGER GLOBAL"
                 CICXMR                 "TRANSACTION MANAGER TRANSACTIN"
   Thanks to Mike Major, RSCA, USA.

Change 12.234  This is a documentation change only. No code was changed.
ASMTAPES       The Tape Allocation Monitor portion of ASMTAPES still has
Jan  5, 1995   occasional incorrect allocation records (see below), but
               ASMTAPES still is the replacement that should be used
               in place of ASMTMNT, because the Tape Mount Monitor part
               of ASMTAPES is better than ASMTMNT.  Comments in ASMTMNT
               explicitly tell you to use ASMTAPES instead of ASMTMNT!

               Note that if you are running an old copy of ASMTMNT, and
               if you suddenly find there are no tape mount records, it
               probably means that your site installed the new HCD
               architecture (which supports dynamic addition of new tape
               devices without a SYSGEN).  You will need to re-assemble
               ASMTAPES and you will find your mount records will then
               reappear.  (Some sites assembled ASMTMNT four years ago,
               before it was modified for the new HCD architecture!).

               These problems are still not resolved in MXG 12.12:

              -There are occasional, apparently specious, records with
               PROGRAM='IEFIIC' or PROGRAM='STARTING', and typically
               with a very short allocation duration that should be
               deleted from your analysis.  We are still investigating
               why these incorrect program names and very short
               allocation durations are created; statistically they seem
               insignificant, but pragmatically we need to trap and
               understand them.  I though about deleting them for you,
               but that runs against the grain, so I report them here
               while the investigation is in progress.  I suggest you
               look at your data first, and then delete these
               observations (and any with a duration less than ten
               seconds, as these are insignificant events in the big
               picture).

              -Thanks to very fine research by Michael Enad of Dun &
               Bradstreet, two additional problems in the Allocation
               monitor are under development - we apparently miss two
               types of deallocation events:

                - When a tape volume is swapped from one drive to
                  another (either due to an error on the first device,
                  or due to operator command to swap the mount into or
                  out of a silo), we currently miss the deallocation of
                  the first device, and instead of writing two separate
                  allocation records, only one record is written when
                  the last device is freed, and that record still has
                  the device address of the first device, so if a
                  different job happens to allocate the first device
                  after the swap, that legitimate allocation record
                  appears to overlap the incorrect allocation record of
                  the job whose tape was swapped.

                - When HSM allocates a device for Migration/Recall and
                  has multiple mounts, and then later the same day HSM
                  allocates that same device for Backup, two Allocation
                  records are written (both at end of the Backup), but
                  the deallocation time for the Migration/Recall event
                  has the end of Backup timestamp, causing these two
                  records to overlap.

Change 12.233  Continued enhancement of what will become VMXGSUM, but is
XMXGSUM        currently in XMXGSUM for additional parallel testing.
Jan  5, 1995   Parsing now recognizes the syntax of all options on any
               data statement.  Output variables are created only if the
               variable exists in the input data set (so you can now
               drop variables from your DB2ACCT and still run ASUMDB2A
               to summarize only your kept variables - previously, all
               variables named in ASUMDB2A were created in the output,
               even when they did not exist in your DB2ACCT dataset).
               See discussion in the member.
   Thanks to Chuck Hopf, Merrill Consultants, USA.

Change 12.232  Labels for FIXEDAV,CSLPFXAV,LPAFXAV,LSQAFXAV,PRVFXAV,
RMFINTRV       SQAFXAV,FIXLOAV,PVTAFCAV now state '...*MAX OF AVERAGE'
Jan  5, 1995   instead of AVERAGE.  In summarizing these measures of
               real frames, taking the real average of all intervals
               results with an un-representative number, because of the
               slack intervals.  By calculating the maximum value of
               the averages for each interval, I think you get a much
               more representative value, but I should have also made
               it clearer in the label, hence this change.
   Thanks to ???, ANHYP NV, BELGIUM.

Change 12.231  Label for variable SM012CPU is now 'CPU*TIME*USED' (it
VMACARB        was 'CPU TIME USED*TIMER UNITS'), rather misleading.  Any
Jan  5, 1995   MXG variable with a SAS time format has already been
               converted from TIMER UNITS into seconds.
   Thanks to W. F. Hamilton, Scottish Widows, SCOTLAND.

Change 12.230  Weekly and monthly building of PDBs did not include new
MONTHBLD       DB2 dataset DB2STATB, which is now added to both members.
WEEKBLD        Note that the DB2ACCT, DB2ACCTB, and DB2ACCTP datasets
Jan  5, 1995   are NOT built in the WEEK/MONTH PDB libraries by default
               (because they can be quite large, are detail, and may not
               be needed - if you want then in your WEEK/MONTH PDB you
               can easily add them yourself in your WEEKBLD/MONTHBLD).

Change 12.229  TELEVIEW datasets contain zero observations because the
VMACTELE       initial support was written without any data to test.
Jan  4, 1995  -The INPUT of SUBTYPE should have been &PIB.1. instead of
               &PIB.2.
              -Replace all occurrences of '??  &NUM.2' with '     &PK.1'
               so the HH,MM,SS,and TH fields are correctly input.
              -Insert ?? between DATE and &PD4. in seven places.
   Thanks to Tom Parquette, MONY, USA.

Change 12.228  ICEBERG status variables CAENBCUR and DFWENCUR in dataset
VMACICE        ICEBRGDV are incorrect.  The two statements testing each
Dec 30, 1994   of these variables for ='00'x should test for ='01'x.
   Thanks to Peter McGill, NRMA, AUSTRALIA.

Change 12.227  MXG 12.03-MXG 12.05 only.  VMXGHSM still fails with
VMXGHSM        "BCRTBLA HAS ALREADY BEEN DEFINED AS NUMERIC".  The text
Dec 29, 1994   of Change 12.112 was correct, but in member VMXGHSM you
               must delete the semicolon at the end of the line reading:
                  LENGTH DEFAULT=4;
   Thanks to Solomon Baker, The Prudential Services Company, USA.

Change 12.226  Support for Innovation Processing's IAM user SMF record.
EXTYIAM        New dataset TYPEIAM provides statistics on usage and the
IMACIAM        efficiency of IAM execution.  This implementation keeps
TYPEIAM        only the first extent location, but if users need to keep
VMACIAM        all extents I will revise the MXG implementation.
Dec 16, 1994
Jan  5, 1994
   Thanks to David Ehresman, University of Louisville, USA.

Change 12.225  Support for NETSPY 4.5.
EXNSPYNB      -If you have LU 6.2 devices, the NSPYAPPL dataset was
FORMATS        incompatibly changed because LU 6.2 devices statistics
IMACNSPY       are now captured separately in these 27 new LU 6.2
VMACNSPY       variables:
Dec 15, 1994     AINPUTS6 AOUTSZT6 AOUTSZW6 ARSPHOS6 ARSPNET6 ATTCHLU6
                 CINPUTS6 COTPUTS6 CRSPHOS6 CRSPNET6 NETRSPN6 OUTPUTN6
                 OVRSPPC6 SESSNO6  TOTRSPN6 TRANSNO6 T1RSPNO6 T1RSPPC6
                 T2RSPNO6 T2RSPPC6 T3RSPNO6 T3RSPPC6 T4RSPNO6 T4RSPPC6
                 USERRSP6 WRSPHOS6 WRSPNET6
               and the 27 existing similarly-named (but without the "6")
               variables will now contain only the statistics for your
               non-LU 6.2 devices (previously they contained both).
               Note that if you need statistics for totals, you will
               need to decompose the ratios, sum the numerator and the
               denominator separately, and then recalculate the ratio.
               (VMXGSUM handles these "normalized" variables easily!).
              -New dataset NSPYNCPB contains 27 variables from the new
               NCP Control Block Information record, and new MXG format
               MGNSPCB was created for that data.
              -For all NETSPY versions, variable NSPCURVS was input as
               PIB4 and thus wrong.  It is now input as PIB2 and new
               variable NSPCURVT='VC-S*ESTABLISHED*THIS SESSION' is
               created PIB2 after NSPCURVS.
   Thanks to Tim Crocker, Computer Power, USA.
   Thanks to Alan Phelan, Allied Irish Bank Group, IRELAND.

Change 12.224  VM/ESA 2.2 Scheduler records cause PROBABLE DATA LOSS
VMACVMXA       error message.  The second occurrence of SKIP=SKIP-148;
Dec 15, 1994   should be SKIP=SKIP-100;  (this is the one 67 lines after
                IF      MRHDRDM=2 AND MRHDRRC=5 THEN DO; /*VXSCLDDL*/
               With this change, MXG tolerates VM/ESA 2.2 data records,
               but there are additional fields added by IBM (1.7,1.15,
               2.4,2.5,2.6,4.9,4.10) that are not yet decoded.  This
               text will be revised when documentation has been received
               and MXG fully supports VM/ESA 2.2 records.
   Thank