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.     
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               
 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
   Major enhancements added in MXG 12.12A dated Mar 20, 1995:           
    Twelve MXG 12.12 members had errors that are now fixed:             
    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 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       
       The Monitor for CICS/ESA 1.3                        12.12        
       The Monitor for MVS/ESA 1.3                         12.05        
       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 occurred 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):     
       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
     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:    
     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  
     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 " 
"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:                 
  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.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.    
  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).   
  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.               
  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.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 '.      
  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.;                     
               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.                      
               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.327A 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
   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  
   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
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   
               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:
               The one line in TYPETMON now reads:                      
   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, (CPExpert), 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 
   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;                  
                            IF SKIP GT 0 THEN DO;                       
                              INPUT +SKIP @;                            
   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    
                  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. 
Feb  4, 1995                                                            
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:  
   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                
                  //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)          
                    %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    
               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                         
               was replaced with                                        
                 IF (CHPIDTKN+PCTDIRPT) GT 0 THEN                       
               with new LABEL of 'PERCENT WHEN*DIRECTOR PORT*WAS BUSY'  
               Note: See Change 15.061, which revised this change.      
   Thanks to Thomas Heitlinger, FIDUCIA IT AG, 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  
               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     
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).   
Jan 21, 1995   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, (CPExpert), 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;                   
               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.248A 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  
DOC            now have more than 255 LCUs, so the variable was changed 
Jan 11, 1995   from HEX2. to HEX4. in members TYPE8911,TYPE10,TYPE1415, 
   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, (CPExpert), Computer Management Sciences, 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  
DOC            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:                                
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 
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:  
               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  
   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    
                 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    
              -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.                      
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 
              -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      
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:                                               
                 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.               
   Thanks to Phyllis M. Parisi, University at Buffalo, USA.             
Change 12.223  If the INTERVAL= parameter was entered in mixed or lower 
VMXGDUR        case, its value was not recognized and an error flagged, 
Dec  1, 1994   but the value was then printed in uppercase, making it   
               quite confusing to diagnose.  Now, the UPCASE() function 
               is used to eliminate the exposure.                       
Change 12.222  Datasets already using LSR are added to the report, since
ANALBLSR       you should periodically review the LSR parameters to be  
Dec  1, 1994   sure they are still correct.  If the current buffer field
               (0 when LSR is in use) is 'LSR' then LSR is already being
               used.  In addition, if there is a '-' beside the number  
               of buffers being recommended, then that signifies that a 
               value of 10 was forced in the report (and there were not 
               really 10 records in the file).  This is done because the
               minimum you can specify with BLSR is 10 (a lesser value  
               will cause a JCL error!).  The '-' will usually appear on
               the index component of a file.  If there is a '+' next to
               the number of buffers then the recommended setting       
               reflects the limit applied by the MEMSIZE parameter and  
               the EXCP count is greater than 20% of the number of      
               physical records in the file.  In this case, sometimes   
               more buffers can be effective, and you may want to try   
               higher values.  In one case, a file with 400,000 EXCPs   
               against the data component was reduced to 18,000 by using
               BUFND=2000 and HBUFND=7500 (32m of hiperspace buffers),  
               and this one change reduced the run time from 2.5 hours  
               to 45 minutes!                                           
   Thanks to Phil Henninge, Timken Company, USA.                        
Change 12.221  FACOM AIM type 117 SMF record causes INPUT STATEMENT     
Nov 28, 1994   the INPUT of NUMSUBRG &PIB.4. should have been &PIB.2.   
   Thanks to Ian Heaney, Toyota Australia, AUSTRALIA.                   
Change 12.220  DB2 Package Accounting should be an SMF ID=101,SUBTYPE=1 
VMACDB2        record, but that IFCID=239 record was originally written 
VMAC102        as an ID=102 record.  IBM tried to correct the error in  
Nov 28, 1994   APAR PN56441, which did change the ID from 102 to 101,   
Jan 12, 1995   but the subtype was still a zero, so APAR PN63234 now    
               corrects both ID and SUBTYPE.  This MXG change detects   
               the uncorrected record and tells you you need to install 
               the APARs, and deletes the package record.               
                 Pending installation of the APARs, you can use this    
                 program to read your SMF file and to create a new      
                 copy with the bad type IFCID=239 records corrected:    
                   %INCLUDE SOURCLIB(VMACSMF);                          
                   DATA _NULL_;                                         
                   FILE SMFOUT DCB=SMF;                                 
                   IF (ID=101 AND SUBTYPE=0) OR ID=102 THEN DO;         
                     INPUT @25+OFFSMF OFFPROD &PIB.4.                   
                           @29+OFFSMF LENPROD &PIB.2.                   
                           @31+OFFSMF NRPROD  &PIB.2.                   
                     %INCLUDE SOURCLIB(VMACDB2H);                       
                     IF QWHSIID=239 THEN DO;                            
                       PUT _INFILE_ @2 ID PIB1. @19 SUBTYPE PIB1.;      
                     ELSE PUT _INFILE_;                                 
                   ELSE PUT _INFILE_;                                   
   Thanks to Joseph L. Schwartz, CIGNA, USA.                            
   Thanks to Jeff Marsh, Twentieth Century Services, USA.               
Change 12.219  STK ICEBERG records may cause "INFORMAT $PIB UNKNOWN" of 
VMACICE        "INFORMAT CHAR UNKNOWN", only if ICEBERG SMF records are 
Nov 22, 1994   processed with other SMF records (e.g., if you use EXPDB 
               exits to add ICEBERG processing to your PDB library),    
               because variable VERSION in VMACICE is numeric, but it is
               character in other MXG datasets and variable FLAG1 is    
               character in VMACICE but numeric elsewhere.  Change the  
               variable name VERSION to ICEVERS and the variable name   
               FLAG1 to ICEFLAG1 and the conflict is avoided.  I will   
               also revise my Q/A process to better detect this class of
               conflicts (actually, VERSION conflict was detected but I 
               missed reading it - FLAG1 was not detected because it is 
               kept only in ICEBERG datasets and conflicted with an MXG 
               temporary variable, and my Q/A stream was not robust enuf
               to cover that possibility!).                             
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
===Changes thru 12.218 were included in MXG 12.05 dated Nov 20, 1994=== 
Change 12.218  This redesign of VMXGSUM now keeps only the variables    
XMXGSUM        that are found in the input dataset (plus those created  
Nov 20, 1994   in the INCODE= logic).  Previously, to prevent a failure 
               in the PROC MEANS, VMXGSUM created all variables that    
               appeared in any of its arguments, but if you used IMACDB2
               to drop variables in your DB2ACCT dataset (to reduce its 
               size), and then you used ASUMDB2A (which invokes VMXGSUM)
               to summarize, all of those dropped variables that were   
               listed in the SUM=, MIN=, etc., arguments in ASUMDB2A    
               would have been recreated (with missing values) in your  
               output dataset! Now you can tailor your datasets with the
               _K macro in the IMAC member and use existing MXG         
               ASUM/TRND members to summarize only the variables that   
               you kept.  This version only supports lists of variables 
               with single digit suffixes (CPU0-CPU9 works, but         
               CHAN01-CHAN99 will not have all 99 variables created).   
               The complete support for arbitrary lists will be in MXG  
               12.06, but none of the ASUM/TRND members in MXG contain  
               double-digit suffixes, so the exposure is extremely      
               remote.  Because of this limitation, the new logic is in 
               a separate member named XMXGSUM, so you pioneers can help
               test before I make the optimized version the default.    
               Simply copy XMXGSUM into your USERID.SOURCLIB library and
               rename it to be VMXGSUM and you will exploit this        
               optimization.   Note that if it ever becomes necessary to
               revert to the original design, you can specify new       
               argument KEEPALL=YES to create all variables.            
               See also Change 12.233.                                  
   Thanks to Chuck Hopf, Merrill Consultants, USA.                      
Change 12.217  GRAFDB2 failed with TRNDDB2A data as input, because the  
GRAFDB2        graphs used QWACESC (end time) instead of QWACBSC (start 
Nov 20, 1994   time), which is what is used in TRNDDB2A to summarize.   
               All occurrences of QWACESC were thus changed to QWACBSC. 
   Thanks to Tom Elbert, John Alden, USA.                               
Change 12.216  If your requested only report PMSQL01 with PDB=SMF, the  
ANALDB2R       report failed (and the type of failure depended on which 
Nov 20, 1994   version of SAS you were using).  Requesting other trace  
               reports, or using READDB2 first and then ANALDB2R with   
               PDB=PDB will circumvent the logic error fixed here.      
   Thanks to Dan Null, Caterpiller Tractor, USA.                        
Change 12.215  Coding in progress as MXG 12.05 was to be built.         
EXTY123        Support for S/390 Parallel Query Server (SPQS) type 123  
EXTY123B       SMF record.  The segments are from DB2ACCT, but not all  
IMAC123        of the fields are exactly the same, and time ran out     
TYPE123        before I could finish validation.  There's a remote      
VMAC123        chance it will work, but I doubt it, and I do need test  
Nov 20, 1994   data before I can claim support for the new accounting.  
Nov 21, 1994   I listed SPQS as supported to attract test data!         
               Check with Tech Support before you use this support, and 
               this note will be revised when support is validated.     
               Update: Nov 21, 1994:                                    
               The MXG 12.05 support assumed there was a QWHS section,  
               and that header had a release value greater than 2.3, but
               the IBM DSECT implies QWSH is reserved.  Thus MXG may    
               need an inserted line after the INCLUDE of VMACDB2H with:
               to fake out the rest of the MXG code.  I have revised the
               VMAC123 member to remove any dependency on QWHSRELN and  
               streamlined the code, but structurally I still believe   
               that the MXG 12.05 code is okay.  Again, I will revise   
               this text when I get my hands on a real type 123 record! 
               MXG 12.06 note: still no validation of this support.     
   Thanks to Majid Abai, Southern California Edison, USA.               
Change 12.214  Analysis of Tape allocation has been revised so a tape   
ASUMTALO       drive is only counted once per interval.  (Previously, if
TRNDTALO       two jobs used the same tape drive in the same 15-second  
Nov 19, 1994   interval, we counted that one instance twice, which could
               cause the maximum tape drives in use to be greater than  
               the number of installed drives.)                         
               You can also specify is the statistics are created for   
               each SYSTEM, or across all system with a new macro.      
Change 12.213  New exit IMACUCB allows you to change the value of MXG   
IMACUCB        variable DEVICE in TYPE8911,TYPE10,TYPE1415,TYPE19,TYPE21
VMACUCB        TYPE62,TYPE64,TYPE74,TYPE74,TYPE8911 members, and in data
Nov 19, 1994   set TYPE30_D observations.  This is especially useful in 
               analyzing MXG Tape Mount and Tape Allocation statistics, 
               because MXG cannot tell an Autoloader from a Silo from a 
               Cartridge Tape device; however, you know which range of  
               device addresses are which, and could create values of   
                DEVICE='SILO' or DEVICE='AUTOLOD'                       
               in this new exit, and then automatically your reports    
               from ANALTMTN,ANALTALO, etc., will be grouped and summed 
               by subsets of your tape devices!                         
Change 12.212  Support for CA/SQL's user SMF record appears to already  
VMACIDMS       have been in MXG - the Performance Monitor records from  
Nov 18, 1994   CA/SQL are identical to the IDMS Performance Monitor's   
               SMF records, except that the version identifier (SMFHVER)
               now contains 1200 (presumably for 12.0.0, since the prior
               version IDMS 10.2.1 SMF records have the value 1021!).   
   Thanks to Greg Caliri, The Shareholder Services Group, USA.          
Change 12.211  ACF2 variable ACPMFWHY (Reason Code) should have been    
VMACACF2       FORMATed HEX2., and its label now indicates hex          
Nov 18, 1994   instead of binary.                                       
   Thanks to Warren Hayward, TJX, USA.                                  
Change 12.210  Support for Sterling Software's ASM V3.0.0 SMF type 39   
VMAC39         record - their records conform to IBM's format and are   
Nov 17, 1994   processed without error, including the subtype 255.      
   Thanks to Bob Berwick, UNIPAC, USA.                                  
Change 12.209  Support for SMF type 116 MQM 1.1.2 Accounting record     
EXTY116        creates one new dataset:                                 
IMAC116         MQMACCT  - MQM Accounting Data                          
TYPE116        The CPU time and counts of GETs and PUTs in four message 
VMAC116        sizes (0-99,100-999,1000-9999,over 10000) are provided,  
Nov 17, 1994   and the NETSNAME/UOWTIME fields are decoded from QWHCTOKN
               so that specific MQM events can be matched with their    
               CICS or IMS transaction.  Note that IMS can cause more   
               than one MQM record, which must be summed to accurately  
               provide correct totals for the IMS application.          
               This code has been hand checked with the hex dump printed
               in the MQM System Management Guide, SC33-0806-01, which  
               provides a good overview of IBM's new Message Queue      
               Manager design and function.                             
Change 12.208  Support for SMF type 115 MQM 1.1.2 Statistics record     
EXTY1151       creates three new datasets:                              
EXTY1152        MQMLOG   - Subtype 1 Log Manager Statistics.            
EXTY115B        MQMMSGDM - Subtype 2 Message, Data Manager Statistics.  
IMAC115         MQMBUFER - Subtype 2 Buffer Statistics for each Pool.   
TYPE115        These statistics provide performance statistics, and the 
VMAC115        Chapter 6 of SC33-0806-01 even provides guidelines for   
Nov 17, 1994   interpreting and using these MQM statistics.             
Change 12.207  SUBTYPE in SMF type 115 and 116 records is only one byte,
VMACSMF        (instead of the normal two-byte field), so VMACSMF is now
Nov 17, 1994   modified to input SUBTYPE for this anamoly.              
Change 12.206  Support for HSM APAR OW05988, which adds HSM CPU time and
VMACHSM        management class name, using existing reserved fields so 
Nov 17, 1994   the change was compatibly made.  FSRCPUTM &PIB.4.2 now   
               replaces the +4 reserved area following FSRFLG2, and now 
               FSRMGCLN &PIB.2. FSRMGTCL $EBCDIC8. +18 replaces the +28 
               reserved area after FSRTRKKW.  The APAR text makes no    
               mention of what CPU time is captured in the new field!   
               Variables FSRCPUTM and FSRMGTCL were added to datasets   
               HSMFSRST and HSMFSRTP.                                   
   Thanks to Lawrence Jermyn, Fidelity Systems Company, USA.            
Change 12.205  TYPE42DS observations for VIO datasets can be recognized 
VMAC42         because DEVNR=3FFFx, and most of the I/O counts/durations
Nov 16, 1994   are trash (i.e., non-zero values, but not valid either), 
               so now they are set missing, and new variable S42VIO is  
               set to "Y" to flag observations that are for VIO.        
   Thanks to James Purdie, Banc One Services Corp., USA                 
Change 12.204  For jobs which only have a type 6 SMF record, variable   
BUILDPDB       TYPETASK was blank in dataset PDB.JOBS.  To correct, the 
BUILDPD3       variable was added to the _PDB6 macro definition in      
BUILD005       IMACPDB, and the variable was added to the ID= statement 
IMACPDB        with the PROC MEANS DATA=PRINT in members BUILDPDB,      
Nov 16, 1994 BUILDPD3, and BUILD005.                                    
   Thanks to Kenneth D. Jones, SHL Systemhouse, CANADA.                 
Change 12.203  Support for Omegamon for CICS V300 user SMF record.  The 
VMACOMCI       version is incompatible, as new subtypes replace old ones
Nov 14, 1994   and new variables are created in existing datasets, but  
               there are no new datasets.  In addition, many existing   
               variables' formats were validated and corrected.         
               Now, MXG supports Omegamon for CICS Versions 550 and 551,
               and Omegamon for CICS/ESA Versions 100 and 300.  There   
               were no changes to the type 110 SMF record in V300.      
Change 12.202  This CICS utility now identifies if your type 110 records
UTILCICS       are actually Omegamon records (which require tailoring in
Nov 12, 1994   member IMACEXCL), which optional IBM and/or Omegamon data
               segments are tacked on the base record, and which PTFs in
               member IMACPTF must be updated for your sites records,   
               and you no longer have to go thru the detail reports and 
               match up fields - two simple PROC PRINTs tell all!       
                 Note: 2010: SEE MEMBER UTILEXCL instead of UTILCICS.   
Change 12.201  Support for NPM 2.2 has now been validated with real data
FORMATS        for the new NPMVSaaa datasets, with these corrections:   
Nov 12, 1994   variable VADSTIME is missing, because the VADSTIME=DHMS..
               statement had the date and time variables reversed (1st  
               is VADSDTEX, then VADSTIMX).  Also, variable NPMNAME was 
               incorrect because the two references to LSCDROFF inside  
               the VAD processing should have been LVCDROFF.            
              -NPMVSVAP dataset: VAPACTIM was trashed because it was not
               documented as a datetimestamp value.  VAPSECNA was trash 
               because it should be formatted with $HEX6.  VAPDSTAT and 
               VAPSTATU were wrong because both had VAPCSTAT in their   
               percentage calculation instead of themselves.            
              -NPMVSVBF dataset: VBFUSER is now input as $EBCDIC8 vice  
               &PIB.4., and VBFAVLBF & VBFBFEXT are &PIB.2. instead of  
               &PIB.4. (which caused VBFPGEXT,VBFNREQ,VBFMXREQ to be    
               trashed, as the preceding errors messed the alignment!). 
              -NPMVSVDV dataset: Most variables were trashed, because I 
               failed to input VDVNNMAE ($EBCDIC8.) after VDVSCNAM, and 
               I input VDVLNKST as &PIB.4. instead of &PIB.1., and the  
               +4 at the end of the first input should not be there.    
              -NPMLUCON dataset: NCPRLSE should have been input $EBCDIC8
               instead of &PIB.4, trashing NCPNEWNM and NCPGENLV.       
              -NPMNWCWC dataset: Most variables were trashed, because   
               the reserved field in the NWC section after REVL should  
               have been +2 instead of +1.                              
              -All other datasets new with NPM 2.2 appear to be valid,  
               and the above errors had no effect on earlier NPM data.  
              -Minor, but some subtype values (NPMSUBTY) were not in the
               MG028TY format, but now they are.                        
   Thanks to Mr. Robbiany, Comitsiel S.p.A., ITALY.                     
Change 12.200 -New dataset TYPE72SC, for MVS/ESA 5.1+ in Goal Mode, is  
BUILDPDB       now created to keep track of the Service Classes that are
BUILDPD3       served by each MVS Server, and new variable SERVER was   
EXTY72SC       added to existing dataset TYPE42GO to identify the       
IMAC7072       service classes that are servers.  Don Deese's CPExpert  
RMFINTRV       is the best tool that I know that exploits all of the new
WEEKBLD        data when the Workload Manager is in Goal Mode, and Don  
WEEKBLDT       found that these datasets enhance his ability to identify
MONTHBLD       the cause of many of the delays marked as UNKNOWN in IBMs
Nov 11, 1994   new data.  Give Don a call at 703 971 4497 for more info.
              -The PDB-Building members were updated to create the new  
               PDB.TYPE72SC dataset, and in adding that dataset to the  
               weekly build members, I discovered that I had failed to  
               add several new PDB datasets to WEEKBLD/WEEKBLDT, and    
               also found WEEKBLD and WEEKBLDT were not synchronized.   
               Now, all MXG datasets built by default by JCLPDB6 will   
               also be built in the Weekly and Monthly datasets as well.
              -MXG 12.04-only, a debugging statement IF OFFWRS GT . THEN
               PUT OFFWRS= LENWRS= NRWRS=;  was also deleted.           
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
Change 12.199  Type 6 SMF record INVALID ARGUMENT TO FUNCTION INPUT is  
VMAC6         caused by CA-DISPATCH SMF records that have overwritten   
Nov 10, 1994  the date-part of READTIME with 'EE'x.  While the real fix 
              is to get CA-DISPATCH corrected, MXG added an attempted   
              fix-up back in Change 11.342, but while the text of that  
              change was correct, the code I implemented from my own    
              change finger faulted!  The two occurrences that read     
                SUBSTR(READCADI,1,1)  must be  SUBSTR(READCADI,5,1)     
              (because the date starts in byte 5, not byte 1!).         
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 12.198  Support for InfoAccess Release 5.1 user SMF record from  
EXTYODSE      Network Imaging Systems Corporation adds two new datasets:
EXTYODSP       ODSCMSPU - CMS (Controller Managed Storage) Report Purge 
IMACODS        ODSCMSRE - CMS Recache - copy report from optical to CMS 
VMACODS       and the ODSDEVIC optical device statistics variables were 
Nov 10, 1994  completely changed and revised with durations and counts. 
              InfoAccess is a high-speed, high volume report storage and
              retrieval system that takes character-based reports and   
              compresses and indexes the reports on optical platters and
              in RAID arrays.  Previously, the company was named Laser  
              Access Corporation, and the product was the LA1500 Optical
              Data System, which accounts for the acronym "ODS" for this
              product.  The Release 5.1 records are incompatibly with   
              the previous records, so you will require this change.    
VMACAPAF       a channel record does not contain channel type and mode. 
Nov 10, 1994   Insert after input of CHPIDBSY the statement:            
                   @;  IF LENCHPID GE 12 THEN INPUT                     
              -APAF INVALID DATA FOR IOCDSLNO occurs when there is no   
               IOCDS information in the record; a value of '00'x is not 
               valid for a field input with &NUM.1.  Insert a double    
               questionmark in its input:  IOCDSLNO ?? &NUM.1.  to      
               suppress the error message and associated record dump.   
   Thanks to Willie Antman, Federal Deposit Insurance Corporation, USA. 
Change 12.196  Calculation of variables AOUTSZT and ARSPNET in NETSPY   
VMACNSPY       dataset NSPYLU were changed by NETSPY, but I did not know
Nov  9, 1994   about the changes until this user diligently validated my
               calculations with NETSPY's reports.                      
              -The AOUTSZT= calculation should have divided by TRANSNO  
               (the number of transactions) instead of NETRSPNO (the    
               number of transactions with measured response times)     
              -The ARSPNET value calculated by MXG was missing if the   
               NETRSPNO was zero, but the NETSPY logic now looks to see:
               if more than half of the transactions had a measured     
               response; if not is the new bit in LUFDRSEQ flagging that
               the value in LRSPNET is the calculated ARSPNET value, or 
               if not, then use the only data available to calculate the
               average network response.  The new section of code in the
               MXG logic for NSPYRECs S, T, and U now reads:            
              IF TRANSNO GT 0 THEN DO;                                  
              ELSE DO;                                                  
              IF NETRSPNO GE .5*TRANSNO AND TRANSNO GT 0                
                                           THEN ARSPNET=CRSPNET/TRANSNO;
              ELSE IF LUFDRSEQ='...1....'B THEN ARSPNET=LRSPNET;        
              ELSE                              ARSPNET=.;              
              ELSE ARSPHOST=.;                                          
              ELSE AOUTSZW=.;                                           
              IF NETRSPNO GT 0 THEN DO;                                 
               /* calculation of ARSPNET, AOUTSZT was originally here */
                IF SESSMGR='N' THEN DO; /* DONT CALC TARGET FOR ....*/  
                ... original code ...                                   
              and then the two subsequent occurrences of                
              were deleted.                                             
   Thanks to Wendy Gan, Malayan Banking Berhad, MALAYSIA.               
   Thanks to Ms Foo Hooi Ping, Maybank, MALAYSIA.                       
Change 12.195  When WEEKBLD was corrected by Change 11.206, the same fix
WEEKBLDT       was not applied to WEEKBLDT, causing TAPEMNTS NOT SORTED 
Nov  7, 1994   error.  The correct list for dataset TAPEMNTS is:        
                 SYSTEM SHIFT DEVICE TMNTMTYP TMNTTIME                  
               Additionally, %INCLUDE SOURCLIB(EXPDBWEK) was also added 
               to make WEEKBLDT consistent with WEEKBLD.                
   Thanks to Gavin Ring, ALCATEL Australia, AUSTRALIA                   
Change 12.194  3990-6 Cache RMF Reporter storage variables CNCONF,CSCONF
Nov  7, 1994   the SMF record (while for all other devices, the values  
               were in bytes!).  As a result, those six variables are   
               now multiplied by 1024 inside the nested DO groups for   
               IF REPORLVL GE 1.6 ...  and IF CACMODEL EQ 06X ...       
               (so they will be printed correctly with MGBYTES format). 
   Thanks to Russ Weid, CUNA Mutual Insurance Group, USA.               
Change 12.193  Type 6 variable SUPGROUP is now added to PDB.PRINT, as   
IMACPDB        the destination group name has been found necessary for  
Nov  7, 1994   print accounting; macro _PDB6 now includes SUPGROUP.     
   Thanks to Russ Weid, CUNA Mutual Insurance Group, USA.               
===Changes thru 12.192 were included in MXG 12.04A dated Oct 23, 1994== 
Change 12.192  SMS Data Class, Storage Class and Management Class fields
VMAC42         can only be 8 bytes, even though many records contained  
VMAC60         30-byte areas for these fields.  This change changes all 
VMAC6156       inputs in all datasets to be length 8, so that the stored
VMACDCOL       size of the datasets containing these SMS constructs will
VMACOMSM       be minimized.  (While some of these variables are named  
VMACVVDS       consistently as DATACLAS, STORCLAS, MGMTCLAS, there are  
VMXGHSM        many variant spellings when I instead used the field name
Oct 23, 1994   in the DSECT as the variable's name.)                    
Change 12.191  Support for Landmark's The Monitor for MVS, TMON/MVS 1.3.
EXTMVCC        The new version is incompatible because new subtypes now 
EXTMVCD        replace old ones, so some existing datasets will have no 
EXTMVCF        observations; however, MXG will not fail with new records
EXTMVCH        and some records (notably the system record) are still   
EXTMVCI        processed successfully (albeit without new data added at 
EXTMVCP        the end of the old record!).                             
EXTMVCS        Many new datasets are now created, some from new subtypes
EXTMVDV        and some from existing subtypes the MXG did not support. 
EXTMVIT        The comments in member VMACTMVS identify which datasets  
EXTMVIX        are created from which subtype.  Some subtypes are not   
EXTMVJD        yet decoded because the DSECT was not provided, and some 
EXTMVJDA       were not decoded because no test data was provided, but  
EXTMVJDD       Landmark provided both data and DSECTs for the important 
EXTMVJDI       subtypes, so the new support has been tested with data,  
EXTMVJDO       and its been out on the street for months with no report 
EXTMVJDR       of any problems (but I doubt any power user has attacked 
EXTMVJDS       each and every record type).  Some testing notes:        
EXTMVJDT        JDCPRES - large negative value for CSTORE residency     
EXTMVLC         JDJTCBS - unreasonable (327,680) count of TCBs          
EXTMVMD        and will update this note when I know more.              
EXTMVSG        Note: this change was in-progress in MXG 12.04A, and     
EXTMVXI        existing datasets had new variables added, but the new   
IMACTMVS       dataset decoding and validation was not added until MXG  
VMACTMVS       12.05, which is the minimum level for TMVS 1.3.          
Nov 15, 1994                                                            
Change 12.190  TCP/IP Port addresses were stored in character variables 
VMACTCP        with hex format (TCP/FTP/API-LCL/RMT-PO), but I now know 
Oct 21, 1994   they really are decimal numbers, so I have created new   
               numeric variables (TCP/FTP/API-LCL/RMT-PN) and the label 
               for the sets of variables indicated whether the Port     
               Address is Hex (old PO variables) or Decimal (new PN's). 
               Also, variables APILCLAD/APIRMTAD are now format $HEX8.  
   Thanks to David Ehresman, University of Louisville, USA.             
Change 12.189  CICS 3.2.1 only.  Statistics dataset CICDS duration      
VMAC110        variables with suffix TWT,TDT,TCT,ACT,SWT,SCT and prefix 
Oct 21, 1994   DSG,DS2, or DS3 were incorrectly converted.  In the 18   
               lines preceding SKIP=SKIP-216;, make the variable name   
               on the right hand side of the equal sign match the name  
               on the left.                                             
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 12.188  MXG 12.04 only.  Type 28 INPUT STATEMENT EXCEEDED error  
VMAC28         preceded by INVALID DATA FOR IF message occurs because a 
Oct 21, 1994   line was dropped.  Insert a line with  @;   immediately  
               preceding  IF LENAOF GE 128 THEN   and this error will   
               go away.  In addition, this error discovered the new date
               time stamp SYNCTIME at the end of the NAD section, which 
               is now captured by MXG.                                  
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 12.187  NPM type 28 NVV section caused CONVERSION note on the log
VMAC28         and incorrect value for flag variables LNVVCACH,LNVVREMV,
Oct 21, 1994   and LNVVMOUN, because the three variables tested should  
               have been suffixed with "X".  That is, change:           
               to read:                                                 
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 12.186  Candle Omegamon for VTAM V160 incompatibly changed their 
VMACOMVT       user SMF record, causing MXG error messages and possible 
Oct 20, 1994   looping.  A four byte field was expanded to eight bytes  
               in the middle of the exception record (to store VTAM NODE
               name), requiring extensive recoding in MXG; however, you 
               can partially circumvent the error by inserting:         
                   IF NASMFPVN GE 'V160' THEN INPUT @LOC+60 @;          
               immediately before the statement:                        
                   %%INCLUDE SOURCLIB(EXOMVEXC);                        
               With that circumvention, the looping will not occur, and 
               the rest of the OMVTxxxx datasets will be valid, but the 
               OMVTEXCE dataset will still be trashed until you install 
               the new MXG version.  What's really ludicrous about their
               incompatible change (and its unnecessary abuse of your   
               time to install a new version of MXG) is that there was  
               no need for the incompatibility - there are two other    
               areas, one of 12 bytes, one of 16 bytes, which could and 
               should have been used to store the Node Name compatibly! 
   Thanks to John Astle, National Australia Bank, AUSTRALIA.            
Change 12.185  Batch LSR analysis may report no candidates due to logic 
ANALBLSR       error, if the last observation in DSETOPEN did not meet  
Oct 20, 1994   the subsetting IF criteria.  The subsetting IF statement 
                IF TYPETASK=:'JOB' AND ACCESS=:'VSAM' ... etc           
               must be replaced with this logic:                        
                IF NOT (TYPETASK=:'JOB' AND ACCESS=:'VSAM' AND          
                        (LSRSTAT='Y' OR LSRSTAT='?')) THEN DO;          
                  IF EOF THEN CALL SYMPUT('CANDIDAT',CANDIDAT);         
   Thanks to Paul Hill, Midland Bank, UK.                               
Change 12.184  NETSPY Token-Ring Dataset NSPYTR variable TIC_UTIL was 10
VMACNSPY       times too large (the convert nanosec to microsec was     
Oct 20, 1994   off by 1000, but conversion to percent was off by 100!). 
               In addition, the old equation used IFRAMESS/IFRAMESR to  
               calculate TIC_UTIL (because that's what LEGENT used in   
               its on-line display), but now LEGENT PTF 71565 corrects  
               their on-line calculation using TRTFRAMS/TRTFRAMR instead
               of just I-Frames (so their on-line reports match their   
               batch reports), so now the MXG calculation agrees with   
               the LEGENT calculation with that PTF.  The correct MXG   
               equation (in 2 places) is now:                           
   Thanks to Janice Radel, General American Life Insurance Co., USA.    
Change 12.183  Change 11.201 intended to change the spelling of variable
VMAC90         NEWDSN to NEWDSNSM in TYPE90, but it was misspelled as   
Oct 19, 1994   NEWSDNSM.  It is now correctly spelled NEWDSNSM.         
   Thanks to Graeme Yeandle, British Telecom, UK.                       
Change 12.182  UTILCICS fails with syntax error, because line 342 is a  
UTILCICS       /*    */ line which prematurely terminates the comment   
Oct 19, 1994   block around the new text.  Delete that line and UTILCICS
               will execute.  Read the comments and you can understand  
               how to use the output to diagnose MXG error messages in  
               in your CICS type 110 SMF records.                       
   Thanks to Norbert Korsche, OMV, AUSTRIA.                             
Change 12.181  MXG 12.03 added dataset PDB.TYPE30_6 to the PDB, but the 
BUILDPDB       actual change was not noted in member CHANGES.  While not
Oct 19, 1994   usually needed, it was added to the PDB for completeness,
               since resources for tasks which start before SMF has come
               (called "early address spaces" like CATALOG, PCAUTH, GRS,
               ALLOCAS, etc.) may have their resources recorded in the  
               TYPE30_6 instead of TYPE30_V (and since these ASIDs are  
               not normally terminated, even at shutdown, there may not 
               ever be a TYPE30_4 record written for them).             
   Thanks to Norbert Korsche, OMV, AUSTRIA.                             
Change 12.180  Type 42 subtype 5 (TYPE42SR) and subtype 6 (TYPE42DS)    
VMAC42         variables STARTIME/ENDTIME can be erratically wrong. The 
Oct 19, 1994   timestamps are in GMT instead of LOCAL if TIMEZONE has a 
Nov  9, 1994   non-zero GMT offset specified in SYS1.PARMLIB(CLOCKnn),  
               (but SMFTIME is always on the LOCAL clock).  For the     
               TYPE42SR and for the TYPE42DS INTVCLOS=0 (CLOSE) records,
               MXG did not attempt to convert to GMT, so the only error 
               in those records was that the STARTIME/ENDTIME are GMT.  
               However, MXG did use the difference between SMFTIME and  
               ENDTIME for the TYPE42DS INTVCLOS=1 (INTERVAL) record to 
               determine the GMT offset and then convert START/ENDTIME  
               to LOCAL, but I now have data to prove it is impossible  
               to convert, because the SMF record timestamp can be many 
               hours later than the end of interval (for swapped out    
               tasks, the SMF record is not timestamped until the task  
               swaps back in!).                                         
                  (In MXG 12.04A only, I actually added GMT conversion  
                   logic to the INTVCLOS=0 in TYPE42DS and in TYPE42SR, 
                   but now this revised change removes conversion of GMT
                   to local for all type 42 subtypes.  Until IBM gives  
                   us a GMT offset in these records, MXG cannot convert 
                   GMT to local in any safe fashion.  In addition, some 
                   site's data show SMF42PTE later than SMFTIME, which  
                   really messes up any conversion algorithm, so the    
                   only safe strategy is to leave the timestamps in GMT 
                   as provided by IBM - you, knowing your own GMT offset
                   must then convert STARTIME/ENDTIME back to LOCAL in  
                   your report programs using TYPE42SR or TYPE42DS.)    
                   See also the MVS Technical Notes for additional type 
                   42 problems and concerns.                            
               P.S. APAR OW05631 added the DEVNR and VOLSER to TYPE42DS.
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 12.179  SAP Accounting record under IMS was not properly decoded.
VMACIMS        Change the INPUT of SAPTIMTR from "TU4." to "&PIB.4.3",  
Oct 19, 1994   change SAPCPUT (three times) and SAPELTI (once) from     
               "&PIB.4.1" to "&PIB.4.3".  Also, the HH, MM, SS and TH   
               fields used for construction of SAPTIME probably need to 
               be changed from "&PIB.1" to "&PK.1", but that has not yet
               been validated with a hex dump of a record.              
   Thanks to ???, SJ ECONOMISERVICE, SWEDEN.                            
   Thanks to Boerje Edlund, SAS Institute, SWEDEN.                      
Change 12.178  Cosmetic, but avoids confusion.  Variable CPUTM is now   
RMFINTRV       labeled consistently as "TOTAL*CPU TIME*CAPTURED" in all 
VMAC30         of the SMF/RMF datasets created by MXG.  Previously, it  
VMAC32         had different labels to describe its contents (TCB+SRB in
VMAC434        some records, TCB+SRB+HPT+... in RMF, etc.) but when you 
VMAC435        mixed SMF records (like in BUILDPDB) you ended up with an
VMAC7072       inaccurate label.  To know the components of CPUTM in a  
VMACDB2        particular record, read the ADOCxxxx description.        
Oct 19, 1994                                                            
   Thanks to Waldemar Schneider, SAS EUROPE, GERMANY.                   
Change 12.177  Archaic Landmark 1.7 only. Variable STARTIME in MONIDBDS 
TYPEMONI       was missing, because its creation (five lines, starting  
Oct 18, 1994   with IF CREATIME and ending with RESPONSE=) should have  
               been located immediately after APPLID=SYSID; statement.  
   Thanks to Warren Tanaka, Farmers Insurance Group, USA.               
  No Changes while attending Italian CMG meeting in Venice!             
Change 12.176  MXG 12.04 only. INTERVAL=SHIFT, should be INTERVAL=WEEK,.
TRNDTALO       No test data was available when the trending member was  
Oct  3, 1994   written; test data exposed the error.                    
Change 12.175  MXG 12.04 only.  Tape unload with IEBUPDTE has return    
ANALTMDB       code of 4, a note that ANALTMDB has no lines, and there  
Oct  3, 1994   are 2396 members unloaded (instead of the expected 2379)!
               This does not really cause a problem, but the error is   
               because member ANALTMDB contains an unloaded PDS, but I  
               failed to change the "./" IEBUPDTE control statements to 
               "XY", in my source PDS, so they were propagated into the 
               tape, and so when IEBUPDTE unloaded the tape, those "./" 
               caused members (all starting with RTMD) to be created!   
               Changing the "./" in my ANALTMDB to XY avoids the error, 
               but you need to take no action.                          
Change 12.174  MXG 12.04 only. Variable QWACLOCN that was added to the  
VMACDB2        DB2ACCTB dataset by Change 12.169 should have been       
Oct  3, 1994   spelled QLACLOCN.  The text of 12.169 was changed in MXG 
               12.04A to avoid further confusion.                       
Change 12.173  MXG 12.04 only. New NPM dataset NPMLINE did not have all 
VMAC28         of the variables it should have, due to spelling error.  
Oct  3, 1994   Change the one occurrence of _VA28NLF to _VA28NLV to fix!
Change 12.172  A sample report using Amdahl's APAF records (TYPEAPAF)   
ANALAPAF       that sums MDF domain busy to provide a total platform    
Oct  3, 1994   busy is added by this user contribution.  Note that the  
               report code requires the number of real engines so that  
               it can calculate correctly.                              
   Thanks to Will Evans, NIKE Information Services, USA.                
Change 12.171  Cosmetic changes. In members VMAC110,VMAC74,VMACSTX, and 
EXTY99U2       VMACTMNT "3TH" was changed to "3RD".  In EXTY99U2 the    
VMAC110        comment was corrected to TYPE99_2, and in member VMACTLMS
VMAC74         the missing "%%INCLUDE SOURCLIB(EXTYTLMS);" statement was
VMACSTX        added at the end (but its absence caused no error, as    
VMACTLMS       there is only one dataset in the DATA statement!).       
Oct  3, 1994                                                            
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 12.170  MXG 12.04 only.  The last twelve lines (starting with    
ANALCISH       "options ..." in lower case) must be deleted; this was a 
Oct  1, 1994   testing invocation within the member that doesn't belong!
 Changes thru 12.169 were included in MXG Version 12.04 dtd Sep 30, 1994
Change 12.169  DB2 3.1 detail buffer counts by pool/plan in DB2ACCTB has
ASUMDB2A       variables QWACBSC, QWACESC, and QLACLOCN added to its    
ASUMDB2B       KEEP= list in VMACDB2, so that new summary and trending  
TRNDDB2A       members ASUMDB2B and TRNDDB2B could be added to MXG.  In 
TRNDDB2B       addition, variables QWACPKGN QLACRRRC and QLACRRSE were  
VMACDB2        added to the SUM= operand in existing ASUMDB2A/TRNDDB2A  
Sep 29, 1994   to support future report enhancements.                   
Change 12.168  Support for CA's TELEVIEW user SMF record creates three  
EXTELEAP       new datasets:                                            
EXTELESH         TELEAPPL - TELEVIEW Application Logon/Logoff           
EXTELETE         TELETERM - TELEVIEW Terminal Logon/Logoff              
IMACTELE         TELESHUT - TELEVIEW Shutdown.                          
TYPETELE       See Change 12.229 update.                                
Sep 29, 1994                                                            
   Thanks to Tom Parquette, MONY, USA.                                  
Change 12.167  Omegamon/CICS V551 SMF record INVALID DATA FOR EXMXT1-10 
VMACOMCI       occurs when those supposedly packed decimal fields have  
Sep 29, 1994   hex zeroes!  Each occurrence of &PD. is now preceded by  
               the double question mark modifier to suppress the message
               and the hex dump of the offending record.                
   Thanks to Sudie Wulfert-Schickedanz, Edward D. Jones, USA.           
Change 12.166  Support for CICS/ESA 4.1.0 is added by this change.      
EXCICDL3       The changes are compatible, except that new Statistics   
EXCICFEC       Subtypes will generate messages on the SAS log if you    
EXCICFEP       do not have MXG 12.04 or later installed.                
EXCICPGG     1.Major enhancements to the CICSTRAN dataset include:      
EXCICUSG       a. Of real significance, nine new sets of counts and     
EXCICXMC          durations of long-wanted delays and waits:            
EXCICXMG            DSPDIOcn/tm - First Dispatch Total Count/Delay      
EXCICXMR            ENQDIOcn/tm - KC Enqueue Delay Count/Duration       
IMACCICS            LU61IOcn/tm - LU 6.1 I/O Wait Count/Duration        
VMAC110             LU62IOcn/tm - LU 6.2 I/O Wait Count/Duration        
Apr 28, 1994        MXTDIOcn/tm - First Dispatch MAXTASK Delay Cnt/Dur  
May 17, 1994        RMISIOcn/tm - RMI Suspend Count/Duration            
Jun  3, 1994        RMITIOcn/tm - RMI Elapsed Count/Duration            
Jun 23, 1994        SZWAIOcn/tm - FEPI Suspend Count/Duration           
Jun 30, 1994        TCLDIOcn/tm - First Dispatch TCLASS Delay Count/Dur 
Aug 19, 1994                      (This delay is especially important   
Sep 29, 1994                      for sites that have had to throttle   
                                  DB2 resource consumption by using CICS
                                  TCLASS limits - finally you can show  
                                  your DB2 guy how much delay is being  
                                  caused by his poorly designed DB2     
               b. GMT offset, so that MXG can finally correct start/stop
                  times from GMT to local for sites which have non-zero 
                  GMT offset in member CLOCKnn.                         
               c. Replacement of one-byte TCLASS with 8-byte TCLSNAME.  
               d. Removal of variables OPERATOR TCSTG PC31UHWM PC24UHWM 
               e. Addition of resource variables TCM62IN2 TCC62IN2      
                  TCM62OU2 TCC62OUT for LU 6.1/6.2 messages/characters. 
               f. Addition of resource variables PC24RHWM PC24SHWM and  
                  PC31SHWM for read-only and shared program storage.    
               g. Addition of resource variables SZALLOCT SZRCVCT       
                  and SCTOTCT for FEPI activity.                        
               h. TASKNR contains special character transaction numbers 
                  that MXG decodes as special values of variable TASKNR:
                    Characters   MXG TASKNR   Description               
                   '00'X,'III'   13,224,393   System Initialization Task
                   '00'X,'J00'   13,758,704-  Journal Control, Jnr=00-  
                   '00'X,'J99'   13,761,017   Journal Control, Jrn=99   
                   '00'X,'JBS'   13,746,914   Journal Control           
                   '40'X,'TCP'   14,926,807   Terminal Control          
                  (so that these values do not set the "INVALID TASKNR" 
                  error condition in MXG processing).                   
             2.Major enhancements to the subtype 2 Statistics record:   
               a. Nine new statistics datasets are created:             
                  CICXMC   CICXMG   CICXMR                              
               b. Six existing statistics datasets will now have zero   
                  observations with CICS/ESA 4.1:                       
             3. Complete list of all new variables in old datasets and  
                new datasets can be found in member DOCVER12.           
   Thanks to Edward McCarthy, Health Insurance Commission, AUSTRALIA.   
   Thanks to Scott Wiig, First Bank Systems, USA.                       
   Thanks to JP Meijer, Standard Bank of South Africa Limited, RSA.     
             4. The following table lists all CICS Statistics datasets  
                now created by MXG (note that those with * after Name   
                will have zero observations with CICS/ESA 4.1 records): 
     MXG                                               Symbolic MXG  DFH
     Dataset                                           IBM      Exit sfx
     Name    STID   Description of Data Set            Name     Name    
     CICAUSS   22   Autoinstalled Terminal Unsolicited STIAUSS  AUS  AUS
     CICAUTO   24   Autoinstall Global                 STIAUTO  AUT  A04
     CICCONMR  76   ISC/IRC Mode Entry Specific        STICONMR CO3  A20
     CICCONSR  52   ISC/IRC System Entry Specific      STICONSR CO1  A14
     CICCONSS  54   ISC Connection - System Security   STICONSS CON  A21
     CICDBUSS  28   DBCTL Global Unsolicited           STIDBUSS DBU  DBU
     CICDLIG   72   DL/I (Global)                      STIDLIG  DL3  A25
     CICDLIR   70,7 DL/I Local Specific                STIDLIR  DL1  A18
     CICDLIT*  71   DL/I Local Totals                  STIDLIT  DL2  A18
     CICDMG*   15   Domain Manager Global              STIDMG   DMG  DMG
     CICDMR*   13   Domain Manager Specific            STIDMR   DMR  DMR
     CICDQG    45   TDQUEUE Transient Data Global      STITDQG  DQG  A11
     CICDQR    43   TDQUEUE Transient Data Specific    STITDQR  DQR  A10
     CICDS     57,5 Dispatcher Domain, CPU each TCB    STIDS    DS   DSG
     CICDTB    33   Dynamic Transaction Backout Global STIDTB   DTB  A05
     CICFCR    67   File Control Specific              STIFCR   FCR  A17
     CICFEPIP  16   FEPI (pool)                        STIFEPIP FEP  A22
     CICFEPIC  17   FEPI (connection)                  STIFEPIC FEC  A23
     CICFEPIT  18   FEPI (target)                      STIFEPIT FET  A24
     CICIRCB   75   IRC Batch Global                   STIIRCB  IRC  A19
     CICJCR    49   Journal Control Specific           STIJCR   JCR  A13
     CICLDG    27,3 Loader Domain for Program Global   STILDG   LDG  LDG
     CICLDR    25   Loader Domain for Program Specific STILDR   LDR  LDR
     CICLSRFR  40   LSRPOOL File stats each File       STILSRFR LS3  A09
     CICLSRR   37,3 LSRPOOL Pool stats each LSR pool   STILSRR  LS1  A08
     CICM      81   Monitor Domain Global              STIM     M    MNG
     CICPAUTO  23   Autoinstall Program                STIPGG   PGG  PGG
     CICSDG    90   System Dump Global                 STISDG   SDG  SDG
     CICSDR    88   System Dump Specific               STISDR   SDR  SDR
     CICSMD     7,5 Storage Manager Domain Subpool     STISMD   SMD  SMD
     CICSMDSA   9,2 Storage Manager DSA and EDSA       STISMDSA SMS  SMS
     CICSMT     8,6 Storage Manager Task Subpool       STISMT   SMT  SMT
     CICST     66   Statistics Domain Global           STIST    ST   STG
     CICTC*     3   Task Control Global                STITC    TC   A01
     CICTCLR*  58   TCLASS Transaction Class Specific  STITCLR  TC1  A15
     CICTCR    34   Terminal Control Specific          STITCR   TCR  A06
     CICTDG    87   Transaction Dump Global            STIDTG   TDG  TDG
     CICTDR    85   Transaction Dump Specific          STITDR   TDR  TDR
     CICTM     63   Table Manager Global               STITM    TM   A16
     CICTSQ    48   TSQUEUE Temporary Storage Global   STITSQ   TSQ  A12
     CICTSR*    4   Transaction Statistics Specific    STITSR   TSR  A02
     CICUSG    61   User Domain Statistics             STIUSG   USG  USG
     CICVT     21   VTAM Global                        STIVT    VT   A03
     CICXMC    12   Transaction Manager TCLASS         STIXMC   XMC  XMC
     CICXMG    10   Transaction Manager Global         STIXMG   XMG  XMG
     CICXMR    11   Transaction Manager Transaction    STIXMR   XMR  XMR
Change 12.165  Support for LEGENT's TSO/MON 6.1 adds Service Class Name 
VMACTSOM       to TSOMCALL and TSOMSYST datasets when MVS/5.1 is run in 
Sep 28, 1994   Goal Mode, and adds a number of Workload Manager fields  
               to TSOMSYST dataset. There can be up to ten sets of the  
               Service Class fields, but MXG chooses to keep only the   
               first two sets by default (others can easily be added in 
               MACRO _KTSOSYS in IMACTSOM, if really needed!).  The real
               significant change in 6.1 is internal; the transaction   
               distribution counters were expanded from 1 to 2 bytes (so
               you can have a larger interval and not overflow!). Thanks
               to LEGENT for lots of lead time, and test data too!!!    
   Thanks to Arne Lund, LEGENT TSO/MON Development, DENMARK.            
Change 12.164  Omegamon CICS V551 SMF user dataset OMCIVSAM has zero obs
VMACOMCI       because 2 extra bytes were added between V551 and V550,  
Sep 28, 1994   but also because MXG logic error.  The MXG logic error:  
               After the IF SUBTYPE=103 and RECSUBTY=1 THEN DO; line,   
               change IF VMAXF GT 1 THEN DO _I_=1 TO VMAXF-1; to read   
                      IF VUSEDF GT 1 THEN DO _I_=1 TO VUSEDF-1;         
               The extra 2 bytes:  Change the IF statement preceding    
               the INPUT ESRES1 statement from                          
               ELSE IF SUBTYPE EQ 102 THEN  to read                     
               ELSE IF SUBTYPE EQ 102 OR SUBTYPE EQ 103 THEN            
               Unrelatedly, variables EGENAPL ERCDNUM and ESTTIME were  
               removed from the KEEP= for datasets from subtypes 102 and
               103, as those variables exist only in the subtype 100,   
               (and never should have been in the KEEP= list!).         
   Thanks to Scott Pearson, King County Medical Blue Shield, USA.       
   Thanks to Shellia Shih, King County Medical Blue Shield, USA.        
Change 12.163  Requesting CICS reports with PDB=PDB,TYPE=ALL,SUMMARY=YES
ANALCISH       produced 0 observations and no reports because of logic  
Sep 27, 1994   errors for this combination.  Specifying SUMMARY=NO will 
               produce all reports except summary.  Many lines changed. 
   Thanks to Tom Albert, John Alden Life, USA.                          
Change 12.162  Support for Landmark's The Monitor for DB2 is added by   
ANALTMDB       this significant user contribution; all of the code was  
EXTMDDA        written by Peter, and it worked correctly "right out of  
EXTMDDB        the box".  Not only does his contribution process the    
EXTMDDE        Landmark file (from INFILE TMDBIN) to create 4 datasets: 
EXTMDDR         Dataset   Description                                   
FORMATS         TMDBDA    Interval Statistics                           
IMACTMDB        TMDBDB    Thread Detail                                 
TYPETMDB        TMDBDE    Exception                                     
VMACTMDB        TMDBDR    Thread Resource                               
Sep 25, 1994   but also Peter provided 17 report programs that are in   
               member ANALTMDB!                                         
   Thanks to Peter Proppe, Bremer Lagerhaus Gesellschaft, GERMANY.      
Change 12.161                   Chapter 99                              
Sep 25, 1994                                                            
               This chapter cites and thanks all contributors to MXG    
               Software, who are hereby officially awarded the title of 
               "Chapter 99 CodeSharks"!                                 
               Named by Judith S. "99" Merrill, Vice President and      
               Partner, in honor of the diligent sleuthing of the MXG   
               code performed by each CodeShark, she also established   
               our policy that credit should be given to every MXG user 
               who made any contribution to MXG Software, whether they  
               provided an entire program, or found a programming error,
               or offered a suggestion, or even just found a comma out  
               of place in a comment!                                   
               The MXG Change Log (member CHANGESS) follows each change 
               text with the "Thanks to" note that acknowledges the user
               that precipitated that Change.  Chapter 99 extracts those
               notes, lists the major contributors first, and then lists
               (alphabetic by last name) every single user that has ever
               precipitated a change!                                   
               We sincerely thank you and salute you all!               
Change 12.160  Support for STK's ICEBERG SMF record subtype 5 adds new  
FORMATS        dataset ICEBRGDE for Deleted Data Space Release.  The    
VMACICE        statistics for the first five extents released are kept  
Sep 24, 1994   individually, as is the total I/O time for all extents.  
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
   Thanks to Mike Schweitzer, StorageTek, USA.                          
Change 12.159  MXG 12.01 thru MXG 12.03A.  Variables QB3Taaaa/QB4Taaaa  
VMACDB2        in datasets DB2STAT1/DB2STATS are still missing because  
Sep 22, 1994   typos crept in with Change 12.126.  The statement reading
                 IF 2 LE QBSTPID EQ 49 THEN DO;                         
               should read                                              
                 ELSE IF 2 LE QBSTPID LE 49 THEN DO;                    
               and the statement reading                                
                 ELSE IF 80 LE QBSTPID EQ 89 THEN DO;                   
               should read                                              
                 ELSE IF 80 LE QBSTPID LE 89 THEN DO;                   
   Thanks to Siegfried Trantes, Gothaer Versicherungsbank, GERMANY.     
Change 12.158 -APAR OW00484 incompatibly added Open Date to TYPE1415. If
VMAC1415       you install this PTF and do not have MXG 12.01 or later, 
Sep 22, 1994   the variables at the end of the type 14/15 record will be
Sep 27, 1994   bad!  The variables corrupted are DEVNR, VOLSER, UCBTYPx,
               of the HIPERBATCH statistics. Change 12.036 added support
               for the new field (inserted in the middle of the record),
               but I failed to note the incompatibility and failed to   
               provide a temporary fix (you can install this fix before 
               the PTF is installed for protection, although if you are 
               going to use TYPE1415 you really should request the      
               pre-release as the actual change is more extensive).     
                  IF SMF14SDC GE 28 THEN TEMPLOC=TEMPLOC+SMF14SDC-24;   
              -When IBM added the Hiperbatch fields, they did not set a 
               bit to indicate the 20 bytes were present, so MXG could  
               only test if there were 20 bytes, and if present, then   
               INPUT the hiperbatch fields.  Unfortunately, IBM APAR    
               UW05634 added 30 bytes of SMS data to the end of the     
               record, and a record with SMS but no Hiperbatch satisfied
               the MXG test, so false values were read in the Hiperbatch
               A new APAR, OW08246, now sets RECIND2='....1...'B when   
               hiperbatch is present, but you may not have that APAR on,
               so this change tests both length and/or RECIND2 to read  
               in Hiperbatch data.  A separate bit, RECIND2='.....1..'B 
               is set by UW06888 when SMS data exists, and that bit is  
               used to decide to input the new SMS fields of MGMTCLAS,  
               DATACLAS and STORCLAS.  Until you install MXG 12.04 or   
               later, you can correct the invalid Hiperbatch values that
               are caused by UW06888 by replacing the line now reading: 
                IF LENGTH-COL+1 GE 20 AND NUCB=1 THEN                   
               with these two lines                                     
                IF LENLEFT=20 OR LENLEFT=50 OR RECIND2='....1...'B THEN 
               The actual change was much more extensive, as UW05634    
               or UW06888 or maybe some other as-yet-unavailable APAR   
               also adds statistics for Compressed Format data; these   
               new variables now exist in TYPE1415 as missing and will  
               be populated when filled in by IBM:                      
                 SMF14CDL SMF14CDS SMF14CIS SMF14TKL SMF14TKN SMF14UDL  
                 SMF14UDS SMF14XF1 SMF14XF2                             
   Thanks to Paul Dzielak, Smith, Barney, Harris, Upham & Co., USA.     
   Thanks to John Maher, Home Savings of America, USA.                  
   Thanks to Lawrence Jermyn, Fidelity Systems, USA.                    
   Thanks to Jeff Berger, IBM, USA.                                     
   Thanks to Don Fink, IBM, USA.                                        
Change 12.157  DB2 3.1 dataset PDB.DB2ACCTB has observations, but it was
EXDB2ACB       supposed to have zero observations by default, because it
Sep 21, 1994   can be very large (and since it is summarized in DB2ACCT,
               I don't think most sites need the additional detail.).   
               This change added the comment block (that was supposed to
               have been there all along) in member EXDB2ACB around the 
               OUTPUT _LDB2ACB;  statement so there now will be zero    
               observations created unless you change EXDB2ACB.  Also,  
               misleading comments in member IMACDB2 were changed, and  
               the text of Change 12.033 was revised to be correct!     
Change 12.156  Landmark MONITASK variables MONICISP/MONICASP were blank 
TYPEMON8       when the transaction in fact had CA/CI splits, because   
TYPETMON       the names were reused for the MONIDBD dataset.  To fix:  
Sep 21, 1994   find the tests for TAFLAG6 that set the variables (four  
               lines) and respell MONICISP as MONACISP and MONICASP as  
               MONACASP, and then immediately before the %%INCLUDE      
               SOURCLIB(EXMONTSK); statement insert two lines:          
               to pick up the temporarily stored values.                
   Thanks to Brent Holm, Blue Cross and Blue Shield of Oregon, USA.     
Change 12.155  Change 12.092 was not implemented due to clerical error. 
VMACOMCI       Now it has been made in the source library.              
Sep 21, 1994                                                            
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 12.154  TYPE37 short LAND segment caused INPUT STATEMENT EXCEEDED
VMAC37         error.  Between the lines inputting BRFSMADR and BRFSMNAM
Sep  2, 1994   insert:    @;  IF LENLAND GE 64 THEN INPUT               
   Thanks to Phillip Wong, Orient Overseas Container Line, HONG KONG.   
Change 12.153  Step TESTOTHR may abend with 213-04 for //DISK DDname if 
JCLTEST6       your site sends temporary allocations to VIO; that DDname
Aug 30, 1994   is used by VMXGVTOC and must point to real DASD, so the  
               DD statement now has VOL=SER=XXXXXX and comments telling 
               you to provide one of your volume serial numbers.        
   Thanks to Willie Antman, FDIC, USA.                                  
Change 12.152  TYPE72 and TYPE72GO datasets were enhanced with four new 
VMAC7072       variables:                                               
Aug 30, 1994     MPL72    - RESIDENT*MULTI*PROGRAMMING*LEVEL            
                 CSTORE72 - CSTORE*BYTES                                
                 ESTORE72 - ESTORE*BYTES                                
                 TSTORE72 - TOTAL*CSTORE+ESTORE*BYTES                   
   Thanks to Willie Antman, FDIC, USA.                                  
Change 12.151  Support for Landmark Monitor for CICS/ESA Version 1.3 is 
IMACTMON       completely incompatible; reading the new records with the
Aug 29, 1994   D34, D56, HH, MM, SS, TH and MXG ERROR2.LANDMARK.  The   
               record architecture was changed and only 3 original data 
               sets are now created (MONITASK, with 70 fewer variables, 
               MONISYST with 119 fewer variables, and MONIDBDS with 2   
               new variables), plus one new dataset (MONIDSA), so I     
               chose to change the member name from TYPEMON8 to TYPETMON
               (and the corresponding IMAC from IMACMONI to IMACTMON) so
               that I could reduce the size of the datasets created.    
               If you have installed the TMON de-compression exit from  
               member EXITMON6, you must update IMACTMON to tell MXG to 
               use that exit as described in comments in IMACTMON.      
               These datasets are no longer created by TYPETMON:        
                  MONIHIST - History record, actually went away in 1.0  
                  MONIMRO  - MRO segments no longer exist in TA record  
                  MONIUSER - User segments no longer exist in TA record 
               There is one new dataset, from the "TD" record:          
                  MONIDSA  - Interval DSA Statistics                    
               and only these new fields were added to existing datasets
                 MONITASK - TAENGMTO TADBCTHC                           
                 MONISYST - TIDBCTC TIDBTHC                             
                 MONIDBDS - *** unknown, 8 bytes undocumented.          
               In fact, the major changes were the removal of many, many
               variables: all of the non-ESA constructs are now reserved
               and I chose to delete those old variables in this support
               (because dragging them along made the MONITASK/MONISYST  
               datasets much larger for no good purpose).  However, I am
               sure that some of your report programs may fail with     
               VARIABLE NOT FOUND errors because of these deletions, so 
               you will need a little extra review to remove references 
               to these deleted variables.  Member DOCVER12 identifies  
               all of the variables that have been deleted, but note    
               that variables PRIINCHR/PRIOUCHR (Input/Output character 
               counts) do not exist in MONITASK, and duration variables 
               in MONISYST.                                             
Change 12.150  DB2 Type 102 IFCID=206 record causes ERROR 73-322, CHAR  
VMAC102        VARIABLE EXCEEDS 200 BYTES because the LABEL for variable
Aug 29, 1994   QW0206FL ended with a */ instead of a single quote.      
   Thanks to Marlin W. Thoma, J.C. Penny, USA.                          
Change 12.149  AS/400 dataset QAPMLTG does not exist, and all references
VMACQAPM       to it have been deleted.                                 
Aug 26, 1994                                                            
Change 12.148  TYPE50 dataset has missing values after Change 12.102    
VMAC50         because the %%INCLUDE SOURCLIB(EXTY50); statement was    
Aug 26, 1994   misplaced.  It and its adjacent RETURN; statement need to
               be moved after the END; statement in line 012600 (i.e.,  
               after the penultimate END; and before the ultimate END;).
   Thanks to Siegfried Trantes, Gothaer Versicherungsbank, GERMANY.     
Change 12.147  Omegamon II for SMS Change 12.123 (MXG 12.03/12.03A) had 
VMACOMSM       a typo which caused execution errors. The "&PIB.2 " after
Aug 25, 1994   OMFS2INT should be "&PIB.2.".  In addition, that Change  
               did not support continued records, but this change added 
               substantial logic to process continuations.  A complete  
               logical record contains a VOLUME segment, some number of 
               DATASET segments, each followed by some other number of  
               JOBS segments for jobs using that DATASET on that VOLUME.
               If the total length of these segments exceeds 32768, the 
               SMF record is truncated at the end of either a DATASET or
               JOBS segment, and subsequent continued records start with
               the next JOBS/DATASET segment.  Supporting these records 
               required retaining the data from the VOLUME and last     
               DATASET segment so the segments in continued records have
               the volume and dataset information.  There is an exposure
               to data loss with Candle's architecture - if the first   
               record of a continuation is the last record in today's   
               SMF file, then when those continuations are processed    
               tomorrow, there won't be a volume or dataset record and  
               those data will be missing.  I have suggested that Candle
               change their design, so that when they have to continue  
               segments, that they put the previous VOLUME and DATASET  
               segments in each record so that each record is a self-   
               contained description of activity by jobs against dataset
               on volumes.                                              
   Thanks to Bob Lembo, American Stores Company, USA.                   
Change 12.146  Reading the NDM VSAM log (instead of the dumped BSAM log)
TYPENDML       caused zero observations, because there are ten extra    
Aug 25, 1994   bytes at the beginning of the VSAM record that are not in
               the VSAM record.  To process the VSAM NDM log, change the
               statement OFFSMF=-14; to read OFFSMF=-4;                 
               Comments were added to TYPENDML documenting this feature.
   Thanks to Jane Chin, Chevron Information Technology, USA.            
Change 12.145  Support for NPM Release 2.2 added twelve new subtypes,   
EX028CM8       (64x-6Fx), nine new segments (NCV,NGV,NLS,NLW,NRV,NVC,   
EX028ER3       NVS,NVT, and NVV), and MXG creates nine new datasets for 
EX028INF       these NetWare statistics (which look very useful):       
EX028ING         NPMNWCMD - NETWARE START/STOP/ALTER                    
EX028INI         NPMNRINT - NETWARE ROUTER INTERVAL                     
EX028INJ         NPMNLINT - NETWARE LAN BOARD INTERVAL                  
EX028SU1         NPMNLSUM - NETWARE LAN BOARD SUMMARY                   
               New variables were added to NPMINPMT (4), NPMVSVGB (4)   
               and NPMVSVDV (22).  All changes were compatibly made,    
               although the new subtypes will cause an MXG message to   
               be printed on the log.                                   
               This support has only been syntax checked; no data has   
               been available for testing as yet.                       
Change 12.144  The first occurrence of VALDSAMP in the list of LABELs   
VMAC7072       should have been R723CSAC.                               
Aug 23, 1994                                                            
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 12.143  Change 12.060 was supposed to have changed SACCT3 to read
IMACPDB        SACCT9, but that part of the change was not made; now it 
Aug 22, 1994   has been!  I still don't know how this slipped thru!     
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 12.142  Tape Mount Pending duration (the duration from when the  
ADOC30         tape mount was issued until the volume is mounted and the
Aug 22, 1994   VOLSER has been verified and the UCB Ready Bit is on) is 
               included in the TYPE30_4 duration variable DSPDLYTM.  I  
               have erroneously reported (in documentation member ADOC30
               and in the text of Change 10.031) that tape mount delay  
               was included in ACTDLYTM, but it has always been a part  
               of DSPDLYTM.  The text in ADOC30 and CHANGESS has been   
   Thanks to Roh Rhue, PENNCORP Financial, USA.                         
   Thanks to Bob Drischel, PENNCORP Financial, USA.                     
Change 12.141  Variable SMF74NID was left out of the KEEP= list for data
VMAC74         set TYPE74, and is needed for ANALRMFR reports.          
Aug 19, 1994                                                            
===Changes thru 12.140 were in MXG PreRelease 12.03A dtd Aug 17, 1994===
Change 12.140  Chuck Hopf's paper on BLSR (Batch Local Shared Resource),
ADOCBLSR       a technique for significantly reducing VSAM run times, is
ANALBLSR       now contained in member ADOCBLSR. Also, his BLSR analysis
Aug 17, 1994   program, ANALBLSR, has been revised to tell you if it did
               not find any datasets that were candidates for LSR, or if
               candidates were found that did not meet the minimum      
               criteria (EXCPs against the file, specified in IOHIGH,   
               or percentage of total I/O to a single VSAM component,   
               specified in PCTIO; both IOHIGH and PCTIO are defined in 
               ANALBLSR and can be changed by the user).                
   Thanks to Chuck Hopf, Merrill Consultants, USA.                      
Change 12.139  MVS/ESA 5.1 dataset TYPE72GO variables starting with PCT 
VMAC7072       are not properly calculated nor completely understood.   
Aug 17, 1994   (These are sampled values for using/delay from the new   
               Workload Manager when in Goal Mode, and while they may be
               useful, they are not critical, resource measurements.)   
               First, I was using R723CSAC instead of R723MTVN as the   
               number of samples in the denominator, but even with that 
               correction, there are observations with PCTUSCUS (using  
               CPU) of 249%!  Second, some samples are summed across all
               address spaces, requiring additional normalization.  As  
               time ran out for building MXG 12.04, I will revisit the  
               calculations and revise this text in a future release.   
               For now, regard them as highly suspicious.               
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
Change 12.138  Support for APAF 2.2 incompatibly added new data fields, 
VMACAPAF       and now supports up to 12 LPs.  Some new variables were  
Aug 17, 1994   added to several data sets.  Kudos to Amdahl for giving  
               me not only documentation but actual test SMF data!      
   Thanks to Gladys Blaylock, Amdahl, USA.                              
Change 12.137  Variables CYCLE MVSLEVEL and SYSPLEX were added to KEEP= 
VMAC74         list for datasets TYPE74CF and TYPE74ST and SYSPLEX was  
Aug 17, 1994   added to KEEP= list for TYPE74 (to support ANALRMFR).    
    No changes were installed while at Woodstock '94 (a/k/a MUDstock)!  
    Best announcement from the Woodstock Stage:                         
    "To Bruce, from Karen, y'know, the girl you dumped last weekend?    
    Well, I just won the New York State Lottery!  F... You!"            
Change 12.136  Support for CA's TLMS 5.4 (whose records are incompatible
IMACTLMS       with the previous 5.3 release) creates the same TYPETLMS 
TYPETLMS       dataset, with a few new variables.  You must change macro
VMACTLMS       _TLMSVER in member IMACTLMS from 5.4 to 5.3 if you want  
Aug 10, 1994   to process records from the old 5.3 release, as MXG's    
               default now expects release 5.4 format records.          
   Thanks to Mike Hill, Abbey Life, ENGLAND.                            
Change 12.135  DB2 Trace SMF 102 IFCID 125 has extraneous observations; 
VMAC102        the iteration across each Index used to obtain RIDS was  
Aug 10, 1994   using the Length instead of the Number of sections!      
               Change the BY QWT02R2L; to read BY QWT02R2N; in the line 
               DO OFFSET=QWT02R2O TO QWT02R2O+(QWT02R2N*QWT02R2L) BY....
               inside the MACRO _C102125.                               
   Thanks to Dave Witkowski, Amdahl, USA.                               
Change 12.134  MXG 12.03 only, and only if %ANALRMFR(PDB=SMF) is used.  
Aug 10, 1994   METHOD SASEB" error (because MXG is trying to read a     
               SAS dataset from the SMF DDname!).  To correct, insert   
               %IF &PDB EQ SMF %THEN %LET PDB=WORK; before the line     
               with the comment /* BEGIN CPU REPORTS */.                
Change 12.133  Some DDF Summary variables (QLSTxxxx in DB2STAT0) were   
DIFFDB2        not de-accumulated in DIFFDB2, causing incorrect counts  
Aug 10, 1994   (most notably, BYTES sent/received on the statistics     
               summary report ANALDB2R).  Change 10.210 removed some of 
               these deaccumulations in error, and some were new fields 
               added in DB2 3.1.  Now, all QLSTxxxx variables, except   
               for QLSTLOCN (a character variable) are now DIF()'ed in  
   Thanks to Don Mosley, Farmland Industries, USA.                      
Change 12.132  BETA93 test records were received, and proved that the   
FORMATS        initial support in MXG 12.03 was incomplete.  Subtypes 0 
VMACBETA       thru 4 have been tested; there are some relatively minor 
Aug 10, 1994   questions that were sent to the vendor for answers that  
               will cause another change, but with this change, the data
               for the tested subtypes seems valid.  Note, however, that
               subtypes 2, 3, and 4 are pairs of records, one for Start 
               and one for End, with most activity counts identical in  
               both records - be careful not to double account! Feb 95: 
               Beta 93 Records for Version 1.6.22 have now been tested. 
   Thanks to Manfred Thomas, BHF-Bank, GERMANY.                         
Change 12.131  In support of the SAS/CPE Product, variable DATETIME has 
BUILDPDB       been kept in datasets PDB.JOBS, PDB.STEPS, and PDB.PRINT.
BUILD005       DATETIME is the datetimestamp that was used to calculate 
Aug 10, 1994   the shift of the job, step, or print event.              
   Thanks to Tricia Dudley, SAS Cary, USA.                              
Change 12.130  Dataset MONIMRO variable TAMRTIME was incorrect because  
TYPEMON8       the statement TAMRTIME=64*TAMRTIME should have been      
Aug  9, 1994   before the %%INCLUDE SOURCLIB(EXMONMRO) instead of just  
               after it.                                                
   Thanks to Dave Konz, Dreyfus, USA.                                   
Change 12.129  ASMIMSLG program may ABEND 002 on DDNAME of IMSMPRS if   
ASMIMSLG       the IMS log being read contains records greater than 248 
Aug  8, 1994   bytes (some Fast Path records are), because the DCB for  
               this output file was specified in the ASMIMSLG program.  
               To correct, delete the line  MVC  DCBLRECL,IMSTY7L       
               (so that there is no LRECL is specified in the program); 
               since the JCLIMSLG example has always had a DCB parameter
               of RECFM=VB,LRECL=23572,BLKSIZE=23576, that DCB will be  
               used instead.                                            
   Thanks to Ronnie Stake at NORDBANKEN, SWEDEN.                        
===Changes thru 12.128 were in MXG PreRelease 12.03 dated Aug 4, 1994===
===Changes thru 12.128 were printed in MXG Newsletter 26  Aug 4, 1994===
Change 12.128  Continued corrections and validation of IBM RMF reports. 
ANALRMFR       Major change was to revert back to use the Partition pct 
Aug  3, 1994   CPU busy (instead of Effective CPU busy) because IBM has 
               again changed back, (and I want to match their reports!).
               Some minor corrections in spelling and labelling too!    
Change 12.127  Continued corrections and validation of CICS DFHSTUP-like
ANALCISH       reports.  Fixed problems are:                            
Aug  3, 1994    No "Terminal" Report.                                   
                WORK.CICAUSS.DATA does not exist.                       
                Missing System and Transaction Dump Stats.              
                Missing Interval Report for "Task Subpools and DSA"     
   Thanks to Kusol Voratanitkitkul, Health Care Service Corp, USA.      
Change 12.126  MXG 12.01/MXG 12.02 only.  DB2 Buffer Pool data for DB2  
VMACDB2        2.3 pools BP2 and BP32 and for DB2 3.1 pools with BPID=3 
Aug  3, 1994   or greater (these are MXG variables QB3Caaaa/QB4Caaaa in 
               DB2ACCT, and variables QB3Taaaa/QB4Taaaa in DB2STAT1) are
               missing because Change 12.033 did not initialize the 3rd 
               and 4th sets of variables.  Many lines were involved in  
               this change: the new logic for the 3rd and 4th sets of   
               variables now tests if QB3CPID=. or QB4CPID=. (for       
               DB2ACCT logic) or QB3TPID or QB4TPID=. (for DB2STAT1     
               logic), and if true, a new DO group initializes the full 
               set of variables (including storing into QB3CPID QB4CPID,
               QB3TPID or QB4TPID) to initialization only once, and the 
               existing sum logic is wrapped in a new ELSE DO group.    
               This should have been caught in my testing, but I did not
               have test data with these higher buffer pool IDs.        
   Thanks to Siegfried Trantes, Gothaer Versicherungsbank, GERMANY.     
   Thanks to Waldemar Schneider, SAS Europe, GERMANY.                   
   Thanks to Lori A. Masulis, Fidelity Systems, USA.                    
Change 12.125  Support for BETA93 Report Distribution & Print Management
EXTYBET0-6     System 1.6.0 user SMF record creates six datasets:       
IMACBETA         BETA0 - Subtype 0 - Input of Lists                     
TYPEBETA         BETA1 - Subtype 1 - Output of Lists                    
VMACBETA         BETA2 - Subtype 2 - Bundling                           
Aug  3, 1994     BETA3 - Subtype 3 - Recipient Packeting                
                 BETA4 - Subtype 4 - Address Packeting                  
                 BETA5 - Subtype 5 - Action Performed Against List      
                 BETA6 - Subtype 6 - Completion of Print Request        
   Thanks to Manfred Thomas, BHF-Bank, GERMANY.                         
Change 12.124  DB2 Trace Paring for IFCIDS 15,16,17,18 mis-matched scans
ANALDBTR       when there were multiple BEGIN SCANs before an END SCAN. 
VMAC102        This was an extensive logical changed; the first three   
Aug  3, 1994   bytes of the CUB (QW0015AC,16AC,17AC,18AC) is now stored 
               into new variable CUBTOKEN and kept in the four T102S0xx 
               datasets in VMAC102, and ANALDBTR logic for _015PAIR was 
               revised to insert CUBTOKEN in all BY statements after    
               QWHCCV, and CUBTOKEN was added to the six KEEP= lists for
               the datasets inside the _015PAIR macro.  The CUBTOKEN was
               created because the final byte of QW0018AC was a hex zero
               while the final byte of the other QW001xAC fields was    
               found to contain a wide range of non-zero values.        
               (In addition, QW0018AC's INPUT in VMAC102 was changed to 
               $CHAR4. instead of &PIB.4.; all other CUB fields had been
               input as characters.  And finally, while cleaning up the 
               CUB fields that end in AC, I noted that other IFCIDs have
               a field ending in AC (the ACE Token) that was mostly CHAR
               but sometimes &PIB, so all occurrences were revised to be
               input $CHAR4., formatted $HEX8., and added to $NOTRAN.)  
   Thanks to Dave Witkowski, Amdahl, USA.                               
Change 12.123  Support for Omegamon II for SMS V100 and V110.  Subtype  
VMACOMSM       2 record was restructured (compatibly), and new subtype 3
Aug  3, 1994   record was added, but since the subtype 3 replaces the   
               subtype 1 record in V110, you will need to install the   
               new MXG version before you process V110 records.         
Change 12.122  Support for APAR OW00157 adds variables SMF62MGT,SMF62STR
VMAC62         and SMF62DAT (Management Class, Storage Class, and Data  
Aug  3, 1994   Class names) to the VSAM Open Record.  Unfortunately, the
               fields would be far more useful in TYPE64 Close Records! 
Change 12.121  NETSPY 4.4 added four fields to the NCP record that i did
VMACNSPY       not decode; the four fields are all PIB4. and replace the
Aug  2, 1994   first 16 bytes of the +26 toward the end of the NCP code:
                  CFBQUELN='CURRENT*FREE BUFFER*QUEUE LENGTH'           
               Note that LEGENT told Roger that for NCP Version 6.2, the
               MAXFREEB (Max Free Buffers) is now moved to MXG variable 
               TFQBANCP (at offset 47).  I chose to keep both variables.
   Thanks to Roger Zimmerman, Kemper Service Company, USA.              
Change 12.120  Support for ASTEX 2.0 adds several fields; the new record
VMACDMON       can be read by prior versions of MXG, but variable RDUA  
Aug  2, 1994   (device unit address) will be unreadable without the MXG 
               changes (it was EBCDIC, now it's binary, so MXG decodes  
               the binary back to EBCDIC).  Several other new variables 
               were added to the record (compatibly). I replicated the  
               six "May/Must Cache" variables that were misspelled with 
               "H" to be correctly spelled, but also keep the old named 
               misspelled variables.                                    
Change 12.119  The REXX example statement containing AND FORMAT IT AS   
REXXPDB        needs to be shortened and an ending quote added to the   
Aug  2, 1994   line.                                                    
   Thanks to Waldemar Schneider, SAS Europe, GERMANY.                   
Change 12.118  MVS/ESA 5.1 TYPE72GO dataset RTSTRNnn variables may have 
VMAC7072       counts for a Service Class Period that does not have any 
Aug  2, 1994   response time goal; MXG logic did not properly match the 
               SCS section with the appropriate RTS section, instead it 
               carried the RTSTRNnn variables forward.  The observations
               with bad counts can be identified; they have R723CRTX=0, 
               but this change corrects the logic, and also corrected a 
               related problem with R723TYPE for these observations.    
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
Change 12.117  Support for SMF type 99 (Workload Manager Trace) Subtype 
EXTY99U2       2 creates dataset TYPE99_2 for each Service Class Period 
IMAC99         with lots of useful detail about what's really happening 
TYPE99         inside the new Workload Manager (for example, you can see
VMAC99         the changes in dispatch priority for each workload with a
               There are many other subtypes in the type 99, many are so
               detailed as to be questionable in value, but as the need 
               arises, additional subtypes will be decoded.             
   Thanks to Peter Enrico, IBM Poughkeepsie, USA.                       
Change 12.116  If ANALDB2R was run with only PMACC04=YES specified, an  
ANALDB2R       unresolved macro reference for MAXINDT was produced.  The
Aug  1, 1994   code was corrected.  If any other PMACCnn was requested, 
               along with PMACC04, the error did not occur.             
   Thanks to Perry Lim, AVCO, USA.                                      
Change 12.115  Monthly trending members MNTHxxxx were revised to take   
MNTH70PR       advantage of the enhancements made to VMXGSUM by earlier 
Aug  1, 1994   Change 12.084; minor cosmetic improvements also made.    
Change 12.114  Minor change to this macro now can select ranges of DB2  
READDB2        IFCID values.                                            
Aug  1, 1994                                                            
Change 12.113  UTILGETM is used to create the SMFSMALL subset file with 
UTILGETM       JCLTEST6; this revision was really for me, so I can give 
VMXGGETM       you a trivial invocation of VMXGGETM when I need to see a
ZMXGGETM       particular SMF record.  UTILGETM now just invokes the new
Aug  1, 1994   VMXGGETM macro with default parameters.  You might find  
               the new macro useful if you are chasing raw SMF records! 
               Because the new UTILGETM won't work with SAS Version 5,  
               the original UTILGETM was copied/renamed into ZMXGGETM.  
Change 12.112  Support for UniKix Release 4.1 now creates three datasets
FORMATS        from UniKix Technologies "CICS-like-under-UNIX"          
VMACUNIA       product's accounting files:                              
VMACUNIK        UNIKTRAN - Transaction record, one per transaction for  
ZMACUNIA                   those transactions that are being monitored  
ZMACUNIK        UNIKUSER - User record, one per transaction for those   
Jul 29, 1994               users whose transactions are being monitored.
                UNIKEVNT - Event record (STARTUP/SHUTDOWN/etc.)         
               These three datasets are created from either the Unix    
               Binary file (using TYPEUNIK to read INFILE UNIKIXBI under
               UNIX/WINDOWS/OS/2 versions of SAS), or the three datasets
               are also created from the UniKix Account Conversion      
               Program's output ASCII file (using TYPEUNIA to read the  
               INFILE UNIKIXAS, which can execute under any version of  
               SAS, so that the ASCII file could be uploaded first and  
               then processed with mainframe SAS; however, the ASCII    
               file is twice as large as the binary file).  Note that it
               is possible to do double accounting; if a monitored user 
               executes a monitored transaction, there will be two obs  
               created for that event, one in UNIKUSER and in UNIKTRAN. 
               I have used common CICS variable names where possible.   
               See Chapter 10 of the UniKix Administrator's Guide for   
               more documentation.  data fields.  The MXG code for the  
               earlier UniKix Release 4.0 was copied into the members   
               ZMACUNIA/ZMACUNIK (see comments on their usage); note    
               that that old code creates only a single dataset,        
               TYPEUNIK or TYPEUNIA, and all three types of observations
               (event, transaction, and user accounting) are contained  
               in that dataset. Last minute note for MXG 12.03: Only    
               the Binary support was finished.  ASCII (VMACUNIA) will  
               be completed in next MXG release.                        
VMXGHSM        results from insufficient testing after Change 12.030!   
Jul 29, 1994   Variables BCRTBLA,BCRTLAB, and BCRTCAB must be spelled   
               BCRTBLX,BCRTLAX, and BCRTCAX in three lines where they   
               INPUT as CHAR4., and in three lines where they are inside
               INPUT functions (i.e., on right hand side of the equality
               but they are correctly spelled on the left hand side).   
               Also, LENGTH BCRTBLA BCRTLAB BCRTCAB  8;  was added.     
   Thanks to Peter MacDonald, USF&G, USA.                               
Change 12.111  APAR PN56441 corrects DB2 IFCID 239 record, which was    
VMAC102        erroneously written as an SMF ID=102 record; it is fact  
Jul 27, 1994   the ID=101 SUBTYPE=1 record that creates DB2ACCTP, and   
               already supported in MXG.  Only comments were revised.   
Change 12.110  APAR OW01522 adds new value 7 for Extended Sequential to 
FORMATS        format MG042DS (for variable DSTYPE); the APAR text also 
Jul 27, 1994   states that all values will be documented in IGWDSSBC.   
Change 12.109  The PAGRT calculation did not match IBMs Paging Report.  
VMAC71         Variable PGMIEXAU was added to PAGRT and should not have 
Jul 27, 1994   been, and variable PGBKAUIN should have been added but   
               wasn't!  The MXG code changes were to delete the line    
               PAGRT=PAGRT+PGMIEXAU;  and insert PAGRT=PAGRT+PGBAKUIN;  
               after the line reading DPR=DPR+PGBKAUIN;                 
   Thanks to Ms Foo Hooi Ping, Maybank, MALAYSIA.                       
Change 12.108  Variable MULTIDD was left out of the KEEP= list for the  
BUILD005       PROC SORT of TYPE30_5.                                   
Jul 27, 1994                                                            
IMACTCP        result if you specify a value of 118 in member IMACTCP   
VMACTCP        for either macro _IDTCPF or _IDTCPT.  The comments in the
Jul 26, 1994   IMACTCP member were strengthened that these macros are   
               only for the archaic version of TCP/IP, but also MXG is  
               now robust against this error - the logic in VMACTCP now 
               tests automatically for type 118 before examining what   
               you specified in those macros, so this won't recur!      
   Thanks to Dov Brosh, Solomon, Inc, USA.                              
   Thanks to Rich Warren, Solomon, Inc, USA.                            
Change 12.106  Continued validation of DFHSTUP-like reports uncovered   
ANALCISH       more minor glitches.  Following the first occurrence of  
Jul 25, 1994   &CAUS and &CAUT, the macros CICAUTO and CICAUSS need to  
               be reversed - CICAUSS is invoked after &CAUS and CICAUTO 
               is to be invoked after &CAUT.  The four tests for INOBS= 
               SDG,SDR,TDG, and TDR must be changed to CSGD,CSDR,CTDG,  
               and CTDR respectively.  After both occurrences of        
               PROCESS(MXGDS=CICTCR);  insert %RPTTCR(MXGDS=CICTCR);    
   Thanks to Kusol Voratanitkitkul, Health Care Service Corp, USA.      
Change 12.105  MXG Tape Mount and Tape Allocation Monitor, ASMTAPES, is 
ASMTAPES       now healed of all known glitches!  This change corrects  
Jul 25, 1994   the MIM flag (mounts were always indicated as from MIM), 
               and correctly identifies PRIVAT/DEMAND mounts (once a UCB
               has a PRIVAT mount, all subsequent mounts were flagged as
               PRIVAT).  With this change, I believe ASMTAPES is safe to
               install in production, in place of the old ASMTMNT that  
               only tracked tape mounts.                                
              - after the line                                          
                insert this new line;                                   
              - the third line after label SETJOB, now containing:      
                is replaced by these three lines:                       
                 ICM R4,B'0011',UCBASID-UCBCMEXT(R4)  GET THE ASID      
                 ICM R4,B'0100',=X'00'    ZERO OUT HIGH-ORDER HALF OF R4
                 STH R4,DEVASID           STORE THE ASID FOR MIM CHECK  
   Thanks to Bob Kinney, Kaiser Permanente, USA.                        
   Thanks to Mike McClean, Travelers, USA.                              
Change 12.104  Support for EMPACT's HIPER-CACHE Version 1.1.1 (INCOMPAT)
VMACHIPR       inserted 24 bytes (JCTJOBID,INITTIME,READTIME) in the    
Jul 21, 1994   header.  You can process the new version's SMF records   
               (but not the old!) by changing the +2 after the INPUT of 
               SMFVERS to +26.  The actual change creates the three new 
   Thanks to Neil Ervin, Huntington National Bank, USA.                 
Change 12.103  DB2 Trace IFCID=141 (dataset T102S141) was not correctly 
FORMATS        decoded for DB2 2.3/3.1, and the SQL text was not read.  
VMAC102        Change the statement:                                    
Jul 20, 1994     IF QWHSRELN GT 2.2 THEN INPUT QW0141CO &IB.4.          
               to read:                                                 
                 IF QWHSRELN GT 2.2 THEN INPUT +2 QW0141CO &IB.4.       
               After INPUT of QW0141HO $CHAR8. and before the @; insert 
                  QW0141LL   &PIB.2.                                    
               so that the length of SQL text will be read in.          
   Thanks to Ricky Wafford, MBNA, USA.                                  
Change 12.102  APAR OW04453 corrects SMF type 50 VTAM Tuning Statistics 
FORMATS        documentation and I discovered that the type 50 record   
VMAC50         is actually four different structures, described in VTAM 
Jul 20, 1994   Network Implementation Guide (SC31-6419) Table 29 (SNA   
               Controller), Table 30 (Channel-to-Channel) and Table 31  
               (Multipath Channel Adapter, MPNCB or CPNCB).  All fields 
               are now decoded, and variable VERSN50 identifies whether 
               the record is for SNA, CTC, or MPC, and variable ATTCHTYP
               identifies if an MPC record is an MPNCB or a CPNCB.      
Change 12.101  Documentation of common error messages is now provided in
INSTALL        a new section zero at the beginning of member INSTALL.   
Jul 20, 1994   These messages are now described, with more detail:      
                APPARENT SYMBOLIC REFERENCE PIB NOT FOUND               
                  (missing or old dsname for CONFIG= or //CONFIG DD)    
                INFORMAT $NOTRAN or FORMAT $MGxxxxx or MGxxxxx NOT FOUND
                  (missing or old dsname for //LIBRARY DD)              
                LENGTH OF CHARACTER VARIABLE HAS BEEN SET               
                  (has no effect, to be eliminated by SAS, disregard)   
Change 12.100  Documentation of the output reports produced by this CICS
UTILCICS       utility that prints the contents of your CICS Dictionary 
Jul 19, 1994   records is now extensive, with examples, in comments.    
   Thanks to Danilo Gipponi, SAS Institute, ITALY.                      
   Thanks to Werner Bundsuhuh, SAS Institute Europe, GERMANY.           
Change 12.099  Protection for invalid expiration dates (96366,97366) in 
VMACDCOL       both DCOLLECT and HSM dataset processing now sets the    
VMXGHSM        xxEXPDT variables to '31DEC2099' when the day-part of the
Jul 18, 1994   Julian date is 366 or greater. (See Change 14.124).      
   Thanks to Norbert Korsche, OMV, AUSTRIA.                             
Change 12.098  DB2 report PMSQL01 or PMSQL02 cause MISSING BY STATEMENT 
ANALDB2R       because IFCID 54 was not included in the list defined in 
Jul 18, 1994   MACRO _PMSQL01.  Add 54 to that list and the syntax error
               will go away.                                            
   Thanks to Dave Witkowski, Amdahl, USA.                               
Change 12.097  NPM Release 2.0 records cause INVALID DATA FOR MGBYTES   
Jul 18, 1994   NONZERO COF SEGMENT for NPMSUBTY=214 thru 219, because   
               no test data was available for validation to catch my    
               careless errors in the new VTAM monitoring subtypes:     
              -Remove both occurrences of " MGBYTES " (without a period)
               but do not remove the one occurrence of " MGBYTES." (with
               a period).                                               
              -Remove one occurrence of "TIME 13.3" (with blank between 
               TIME and 13.3), but do not remove the one occurrence of  
               TIME13.3 (without the blank).                            
              -The line now reading:                                    
                 ELSE IF 0D0X LE NPMSUBTY LE 0D5X   THEN COFTYPE='VCD'; 
               should read:                                             
               Also, now with real data, variable VADSTIME in dataset   
               NPMVSVAD is now properly decoded into a datetimestamp.   
   Thanks to Tom Parquette, Mutual of New York, USA.                    
Change 12.096  Support for RSD's WSF Release 3.5.1 (INCOMPATIBLE)!  The 
FORMATS        new records do not cause any MXG error, but the dataset  
VMACWSF        WSFEVTPR was trashed because ACCPRNAM was expanded from 8
Jul 17, 1994   to 16 bytes!  For a workaround to read the new records   
               (but not the old ones), you can change then INPUT of     
               WSFEVTPR from $EBCDIC8. to $EBCDIC16.  The actual change 
               added a new variable and its FORMAT, corrected MXG logic 
               that did not read the Account Extension segment, and now 
               blanks variables that exist only in the ERD records.     
   Thanks to M. Kirassian, GIA Rhone Alpes, FRANCE.                     
Change 12.095  DB2 report PMACC02 variables QWACAWTW/QWACAWTR/QWACAWTE/ 
ANALDB2R       QWACALOG were incorrectly normalized.  In two places,    
Jul 15, 1994   in the ELSE statement following IF QWACAWTR = ., change  
               both occurrences of QWACAWTW to QWACAWTR.  In two places,
               in the ELSE statement following IF QWACAWTE = ., change  
               both occurrences of QWACALOG to QWACAWTE.                
   Thanks to Caron Knox, Willis Corroon Group, ENGLAND.                 
Change 12.094  Dataset TYPE30_V was not deleted (due only to oversight) 
BUILDPDB       after it was copied and renamed into PDB.SMFINTRV in the 
BUILDPD3       BUILDPDB/BUILDPD3 logic, so it has now been added to the 
BUILD005       DELETE statement of the PROC DATASETS following its last 
BUIL3005       reference.                                               
Jul 15, 1994                                                            
   Thanks to Diane Eppestine, Southwestern Bell, USA                    
Change 12.093  Cosmetic correction to spelling in labels for variables  
Jul 15, 1994                                                            
   Thanks to Warren Hayward, TJX Companies, USA.                        
Change 12.092  OMEGAMON/CICS 550/551 User SMF record datasets OMCIDTCO  
VMACOMCI       and OMCIDTCT (DATACOM counts) had zero observations and  
Jul 13, 1994   datasets OMCISUPR/OMCISUPT (SUPRA) had extra obs (with   
               missing variables) because DATACOMM records were not     
               output into the correct datasets.  After "MACRO _COMCDTC"
               change %INCLUDE SOURCLIB(EXOMCSUT); to (EXOMCDTT) and    
               change %INCLUDE SOURCLIB(EXOMCSUP); to (EXOMCDTC).       
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 12.091  Variable QPENRECA should have been spelled OPENRECA in   
VMACVMXA       VM/ESA Monitor dataset VXAPLSRV.                         
Jul 13, 1994                                                            
   Thanks to Mitch McKenna, SAS Institute Europe, GERMANY.              
VMACTCP        TELLCLPO, and TELRMTPO (port addresses) should have been 
Jul 13, 1994   FORMATted $HEX4.; now they are.                          
   Thanks to Jan Van Kemenade, Univ. Rekencentrum Nijmegen, HOLLAND.    
Change 12.089  A cosmetic change; the comment named YOUR.SMF.DATA as the
JCLTEST6       sample SMF input DSNAME, but the actual JCL used a name  
Jul 11, 1994   of YOUR.SMF.DUMPED.DATA.  Now both use the latter name!  
   Thanks to Philip Pearson, Ansett Australia, AUSTRALIA.               
Change 12.088  DB2 Trace IFCIDS=180,181,182,186,190,192,193,194,195, and
FORMATS        198 are now decoded, although the code has only been     
VMAC102        syntax checked as of this date.  More subtypes and update
Jul 11, 1994   to this text are planned.                                
   Thanks to Bob Brosnan, Goldman, Sachs & Co., USA.                    
Change 12.087  New analysis routing which matches CICSTRAN with DB2ACCT.
ANALDB2C       See comments in the member for how multiple CICSTRAN and 
Jul  8, 1994   multiple DB2ACCT transactions for a single unit-of-work  
               are handled in this initial analysis.                    
   Thanks to Dan Null, Caterpiller, USA.                                
Change 12.086  Label for variable DVLVSER was incorrect; it is now      
VMACDCOL       VOLUME*SERIAL*NUMBER.                                    
Jul  8, 1994                                                            
   Thanks to Joseph J. Faska, Depository Trust, USA.                    
Change 12.085  Change 12.059 set SUBSYS='VPS ' for VPS output, but did  
VMAC6          not also set SUBSYS6='VPS', so the change was not carried
Jul  6, 1994   into the PDB.PRINT dataset; now it is.                   
   Thanks to Tom Parker, Hogan Systems, USA.                            
====Changes thru 12.084 were included in MXG 12.02 dated Jul 4, 1994====
Change 12.084  New features/enhancements to VMXGSUM were transparently  
DOC            added to this powerful MXG summarization utility.        
VMXGSUM        - A dataset name in the INDATA= string can now be a fully
Jul  1, 1994     qualified SAS name like with "INDATA=PDB.JOBS," or     
                 macros can be used, like with "INDATA=_DAY._DSET,".    
               - It is no longer necessary to use a DROP DATETIME;      
                 statement, nor do you need to assign the real variable 
                 name in an assignment statement.  (The DATETIME= option
                 set up an internal variable named DATETIME).  Now, if  
                 DATETIME=VARIABLE, and VARIABLE appears in the ID list,
                 and the variable name is not DATETIME, then MXG inserts
                 VARIABLE=DATETIME in the logic, and drops DATETIME.    
               - New options allow specialized use of summarization that
                 are described in detail in member VMXGSUM:             
                  CLASS   = Allows specifying CLASS and keeps _TYPE_    
                             so that multiple outputs can be created.   
                  MEANOPTS= Allows passing options to the PROC MEANS.   
                  ORDER   = Allows insertion of LABEL statement to force
                            alphabetic order in the output dataset vars.
                  INCODE1 = Continuation of INCODE= in case the 32K byte
                            SAS limit (including blanks!) is too small. 
                  INCODE2 = New exit for code insertion after the       
                            normalization phase on the input side.      
                  OUTCODE1= Continuation of OUTCODE=, see INCODE1.      
                  OUTCODE2= New exit for code insertion before the      
                            de-normalization phase on the output side.  
               - Although these internal changes were implemented in a  
                 transparent manner, so your existing programs that use 
                 %VMXGSUM should not need any changes, all of the MXG   
                 members that invoke it were cleaned up.  Now redundant 
                 DATETIME= references were removed, all invocations now 
                 contain INVOKEBY="member" argument to make it easier to
                 tell which member has executed %VMXGSUM, and           
                 invocations were collimated for clearer reading.       
   Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY, who   
     suggested several of the new options, and who provided sample      
     implementation code.                                               
Change 12.083  If an invalid value was specified for INTERVAL=, it was  
VMXGDUR        ignored without any warning; now a warning message is    
Jul  1, 1994   printed on the log.                                      
Change 12.082  If TREND database was used for TMNT reports, the graphs  
GRAFTMNT       were useless since they were designed for daily reports. 
Jul  1, 1994   This revision supports TREND data base reporting.        
Change 12.081  Analysis of Measured Usage uses both the new TYPE89 and  
ANALUSAG       existing TYPE72 data to calculate the "bands" for usage  
Jul  1, 1994   based pricing of IBM software products.  For TYPE89 the  
               real product name is used; the analysis based on TYPE72  
               uses the workload definition in IMACWORK to name the     
               "product".  This report will be revised when IBM makes   
               their report format available.                           
Change 12.080  Batch LSR analysis could report I/O exceeded 100% if the 
ANALBLSR       pattern of utilization of a VSAM cluster by multiple runs
ANALDSET       of the same job changed, because average value was used. 
Jul  1, 1994   This revision uses the sums to accurately calculate the  
               percentage of I/O attributable to a given component.     
               Also, it turns out that turning on BLSR suppresses the   
               Buffer Count in TYPE64 dataset, so those reports were    
               eliminated, as they were useless!                        
   Thanks to Freddie Arie, Enserch Corporation, TEXAS.                  
Change 12.079  DB2 3.1 support was enhanced in Change 12.033 for the new
READDB2        buffer pools in the building member VMACDB2.  This change
ASUMDB2A       adds that support to the READDB2 utility and to the      
TRNDDB2A       DB2 Accounting summary and trending members.             
Jul  1, 1994                                                            
Change 12.078  Using ANALDB2R with PDB= on tape was inefficient; it     
ANALDB2R       could cause three passes of the tape, especially when    
Jul  1, 1994   ACCOUNTING reports were requested and neither ASUMDB2A   
               nor DB2ACCT was found on the first tape volume. The logic
               was changed: if we see the PDB= points to a tape dataset,
               we now look only for the PDB.DB2ACCT dataset, unless you 
               explicitly tell us to use the PDB.ASUMDB2A (by specifying
               USEACCT=ASUM option in your %ANALDB2R invocation).       
               The old logic looked first for ASUMDB2A, and if not found
               then looked for DB2ACCT, requiring multiple passes of the
               PDB= when on tape.  While our example JCL in JCLPDB6 does
               build the PDB.ASUMDB2A, we can't guarantee you did so, so
               we by default go for PDB.DB2ACCT.  (The PDB.ASUMDB2A is  
               smaller and the preferred source, so if it exists it is  
               wise to specify USEACCT=ASUM for PDB=tape).  This change 
               does cause new messages on the log:                      
                 NOTE: DATA SET ... HAS NOT BEEN DEALLOCATED ...        
                 NOTE: LIBREF PDB HAS BEEN DEASSIGNED.                  
               because to detect if the PDB= points to tape, we must    
               first open the DDNAME as an INFILE and then clear it!    
Change 12.077  The vertical axis specification on the workload plots was
GRAFTRND       removed; if the normalization of CPU time or the         
Jul  1, 1994   predicted workload growth exceeded 100%, the workloads   
               disappeared from the graph as they passed 100.           
Change 12.076  If SASGRAPH=NO was specified when you invoked GRAFWORK,  
GRAFWORK       the numbers for CPUTM and % CPU were cumulative totals   
Jul  1, 1994   rather than the values for individual observations.      
               Also, values of EXCPs, IOTM, and MEMR were added to      
   Thanks to Tom Bell, Rivendel Consultants, USA.                       
Change 12.075  Type 30 APPC segment offsets should be zero in           
VMAC30         MULTIDD='Y' records, but they are not, causing MXG to    
Jun 30, 1994   input values in APPC variables.  This is an IBM error,   
               and APAR OW07036 now has PTFs UW09744-UW09746.           
               If you use TYPE30_4, TYPE30_5 or PDB.STEPS to analyze    
               APPC resources, you can delete observations with         
               MULTIDD='Y' and the APPC resource analysis will be valid,
               but any EXCP counts in those MULTIDD records will be     
               lost.  However, this MXG fix eliminates the error, and   
               will work even after IBM fixes the problem:  - After the 
               @; following the input of @101+OFFSMF EXTRADD            
                 insert these two lines:                                
                    AND SUBTYPE NE 1 THEN MULTIDD='Y';                  
               - After the END; after the DO group that sets OFFAPPC,   
                 LENAPPC and NRAPPC equal to OFFAPPCC,LENAPPCC,NRAPPCC, 
                 insert this DO group:                                  
                   IF MULTIDD='Y' THEN DO;                              
   Thanks to Bill Keller, West Publishing, USA.                         
Change 12.074  Several DCOLLECT flag variables that were set to 0 or 1  
VMACDCOL       for NO or YES are now formatted with MGLMSYN and their   
Jun 30, 1994   labels now end with a question mark to clarify that they 
               are YES/NO values.  The variables are these:             
                 DSCFIAD  DSCFSEQB DSCFSEQR DSCSYNCD                    
   Thanks to Joseph J. Faska, Depository Trust, USA.                    
Change 12.073  Type 6 may cause INVALID SUBSTR FUNCTION because variable
VMAC6          RLSELEFT should be FORMATed $HEX16. instead of $HEX8.    
Jun 29, 1994   (the FORMAT statement is the first occurrence of this    
               variable and thus determines the variable's length).     
               The error occurs only if you have modified JES2 to create
               the print release time as described in Change 7.137.     
   Thanks to Andy Vick, Allied Dunbar Assurance, UK.                    
Change 12.072  ACF2 SMF record subtype 'V' had INPUT STATEMENT EXCEEDED 
VMACACF2       error because DB2 and NEXTKEY segment logic was wrong. To
Jun 29, 1994   circumvent (with no data loss), change the statement     
                 INPUT  ACVMFSEC  $EBCDIC18. @; to read                 
                 INPUT  ACVMFSEC  $EBCDIC8.  @;                         
               The actual code change was more extensive.  Additionally,
               ACF2 SMF record subtype 'D' printed a note:  RECORD TYPE 
               D, EXCESS DATA AT END SKIP=7 on the log.  This had no    
               impact (NEXTKEY data was not read, but is not kept) but  
               logic for this subtype was also corrected.               
   Thanks to Russell Ochocki, Investors Group, CANADA.                  
Change 12.071  Trending of ASUM70PR PR/SM dataset did not support LPAR  
TRND70PR       0; replicate occurrences of LPAR 1 variables and change 1
Jun 28, 1994   to zero to include LPAR 0 in TRND70PR (only Amdahl's MDF 
               uses LPAR zero).                                         
   Thanks to John Chan, The Toronto Hospital, CANADA.                   
Change 12.070  Support for IBM's CRR 1.6 (Cache DASD RMF Reporter) SMF  
FORMATS        record.  The record format was incompatibly changed by   
VMACACHE       the 1.6 release.  Note that if you run a 3990-6 in Basic 
Jun 27, 1994   mode, you can't tell that it's a mod-6, because          
               REPORLVL=03.  If you enable the 3990-6 in Enhanced mode, 
               REPORLVL=06 and the mod-6-only fields will be            
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
   Thanks to Scott Ashby, Wachovia Operational Services, USA.           
Change 12.070A NDM data created zero observations in NDMCT dataset, due 
EXNDMCT        to misspelling in member EXNDMCT.  All occurrences of    
Jun 23, 1994   NDMST in that member should have been NDMCT.             
   Thanks to Freddie Arie, Enserch Corporation, TEXAS.                  
Change 12.069  VM/ESA MONWRITE processing has caused UNEXPECTED/INVALID 
Jun 23, 1994   FAILURE when the end of data was at the end of block with
Jul  6, 1994   a 1.13 record; the MXG logic was not sufficiently robust.
               To correct the MXG error, find the second occurrence of  
               BYTELEFT=BYTELEFT-MRHDRLEN; and insert these four lines  
               after that statement:                                    
                  IF BYTELEFT LE 0 THEN DO;                             
   Thanks to Ricky Valeroso, City of New York - CDCSA, USA.             
Change 12.068  Boole & Babbage CICS Statistics record subtype 0BB02x has
VMAC110        been suppressed by recent IBM CICS changes, causing these
Jun 23, 1994   special records to not be written.  Boole's PTFs BPC2347 
               and BPC2348 change their subtype value to 00B02x, and MXG
               test was changed to IF SUBTYPE=0BB02X OR SUBTYPE=00B02X  
               to support either value.                                 
   Thanks to Bill Gecci, Boole and Babbage, USA                         
Change 12.067  New Measured Usage datasets TYPE89 and TYPE30MU are built
BUILDPDB       automatically in BUILDPDB/BUILDPD3.  This change was made
BUILDPD3       in MXG 12.01, but the change was not noted in CHANGES.   
Jun 23, 1994                                                            
Change 12.066  INFOPAC variables REQSTART and REQEND may be incorrect   
VMACIPAC       for some subtypes - changing the test IF SMFIPSTP NE 1   
Jun 23, 1994   THEN to read IF SMFIPSTP NE 4 has cured the problems.    
   Thanks to Ron Bleeden, Jewel, USA.                                   
Change 12.065  Variables INTBTIME & INTETIME will be missing in interval
VMAC30         TYPE30_V/PDB.SMFINTRV observations which have MULTIDD='Y'
Jun 23, 1994   if you are at MVS/ESA 4.2 or earlier.  The GMT           
               corrections following setting MULTIDD='Y' in VMAC30 must 
               be executed only if GMTOFF30 is non-missing:             
                 IF GMTOFF30 GT . THEN DO;                              
   Thanks to Tom Parker, Hogan Systems, Inc, USA.                       
Change 12.064  No IPLS/TYPE0 observations with MVS/ESA 5.1 SMF data (but
VMAC0          MXG did print an error message on the log), or a short   
Jun 22, 1994   type 0 record could still cause an INPUT STATEMENT EXCEED
Jul 19, 1994   message, because the tests for LENGTH were incorrect.    
              -In MXG 11.11, change the line reading IF LENGTH GT 31 ...
               to read IF LENGTH-OFFSMF NE 31 AND LENGTH-OFFSMF NE 56 ..
              -In MXG 12.01 or 12.02, the first LENGTH test should read:
               and the second LENGTH test should now read:              
               IF LENGTH-OFFSMF GE 56 THEN                              
               and the INPUT of SYSPLEX should be @49 instead of @39.   
               This text was revised between 12.02 and 12.03.           
   Thanks to Tom Parker, Hogan Systems, Inc, USA.                       
   Thanks to Mike Skopec, Platinum Systems, USA.                        
Change 12.063  ACF2 variables LIDCDATE,LIDDXPDT,LIDIPDAT and LIDADATE   
VMACACF2       can contain hex zeros, causing INVALID DATA messages.  By
Jun 23, 1994   inserting double-questionmarks between the variable name 
Jul 19, 1994   and the &PD.4. input format, the messages and hex dump   
               will be suppressed and the variables still set to missing
               when these dates do not exist.  This change was revised; 
               the first two variables were corrected in MXG 12.02, the 
               final two were corrected in MXG 12.03.                   
   Thanks to Phil Seale, Central Regional Council, UK.                  
Change 12.062  Variable QTPKALL should have been DIF()ed, in addition to
DIFFDB2        variable QTPKALLA, which was already in the DIF() list.  
Jun 22, 1994   Without this change, QTPKALL will contain wrong values.  
   Thanks to Tom Parker, Hogan Systems, Inc, USA.                       
Change 12.061  PDB.JOBS variable RESTARTS may be incorrect for a small  
BUILDPDB       number of jobs on the day you implement MXG 11.11, due to
Jun 22, 1994   change 11.269, which renamed MULTIDD to MULTIDD5 for the 
               SPIN30_5 logic, but didn't protect existing observations 
               in SPIN30_5 on the first execution.  If there were no    
               MULTIDD records in the SPIN.SPIN30_5, there is no error. 
               If the SPIN.SPIN30_5 dataset that you are going to use   
               for the initial run with MXG 11.11 has the variable      
               MULTIDD instead of MULTIDD5, and if there are any        
               observations with MULTIDD='Y', and if those jobs are     
               matched up by the first execution of BUILDPDB, the count 
               of RESTARTS will be incorrect, but the count will be ok  
               on all subsequent days.  If you really want to correct   
               this obscure error, you should rename variable MULTIDD in
               your SPIN.SPIN30_5 dataset to MULTIDD5 and then run your 
               first MXG 11.11 BUILDPDB execution.  This might not have 
               been noticed, but it happened to a TSO session, and      
               RESTART greater than 1 should not occur for TSO!         
   Thanks to Tom Parker, Hogan Systems, Inc, USA.                       
Change 12.060  If you needed more than 3 account fields in your PDB, you
IMACPDB        had to change IMACPDB, because it (incorrectly) limited  
Jun 22, 1994   the number of fields to three.  Since MXG 8.8, member    
               IMACACCT is where you control how many account fields you
               keep, so this change only revises IMACPDB so it now has  
               ACCOUNT1-ACCOUNT9 and SACCT1-SACCT9 specified; that way, 
               your definition of kept account fields in IMACACCT will  
               always be in control.                                    
   Thanks to Tom Parker, Hogan Systems, Inc, USA.                       
Change 12.059  Type 6 records from VPS product have UCS='VPS' but had a 
VMAC6          SUBSYS='JES2'.  Because it may be important to know which
Jun 22, 1994   subsystem created the type record, MXG now sets variable 
               SUBSYS='VPS ' if UCS=:'VPS';                             
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 12.058  The MXG Tape Allocation and Tape Mount Monitor, ASMTAPES,
ANALTALO       (which replaces the MXG Tape Mount Monitor, ASMTMNT) has 
ASMTAPES       been fixed and has been running at two MVS/ESA sites, one
ASUMTALO       with both SMS and MIM, for two weeks without any ABEND!  
BUILDPDB       The monitor creates an SMF record for each tape drive    
BUILDPD3       allocation event, so actual tape drive usage is measured,
BUILD002       even for dynamically allocated drives, and it creates an 
GRAFTALO       SMF record (same ID, different subtype) for each tape    
TRNDTALO       mount event, so human and silo efficiency is measured.   
Jun 17, 1994   MXG member TYPETMNT creates three datasets from the SMF  
               record: TYPETALO for Tape Allocation, TYPETMNT for Tape  
               Mounts, and TYPETSWP for Tape Error Swaps.  Both TYPETMNT
               and TYPETSWP are already automatically created in the PDB
               by BUILDPDB/BUILDPD3; now PDB.TYPETALO will also exist in
               your PDB library.  Members ASUMTALO/TRNDTALO provide the 
               summarization and trending logic, while ANALTALO/GRAFTALO
               provide sample printed and graphical reports, and the CPU
               cost of the monitor is minimal. See Change 12.105.       
   Thanks to Bob Kinney, Kaiser Permanente, USA.                        
   Thanks to Chuck Hopf, Primerica, USA.                                
   Thanks to Bill Fairchild, Royal Software Associates, USA.            
Change 12.057  Final support for DFSMS 1.2 added a few variables that   
VMACDCOL       were not in earlier APARs:                               
Jun 17, 1994    Dataset DCOLDSET variables DCDBDSZ DCDCCSID DCDCUDSZ    
                                 DCDDDMEX DCDEXFLG DCDOVERA DCDUDSIZ    
                Dataset DCOLCLUS variable DCANSTAT                      
                Dataset DCOLMIGS variable UMSDSP                        
   Thanks to John Maher, Home Savings, USA.                             
===Changes thru 12.056 were in MXG PreRelease 12.01A dated Jun 15, 1994=
Change 12.056  Support for MEMO subtype 6 SMF record creates new dataset
EXTYMEML       MEMOLIST.  Code was originally added as member XMACMEMO  
IMACMEMO       in MXG 12.01A, untested, but now has been verified and   
VMACMEMO       has replaced VMACMEMO in MXG 12.03.                      
Jun 15, 1994                                                            
Jul  7, 1994                                                            
   Thanks to Jukka Suhonen, VTTK, FINLAND.                              
Change 12.055  MXG 12.01 only.  Change 12.047 DASD RESP changes were not
ANALRMFR       spelled right, causing uninitialized variable messages   
Jun 15, 1994   and non-printing of the summary report.                  
Change 12.054  Variables MNSMFTME and MXSMFTME are not kept by MXG and  
VMACSMF        thus were not in the LENGTH 8 list, but if you were to   
Jun 14, 1994   keep them, the LENGTH DEFAULT=4 would cause truncation of
               their datetimestamp values, so they are now added to the 
               LENGTH 8 list in macros _SMF and _SMFTEMP in VMACSMF.    
   Thanks to Graeme Yeandle, British Telecom, UK.                       
Change 12.053  Division by Zero was not protected for the calculation of
VMACNSPY       T1RSPPC-T4RSPPC when TRANSNO was zero; that block of code
Jun 14, 1994   has now been protected.                                  
   Thanks to Jim Wertenberger, Blue Cross Blue Shield of Ohio, USA.     
Change 12.052  MXG 12.01 only.  The OUTPUT _LDB2ACC in exit member      
EXDB2ACB       EXDB2ACB should have read  OUTPUT _LDB2ACB instead. (Only
VMACDB2        if you used new Buffer Pools would there have been any   
Jun 12, 1994   actual problem).  See Change 12.033.                     
               Unrelated, I changed the ID=0 statement before IMACACCT's
               %INCLUDE in VMACDB2 to a "faker" for better cosmetics.   
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 12.051  DCOLLECT variable DCDNMBLK in dataset DCOLDSET is wrong; 
VMACDCOL       it needs to be multiplied by 1024.  Insert a line for    
Jun 12, 1994   DCDNMBLK immediately following DCDSCALL=1024*DCDSCALL;   
               Additionally, add variables DCAHURBA DCAHARBA and DCAASP 
               to the MGBYTES format list, to be consistent with other  
               variables that measure space allocated/used.             
   Thanks to Mark Mustoe, Nestle Foods, USA.                            
Change 12.050  In 12.01, new dataset TYPE30MU was not protected in the  
ANALDSET       IEBUPDTE step.  Replicate the two "30OM" lines and change
Jun  4, 1994   "30OM" to "30MU".                                        
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 12.049  TCP APAR PN34837 added 8 undocumented bytes to the TELNET
VMACTCP        Server record - the datetimestamp of LOGF.  Variable     
Jun  3, 1994   TELLOGFT now contains that value.                        
   Thanks to Barry Pieper, Norwest Technical Services, USA.             
Change 12.048  INVALID NUMERIC DATA 'SAT' can occur in ASUM70PR if you  
ASUM70PR       modified IMACRMFI using the example in comments that uses
IMACRMFI       the variable named "DAY".  Unfortunately, changes made to
Jun  3, 1994   VMXGDUR (which is invoked internally by ASUM70PR) now use
               the variable named "DAY" as a numeric variable, causing  
               the error message.  Since the problem only arises if you 
               have modified IMACRMFI, you can change "DAY" in IMACRMFI 
               to "DAYSHIFT" to eliminate the conflict.  I have changed 
               the example in comments to now show "DAYSHIFT".          
   Thanks to John Chan, The Toronto Hospital, CANADA.                   
===Changes thru 12.047 were in MXG PreRelease 12.01 dated Jun 1, 1994===
Change 12.047  The RMF-look-alike CPU Activity report may show BUSY TIME
ANALRMFR       of zero (but the Summary CPU times are correct) due to   
Jun  1, 1994   incorrect logic.  Change:                                
Jun  2, 1994     IF CPEF(I) NE . THEN DO; to  IF CPEF(I) GT 0 THEN DO;  
                   then 35 lines later, change                          
                 IF PEFT(I) NE . THEN ... to  IF PEFT(I) GT 0 THEN ...  
                   then 19 lines later, change                          
                 IF LPARNAME =: '        ' THEN DO;  to                 
                 IF LPARNAME =: '        ' OR TOTEFV LE 0 THEN DO;      
               On the Summary Report, the "DASD RESP" was incorrect; MXG
               included both Tape and DASD in its calculation (but on   
               Device reports the device and LCU detail was correct).   
               The DASD RESP fix was not included in the Jun 1 tapes.   
   Thanks to Linda Carroll, American Software, USA.                     
TRNDRMFI       and TSO4TRAN were left out of the NORM1= argument list,  
May 25, 1994   and were incorrect in the TREND.TRNDRMFI dataset.        
   Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.       
Change 12.045  "Performance Management in a DFSMS/MVS World" GG66-3252, 
VMAC42         by IBM's J.P. Burg is an excellent discussion of use of  
May 25, 1994   the new SMS data in type 42 SMF records.  Six variables  
               that he uses in that manual are now created in TYPE42DS  
               (data set detail) and TYPE42SR (storage class) datasets: 
               Take a look at John's analysis and discussion!           
Change 12.044  This report member has been revised, but work is still in
ANALRACF       progress - the PROC TRANSPOSE still raises an error.  The
May 24, 1994   text of this change will be revised when report is fixed.
               Sections WPDBRACF,WRACCMDS, and WRACLINK were revised.   
Change 12.043  The "Candidates to be moved" report of tape data sets is 
ANALTMS5       revised so that tape GDGs will be reported as the root   
May 24, 1994   name, without the GooVoo, and the estimate of tape feet  
               will include all volumes in the GDG.                     
   Thanks to Richard S. Ralston, Whirlpool Corporation, USA.            
Change 12.042  The ANALTAPE analysis of tape drive allocation has been  
ANALMNTS       updated to report on 3490 tape drive counts; however, it 
ANALTAPE       will never be as accurate as ASMTAPES analysis, when that
May 24, 1994   Tape Allocation monitor is fully validated!  The archaic 
               ANALMNTS, which can only calculate average tape mount    
               time, and which has been effectively replaced by ASMTMNT,
               was also updated to recognize 3490 tape mounts.          
   Thanks to Richard S. Ralston, Whirlpool Corporation, USA.            
Change 12.041  Recognition of TCP/IP event type in SMF type 118 record  
VMACTCP        was based on the 4-byte string test, but TELSERVER value 
May 24, 1994   of 'LOGN' and FTPSERVER value of 'LOGNSEQ' looked same,  
               so the logic was revised to use the length of the record 
               (38-44 is API, 72-86 is TELNET, 194-200 is FTP).  While  
               there is a subtype value in the record, it is not fixed  
               (you specify it, with different parameters, in different 
               TCP/IP files, with different syntax, so for me to use it 
               you would have yet another MXG table to update to tell   
               me what you chose!), so I chose to use record length and 
               command string to eliminate the ambiguity. I also noted  
               there are 8 undefined bytes at the end of the TELNET     
               record that I am investigating.                          
   Thanks to Barry Pieper, Norwest, USA.                                
Change 12.040  The %VMXGSUM invocation requires the addition of         
ASUMPRTR         KEEPIN=STDUPLEX TMBUPLEX,                              
May 24, 1994   to eliminate the UNITIALIZED VARIABLE condition.         
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 12.039  Member IEBUPDTE now contains both the IEBUPDTE.BAS BASIC 
IEBUPDTE       program and the IEBUPDTE.SAS program that will create a  
May 24, 1994   separate file (named "member.SAS") for each PDS member   
               of the mainframe source library that was downloaded, as  
               described in MXG Newsletter TWENTY-FIVE.  As any believer
               knows, the SAS program was faster (26 minutes versus 66  
               minutes for MXG 11.11) than the BASIC program!           
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 12.038  Support for BatchPipes/MVS APAR PN45746, which adds local
VMAC91         timestamps for interval begin/end, and for first/last    
May 24, 1994   access for the input and output pipe connections.        
Change 12.037  Support for AS/400 Transaction Summary Trace File QTRTSUM
ADOCQTRT       is added by this user contribution, which has been tested
EXQTRTSU       with OS/400 Version 2 Release 2.  Instructions for this  
IMACQTRT       data source are in member ADOCQTRT.                      
May 24, 1994                                                            
   Thanks to Colin Adams, ENGLAND.                                      
Change 12.036  APAR OW00484 adds Date of Open to TYPE1415 (finally!), so
ANALDSET       now OPENTIME will be correct (prior to this APAR, I could
VMAC1415       only use the record' SMFDATE, or SMFDATE-1 if open time  
May 24, 1994   was later than SMF time).  Variable OPENTM is now created
               with the correct duration of open (but only if the APAR  
               is installed - OPENTM will be missing if OPENTIME is not 
               based on a true Date of Open). Also, OPENTM was added    
               to the variables kept in ANALDSET analysis.              
Change 12.035  The CICS Shutdown reports delivered in MXG 11.11 are now 
ANALCISH       revised so that report selection matches IBM's DFHSTUP   
May 23, 1994   program (i.e., so that only EOD reports can be selected -
               the original report printed everything, EOD, INT, etc, if
               those records were found), and individual datasets are   
               now created for each report (instead of a single dataset 
               that could require massive WORK space), and the errors in
               Change 12.005 are also corrected by this revision.  The  
               comments in the new member describe the new parameters.  
   Thanks to Kusol Voratanitkitkul, Health Care Service Corp, USA.      
Change 12.034  Support for MVS/ESA 5.1.0:                               
BUILDPDB      -TYPE0 new variables                                      
BUILDPD3         PRODNAME - SMF Product Name                            
BUILD003         SYSNAME  - System Name from IEASYSxx member            
EXTY44           SYSPLEX  - Sysplex Name from COUPLExx member           
EXTY72GO      -TYPE6 new variable                                       
EXTY7204         CUTSHEET - flag if Cut Sheet Printer                   
EXTY74CF      -TYPE23 new variables                                     
EXTY74ST         SYSNAME  - System Name from IEASYSxx member            
FORMATS          SYSPLEX  - Sysplex Name from COUPLExx member           
IMAC44        -TYPE30_4,TYPE30_V new variables                          
IMAC7072         IEFUSICH - Flag if IEFUSI changed Region Size          
IMAC74           WLMNAME - Workload Name                                
IMACPDB          RESGROUP- Resource Group Name                          
IMACWORK         RPTCLASS- Reporting Class Name                         
MONTHBLD         SRVCLASS- Service Class Name                           
RMFINTRV         SYSNAME  - System Name from IEASYSxx member            
VMAC0            SYSPLEX  - Sysplex Name from COUPLExx member           
VMAC6         -TYPE30OM new variables                                   
VMAC23           OMVSEXNP - OMVS Executed Program Name                  
VMAC30           OMVSOPP  - OMVS Parent Process ID Number               
VMAC44           OMVSOKR  - OMVS I/O Blocks read for remote Socket      
VMAC7072         OMVSOKW  - OMVS I/O Blocks written for remote Socket   
VMAC71        -TYPE30MU new dataset for Measured Usage - See 12.028     
VMAC73        -TYPE32 new variables                                     
VMAC74           SYSNAME  - System Name from IEASYSxx member            
VMAC79           SYSPLEX  - Sysplex Name from COUPLExx member           
VMAC89        -New type 44 Subsystem Modify Record creates TYPE44       
WEEKBLD          SMF44PRC - SS06 Proc Name                              
Feb 14, 1994     SMF44OPT - Initialization Options                      
May 23, 1994  -TYPE71 new variables                                     
                 PGBKLPA  - LPA Block Page Page-ins                     
                 PGBKSYSA - System Pageable Areas Block Page-ins        
              -TYPE72 new datasets:                                     
                 TYPE72GO - Goal Mode (Equivalent of TYPE72)            
                 This dataset is of major importance when Goal Mode     
                 is used, as it replaces the TYPE72 data for resources  
                 by Service Class.  TYPE72GO is merged in with RMFINTRV 
                 so that correct CPU utilization is constructed whether 
                 you are in Goal Mode or Compatibility Mode.            
                 There are five kinds of observations in TYPE72GO:      
                   I.   Address Space Service Class                     
                         (Criteria: R723CRCA='Y' AND NOT RPRTCLAS='Y'). 
                     =1. Response Time Goal Sub-Class                   
                         (Criteria: Has RTS Section)                    
                          RESOURCES + RESPONSE-DIST                     
                     =2. No Response Time Goal Sub-Class                
                         (Criteria: Has no RTS Section)                 
                   II.  Transaction Service Class                       
                     =3. (Criteria: Has WRS Section).                   
                                      RESPONSE-DIST + WM-STATES         
                   III. Report Class                                    
                         (Criteria: RPRTCLAS='Y').                      
                     =4. Address Space Sub-Class                        
                         (Criteria: R723CRCA='Y').                      
                     =5. Transaction Sub-Class                          
                         (Criteria: R723CRCA NE 'Y').                   
                          Only TRAN count from resources.               
                   Variable R723TYPE has value 1 thru 5 to identify what
                   kind of TYPE72GO observation you are dealing with.   
                   Note that just like we had Report Performance Groups,
                   Goal Mode has Report Classes in addition to Service  
                   class, and resources in a Report Class record have   
                   already been reported in the task's Service Class.   
                   One bright spot - work can only be reported in one   
                   Report Class.  The dim spot - there is no fall-thru  
                   report class created if you define a report class,   
                   so you can't sum Report Class data and be sure you   
                   have all work in a report class, so MXG still must   
                   use only Service Class (not Report Class) to build   
                   the workload variables in RMFINTRV.  Member IMACWORK 
                   has been revised, and you must specify what Service  
                   Class is what workload for Goal Mode, just like you  
                   specify what Control Performance Group is what for   
                   compatibility mode.  MXG defaults do try to recognize
                   workload by your Workload Name.  The observation is  
                   a Report Class if RPRTCLAS='Y', or is a Service Class
                   if RPRTCLAS=' '.                                     
                 TYPE7204 - Subtype 4                                   
                   This is the RMF Monitor III data for Goal Mode, much 
                   like TYPE72MN was for Compatibility Mode.  Sampled   
                   workload delay statistics and swap counts by all 17  
                   swap reasons are captured for each period of each    
                   service class monitored.                             
              -TYPE73 new variable                                      
                 SMF73CPD - Channel Path Description                    
              -TYPE74 new datasets from new subtype 4:                  
                 TYPE74CF - Coupling Facility Utilization               
                   This dataset is a mini-RMF for the Coupling Facility,
                  -per-engine CF CPU utilization;                       
                  -Storage defined and free for Control, CF, and Dump   
                   Space Storage, Dump Space defined and used,          
                  -Path and subchannel use and contention counts, busy, 
                   duration of delay for unsuccessful requests          
                  -List of each structure and its size that is allocated
                   to this Coupling Facility.  See TYPE74ST dataset.    
                 TYPE74ST - Coupling Facility Structure Request Activity
                   For each Connected Structure to this CF, the request 
                   activity is provided.  Multiple observations in      
                   TYPE74ST can be matched to their parent TYPE74CF     
                   observation BY SYSTEM STARTIME R744FNAM.  Contains:  
                  -Requests, both SYNC and ASYNC, and separate durations
                   for service for SYNC and ASYNC, and for delays due to
                   queue delay, dump delay, high or low priority queue, 
                   and min/max counts for hi and low priority queues and
                   dump serialization, plus lock contention counts!     
              -TYPE89 new record for Measured Usage Pricing was added to
                 BUILDPDB/BUILDPD3/etc.  See Change 12.028.             
              Almost all records are now supported, and compatibility   
              mode data verified.  Goal mode data has now been validated
              and omissions in the first release were corrected. The    
              RMFINTRV member now processes either GOAL or COMPATIBLITY 
              mode type 72 data.  Note that IBM thinks there may still  
              be some incorrect values in some of the data fields.      
              It's really nice to have new records to test with!!!!!    
           b. MVS/ESA 5.1 changes were compatibly made, so this         
              prerelease is required only to support new facilities,    
              i.e., CPU measurement of Goal Mode requires prerelease.   
           c. These new records have not been added to this PreRelease. 
              TYPE90 Subtype 10 coded, not yet described herein         
              TYPE90 Subtype 23 coded, not yet described herein         
              TYPE90 Subtype 24 WLM  -  not yet coded  -                
              TYPE90 Subtype 25 coded, not yet described herein         
              TYPE92 -  OMVS File System activity 11 subtypes not coded.
              TYPE99 -  WLM data - subtype 2 decoded in MXG 12.03.      
      Final notes: I spent a lot more time on the code than on this     
      documentation.  Please feel free to fax/call if you see problems  
      with the data, but I feel real confident about the core of the    
   I am extremely impressed with the design of the new Workload Manager,
   and while migrating to Goal Mode may take a little planning, I am    
   convinced it is the righteous thing to do as soon as its ready;      
   it's architecture is clearly what we wanted from MVS all along!      
   See my note on this subject on page 2 of MXG Newsletter TWENTY-FIVE. 
               INCOMPATIBILITY NOTE: These IMACs were changed to add new
               datasets and to support the Workload Manager:            
                    IMAC7072  IMAC74  IMACWORK IMACPDB                  
               If these members exist in your MXG tailoring library, you
               MUST retrofit your changes to the new IMAC member, or you
               will get "variable GOALMODE not found" errors in RMFINTRV
               or "dataset not found" errors in the other members.      
Change 12.033  DB2 Version 3.1 support was not completely correct in MXG
DIFFDB2        11.11.  The Buffer Pool variables QBnCaaa in DB2ACCT are 
EXDB2ACB       all wrong (misaligned, because a new reserved field was  
EXDB2STB       not skipped), and in both DB2ACCT and DB2STATS, the new  
IMACDB2        buffer pools (BPID =3 thru 49 for 4K pool, BPID=81-89 for
VMACDB2        32K pools) were not recognized.  In addition, DB2STATS   
May 23, 1994   did not correctly de-accumulate most of the variables new
               in DB2 Version 3.1.  If you have not exploited DB2 3.1,  
               and still have only BP0, BP1, BP2 and BP32 defined, you  
               can correct the DB2ACCT variables QBnCaaa by changing the
               sixteen lines reading   INPUT (QBnCGET QBnCSWS ...       
               to read                 INPUT (QBnCGET QBnRSVD QBnCSWS ..
               However, if you have exploited DB2 3.1 and have defined  
               the new buffer pools, both DB2ACCT and DB2STATS will now 
               include the new buffer pools in the existing MXG variable
               groups, as described below.  Additionally, the interval  
               statistics for each buffer pool are now provided in the  
               new DB2STATB dataset.  Furthermore, the detail activity  
               counts for each buffer pool used by each plan execution  
               are available in the new DB2ACCTB accounting detail,     
               Nov 25, 1996 revision:  Original text stated:            
                  but as DB2ACCTB could be very large, MXG, by default, 
                  does not output any observations in DB2ACCTB (because 
                  the OUTPUT statement is commented out in member       
                  EXDB2ACB).  If you actually need the details in       
                  DB2ACCTB, all you need to do is to remove the comment 
                  block, as described in the comments, in member        
                  EXDB2ACB.  In that member, you can also conditionally 
                  execute the OUTPUT statement so that only a specific  
                  buffer pool and/or a specific plan name are output.   
                  (This paragraph was revised 22Sep94).                 
               New text:  Now DB2ACCTB by default DOES have observations
               since it turned out it's not really that large, so you do
               not have to do anything                                  
               To compatibly support DB2 3.1's up-to-60 buffer pools in 
               MXG's existing DB2ACCT and DB2STATS datasets and ANALDB2R
               reports, I simply redefined the meaning of the four sets 
               of buffer pool variables that already existed (in DB2ACCT
               the variables are QBnCaaa, in DB2STATS they are QBnTaaa, 
               where n=1,2,3,4).  The QB1 and QB2 sets of variables     
               still are the counts for the (4K) BP0 and BP1 buffer     
               pools respectively, but the QB3 set of variables (instead
               of just containing counts for the (4K) BP2 pool), now    
               contain the SUM of the activity for all of the OTHER 4K  
               Buffer Pools (BPID 2->49), and the QB4 set of variables  
               (instead of just containing counts for the (32K) BP32),  
               now contain the sum of activity for ALL of the 32K Buffer
               Pools (BPID=80->89).                                     
               INCOMPATIBILITY NOTE: IMACDB2 was changed to add the new 
               datasets.  If you have modified IMACDB2 into your MXG    
               tailoring library, you must retrofit your changes using  
               the IMACDB2 from this MXG library.                       
   Thanks to Tuomo Rahko, KOP Kansallistieto, FINLAND.                  
   Thanks to Waldemar Schneider, SAS Europe, GERMANY.                   
Change 12.032  Dataset T102S196 for DB2 type 102 IFCID 196 Lock Timeout 
VMAC102        Details record, which identifies holder and wanter(s) of 
May 18, 1994   lock requests that resulted in the timeout of a DB2 task,
               is now populated by this change.  T102S196 contains all  
               details on the lock request that timed out, and identity 
               details of the first three holders of an incompatible    
               lock (the first three agents that caused the timeout.)   
   Thanks to Majid Abai, Southern California Edison, USA.               
Change 12.031  STK's ICEBERG dataset ICEBRGCH is trashed, because there 
VMACICE        must be a  "+1"  before  "INTENCUR $CHAR1."  so that MXG 
May 18, 1994   is properly aligned with each data segment.  Let me point
               out that STK, just like IBM, measures disk capacity in   
               "Million Bytes" and not "Mega-Bytes"; MXG always converts
               sizes in bytes to Mega-, or Giga- bytes, so a 3380 with  
               a DASD capacity of 630 "Million Bytes" can really only   
               store 601 true "Mega Bytes" of data!                     
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 12.030  All instances of INPUT XXXXXXXX MSEC8.  were replaced by 
DOC             INPUT XXXXXXXX &PIB.8.6 ... @; XXXXXXXX=XXXXXXXX/4096;  
May 18, 1994   because the MSEC8. format sets XXXXXXXX to missing if the
               value is greater than 24 hours!  While SAS is aware of   
               this defect, it will not be corrected until SAS Version 7
               and I couldn't wait that long!  The specific case that   
               precipitated the error was a CICS Shutdown record which  
               had total wait time of 25 hours, but all occurrences were
               changed (311 times in 29 members) just to be sure.  (Note
               that IBM's DFHSTUP report did not handle the 25 hour time
               either - it reported only 1 hour!).                      
               NOTE: MSEC8. PIB8.6/4096 CPU TIMER UNITS                 
Change 12.029  Labels for variables DS4VTOCE and DS4VTOCI were reversed.
May 18, 1994                                                            
   Thanks to John Taylor, Newport Management Corporation, USA.          
Change 12.028  Support for Measured Usage License Charges new SMF record
EXTY30MU       type 89 (MVS/ESA versions 3.1.3, 4.2, 4.3, and 5.1) and  
EXTY89         enhancements to type 30 (MVS/ESA version 5.1 and later). 
FORMATS        The new architecture is well described by IBM in manual  
IMAC30         GC28-1098-00.  The new TYPE89 dataset has one observation
IMAC89         for each interval (default, and maximum, one hour) for   
TYPE89         each "registered product" that had usage during that     
VMAC89         interval.  TYPE89 data will be summarized by IBM's IFAURP
May 18, 1994   reporting program to calculate total hourly product usage
Jun 24, 1994   daily, and then the fourth-largest daily-hour during the 
               month is used as the basis for Measured Usage Charges.   
               When IBM releases IFAURP, MXG will replicate the report. 
               For MVS/ESA 5.1 and later, new dataset TYPE30MU will     
               report on each address space that uses any "registered   
               product".  This preliminary change is based only on the  
               documentation - no records are yet available to test!    
Change 12.027  Candle's OMEGAMON for CICS 550/551 user SMF record DSECT 
VMACOMCI       was wrong, affecting the contents of OMCISYST dataset.   
May 17, 1994   New variable SMRECNT (count of transactions) is created, 
               and fields are now correctly input.  Change these lines: 
                  SMOASID     &PIB.2. /*ADDRESS SPACE ID           */   
                  SMRES3    $EBCDIC6. /*RESERVED AREA              */   
                  SMOFLGS     &PIB.4. /*SYSTEM FLAGS --            */   
                  SMRES4    $EBCDIC3. /*RESERVED AREA              */   
                  SMCVTTZ     &PIB.4. /*GREENWICH MEAN TIME OFFSET */   
               to read:                                                 
                  SMOASID     &PIB.2. /*ADDRESS SPACE ID            */  
                  SMRES3    $EBCDIC2. /*RESERVED AREA               */  
                  SMOFLGS     &PIB.4. /*SYSTEM FLAGS --             */  
                  SMRECNT     &PIB.4. /*output transaction rec count*/  
                  SMCVTTZ     &PIB.4. /*GREENWICH MEAN TIME OFFSET  */  
               and add SMRECNT to KEEP= list for OMCISYST.              
   Thanks to Linda Berkley, Amdahl, USA.                                
Change 12.026  Jobs with JCL errors before execution (i.e., ABEND='JCL')
BUILDPDB       were not output in PDB.JOBS; they are in PDB.NJEPURGE due
BUILD005       to Change 11.226. Find                                   
May 17, 1994       ((INREASON='  ' OR INREASON='JR' OR INREASON='JT')   
               and change it to read                                    
                   ((INREASON='JR' OR INREASON='JT')                    
   Thanks to Jack Hwang, Great American Reserve Insurance Co., USA.     
   Thanks to Jerry Byers, Great American Reserve Insurance Co., USA.    
Change 12.025  TYPE26J2 INPUT STATEMENT EXCEEDED error due to truncated 
VMAC26J2       type 26 SMF record; field SMF26NRA does not exist in the 
May 17, 1994   record in at least one MVS/ESA 4.3 site (although it does
               exist at other sites). To circumvent, replace two lines: 
                         SMF26NRA  &PIB.1.                              
               with these two lines:                                    
                    @; IF SMF26LN8 GT 2 THEN INPUT SMF26NRA &PIB.1. @;  
                    ELSE SMF26NRA=0;                                    
               The actual MXG change was more extensive.                
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 12.024  MXG Tape Allocation and Mount monitor ABENDs were caused 
ASMTAPES       by a typo, wrong field was moved into LOCLINFO (which    
               loop was relocated to reduce CPU cost (ASMTAPES now takes
               about twice the CPU time to monitor both tape mounts and 
               tape allocations as ASMTMNT to monitor just mounts).     
              -Find the two lines:                                      
                  L    R5,QBDFELMP-QDB(,R1)  GET 1ST ELEMENT IN QUEUE   
                  LTR  R1,R1                                            
               and change the second line to read                       
                  LTR  R5,R5                                            
               Be careful to change the correct LTR instruction, as     
               there is a valid  LTR  R1,R1 just three lines earlier.   
               This is the typo causing the SRB abends in the monitor.  
              -Find  LOCKLOOP  EQU *                                    
               Delete that STIMER, and then four lines later, find and  
               replace the line   BNZ  LOCKLOOP  with these four lines: 
                         BZ      UNLOCKED                               
                         STIMER  WAIT,BINTVL=THETIME                    
                         B       LOCKLOOP                               
                UNLOCKED EQU     *                                      
               This change eliminated the high CPU utilization          
              -Find and delete the line:                                
                  MVC  SRUSER,JCTUSER                                   
               Find the two lines:                                      
                  SPACE  1                                              
                  MVC    SRRSTM,JMRENTRY      READER START TIME         
               and insert a third line as shown below:                  
                  SPACE  1                                              
                  MVC    SRUSER,JMRUSEID      LOCLINFO FIELD            
                  MVC    SRRSTM,JMRENTRY      READER START TIME         
               Change   SMFUSER  DS    CL7  to  SMFUSER  DS    CL8      
               Change   SRUSER   DS    CL7  to  SRUSER   DS    CL8      
               This correction solved the TYPETMNT record error.        
               May 25, 1994 status:                                     
               The monitor now only occasionally fails, and we are      
               examining dumps of two allocation events that are the    
               cause - TMS initialization of tape volumes, and when an  
               ATL doesn't have a tape volume in the library.  The      
               earlier concern for MIM and SMS see unwarranted, as the  
               monitor is now functioning in those environments.        
   Thanks to Bob Kinney, Kaiser Permanente, USA.                        
Change 12.023  CICS Statistics dataset CICLSRR index variables will be  
VMAC110        wrong if all LSR pools do not have indexes; an LSR pool  
May 15, 1994   without indexes will have index variables from the prior 
               LSR pool that did have indexes, because MXG did not      
               set missing the index variables when A08FLAGS NE 'Y'.    
               To correct, all index variables that were INPUT in the DO
               group  IF A08FLAGS='Y' THEN DO; are now set missing in   
               the immediately following ELSE DO; group.                
   Thanks to Anita A. Bradley, Virginia Power, USA.                     
Change 12.022  This utility to convert character variables containing   
UTILCVRT       Hex (Binary) data from ASCII back to EBCDIC was listed in
May 10, 1994   Newsletter TWENTY-FIVE, but did not exist in MXG 11.11;  
               it now exists and is self-documenting.                   
   Thanks to Damian Stevenson, Policy Management Systems, AUSTRALIA.    
Change 12.021  This utility to count CICS type 110 records by APPLID    
UCICSCNT       produces unclear counts, because there must be an        
May  9, 1994    OUTPUT;  statement just before the last END;            
   Thanks to Chris Powell,  Vancouver Stock Exchange, CANADA.           
Change 12.020  CICS Statistics dataset CICDBUSS variables STACTIME and  
VMAC110        STADTIME were missing, because their INPUT should have   
May  5, 1994   been TODSTAMP8. instead of MSEC8.                        
Change 12.019  Type 42 subtype 14 record (ADSM) offsets have now been   
VMAC42         corrected by IBM, causing INVALID ADSM SECTION TRIPLET   
May  4, 1994   message, and MXG typing errors caused incorrect values.  
               After first ELSE IF SUBTYPE=14 THEN DO; delete the line  
               After the second ELSE IF SUBTYPE=14 THEN DO;  change line
                   OFFADSM=OFFADSM+1+OFFSMF;  to now read               
               In the INPUT statement for SUBTYPE=14, the final period  
               is missing from the input format for YYYY (&NUM.4 must be
               &NUM.4.) and for MO,DD,HH,MM,SS (&NUM.2 must be &NUM.2.).
   Thanks to Harry Price, Florida Power and Light, USA.                 
Change 12.018  Type 30 Interval records with MULTIDD='Y' do not have a  
VMAC30         CPU section, which is where the GMT offset is stored, and
Apr 22, 1994   thus INTBTIME and INTETIME were not corrected from GMT to
               local time.  Since GMTOFF30 is a retained variable, the  
               times can be corrected (as long as the MULTIDD record is 
               found after another type 30 which has a CPU section was  
               found) by inserting the correction logic:                
               inside the DO group which sets MULTIDD='Y';              
   Thanks to Don Friesen, B.C. Systems, CANADA.                         
Change 12.017  Variable BUFNO is now documented by IBM as always zero;  
ADOC1415       the number of buffers is valid in JFCBUFNO.  MXG now sets
VMAC1415         IF BUFNO LE 0 THEN BUFNO=JFCBUFNO                      
Apr 22, 1994   so you won't have to read this note in the future!       
   Thanks to Tom Elbert, John Alden Insurance, USA.                     
Change 12.016  CA-DISPATCH 5.1 corrupted READTIME (See Change 11.342) is
VMAC6          now corrected by CA PTF T97E056.                         
Apr 22, 1994                                                            
   Thanks to Giovanni Dossena, Einchem Elastomeri S.R.L., ITALY.        
Change 12.015  FMXGSID and FMXGUCBL functions ABEND 0C4 with SAS 6.08 at
FMXGSID        TS407, but work on earlier versions.  This is SAS error  
FMXGUCBL       related to pre-V6 style user written functions where the 
Apr 21, 1994   SSI field has a min and max arguments of 0 and function  
Sep 21, 1994   is invoked with zero arguments, and may be fixed in SAS  
               future SAS maintenance (MXG Newsletter 26 said it was    
               fixed in TS410, but it wasn't and may not be fixed in    
               TS420 maintenance), but it is circumvented by changing:  
                SETSSI AF000000 to SETSSI AF010000                      
               For current status, see SAS usage note V6-SYS.SYS-09293. 
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt AG, GERMANY.                    
Change 12.014  NDM type FP causes INPUT STATEMENT EXCEEDED error.  Find 
VMACNDM          INPUT                 +8                               
Apr 18, 1994           NDMSCC      $CHAR4. /*CMD*COMPLETION*CODE*/      
               and remove the "+8" from the INPUT line.                 
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 12.013  MXG 11.11 addition of TYPE77 dataset to BUILDPDB/BUILDPD3
BUIL3001       (see Change 11.351) had two problems:                    
BUIL3518       - If you have added TYPE77 processing to your BUILDPDB,  
Apr 18, 1994     COPY OF THE FILE IS OPEN." occurs.  You must "unchange"
                 added TYPE77 processing by tailoring your site's PDB.  
                 your tailoring in members EXPDBINC,EXPDBVAR,EXPDBCDE   
                 and EXPDBOUT, removing the _VAR77, _CDE77, VMAC77, etc.
                 I'm sorry for this aggravation to those of you who had 
                 enhanced their PDB, but I had to add TYPE77 to the PDB 
                 so that ANALRMFR reports would not fail!               
               - JES3 PDB was not fully tested, and the changes for JES3
                 were incomplete, causing "DATASET TYPE77 NOT FOUND".   
                   In member BUIL3001, add VMAC77 to the INCLUDE list.  
                   In members BUIL3518 and BUIL3606, insert _VAR77 after
                   _VAR75, and insert _CDE77 after _CDE75.              
               -Revised Oct 19, 1994:  The actual change also relocated 
                the _CDE26J3 invocation in BUILD3606 and BUIL3518 to be 
                after the _CDE30 invocation, so that the length of the  
                ACCOUNTn variables is controlled by IMACACCT, but the   
                text did not indicate this change was also made.        
   Thanks to Jens Schlatter, Independent Consultant, GERMANY.           
   Thanks to Kenneth D. Jones, SHL Systemhouse, CANADA.                 
Change 12.012  SMF Simulator CISIZE analysis miscalculated 3380 tracks  
ANALSMF        and cylinders for CISIZE=26624.  Since that is clearly an
Apr 15, 1994   irrational size for 3380s, no real harm was done, but the
                "ELSE IF CISIZE=22528 OR CISIZE=26624 THEN DO;" block   
               was expanded into separate DO groups, one for each CISIZE
               and TRK3380=CEIL(CINUM/1); is calculated for 26624.      
   Thanks to George Janvrin, ITT Life Insurance Corporation.            
Change 12.011  CONTROL-D SMF record caused INPUT STATEMENT EXCEEDED ... 
VMACCTLD       because the semi-colon after the INPUT of JTYPE should   
Apr 14, 1994   have been an at-sign-semicolon.                          
   Thanks to Ms. TAN Siew Peng, United Overseas Bank, SINGAPORE.        
Change 12.010  Zero or too few observations in dataset NSPYLANS.  The   
EXNSPYLS       MXG logic (in the "Exit" member EXNSPYLS) that OUTPUTs   
Apr 13, 1994   only if there was activity recorded, did not test all of 
               the resource variables, and caused valid observations to 
               be not output.  These variables must be added to the list
               of variables in the SUM() function:                      
                 OF LLFRABK1-LLFRABK5,OF LLSERAL0-LLSERAL8,             
                 OF LLSERRS0-LLSERRS8,LSTSNOFB,LSTSNOFN,                
               Yes, it really is worth taking the sum of all of those   
               variables and only outputting when something is non-zero;
               you will waste lots of DASD space if you output every    
               segment in every record, but you can see for yourself by 
               removing the IF SUM(...) test completely and comparing   
               with the above enhanced test criteria.                   
               Note that other LANSPY datasets are also controlled in   
               their Exit members; see Change 9.165 in CHANGESS.        
   Thanks to Alan Wick, Chevron, USA.                                   
Change 12.009  IMS Log processing is incorrect.  For multiple trans per 
TYPEIMSA       program schedule, the one occurrence of NSMGPROC should  
Apr 13, 1994   have been spelled NMSGPROC.  The earlier text of this    
               change is revised; there are no outstanding problems with
               IMS Log processing except for the spelling error. See the
               IMS Technical Notes, above (or in Newsletter 26).        
   Thanks to Cary Jones, Phillip Morris, USA.                           
Change 12.008  Message "UNRECOGNIZED TPX VERSION TPXVER=202" deletes all
VMACTPX        TPX records; that version number was not expected. Insert
Apr 13, 1994   ELSE IF TPXVER='202 ' THEN TPXVER=' 2.0'; after the line 
               ELSE IF TPXVER='200 ' THEN TPXVER=' 2.0';                
               Variable TPXSNAME (Session Name) was also added to the   
               TPXAPLON dataset, and processing the 08 record no longer 
               tests for TPXVER but instead uses length of segment to   
               determine what data is present in each segment.          
   Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.                 
Change 12.007  Message "** WARNING LMS SMF RECORD TYPE ..." is created  
VMACLMS        in error, causing true LMS records to be flagged and then
Apr 13, 1994   deleted.  The test      IF ITISLMS NE 'LMS ' THEN DO;    
               must be changed to      IF ITISLMS NE: 'LMS' THEN DO;    
               because LMS2 is now stored instead of LMS in that 4-byte 
               field. (This was reported earlier and should have been   
               fixed in MXG 11.11, but I failed to make the change!).   
   Thanks to Doug Mayward, Walsh America, USA.                          
   Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.                 
Change 12.006  The SYNCTIME is incorrect in type 71, 73, 74, 76, 77, 78,
VMAC71         and 79 datasets (but was correct in type 70 and 72).  The
VMAC73         correct equation for the GMT offset must be:             
VMAC75         (the +10 was missing).                                   
Apr 12, 1994                                                            
   Thanks to Mike Skopec, Platinum Technology, USA.                     
Change 12.005  CICS Shutdown totals for report terminals column xaction,
ANALCISH       report transactions column restarts, and report programs 
Apr  9, 1994   column newcopy were wrong. Change all three occurrences  
               of T4=T5+...  to T4=T4+....                              
               ANALCISH can also fail with syntax errors, if there are  
               too many observations for the LSRPOOL SUMMARY, FILES, or 
               LSRPOOL FILE reports.  Those reports will be redesigned  
               in a future change; you can circumvent the error by      
               commenting out the %CICSTAT2 invocation for those three  
   Thanks to John Vasilakos, New York Life Insurance, USA.              
   Thanks to Kusol Voratanitkitkul, Blue Cross Blue Shield Ill, USA     
Change 12.004  Variable UMLEVEL must be added to the KEEPIN= list.  The 
DAILYDSN       migrated datasets are incorrectly reported as level 2 if 
Apr  5, 1994   this error is not corrected.                             
   Thanks to Steve Talley, U.S. Army Personnel Info Sys Command, USA.   
Change 12.003  ASTEX can create three SMF records; the comments now show
IMACDMON       how to define _DMONID if you create three different IDs: 
Mar 29, 1994     MACRO _DMONID 231 OR ID=232 OR ID=233 %                
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt AG, GERMANY.                    
Change 12.002  This is a major change to OPC support, and new JCL is now
JCLTEST6       required by this INCOMPATIBLE CHANGE.  See the complete  
VMACOPC        documentation and JCL example in member VMACOPC. The text
Mar 29, 1994   of this change was rewritten May 17, 1994                
Apr  9, 1994  -Type 24 physically split records are now supported, but  
May 17, 1994   two new DDNAMEs are required in your JCL, and DSN=OPCTEMP
               must have been previously allocated and cataloged:       
                 //OPCTEMPW DD DSN=OPCTEMP,DISP=SHR                     
                 //OPCTEMPR DD DSN=OPCTEMP,DISP=SHR                     
               I reconstruct those split records by writing them to the 
               OPCTEMPW DDNAME and then read the reconstructed records  
               from the OPCTEMPR DDNAME after the OPCLOG has been read. 
               New MT0 record type "G" caused INVALID MT0 RECORD error. 
              -Record type used to be an EBCDIC number, but now can be a
               character value; MXG's 11.11 fix to support the new type 
               "G" was incomplete:                                      
                 after the @; after the INPUT of MT0TYPE, insert line   
                 IF MT0TYPE=. THEN INPUT @47+OFFSMF MT0TYPE &PIB.1. @;  
              -Dataset OPC29 did not have all its observations:         
                 the semi-colon ";" that is after the INPUT of EXRSTPNR 
                 must be changed to an at-sign-semi-colon "@;".         
   Thanks to Randy Shumate, Mead Data Central, USA.                     
   Thanks to Waldemar Schneider, SAS Europe, GERMANY.                   
Change 12.001  Member ANALDSET in MXG 11.11 is in error.  ANALDSET lines
ANALBLSR         OR OPEN='OUTPUT'  should read   OR OPEN='OUTPUT' THEN  
ANALDSET         LSRSTAT='N';                    LSRSTAT='N';           
Mar 29, 1994   for ANALDSET to execute without error.  However, if you  
Apr  8, 1994   use ANALBLSR, it will fail because all of the variables  
               that are required by ANALBLSR were not kept in ANALDSET. 
               (The wrong ANALDSET member was moved after testing!).    
               To run ANALBLSR, you must first make these changes to    
               ANALDSET (you can also request a replacement ANALDSET on 
               a 3-1/2 "stiffie" PC diskette):                          
                - add COMPONT to KEEP= for TYPE64.TYPE64                
                - add EXCPDASD EXCPTAPE IOTMDASD IOTMTAPE to KEEP= for  
                - insert these lines after BUFNO=BUFDRNO;               
                      THEN BUFNO=ACBBUFNI;                              
                      0 THEN BUFNO=ACBBUFND;                            
                - add (IN=INTYP64) after SORT64.TYPE64 in the SET       
                  statement following DATA ADDPROG.ADDPROG;             
                - add EXCPDASZ EXCPTAPZ IOTMDASZ IOTMTAPZ to the        
                  RETAIN list following IF INSTP THEN DO;               
                - insert these four lines after TYPETASZ=TYPETASK;      
                - insert these four lines after TYPETASK=TYPETASZ;      
                - add EXCPDASZ EXCPTAPZ IOTMDASZ IOTMTAPZ to the DROP   
                  statement before PROC SORT DATA=DSETOPEN.DSETOPEN.... 
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
   Thanks to Neil Ervin, Huntington Service Company, USA.               
LASTCHANGE: Version 12