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

MXG CHANGES 14.14

=========================member=CHANGE14================================
 /* COPYRIGHT (C) 1984-1997 MERRILL CONSULTANTS DALLAS TEXAS USA */     
                                                                        
This is MXG Version 14.14 is dated Feb 21, 1997, thru Change 14.352.    
  Newsletter THIRTY-ONE  was dated Feb 21, 1997, thru Change 14.343     
2nd   MXG Version 14.11  was dated Feb  4, 1997, thru Change 14.324     
1st   MXG Version 14.11  was dated Feb  3, 1997, thru Change 14.323     
      MXG Version 14.10  was dated Jan 10, 1997, thru Change 14.299     
      MXG Version 14.09  was dated Dec 17, 1996, thru Change 14.295     
      MXG Version 14.08A was dated Nov 18, 1996, thru Change 14.275     
      MXG Version 14.08  was dated Nov 13, 1996, thru Change 14.271     
      MXG Version 14.07  was dated Sep 11, 1996, thru Change 14.221     
      Newsletter THIRTY  was dated Sep 10, 1996, thru Change 14.209     
early MXG Version 14.07  was dated Sep 10, 1996, thru Change 14.209     
      MXG Version 14.06  was dated Aug 20, 1996, thru Change 14.191     
      MXG Version 14.05  was dated Jul 15, 1996, thru Change 14.160     
      MXG Version 14.04  was dated Jun 13, 1996, thru Change 14.132     
      MXG Version 14.03  was dated May 27, 1996, thru Change 14.114     
      MXG Version 14.02  was dated Apr 25, 1996, thru Change 14.096     
      MXG Version 14.01  was dated Mar  7, 1996, thru Change 14.051     
      MXG Version 13.13  was dated Jan 20, 1996, thru Change 13.332     
      Newsletter TWENTY-NINE,  dtd Jan 20, 1995, thru Change 13.323     
                                                                        
                                                                        
Contents of member CHANGES:                                             
                                                                        
  0.  Table of contents of NEWSLETTER THIRTY-ONE (see member NEWSLTRS). 
  I.  MXG Software Version 14.14 Status.                                
      1. Announcing email, WWW.MXG.COM home page, and MXG-L LISTSERV.   
      2. MXG Software Version 14.14, dated Feb 21, 1997, was shipped.   
      3. What products are not yet supported?                           
  II.-X. Technical Notes are in Newsletter THIRTY-ONE.                  
  IX. Incompatibilities and Installation of MXG 14.14.                  
   X. Online Documentation of MXG Software.                             
  XI. Changes Log                                                       
                                                                        
                                                                        
                                                                        
  0.  Table of contents of NEWSLETTER THIRTY-ONE:                       
                                                                        
                                                                        
             MXG NEWSLETTER NUMBER THIRTY-ONE February 21, 1997         
                                                                        
Technical Newsletter for Users of MXG :  Merrill's Expanded Guide to CPE
                                                                        
                         TABLE OF CONTENTS                          Page
                                                                        
I.   MXG Software Version 14.14 was shipped with this newsletter.      2
 1. Announcing email, our www.MXG.com home page and the MXG-L LISTSERV 2
 2. MXG Software Version 14.14, dated Feb 21, 1997, was shipped.       2
II.  MXG Technical Notes                                               7
 1.   MXGTMNT's Tape Allocation Monitor logic at MAINTLEV 9.           7
 2.   If MONTHBLD fails due to NOTSORTED error due to skipped version. 7
III. MVS Technical Notes.                                              7
 1. APAR OW15356 now writes type 21 SMF records                        7
 2. APAR OW10686 corrects errors in counting I/Os in type 30 records   7
 3. MVS/XA type 30 subtype 2, 3, & 4 with hex zeros for JOB.           7
 4. Increased Logical Swaps becoming Physical Swaps with Goal Mode.    7
 5. Type 74 subtype 5 Cache record (TYPE74CA) has duplicates.          7
 6. APAR OW23225 EXCP counts zero in TYPE30 for VSAM RLS datasets.     8
 7. Boole & Babbage CMF 5.2 creates type 72 with STARTIME 1 sec off.   8
 8. APAR OW23872 for 3590 Model A00 Control Unit serial number wrong.  8
 9. APAR OW23814 documents errors in DCOLLECT type A DCAFLAG1.         8
10. Media Manager EXCP counting for DB2 VSAM in 30 and 72s.            8
11. TCP/IP SMF records with invalid data for FTPCLIENT.                8
12. Type 6 CA-DISPATCH non-matching READTIME values.                   8
13. Slow TSO Logon duration due to massive STEPLIBs.                   8
14. Type 42 records were enhanced by APAR OW20866 (DCME enhancements). 9
IV.  DB2 Technical Notes.                                              9
 1. Where have all the DB2 buffer pools data gone?                     9
 2. Number of observations in DB2ACCT no longer counts plans.         10
V.   IMS Technical Notes.                                             10
 1. Boole & Babbage IMF had negative values for RESPTM                10
 2. Boole & Babbage IMF caused 10% increase in CPU time in MVS 5.2.2. 10
VI.  SAS Technical Notes.                                             10
 1. SAS USER ABEND 318 with SAS 6.08 at TS425 with 4-digit UCB.       10
 2. SAS note 8243: SAS data libs cannot be hdw compress or striped.   10
 3. IBM APAR OW14045 causes SYNCSORT to ABEND with 0C4 under SAS.     10
 4. SAS Usage Note 5637 (from 1992) - how to ftp V VB VBS files.      10
 5. If you use the FILE command from a Display Manager Session.       11
 6. Algorithm to count the number of bits that are on in a bit flag.  11
VII. CICS Technical Notes.                                            11
 1.  APAR PN70228 has extensive discussion of Short on Storage.       11
VIII.Windows NT Technical Notes.                                      11
 1. MXG Support for Windows NT with Demand Technology's NTSMF-WHY?    11
 2. So what is NTSMF and what measures do you get from NT registry?   12
IX.  Incompatibilities and Installation of MXG 14.14.                 20
X.   Online Documentation of MXG Software.                            21
XI.  Changes Log                                                      23
     Alphabetical list of important changes                           23
     Changes 14.343 thru 14.210                                    26-48
                                                                        
      COPYRIGHT (C) 1997 MERRILL CONSULTANTS DALLAS TEXAS USA           
                                                                        
I. MXG Software Version Status.                                         
                                                                        
 1. Announcing email, our WWW.MXG.COM home page, and the MXG-L LISTSERV.
                                                                        
    My new email address is BARRY@MXG.COM (replacing mxg@e-mail.com), an
    administrative matters can be sent to ADMIN@MXG.COM, or can be faxed
                                                                        
    I have, to some extent, embraced email, especially for receiving SMF
    data and for sending new members to beta sites for new support tests
    and I do try to check my email once a day.  I still find that fax is
    often faster (I check it much more frequently as it is beside the   
    coffee pot!) but for hex dumps, the virtues of email over fax are   
    both its legibility, and its machine readability for searching.     
    If it is really critical, email the information, fax a reminder for 
    me to logon, and call me to remind me to look at the fax machine!   
                                                                        
    I still prefer to answer technical questions by phone whenever I can
                                                                        
    Our home page has been operational since November 1996, and it has  
    the up-to-date status of the current MXG version.  (MXG 14.14 is the
    15th release since MXG 13.13, the last annual version).  On the home
    page you will find these members from the current version: CHANGES  
    (status of what MXG version you need for what), YEAR2000 (status of 
    other vendor's fixes), CHANGESS (all changes to all MXG versions),  
    and NEWSLTRS (text of all MXG newsletters). While the Annual Softwar
    Version and Newsletter shipment sent in First Quarter, and the Summe
    Newsletter sent in Third Quarter are still the primary MXG formal   
    communications, more current information is always on the home page.
                                                                        
    Instructions on how to subscribe to the MXG-L LISTSERV, an e-mailing
    list, are also on our home page.  When you subscribe, any e-mail    
    sent to MXG-L will be rebroadcast to all subscribers.  All MXG-L    
    notes are viewable in the MXG-L Archive, and you do not need to be  
    a subscriber to view the archive.  MXG-L is intended as a forum for 
    technical questions among MXG users.  It is not moderated, but is   
    monitored.  It also provides me with an easy way to let you know    
    there is something worthwhile that has changed; for example, I email
    to the MXG-L list when there is a new MXG version available.        
                                                                        
                                                                        
 2. MXG Software Version 14.14, dated Feb 21, 1997, was shipped to your 
    site with this Newsletter.                                          
                                                                        
   Major enhancements added in MXG 14.14 dated Feb 21, 1997:            
                                                                        
   MXG is now distributed as an unnumbered dataset.                     
   MXG now converts DB2 GMT times to Local (Check you Exit Tailoring)   
   Support for OS/390 Version 1 Release 3 (Compatible)                  
   Support for APAF Version 3.                                          
   Support for NPM APAR OW17875 type 28 new subtype 2Ax.                
   Support for Landmark's The Monitor for CICS/ESA 1.5 (easy - no change
   New ASUMUOW to combine CICSTRAN and DB2ACCT by unit of work.         
   PROCSRCE member is "Proc Source" for ASCII SAS.                      
   DB2GBPST dataset is now deaccumulated and usable.                    
                                                                        
   Major enhancements added in MXG 14.11 dated Feb 3, 1997:             
                                                                        
   NTSMF support for 3.51, more data sets verified, record protects.    
   Support for new Type 42 subtype 19 and changed subtypes 15-18.       
   MXG Tape Mount and Tape Allocation Monitor ML11 in ASMTAPES          
   Coupling Facility Structure Data TYPE74ST enhancements.              
   DB2 GMT times now converted to local - see INCOMPATIBILTY SECTION.   
   MXGSAS JCL Procedure finally corrected!                              
                                                                        
   Major enhancements added in MXG 14.10 dated Jan 10, 1997:            
                                                                        
   Windows NT support using NTSMF significantly enhanced and documented.
    See "Windows NT Technical Notes" or member ADOCNTSM.                
                                                                        
   Major enhancements added in MXG 14.09 dated Dec 17, 1996:            
                                                                        
   Support for Demand Technology's NTSMF "SMF for Windows NT" product.  
   Support for Demand Technology's Stress Test product's SMF record.    
   Support for IBM VTAM Session Management Exit's SMF record            
                                                                        
   Major enhancements added in MXG 14.08A dated Nov 18, 1996:           
                                                                        
   Correction to VMAC74 INVALID DATA message for R744FCTM,FCSQ.         
                                                                        
   Major enhancements added in MXG 14.08 dated Nov 13, 1996:            
                                                                        
   Support for OS/400,AS/400 Release 3.7.0 and Release 3.6.0.           
   Support for CA's ENDEAVOR SMF record.                                
   Support for APAR OW22209,OW25262 bytes read/written.                 
   Support for HP's Measureware for AIX.                                
   Support for Applied Software's SUPER IND$FILE SMF.                   
   Support for Oracle Release 7.2.3 SMF record.                         
   Support for RACF 2.1 IRRDBU00 unload utility.                        
   Petabytes now formatted. (1024 Terabytes=1 Petabyte).                
   The TAILORNG= JCL parameter causes JCL error.                        
   Support for RMF type 74 subtype 100 IRLM long locks.                 
   Support for Interlink's Harbor 4.1 SMF record                        
   Support for RSD's EOS SMF record (INCOMPATIBLE, not in 14.07).       
   Support for Boole and Babbage's PRO/SMS SMF Recovery Record.         
                                                                        
   Major enhancements added in MXG 14.07 dated Sep 11, 1996:            
                                                                        
   Support for Desktalk's TRENDSNMP IFENTRY SNMP data.                  
   Support for Candle's Omegamon for SMS V150 (no change!).             
   CICS 4.1+ incorrect MCTMNTAD GMT offset circumvented.                
   CICINTRV variable A02TTS missing in CICEODRV                         
   BUILDPDB now asserts SORTEDBY= for PDB.JOBS/STEPS/PRINT/SMFINTRV     
   Beta Test of MXG DASD Allocation Monitor in ASMDALO/TYPEDALO.        
   New utility UTILCONT (Contents of SAS library, sizes in Megabytes).  
                                                                        
   Major enhancements in early MXG 14.07 shown in MXG Newsletter THIRTY:
                                                                        
   Support for CICS/ESA 5.1.0 aka Transaction Server (INCOMPATIBLE)     
   Support for TMON/DB2 Version 3 (INCOMPATIBLE).                       
   Support for Boole and Babbage's PRO/SMS SMF Message Record.          
                                                                        
   Major enhancements added in MXG 14.06 dated Aug 20, 1996:            
                                                                        
   Support for CONTROL-T from New Dimension Software.                   
   Support for Omegamon/VTAM V200 (INCOMPATIBLE).                       
   Support for MODEL204 Release 3.2.1 (INCOMPATIBLE).                   
   Support for SoftAudit Version 5.1 (INCOMPATIBLE).                    
   Support for APAR OW15406 for RMF adds support for Year 2000.         
   Support for Tandem Controller and Line records added.                
   Sample code to read Network General's Sniffer Network Monitor data.  
   VM Print sent to JES2 is now merged in PDB.JOBS.                     
   BUILDPD3 now sums JES3 type 25 MDS Tape Mounts/Fetches.              
   More RACF Reports for Command Events decoded by TYPE80A.             
   DB2 4.1 DB2STATS interval lost due to QWHSISEQ skipped values.       
   CICINTRV restored to pre-14.04 version, fixed for CICS 4.1.          
   Redesigned TRNDTALO to "SPIN" active allocations.                    
   SMF Simulator (ANALSMF) now tests a CISIZE of 18432 for 3390s.       
                                                                        
   Major enhancements added in MXG 14.05 dated Jul 15, 1996:            
                                                                        
   Support for OS/390 Version 1 Release 2 (COMPATIBLE).                 
     MXG 13.13 and later tolerate OS/390 Release 2, but to capture      
     the several new variables and new subtypes of type 74 and 89,      
     you must install MXG 14.05 or later.                               
   Support for SMF type 89 subtype 2 (Measured Usage Product Summary).  
   Support for DB2 trace data written to GTF instead of SMF.            
   Support for HP MeasureWare for HP-UX platform                        
   Support for RDS's EOS Enterprise Output Solution                     
   Support for Landmark TMON/MVS spanned records.                       
   Support for RMF type 74 subtype 5 Cache RMF Reporter.                
   Support for Anacomp, Inc's XSTAR product's SMF record                
   Support for DFSORT Release 13 APAR PN71337.                          
   New JCLADHOC example of MXG ad hoc job to select specific data.      
   Revised MXGSAS JCL procedure adds TAILORNG= symbolic parameter.      
   New DB2 trace datasets to hold all SQL text are created.             
   MXG JCL examples now specify REGION=0M                               
   VMXGTAPE utility macro to determine if lib/dsn is on tape.           
   UDEBLOCK utility to create valid RECFM=U on MVS from PC data.        
   ASMIMSLG/ASMIMSL5 SLOTS table was moved above the 16MB line.         
                                                                        
   Major enhancements added in MXG 14.04 dated Jun 15, 1996:            
                                                                        
   Support for ASTEX 2.1 (INCOMPATIBLE)                                 
   Support for NDM 1.4 (compatible) new variables                       
   Support for IMS APAR PN76410 (INCOMPATIBLE) for ASMIMSLG processing. 
   Support for APAR PN78083 to SMF type 42 (ADSM) required no change.   
   Enhanced CICINTRV was installed as default (but removed in 14.06).   
                                                                        
   Major enhancements added in MXG 14.03 dated May 27, 1996:            
                                                                        
   Support for RACF 1.10 (compatible) - toleration of new records.      
   Support for NETSPY Release 4.7.                                      
   Support (partial) for AS/400,OS/400 Release 3.6 (INCOMPATIBLE).      
   Support for Thruput Manager #V041238 (INCOMPATIBLE).                 
   All datetime constants '01JAN00:...' were changed to '01JAN1900:....'
   Corrections to errors that were only in MXG 14.02:                   
     DIFFDB2  14.108  BY VARIABLES ARE NOT PROPERLY SORTED DB2STATR     
     TYPE37   14.107  INPUT STATEMENT EXCEEDED ID=37                    
     TYPE72   14.102  INPUT STATEMENT EXCEEDED ID=72                    
     TYPENSPY 14.097  Zero obs in NSPYLU.                               
                                                                        
   Major enhancements added in MXG 14.02 dated April 25, 1996:          
                                                                        
    ASMTAPES MAINTLEV 9, monitor no longer quits writing, TMNT013I msg. 
    Support for IBM's Cache RMF Reporter CRR Version 1.7.               
    Support for Netview FTP (File Transfer) SMF subtype 51x record.     
    Support for second length STK HSC Subtype 08 record.                
    Support for Shared Page Groups statistics in TYPE71.                
    Support for STK's NearOAM user SMF record.                          
    Support for IBM's RMDS Version 2.2 (no change).                     
    Support for NPM APARs OW08565/OW10584 for 3746/900.                 
                                                                        
   Major enhancements added in MXG 14.01 dated March 7, 1996:           
                                                                        
    Support for OS/390 Release 1.1.0 (already in MXG 13.13).            
    Support for FACOM MSPE/EX PTF 93061 ID=127 SMF record.              
    Support for SMF type 6's ESS segment added and externalized.        
    MAINTLEV 8 of the MXG Tape Mount and Tape Allocation Monitor        
    INPUT EXCEEDED for NETSPY 4.6, type A record.                       
    INPUT EXCEEDED for STK HSC subtype 8 record corrected.              
    INPUT EXCEEDED for DB2 4.1 type 101 subtype 2 (packages).           
    INPUT EXCEEDED for DFSMS/rmm type "O" record.                       
    INPUT EXCEEDED for EREP type '40'X record.                          
    INPUT EXCEEDED for PSF 6 SMF, PSF wrote truncated record.           
    INPUT EXCEEDED for VSAM 64 SMF, CF Cache Structure segment.         
    NOTSORTED error for PDB.CICS in WEEKBLD, WEEKBLDT, and MONTHBLD.    
    ASMVTOC failed to assemble.                                         
    INVALID DATA FOR HH,MM,SS with SAMS SMF record.                     
    VARIABLE SYSTEM uninitialized in ASMIMSLG processing.               
    Hipercache SMF record values for VSAM segment wrong.                
    NDM/Connect Direct timestamps missing, data wrong.                  
    TLMS dates were not decoded correctly.                              
    NPM dataset NPMVSVVR variables were trashed.                        
                                                                        
  All of these enhancements are described in the Change Log, below.     
                                                                        
    Availability dates for the IBM products and MXG version required:   
                                                                        
                                       Availability     MXG Version     
      Product Name                     Date              Required       
                                                                        
      MVS/ESA 4.1                      Oct 26, 1990.        8.8         
      MVS/ESA 4.2                      Mar 29, 1991.        9.9         
      MVS/ESA 4.2.2                    Aug     1991.        9.9         
      MVS/ESA 4.3                      Mar 23  1993.       10.10        
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02        
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01        
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05        
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09        
      OS/390  1.1.0                    Feb 22, 1996        14.01        
      OS/390  1.2.0                    Sep 30  1996        14.05        
      OS/390  1.3.0                    Mar 28  1997        14.14        
      CICS/ESA 3.2                     Jun 28, 1991.        9.9         
      CICS/ESA 3.3                     Mar 28, 1992.       10.01        
      CICS/ESA 4.1                     Oct 27, 1994.       13.09        
      CICS/ESA 5.1                     Sep 10, 1996        14.07        
      CRR 1.6                          Jun 24, 1994.       12.02        
      CRR 1.7                          Apr 25, 1996.       14.02        
      DB2 2.3.0                        Oct 28, 1991.       10.01        
      DB2 3.1.0                        Dec 17, 1993.       13.02A       
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07        
      DB2 4.1.0 Full support           Nov  7, 1995        14.07        
      DB2 5.1.0                        ??? ??, 1997        ??.??        
      DFSMS/MVS 1.1                    Mar 13, 1993.       11.11        
      DFSMS/MVS 1.2                    Jun 24, 1994.       12.02        
      DFSMS/MVS 1.3                    Dec 29, 1995.       13.09        
      MQM 1.2, 1.3, 1.4                Apr 25, 1996.       14.02        
      NETVIEW 3.1 type 37              ??? ??, 1996.       14.03        
      NPM 2.0                          Dec 17, 1993.       12.03        
      NPM 2.2                          Aug 29, 1994.       12.05        
      NPM 2.3, 2.4                     ??? ??, 1996.       14.03        
      RMDS 2.1, 2.2                    Dec 12, 1995.       12.12        
      TCP/IP 3.1                       Jun 12, 1995.       12.12        
      VM/ESA  2.0                      Dec 23, 1992.       10.04        
      VM/ESA  2.1                      Jun 27, 1993.       12.02        
      VM/ESA  2.2                      Nov 22, 1994.       12.06        
      IMS     4.1                      Jul  4, 1994        12.02        
      IMS     5.1                      Jun  9, 1996        14.05        
                                                                        
    Availability dates for non-IBM products and MXG version required:   
                                                                        
                                       Availability     MXG Version     
      Product Name                     Date or Change    Required       
                                                                        
      Demand Technology                                                 
       NTSMF Version 1 Beta                                14.11        
      Landmark                                                          
       The Monitor for DB2 Version 3                       14.07        
       The Monitor for DB2 Version 2                       13.06        
       The Monitor for CICS/ESA 1.2 -                      12.12        
       The Monitor for CICS/ESA 1.3 -                      12.12A       
       The Monitor for MVS/ESA 1.3  -                      12.05        
       The Monitor for MVS/ESA 1.5  -                      12.05        
       The Monitor for MVS/ESA 2.0  -                      15.??        
      Candle                                                            
       Omegamon for CICS V300 User SMF                     12.05        
       Omegamon for CICS V400 User SMF                     13.06        
       Omegamon for IMS V110 (ITRF)                        12.12        
       Omegamon for IMS V300 (ITRF)                        14.04        
       Omegamon for MVS  V300               13.170         13.05        
       Omegamon for MVS  V400               13.201         13.06        
       Omegamon for DB2 Version 2.1/2.2                    13.05        
       Omegamon for VTAM V160                              12.04A       
       Omegamon for SMS V100/V110                          12.03        
      CA                                                                
       ASTEX 2.1                                           14.04        
      Boole & Babbage                                                   
       IMF 3.1 (for IMS 5.1)                               12.12        
      Memorex/Telex                                                     
       LMS 3.1                                             12.12A       
                                                                        
 3. What products are not yet supported?                                
                                                                        
   a. Support for Landmark's Performance Works for Unix, a replacement  
      for their earlier The Monitor for Unix (that was supported by MXG 
      TYPETUX) is in development (although Landmark still has not been  
      able to provide documentaion, users have!) and may be partially   
      complete in the actual MXG 14.14 version.                         
                                                                        
   b. Landmark's The Monitor for CICS/ESA Version 2 will be relased this
      spring, but the documentation and test data had not yet arrived.  
                                                                        
   c. Enhancements to ASMRMFV (work on ASMTAPES ML 12 pre-empted) are   
      now hoped for second quarter.                                     
                                                                        
 4.   What's planned for the near future?                               
                                                                        
   a. Documentation revision.  MXG 14.14 has support for just about ever
      new product's version that anyone has asked for, so finally I can 
      return to updating the ACHAP and ADOC documentation members!      
                                                                        
IX.   Incompatibilities and Installation of MXG 14.14.                  
                                                                        
 1. Incompatibilities introduced in MXG 14.14 (since MXG 13.13):        
                                                                        
  a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
     must refit your tailoring, starting with the new IMAC member):     
       IMACCIMS - For Boole & Babbage IMF - See Change 14.152.          
                                                                        
  b- Other incompatibility changes:                                     
     - Dataset TYPE116 (MQM) variable QWHCATYP replaced by QWHCXTYP.    
     - With OS/390 R2, IBM CRR product (dataset CACHE90 from VMACACHE)  
        becomes dataset TYPE74CA from VMAC74. See TYPE74CA in MVS Tech  
        Notes.                                                          
     - MXG now converts DB2 time stamps (like QWACBSC,QWACESC,QWHSSTCK) 
       from GMT to local, but if you did that already in EXDB2ACC for   
       DB2ACCT, you must remove your conversion code and let MXG do it. 
                                                                        
  c- These products were incompatibly changed by their vendor, and they 
     require MXG 14.xx as indicated:                                    
       See products listed as INCOMPATIBLE in Section I, Enhancements.  
                                                                        
 2. Installation and re-installation procedures are described in detail 
    in member INSTALL (which also lists common Error/Warning messages a 
    new user might encounter), and sample JCL is in member JCLINSTL:    
    Summary:                                                            
     a. Install member MXGSAS as JCL Procedure MXGSAS in your PROCLIB.  
     b. Allocate a 105-cyl PDS: MXG.V1414.MXG.SOURCLIB, and use IEBUPDTE
        to read the MXG tape to create the 2955+ member Source Library. 
     c. Allocate a 1-cyl PDS:  MXG.V1414.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 V1414.USERID.SOURCLIB.                      
     d. Allocate a 1-cyl SAS Data Library:  MXG.V1414.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.V1414.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.V1414.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.V1414.USERID.SOURCLIB, then you must reinstall your site's  
        tailoring for that IMAC, starting with the IMAC member from the 
        MXG 14.14 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 14.14 in its own set of libraries. When 
     parallel testing is complete and are ready to implement MXG 14.14  
     in production, rename your three current MXG Production Libraries  
     (MXG.MXG.SOURCLIB, MXG.USERID.SOURCLIB, and MXG.MXG.FORMATS) to    
     (MXG.BACK.MXG.SOURCLIB, MXG.BACK.USERID.SOURCLIB, MXG.BACK.MXG....)
     and rename the MXG.V1414.x.y libraries to their Production names!  
                                                                        
     Again, detailed installation instructions are in member INSTALL    
                                                                        
Always read comments in the CHANGES member for compatibility issues, as 
well as for any last minute changes.                                    
                                                                        
Whenever you install changes or test a new version of MXG (or even your 
own reports), be extra careful to look on the SAS log for any real error
conditions.  Search for all occurrences of "ERROR:", "ERROR :", " NOT " 
"UNINITIALIZED", "TRUNCATED", "NEVER BEEN", "NOT FOUND", "CONVERT",     
"APPARENT", and "NOT CATLGD", as they usually indicate a serious error. 
                                                                        
A PROC PRINT and a PROC MEANS of each new MXG-built SAS dataset can help
you to understand their contents, and should be used to examine any     
unusually large, negative, or suspicious values.  Print all variables in
the dataset, and read the variable's descriptions in its ADOC member.   
                                                                        
X.    Online Documentation of MXG Software.                             
                                                                        
Since 1994, 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.                                        
                                                                        
XI.   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 than 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 between MXG 13.13 and MXG 14.14: 
                                                                        
  Dataset/                                                              
  Member   Change    Description                                        
                                                                        
  many     14.019  Support for OS/390 Release 1.0 already in MXG 13.13! 
  many     14.158  Support for OS/390 Release 2.0 tolerate by MXG 13.13!
  many     14.318  Support for OS/390 Release 3 (Compatible).           
  many     14.320  MXG is now distributed as a unnumbered dataset.      
  ANALCNCR 14.162  FILE WORK.SPLIT DOES NOT EXIST corrected.            
  ANALCNCR 14.175  Specifying both output dataset and reports failed.   
  ANALDB2R 14.022  DB2 report PMAUD03, if PDB is on tape, will fail.    
  ANALDB2R 14.073  VARIABLE QWHSIID NOT FOUND corrected in DB2 reports. 
  ANALDB2R 14.286  DB2 Buffer statistics, Acct Detail, missed BP 1 & 2. 
  ANALDSET 14.064  Using Tape instead of DASD for ANALDSET fails.       
  ANALDB2R 14.340  DB2 4.1 Reporting for Buffer Pools and Packages.     
  ANALSMF  14.178  SMF Simulator now tests a CISIZE of 18432 for 3390s. 
  ASMDALO  14.222  Beta ASM failed due to careless changes.             
  ASMIMSL5 14.129  Support for IMS 5.1 APAR PN76410 (INCOMPATIBLE)      
  ASMIMSLG 14.148  SLOTS table moved above the 16MB line.               
  ASMTAPES 14.037  MAINTLEV 8 of MXG Tape Mount and Allocation Monitor. 
  ASMTAPES 14.086  MAINTLEV 9, monitor does not stop, new TMNT013I.     
  ASMTAPES 14.322  ML11 of the Tape Mount/Allocation monitor.  No SRB!  
  ASMTAPES 14.351  ML 12 of MXGTMNT included in MXG 14.14.              
  ASMVTOC  14.003  Archaic assembly member was wrong on MXG 13.13       
  ASUM70PR 14.319  ASUM70PR LPAR data LPnCAP and LPnSHARE new variables.
  ASUMAPAF 14.062  SORT ORDER error if you increase number of domains.  
  ASUMDB2R 14.287  NUMPLANS now counts only DB2PARTY='S', ='O'.         
  ASUMUOW  14.343  New ASUMUOW for CICS MRO and DB2 Unit of Work merge. 
  BUILDPD3 14.169  JES3 type 25 MDS Tape Mounts/Fetches in BUILDPD3.    
  BUILDPDB 14.185  VM Print sent to JES2 is now merged in PDB.JOBS.     
  BUILDPDB 14.210  SORTEDBY= asserted for PDB.JOBS/STEPS/PRINT/SMFINTRV 
  BUILDPDB 14.245  Duplicate data protection for additional datasets.   
  CICINTRV 14.188  Old CICINTRV replaced CICINTRZ, fixed for CICS 4.1.  
  CICINTRV 14.211  CICS 4.1+ variable A02TTA missing in CICEODRV.       
  CICINTRV 14.352  Revised "CICINTRZ" logic now replaced CICINTRV.      
  DIFFDB2  14.167  DB2 4.1 DB2STATS interval missing due to QWHSISEQ.   
  DIFFDB2  14.194  Extra obs in DB2STATB/DB2STATR, negative SEQCHECK.   
  DIFFDB2  14.231  SEQCHECK logic in Change 14.267 was incorrect.       
  FORMATS  14.255  Petabytes now formatted. (1000 Terabytes=1 Petabyte).
  IHDRDCOL 14.027  First of new "IHDRyyyy" - "INFILE header" exits.     
  IMAC6ESS 14.036  Decoding of SMF type 6 ESS segment is added.         
  IMACEXCL 14.024  CICS Excluded Field support enhanced for multiples.  
  IMACICOC 14.123  Omegamon for CICS OMSUPRTM/OMDCOMTM incorrect.       
  IMACICOC 14.272  SAP Umbrella Trans Program/Tranname in OMUMBUSR/BPTC.
  JCLADHOC 14.140  New example for ad hoc job to select specific data.  
  JCLTMON  14.012  Example JCL for Landmark's The Monitor for CICS.     
  JCLall   14.147  All MXG JCL examples now specify REGION=0M.          
  MONTHBLD 14.010  NOTSORTED error with ASUMCICS in monthly logic.      
  MXGSAS   14.140  Revised MXGSAS JCL procedure adds TAILORNG= parm.    
  MXGSAS   14.239  The TAILORNG= JCL parameter causes JCL error.        
  MXGSAS   14.304  TAILORNG symbolic finally corrected in MXGSAS JCL.   
  PROCSRCE 14.332  New member PROCSRCE is "Proc Source" for ASCII SAS.  
  TRNDTALO 14.130  INVALID DO LOOP error if ALOCSTRT=. or ALOCEND=.;    
  TRNDTALO 14.176  Redesign of TRNDTALO to "SPIN" active allocations.   
  TYPE102  14.047  DB2 Trace T102S096 vars QW0096SN,SC,SK corrected.    
  TYPE102  14.138  New datasets with all SQL text added for DB2 trace.  
  TYPE102  14.206  Dataset T102S231 corrected.                          
  TYPE102  14.311  MXG now converts DB2 GMT time stamps to local.       
  TYPE110  14.089  Support for PN69653 (YYYY digit year in COLLTIME).   
  TYPE110  14.106  Variables MCTMNTAD/SMFPSRVR added to CICSEXCE.       
  TYPE110  14.184  CICSTRAN variable TRANTYPE increased to two bytes.   
  TYPE110  14.209  Support for CICS/ESA 5.1.0 (INCOMPATIBLE).           
  TYPE110  14.212  CICS 4.1+ incorrect MCTMNTAD GMT offset circumvented.
  TYPE116  14.087  Variable QWHCATYP was INCOMPATIBLY renamed QWHCXTYP. 
  TYPE16   14.150  Support for DFSORT Release 13 APAR PN71337.          
  TYPE21   14.256  Support for APAR OW22209, bytes read/written.        
  TYPE26J2 14.303  INREASON wrong for LnnnnJRm syntax for JES2 INDEVICE.
  TYPE28   14.023  Some NPM VVR (VTAM Virtual Route) variables trashed. 
  TYPE28   14.065  NPM APARs OW08565 and OW10584 for 3746/900 supported.
  TYPE28   14.335  Support for NPM APAR OW17875 added new subtype 2Ax.  
  TYPE30   14.099  Auto Restart section INPUTs were incorrect.          
  TYPE30   14.172  Variable EXECTM in TYPE30_V wrong if only subtype 3. 
  TYPE37   14.213  Support for NETVIEW 3.1 type 37 changes.             
  TYPE42   14.063  DASDMPL 1000 times too large in TYPE42DS.            
  TYPE42   14.131  Support for APAR PN78083 required no change to MXG.  
  TYPE42   14.309  Support for type 42 new subtype 19 + enhancements.   
  TYPE6    14.009  Truncated PSF type 6 record INPUT STATEMENT EXCEEDED 
  TYPE6156 14.242  Truncated catalog cell=04 caused STOPOVER.           
  TYPE64   14.004  INPUT STATEMENT EXCEEDED, CF Cache Structure segment.
  TYPE7072 14.051  ELAPSTM added to TYPE72GO, and RMFINTRV for WLM.     
  TYPE7072 14.059  TYPE72GO variable VALDSAMP and delay PCTs wrong.     
  TYPE7072 14.180  Variable PERFINDX now created in TYPE72GO.           
  TYPE71   14.058  Support for Shared Page Groups added.                
  TYPE71   14.302  New Shared Paging variables were still wrong.        
  TYPE72   14.085  MVS/ESA 5.2.2 variables overlooked in TYPE72GO.      
  TYPE72   14.254  TYPE72GO vars R723CSCR,CSPA,CSPE were still wrong.   
  TYPE73   14.164  APAR OW15406 for RMF adds support for Year 2000.     
  TYPE74   14.085  MVS/ESA 5.2.2 variables overlooked in TYPE74OM.      
  TYPE74   14.152  Support for type 74 subtype 5 Cache RMF Reporter.    
  TYPE74   14.236  Support for RMF type 74 subtype 100 IRLM long locks. 
  TYPE74   14.291  Coupling Facility Structure Data PTF UW90312.        
  TYPE74   14.328  R744SSIZ is in 4000, not 4096 units.                 
  TYPE78   14.121  Variable PCTALLBY, LCUIORT added to TYPE78CU dataset.
  TYPE78   14.166  ARRAY statement changed to _TEMPORARY_ to save CPU.  
  TYPE80   14.070  Support for IBM APAR OW19251 (RACF year 2000).       
  TYPE80   14.114  Support for RACF 1.10 (toleration).                  
  TYPE80A  14.170  More RACF Reports for Command Events decoded.        
  TYPE80A  14.252  Invalid RACFTYPE=03 segment caused STOPOVER.         
  TYPE88   14.066  INPUT STATEMENT EXCEEDED corrected.                  
  TYPE89   14.158  Support for Subtype 2 (Measured Usage Product Sumry).
  TYPE89   14.233  TYPE89 variable MULCURD wrong for Batch Pipes.       
  TYPE99   14.069  TYPE99_2 now has obs for each period vice just first.
  TYPEAPAF 14.307  Support for APAF Millennium subtypes 31 and 32.      
  TYPEAPAF 14.330  Amdahl APAF Version 3.0 records have been validated. 
  TYPEBETA 14.050  INVALID DATA FOR BETASTRT and BETAEND with 1.6.5.    
  TYPEBETA 14.084  INPUT STATEMENT EXCEEDED for SUBTYPE=41.             
  TYPECACH 14.093  Support for IBM's Cache RMF Reporter CRR 1.7         
  TYPECIMS 14.312  IMF flags in DBD section were not reset.             
  TYPECMF  14.033  MXG now recognizes 3990 model 6 in CMF user SMF.     
  TYPEDALO 14.215  Beta Version of MXG DASD Allocation Monitor          
  TYPEDB2  14.011  DB2 4.1 type 101 subtype 1 INPUT STATEMENT EXCEEDED. 
  TYPEDB2  14.044  Protection for truncated DB2 record.                 
  TYPEDB2  14.071  Dataset DB2STATB now always has observations.        
  TYPEDB2  14.105  QWSDLR length 8, QWSCIID corruption corrected.       
  TYPEDB2  14.174  VMACDB2 ERROR ... QWHSIID=230 UNEXPECTED fixed.      
  TYPEDB2  14.195  DB2STATR, DB2 remote counts, corrected.              
  TYPEDB2  14.208  Datasets DB2GBPST and DB2GBPAT all BP now output.    
  TYPEDB2  14.217  DB2ACCT variables QTGA, QBGA trashed.                
  TYPEDB2  14.226  DB2 Group Buffer Pool DB2GBPST repeats first segment.
  TYPEDB2  14.310  DB2GBPST dataset now deaccumulated and usable.       
  TYPEDB2  14.311  MXG now converts DB2 GMT time stamps to local.       
  TYPEDMON 14.125  Support for ASTEX 2.1 (INCOMPATIBLE).                
  TYPEEDGS 14.029  DFSMS/rmm type "O" INPUT STATEMENT EXCEEDED RECORD.  
  TYPEEDGS 14.289  DF/SMS Rmm records type V caused error.              
  TYPEEDGS 14.297  Variables MVxxxx now input from type "V" record.     
  TYPEEREP 14.021  INPUT STATEMENT EXCEEDED with EREP CLASRC='40'X.     
  TYPEF127 14.032  Support for FACOM MSPE/EX PTF 93061 for ID=127 SMF.  
  TYPEFTP  14.054  Support for FTP subtype 51x SMF record.              
  TYPEHARB 14.229  Support for Interlink's Harbor 4.1 SMF record        
  TYPEHIPR 14.015  Hipercache VSAM buffer field wrong in MXG 13.13.     
  TYPEHMF  14.316  HMF subtype 5 with 1 segment INPUT EXCEEDED error.   
  TYPEHSM  14.052  Short HSM ABARS FSRTYPE=15 INPUT STATEMENT EXCEEDED. 
  TYPEHSM  14.232  FRSTVOLS CAN CONTAIN ONLY 30 BYTES written in error. 
  TYPEHURN 14.230  No obs in HURN47 if no external segments.            
  TYPEIDMS 14.238  Archaic IDMS 10.2.1 caused STOPOVER.                 
  TYPEIMS  14.030  Early testing IMS log records for IMS 5.1            
  TYPEIMSA 14.017  VARIABLE SYSTEM IS UNINITIALIZED with ASMIMSLG.      
  TYPEIMSA 14.244  SAP variables SAPTIMTR, SAPCPUT, SAPELTI wrong.      
  TYPEIPAC 14.240  INVALID ARGUMENT TO FUNCTION MDY, dates not MMDDYY.  
  TYPEM204 14.171  Support for MODEL204 Release 3.2.1 (INCOMPATIBLE).   
  TYPEMOVT 14.168  Support for Omegmaon/VTAM V200 (INCOMPATIBLE).       
  TYPEMWAI 14.249  Support for HP's Measureware for AIX.                
  TYPEMWUX 14.134  Support for HP MeasureWare for HP-UX platform.       
  TYPENDM  14.034  NDM or Connect Direct timestamps missing, data wrong.
  TYPENDM  14.116  Support for NDM 1.4 (compatible) adds variables.     
  TYPENOAM 14.057  Support for STK's NearOAM user SMF record.           
  TYPENSPY 14.005  INPUT STATEMENT EXCEEDED, NSPY 4.6, type A, invalid. 
  TYPENSPY 14.053  LUNETID PCSESSID VILUNAME in dataset NSPYLU trashed. 
  TYPENSPY 14.111  Support for NETSPY Release 4.7 (compatible).         
  TYPENTSM 14.293  Support for Windows NT measurement with NTSMF.       
  TYPENTSM 14.299  Support for Windows NT measurement with NTSMF.       
  TYPEOMSM 14.219  Support for Candle's Omegamon for SMS V150 (no chg!).
  TYPEOPC  14.077  INVALID MTD SUBTYPE, observations not output.        
  TYPEORAC 14.103  Accounting data input incorrectly for ORACLE.        
  TYPEORAC 14.247  Support for Oracle Release 7.2.3 SMF record.         
  TYPEQAPM 14.098  Support for AS/400,OS/400 Release 3.6 (INCOMPATIBLE) 
  TYPEQAPM 14.271  Support for AS/400,OS/400 Release 3.7 (INCOMPATIBLE) 
  TYPERACF 14.243  Support for RACF 2.1 IRRDBU00 unload utility.        
  TYPERMDS 14.092  Support for IBM's RMDS Version 2.2 (no change)       
  TYPERMDS 14.300  RMDSARN/ARI missing in RMDS 1.3/1.4.                 
  TYPESAMS 14.013  INVALID DATA FOR HH,MM,SS with SAMS SMF record.      
  TYPESFTA 14.179  Support for SoftAudit Version 5.1 (INCOMPATIBLE).    
  TYPESNIF 14.186  Network General's Sniffer Network Monitor data.      
  TYPESTC  14.001  INPUT STATEMENT EXCEED for HSC subtype 8 record.     
  TYPESTC  14.055  STK's HSC Subtype 08 now in two lengths, 38 and 40!  
  TYPESTRS 14.349  Support for Demand Technology's Stress Test 3.3.6.   
  TYPESUIN 14.248  Support for Applied Software's SUPER IND$FILE SMF.   
  TYPESYNC 14.115  Syncsort variables SORTBEGN/END midnight spanning.   
  TYPETAND 14.223  INFILE statements for TANDCTLR/TANDLINE need LRECL.  
  TYPETCP  14.276  FTPLOCAL,FTPREMOT not decoded after Change 14.040.   
  TYPETLMS 14.014  TLMS year 2000 dates were not decoded correctly.     
  TYPETMDB 14.197  Support for TMON/DB2 Version 3 (INCOMPATIBLE).       
  TYPETMON 14.042  INVALID DATA for TIGETMCT or TIFREMCT corrected.     
  TYPETMON 14.336  Support for Landmark The Monitor for CICS 1.5, COMPAT
  TYPETMS5 14.018  TMS datasets TMSRECS,DSNBRECS now deleted from WORK. 
  TYPETMVS 14.135  Support for Landmark TMON/MVS spanned records.       
  TYPETPM  14.113  Support for Thruput Manager #V041238 (INCOMPATIBLE). 
  TYPETRSN 14.218  Support for Desktalk's TRENDSNMP SNMP IFENTRY data.  
  TYPETSOM 14.334  Segmented TSO/MON records with only DRU STRTTIME=.;  
  TYPEVM   14.008  INVALID DATA FOR PWCOUNT in VMID=06 VM Accounting.   
  TYPEVSME 14.278  Support for VTAM Session Management Exit SMF record. 
  TYPEWSF  14.143  Support for RDS's EOS Enterprise Output Solution     
  TYPEWSF  14.228  Support for RSD's EOS Product SMF record.            
  TYPEX37  14.091  STOPX37 SMF records changed by Boole, useless now.   
  TYPEXSTR 14.144  Support for Anacomp, Inc's XSTAR product SMF record. 
  TYPPROS  14.207  Support for Boole & Babbage's PRO/SMS.               
  UCICSCNT 14.060  Enhanced CICS diagnostic tool for EXCLUDE/INCLUDE.   
  UDB2GTF  14.154  Support for DB2 records written to GTF.              
  UDEBLOCK 14.155  Utility to create valid RECFM=U on MVS from PC data. 
  UTILCONT 14.216  Utility contents of SAS library, sizes in Megabytes. 
  UTILGETM 14.018  Type 110 Subtype 2818 recognized and counted.        
  VMXGHSM  14.235  SMS-related Class fields in both MCC and MCD added.  
  VMXGSUM  14.177  If DESCENDING was used with KEEPALL=NO, it was lost. 
  VMXGTAPE 14.153  Utility macro to determine if lib/dsn is on tape.    
  WEEKBLDT 14.010  NOTSORTED error with ASUMCICS in weekly logic.       
  YEAR2000 14.100  Use of Date literal '01JAN00' changed to '01JAN1900' 
  YEAR2000 14.305  Format of year 2000 status revised with vendor fixes.
                                                                        
Inverse chronological list of all Changes:                              
                                                                        
NEXTCHANGE: Version 14                                                  
                                                                        
===Changes thru 14.352 were included in MXG 14.14 dated Feb 21, 1997=== 
                                                                        
Change 14.352  Member CICINTRV is now the enhanced logic that was first 
CICINTRV       tested as "CICINTRZ".  The new logic creates only the    
Feb 20, 1997   PDB.CICINTRV data set with CICS interval statistics.     
               The other four old datasets, CICEODRV,CICREQRV,CICRRTRV  
               and CICUSSRV should have been deleted, as they are now   
               meaningless, but they are still created (but now with no 
               observations) to prevent unnecessary failure if any of   
               your other jobs reference those datasets (in your weekly 
               or monthly, for example, if they were copied).  Take the 
               time to remove any references to those now defunct data  
               sets to avoid future errors when they are deleted.       
                                                                        
Change 14.351  ML 12 of the MXG Tape Mount and Tape Allocation Monitor  
ASMTAPES       MUST be installed for MVS/ESA 5.2.2 or OS/390 to avoid   
ZSMTAPES       possible UCB errors (due to relocated UCBE in MVS).  Not 
ZZMTAPES       only does this revision solve that problem, it builds on 
Feb 20, 1997   ML 11 (which replaced SRB with Cross Memory Services) and
               Good News:                                               
              -Creates new TMNTTYPE=5 "Interval Allocation" record that 
               is written at the end of each (default=hour) interval for
               each drive that was allocated.  This will allow us in the
               analysis programs to accurately count tape drives without
               having to wait (days or weeks?) until the tape drive was 
               deallocated.                                             
              -Supports the workload manager, with new data elements    
               for Service class, workload name, resource group, and    
               resource class.                                          
               Bad News:                                                
               MXG 14.14 VMACTMNT processing code does not decode the   
               new fields, nor the subtype 5 record; that enhancement   
               should be available in early April.                      
               Other News:                                              
              -Has new assembly time operating system parameter that you
               must supply.  The values are ESA or ESA5.  ESA5 supports 
               MVS/ESA Version 5 and OS/390 and must be specified so the
               correct IBM macros are used.                             
              -Supports the new access to the UCB common extension.     
              -Changed SRB error fields to AR mode error fields.        
              -Corrected MODESET errors in AR mode.                     
              -Changed initial tape UCBSCAN into subroutines.           
              -Support for above the line UCB's.                        
               For archive, ML 9 is now in ZZMTAPES, and ML 11 is in    
               ZSMTAPES member.                                         
                                                                        
Change 14.350  Dataset TYPE74CA was not created in the WEEKly PDB if    
WEEKBLDT       you used WEEKBLDT (but was with WEEKBLD).  Now it is     
Feb 20, 1997   created with either weekly job.                          
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.349  Support for Stress Test Release 3.3.6 Enhancements.      
VMACSTRS       Both the original and the enhanced SMF record is now     
Feb 20, 1997   supported transparently.  This release adds new data     
               to the SMF record that will soon allow control cards     
               for Stress Test parameters to be created to match your   
               existing DASD rates (by using TYPE74 and TYPE74CA SMF    
               data to measure your system).  That analysis/generator   
               should be available in April.                            
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
                                                                        
Change 14.348  Variable JOBCLASS was increased to LENGTH $8 (from $1)   
VMAC30         in VMAC30 and VMAC26J3 because JES3 needs all eight      
VMAC26J3       bytes for JES3 Main Class.  Only one byte is input in    
Feb 19, 1997   VMAC26J3, but by increasing the length in TYPE26J3 will  
May 21, 1997   cause the kept size in BUILDPD3 to be eight bytes.  What 
               is really slick is that the length of JOBCLASS in the    
               JES2 PDB.JOBS and PDB.STEPS datasets will still be only  
               one byte, so there is no increase in the size of the JES2
               PDB as a result of this change to type 30.  However, the 
               TYPE30_x datasets will have JOBCLASS with length 8 to    
               support either JES2 or JES3 job class names.             
   Thanks to Jack Mintz, Hudson Williams, USA.                          
                                                                        
Change 14.347  Continued enhancements to the RMF-like reporting.        
ANALRMFR      -ANALRMFR now detects and reads PDB on tape or disk.      
Feb 19, 1997     -Workload Activity Report-Compatability Mode,          
                  REPORT=WKLD, RPTOPT parameter is now the way          
                  to make report selections. If none are selected       
                  no reports are created.                               
                    RPTOUT=PERIOD  Performance group period             
                                   within performance group.            
                           GROUP   Summarizes data for all performance  
                                   group periods within the             
                                   performance group.                   
                           DOMAIN  Summarizes data by domain for the    
                                   entire system.                       
                           STM     Summarizes data for the entire       
                                   system.                              
                 -Workload Activity Report-Goal Mode, REPORT=WLMGL      
                  RPTOPT=WGPER:                                         
                    Update Sevice Policy Page column Resource Groups    
                    allowing for all service classes to be output.      
                 -Workload Activity Report-Goal Mode, REPORT=WLMGL      
                  RPTOPT=RCLASS, report classes defined in a service    
                  policy, is added.                                     
                 -Workload Activity Report-Goal Mode, REPORT=WLMGL      
                  RPTOPT=SCLASS, summary of data for all service class  
                  periods defined for a service class, is added.        
                  There was no data to confirm values.                  
                 -Coupling Facility Activity, REPORT=CF                 
                  Reports created "Coupling Facility Usage Summary"/    
                  "Structure Summary"/"Storage Summary"/"Processor      
                  Summary" and "Coupling Facility Structure Activity"   
                  Unconfirmed values a ouput on the report as "??".     
                 -LCU summary does not include the first device.        
                  Remove LCUIORAT=0 ....... from FIRST.DATE OR          
                  FIRST.TIME OR FIRST.DEVCLASS.                         
                  Move LCUIORAT=SUM(LCUIORAT,IORATE)                    
                        .                                               
                  To after FIRST.LCU THEN DO;                           
   Thanks to David Childress, Lowe, USA.                                
   Thanks to Alan M. Sherkow, Management Strategies LTD.                
                                                                        
Change 14.346  Variables NRBINDS and NRLIMITS should have been spellec  
VMACTPM        NBINDS and NLIMITS, and variable JCTJOBID was added to   
Feb 17, 1997   the KEEP= list for dataset TYPETPMF.                     
   Thanks to Brian Sanga, Eagle Star Group Services Ltd, ENGLAND.       
                                                                        
Change 14.345  The FMXGUCBL function (to allocate dynamically all DASD  
FMXGUCBL       devices for the archaic VMACVTOC) did not support four   
Feb 17, 1997   digit UCBs, but now does, thanks to this contribution.   
   Thanks to Sue Yarker, Midland Bank, ENGLAND.                         
                                                                        
Change 14.344  "IHDR" exit for Boole and Babbage IMF records was added, 
IHDRCIMS       after newsletter text was sent to the printer.  See text 
VMACCIMS       of Change 14.342.                                        
Feb 17, 1997                                                            
                                                                        
===Changes thru 14.343 were printed in MXG Newsletter THIRTY-ONE======= 
                                                                        
Change 14.343  New ASUMUOW summarizes CICSTRAN and DB2ACCT by "Unit of  
IMACUOW        Work UOW" to create PDB.ASUMUOW with total CICS and DB2  
ASUMUOW        resources in a single observation, keeping the original  
Feb 19, 1997   TRANNAME and USERID of the real UOW.  Member IMACUOW will
May  4, 1997   enable "SPINing" of incomplete CICS transactions (e.g.,  
               long running LU 6.2 events) to ensure completeness.  This
               member is a replacement/enhancement of ANALDB2C that is  
               renamed to an ASUMxxxx because it is now designed to be  
               executed as a data-set-builder (PDB.ASUMUOW) rather than 
               an ANALysis example (and UOW makes more sense than DB2C)!
                                                                        
               The main assumption is that the earliest transaction for 
               any UOW must be the first transaction; during the merge, 
               if the TRANNAME of the first transaction is CSMI (i.e.,  
               an MRO mirror) or is blank (DB2), that transaction is    
               not complete, and the current records are SPUN (written  
               to the SPIN library to be held until the next run, if you
               updated macro _SPINUOW in member IMACUOW to non-zero).   
                                                                        
               The ASUMUOW dataset contains the same CICS variables as  
               are needed to create the ASUMCICS interval summary from  
               detail CICS transactions (plus the DB2 variables for CICS
               transactions calling DB2), so the ASUMUOW dataset could  
               be used as input to ASUMCICS (you would probably want to 
               make your own enhanced copy that also keeps the DB2      
               variables) so as to create interval UOW statistics.  In a
               test of 2.6 million tran obs in CICSTRAN, ASUMUOW had    
               only 1 million obs.  ASUMUOW can be used even if only    
               CICSTRAN data exists, as it will combine all MRO events  
               into one observation per UOW.                            
               Text revised May, and November, 1997.                    
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.342  "IHDR" exits (taken after the header of raw records have 
IHDRTMON       been read in) are added for Landmark's Monitor for       
IHDRTMDB       CICS/ESA and for Landmark's Monitor for DB2.  These      
IMACMONI       "IHDR" exits are similar to the "IMACFILE" exit for SMF  
IMACTMDB       (which should be named IHDRSMF by my new naming          
TYPETMON       convention).                                             
VMACTMDB                                                                
Feb 15, 1997                                                            
                                                                        
Change 14.341  Using EXTMSTMS and macro _KTMSTMS in IMACTMS5 to create  
TYPETMS5       new variables did not work as expected.  The new         
Feb 15, 1997   variables were added to the initial TMSTMS dataset, but  
               post processing in TYPETMS5 did not include the _KTMSTMS 
               macro reference, so the new variable was lost.  The      
               _KTMSTMS and _KTMSDSN references were added.             
   Thanks to Andy Chandler, Eagle Star, ENGLAND.                        
                                                                        
Change 14.340  DB2 Reporting Enhancements for DB2-PM like reports from  
ANALDB2R       DB2 4.1.  Individual Buffer Pool and Individual Package  
ASUMDB2A       Execution data is now reported (See DB2 Technical Note in
ASUMDB2P       Newsletter THIRTY-ONE).  The Account Detail and Long     
TRNDDB2A       Trace reports now use the detail buffer and package data 
TRNDDB2P       (DB2ACCTB and DB2ACCTP) if they exeist.  The default     
Feb 15, 1997   assumption is that all of your DB2 datasets are in the   
               PDB libref, but if you have used IMACDB2 to send them    
               to different librefs, you can tell ANALDB2R where to find
               them with the new DB2ACCT=, DB2ACCTB=, and DB2ACCTP=     
               arguments in your ANALDB2R invocation.                   
                                                                        
               This change is incompatible with prior versions of the   
               ANALDB2R report in that only a single PDB will be used   
               to generate the report.  (Previously, you could specify  
               PDB=PDB1 PDB2 PDB3, and the libraries would have been    
               "concatenated".  This restructure lost that capability   
               but you can easily combine multiple PDB datasets first   
               and then invoke ANALDB2R.)                               
                                                                        
               Most, but not all, of the DB2 4.1 fields have been       
               added; in particular, the individual buffer and package  
               sections are complete.                                   
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.339  User enhancements to the ASMIMSLG/ASMIMSL5 programs for  
ASMIMSLG       IMS log processing protect for a short error message,    
ASMIMSL5       and in case of MSC transactions, since the ARRVTIME may  
Feb 14, 1997   be wrong (out of sync), now, the MSC timestamp is used   
               for ARRVTIME with good results.                          
   Thanks to Harry Olschewski, dvg Hannover, GERMANY.                   
                                                                        
Change 14.338  Variable HIUICAV (TYPE71) was added to RMFINTRV dataset  
RMFINTRV       (the maximum of the individual values is kept) and it is 
TRNDRMFI       added to TRNDRMFI dataset (the average of the maximum is 
Feb 15, 1997   kept).                                                   
   Thanks to Manfred Thomas, BHF-Bank, GERMANY.                         
                                                                        
Change 14.337  Candle's EPILOG for MVS decoding was enhanced.  The IO   
ANALEPMV       and ENQ data is now rolled into the EPMVEP dataset.  The 
VMACEPMV       derivation of results to match Epilog screen reports that
Feb 14, 1997   doing straight-forward arithmetic with sample counts did 
               not resemble their (proprietary) calculations but        
               diligent work by Simon is now available in the ANALEPMV  
               member to do those calculations for reports.  mon P.     
   Thanks to SiMundy, Telstra, AUSTRALIA.                               
                                                                        
Change 14.336  Support for Landmark's The Monitor for CICS/ESA 1.5 is   
TYPETMON       already in MXG, as the only change in the records is the 
Feb 14, 1997   version (LMRKVREL) contains 0Fx rather than 0Ax.  Their  
               Version 2 product is due out this year, but that will    
               require changes to MXG to support.  Stay tuned.          
                                                                        
Change 14.335  Support for NPM APAR OW17875 added new NPMSUBTY=2Ax that 
VMAC28         is now decoded and output in the existing NPMSUMRY data  
Feb 14, 1997   set.  Subtype 2Ax allows the collection and reporting of 
               session data summarized by LU Group; the value of        
               SCDSPLUG (LU Group summarized) is stored in existing MXG 
               variable SCDSPNAM, rather than creating a new variable.  
                                                                        
Change 14.334  Segmented TSO/MON records containing only DRU segments   
VMACTSOM       have missing STRTTIME in TSOMDRU dataset because MXG did 
Feb 13, 1997   not protect for DRU-only TSO/MON records, but now does.  
   Thanks to Rick Ireland, Imperial Oil Limited, CANADA.                
                                                                        
Change 14.333  NTSMF datasets ICMP, TCP, and UDP have been validated    
ADOCNTSM       with data records and the table in ADOCNTSM updated.     
Feb 13, 1997                                                            
   Thanks to Richard Clary, ENTERGY, USA.                               
                                                                        
Change 14.332  New member PROCSRCE is "Proc Source" for ASCII SAS.  It  
PROCSRCE       creates a single IEBUPDTE-format file from individual    
Feb 13, 1997   files, so that only a single file upload or download is  
               required to move MXG Source library between ASCII and    
               OS/390 platforms.  See instructions in member PROCSRCE.  
               The basic technique is to pipe the DIR command's output  
                   DIR *.SAS >> NAMEFILE.MXG /B /ON                     
               to create a list of file names in NAMEFILE.MXG, then     
               start SAS and submit %INCLUDE SOURCLIB(PROCSRCE); which  
               reads NAMEFILE and copies each file into IEBUPDTE.MXG,   
               inserting the  ./       ADD   NAME=xxxxxxxx statements.  
                                                                        
               Ain't elegant, but it is how I build the IEBUPDTE.MXG    
               master file that is copied to 3480 distribution tapes.   
                                                                        
               The actual file on 3480 tape is about 75MB (because each 
               record is exactly 80 bytes long) but on ASCII takes only 
               about 40MB (variable length records with trailing blanks 
               removed), and it PKZIPs to less than 9MB.  To upload MXG 
               for OS/390 validation, the 9MB IEBUPDTE.ZIP is sent via  
               IND$FILE across SDLC at 19.2KB, and on MVS is unzipped by
               PKZIP for MVS (from ASI, 513-885-2031).  With PKZIPing,  
               transmission takes 90 minutes.  Unzipped, transmission   
               takes 7 hours!                                           
                                                                        
               The existing MXG member IEBUPDTE is the inverse of the   
               PROCSRCE program, as it reads PROCSRCE's output file to  
               create each member as a separate *.SAS file.             
                                                                        
Change 14.331  NETSPY record 'N' might cause INPUT STATEMENT EXCEEDED;  
VMACNSPY       the +15 and +29 after the INPUT of NSPSTAFL should be    
Feb 13, 1997   +16.  No error was directly reported, but this might be  
               why one European site claimed they had to change the DO  
               interation's maximum value (reduced by one) to avoid an  
               ABEND (but I never got a record dump for diagnosis!).    
   Thanks to Carl Downing, BlueCross BlueShield of Minnesota, USA.      
                                                                        
Change 14.330  Amdahl APAF Version 3.0 records have been validated with 
VMACAPAF       data records.  Changed test for SUBTYPE=31 or =32 to be  
Feb 13, 1997   =49 or =50 (Amdahl listed subtypes in hex not decimal!), 
               and corrected algorithm for counting bits on in a field  
               (see SAS Technical Note in Newsletter THIRTY-ONE).       
   Thanks to Bob Gauthier, American Stores Company, USA.                
                                                                        
Change 14.329  SYNCSORT's product COBOL Advantage populates one byte in 
VMACSYNC       the SYNCSORT user SMF record.  New variable SOOPCAT in   
Feb 11, 1997   dataset TYPESYNC contains that byte, formatted in hex.   
   Thanks to Jim Ray, Branch Banking & Trust, USA.                      
                                                                        
Change 14.328  TYPE74CF (Coupling Facility) QSIZnn variables are the    
VMAC74         structure size as specified in the CFRM in units of 4096 
Feb 10, 1997   bytes per unit, while TYPE74ST (Structures) R744SSIZ     
               (and SMAS/SMIS) variables are actual allocated size of   
               the structure, in units of 4000 bytes per unit, but IBM  
               did not document the use of 4000 vice 4096.  To properly 
               size the allocations, MXG now multiplies SSIZ/SMAS/SMIS  
               by 4000 instead of 4096 (and SSIZ will then be smaller   
               than QSIZ values).                                       
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.327  Variable I was incorrectly used as the index variable    
VMAC102        for two nested loops, which caused VMAC102 to loop.      
Feb  7, 1997   There are two places, in the QWHSIID=21 and QWHSIID=44   
               processing that contain DO I= 1 TO 19 BY 3;  In that     
               line, in the two following lines (...PUT(SUBSTR...       
               and in the line IF I=19 AND J=7 THEN J=20, change the    
               "I" to "L" to correct the error.                         
   Thanks to Paul Hill, Midland Bank, ENGLAND.                          
                                                                        
Change 14.326  MXG 14.11 only.  Data set TYPE42S2 had incorrect values  
VMAC42         because "NEW" before SMF42FB2/SMF42FB3 was not removed.  
Feb  6, 1997   Labels for variables SMFJOD01-SMFJOD16 were corrected.   
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.325  MXG 14.11 only.  Array CFNUM should only have sixteen    
VMAC74         elements CFNUM01-CFNUM16 but was accidentally changed to 
Feb  6, 1997   CFNUM01-CFNUM64.  Had no actual impact.                  
   Thanks to Bruce Widlund, Merrill Consultants, USA.                   
                                                                        
===Changes thru 14.324 were included in MXG 14.11 dated Feb  4, 1997=== 
                                                                        
Change 14.324  INVALID RECORD OBJECT=NETWORK INTERFACE error message    
VMACNTSM       because the test ... OFFDATA NE 20 ... should be NE 21   
Feb  4, 1997   (this test is right after the test for                   
                IF UPCASE(OBJECT)='NETWORK INTERFACE' THEN DO;          
   Thanks to Richard Clary, ENTERGY, USA.                               
                                                                        
Change 14.323  MXG 14.11 dated Feb 3, 1997 only. Type 102 subtype 100   
VMAC102        ERROR: NO MATCHING IF-THEN CLAUSE because the two lines  
Feb  4, 1997      QW0100SB=QW0100SB+GMTOFFDB;                           
                  QW0100SA=QW0100SA+GMTOFFDB;                           
               were mis-located.  They must be immediately before the   
                  OUTPUT T102S100;                                      
               statement.                                               
               Fortunately, the 100 subtype is not used in ANALDB2R or  
               any other MXG program, so only specific use of T102S100  
               exposed the error (my QA caught it but I overlooked it). 
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
===Changes thru 14.322 were included in MXG 14.11 dated Feb  3, 1997=== 
                                                                        
Change 14.322  This is ML11 of the Tape Mount/Allocation monitor.       
ASMTAPES       This revision eliminates the use of an SRB to capture    
ZSMTAPES       job-related info, and instead does all of the cross      
Feb  3, 1997   memory data collection in AR (access register) mode.     
               Running in AR mode will cause more recorded CPU time in  
               the TMNT address space, but what is really happening is  
               that all of our collection overhead is now captured in   
               the (calling) TMNT address space, whereas previously some
               of the CPU time of the SRB's execution was recorded in   
               the SMF records of the allocating (monitored) address    
               space.  The previous revision ML9 is in member ZSMTAPES. 
                                                                        
               ML12 will contain 3 improvements : workload manager      
               support, UCB common extension access changes, and        
               configuration change detection using ENF, and will be    
               available later this year.                               
                                                                        
Change 14.321  Don Deese's continued research into measurement of the CF
VMAC74         caused me to create new variables R744QSIZ and R744QFLG  
Feb  3, 1997   from the QO segment into the SO per-structure segment    
               so QSIZ/QFLG are added to TYPE74ST (while we investigate 
               why QSIZ is often very difference thatn R744SSIZ!).      
               The structures names in QO and SO are not in the same    
               order, so MXG scans across the QO entries to find the    
               matching SO entry.                                       
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.320  As will be discussed in the next newsletter, this is the 
DOC            first MXG Version (14.11) to be built at our office on   
Jan 31, 1997   my new Overland 3480/3480IDRC/3490/3490E tape drive.     
               The EBCDIC to ASCII translation with IND$FILE is not the 
               same as the Overland default, and the Overland default is
               also wrong (especially trashing the long-vertical-bar and
               the not-sign), so I had to build my own translate table  
               to create EBCDIC tapes from my ASCII master file:        
                              MXG  IND$FILE MXG   WRONG     MXG OUTPUT  
                              ON    OUTPUT  ON    ON        EBCDIC W/   
                              MVS  ON ASCII ASCII OVERLAND  My Table    
                 cent-sign     4A     5B    same  AD      l. Sq. Bracket
                 not-sign      5F     5E     AA           caret         
                 long vertial  4F     5D     B3   BD      r. sq. bracket
                 split vert    6A     7C    same  4F      split vert bar
                                                                        
               (Note that in NEWSLETTER THIRTY-ONE 'A9'x was erroneously
                typed for a not-sign on ASCII, but it is really 'AA'x). 
                                                                        
               I found I also had to change Overland's (DataTools for   
               Windows) default ASCII-to-EBCDIC table three errors      
                  5D-->4F and not BD      5B-->4A and not AD            
                  7C-->6A and not 4F                                    
               plus my two additions                                    
                  AA-->5F                 B3-->4F                       
                                                                        
               To correct symbols on your ASCII platform after you use  
               IND$FILE to download, change all '5D'x to 'B3'x and all  
               '5E'x to 'AA'x and your comments with vertical bars      
               and non-signs will look correct.  Of course, before you  
               could upload that ASCII MXG to EBCDIC with IND$FILE, you 
               must reverse that change on ASCII before the upload.     
                                                                        
               I took this opportunity to rid "not-signs" from all MXG  
               code, using NE or NOT instead, and replaced all of the   
               remaining instances of double long-vertical-bars (for    
               concatenation) with double exclamation points, to        
               minimize any future exposure if MXG source is moved from 
               ASCII to EBCDIC, and removed all of the '4A'x extraneous 
               characters in text members.                              
                                                                        
               However, there were some uses of single long vertical    
               bars that were inside comments and too pretty to lose,   
               and a few instances of "not sign" (suggesting not to use 
               it) that were left. These members were revised:          
                  ACHAP08  ACHAP09  ACHAP12  ACHAP13  ACHAP16  ACHAP16  
                  ACHAP17  ACHAP18  ACHAP19  ACHAP19  ACHAP21  ACHAP22  
                  ACHAP23  ACHAP26  ACHAP30  ACHAP32  ACHAP33  ACHAP34  
                  ACHAP37  ACHAP38  ACHAP39  ADOCEREP ADOCVMXA ADOC1415 
                  ADOC7072 ANALCACH ANALCTLD ANALIPAC ANALRACF ANALRRTM 
                  ANALSNAP ANALVARY ANALVMOS ANALVVDS IDMSBLT  IDMSJANL 
                  IDMSJRNL JCLCRAYC LOADINFO REXXCOPY REXXEMAC REXXPDB  
                  REXXTEST SYSLOGJE TTXPDS   TYPEIMS  UTILFMTX UTILPRNL 
                  UTILSPAC UTILXRF1 VMACIPAC VMACRRTM VMAC102  VMXGHSM  
                  XIBMFDP  XLOGREC  XNALCACH XNPMSESS XTYPEVS1 ZNALDB2R 
                  ZRBIPSJ                                               
                                                                        
               MXG is now distributed as an unnumbered data set; columns
               73 thru 80 are blank in all records on the MXG tape.     
               I have not used line numbers for references for several  
               years, and eliminating line numbers makes the source     
               library much smaller on ASCII.                           
                                                                        
Change 14.319  LPAR data now contains flag variable LPnCAP to indicate  
ASUM70PR       which partitions are Capped, and variable LPnSHARE which 
Jan 31, 1997   contains the partitions percentage of the sum of the LP  
               share values (i.e., if the partition is Capped, then     
               LPnSHARE is the capping percentage).                     
   Thanks to Ian Porter, Nissan European Data Center, SCOTLAND.         
                                                                        
Change 14.318  Support for OS/390 Release 3 (Compatible) adds major new 
VMAC7072       measures to the TYPE72 and TYPE72GO datasets; the first  
Jan 30, 1997   five variables were added to both (i.e., COMPATIBILITY   
               MODE in TYPE72 and WORKLOAD MANAGER in TYPE72GO):        
                  R723CICT='NON-PAGING*DASD I/O/CONNECT*TIME'           
                  R723CIDT='NON-PAGING*DASD*DISCONNECT*TIME'            
                  R723CIWT='NON-PAGING*DASD I/O*WAIT*TIME'              
                  R732CIRC='NON-PAGING*DASD I/O*SSCH COUNT'             
                  R723VELI='EXECUTION*VELOCITY*INCLUDES*I/O DELAY?'     
               and only in WORKLOAD MANAGER do we find:                 
                  PCTDLIOD='DASD*DELAY*SAMPLES'                         
                  PCTDLNDI='NON-DASD*I/O USIN/DELAY*SAMPLES'            
                  PCTDLQ  ='QUEUE*DELAY*SAMPLES*WAIT FOR*SERVER'        
                  PCTDLSHS='SERVER*HIPERSPACE*PAGING*DELAY'             
                  PCTDLSMP='SERVER*MPL*DELAY*SAMPLES'                   
                  PCTDLSPV='SERVER*PRIVATE AREA*PAGING DELAY'           
                  PCTDLSSW='SERVER*SWAP-IN*DELAY*SAMPLES'               
                  PCTDLSVI='SERVER*SPACE VIO*PAGING*DELAY'              
                  PCTUSIOU='TOTAL*USING I/O*SAMPLES'                    
                  PCTUSTOU='TOTAL*USING*SAMPLES'                        
               The calculation of VELOCITY is also changed in Release 3,
               as PCTUSTOU (R723CTOU) replaces PCTUSCUS (R723CCUS) in   
               the numerator and variable R723VELI='Y to indicate that  
               the exection velocity now includes I/O delays.           
                                                                        
Change 14.317  Dataset DB2ACCTP (Package Accounting) has new variables  
VMACDB2        QWACBSC and QWACESC (start/stop of plan) added to KEEP=  
Jan 30, 1997   list because they appear on DB2PM reports, and because   
Oct 13, 2003   variable QPACSCB (start of package) cannot be used, as   
               it is null in the 2nd and subsequent segments of the     
               type 101 subtype 0 (accounting record, holds first ten   
               package statistics), and QPACSCB is nulls in ALL of the  
               type 101 subtype 1 (package only) records, and finally   
               because the subtype 1 record is written first (so I can  
               not retain from the subtype 0!).                         
                 Update: October 13, 2003:  QPACSCB and QPACSCE appear  
                 to always exist, now, in DB2ACCTP observations, both   
                 from Subtype=0 (first 10 packages), and from Subtype=1 
                 (more than 10 packages).                               
                 However, QWACBSC and QWACESC will always have missing  
                 value in DB2ACCTP observations from subtype=1 because  
                 that record does not contain the QWAC segment!         
                 This 2003 note is only for documentation.              
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.316  Subtype 5 HMF record with only 1 segment caused INPUT    
VMACHMF        STATEMENT EXCEEDED error.  Although undocumented, this   
Jan 29, 1997   record had only the bus segment; there was no memory     
               segment present.  To correct, insert after the  @; that  
               is after the INPUT of HMF5BUS:                           
                 IF HMF5SEGS EQ 2 THEN DO;                              
               and after the following IF SKIP GT 0 THEN INPUT +SKIP @; 
               insert    END;                                           
               (so that only the bus stats are read when HMFSEGS=1).    
   Thanks to Ann Knapik, ISSC Akron, USA.                               
                                                                        
Change 14.315  DB2 utility programs set QWHCATYP=41 as their attachment 
FORMATS        type value, an undocumented value that IBM does not set. 
Jan 28, 1997   The site is pursuing IBM for a better answer.            
   Thanks to Roman Jost, Gjensidigo, NORWAY.                            
                                                                        
Change 14.314  Dataset MEMOACCT new variables ENTRCALE/ENTRFORM are now 
EXTYMEMO       INPUT from previously reserved fields.  In addition, the 
VMACMEMO       MEMOACCT dataset contains variable CURRMODE with values  
Jan 28, 1997   of T - terminate session  or C - continuation, the latter
               having accumulated values, so in most cases you only want
               the type T, so in member EXTYMEMO I have added an example
               of the code  IF CURRMODE='T' THEN OUTPUT _LTYMEMO;   that
               would cause only type T obs to be output, but that sample
               code in EXTYMEMO is commented out by default, so MXG will
               create both C and T observations until you change it.    
   Thanks to Roman Jost, Gjensidigo, NORWAY.                            
                                                                        
Change 14.313  Invalid type 80 RACF record caused INPUT STATEMENT EXCEED
VMAC80A        error.  The record, an RACFEVNT=21:RDEFINE has pairs of  
Jan 28, 1997   (SMF80DTP,SMF80DLN) (data type, data length, in decimal) 
               of (6,151),(12,12),(81,08),(0,21),(6,8), then 543 (24,12)
               segments, a (49,20) and a (53,80).  The first DTP=6 is   
               the expected 151 bytes, but there is a later DTP=6 with  
               unexpected length of 8. The DTP=12 is 12 bytes instead of
               the documented multiple of 9.  There are no DTP= 0 or 81 
               values documented by IBM.  And inside the DTP=12 data    
               segment, the characters do not conform with the expected 
               format, so this record was partially hosed, but still by 
               adding protection for these (invalid) unexpected lengths 
               in the DTP= 6 & 12, and for the unexpected DTP= 0 & 81,  
               the rest of the type 80 records can be read while IBM is 
               contacted to find a fix to prevent the bad record.       
   Thanks to Silva Viviani. Fondo Commune D.C. Rurali Trentine, ITALY.  
                                                                        
Change 14.312  IMF flag variables in the DBD section were not reset for 
VMACCIMS       the next DBD segment, and thus were incorrectly carried  
Jan 28, 1997   forward.  ELSE  variable=' '; clauses were added for the 
               variables: DBTOVFLW DBTMSCNT DBTTYDDN DBTTYOTH DBTTYSEC  
               DBTVSAM and DBTOSSB                                      
   Thanks to Sieghart Seith, FICUCIA, GERMANY.                          
                                                                        
Change 14.311  MXG now converts GMT timestamps in DB2 records to local  
EXDB2ACC       time automatically, but this change is INCOMPATIBLE for: 
VMACDB2        sites that already use member EXDB2ACC to change GMT to  
VMACDB2H       local for variables QWHCBSC and QWHCESC (which was the   
VMAC102        MXG recommendation prior to this change!).  For those    
Jan 27, 1997   sites, you must remove your conversion code and let MXG  
               convert those and all DB2 timestamps for you.            
               The revised algorithm detects not only the hours of delta
               time between SMFTIME (local) and THISSTCK (GMT), but also
               now detects the seconds of delta time (values of 20      
               seconds were seen, which is about the current number of  
               leap seconds that is included in the STCK value in       
               SYSPLEX environments, but leap seconds are not included  
               in SMFTIME values).  The value of the GMT Offset,        
               GMTOFFDB, may not be exact hours.  We found a THISSTCK   
               value of 16:00:20 and SMFTIME was 10:00:00 so GMTOFFDB   
               was -06:00:20!  Without those extra 20 seconds in the    
               GMT offset, the converted local times would be off by 20 
               seconds, so don't disbelieve a GMT offset that is not    
               exact hours.  I arbitrarily set any difference less      
               than 10 seconds to zero, even though current measurements
               show a maximum real fuzziness of less than 0.12 seconds, 
               because I expect delta seconds to be due to leap seconds 
               and the value of 10 might cover pathological cases when  
               SMFTIME was delayed.  The new algorithm to calculate the 
               GMT offset, GMTOFFDB, which is used in VMACDB2 & VMAC102 
               members, is contained in VMACDB2H:                       
                  DELTASMF=SMFTIME-THISSTCK;                            
                  GMTOFFHR=(100*FLOOR((DELTASMF+30)/100))/3600;         
                  GMTOFFSC=DELTASMF-3600*GMTOFFHR;                      
                  IF ABS(GMTOFFSC) GT 10 THEN                           
                             GMTOFFDB=3600*GMTOFFHR+GMTOFFSC;           
                  ELSE       GMTOFFDB=3600*GMTOFFHR;                    
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.310 -Dataset PDB.DB2GBPST (Global Buffer Pool Interval Stats) 
DIFFDB2        contained accumulated (and hence useless) values, but it 
VMACDB2        is now deaccumulated to contain valid interval data by   
Jan 27, 1997   its support in member DIFFDB2.                           
              -Dataset PDB.DB2STAT1 and PDB.DB2STATS variable QBGLGN    
               should never have been kept; it is the Group Buffer Pool 
               ID in each of the segments, and is kept only in the      
               detail PDB.DB2GBPST dataset.                             
   Thanks to Ermanno Bertolotti, Banca Commerciale Italiana             
   Thansk to Daniela Busani, Banca Commerciale Italiana                 
                                                                        
Change 14.309  Support for additional variables in type 42 subtypes 15, 
EXTY42X1       16, 17, 18, and new subtype 19 creates new MXG dataset:  
VMAC42           TYPE42X1 - VSAM RLS Local Buffer Manager counters.     
Jan 25, 1997   See notes in member ADOC42 for details.                  
   Thanks to Michael E. Friske, Fidelity Systems, USA.                  
                                                                        
Change 14.308  Support for NTSMF Beta added new records, support for NT 
VMACNTSM       3.51, and graceful detection of new record types.  Have  
Jan 25, 1997   tested 34 record types, of the 56 known records.  See the
               status and complete technical discussion in ADOCNTSM.    
                                                                        
Change 14.307  Support for APAF v3.0 added new Millennium subtype 31 and
EXAPAFCB       32 records which create three new APAF datasets:         
EXAPAFLP         Dataset  Subtype  Description                          
EXAPAFSY         APAFSYSD   31     Global system data                   
IMACAPAF         APAFLPAR   32     LPAR and Physical CPU data           
VMACAPAF         APAFCHN    32     Channel data                         
Jan 25, 1997   Member IMACAPAF was incompatibly changed (because of the 
Jan 30, 1997   creation of new datasets) and must be refreshed in your  
               USERID.SOURCLIB tailoring library.                       
               The new subtype 31 contains only the "Physical" partition
               times, while the subtype 32 contains the Total Dispatch  
               and Effective Dispatch, from which LPAR Management Time  
               is calculated for the Millennium processors.             
   Thanks to Bob Gauthier, American Stores Company, USA.                
                                                                        
Change 14.306  Variable QBACHRF was added to the SUM= list of variables 
ASUMDB2B       to be summarized in creation of ASUMDB2B.                
Jan 21, 1996                                                            
                                                                        
Change 14.305  Year 2000 status was updated.  Revised format now shows  
YEAR2000       ongoing list of vendor fixes which are required for those
Jan 17, 1996   products that did not support 2000 but now do.           
                                                                        
Change 14.304  MXG 14.05-MXG 14.10 only, using the supplied MXGSAS JCL. 
MXGSAS         Error 180-322, right after the NOTE: THE INITIALIZATION  
Jan 17, 1996   PHASE USED 0.13 CPU SECONDS AND 2233K results because the
               default value for the TAILORNG symbolic parameter in the 
               MXGSAS JCL Procedure was still wrong in MXG 14.10.  The  
               error was supposedly fixed by Change 14.239, but that fix
               was not implemented in the MXGSAS member until now.  The 
               default TAILORNG symbolic in MXGSAS must be:             
                  TAILORNG='*.NULLPDS,VOL=REF=*.NULLPDS',               
   Thanks to Ram V. Ramamurthy, Associates Corporation, USA.            
                                                                        
Change 14.303  NJE devices with INDEVICE or DEVNAME of LnnnnJRm instead 
VMAC26J2       of the (old) expected style of Lnnn.JRm caused INREASON  
Jan 17, 1997   to be blank (instead of SR/JR/JT), so these NJE purge    
Jan 21, 1997   records were not recognized and were kept as real purge  
               records in BUILDPDB, causing some fields (like JENDTIME) 
               to be taken from the wrong purge record.  The MXG logic  
               to create INREASON was revised to recognize the old and  
               new style of INDEVICE and DEVNAME:                       
     DOTLOC=INDEX(INDEVICE,'.');/*CHECK INDEVICE, 'JR' OR 'SR'*/        
     IF DOTLOC NE 0 THEN DO;                                            
       DOTLOC=DOTLOC+1;                                                 
       INREASON=SUBSTR(INDEVICE,DOTLOC,2);                              
       IF (INREASON='JR' OR INREASON='SR') AND ORIGNODE GT ' ' THEN     
           SOURCE=ORIGNODE;                                             
       ELSE INREASON=' ';                                               
     END;                                                               
     ELSE IF INDEVICE=:'L' AND '0001' LE SUBSTR(INDEVICE,2,4) LE '9999' 
       THEN DO;  /* FORMAT LnnnnSRm DOES NOT CONTAIN A DOT */           
       INREASON=SUBSTR(INDEVICE,6,2);                                   
       IF (INREASON='JR' OR INREASON='SR') AND ORIGNODE GT ' ' THEN     
           SOURCE=ORIGNODE;                                             
       ELSE INREASON=' ';                                               
     END;                                                               
     IF INREASON='  ' THEN DO;/*IF STILL BLANK, THEN CHECK DEVNAME*/    
       DOTLOC=INDEX(DEVNAME,'.');  /* 'JT' */                           
       IF DOTLOC NE 0 THEN DO;                                          
         DOTLOC=DOTLOC+1;                                               
         INREASON=SUBSTR(INDEVICE,DOTLOC,2);                            
         IF INREASON='JT' AND ORIGNODE GT ' ' THEN SOURCE=ORIGNODE;     
         ELSE INREASON=' ';                                             
       END;                                                             
       ELSE IF DEVNAME=:'L' AND '0001' LE SUBSTR(DEVNAME,2,4) LE '9999' 
         THEN DO;  /* FORMAT LnnnnSRm DOES NOT CONTAIN A DOT */         
         INREASON=SUBSTR(DEVNAME,6,2);                                  
         IF INREASON='JT' AND ORIGNODE GT ' ' THEN SOURCE=ORIGNODE;     
         ELSE INREASON=' ';                                             
       END;                                                             
     END;                                                               
   Thanks to Silvio Orsini, Banca D'Italia, ITALY.                      
                                                                        
Change 14.302  The 22 new Shared Paging variables in TYPE71 starting    
VMAC71         with SHPBINAU and thru SHPGLOAV need to be INPUT as      
Jan 17, 1997   &RB.8. instead of &RB.4.  This corrects Change 14.257.   
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.301  MXG 14.07-MXG 14.10 only, JES3 only, and only if you use 
BUIL3005       BUIL3xxx members instead of BUILDPD3.  Error 22-7 UNKNOWN
JCLUXRE6       OPTION because SORTEDBY= was misspelled as SORTECBY=, and
Jan 15, 1997   because BUIL3005 was not in my QA stream (but now is)!   
   Thanks to Chris Weston, SAS Institute Cary, USA.                     
                                                                        
Change 14.300  RMDS Versions 1.3 and 1.4 records have an undocumented   
VMACRMDS       section (or one added by APAR) with Originating Job and  
Jan 14, 1997   Originating JOBID that was not previously INPUT by MXG.  
               To add these variables, insert after the  @; that is     
               immediately after the INPUT of RMDSUDAT:                 
                 IF RMDSORG='A' AND RMDSACT='C' AND RECKEY='8080'X      
                    AND LENGTH-COL+1 GE 16 THEN                         
                    INPUT                                               
                         RMDSARN   $EBCDIC8.                            
                         RMDSARI   $EBCDIC8.                            
                    @;                                                  
               (These two variables are already INPUT in the code for   
               later RMDS versions, and so they are in the KEEP= and    
               LABEL statements already!).                              
   Thanks to Steve Colio, CIGNA Corporation, USA.                       
                                                                        
===Changes thru 14.299 were included in MXG 14.10 dated Jan 10, 1997=== 
   (although top of CHANGES said only thru 14.298, 299 was there!)      
                                                                        
Change 14.299  Support for NTSMF (Windows NT) measurement is now ready  
ADOCNTSM       for beta testing, and is very well documented.  ADOCNTSM 
NTINTRV        now documents all 54 NTSMF datasets, and the new NTINTRV 
VMACNTSM       dataset is created (like RMFINTRV). See NTSMF Technical  
Jan  8, 1997   Notes.                                                   
                                                                        
Change 14.298  PRO/SMS dataset PROSMS does not contain DSN nor DDNAME,  
EXPROSMS       but new sample code in this exit member (commented out,  
Jan  2, 1997   as it may be installation dependent) shows how one site  
               was able to parse the text to identify which dataset and 
               DDNAME was altered by PRO/SMS.                           
   Thanks to Warren Hayward, TJX Companies, USA.                        
                                                                        
Spent an actual Christmas vacation with family, and nothing broke!      
                                                                        
Change 14.297  Variables MVUOBMDN,MVUSBIN,MVUSBMDN,MVUSOBIN,MVRETDAT are
VMACEDGS       now INPUT from the type 'V' DF/SMSrmm record and are kept
Dec 19, 1996   in dataset EDGSVREC.                                     
               Also, the CDS records can be read directly with TYPEEDGS,
               so using IBM's utility to dump the data is not required! 
   Thanks to Richard Fortenberry, Mitsubishi, USA.                      
                                                                        
Change 14.296  H-P Measureware variable SOFTWARE was kept as a 200-byte 
VMACMWAI       variable because it was not in the LENGTH statement; now 
VMACMWSU       it is set LENGTH $30. (and variable AMPM is now $2) to   
VMACMWUX       reduce the size of the datasets.                         
Dec 18, 1996                                                            
   Thanks to Al Holtz, Medco Data Corporation, USA.                     
                                                                        
===Changes thru 14.295 were included in MXG 14.09 dated Dec 17, 1996=== 
                                                                        
Change 14.295  If you create type 74 records for devices other than just
RMFINTRV       TAPE and DASD, the DEV..... SIO74CNT and AVGRSPTM values 
Dec 17, 1996   include those other devices (eg, CTC) counts.  Since it  
               is the intention to have only DASD counts in those fields
               by inserting ELSE DELETE; before LENGTH SIO74TAP 4; those
               other device records will not be included in RMFINTRV.   
   Thanks to W. Rathfelder, Taylorix AG, GERMANY.                       
                                                                        
Change 14.294  For multi-volume non-HSM-backup tape datasets, only the  
DAILYDSN       last volume's size was included in variable SPACE5, the  
Dec 17, 1996   megabytes on non-HSM tape. Replace SPACE5=BLKSIZE*BLKCNT;
               with SPACE5=TAPEBYTE;                                    
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.293  Support for Windows NT measurement with NTSMF records    
ADOCNTSM       created by Demand Technology's product.  This support is 
EXNTxxxx       for the beta testers of NTSMF.  The fifty-four new MXG   
IHDRNTSM       datasets (one per "object") are described in ADOCNTSM    
IMACNTSM       member, and a more extensive discussion of NTSMF records 
TYPENTSM       will be in the NT Technical Notes section of the next MXG
VMACNTSM       Version.  Status of testing is also in ADOCNTSM.         
Dec 17, 1996                                                            
                                                                        
Change 14.292  The very last IMS log record was not processed, because  
VMACIMSA       the ELSE IF LCODE=07X THEN DO; statement should have been
Dec 17, 1996       IF      LCODE=07X THEN DO;                           
   Thanks to Juerg Frei, SAS Switzerland, SWITZERLAND.                  
                                                                        
Change 14.291  Coupling Facility data added by PTF UW90312 was on a per 
VMAC74         structure basis, not per-CF basis, so variable names were
Dec 14, 1996   R744CCOC thru R744CXRL were moved from TYPE74CF to the   
               TYPE74ST dataset, and MXG input logic was revised.       
                 IBM's "CF Reporting Enhancements to RMF 5.1", WSC Flash
                 9609 has an excellent discussion of how to use these   
                 important fields for determining if your Coupling Fac. 
                 becomes the bottleneck in your sysplex.  The flash also
                 lists APARs OW11789, OW12415, OW13418, and OW13536 as  
                 required and it lists the additional hardware ECs that 
                 you want to have installed for accurate CF measures.   
              -R742MSTF was FORMATed $HEX2, input $CHAR1.               
              -Variables R744FTIM, R744FSQU, R744FCTM, R744FCSQ are     
               input with PIB8 instead of the (IBM-documented!) RB8.6   
               informat, and variables R744CDEC,R744CDAC,R744CTCC, and  
               R744CDTA are input as PIB4 vice RB4.                     
   Thanks to Steve Dodge, Amdahl Corporation, USA.                      
                                                                        
=Attended CMG 96 in San Diego, and Bernie Davidovich's wedding in NY.   
                                                                        
Change 14.290  If your SAP Accounting Exit was miscoded, invalid length 
IMACICSA       type 110 records can be created, causing INPUT STATEMENT 
Dec  3, 1996   EXCEEDED error.  This change, inserted after STCLEN has  
               been INPUT, verifies the real data length agrees with the
               STCLEN value, eliminating the exposure.                  
   Thanks to Helgund Linck, BASF Compuer Services, GERMANY.             
                                                                        
Change 14.289  DF/SMS Rmm EDGS records type V can cause INPUT STATEMENT 
VMACEDGS       EXCEEDED error because variable length fields & variable 
Dec  3, 1996   number of fields at the end of the record were not input 
Dec 17, 1996   correctly.  Conditional INPUT of the variables MVDSN1,   
               MVDSNL, MVACCINF and MVDESC with $VARYINGnn. INFORMATS   
               with associated length variable, and INPUT of variables  
               MVAUTID1-MVAUTIDC based on MVACCLST was necessary.       
               Dec 17: Input of MVVOLSEQ must be &PIB.2. vice &PIB.1.   
   Thanks to Richard Fortenberry, Mitsubishi, USA.                      
                                                                        
Change 14.288  Negative tape allocation duration can result when system 
ASUMTALO       clocks are out of synchronization, if the clock delta is 
TRNDTALO       greater than the duration of the allocation, because only
Dec  3, 1996   the start time of allocation had been adjusted.  Now both
               the front-end and back-end timestamps are adjusted, and a
               note is printed on the log that we are adjusting times   
               (and by how much).                                       
   Thanks to Ruth Whitney, CITICORP, USA.                               
                                                                        
Change 14.287  The number of DB2 Plans executed is no longer equal to   
ANALDB2R       the number of observations in DB2ACCT, if DB2 Parallelism
ASUMDB2A       is used.  Variable DB2PARTY (Parallel Type) identifies a 
Dec  3, 1996   "real" plan execution (DB2PARTY='S' or DB2PARTY='O'), but
Dec 19, 1996   observations with DB2PARTY='P' are additional records for
               parallel tasks within a plan execution and must not be   
               counted.  In ANALDB2R and ASUMDB2R, NUMPLANS is now      
               calculated as:                                           
                 IF QWHSRELN GT 4.0 AND DB2PARTY='P' THEN NUMPLANS=0;   
                 ELSE NUMPLANS=1;                                       
               and then NUMPLANS is summed to get total count.          
               Without this change, you will see very, very large counts
               of plans executed and per-plan measures will be very     
               small, if your DB2 application exploits parallelism.     
               Dec 19: The original test QWHSRELN GE 4.1 was changed to 
               QWHSRELN GT 4.0 (because 4.1's value is 4.0999994278!).  
               Also, this change removed the parallelized transactions  
               from being counted as NUMPLANS, but sequential parts or  
               parallelized transactions are still counted in NUMPLANS. 
               I have to count the DB2PARTY='S' transactions, because   
               for a non-parallelized transaction, that's all there is! 
               I hope to review this counting and see if there is a safe
               way to only count 'S' obs for non-parallelized trans.    
   Thanks to Glenn Bowman, Wakefern Food Corporation, USA.              
                                                                        
Change 14.286  DB2 Buffer Statistics in the Accounting Detail Report did
ANALDB2R       not include buffer pools 1 and 2, so they did not cross- 
Dec  3, 1996   foot to the "Total Total" field.  Additional corrections 
               were made and fields on HPOOL/VPOOL usage were added.    
   Thanks to Terry Dehart, First of America Services, USA.              
                                                                        
Change 14.285  Change 14.251 circumvented the error in decoding COLLECT 
VMAC102        in DB2 Trace IFCIDs 21 and 44, but the real fix is:      
Dec  3, 1996     Change both occurrences of  IF I=19 AND J=13 THEN J=20;
                 to                          IF I=19 AND J= 7 THEN J=20;
                 and change the LENGTH of COLLECT back to $ 26.         
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt AG, Germany                     
                                                                        
Change 14.284  Support for Demand Technology's Stress Test SMF record.  
EXTYSTRS       This support decodes records into new dataset TYPESTRS,  
IMACSTRS       but enhancements under development will use your current 
TYPESTRS       TYPE74 and TYPE74CA statistics to create control cards   
VMACSTRS       that will drive Stress Test to simulate that current I/O 
Dec  3, 1996   configuration.                                           
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.283  The HP MeasureWare dataset HPUXGLOB for HP-UX operating  
VMACMWUX       system had incorrect values for some variables, because  
Dec  2, 1996  -the variable PEAKTM should not have been INPUT, and it   
               must be removed (i.e., the line INPUTing PEAKTM was      
               deleted by this change, as was the line LABELing PEAKTM  
               and it was removed from the KEEP= list for HPUXGLOB), and
              -the variable NTPACKRT should have been INPUT, between the
               INPUT of variables NTOUPKTS and NTCOLPCT (and it was     
               LABELed as NET*TOTAL*PACKET*RATE, and added to the KEEP= 
               list for HPUXGLOB).                                      
   Thanks to Al Holtz, Medco Data Corporation, USA.                     
                                                                        
Change 14.282  The archaic ASMVTOC program (which should be replaced by 
ASMVTOC        using DCOLLECT and TYPEDCOL) is also a pig!  For a system
Dec  2, 1996   with 2496 DASD devices, ASMVTOC took 3.25 CPU minutes,   
               10 million EXCPs and 2.5 elapsed hours, while DCOLLECT   
               took 2.72 CPU minutes, 86 thousand EXCPs and 23 elapsed  
               minutes (and got VVDSs, Migration, and Backup data too!).
               Note that the MXG 13.13 version of ASMVTOC either failed 
               during assembly, or assembled but then produced no output
               records when executed, so if you still use ASMVTOC, you  
               will need 14.01 or later (to get Change 14.003).         
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.281  The T102S221 trace dataset did not keep the low and high 
VMAC102        ranges (page range in QW0221PL,PH, index range in KL-KX, 
Nov 23, 1996   and KH-KY), which are needed if you wish to verify that  
               the I/O parallelism partitioning was even, and obs were  
               only output for the record, not for each segment.  The   
               segment variables were added to the KEEP= list, and the  
               OUTPUT T102S221; statement was moved to immediatley be   
               after the @; after the INPUT of QW0221KY.                
   Thanks to Ted Blank, IBM, USA.                                       
                                                                        
Change 14.280  The BETA93 1.6.5 subtype=3 record is written twice, once 
VMACBETA       at the start of print, and once at the end of print.  As 
Nov 23, 1996   there are no resources in the start record, that record  
               is now deleted.  In the SUBTYPE=3 logic, between BETAATTR
               and BETABPGE, insert:                                    
                @; IF BETAATTR NE 'C5'X THEN DELETE; INPUT              
   Thanks to Paolo Carloni, AGIP PETROLI S.p.A., ITALY                  
                                                                        
Change 14.279  HP MeasureWare for AIX variable PROGRAM was added to the 
VMACMWAI       LENGTH statement for $16 (default of $8 was not enough,  
Nov 23, 1996   causing trunctation but no error), and variable SWAPMEM  
               was added to the KEEP= list for dataset HPAICONF.        
   Thanks to Lorenzo Wright, NCCI, USA.                                 
                                                                        
Change 14.278  Support for VTAM Session Management Exit SMF record that 
EXTYVSME       is described in Appendix K of IBM ITSC Red Book "Network 
IMACVSME       Security Using the VTAM Session Management Exit, pub nr  
TYPEVSME       GG24-3544-00).                                           
VMACVSME                                                                
Nov 23, 1996                                                            
   Thanks to Kwok Wong, Commonwealth Bank of Australia, AUSTRALIA.      
                                                                        
Change 14.277  IMAC6ESS is a user exit that permits decoding of the ESS 
IMAC6ESS       segment in the type 6 SMF record, and variable ROOM was  
VMAC6          used in that commented-out code, but variable ROOM also  
Nov 23, 1996   exists in TYPE26J2, so to prevent a possible conflict, I 
               renamed the ROOM in IMAC6ESS/VMAC6 to ROOM6.  This should
               cause no compatibility issue, since ROOM was not kept in 
               TYPE6 unless you tailored IMAC6ESS, and ROOM from TYPE26 
               was not kept in PDB.JOBS unless you tailored IMACPDB.    
   Thanks to Helgund Linck, BASF Computer Services GmbH, GERMANY.       
                                                                        
Change 14.276  Change 14.040 inadvertently relocated the code to decode 
VMACTCP        FTPLOCAL and FTPREMOT in the TYPETCPF dataset, causing   
Nov 23, 1996   those two variables to be missing in TYPETCPF. To correct
               copy the 16 lines beginning with FTPLOCAL=PUT... ending  
               with FTPREMOT=COMPRESS... so they are immediately before 
               the %%INCLUDE SOURCLIB(EXTYTCPF) statement.              
   Thanks to Helgund Linck, BASF Computer Services GmbH, GERMANY.       
                                                                        
===Changes thru 14.275 were included in MXG 14.08A dated Nov 18, 1996===
                                                                        
Change 14.275  Cosmetic changes.  Duplicate variable names were removed 
IMACAAAA       from KEEP= list in VMACHARB and VMACMWAI,  IMACAAAA was  
VMACHARB       updated with new member names that were overlooked, and  
VMACMWAI       the AS/400 support for Release 3.7 was listed under 14.08
Nov 18, 1996   in the list of Significant changes in 14.08.             
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.274  SuperIND$FILE SMF record had some character fields off by
VMACSUIN       one byte, because the  +1  between XFERMODE and INBUFFSZ 
Nov 18, 1996   does not belong and was deleted.                         
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.273  MXG 14.05-08 only. INVALID DATA FOR R744FCTM and FCSQ.   
VMAC74         Added by Change 14.165, conditionally INPUT by Change    
Nov 15, 1996   14.196, the fields were still wrong in MXG 14.07 because 
               the DSECT shows BL8, like the two preceding fields so    
               I expected &RB.8.6 fields, but actual data values show   
               the two fields must be INPUT as &PIB.8.6 instead!        
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt AG, Germany                     
                                                                        
Change 14.272  SAP Umbrella Transaction's Program and Tranname are kept 
IMACICOC       in variables OMUMBUSR and OMUMBPTC, while the variables  
Nov 14, 1996   PROGRAM and TRANNAME contain the name of the SAP Primary 
               Program and Transaction.  If you want your SAP reports to
               show the Umbrella names rather than Primary names, you   
               can insert these lines in your reporting programs:       
                 IF OMUMBUSR GT ' ' THEN PROGRAM=OMUMBUSR;              
                 IF OMUMBPTC GT ' ' THEN TRANNAME=OMUMBPTC;             
               You could insert these lines in member IMACICOC to store 
               the Umbrella names into PROGRAM and TRANNAME in CICSTRAN,
               but then you could not go back to determine the Primary  
               names, if they were ever needed.  Thus there was no code 
               changed in MXG by this Documentation Note Change.        
   Thanks to Joan Nielsen, PKS Information Services, Inc, USA.          
                                                                        
====Changes thru 14.271 were included in MXG 14.08 dated Nov 13, 1996===
                                                                        
Change 14.271  Support for AS/400-OS/400 Release 3.7.0 added many new   
VMACQAPM       variables to datasets QAPMBUS,QAPMCONF,QAPMJOBS,QAPMMIOP,
Nov 12, 1996   and QAPMRESP.  Support for all fields added by 3.6.0 are 
               also now supported.  All 3.7.0 changes were compatible,  
               except for the QAPMETH dataset, which had ETLFRT expanded
               from three to six bytes (and I had misspelled it!). The  
               3.6.0 partial changes in CHANGE 14.098 were INCOMPATIBLE.
   Thanks to Clark Jennings, Reynolds Metals Company, USA.              
                                                                        
Change 14.270  Cosmetic.  All of the LABEL, FORMAT, INFORMAT, and LENGTH
VMAC110        statements in the Statistics code (Subtype=2) were moved 
Nov 12, 1996   together into single statements with alphabetic lists.   
                                                                        
Change 14.269  Execution of MXG Software under Unix requires each PDS   
IEBUPDTE       member become an individual file with suffix "sas", AND  
Nov 12, 1996   the filename must be in lower case!  The IEBUPDTE.SAS    
               program creates the individual files, but their names are
               in upper case, causing execution under UNIX to fail!     
               This change inserts MEMBER=LOWCASE(MEMBER); after the    
               MEMBER=TRIM.... statement to create the members in lower 
               case.  Make sure the output directory is empty before    
               running the IEBUPDTE.SAS program, as it appears that if  
               the output file name already exists as an upper case name
               that the data is copied but the name is not re-cased!    
   Thanks to Mike Orlando, Nalco Chemical Company, USA.                 
                                                                        
Change 14.268  Protection was added to eliminate DIVISION BY ZERO error 
VMAC7072       if IOCCOEFF was zero.  I had assumed IOCCOEFF would never
Nov 12, 1996   be zero, but if it was, the divide error occurred.       
RMFINTRV       Also, PGPIOTM is now forced missing for MVS/ESA 5.2 or   
Mar 10, 1997   higher.  When IO units could be based on either EXCP or  
               IOTM, both PGPEXCP and PGPIOTM (raw IO EXCP count or raw 
               IO Connect time) were calculated (even though only one   
               was ever valid), because IBM did not flag whether you had
               specified EXCP or IOTM for your IO Service Units).  But  
               with MVS/ESA 5.2+, IO Service Units can only be based on 
               EXCP count, so PGPIOTM has no meaning.                   
               Mar 10, 1997:  Because PGPIOTM in TYPE72 is missing, the 
               variables BATIOTM, CICSIOTM, IMSIOTM, TSOIOTM, OTHRIOTM  
               in dataset RMFINTRV will also be missing.                
                                                                        
Change 14.267  This report showed zeros for channel busy in LPAR mode.  
ANALPATH       Change  PNCHANBY=MIN(PNCHANBY,PCHANBY);                  
Nov 12, 1996   to read PNCHANBY=MAX(PNCHANBY,PCHANBY);                  
Nov 18, 1996   (Nov 12 text had PCHANBY on left, corrected Nov 18.)     
   Thanks to Jim Ray, Branch Banking and Trust, USA.                    
                                                                        
Change 14.266  MXG 14.04-MXG 14.07.  The word "NEW" must be deleted from
VMACITRF       line 245 to prevent INPUT STATEMENT EXCEEDED ERROR.  This
Nov  4, 1996   was introduced by Change 14.128 and incomplete testing.  
   Thanks to Siegfried Trantes, IDG Informationsvararbeitung, GERMANY.  
                                                                        
Change 14.265  Support for HP's MeasureWare for SUN operating system.   
EXHPSUTT       The same datasets that were created by HP's PCS for SUN  
IMACMWSU       are created, with one new dataset:                       
TYPEMWSU         Dataset  Description                                   
VMACMWSU         HPSUTRAN Transaction Tracker Record                    
Nov  1, 1996                                                            
   Thanks to Gary Alexander, BMC, USA.                                  
                                                                        
Change 14.264  Support for CA's ENDEVOR SMF record creates two datasets 
EXENDVAC         Dataset   Description                                  
EXENDVSE         ENDEAVAC  Action Record                                
FORMATS          ENDEAVSE  Security Record                              
IMACENDV       The Action record has been validated with actual data,   
TYPEENDV       but no security records had been created (there were no  
VMACENDV       security violations!) so that code is untested.          
Nov  1, 1996                                                            
   Thanks to Grace Pergament, Amdahl Corporation, USA.                  
   Thanks to Susan Walters, Michelin Tire Corporation, USA.             
                                                                        
Change 14.263  Dataset DCOLAG (Aggregate Group Definitions) has several 
VMACDCOL       fields incorrect, because the @208 preceding DAGEXPYR    
Nov  1, 1996   should have been @209.                                   
   Thanks to Gary Miner, Fidelity Investments, USA.                     
   Thanks to Lawrence Jermyn, Fidelity Investments, USA.                
                                                                        
Change 14.262  Calculation of DOMDSPCH and ADJTARG must be changed to:  
VMACAPAF         IF ACTIVE GT 0 THEN DO;                                
Nov  1, 1996       DOMDSPCH=INTERVAL*DOMDSPCH/ACTIVE;                   
                   ADJTARG =INTERVAL*ADJTARG /ACTIVE;                   
                 END;                                                   
               (The variables are divided by INTERVAL earlier in code.) 
   Thanks to Stephen H. Lothes, Flexlogic, Inc, USA.                    
                                                                        
Change 14.261  Using the new High Level Assembler PGM=ASMA90 instead of 
ASMIMSLG       its predecessor Assembler PGM=IEV90, a syntax error that 
Nov  1, 1996   was overlooked by IEV90 was encountered.  The statement  
               STATS=SKIP following WRITEMSG IMSM101I needs a comma     
               (STATS=SKIP,) for the continuation.                      
   Thanks to ???, BBK, SPAIN.                                           
                                                                        
Change 14.261A The statement MONICASP=MONACISP; must be changed to      
TYPEMON8                     MONICASP=MONACASP;  to pick up the correct 
Nov  1, 1996   temporary value.                                         
   Thanks to Alfred Brunner, COMLAB Gmbh, GERMANY.                      
                                                                        
Change 14.260  DFSMS/RMM SMF records caused INPUT STATEMENT EXCEEDED.   
VMACEDGS       In the EDGATYPE='O' code, the test IF MOCFLG EQ '08'X ...
Nov  1, 1996   must be replaced with  IF MORTYPE EQ '000000000000'X ... 
               and  IF MOVOLNO GT 0 AND MOCFLG NE '08'X THEN DO ...     
               must be replaced with only IF MOVOLNO GT 0 THEN DO ...   
               In the EDGATYPE='P' logic, the statement                 
                IF MOVOLNO GT 0 THEN DO _I_=1 TO MOVOLNO; must be       
                IF MPVOLNO GT 0 THEN DO _I_=1 TO MPVOLNO; must be       
   Thanks to Siegfried Trantes, IDG Informationsvararbeitung, GERMANY.  
                                                                        
Change 14.259  Support for Omegamon for VTAM V200 was not complete; an  
VMACOMVT       extra four bytes added to IRNUM=13 segment was overlooked
Oct 30, 1996   in Change 14.268.  After input of OM13GT, insert:        
                   OM13DT  &PIB.4.  /*NCP*INTERVAL*DELTA*TIME*/         
               and add OM13DT to KEEP= list.                            
   Thanks to Neil McMenemy, Royal Bank of Scotland, SCOTLAND.           
                                                                        
Change 14.258  Goal Mode variable RPTCLASS was added to PDB.JOBS. The   
IMACPDB        variable name was added to the _PDB30_4 macro, and to    
Oct 30, 1996   the ID statement in macro _PDBSUMS (just like SRVCLASS). 
   Thanks to Steve Colio, CIGNA, USA.                                   
                                                                        
Change 14.257  The 22 new Shared Paging variables in TYPE71 starting    
VMAC71         with SHPBINAU and thru SHPGLOAV need to be INPUT as      
Oct 25, 1996   &RB.4. instead of &PIB.4.                                
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.256  Support for APAR OW22209 which (compatibly) adds fourbyte
VMAC21         counters for bytes read and bytes written, replacing the 
Oct 24, 1996   two byte counters that could overflow! Also OW25262.     
                                                                        
Change 14.255  Formats MGBYTES and MGBYTRT now format Petabytes, because
FORMATS        I finally found (in an IEEE Computer Society article)    
Oct 24, 1996   that 1000 Tera is 1 Peta!                                
                                                                        
Change 14.254  TYPE72GO variables R723CSRS, R723CSPA, R723CSPE are still
VMAC7072       wrong!  Their informats are &RB.8.6, &RB.8., and &RB.8.  
Oct 24, 1996   respectively.                                            
   Thanks to Bruce Widlund, Merrill Consultants, USA.                   
                                                                        
Change 14.253  The JCL example showed //SYSID instead of //SYSIN.       
ANALDB2C       While minor, its still worth fixing, since a non-expert  
Oct 23, 1996   with JCL might not recognize the misspelling.            
   Thanks to David Middlebrook, National Exchange of Police, AUSTRALIA. 
                                                                        
Change 14.252  An invalid RACF segment for RACFTYPE=03 caused STOPOVER. 
VMAC80A        Although IBM documents a single length of 1 byte, the    
Oct 23, 1996   segment had 151 bytes!  To protect, insert:              
                  SKIP=RACFDLN-1;                                       
                  IF SKIP GT 0 THEN INPUT +SKIP @;                      
               just before the END; that ends the WHEN (3) DO; clause.  
   Thanks to Silva Viviani. Fondo Commune D.C. Rurali Trentine, ITALY.  
                                                                        
Change 14.251  INVALID SECOND ARGUMENT TO FUNCTION SUBSTR in DB2 102 due
VMAC102        to incorrect length statement for variable COLLECT, which
Oct 23, 1996   must be $28 instead of $26.                              
   Thanks to Dr. Alexander Raeder, Karstadt, AG, Germany                
   Thanks to Harmuth Beckmann, Karstadt, AG, Germany                    
                                                                        
Change 14.250  Cosmetic.  TMON for CICS variables CPUTCBTM, UNKNCPTM and
TYPETMON       CPUTM were not formatted as TIME12.2, but now are.       
Oct 19, 1996                                                            
   Thanks to Chris Weston, SAS Institute Cary, USA.                     
                                                                        
Change 14.249  Support for HP's Measureware for AIX has been written and
IMACMWAI       tested.  The same datasets that were created by HP's PCS 
TYPEMWAI       for AIX are created, although some variables were deleted
VMACMWAI       and some new variables are created.                      
Oct 17, 1996                                                            
   Thanks to Lorenzo Wright, NCCI, USA.                                 
                                                                        
Change 14.248  Support for Applied Software's SUPER IND$FILE product's  
VMACSUIN       SMF record, which creates dataset SUPERIND with stats on 
Oct 17, 1996   file trasnfer with that utility program under TSO.       
   Thanks to George Briscoe, MBNA, USA.                                 
                                                                        
Change 14.247  Support for Oracle 7.0.16 and 7.2.3 is in MXG 14.02 and  
VMACORAC       later, as there was no change in the format of the SMF   
Oct 17, 1996   record created by those releases.                        
   Thanks to Paul Hassett, U.S. Department of Transporation, USA.       
                                                                        
Change 14.246  AS/400 variable GDES4 (storage size) was increased by IBM
VMACQAPM       causing truncation of the size of installed storage.  The
Oct 16, 1996   &NUM.7. after GDES4 was changed to &NUM.10. to correct.  
   Thanks to Ed Shigo, Nabisco, USA.                                    
                                                                        
Change 14.245  Testing with intentionally duplicated SMF data uncovered 
BUILDPDB       cases where the PROC SORT NODUP did not remove duplicate 
BUILDPD3       observations, because the BY list was underspecified.    
BUILD002       For TYPE30MU, add PRODOWNR PRODNAME PRODQUAL PRODVERS to 
BUILD003       its BY list.                                             
MONTHBLD       For TYPE74CA, add DEVN SMFTIME to its BY list.           
WEEKBLD        For TYPE74CF, add R744FNAM SMFTIME to its BY list.       
Oct 16, 1996   For TYPE74ST, add R744SNAM SMFTIME to its BY list.       
               For TYPE77, add QNAME RNAME SMFTIME to its BY list.      
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.244  Change 12.179 was not applied to VMACIMSA, used by the   
VMACIMSA       ASMIMSLG processing, causing SAP variables SAPTIMTR,     
Oct 15, 1996   SAPCPUT, and SAPELTI to be incorrect.                    
   Thanks to Markus Joos, SAS Germany, GERMANY.                         
                                                                        
Change 14.243  Support for RACF 2.1 IRRDBU00 unload utility has now been
VMACRACF       verified for most records.  The only change was that the 
Oct 11, 1996   variable TIMEOUT in RACF0230 should be INPUT as TIME5.,  
               instead of the previous ZDB5. input.                     
   Thanks to Peter Cannone, The Great Atlantic & Pacific Tea Co., USA.  
                                                                        
Change 14.242  A truncated catalog cell=04 record caused INPUT STATEMENT
VMAC6156       EXCEEDED RECORD LENGTH.  The cell has VOLHYKLN=2, but    
Oct 10, 1996   that is at the end of the record, and there was no high  
               key following the key length.  Protection added so that  
               MXG checks to see there is still data in the record prior
               to INPUT of VOLHIKY.                                     
   Thanks to Raff Rushton, Great Western, USA.                          
                                                                        
Change 14.241  Support for RACFEVNT=27 (GENERAL AUDIT) creates the new  
EXTY8027       TYPE8027 dataset. RACFTYPE=36 is now decoded in SETROPS  
IMAC80A        (RACFEVNT=24) records.                                   
VMAC80A                                                                 
Oct 10, 1996                                                            
   Thanks to Robert Miles Standish, Dean Witter Trust Company, USA.     
                                                                        
Change 14.240  IPAC SMF records cause INVALID ARGUMENT TO FUNCTION MDY  
VMACIPAC       (and print hex dump with "RDS " in bytes 15-18) because  
Oct  9, 1996   the SDATE and EDATE are julian dates, not MMDDYY as the  
               vendor documented.                                       
   Thanks to Shaheen Pervais, Trans Union, USA.                         
                                                                        
Change 14.239  The TAILORNG= JCL parameter added by Change 14.140 is bad
MXGSAS         and in the sample MXGSAS JCL Procedureit must be:        
Oct  7, 1996     TAILORNG='*.NULLPDS,VOL=REF=*.NULLPDS',                
               (like the LOAD= and SASAUTO= symbolic parameters).       
               With the delivered TAILORNG=NULLFILE, a JCL error occurs 
               (because NULLFILE is a sequential file, not a PDS).      
   Thanks to Mr. Harnischmacher, TEZ Test und Entwicklungszentrum, GER. 
                                                                        
Change 14.238  Archaic IDMS 10.2.1 SMF records caused STOPOVER because  
VMACIDMS       the subtype 2 record is 4 bytes shorter, and the subtype 
Oct  1, 1996   6 is one byte shorter than the code expected.            
Oct  8, 1996   At the end of the INPUT for PMHRTYPE=2, change the +12 to
Oct 16, 1996   +8, and change SKIP=SKIP-108; to SKIP=SKIP-104;          
               I suspect a CA PTF changed the record, because I am sure 
               this code ran against 10.2.1 records in past years, but  
               the fix protects both 10.2.1 and 12.01 records.          
              -In the PMHRTYPE=6 code, replace the line with  +1        
               after the line inputting JRLFILE with:                   
                 @; IF SMFHVER GE '1201' THEN DO;                       
                      INPUT +1 @;  SKIP=SKIP-1;                         
                 END;                                                   
               and change SKIP=SKIP-105; to SKIP=SKIP-104;              
              -In the PMHRTYPE=18 code, change code now reading:        
                        DBKPGGRP    &PIB.2.                             
                                        +2                              
                        DBKKYFMT    &PIB.4.                             
                        DBKLTYPE    &PIB.4.                             
                  @;                                                    
                  SKIP=SKIP-14;                                         
                  IF DBKOWNER='80'X THEN DO;                            
               to instead look like this:                               
                        DBKPGGRP    &PIB.2.                             
                  @;                                                    
                  SKIP=SKIP-4;                                          
                  IF SMFHVER GE '1201' THEN DO;                         
                    INPUT               +2                              
                    @;                                                  
                    SKIP=SKIP-2;                                        
                  END;                                                  
                  INPUT DBKKYFMT    &PIB.4.                             
                        DBKLTYPE    &PIB.4.                             
                  @;                                                    
                  SKIP=SKIP-8;                                          
                  IF DBKOWNER='80'X THEN DO;                            
   Thanks to Paul Hasset, U.S. Department of Transportation, USA.       
                                                                        
Change 14.237  Candle's EPILOG for MVS records with SM180SUB='RCCH' are 
VMACEPMV       not the expected record and are deleted.  The test for   
Sep 30, 1996   'RSRC' was expanded to OR SM180SUB='RCCH' THEN DELETE;   
               Also, the following INPUT statement is now conditionally 
               executed as IF LENGTH-COL+1 GE 152 THEN INPUT ....       
   Thanks to Dan Almagro, Automobile Club of Southern California, USA.  
                                                                        
Change 14.236  Support for new RMF type 74 subtype 100 record, called   
EXTY74LK       the IRLM 'long lock' package, added by APAR OW20579 and  
IMAC74         others, that measures held time for IRLM Structure locks 
VMAC74         in the Coupling Facility.  This APAR has been in FIXTEST 
Sep 28, 1996   for quite a while but has been distributed to some       
               customers, and there is an RMF User report that displays 
               locks held/waited.  New dataset TYPE74LK contains one    
               observation for each IRLM lock structure name.  This code
               has not been data-tested as yet.                         
                                                                        
Change 14.235  Support for several new fields (mostly SMS-related, like 
VMXGHSM        Data, Storage, and Management Classes) added to the HSM  
Sep 28, 1996   MCC record.  Additionally the SC,DC, and MC class names  
Oct  9, 1996   in both MCC and MCD records are now input only if their  
               length is non-zero; some zero-length records had hex     
               zeroes instead of blanks for these name fields. Also, the
               INFILE statements needed LENGTH=LENGTH COL=COL added.    
   Thanks to Terry Duchow, U.S. Postal Service, USA.                    
                                                                        
Change 14.234  PRO/SMS support in Change 14.207 was incorrect; test data
EXPROSRE       for subtype 1 has now been verified, but subtype 2 record
IMACPROS       documentation disagrees with actual content of test data.
VMACPROS       There are now two datasets created:                      
Sep 28, 1996       Dataset    Subtype     Description                   
Oct 16, 1996       PROSMS       1         Message                       
Nov  1, 1996       PRORECOV     2         Recovery Performed            
               Both datasets have been tested with actual data.         
   Thanks to Warren Hayward, TJX Companies, USA.                        
                                                                        
Change 14.233  TYPE89 usage data variable MULCURD, for Batch Pipes, was 
VMAC89         incorrectly input.  The input format of MULCURD is set by
Sep 26, 1996   the value of MULTCURT, but MXG had reversed the INPUT for
               MULTCURT 2 and 3.  The correct statements should be:     
                 IF      MULCURT EQ 1 THEN INPUT MULCURD  &RB.8.2 @;    
                 ELSE IF MULCURT EQ 2 THEN INPUT MULCURD &PIB.8.  @;    
                 ELSE IF MULCURT EQ 3 THEN INPUT MULCURD  &RB.8.  @;    
               The choice of format for MULCURD is set by the product's 
               FUNCTIONDATA request in its macro IFAUSAGE; previous data
               records contained MULCURT=1, which correctly read MULCURD
               but BatchPipes sets MULCURT=3, exposing the error.       
   Thanks to Michael Oujesky, MBNA, USA.                                
                                                                        
Change 14.232  HSM warning "FSRTVOLS CAN CONTAIN ONLY 30 BYTES" is writ 
VMACHSM        in error.  The two lines preceding the PUT of that       
Sep 25, 1996   message, now reading   IF LENGTH(FSRTVOLS) GT 23 THEN ...
               must be changed to:    IF LENGTH(FSRTVOLS) GT 30 THEN ...
   Thanks to Robert Miles Standish, Dean Witter Trust Company, USA.     
                                                                        
Change 14.231  Change 14.167 was implemented and printed incorrectly.   
DIFFDB2        The four lines after that change that start with:        
Sep 25, 1996     IF QWHSISEQ GE 1 AND PREVSSID .... must be changed to: 
                 IF SEQCHECK GE 1 AND PREVSSID ....                     
               One source of the skipped sequence numbers (QWHSISEQ) is 
               CA's INSIGHT monitor for DB2.  When INSIGHT is started at
               DB2 startup, several ISEQs are skipped, and several ISEQs
               are skipped at shutdown.  CA is investigating.           
   Thanks to Tom Parker, Hogan Systems, USA.                            
                                                                        
Change 14.230  Huron dataset HURN47 had zero observations if there were 
VMACHURN       no external resource segments at the end of the record.  
Sep 23, 1996   After the END; statement that ends DO I=1 TO HU47XSNO;   
               insert:                                                  
                 IF HU47XSNO EQ 0 THEN DO;                              
                   %%INCLUDE SOURCLIB(EXHRN47);                         
                 END;                                                   
   Thanks to Mark Totleben, Farm Bureau Insurance, USA.                 
                                                                        
Change 14.229  Support for Interlink's Harbor 4.1 SMF record creates    
EXHARARC      nine datasets for that backup product:                    
EXHARBKP       Subtype  Dataset    Description                          
EXHARCON         01     HARBBKUP   Harbor Backup Request Info           
EXHARDIS         02     HARBREST   Harbor Restore Request Info          
EXHARFIL         03     HARBARCH   Harbor Archive Request Info          
EXHARMIG         04     HARBRETR   Harbor Retrieve Request Info         
EXHARREC         05     HARBDIST   Harbor Distribution Info             
EXHARRES         06     HARBMIGR   Harbor Migration Info                
EXHARRET         07     HARBRECA   Harbor Recall Info                   
FORMATS          08     HARBCONS   Harbor Consolidation Info            
IMACHARB         09     HARBFILE   Harbor File Pickup st                
TYPEHARB      The first two subtypes have been validated with test data.
VMACHARB                                                                
Sep 22, 1996                                                            
   Thanks to Paul Hassett, U.S. Department of Transportation, USA.      
                                                                        
Change 14.228  Support for EOS (Change 14.143) wasn't correct; the Audit
FORMATS       records were INCOMPATIBLY changed, causing MXG to trash   
VMACWSF       the WSFAUDIT dataset (but there was no execution error,   
Sep 22, 1996  and the other datasets were validly created).  There were 
              additional compatible changes made to EOS (aka WSF2):     
              New values for format MGWSFAC                             
              New Audit variables in dataset WSFAUDIT:                  
               AUDCFO  - Form Used to Create                            
               AUDCUSR - Report Owned By                                
               AUDCTIM - Report Capture Datetimestamp.                  
              New event variables in dataset WSFEVTSC:                  
               ACCIPAD - IP address                                     
               ACCLUTY2 - LU Type (VTAM or TCP/IP)                      
               ACCRESP5 - Responses LE 30 seconds                       
               ACCRESP6 - Responses LE  2 minutes                       
               ACCRESP7 - Responses LE  5 minutes                       
               ACCRESP8 - Responses GT  5 minutes                       
   Thanks to Judy Arroyo, Summit Bank, USA.                             
                                                                        
Change 14.227  Variable R742PSTA in dataset TYPE74PA is now decoded to  
FORMATS        describe path status, based on APAR OW22735, with new MXG
VMAC74         format $MG074ST.                                         
Sep 20, 1996                                                            
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.226  DB2 Group Buffer Pool dataset DB2GBPST repeats the first 
VMACDB2        buffer pool's data because the pointer was not moved.    
Sep 18, 1996   Insert  @OFFQBGL @; before the  DO _I_=1 TO NRQBGL;      
               statement, and then remove the @OFFQBGL from the INPUT   
               statement after that DO statement.                       
   Thanks to Bertolotti Emmanno, Banca Commerciale Italiano, ITALY      
   Thanks to Burani Daniela, Banca Commerciale Italiano, ITALY          
                                                                        
Change 14.225  CICS/ESA 3.3, with optional ONC RPC feature creates a 5th
VMAC110        TCB in SMF 110 Statistics STID=57 records that was not   
Sep 18, 1996   expected in MXG, causing MXG to print "UNEXPECTED (NEW)  
Oct  9, 1996   DATA WAS FOUND" message on the SAS log.  The APAR that   
               made the change was PN63215, closed in 1994, so it seems 
               that few sites have the ONC RPC feature on CICS 3.3.     
               MXG supports the 5th TCB for CICS 4.1 (and the 6th for   
               CICS 5.1), so only the 3.3 logic had to be corrected.    
               Oct 9: DSGNTCB is supposed to be the number of TCBs, but 
               in some CICS 3.3 records, it is zero, so the logic was   
               revised.                                                 
   Thanks to Siegfried Trantes, IDG, GERMANY.                           
                                                                        
Change 14.224  Labels for CONTROL-T variables DENSITY, RECFM, TRTCH, and
VMACCTLT       VDENSITY were corrected.                                 
Sep 16, 1996                                                            
   Thanks to Paul Hassett, U.S. Department of Transportation, USA.      
                                                                        
Change 14.223  The INFILE statements for TANDCTLR and TANDLINE must be  
VMACTAND       LRECL=86 and LRECL=128 respectively.  While comments had 
Sep 12, 1996   correct values, both INFILE statements had LRECL=342.    
   Thanks to Alan Phelan, Allied Irish Bank, IRELAND.                   
                                                                        
Change 14.222  ASM fails; last minute changes were not tested.  Find    
ASMDALO        Find 'R12,R11' and remove the blank after MXGDALO        
Sep 12, 1996   Exclude ALL, Find 71,71 'X' ALL  and in those four lines 
               move the X in column 71 to column 72 (so the Assembler   
               will recognize them as continuations).                   
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
====Changes thru 14.221 were included in MXG 14.07 dated Sep 11, 1996===
                                                                        
Change 14.221  Support for IMS 5.1 Fast Path records using TYPEIMS7 to  
VMACIMS        read IMSLOG was added.  The ASMIMSLG processing member   
Sep 10, 1996   VMACIMSA already supported the Fast Path changes; this is
               the same code, moved into the VMAC used by TYPEIMS7.     
   Thanks to MH, Allied Irish Bank, IRELAND.                            
                                                                        
Change 14.220  CICS Exclude logic for CICS 4.1 had a missing semicolon  
IMACEXCL       (the line BASETIME=...) and the IF SMFPSRVR GE 41.1 THEN 
Sep 10, 1996   must be IF 33.0 LT SMFPSRVR LE 41.0 THEN ...             
   Thanks to Pat Quinnette, Principal Mutual Life Insurance, USA.       
                                                                        
Change 14.218  Support for SNMP IFENTRY tables from TRENDSNMP product   
EXTRSIFE       from Desktalk, which polls SNMP agents and builds SYBASE 
IMACTRSN       tables, either under UNIX or WINDOWS-NT.  MXG can execute
TYPETRSN       either on an ASCII platform that connects to the SYBASE  
VMACTRSN       system and uses PROC ACCESS to directly convert the data 
Sep 10, 1996   into SAS datasets, or instead, you can use the SYBASE BCP
               utility to create an ASCII flat file that MXG can read on
               the PC/Workstation, or that ASCII file can be shipped to 
               MVS and processed there.  Macro _SIFEN uses PROC ACCESS, 
               Macro _TIFEN uses INFILE/INPUT to read BCP data.  This is
               the preliminary implementation and has been tested, and  
               will read either the Rate table or the History Table.    
               This code does no date/time selection; you get all of the
               data in the SYBASE table, so you will need to select the 
               desired data.  Future enhancements to provide selection  
               of "just yesterday's" data are planned, as are support   
               for additional SNMP tables and RMON data.  Benchmarks on 
               my 64MB 166MHz Pentium with Windows NT 3.51 reading 20MB 
               SYBASE table that contained 6 days hourly data from 1000 
               devices (66,816 rows):                                   
                  PROC ACCESS convert SYBASE to SAS:   265 seconds      
                  or                                                    
                  BCP dump SYBASE to ASCII file        471 seconds      
                  INFILE/INPUT read BCP dump            21 seconds      
   Thanks to Bernie Davidovich, Predictive Systems, USA.                
                                                                        
Change 14.217  DB2 4.1 variables QTGA and QBGA were trashed, because the
VMACDB2        offsets were input from the wrong location.  After test  
Sep 10, 1996    IF QWHSNSDA GE 11 THEN ... the INPUTs with @81,85,87,89,
               93, and 95, should be 97,101,103,105,109,111.            
   Thanks to Bertolotti Emmanno, Banca Commerciale Italiano, ITALY      
   Thanks to Burani Daniela, Banca Commerciale Italiano, ITALY          
                                                                        
Change 14.216  Three new utilities are now available for Beta testing:  
UTILCONT         UTILCONT produces a PROC CONTENTS-like output with the 
UTILFATD                  size (MegaBytes and observations) of each data
UTILSIZE                  set in the library pointed to by the PDB DDna.
Sep 10, 1996     UTILFATD reads the directory of all of your FAT disks  
                          connected to this PC and calculates how much  
                          space the data would take on hard disks of    
                          varying cluster size (512 to 32K).            
                 UTILSIZE reads an MVS PDS to calculate how much space  
                          is needed to put that PDB library on a FAT    
                          disk on your PC for all valid Cluster Sizes.  
                          Large Cluster sizes may waste large amounts of
                          space when you have many little files.  This  
                          is useful to predict how much free space you  
                          will need on your PC to store the MXG source  
                          library.                                      
                                                                        
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.215  This is the Beta Version of the new MXG DASD Allocation  
ASMDALO        Monitor, which creates an SMF record for each of these   
EXDALOAL       DADSM events:                                            
EXDALOEX            DALOALOC   ALLOCATE                                 
EXDALOPA            DALOSCRA   SCRATCH                                  
EXDALOPP            DALORENA   RENAME                                   
EXDALORE            DALOEXTN   EXTEND                                   
EXDALOSC            DALOPART   PARTIAL RELEASE                          
EXDALOVS            DALOPPRL   PARTREL PARTIAL RELEASE                  
IMACDALO            DALOVSAM   VSAM EXTEND WITHOUT A DEB                
TYPEDALO       and MXGDALO can be enabled for selected devices and/or   
VMACDALO       selected datasets.  This monitor can be used to identify 
Sep  9, 1996   jobs that are living on DASD extents (so you can increase
               their primary allocation to avoid exposure to B37/E37    
               ABENDS.  This monitor can be used to track (and charge?) 
               usage of temporary DASD space.  Other uses are expected. 
               Read the comments in ASMDALO before you proceed.         
                                                                        
Change 14.214  Variable SERVUNIT (total service units) was stored in 4  
BUILDPDB       bytes, whick keeps only 7 significant digits;  a large   
BUILDPD3       value in SERVUNIT (714 million units) was truncated by   
BUIL3005       1000 units because 5 bytes storage is required to exactly
BUILD005       represent a numeric field that was input from four binary
VMAC30         bytes.  SERVUNIT is now stored in 5 bytes.  But the real 
VMAC434        error here was the site's MSOCOEFF=3.0, way too large.   
VMACTSOM       An MSOCOEFF=.0001 is MXG's recommendation, so that the   
Sep 10, 1996   MSO units do NOT contribute to SERVUNIT - only CPU time  
Mar 10, 2003   and I/O operations are real computer work - and then the 
               value of SERVUNIT can be used to measure capacity.  The  
               CPU+I/O service was 31 million units, showing the large  
               MSOCOEFF made the SERVUNIT field meaningless!            
               Mar 10, 2003:  Original text has .000001 but .0001 is the
               minimum value, other than zero.                          
               Feb 21, 2005:  See MXG Technical Note in Newsletter 47;  
               IBM Discovered that the smallest value is actually .0122.
               Any value less than that value will be reported in the   
               MSOCOEFF in TYPE72GO, but only 0.0122 will be used!      
                                                                        
Change 14.213  Support for NETVIEW 3.1 compatible changes to type 37    
VMAC37         record added two fields, BRFEDCP1 and BRFPCCP1 to the    
Sep  8, 1996   generic event report.  While these fields were added     
               compatibly, MXG Version 13.13 failed with NETVIEW 3.1    
               because of MXG logic error that was fixed by MXG 14.090. 
   Thanks to Herb G. Strozinsky, Burlington Northern Sante Fe, USA.     
                                                                        
Change 14.212  CICS/ESA 4.1+ GMT offset MCTMNTAD is not exact hours from
VMAC110        GMT (examples were off by 3.15, 0.9, and 0.6 seconds).   
Sep  6, 1996   IBM lists APARs OW02410,OW10435,OW14651,OW14350,OW15036  
               and (most likely) OW15111 as the corrections, but the IBM
               error is now circumvented by using the equation:         
                   MCTMNTAD=3600*FLOOR((MCTMNTAD+900)/3600);            
               to exactly set the GMT offset to the nearest hour.       
               With CICS 4.1 and later, MXG uses MCTMNTAD to convert the
               CICSTRAN variables STRTTIME and ENDTIME to local time,   
               so the overall impact was minimal, unless you tried to   
               compare CICS transaction start/stop times with TPX logon 
               times; the CICS error had transactions starting before   
               the terminal had logged on to CICS!                      
   Thanks to Pat Quinnette, Principal Mutual Life Insurance, USA.       
   Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.       
                                                                        
Change 14.211  CICS/ESA 4.1+ does not create obs in STID=4 statistics   
CICINTRV       dataset CICTSR, causing variable A02TTA in CICEODRV and  
Sep  6, 1996   CICINTRV to be missing.  However, the transaction counts 
               are in variable XMRAC in CICXMR, which was previously not
               summarized in CICINTRV, but with this change now is, and 
               if A02TTA is missing, the value of XMRAC will be stored  
               into A02TTA so your old reports will be protected.  Both 
               A02TTA and XMRAC are kept in CICINTRV/CICEODRV.          
   Thanks to Tracy Blackstone, Kaiser Permanente, USA.                  
                                                                        
Change 14.210  Datasets PDB.RMFINTRV, PDB.JOBS, PDB.STEPS, PDB.PRINT    
BUILDPDB       PDB.SMFINTRV, PDB.SPUNJOBS and (JES2 only) PDB.NJEPURGE  
BUILDPD3       are built in sort order, but because they are built in a 
BUILD002       DATA step (rather than directly by PROC SORT, as are most
BUILD003       other PDB datasets), SAS does not know they are sorted.  
BUILD004       By specifying the dataset option SORTEDBY= on the DATA   
BUILD005       statement, SAS now knows the sort order, so that it can  
BUIL3005       bypass unnecessary sorting.  In making this change, I    
IMACPDB        also finally removed the archaic _PROTECT token from all 
RMFINTRV       of the BUILDPDB members; defined in IMACPDB, PROTECT was 
SPUNJOBS       a SAS version 5 facility that is no longer needed, (see  
Sep  5, 1996   comments in member IMACPDB), that defaults to null with  
               SAS version 6, and to have preserved it and to have added
               SORTEDBY= would have required an INCOMPATIBLE change in  
               member IMACPDB.  While the references to _PROTECT in the 
               BUILxxxx members was removed, the macro itself is still  
               defined in member IMACPDB to avoid a different           
               INCOMPATIBILITY (in case you have actually modified      
               BUILDPDB itself), but the comments in IMACPDB were       
               revised to clarify its non-use!                          
   Thanks to Carl Sommer, SAS Institute Cary, USA.                      
                                                                        
====Changes thru 14.209 were printed in MXG Newsletter THIRTY========== 
====and were in the early MXG 14.07 tapes dates September 10, 1996===== 
                                                                        
Change 14.209  Support for CICS/ESA 5.1.0, now known as CICS Transaction
EXCICLGR       Server for OS/390 Release 1, which INCOMPATIBLY inserted 
EXCICLGS       19 new fields in the CICSTRAN Transaction Accounting data
EXCICNQG       (had the fields been appended instead of inserted, this  
EXCICRMG       would be compatible!), added 2 new fields to CICSEXCE,   
EXCICTQR       added new fields in 8 existing Statistic Datasets, and   
FORMATS        five new Statistics datasets are created from new STIDs. 
IMACCICS       STATUS: IBM documentation of STID=82 (MNR) record is     
IMACEXCL       wrong; that STID is skipped without message in this code.
VMAC110        This version has been tested with real data records!     
Sep 10, 1996   This change also supports the YYYY versus YY value in the
               Statistics subtype's header, and the expanded TRANTYPE   
               (two bytes, more meanings decoded).                      
               New variables added to CICSTRAN (transaction) dataset:   
                 FCTYNAME='TRANSACTION*FACILITY*NAME'                   
                 LOGWRTCT='CICS*LOG STREAM*WRITE REQUESTS'              
                 PERRECNT='PER RECORDS*WRITTEN*FOR TASK'                
                 RMUOWID ='RECOVERY*UNIT OF WORK*ID'                    
                 RPTCLASS='REPORT*CLASS*NAME'                           
                 SC24FSHR='SHARED BYTES*FREEMAINED*BELOW 16MB'          
                 SC24GSHR='SHARED BYTES*GETMAINED*BELOW 16MB'           
                 SC24SGCT='SHARED*GETMAINS*BELOW 16MB'                  
                 SC31FSHR='SHARED BYTES*FREEMAINED*ABOVE 16MB'          
                 SC31GSHR='SHARED BYTES*GETMAINED*ABOVE 16MB'           
                 SC31SGCT='SHARED*GETMAINS*ABOVE 16MB'                  
                 SRVCLASS='SERVICE*CLASS*NAME'                          
                 TERMCNNM='TERMINAL*SESSION*CONNECTION*NAME'            
                 TERMINFO='TERMINAL*OR SESSION*INFO FLAGS'              
                 TRANFLAG='TRANSACTION*FLAGS'                           
                 WTRLIOCM='RLS*IO WAITS'                                
                 WTRLIOTM='RLS*IO WAIT*DURATION'                        
                 WTSYIOCN='SYNCPOINT*IO WAITS'                          
                 WTSYIOTM='SYNCPOINT*IO WAIT*DURATION'                  
               New variables added to CICSEXCE (exception) dataset:     
                 EXCMNTCN='TRANSACTION*CLASS*NAME'                      
                 EXCMNSRV='SERVICE*CLASS*NAME'                          
                 EXCMNRPT='REPORT*CLASS*NAME'                           
               New variables added to CICDS (Dispatcher, by TCB Stats)  
               for ONC/RPC Mode (5th) TCB and File Owing Mode (6th) TCB 
               (STID=56):                                               
                 DSnACT   DSnPERCT DSnSCT   DSnSTART DSnSWT   DSnSYSW   
                 DSnTCBF1 DSnTCBF2 DSnTCBF3 DSnTCBF4 DSnTCBNM DSnTCT    
                 DSnTDT   DSnTWT DSnLSTRT                               
               New variables added to CICXMR (Transaction Manager):     
               (STID=11):                                               
                 XMRAMISM='ACTION*MISMATCHES'                           
                 XMRFAIT ='FORCED*ACTION*INDOUBT*TIMEOUT'               
                 XMRFANW ='FORCED*ACTION*NO WAIT ABILITY'               
                 XMRFAOP ='FORCED*ACTION*OPERATOR'                      
                 XMRFAOT ='FORCED*ACTION*OTHER'                         
                 XMRFATXN='FORCED*ACTION*TRANDEF'                       
                 XMRIACTN='INDOUBT*ACTION*COMMIT OR*BACKOUT?'           
                 XMRITOV ='INDOUBT*TIMEOUT*VALUE*MINUTES'               
                 XMRIWAIT='INDOUBT*WAITS'                               
                 XMRIWTOP='INDOUBT*WAIT*OPTION?'                        
               New variables added to CICCONSR (ISC/IRC stats):         
               (STID=52):                                               
                 A14ACCM ='ACCESS*METHOD'                               
                 A14AICT ='LOCAL*CONNECTION*CREATE*TIME'                
                 A14AIDT ='LOCAL*CONNECTION*DELETE*TIME'                
                 A14EFLGS='PROTOCOL'                                    
                 A14EPRMN='RECEIVE*SESSION*COUNT'                       
                 A14ESECN='SEND*SESSION*COUNT'                          
                 A14ESID ='CONNECTION*NETNAME'                          
                 A14E1RY ='PRIMARIES*CURRENTLY*USED'                    
                 A14E2RY ='SECONDARIES*CURRENTLY*USED'                  
                 A14GACT ='GMT*CONNECTION*CREATE*TIME'                  
                 A14GADT ='GMT*CONNECTION*DELETE*TIME'                  
               New variables added to CICCONMR (ISC/IRC stats)          
               (STID=76):                                               
                 A20ECONL='CURRENT*CNOS*CONTENTION*LOSERS'              
                 A20ECONW='CURRENT*CNOS*CONTENTION*WINNERS'             
                 A20ELMAX='MAX*SESSION*COUNT'                           
                 A20EMAXS='CURRENT*MAX*SESSION*COUNT'                   
                 A20EMCON='MAX*CONTENTION*WINNERS*ACCEPTABLE'           
                 A20E1RY ='PRIMARIES*CURRENTLY*USED'                    
                 A20E2RY ='SECONDARIES*CURRENTLY*USED'                  
               New variables added to CICFCR (File Control Statistics)  
               (STID=67):                                               
                 A17DSBRU='BROWSE*FOR*UPDATES'                          
                 A17RLSWT='RLS*REQUEST*WAIT*TIMEOUTS'                   
               New variables added to CICTCR (Term Control Statistics)  
               (STID=34):                                               
                 A06GOFTM='AUTOINSTALL*LOGOFF*GMT*TIME'                 
                 A06GONTM='AUTOINSTALL*LOGON*GMT*TIME'                  
                 A06OFFTM='AUTOINSTALL*LOGOFF*LOCAL*TIME'               
                 A06ONTM ='AUTOINSTALL*LOGON*LOCAL*TIME'                
                 A06SYSID='OWNING*SYSID OF*TERMINAL*OR SESSION'         
               New variables added to CICDQG (TDQUQUE Global Stats)     
               (STID=45):                                               
                 A11ACNAL='CURRENT*CONCURRENT*BUFFER*ACCESS'            
                 A11ACNWT='CURRENT*BUFFER*WAITS'                        
                 A11ACNIU='CURRENT*BUFFERS*CONTAINING*DATA'             
                 A11SCNAL='CURRENT*CONCURRENT*STRING*ACCESS'            
                 A11SCNWT='CURRENT*STRING*WAITS'                        
                 A11ACTCI='CONTROL*INTERVALS*IN*USE'                    
               New variables added to CICTSQ (TSQUQUE Global Stats)     
               (STID=48):                                               
                 A12SHPDF='SHARED*POOLS*DEFINED'                        
                 A12SHPCN='SHARED*POOLS*CONNECTED TO'                   
                 A12SHRDS='SHARED*READ*REQUESTS'                        
                 A12SHWTS='SHARED*WRITE*REQUESTS'                       
               New dataset CICRMG (Recovery Manager Global) (STID=99):  
                 RMGCSHIN='CURRENT UOWS*SHUNTED FOR*INDOUBT'            
                 RMGCSHRO='CURRENT UOWS*SHUNTED FOR*RO COMMIT'          
                 RMGCSHTI='CURRENT DURATION*SHUNTED FOR*INDOUBT'        
                 RMGCSHTR='CURRENT DURATION*SHUNTED FOR*RO COMMIT'      
                 RMGIAFNW='TOTAL FORCED*INDOUBT*ACTIONS*NOWAIT'         
                 RMGIAFOP='TOTAL FORCED*INDOUBT*ACTIONS*OPERATOR'       
                 RMGIAFOT='TOTAL FORCED*INDOUBT*ACTIONS*OTHER'          
                 RMGIAFTI='TOTAL FORCED*INDOUBT*ACTIONS*TIMEOUT'        
                 RMGIAFTR='TOTAL FORCED*INDOUBT*ACTIONS*TRANDEF'        
                 RMGIAMIS='TOTAL*INDOUBT*ACTION*MISMATCHES'             
                 RMGNWMRO='TOTAL*FORCED*NO WAITING*IN MRO'              
                 RMGNWOTH='TOTAL*FORCED*NO WAITING*IN OTHER'            
                 RMGNWRMI='TOTAL*FORCED*NO WAITING*IN RMI'              
                 RMGNWTD ='TOTAL*FORCED*NO WAITING*IN TD'               
                 RMGNW61 ='TOTAL*FORCED*NO WAITING*IN LU61'             
                 RMGRESYN='RESYNCH*RONISATIONS'                         
                 RMGSYBWD='SYNCPOINTS*BACKWARD'                         
                 RMGSYFWD='SYNCPOINTS*FORWARD'                          
                 RMGTSHIN='TOTAL UOWS*SHUNTED FOR*INDOUBT'              
                 RMGTSHRO='TOTAL UOWS*SHUNTED FOR*RO COMMIT FAIL'       
                 RMGTSHTI='TOTAL DURATION*SHUNTED FOR*INDOUBT'          
                 RMGTSHTR='TOT DURATM*SHUNTED FOR*RO COMMIT FAIL'       
               New dataset CICLGR (Log Manager Journal Stat) (STID=93)  
                 LGRBFLSH='BUFFER*FLUSH*REQUESTS'                       
                 LGRBYTES='BYTES*WRITTEN'                               
                 LGRJNLNM='JOURNAL*NAME'                                
                 LGRJTYPE='JOURNAL*TYPE'                                
                 LGRSTREM='LOG*STREAM*NAME'                             
                 LGRWRITS='JOURNAL*WRITES'                              
               New dataset CICNQG (Enque Manager Global) (STID=96)      
                 NQGCNQRT='CURR DUR*ENQUEUES*RETAINED'                  
                 NQGCNQSR='CURRENT*ENQUEUES*RETAINED'                   
                 NQGCNQSW='CURRENT*ENQUEUES*WAITING'                    
                 NQGCNQWT='CURR DUR*ENQUEUES*WAITING TIME'              
                 NQGPOOL ='ENQ*POOL*ID'                                 
                 NQGTIRJB='IMMEDIATE*REJECTED*ENQBUSY'                  
                 NQGTIRJR='IMMEDIATE*REJECTED*ENQ RETAINED'             
                 NQGTNQRT='TOT DUR*ENQUEUES*RETAINED*WAITED'            
                 NQGTNQSI='TOTAL*ENQUEUES*ISSUED'                       
                 NQGTNQSR='TOTAL*ENQUEUES*THAT WERE*RETAINED'           
                 NQGTNQSW='TOTAL*ENQUEUES*WAITED'                       
                 NQGTNQWT='TOT DUR*ENQUEUES*WAITED'                     
                 NQGTWPOP='WAITING*ENQS*PURGED BY*OPERATOR'             
                 NQGTWPTO='WAITING*ENQS*PURGED BY*TIMEOUT'              
                 NQGTWRJR='WAITING*ENQS*REJECTED*RETAINED'              
               New dataset CICLGS (Log Manager Logstream) (STID=94)     
                 LGSBRWRD='LOG*BROWSE*READS'                            
                 LGSBRWST='LOG*BROWSE*STARTS'                           
                 LGSBUFAP='BUFFER*APPEND*REQUESTS'                      
                 LGSBUFWT='WAITS*DUE TO*BUFFER*FULL'                    
                 LGSBYTES='BYTES*WRITTEN'                               
                 LGSCUFWT='CURRENT*FORCE*WAITERS'                       
                 LGSDELET='LOG*DELETES'                                 
                 LGSPKFWT='PEAK*FORCE*WAITERS'                          
                 LGSRTRYE='RETRYABLE*ERRORS'                            
                 LGSSTREM='LOG*STREAM*NAME'                             
                 LGSTFCWT='TOTAL*FORCE*WAITS'                           
                 LGSWRITS='LOG*WRITES'                                  
                                                                        
Change 14.208  DB2 datasets DB2GBPST and DB2GBPAT contained repeated obs
VMACDB2        for Global Buffer Pool zero, with no others output; the  
Aug 29, 1996   offset was not incremented.  After the %INCLUDE of member
               EXDB2PST, insert : OFFQBGL=OFFQBGL+LENQBGL;  After the   
               %INCLUDE of EXDB2PAT insert OFFQBGB=OFFQBGB+LENQBGB;     
   Thanks to Bertolotti Emmanno, Banca Commerciale Italiano, ITALY      
   Thanks to Burani Daniela, Banca Commerciale Italiano, ITALY          
                                                                        
Change 14.207  Support for Boole & Babbage's PRO/SMS replacement for    
EXPROSMS       STOPX37 SMF record, a complete rewrite but with almost   
IMACPROS       all of the same variables in dataset TYPEPROS instead    
TYPEPROS       of TYPEX37.                                              
VMACPROS                                                                
Aug 27, 1996                                                            
   Thanks to Katrina Le, First Virginia Services, Inc, USA.             
                                                                        
Change 14.206  Logic for IFCID=231 was wrong.  Replace the statements   
VMAC102         LENTRY=(QW0231NM-4)/QW0231RN; DO _I_=1 TO QW0231RN;     
Aug 27, 1996   with LENTRY=52;NENTRY=(QW0231NM-4)/LENTRY;DO...TO NENTRY;
               Caused INVALID DATA messages, and trashed T102S231 data. 
   Thanks to Ted Blank, IBM, USA.                                       
                                                                        
Change 14.205  The RMF report REPORT=CHAN was always a summary report;  
ANALRMFR       with this change, a detail report is produced when an    
Aug 27, 1996   INTERVAL= is specified, a summary if not.                
                                                                        
Change 14.204  The deaccumulattion of DB2STAT0, DB2STAT1 and creation of
DIFFDB2        DB2STATS was move to the end of member DIFFDB2, and the  
Aug 27, 1996   code rearranged so that the %INCLUDE of (EXDB2STS) is the
               last physical statement in that data step.  In this way, 
               a sophisticated user can add code in EXDB2STS to do their
               own summary of DB2 data, after all of the DB2 statistics 
               datasets have been deaccumulated.  In Pierre's case, he  
               wanted to extract fields from DB2STATR and DB2STATS and  
               merge with DB2STATS; now he can do that within EXDB2STS. 
   Thanks to Pierre Liu, Deere and Company, USA.                        
                                                                        
Change 14.203  Cosmetic.  Duplicate variables in KEEP= list were removed
several        in members TYPETMON, VMAC110, VMAC7072, VMAC79, VMAC80A  
Aug 27, 1996   VMACCOMP, VMACCTLG, VMACCTLT, VMACMWUX, VMACNOAM,        
               VMACNSPY, VMACQAPM, and VMACTPX.                         
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.202  Cosmetic.  Duplicate labels in VMACACHE were deleted.    
VMACACHE                                                                
Aug 27, 1996                                                            
   Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.       
                                                                        
Change 14.201  Change 14.152 revised IMF processing to allow for use of 
IMACCIMS       tape for large IMS files, but the _KIMFTRN reference in  
TYPECIMS       TYPECIMS must be deleted, as changes to CIMSTRAN are now 
Aug 27, 1996   controlled by _KIMFTRX, not _KIMFTRN, which is no longer 
               defined.  Comments in IMACCIMS clarify their usage.      
   Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.       
                                                                        
Change 14.200  The label for TYPE71 variables SHPxxxAV='MAXIMUM should  
VMAC71         be SHPxxxAV='AVERAGE for these new shared page group     
Aug 27, 1996   counters.                                                
   Thanks to Tim Vanderhook, Fidelity Systems, USA.                     
                                                                        
Change 14.199  READDB2 required a ddname of PDB (and worked fine as long
READDB2        as one was present), because the _LDB2STR macro was not  
Aug 26, 1996   redefined in READDB2.  Find the two _LDB2STB macro defs, 
               replicate each, and change STB to STR, STATB to STATR.   
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.198  Variable AVGMEMSZ was not kept in TYPE72GO dataset.  This
VMAC7072       metric, MSOUNITS based, is a poor indicator of memory,   
Aug 26, 1996   but it was not my intention to drop it.  It is kept now. 
   Thanks to Clark Jennings, Reynolds Metals Company, USA.              
                                                                        
Change 14.197  Support for Landmark's TMON/DB2 Version 3 (INCOMPATIBLE).
EXTMDDF        The Statistics Interval data TMDBDA1 has 33 new variables
EXTMDDF        inserted, and 50 new variables were inserted into TMDBDAB
IMACTMDB       dataset.  The Accounting data TMDBDB2 has 36 variables   
VMACTMDB       inserted, 9 new variables in TMDBDBB, 1 new in TMDBDBF,  
Aug 26, 1996   6 new in TMDBDBK, and a new dataset, TMDBDF, is created  
               for the 'DF' record type.  Only the 'DA' and 'DB' records
               have been validated with Version 3 data.  Test data is on
               hand for the 'DC','DD','DF','BB','BH', and 'BI' records, 
               but DSECTs were provided only for DA and DB records.  If 
               there is a need, additional record types will be decoded.
                                                                        
Change 14.196  MXG 14.05-08 only. INVALID DATA FOR R744FCTM and FCSQ    
VMAC74         because those two fields, added by Change 14.165, are not
Aug 23, 1996   always there.  After INPUT of R744FSQU, insert           
                 @;  IF SMF744FL GE 100 THEN INPUT                      
               so they are only INPUT when present in the record!       
               See Change 14.273.                                       
                                                                        
Change 14.195  Dataset DB2STATR outputs the first QWHSLOCN segment      
VMACDB2        NRQLST times, because the OFFQLST pointer was not        
Aug 23, 1996   incremented.  Insert:   OFFQLST=OFFQLST+LENQLST;         
               immediately before the line reading:                     
                END; /* END TRACE SECTION FOR TYPE 100 SUBTYPE 0 */     
               But then DIFFDB2 deleted all but the first obs, so the   
               number of observations was way off too!  This error also 
               caused remote counts to be wrong in ANALDB2R.            
   Thanks to Pierre Li, Deere & Company, USA.                           
   Thanks to Carl Stotmeister, Deere & Company, USA.                    
   Thanks to Ralph Baechle, Deere & Company, USA.                       
                                                                        
Change 14.194  MXG 14.05-14.06. DB2STATB dataset will have extra obs    
DIFFDB2        that should not have been OUTPUT.  Change 14.167 added   
Aug 23, 1996   protection for IBMs skipping QWHSISEQ, but four lines    
                 IF SEQCHECK NE 1 ... must be  IF SEQCHECK GE 1 ...     
               to protect for change in Buffer Pool ID, which creates a 
               negative value in variable SEQCHECK and should not have  
               been output.  A more robust algorithm, testing for change
               in QBSTPID was added, and dataset DB2STATR had the same  
               exposure and was revised to protect for change in        
               QLSTLOCN in the deaccumulation logic.                    
   Thanks to Tom Parker, Hogan Systems, USA.                            
                                                                        
Change 14.193  The second occurrences of IOERTMPC and IOERPRMC should be
VMACCTLT       spelled IOEWTMPC and IOEWPRMC, in both the Label         
Aug 20, 1996   statement and in the INPUT statement.                    
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.192  MXG 14.06 test stream only.  In JCLTEST6 and JCLUXRE6,   
JCLTEST6       step TESTOTHR, DD DUMMY for //TANDCTRL and //TANDLINE    
JCLUXRE6       were missing, and in JCLUXRE6, //XPMODS was misspelled   
Aug 20, 1996   as //XPUMODS.                                            
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
====Changes thru 14.191 were included in MXG 14.06 dated Aug 20, 1996===
                                                                        
Change 14.191  MXG 14.05 only. ERROR 228-185 INFORMAT $PIB IS UNKNOWN in
VMAC74         BUILDPDB, if you have tailored BUILDPDB to process the   
Aug 19, 1996   CRR Cache RMF Reporter SMF records (VMACACHE).  Change   
               14.152 to VMAC74 incorrectly INPUT  RTRNCODE  $CHAR2.    
               but that line must be changed to    RTRNCODE  &PIB.2.    
               to be consistent with VMACACHE.                          
   Thanks to Damian Stevenson, PMSA, AUSTRALIA.                         
   Thanks to Johnny Allen, Yellow Freight, USA.                         
                                                                        
Change 14.190  Minor. The count of reports requested was too high by    
ANALCISH       one.                                                     
Aug 17, 1996                                                            
                                                                        
Change 14.189  Enhancements to ANALRMFR for IBM-like RMF reports.       
ANALRMFR      -Shared Device Activity Report is complete ( SDEVC ).     
Aug 17, 1996   This report will not contain any Devices that were       
               OFFLINE or have zero values at time of the interval, as  
               they are not kept in the MXG PDB.TYPE74 data set.        
              -Channel Activity Report, updates for MVS/ESA 5.1, the    
               addition of SMF73CPD adds new channel path descriptions. 
               Workload Activity Report-Goal Mode, REPORT=WLMGL is      
              -installed along with a new parameter RPTOPT=WGPER, which 
               will allow for report selection level.  See comments     
               within ANALRMFR for more details.  This report will not  
               contain any Policies that have all values of zero at end 
               of interval, as they are not kept in the MXG PDB.TYPE72GO
               data set.                                                
                                                                        
Change 14.188  CICINTRV is now restored to the pre-MXG 14.04 logic.  In 
CICINTRV       MXG 14.04 the new "CICINTRZ" logic replaced CICINTRV, but
Aug 16, 1996   CICINTRZ was prematurely released (it creates incorrect  
               data in some situations, and it stopped creating the     
               PDB.CICEODRV dataset which is needed for CICS Shutdown   
               reports).  However, the old CICINTRV logic was also wrong
               for CICS 4.1 data (because multiple CICLDG observations  
               were being kept, which caused multiple observations in   
               datasets it created), so this CICINTRV member was fixed  
               to keep only the first CICLDG observation, which solved  
               it error.  CICINTRZ ultimately will replace CICINTRV, as 
               it will create true interval data from the multiplicity  
               of statistics events (INT,REQ,USS,RVR,EOD) in CICINTRV   
               and the End of Day in CICEODRV, but until it is fully    
               validated, it is safer to return to the simpler logic.   
               So this change negates change 14.132.  Additionally      
               Change 13.154 was removed from this CICINTRV.  It added  
               an INCLUDE of IMACCICS inside CICINTRV (so you did not   
               have to include IMACCICS before you invoked CICINTRV),   
               but that change prevented ANALCISH from re-defining the  
               IMACCICS macros, which is required, so the cosmetic move 
               to make it easier lost out, and you will have to include 
               IMACCICS before you invoke CICINTRV if you ever get that 
               deep in creating your own MXG job for CICS processing.   
                                                                        
Change 14.187  Support for Tandem Controller Data and Line Data creates 
EXTANCTL       two new datasets:                                        
EXTANLIN          Dataset   INFILE    Description                       
IMACTAND          TANDCTRL  TANDCTRL  Controller statistics             
TYPETAND          TANDLINE  TANDLINE  Line statistics.                  
VMACTAND       You will need to add DD statements for TANDCTLR/TANDLINE 
Aug 15, 1996   (at least with DD DUMMY) if you do not wish to process   
               these data, as MXGs TYPETAND will try to read all five   
               Tandem data sources that are now supported.              
   Thanks to MH, Allied Irish Bank, IRELAND                             
   Thanks to Joe Fleischmann, U.S. Bancorp, USA.                        
                                                                        
Change 14.186  Steve Franklin's code to read Network General Sniffer's  
ADOCSNIF       data records!  Sniffer is a hardware monitor attached to 
IMACSNIF       your network that sees every frame and can be programmed 
TYPESNIF       to filter, decode and create data records.  This code    
VMACSNIF       reads the Sniffer data, as documented in Steve's article 
Aug 15, 1996   "Deriving response time of Client/Server applications",  
               in "Capacity Management Review", Volume 24, No 7, July   
               1996, published by Demand Technology (subscribe or buy   
               the back issue by calling 941 261 8945).                 
                                                                        
               One Sniffer monitor on a LAN/WAN segment sees all of the 
               frames on that segment, capturing source and destination 
               addresses plus datastream sequence and acknowledgement   
               numbers plus the response times and traffic volume, plus 
               information from the data stream itself, so you can      
               recognize transactions and decompose their response time.
               Several techniques for transaction identification are    
               discussed.  Data from multiple Sniffers is combined to   
               measure each of the response components across multiple  
               segments; three Sniffers measured a PC client talking via
               two WAN segments to an Oracle database in the case study.
                                                                        
               This code is functional, but does not (yet?)  have the   
               normal MXG embellishments (Labels, MXG-names, etc.)      
               Should there be enough interest, I will doll it up later.
               If you have a Sniffer monitor, and you must measure and  
               understand the transaction response components in your   
               C/S transactions, this may well be your salvation, but   
               the analysis is neither canned nor straightforward.  You 
               will need to read the paper and SAS code to understand   
               how to tailor these sample programs for your environment,
               and you best have some good knowledge of the applications
               you are measuring!  If you also use a script (or modify  
               the application?) to issue calls that define the start   
               and end of a logical business transaction, those events  
               are capturable so you can get true business transaction  
               response time.  You can also capture SQL statements that 
               are used in Client/Server applications and parse them to 
               identify TABLE names and WHERE conditions so that network
               response time can be decomposed according to specific SQL
               statements or RPCs (Remote Procedure Calls); that might  
               be sufficient for recognition of a business transaction  
               if it always begins with a unique call and thus avoid the
               application modifications or script wraps.  There is lots
               of opportunity here; this is pretty powerful stuff!      
   Thanks to Steve Franklin, RGI, Inc, USA.                             
                                                                        
Change 14.185  VM Print sent to JES2 is now merged in PDB.JOBS with the 
BUILDPDB       Purge record for these "Print-only" JES2 jobs.  Before,  
BUILD005       MXG sent the type 26 data to PDB.NJEPURGE, and the type 6
Aug 15, 1996   record(s) were spun (awaiting for the non-existent purge 
               record) for SPINCNT days, and then later the type 6 data 
               was output in PDB.PRINT (but with no accounting fields)  
               and a sparce observation in PDB.JOBS was created.  This  
               change makes the PDB.JOBS data complete and timely for   
               print-only jobs.  The change itself was quite simple:    
               In the logic to build PDB.NJEPURGE, remove the test for  
               INREASON='SR' (so those records are output to TYPE26J2), 
               and in the logic to build PDB.JOBS, change the test to:  
                IF SUBSTR(INBITS,5,1)='P' AND INREASON NE 'SR' THENDO;  
               (so that ABEND values of JCL or CRSH are not set for     
               these print jobs, since they do have no JSTRTIME/JENDTIME
               values, because they did not execute on MVS).  Note that 
               these print-only jobs can be identified in PDB.JOBS by   
               variable INREASON='SR', and that the values of all of the
               variables from the type 30 records will be missing.      
               Peter also pointed out that new options on the VM TAG    
               command (used to send print to MVS) now allow you to     
               cause the VM USERID to be sent to MVS and VM USERID will 
               be the JOB name, rather than the old RSCSnnnn JOB name.  
   Thanks to Peter J. Jansen, Bank for International Settlements, SWITZ.
                                                                        
Change 14.184  Variable TRANTYPE was increased to two bytes in CICS 4.1.
VMAC110        Change 13.296 changed FORMATS, but the VMAC110 change was
Aug 15, 1996   not migrated into the real MXG library (IBM confidential 
               requires that I keep dual source libraries until GA, and 
               I forgot to make the update in both places!).            
               For CICSTRAN, move TRANTYPE from $1 line to $2 line in   
               the LENGTH statement, and in the SMFPSRVR GE 41.0 INPUT, 
               change  +3 TRANTYPE $CHAR1.  to TRANTYPE $CHAR2. +2.     
               For CICSEXCE, conditional logic was added.               
   Thanks to Ove Dall-Hansen, CODAN Insurance A/S, DENMARK.             
                                                                        
Change 14.183  TYPE7204 (Goal Mode RMF Monitor III) variable TRANS was  
VMAC7072       too small causing AVGELPTM to be way too large because   
Aug 13, 1996   variable TRANS should be INPUT as &RB.8. and not &RB.8.6.
               This is a continuation of Change 14.122.                 
   Thanks to Tom Parker, CSC, USA.                                      
                                                                        
Change 14.182  Support for New Dimension Software's CONTROL-T Tape      
EXCTLTDS       Management records creates two datasets:                 
EXCTLTVL         CTLTDSN - Data Set Record                              
IMACCTLT         CTLTVOL - Volume Record                                
TYPECTLT       A number of formats are created to decode fields in the  
VMACCTLT       data.  The volume record has a repeating vault section,  
Aug 13, 1996   but test data had only one (of a maximum of three), so   
               currently only the first vault segment is output.        
   Thanks to Paul Hassett, Department of Transportation, USA.           
                                                                        
Change 14.181  TANDEM variables were misspelled in two places.          
VMACTAND       Change C2WMISS=C2RMISS/DURATM; to C2RMISS=....  and      
Aug 12, 1996   Change C3WMISS=C3RMISS/DURATM; to C3RMISS=....           
   Thanks to Steve Smith, BGS, USA.                                     
                                                                        
Change 14.180  TYPE72GO Goal Mode dataset did not contain PERFINDX, the 
VMAC7072       performance index.  Logic was inserted to calculate this 
Aug 12, 1996   index, to label it, and to keep it in TYPE72GO.          
   Thanks to Kevin Carpenter, First of America, USA                     
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.179  Support for SoftAudit Version 5.1 (INCOMPATIBLE, but only
EXSFTAL        because MXG now requires   //XPMODS DD statement; if you 
IMACSFTA       do not have Version 5.1 installed, then use DD DUMMY).   
VMACSFTA       The //XPMODS flat file (Created by SoftAudit's extract   
Aug 12, 1996   program) is now read to create the new MXG dataset       
               SOFTMODS to describe the Installed Load Module File.     
                                                                        
Change 14.178  The SMF Simulator now tests a CISIZE of 18432, which may 
ANALSMF        be better than 16K on 3390s, as 3 blocks fit per track.  
Aug 12, 1996                                                            
                                                                        
Change 14.177  In VMXGSUM invocations, if DESCENDING was used in the    
VMXGSUM        SUMBY=LIST and KEEPALL=NO was used (default), the parse  
Aug 12, 1996   logic did not recognize the DESCENDING attribute, which  
               could cause NOT SORTED conditions.  Now the parser does. 
                                                                        
Change 14.176  TRNDTALO has been redesigned to "SPIN" allocations that  
TRNDTALO       are active at the time SMF data is dumped.  Comments in  
Aug 12, 1996   the member describe the new algorithm designed to fix the
               end effects.  This still is a circumvention for the basic
               problem, that allocation records are only written at the 
               end of allocation; a redesign of the ASMTAPES monitor to 
               create interval allocation records will ultimately solve 
               the problem of counting tape drives for good, but as the 
               comments describe, only a very small number of jobs are  
               encountered with hanging allocations, so the new logic is
               definitely an improvement.                               
   Thanks to David Childress, Lowe's Companies, Inc, USA.               
                                                                        
Change 14.175  Using ANALCNCR, if you did specify an output dataset and 
ANALCNCR       you also requested reports, you received a DATASET NOT   
Aug 12, 1996   FOUND and may get two prints of the Summarized output.   
   Thanks to Tom Elbert, John Alden, USA.                               
                                                                        
Change 14.174  DB2 message "VMACDB2 ERROR ... QWHSIID=230 UNEXPECTED"   
VMACDB2        due to MXG error.  Find IF QWHSIID=230 THEN SUBTYPE=3;   
Aug 12, 1996   and add "AND SUBTYPE NE 3" to the next IF statement.     
               The impact of this error message was that DB2 statistics 
               observations were not output in DB2GBPAT.                
   Thanks to John Rosser, Springs Industries, USA.                      
                                                                        
Change 14.173  Reserved Change Number.                                  
Aug 10, 1996                                                            
                                                                        
Change 14.172  Variable EXECTM in TYPE30_V and PDB.SMFINTRV datasets was
VMAC30         wrong for steps that created only a subtype 3 (i.e., they
Aug 10, 1996   did not run long enough to create a subtype 2 interval). 
               Change the equation  EXECTM=INTETIME-INTBTIME to read:   
                 IF SUBTYPE=3 AND INTBTIME LT LOADTIME THEN             
                   EXECTM=INTETIME-LOADTIME;                            
                 ELSE EXECTM=INTETIME-INTBTIME;                         
   Thanks to Jean Quinkert, Inland Steel, USA.                          
                                                                        
Change 14.171  Support for MODEL204 Release 3.2.1 (INCOMPATIBLE) inserts
IMACM204       new fields in the Logoff and the Since-Next records.     
VMACM204       This support is based on CCS's Early Warning 006 but has 
Aug  9, 1996   not yet been tested with real 3.2.1 data. The new default
               for _M204VER in IMAC204 is now 3.2 instead of 3.0.       
               Aug 16: Variable M24DKAR was inadvertently deleted from  
               the INPUT statement for LOG records in early code.       
   Thanks to Allan Rollason, SAS Europe, GERMANY.                       
                                                                        
Change 14.170  More RACF Reports for Command Events can be produced from
EXTY8008       nine new TYPE80nn datasets from member TYPE80A:          
EXTY8012          Dataset   EVENT   Command                             
EXTY8015          TYPE8008   08     ADDSD                               
EXTY8016          TYPE8012   12     ALTGROUP                            
EXTY8017          TYPE8015   15     DELDSD                              
EXTY8018          TYPE8016   16     DELGROUP                            
EXTY8020          TYPE8017   17     DELUSER                             
EXTY8021          TYPE8018   18     PASSWORD                            
EXTY8024          TYPE8020   20     RALTER                              
IMAC80A           TYPE8021   21     RDEFINE                             
VMAC80A           TYPE8024   24     SETROPTS                            
Aug  8, 1996  Because IBM documentation of RACF records is not complete 
              (undocumented fields, conditional fields), I can only code
              if I have data records.  If the dataset TYPE80CM contains 
              any observations, it means you have events I have not seen
              before.  If you will PROC PRINT DATA=TYPE80CM, you can see
              which events exist, and that dataset contains the RECNUM  
              in your SMF data; use this program to print a hex dump of 
              those records:  DATA;INFILE SMF;INPUT;IF _N_= recnum;LIST;
              and send that output with the PROC PRINT for enhancement. 
   Thanks to V.J. Picotte, Key Services, USA.                           
                                                                        
Change 14.169  JES3 MDS (Main Device Setup) tape fetch and mount counts 
IMACPDB        are now captured in variables TAPFETCH and TAPEMNTS in   
BUILDPD3       PDB.JOBS dataset created by the BUILDPD3 JES3 PDB.  These
BUIL3005       counts have been available in dataset PDB.TYPE25, but now
BUILDPDB       the BUILDPD3/BUIL3005 logic sums the TYPE25 counts into  
BUILD005       PDB.JOBS.  A new dataset SPIN.SPIN25 is also created in  
Aug  7, 1996   the SPIN library (and copied into the PDB for backup).   
               For JES3-sites, if you have tailored your IMACPDB member 
               in your "USERID.SOURCLIB" for your BUILDPD3 job, this    
               change is INCOMPATIBLE in that you must re-tailor those  
               IMACPDB changes, starting with this IMACPDB member; if   
               you miss this instruction, you will get errors on the log
               that variables READTIME JOB JESNR are not in WORK.TYPE25!
                  This enhancement was not straightforward, because IBM 
                  does not include JESNR in the type 25 record, so it   
                  matches type 25's with type 30_1 initiation records to
                  add JESNR to TYPE25 before the MERGE.  In IMACPDB the 
                  macro _PDB25 contains JESNR in the list, even though  
                  JESNR does not exist in the SMF record, because that  
                  macro is used again later in BUILDPD3 when there has  
                  been created a JESNR in TYPE25.                       
               This change did not add variables TAPFETCH and TAPEMNTS  
               to PDB.SPUNJOBS dataset (but I will later, if required). 
                                                                        
               Unrelatedly, the creation of PDB.SMFINTRV was enhanced;  
               by changing IF ININTRV THEN OUTPUT; to IF ININTRV; and   
               relocating the statement after the SET statement, code is
               bypassed when there are no TYPE30_V observations.  This  
               change was also propagated into JES2 BUILDPDB/BUILD005.  
               And Change 13.241, which added the %INCLUDE of IMACSPCK  
               had been overlooked in BUIL3005, but is now added.       
   Thanks to Alan McBain, National Westminister Bank, ENGLAND.          
                                                                        
Change 14.168  Support for Omegamon/VTAM V200 (INCOMPATIBLE, four bytes 
EXOMVLU        were inserted and eight new trend subtypes are created.) 
EXOMVMPG       MXG creates these new datasets:                          
EXOMVMPS          IRNUM  DATASET   Description                          
EXOMVNCC            7    OMVTMPCG  MPC Group                            
EXOMVNTL            8    OMVTMPCS  MPC Subchannel                       
EXOMVNTP            9    OMVTNCPC  NCP CCU                              
EXOMVPU            10    OMVTSDLC  SDLC/BSC Line                        
EXOMVSDL           11    OMVTPU    PU/Cluster                           
FORMATS            12    OMVTLU    LU/Terminal                          
VMACOMVT           13    OMVTNTRP  NTRI Physical Link                   
Aug  6, 1996       14    OMVTNTRL  NTRI Logical Link                    
                                                                        
               but only subtypes 9 and 10 have been validated with data,
               (and ON09CU and ON09CF look suspicious in OMVTNCPC).     
               Forty new exception conditions were added that are now   
               recognized and decoded by new values for $MGOMVEX format 
               that is used in dataset exception dataset OMVTEXCE.      
   Thanks to Harry Olschewski, dvg Hannover, GERMANY.                   
   Thanks to ???             , Sparkassen-Rechenzentrum, GERMANY.       
                                                                        
Change 14.167  Some intervals may be missing in DB2STATS, DB2STAT0 and  
DIFFDB2        DB2STAT1 in DB2 4.1, because IBM changed QWHSISEQ without
Aug  3, 1996   notice.  Statistics interval records contain accumulated 
               counters, so MXG's DIFFDB2 code must sort records and    
               then subtract counters in adjacent records to create the 
               interval statistics.  To make sure only adjacent records 
               are output, the IFCID Sequence Number, QWHSISEQ, is used 
               to validate that records are adjacent.  However, DB2 4.1 
               now writes records for adjacent intervals with skipped   
               values of QWHSISEQ (109,110,111,113,115,116), which made 
               MXG's validation logic to not output those observations. 
               In addition to adjacency validation, the MXG QWHSISEQ    
               logic also deleted the first record from each subsystem  
               (the first record found cannot be output, unless it is   
               also the startup, QWHSISEQ=1, because there is no prior  
               record for deaccumulation), so the new logic now protects
               for first record found.  Change the four occurrences of: 
                 SEQCHECK=DIF(QWHSISEQ); DROP SEQCHECK;                 
                 IF QWHSISEQ GE 1 AND SEQCHECK EQ 1 THEN DO;            
                   DIFFDBxx=1;                                          
                   %INCLUDE SOURCLIB(EXDB2ST0);                         
                 END;                                                   
               to read (change DIFFDBxx=1 in each of the four sets):    
                 LENGTH PREVSSID $4;                                    
                 SEQCHECK=DIF(QWHSISEQ);                                
                 IF SEQCHECK GE 1 AND PREVSSID EQ QWHSSSID THEN DO;     
                   DIFFDBxx=1;                                          
                   %INCLUDE SOURCLIB(EXDB2ST0);                         
                 END;                                                   
                 ELSE DO;                                               
                   PREVSSID=QWHSSSID;                                   
                   RETAIN PREVSSID;                                     
                 END;                                                   
                                                                        
                  Note inserted Sep 25: the previous code was printed   
                  and implemented incorrectly until Change 14.230.  The 
                  code stub above has been corrected to the way it      
                  should have been.                                     
                                                                        
               While this change prevents deletion of good intervals,   
               it opens a new exposure if DB2 records are not written   
               for an interval (if SMF is blocked DB2 does not retry).  
               Because SEQCHECK can't be used, MXG will deaccumulate    
               several interval's data into one interval, causing high  
               values (though not necessarily high rates) in that obs.  
               To help isolate data problems, the variable SEQCHECK is  
               now kept in the DB2STATx datasets.  SEQCHECK is one if   
               QWHSISEQ is adjacent, and otherwise is more than one.    
               I intend to open a problem with IBM to see if this was   
               an intentional change or an inadvertent error, so this   
               change may be revised if IBM admits to an error, but with
               DB2 4.1 now skipping QWHSISEQ values, this change is     
               required until IBM guarantees adjacency of QWHSISEQ.     
   Thanks to Pierre Li, Deere and Company, USA.                         
                                                                        
Change 14.166  Use of permanent versus temporary ARRAY statements costs 
VMAC78         big!  Changing the ARRAY statements added by 14.121 from 
Jul 27, 1996      ARRAY PCTALLBZ {4096} 4 PCTA0001-PCTA4096;            
                  ARRAY LCUIORAT {4096} 4 LCUI0001-LCUI4096;            
               to read:                                                 
                  ARRAY PCTALLBZ {4096} 4 _TEMPORARY_;                  
                  ARRAY LCUIORAT {4096} 4 _TEMPORARY_;                  
               eliminated the significant increase in CPU time BUILDPDB 
               and TYPE78 seen in MXG 14.04 and MXG 14.05.  See the SAS 
               Technical Note in Newsletter THIRTY on Permanent Arrays. 
                                                                        
Change 14.165  APAR OW13536 adds new fields for the Coupling Facility   
VMAC74         (RMF type 74 subtype 4 record, MXG dataset TYPE74CF)     
Jul 27, 1996   that are extensively discussed in WSC FLASH 9609.        
               The Coupling Facility continues to be a potential serious
               bottleneck if its capacity (CPU and memory) is not well  
               managed.  IBM has added new instrumentation for that     
               purpose with this APAR, which was implemented compatibly.
                                                                        
Change 14.164  APAR OW15406 for RMF adds support for Year 2000.         
VMAC73         IBM has documented that all packed decimals will contain 
VMAC74         0cyydddF format, and added an expanded IODF creation date
VMAC75         (with YYYY format vice YY) field (compatibly!) to the end
Jul 25, 1996   end of the Type 73 Channel Path Control section, the Type
               74 Device Control Data Section, and the Type 78 Subtype 3
               Control Section for ES/9000 CPUs.  MXG detects existence 
               and uses the YYYY format when it is present.  With this  
               APAR and MXG change, RMF fully supports the year 2000,   
               and member YEAR2000 has been updated to so indicate.     
                                                                        
Change 14.163  APAR OW21583 announces that TCP/IP will write SMF type 6 
VMAC6          record with SUBSYS=9, but no more information (APAR is   
Jul 25, 1996   still open).  Test for SUBSYS=9 was added, but still     
                                                                        
               await IBM documentation.  This change is still open.     
                                                                        
Change 14.162  ANALMPT invokes ANALCNCR and caused FILE WORK.SPLIT.DATA 
ANALCNCR       DOES NOT EXIST error (if OUTSUMRY= is not specified).  To
Jul 12, 1996   correct, find the second occurrence of the statement:    
                 PROC PRINT DATA=&OUTSUMRY SPLIT='*';                   
               and delete that line (the second occurrence, but do not  
               delete the line containing DATA=OUTSUMRY, without paren).
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt, AG, Germany                    
                                                                        
Change 14.161  Cosmetic.  Two titles with CPU TIM were corrected to read
ANALPROG       CPU TIME.                                                
Jul 12, 1996                                                            
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt, AG, Germany                    
                                                                        
====Changes thru 14.160 were included in MXG 14.05 dated Jul 15, 1996===
                                                                        
Change 14.160  TSO/MON distribution bucket values TSMPDIS1-TSMPDIS8 were
VMACTSOM       not converted to seconds (divide by 38400) nor were they 
Jul 12, 1996   kept, but now they are.                                  
   Thanks to Manfred Thomas, BHF-Bank, GERMANY.                         
                                                                        
Change 14.159  Documentation of the datasets created by BUILDPDB and the
ADOCPDB        sort order of those datasets (from the MXG Supplement)   
Jul 12, 1996   was not moved into SOURCLIB.  While slightly out of date,
               at least it's finally here!                              
   Thanks to Jean Quinkert, Inland Steel, USA.                          
                                                                        
Change 14.158  Support for OS/390 Version 1 Release 2 (COMPATIBLE).     
EXTY72GO       MXG 13.13 and later tolerates OS/390 Release 2, but to   
EXTY892        capture the several new variables and new subtypes of    
IMAC89         type 74 and 89 records, MXG 14.05 is needed.             
VMAC4789      -UCBNAME is now $4 in TYPE4789 (but this was not new with 
VMAC7072       OS/390 - I had not noticed the new field until now).     
VMAC79        -Variables SMF72SPA,SMF72SPE,SMF72SRS (shared page stats) 
VMAC89         are added to TYPE72 (again, had been overlooked in 5.2). 
VMAC99        -Variables R722GPI,R722TSV,R722VIN,R722VLC (shared pages) 
Jul 11, 1996   are added to TYPE72MN (also overlooked in 5.2).          
              -Variables R724GPI,R724TSV,R724VIN,R724VLC (shared pages) 
               are added to TYPE7204 (also overlooked in 5.2).          
              -Variables R791CMNI,R791EXCT,R791SPI,R791PNV,R791PVIO (the
               ASID's pages in common, VIO/Non-VIO, shared pagins) are  
               added to TYPE79. (also overlooked in 5.2).               
              -New dataset TYPE892 contains interval usage data summary 
               for each registered product.                             
              -The test R723TYPE IN(1,2,4,5) in EXTY72GO was changed to 
               R723TYPE IN('1','2','4','5') to eliminate character      
               conversion (and associated SAS note).                    
              -Variables were added to TYPE99TT and TYPE99U1 datasets.  
                                                                        
Change 14.157  For user-written VMXGSUM invocations with INDATA= that   
VMXGSUM        did not have a blank between the dataset name and the    
Jul 11, 1996   parenthesis, i.e., INDATA=MYDATA(IN=MYVAR), the parsing  
               logic failed.  Use INDATA=MYDATA (IN=MYVAR), and the code
               works!  This change enhances the parser to accept the    
               dataset options in the INDATA= with or without the blank.
   Thanks to Alfred Mak, Asia Pacific Technologies, SINGAPORE.          
                                                                        
Change 14.156  Change 14.112 was revised (see text) and additional IDMS 
VMACIDMS       changes are necessary.                                   
Jul 11, 1996  -In the Journal Wait segment, insert a +1 after JRLFILE is
               INPUT and change the SKIP calculation to SKIP=SKIP-105;  
               vice 104.                                                
              -In the DBKEY Wait segment, insert +2 after DBKPGGRP and  
               change the SKIP calculation to SKIP=SKIP-14; vice 12.    
   Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS           
                                                                        
Change 14.155  Utility to reconstruct mainframe data from PC file.  When
UDEBLOCK       you download an MVS file that was VB or VBS, you had to  
Jul 11, 1996   make a RECFM=U copy on MVS, then download that data to a 
               PC, creating a contiguous file of bytes.  But you cannot 
               upload that PC file (perhaps to a different MVS system)  
               and use it, because there are no record delimiters.  But 
               now you can upload the PC file , putting it into an MVS  
               file with RECFM=U, BLKSIZE=32756, and then use this new  
               UDEBLOCK utility to read that file and create from it a  
               true copy of the original VB/VBS file.  The output file  
               of UDEBLOCK will have RECFM=U,BLKSIZE=32756, but you will
               specify RECFM=VB or RECFM=VBS on the DD statement when   
               you read that data, and all will be well.  You may not   
               need this utility, but I needed it to be able to move    
               a VB GTF file from SAS's MVS system thru my PC to my MVS 
               system.  Check it out!                                   
                                                                        
Change 14.154  Support for DB2 records written to GTF.  The earlier user
REXXDB2        written utility (REXXDB2) did not always create valid DB2
UDB2GTF        events from the multiplicity of 280-byte spanned segments
VMACDB2        in which DB2 data is chunked when sent to GTF.           
VMACSMF           That's the reason why DB2 trace data should be written
Jul 11, 1996      to SMF rather than to GTF. When you write to GTF, DB2 
                  must stop and do a physical write to GTF for each 280 
                  bytes of trace data!  When trace data is sent to SMF, 
                  it is in chunks of 32756 bytes and is done at CPU     
                  speed with a Move Character Long from DB2's ASID to   
                  SMF's ASID without any physical write delay for DB2.  
               The new MXG utility, UDB2GTF is written in SAS, not REXX,
               and correctly reads the raw GTF trace data written by DB2
               to reconstruct the spanned segments into valid events,   
               but its output is still in GTF format, so you must use   
               TYPEDB2G instead of TYPEDB2, or TYPE102G instead of      
               TYPE102, or you must specify INFILE=GTF with %READDB2, or
               with %ANALDB2R you must specify PDB=GTF to read the data.
               But not only was REXXDB2 wrong; the MXG members VMACSMF  
               and VMACDB2 had to be corrected as well.                 
                                                                        
               REXXDB2 did reconstruct many DB2 GTF events, but it did  
               not handle all records correctly, and it created invalid 
               records for incomplete DB2 events (when the last segment 
               was not written because trace was restarted).            
   Thanks to G. Bockting, KLM Royal Dutch Airlines, THE NETHERLANDS.    
                                                                        
Change 14.153  Major (but compatible) internal enhancement of IMF       
EXIMFTRX       support for large IMS transaction volumes creates new    
IMACCIMS       macros _LIMFTRX, _LIMFSRT and _LIMFCHA which can be set  
TYPECIMS       in member IMACCIMS to write temporary copies of IMS data 
VMXGTAPE       to tape during the "CHAINED" part of TYPECIMS logic.  In 
Jul  7, 1996   addition, exit EXIMFTRN was relocated to the final phase 
               of TYPECIMS logic, so you have complete control of the   
               contents of the final CIMSTRAN dataset.  (New exit       
               EXIMFTRX for new temporary CIMSTEMP, built in first phase
               from IMS log, added, but not likely needed.)  Comments in
               IMACCIMS describe how to use temporary tape datasets.    
               Lots of work under the cover in this enhancement.  New   
               VMXGTAPE macro created to determine if a dataset name or 
               a libname is on tape.  For DASD temporary space, PROC    
               DELETEs must be used to minimize the space required, but 
               PROC DELETEs added for DASD will fail (with ERROR!) when 
               DD points to tape, as SAS does not support Deletion of a 
               tape dataset.  This required %MACROs be created and used 
               to decide if the DD name you chose in IMACCIMS points to 
               tape or DASD, and then to conditionally execute PROC     
               DELETE only if DASD.  Not too hard, but sure cluttered   
               the code in TYPECIMS!                                    
                                                                        
               For TAPE temporary spaces, we want to reuse the tape to  
               minimize the number of tape drives to three, but then the
               dataset name used for the reuse MUST be the same as the  
               first dataset on that tape (if not, SAS would read past  
               that first dataset on tape and only begin writing the    
               reuse dataset after the first dataset, which could cause 
               multi-volume tape when not required.                     
   Thanks to Wolfgang Vierling, Vereinte Versicherung, GERMANY.         
                                                                        
Change 14.152  Support for RMF Type 74 Subtype 5 Cache RMF Reporter CRR 
BUILDPDB       record.  This new subtype 5 record replaces the user SMF 
BUILDPD3       record created by IBM's CRR product.  MXG created the    
BUILD003       CACHE90 dataset from the user SMF record; this support   
EXTY74CA       creates new dataset TYPE74CA, but the variables in that  
FORMATS        new dataset are identical to the old CACHE90 dataset, so 
IMAC74         you will need only to change references to CACHE90 to    
VMAC74         TYPE74CA in your CRR report programs.                    
Jul  2, 1996   The subtype 5 record is standard in OS/390 Release 2 and 
               is retrofit in MVS/ESA 5.2.2 by APAR OW18886, in 5.1 by  
               APAR OW19337, and in 4.3 by APAR OW19938.                
               Dataset TYPE74CA is automatically created in your PDB    
               library by MXG's BUILDPDB/BUILDPD3 programs.             
                  I considered using CACHE90 as the dataset name in this
                  new support, but any site that had already added      
                  CACHE90 to their BUILDPDB would ABEND with this new   
                  MXG version, as there would then be two instances of  
                  CACHE90, one from VMACACHE and one from VMAC74.  'Tis 
                  better for BUILDPDB to run and only have to change    
                  your reports than vice versa!  Additionally, you may  
                  have CRR running on some systems, while you only have 
                  the TYPE74CA on some systems, so by using a different 
                  name you can process both records.  And, there are a  
                  few new variables created in TYPE74CA.                
   Thanks to Brian Currah, Performance Associates, USA.                 
                                                                        
Change 14.151  TYPE74SY variables R742SDIR and R742SSTF are flag fields 
VMAC74         and should have been formatted $HEX2.                    
Jul  2, 1996                                                            
   Thanks to Mr. Leineweber, Huels AG, GERMANY                          
                                                                        
Change 14.150  Support for DFSORT Release 13 APAR PN71337 (Compatibly)  
VMAC16         added new variable ICEDSA (Size of DSA in effect) using  
Jun 29, 1996   an existing reserved field.  This APAR also increases the
               maximum number of SORTWORKs from 32 to 100, but that has 
               no impact on the MXG support.                            
                                                                        
Change 14.149  In verifying the MXG supported JES2 job numbers GT 32767,
VMAC57         I discovered that variable NJENJJID had been added to the
Jun 29, 1996   JES3 type 57 record; that variable is now created.       
                                                                        
Change 14.148  An 878 ABEND can occur because the SLOTS table was below 
ASMIMSLG       the 16MB line; increasing the SLOTS after the //CONTROL  
ASMIMSL5       DD statement avoided expansion, but still abended.  The  
Jun 27, 1996   solution is to move the SLOTS table above the 16MB line  
               (so the GETMAIN is not constrained by your private area).
               Before the MXGIMSLG CSECT statement, insert (starting in 
               column one):                                             
               MXGIMSLG AMODE 31                                        
               MXGIMSLG RMODE 24                                        
               In the GETMAIN statement located 25 lines after the label
               GETQUEUE, change LOC=RES to LOC=ANY.                     
   Thanks to Grant Thomson, Elf Enterprise, ENGLAND.                    
                                                                        
Change 14.147  All MXG JCL examples now specify REGION=0M to allow SAS  
JCLall         to use all virtual storage it needs.  See SAS Technical  
Jun 27, 1996   Note VI.4 in Newsletter THIRTY for discussion.           
   Thanks to Jeff Balch, General Electric Capital Corporation, USA.     
                                                                        
Change 14.146  All packed decimal fields in IBM's DFSMSrmm records are  
VMACEDGS       now protected with the ?? modifier (to supress error msg 
Jun 26, 1996   when the record contains nulls for PD fields), and all   
               timestamps set with DHMS() function are now set missing  
               (instead of zero) when they don't exist.  The logic for  
               the security record was incorrect and was revised.       
               This change is still open while investigating further    
               recommendations from this "codeshark".                   
   Thanks to Willi Weinberger, IDG Informationsvararbeitung, GERMANY.   
                                                                        
Change 14.145  Almost cosmetic; several hundred lines were printed on   
VMXGSUM        the SAS log when VMXGSUM's KEEPALL=NO default option does
Jun 26, 1996   its thing (see MXG Technical Notes in Newsletter 30).    
               This change inserted OPTIONS NONOTES; and then OPTIONS   
               NOTES before and after the parsing logic to prevent the  
               printing of these notes on your SAS log.                 
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.144  Support for Anacomp, Inc.'s XSTAR product's SMF record.  
EXXSTARB       Two datasets are created:                                
EXXSTARO         XSTARBAT - Batch Session Printing                      
IMACXSTR         XSTARDSN - Batch Session sent to a dataset             
TYPEXSTR         XSTARONL - Online Session                              
VMACXSTR                                                                
Jun 26, 1996                                                            
                                                                        
Change 14.143  Support for EOS - Enterprise Output Solution for MVS is  
VMACWSF        already contained in MXG under its old acrynym, WSF.  The
Jun 26, 1996   vendor is RSD - Roger Software Development, Geneva.      
   Thanks to Tim Crocker, ALLTEL Information Services, USA.             
                                                                        
Change 14.142  CICS Statistics datasets did not contain SMFPSRVR (CICS  
VMAC110        Version) nor MCTMNTAD (GMT offset), although both were   
Jun 26, 1996   added to CICSTRAN and CICSEXCE in MXG 13.13.  Now, both  
               variables were added to the _CISTCMN macro so that they  
               will now exist in all CICS datasets.                     
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.141  The _LHSMxxx macros (which can be used to change the data
DIFFHSM        Library in which HSM datasets are stored) were not used  
Jun 26, 1996   in the data steps after the PROC SORTs, so you could not 
               use the IMACHSM to set the location of HSM datasets.     
               The syntax now uses _LHSMxxx macro names throughout.     
   Thanks to Trevor Holland, Bank of Melbourne, AUSTRALIA.              
                                                                        
Change 14.140  MXGSAS, the JCL Procedure to execute MXG jobs, has been  
JCLADHOC       enhanced with the new TAILORNG= symbolic parameter that  
MXGSAS         allows you to use your own PDS as the first dataset in   
Jun 25, 1996   the //SOURCLIB concatenation.  This new parameter is     
               then used in the new JCLADHOC example, which shows how   
               you can use IEBPUDTE to put your SAS tailoring statements
               into a temporary PDS (so you don't have to EDIT a real   
               PDS tailoring library) for an ad hoc analysis.  Also, you
               end up with the JCL and SAS code in one single member so 
               you can go back and remember what you did in one place!  
   Thanks to Debbie Gould, Acxiom, USA.                                 
                                                                        
Change 14.139  Divide by zero message (but no failure) in calculation of
VMAC76         INTRVAVG in TYPE76 dataset.  The second equation now is: 
Jun 24, 1996     IF NRSETS*SAMP_SET GT 0 THEN INTRVAVG=INTRVSUM/(...);  
   Thanks to Bruce Widlund, Merrill Consultants, USA.                   
                                                                        
Change 14.138  DB2 Trace records containing SQL text were inconsistent. 
VMAC102        IFCID 63 created all of the text in multiple observations
Jun 26, 1996   with 200-byte variable (which is unprintable because SAS 
               PROC PRINT truncates instead of wrapping), and IFCIDS 124
               140, 141, 142, 145, and 168 kept only the first 200 bytes
               of SQL statements. Since SQL text has no limit (after    
               all, it is a "program"), I decided to change the length  
               of T102S063's existing 200-byte variable to 100 bytes per
               observation, and have created six new datasets for the   
               other IFCIDS that contain the SQL text in 100-byte chunks
               (and the common variables).   New datasets T102T124,     
               T102T140, T102T141, T102T142, T102T145 and T102T168 are  
               created, with the 2nd "T" in the dataset name being the  
               indicator that this dataset is for the SQL text.  The    
               segment number is in SEGSQLTX and the actual bytes of    
               text in the 100-byte character variable is in the        
               variable LENSQLTX.                                       
               The first 100 bytes of text are still output in T102Snnn 
               for compatibility.                                       
               A later change to ANALDB2R will be required to be print  
               all of the SQL text in the Audit Reports, but with this  
               change at least you can PROC PRINT to get all of the SQL 
               statements.                                              
   Thanks to Mike Majors, Residential Services Corp of America, USA.    
                                                                        
Change 14.137  Code which was never executed was deleted.  The DO group 
VMAC116        IF QWHCTOKN EQ '0000 ... 00'X was never executed, as the 
VMACDB2H       length of QWHCTOKN is 22, but the hex string was only 16,
Jun 24, 1996   and even if it had been executed, it only stored hex zero
               where hex zero had already been initialized, so that DO  
               group was deleted and the subsequent ELSE DO;  and  END; 
               statements were deleted around NETSNAME creation.        
   Thanks to Herb Strazinski, Burlington Northern Railroad Co., USA     
                                                                        
Change 14.136  Variable ZDATE is inadvertently changed to a character   
TYPEIMSA       variable with value 'ZEE OBS...' because the semi-colon  
Jun 21, 1996   after  TRANCLAS='TRANSACTION*CLASS';  must be removed.   
   Thanks to Mr. Lucca, Wiener Staedtische Versicherung, GERMANY        
                                                                        
Change 14.135  Landmark TMON/MVS spanned records are now valid and can  
FORMATS        be read with MXG.  Prior to TMVS 1.3, the spanned records
VMACTMVS       were invalid, and MXG had no choice but to skip over them
Jun 20, 1996   (and print a note on the log that records were skipped). 
               As promised, TMVS 1.3 now writes legitimate records that 
               can be read with TYPETMVS.  The only change required is  
               to delete the entire 18 lines of the DO group:           
                 IF LMRKFLG1 NE '..00....'B THEN DO; /*SPANNED .... */  
                    --- 16 lines ---                                    
                 END;                                                   
               Also, format $MGTMVGF now decodes additional bit values  
               (that deal with record structure, and probably no one but
               me ever need to know!).  I also discovered that it and   
               several other formats had been overlooked when the syntax
               of OTHER=(! $HEX2.  !) was changed to OTHER=?< $HEX2. ?> 
               by Change 13.319.  Now, all OTHER= are consistent.       
   Thanks to Wim Desmecht, DOLMEN Computer Applications MV/SA, BELGIUM. 
                                                                        
Change 14.134  Support for HP MeasureWare for HP-UX platform.  HP's MWA 
ADOCMWUX       replaces the HP PCS product.  The MXG support for MWA    
ASUMMWUX       is contained in new members with the MWUX suffix instead 
IMACMWUX       of HPUX, so you will have to change to use TYPEMWUX vice 
TYPEMWUX       TYPEHPUX, but the MXG datasets created by MWA are named  
VMACMWUX       the same as their PCS counterparts, and variable names   
EXHPUXTT       were preserved (except for dropped variables), so your   
Jun 17, 1996   existing PCS report programs should function without     
               error against the MWA-built MXG datasets.                
               The data records read by MXG are completely controlled by
               the syntax of the HP REPORT command that extracted the   
               data.  You must compare the REPORT command syntax in the 
               ADOCMWUX member with your REPORT command (or use the one 
               in ADOCMWUX to generate your data!).  If your data was   
               extracted with a different REPORT syntax, then you must  
               change member VMACMWUX as described in ADOCMWUX.  The    
               delimiter between HP fields is set in member IMACMWUX.   
               One new dataset, HPUXTRAN, transaction tracker metrics,  
               is created by MWA that did not exist in PCS, hence the   
               new EXHPUXTT exit.  Note that the same exit members are  
               used for both PCS and MWA to output the same MXG dataset 
               names!  Support for SUN and AIX platforms will be coded  
               when there is a user in need of that support.            
   Thanks to Alfred Holtz, Medco Data Corporation, USA.                 
   Thanks to Thierry Van Moer, Procter & Gamble, BELGIUM.               
                                                                        
Change 14.133  Documentation.  The MVS Technical Note on differences in 
ADOC30         CPUTM between interval and step records was also put in  
Jun 15, 1996   ADOC30, and related variables descriptions were revised. 
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt, AG, Germany                    
                                                                        
====Changes thru 14.132 were included in MXG 14.04 dated Jun 13, 1996===
                                                                        
Change 14.132  As promised, the prior member CICINTRZ is now CICINTRV;  
CICINTRV       i.e., the enhancements described in Change 13.281 are now
CICINTRZ       the MXG default (and the old CICINTRV is now CICINTRZ).  
Jun 13, 1996   With this change, only the CICINTRV dataset is built; the
               CICEODRV CICREQRV CICRRTRV & CICUSSRV datasets are no    
               longer created.  The new logic does not impact execution 
               resources:  CPU only went up 20 seconds (with a total    
               CPU time of 11min 39sec for both TYPE110 and CICINTRV    
               with 2132MB of SMF data) and WORK disk space only went up
               by 13 Cylinders (10MB).  The increase in virtual storage 
               was only 600K, up to 15204K, but this is still much less 
               than BUILDPDB requires, so this new CICINTRV won't cause 
               your BUILDPDB to die with an 80A ABEND!).                
               A CICS Technical note on the CICINTRV enhancements will  
               soon be written. See Change 14.188 which reverses this.  
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.131  Support for APAR PN78083 required no change to MXG.  The 
VMAC42         APAR redefine's PRODLVL's 2 bytes as two 1 byte fields   
Jun 12, 1996   Product Level, Product Sublevel), but PRODLVL is not even
               a kept variable, and if it is ever needed in the future, 
               its two bytes can always be individually tested.         
                                                                        
Change 14.130  INVALID DO LOOP error because Change 13.044 was not made 
TRNDTALO       to this member to protect when ALOCSTRT or ALOCEND are   
Jun 11, 1996   missing.  The IF statement in the first data step needs: 
                 OR ALOCSTRT=. OR ALOCEND=.                             
               to be added, i.e., make TRNDTALO look like ASUMTALO.     
   Thanks to David Childress, Lowe's Companies, Inc.                    
                                                                        
Change 14.129  Support for IMS 5.1 APAR PN76410 extended prefix segment.
ASMIMSL5       With this APAR, LOGONID variable in IMSTRAN is missing.  
Jun  9, 1996   To correct, change ASMIMSL5 after label P001000M to make 
               the code look like this:                                 
                                                                        
      P001000M DS    0H                                             old 
               CLI   2(R4),X'84'        IS THIS THE LU6 SEGMENT     old 
               BNE   P001000N           BRANCH IF NOT  (was BNE DROPMAP)
               LA    R4,MSGLU6ND(R4)    BUMP PAST THE SEGMENT       old 
               B     P001000K           BRANCH TO TEST FOR RACF     old 
      P001000N DS    0H                 SUPPORT FOR PN76410         new 
               CLI   2(R4),X'86'        IS THIS THE EXT PFX SEGMENT new 
               BNE   DROPMAP            BRANCH IF NOT               new 
               USING MSGEPHDR,R4                                    new 
               TM    MSGEPFL1,MSGESEC   IMBEDDED SECURITY SEGMENT?  new 
               BZ    DROPMAP            BRANCH IF NOT               new 
               LH    R2,MSGEPTL         LNGTH OF ALL EMBEDDED SEGS  new 
               AR    R2,R4              END OF EXTENDED SEGMENT     new 
      P001000P LH    R1,0(R4)           LENGTH OF THIS SEGMENT      new 
               AR    R4,R1              NEXT SEGMENT                new 
               CR    R4,R2              HAVE WE REACHED END ?       new 
               BNL   DROPMAP            BRANCH IF YES               new 
               CLI   2(R4),X'88'        SECURITY SEGMENT?           new 
               BNE   P001000P           BRANCH IF NOT               new 
               DROP  R4                                             new 
               USING MSGSEC,R4                                      new 
               MVC   LOGONID,MSGRACUS   MOVE IN THE LOGONID         new 
               MVC   ORGENT(8),MSGSAFNM MOVE IN ORGENT/INCONT       new 
               DROP  R4                                             new 
               B     DROPMAP                                        new 
               EJECT                                                old 
   Thanks to Grant Thomson, Elf Enterprise Caledonia Limited, SCOTLAND. 
                                                                        
Change 14.128  Support for ITRF V300 (compatible) added variables UNIQUE
VMACITRF       (unique sort key) to all ITRF datasets, and SAPTRN (SAP  
Jun  9, 1996   internal transaction code) to ITRFMSG dataset.  See IMS  
               Technical Notes for additional ITRF experience.          
                                                                        
Change 14.127  Two datasets in ZRBPDB but not in WORK were not found    
ZRBBATCH       because they did not have the &LIBNAME.. reference in the
ZRBRPT1-3      ZRBBATCH program.  ZRBRPT1-3 had JCL removed and &LIBNAME
Jun  9, 1996   added so as to be consistent with other ZRB members.     
   Thanks to Jay Beeler, Key Services, USA.                             
                                                                        
Change 14.126  ANALDB2R Statistics Trace now incorporates Change 14.068 
ANALDB2R       for each Remote Destination, removing references to the  
Jun  9, 1996   QLSTLOCN variable in DB2STATS, now using DB2STATR.       
                                                                        
Change 14.125  Support for ASTEX 2.1 (INCOMPATIBLE) replaced four bytes 
VMACDMON       with eight bytes in the VOL record segment, and created  
Jun  9, 1996   new variables:                                           
                   Dataset            Variable  Label                   
                  DMONVOL            RVLVG                              
                  DMONVOL,DSN,JOB    RCDTME CACHE*TIME*SAVINGS          
                  DMONVOL,DSN,JOB    RMLDMOBJ DSN's*DEMOTION*TIME*OBJTV 
                  DMONVOL,DSN,JOB    RSCLSFLG SMS*CLASS*FLAG            
                  DMONVOL,DSN,JOB    LOGICAL*VOLUME*GROUP*NAME          
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.124  Change 12.099 was not correct in leap years (like 1996!),
VMACDCOL       but the impact was minimal. Three EXPDT variables (HSM's 
VMXGHSM        MCDEXPDT and DCOLLECT's DCDEXPDT and UMEXPDT) were set   
Jun  9, 1996   to MXG "infinite" year of 2099 for a valid leap year date
Jun 18, 1996   of 96366 instead of the correct date.  MXG uses this     
               "infinite" date for EXPDTs that are not valid Julian     
               dates (like 99999, 99366, and also for the special date  
               of 99365) that are used by tape management systems, but  
               Change 12.099 incorrectly set any xx366 date as infinite.
               Change the occurrences in VMACDCOL and in VMXGHSM from   
                  OR DAYEXPDT GE 366    to    OR DAYEXPDT GT 366.       
               Additionally, the default date in VMACDCOL was changed to
               '31DEC2099'D (from '01JAN2099'D) just to be consistent.  
               This text was revised when I discovered that 2000 is     
               indeed a leap year, but the code change supports all leap
               years, including 2000.                                   
   Thanks to Marc Vanden Bergh, Gemeentekrediet, Belgium.               
                                                                        
Change 14.123  Omegamon for CICS variables OMSUPRTM and OMDCOMTM (wait  
IMACICOC       time for SUPRA and DATACOM) were off by a factor of 16.  
Jun  9, 1996   Insert  OMSUPRTM=16*OMSUPRTM;  OMDCOMTM=16*OMDCOMTM;     
               after the existing statement OMADABTM=16*OMADABTM;       
   Thanks to Michel Antoons, 3M, BELGIUM.                               
                                                                        
Change 14.122  Variable SSQELAP in TYPE72GO was input as &RB.8.6 but it 
VMAC7072       should have been input as &RB.8. (causing RESPSTD to be  
Jun  7, 1996   wrong).  Variable AVGELPTM in TYPE7204 dataset was also  
               INPUT as &RB.8.6, but is now INPUT as &RB.8. and then    
               converted with *1024/(1E6) like the other elapsed times. 
               That these errors have been undetected for so long shows 
               how infrequently they are needed.                        
   Thanks to Bruce Widlund, Merrill Consultants, USA.                   
                                                                        
Change 14.121  Variable PCTALLBY was not calculated for TYPE78CU dataset
ANALRMFR       but now is, and new variable LCUIORT in TYPE78CU contains
VMAC78         the aggregate I/O rate for all CHPIDs in that LCU.       
Jun  5, 1996   In validating this change, I discovered that TYPE78CF    
Jun  7, 1996   variables OFFLINE and ONLINE are interpreted by IBM as:  
                   OFFLINE  ONLINE   IBM Report Explanation             
                      Y       Y      PATH OFFLINE                       
                      Y              OFFLINE                            
                                     OFFLINE                            
                              Y      ONLINE                             
               ANALRMFR REPORT=CHAN report now prints LCUIORT, which is 
               not printed by the equivalent IBM report but is useful!  
   Thanks to Alan Sherkow, IS Management Strategies LTD, USA.           
                                                                        
Change 14.120  Change 13.301 accidentally corrected the DEVNR for MSS   
VMACUCB        devices, but commenting out IF DEVNR='1......  'B ...,   
Jun  5, 1996   but the subsequent line should be changed from ELSE IF   
               to IF (DEVNR=0FFFx AND NOT ....                          
   Thanks to Peter Durant, National Australia Bank, AUSTRALIA.          
                                                                        
Change 14.119  This archaic member for CICS 2.1 and SAP journal segments
VMAC110S       had two typos:  variable JCTUTRID should be JCRUTRID and 
Jun  5, 1996   SAPTEST='SA'     /*$$$*SAP*/  needed a semicolon.        
   Thanks to Santamaria Antonio, Agip Petroli, ITALY.                   
   Thanks to Mark Cohen, SAS Institute, ITALY.                          
                                                                        
Change 14.118  Decoding Type 37 DETT section only kept 200 bytes of the 
VMAC37         text string BRFDATTX, but some operators type up to the  
Jun  1, 1996   maximum of 275 bytes, so the logic of the decoding of the
               SELD sections's text into BRFTEXT and BRFTEXTA was used  
               in the DETT section to create BRFDATTX and new BRFDATTA. 
               Replace the 7 lines in the DETT section starting with    
                SKIP200=BRFDATLN-200;                                   
               with the 14 lines from the SELD section starting with    
                IF LENSELD GE 275 THEN INPUT BRFTEXT  $EBCDIC200.       
               and then change SELD to DETT (4 occurrences) and change  
               BRFTEXTA to BRFDATTA (6) and then BRFTEXT to BRFDATTX (7)
               in those 14 lines in the DETT section.  Finally, add new 
               variable BRFDATTA to the KEEP= and LABEL statements.     
   Thanks to Tony Sandora, CIGNA, USA.                                  
                                                                        
Change 14.117  MSOUNITS was increased from 4 to 5 bytes by Change 14.076
BUILDPDB       only in VMAC30, but datasets JOBS SPUNJOBS STEPS TRND72 &
BUILD005       TYPE434 still were stored in only 4 bytes.  The impact is
BUIL3005       mathematically minimal,  with at most a loss of 255 units
TRND72         with 10-digit values of MSOUNITS                         
VMAC434           and values that large strongly suggest you should fix 
May 31, 1996      your MSOCOEFF value (in IPS) to make it a very small  
Mar 10, 2003      value - perhaps .001 to .0001 - so that MSOUNITS are  
                  insignificant (less than .1 percent?) in the total    
                  service units calculated by the SRM.  You can use a   
                  PROC MEANS DATA=PDB.TYPE72 SUM; to get the percent of 
                  SERVICE that is recorded in MSOUNITS and change your  
                  MSOCOEFF, because MSOUNITS are not a measure of work, 
                  and should not be included in the SRM's measurement of
                  work/service.  Work is CPU and I/O only.  Memory is   
                  like air conditioning and floor space (you have to    
                  have enough, and it only comes in big chunks) but     
                  memory occupancy, floor space occupancy, and cooling  
                  occupancy are not measures of computer work; they are 
                  the fixed costs that makes computing possible!        
               Why then make this minor change? Because Freddie's QA    
               stream saw the minor difference in values between 13.13  
               and 14.03 and so for the sake of perfection (rather than 
               real impact), the change was extended to these members.  
               Mar 10, 2003:  Original text had .000001 but .0001 is the
               minimum permitted value, other than zero.                
               Feb 21, 2005:  See MXG Technical Note in Newsletter 47;  
               IBM Discovered that the smallest value is actually .0122.
               Any value less than that value will be reported in the   
               MSOCOEFF in TYPE72GO, but only 0.0122 will be used!      
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.116  Connect-Direct (originally NDM) V 1 R 4 Mod 1 uses two   
FORMATS        existing reserved fields to compatibly add variables     
VMACNDM        NDMLUOTH (Other*node LUNAME) and NDMNETYP (Network Type).
May 31, 1996   New MXG format $MGNDMTY was created to decode NDMNETYP.  
   Thanks to Steve Beaver, Texas Commerce Bank, USA.                    
                                                                        
Change 14.115  The date part of SYNCSORT variables SORTBEGN and SORTEND 
VMACSYNC       are off by one day for sorts that spanned midnight.  The 
May 30, 1996   statement                                                
May 31, 1996     IF SORTBEGN GT SORTEND THEN                            
                     SORTBEGN=SORTBEGN-DHMS(1,0,0,0);                   
               should have been                                         
                 IF SORTBEGN GT SORTEND THEN                            
                     SORTEND=SORTEND+DHMS(1,0,0,0);                     
               Also, the +32 reserved bytes INPUT after HPUSED are now  
               replaced with +22  TSTSYNCS &PIB.8. +2                   
               and IF TSTSYNCS GT 0 THEN CHARACTS=TSTSYNCS; was added   
               after the @; to support the (as yet undocumented) 8-byte 
               value so more than 2.4GB of characters can be counted.   
   Thanks to Linda S. Berkley, Amdahl, USA.                             
                                                                        
====Changes thru 14.114 were included in MXG 14.03 dated May 27, 1996===
                                                                        
Change 14.114  Support for RACF 1.10 records (compatible).  MXG version 
VMAC80         14.03 and later tolerate RACF 1.10 records (i.e., will   
VMAC80A        not fail), but the new "extended length relocate sections
May 26, 1996   are not yet decoded, as I need test data records to      
               understand how they can be useful.  When test data has   
               been received and the new section is decoded, this note  
               will be revised.                                         
                                                                        
Change 14.113  Support for Thruput Manager #V041238 "Job Extract"       
IMACTPM        extension (INCOMPATIBLE) restructured the fixed segment  
VMACTPM        and creates these new variables in TYPETPMF dataset:     
May 26, 1996     CPUTMINT='CPU USED*BY INTER*AND JOB ANAL'              
                 CPUTMJAT='TOTCPU USED BY JOB ANALYZER'                 
                 JCTJOBID='JES*JOB*IDENTIFIER'                          
                 TPMTMCTA='CATALOGS*ALLOCATED*IN JOB ANAL'              
                 TPMTMLCA='CATALOG*LOCATES*VIA*CAT LOOKASIDE'           
                 TPMTMLCM='CATALOG*LOCATES*VIA*CAT MANAGEMENT'          
                 TPMTMLRQ='CATALOG*LOCATES*REQUIRED'                    
               The default in MXG is for the new record; if you still   
               process the base record you must set macro _TPMVERS to 0 
               in member IMACTPM.                                       
               In addition, the processing of the extract segments was  
               redesigned.  Previously, an observation in TYPETPMV was  
               created for each 16 bytes of the TPM data value in each  
               TPMFIELD segment.  Now, there will be one observation for
               each TPMFIELD segment, with TPMVALUE now containing the  
               first 64 bytes of the data value.  $ACCT segments have   
               been found with 161 bytes, but all other data lengths are
               less than 64, so the new design should decrease the size 
               and number of observations in TYPETMMV dataset.          
   Thanks to Andy Chandler, Eagle Star, ENGLAND.                        
                                                                        
Change 14.112  IDMS Performance Monitor dataset IDMSBUFF was incorrectly
VMACIDMS       decoded.  CA uses ALIGN in their assembly, causing bytes 
May 26, 1996   to be inserted in the SMF record that do not exist in the
Jul 11, 1996   DSECT, and two fields were increased from 2 to 4 bytes.  
              -Insert after INPUT BUFNAME $EBCDIC18.   +2   to skip the 
               undocumented bytes, and change the SKIP=SKIP-18; to -20; 
              -May 26 change said: Change INPUT of BUFNDEFN and BUFNINUS
               from &PIB.2. to &PIB.4., and 28 lines later change the   
               SKIP=SKIP-104 to -108.  However, Jul 11, change puts two 
               fields back as &PIB.2., and instead inserts +2 after each
               of those halfwords. The SKIP change of May 26 is coorect.
   Thanks to Terry Heim, Ecolab Inc. USA.                               
   Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS           
                                                                        
Change 14.111  Support for NETSPY Release 4.7 compatibly added variables
VMACNSPY       to several datasets:                                     
May 25, 1996   Dataset   Variables added                                
               NSPYNCPY  CBPIDTID,CBPCBFLG                              
               NSPYTIC3  NSPNTMBR NSPNTMBS NSPVTMFR NSPVTMFS            
               NSPYVIRT  VRBPIINB VRBBYINB                              
                                                                        
Change 14.110  Variables BADTAP EDMTAP and DYNAM were created but not   
VMACTMS5       kept in dataset TMSREC; they have now been added to the  
TYPETMS5       KEEP= lists in both VMACTMS5 and TYPETMS5.               
May 24, 1996                                                            
   Thanks to Terry Duchow, U.S. Postal Service, USA.                    
                                                                        
Change 14.109  Type 110 SMF record with subtype=2818 ('B02'X) is written
UTILGETM       by Boole and Babbage's CICS Manager, but UTILGETM has but
May 24, 1996   255 buckets to count subtypes.  Now, UTILGETM recognizes 
               this record, counts it as a subtype 2 record, and the    
               UTILGETM FOUND A RECORD WITH SUBTYPE GREATER THAN 255    
               message is not printed for this statistics record.       
   Thanks to Trevor Ede, Bank of New Zealand, NEW ZEALAND.              
                                                                        
Change 14.108  MXG 14.02 only.  BY VARIABLES ARE NOT PROPERLY SORTED.   
DIFFDB2        The PROC SORT for DATA = _LDB2STR for new PDB.DB2STATR   
May 23, 1996   dataset should have BY SYSTEM QWHSSSID QLSTLOCN QWHSSTCK;
               (QLSTLOCN was missing from that BY statement).           
   Thanks to Tony Sandora, CIGNA, USA.                                  
                                                                        
Change 14.107  MXG 14.02 only.  INPUT STATEMENT EXCEEDED with type 37   
VMAC37         because BRFLOCAL and BRFRMT are not separate new fields. 
May 23, 1996   (The type 37 documentation moved from the NetView Admin  
               Guide into the Application Programming Guide in NetView  
               2.4, but I then misread Table 33 and thought there were  
               two new 30-byte fields (BRFLOCAL, BRFRMT), but they are  
               actually only redefinitions of table 34 whose fields are 
               already decoded by MXG, so there truly was NO CHANGE in  
               the Netview 2.4 type SMF record, and the text of 14.090  
               has been revised.)  This change removed the DO group     
               (IF BRFREVLT GE 2.4 THEN DO; ... END;) that had been     
               incorrectly added by 14.090.  The other correction in    
               14.090 was valid.                                        
   Thanks to Tony Sandora, Cigna, USA.                                  
                                                                        
Change 14.106  Variable A14EQPCT (MAXQTIME Purge Count) was not kept in 
VMAC110        dataset CICCONSR (ISC/IRC data), but now is. Also, the   
May 23, 1996   variables MCTMNTAD and SMFPSRVR were not kept in dataset 
               CICSEXCE, but now have also been added to the KEEP= list.
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
   Thanks to Dawn Medwid, Aetna, USA.                                   
                                                                        
Change 14.105  Variable QWSDLR (High used RBA address of log) was added 
VMACDB2        to the LENGTH statement as length 8, and formatted HEX12.
May 23, 1996   as it is an address, not a number; this was supposedly   
               fixed by Change 13.129 but was not actually made til now.
               Also, the input of QWSCIID after IF NRQWSC GT 15 THEN DO;
               was changed to XXXCIID, so that the real value of QWCSIID
               is not corrupted when there are more than 15 segments.   
   Thanks to Tom Parker, Hogan Systems, USA.                            
                                                                        
Change 14.104  Variables BEGTIME and ENDTIME were not created in the DB2
DIFFDB2        interval datasets DB2STATB (buffer pool) and DB2STATR    
May 23, 1996   (remotes), but now they are!                             
   Thanks to Susan Marshall, SAS Institute Cary, USA.                   
                                                                        
Change 14.103  Variables ACTLNGH, NETLNGH, and USELNGH should be INPUT  
VMACORAC       as &PIB.2. instead of &PIB.4., so that accounting data   
May 23, 1996   is correctly input.                                      
   Thanks to Dave Harris, TVA, USA.                                     
                                                                        
Change 14.102  MXG 14.02 only. INPUT STATEMENT EXCEEDED RECORD LENGTH   
VMAC7072       with MVS/ESA 5.2 type 72 record because of MXG coding    
May 22, 1996   errors (and insufficient testing of Change 14.085).      
              -Find the statement    IF LENSCS GE 316 THEN DO;          
               Change the following INPUT statement for variable        
               R723CSRS from &PIB.4.6 to &PIB.8.6, and for variables  . 
               R723CSPA and R723CSPE from &PIB.4. to &PIB.8.            
              -Find the statement SKIP=LENSCS-292; (which was 11 lines  
               after the IF LENSCS GE 316 THEN DO; statement), and move 
               it immediately before the IF LENSCS GE 316 THEN DO;      
              -After R723CSRS=1024*R723CSRS; statement, insert new line 
               SKIP=SKIP-24;                                            
   Thanks to Tony Sandora, CIGNA, USA.                                  
                                                                        
Change 14.101  The error message "JOB WAS NOT EXECUTED ON THE FIRST DAY'
MONTHBLD       was made more readable, and now points to MXG Newsletter 
May 22, 1996   TWENTY-FIVE for instructions for "Running the MONTHBLD   
               program on a day other than the 1st day of the month".   
   Thanks to Bernie Levy, CUC International, USA.                       
                                                                        
Change 14.100  In fifteen members, the datetime literal value of        
IMACEXCL       '01JAN00:00:00:00'DT was used to initialize variables to 
TYPEMOND       IBM's epoch datetime value, but that 00 year value can be
TYPEMONI       interpreted as 1900 or 2000, depending on the value of   
TYPEMONX       your SAS option YEARCUTOFF, so MXG was changed to use    
TYPEMON8       '01JAN1900:00:00:00'DT to always set the correct value.  
TYPETMON       MXG uses this value only when decoding raw records into  
VMACCIMS       SAS datasets, so it is highly unlikely that you would    
VMACHURN       have this literal value in your own SAS programs;        
VMACOMCI       nevertheless, it would certainly be wise to search you   
VMACVMON       SAS source libraries for '01JAN00's existence and change 
VMAC110        to the 1900 value to thereby support the year 2000.      
VMAC110M                                                                
VMAC110S                                                                
VMAC116                                                                 
VMACDB2H                                                                
YEAR2000                                                                
May 22, 1996                                                            
   Thanks to Graeme Yeandle, British Telecom, ENGLAND.                  
                                                                        
Change 14.099  The @137,141,143,145 for the input of OFFARMS,LENARMS,   
VMAC30         NRARMS and EXTRARMS should have been 149,153,155 and 157 
May 22, 1996   for the Auto Restart section.  I still do not have a dump
               of a real type 30 record with Auto Restart section, but  
               I just happened to notice this error.                    
                                                                        
Change 14.098  Support for AS/400, OS/400 Release 3.6 INCOMPATIBLY added
VMACQAPM       fields to the QAPMDISK, deleted fields in QAPMCONF,      
May  1, 1996   increased the size of one field in QAPMSYS, and added and
               deleted fields from QAPMJOBS.                            
               Added to QAPMDISK:                                       
                  DMDRN   ='MIRRORED*DEVICE*RESOURCE*NAME'              
                  DMIRN   ='MIRRORED*IOP*RESOURCE*NAME'                 
                  DSCCFW  ='CONTROLLER*CACHE*FAST*WRITES'               
                  DSCCRH  ='CONTROLLER*CACHE*READ*HITS'                 
                  DSCCWH  ='CONTROLER*CACHE*WRITE*HITS'                 
                  DSDRN   ='DEVICE*RESOURCE*NAME'                       
                  DSPCPH  ='CONTROLLER*CACHE*PARTIAL*READ HITS'         
                  IOPRN   ='IOP*RESOURCE*NAME'                          
                  and deleted variables DS/DMARMP DS/DMIOPA DS/DMIOPB   
                  and DS/DMPORT                                         
               Added to QAPMJOBS:                                       
                  JBDRN   ='DEVICE*RESOURCE*NAME'                       
                  JBIRN   ='IOP*RESOURCE*NAME'                          
                  JBSJNB  ='SUBMITTORS*JOB*NUMBER'                      
                  JBSJNM  ='SUBMITTORS*JOB*NAME'                        
                  JBSJUS  ='SUBMITTORS*JOB*USER'                        
                  JBTTYE  ='TASK*TYPE*EXTENDER'                         
                  JBTTYP  ='TASK*TYPE'                                  
               Only these four structures have been enhanced for 3.6.0  
               as of this date.  Further updates may be expected.       
   Thanks to Clark Jennings, Reynolds Metal, USA.                       
                                                                        
Change 14.097  MXG 14.02 only.  Zero obs in dataset NSPYLU due to typo. 
VMACNSPY       In line number 15610061 which read:                      
May  1, 1996     INPUT   LRSPHOST  &PIB.4.6   /*                        
               that extraneous "/*" must be removed from that line.     
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
====Changes thru 14.096 were included in MXG 14.02 dated Apr 25, 1996===
                                                                        
Change 14.096  Duplicate INPUT of the same variable in the same INPUT   
VMACNSPY       statement did not cause errors, but to avoid confusion,  
Apr 26, 1996   those INPUT statements were cleaned up in these members: 
                  VMACIMSA     SYNCUOWC    Duplicate line deleted       
                  VMACLMS      OPTION1     Duplicate renamed OPTIONLM   
                  VMACNSPY     CBPPOOL     New variable CBPPOOLU created
                  VMACNSPY     NSPBEXPN    New variable NSPBEXTN created
                  VMACQAPM     xxIOPA,B    Input @20, @21 removed       
                  VMACRMFV     SSHCPUX     Duplicate renamed SSHCPUX    
                  VMACX37      VOLSER      Duplicate renamed VOLSERX    
                  VMACXAM      DASDCACH    Duplicate renamed DASDCACX   
                  VMACXCOM     UNDOC04     Duplicate renumbered.        
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.095  NETSPY type S record from R4.4 caused STOPOVER; the MXG  
VMACNSPY       tests for NSPYENTL=108 and NSPYENTL=160 must be changed  
Apr 26, 1996   to NSPYENTL=112 and NSPYENTL=164 respectively.           
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
                                                                        
Change 14.094  Variable SYNCTIME was not kept in TYPE30_0 dataset, but  
VMAC30         now it is.                                               
Apr 26, 1996                                                            
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt, AG, Germany                    
                                                                        
Change 14.093  Support for IBM's Cache RMF Reporter (CRR) 1.7 adds new  
VMACACHE       variables and a new CACMODEL='02'X, for Emulated 3990s   
Apr 25, 1996   (such as the RAMAC Array Subsystem).  The IBM changes are
               compatibly made, but there will be no observations in    
               dataset CACHE90 for the new Emulated 3990s records until 
               you install this change.  New variables in CACHE90 are:  
                  CACMODEL='CACHING*SUBSYS*MODEL'                       
                  CWCC    ='CONCURRENT*COPY*CONTAM*WRITES'              
                  DCTC    ='DEVICE CACHE TRACKS CONFIGURED'             
                  DCTR    ='DEVICE CACHE TRACKS REMOVED'                
                  DVRD    ='DEVICE READS*BY*CONTROL UNIT'               
                  DVRH    ='DEVICE READ HITS*BY*CONTROL UNIT'           
                  DVWH    ='DEVICE WRITE HITS*BY*CONTROL UNIT'          
                  DVWR    ='DEVICE WRITES*BY*CONTROL UNIT'              
                  PPRC    ='PPRC*WRITE*COUNT'                           
                  RSV     ='LOWER*INTERACE*IO*(MILLISEC)'               
                  SFRD    ='TRACKS*READ*FROM SIDEFILE'                  
                  TSRR    ='TRACKS*STAGED*FOR RAID RECONSTRUCION'       
                  CSCSDFM0='CACHE 0*DISABLED*FOR*MAINTENANCE?'          
                  CSCSDFM1='CACHE 1*DISABLED*FOR*MAINTENANCE?'          
                  CSCSTAT0='CACHE 0*STATUS'                             
                  CSCSTAT1='CACHE 1*STATUS'                             
                  CSNSBAT0='NVS 0*BATTERY*IS*DEFECTIVE?'                
                  CSNSBAT1='NVS 1*BATTERY*IS*DEFECTIVE?'                
                  CSNSDFM0='NVS 0*DISABLED*FOR*MAINTENANCE?'            
                  CSNSDFM1='NVS 1*DISABLED*FOR*MAINTENANCE?'            
                  CSNSPND0='NVS 0*PENDING*DUE TO*ERROR?'                
                  CSNSPND1='NVS 1*PENDING*DUE TO*ERROR?'                
                  CSNSTAT0='NVS 0*STATUS'                               
                  CSNSTAT1='NVS 1*STATUS'                               
               Note that variables CSCSDFM, CSCSTAT, CSNSBAT, CSNSDFM,  
               CSNSPND and CSNSTAT were replaced by the above pairs.    
                                                                        
Change 14.092  IBM's RMDS Version 2.2 is supported by MXG, as there was 
VMACRMDS       no change in the contents of their SMF record.           
Apr 25, 1996                                                            
                                                                        
Change 14.091  Boole's STOPX37's replacement version records are trash. 
VMACX37        The version 3.5 SMF record was replqced by a record with 
Apr 25, 1996   only text fields.  Many users complained to Boole, and   
               Boole was finally persuaded to create the SMF record that
               should not have been replaced in their next version.  As 
               yet I have no documentation by which to update MXG.      
               Update: See Change 14.207 for PRO/SMS replacement.       
                                                                        
Change 14.090  The original text of this change said that the NETVIEW   
VMAC37         2.4 type 37 SMF record was INCOMPATIBLY changed, but that
Apr 25, 1996   is false - see Change 14.107 - there was no change.      
May 23, 1996   However, 14.090 did correct MXG's logic error that had   
               caused INPUT STATEMENT EXCEEDED errors due to incorrect  
               detection of the existence/insertion of OFFETHD:         
               The line IF OFFPROD-3-COL GE 16 THEN DO; was changed to  
                        IF OFFPROD-3-COL EQ 16 THEN DO;  and the line   
                        IF OFFPROD-3-COL GE 24 THEN DO; was changed to  
                   ELSE IF OFFPROD-3-COL GE 24 THEN DO;                 
   Thanks to Joe Schwartz, CIGNA, USA.                                  
                                                                        
Change 14.089  Support for APAR PN69653, which changes COLLTIME in IBM  
VMAC110        type 110 record from YY to YYYY for year 2000 compliance.
YEAR2000       Member YEAR2000 updated.                                 
Apr 25, 1996                                                            
                                                                        
Change 14.088  BLKSIZE=23364 values of Change 12.248 were implemented in
JCLIMSLG       the sample JCL in member ASMIMSLG, but only now have the 
Apr 25, 1996   DCB parameters been corrected in member JCLIMSLG.        
   Thanks to Waldemar Schneider, SAS Institute Cary, USA.               
                                                                        
Change 14.087  Variable QWHCATYP exists both in DB2 datasets and in MQM 
FORMATS        dataset TYPE116, but with different values for Attachment
VMAC116        Type, so the variable QWHCATYP in TYPE116 dataset is now 
Apr 25, 1996   renamed QWHCXTYP which is FORMATed MG116TY to decode     
               the MQM attachment types. This is an INCOMPATIBLE change,
               if any of your reports used variable QWHCATYP from the   
               dataset TYPE116.  Sorry for the inconvenience!           
   Thanks to Rick Apel, Square-D Company, USA.                          
                                                                        
Change 14.086  ASMTAPES MAINTLEV 9 supresses the stoppage of writing the
ASMTAPES       Allocation subtype after TMNT013E error message.  See the
Apr 25, 1996   MXG Technical Note in CHANGES in MXG 14.02 (to be printed
               in Newsletter 30 this summer) for further discussion.    
               Find the TMNT013E message WTO and change that code to    
               look like this: (change text of WTO, comment NI and MVC):
         WTO   'TMNT013I A LOCK OBTAIN LOOP HAS EXCEEDED MAXIMUM TIME AX
               LLOWED - POSSIBLE SYSTEM STALL'                          
         *   NI    OPTIONS,255-DOALLOC    TURN OFF ALLOCATION BIT       
         *   MVC   PARSSAL,=CL3'NO '      UPDATE STATUS MESSAGE         
         B     MONITOR                AND LEAVE                         
         LOCKED   EQU   *                                               
   Thanks to Mike ONeill, Dun and Bradstreet, USA.                      
                                                                        
Change 14.085  Variables added by IBM in MVS/ESA 5.2.0 but overlooked:  
VMAC7072       Dataset TYPE72GO (Goal Mode Service/Report Class data):  
VMAC74           R723CSRS='SHARED*PAGE*RESIDENCY*TIME'                  
Apr 23, 1996     R723CSPA='SHARED*PAGEINS*FROM*AUXSTORE'                
                 R723CSPE='SHARED*PAGEINS*FROM*ESTORE'                  
               Dataset TYPE74OM: (Open Edition MVS):                    
                 OMVSCAMN='MIN*MEM MAP STORAGE PAGES*PER CYCLE'         
                 OMVSCAMX='MAX*MEM MAP STORAGE PAGES*PER CYCLE'         
                 OMVSCGMN='MIN*SHARED MEM PAGES*PER CYCLE'              
                 OMVSCGMX='MAX*SHARED MEM PAGES*PER CYCLE'              
                 OMVSCHMN='MIN*SHARED MEM IDS*PER CYCLE'                
                 OMVSCHMX='MAX*SHARED MEM IDS*PER CYCLE'                
                 OMVSCMAP='AVG*MEM MAP STORAGE PAGES*PER CYCLE'         
                 OMVSCMMN='MIN*MSG QUEUE IDS*PER CYCLE'                 
                 OMVSCMMX='MAX*MSG QUEUE IDS*PER CYCLE'                 
                 OMVSCMSG='AVG*MSG QUEUE IDS*PER CYCLE'                 
                 OMVSCPAG='AVG*SHARED STORAGE PAGES*PER CYCLE'          
                 OMVSCSEM='AVG*SEMAPHORE IDS*PER CYCLE'                 
                 OMVSCSHM='AVG*SHARED MEM IDS*PER CYCLE'                
                 OMVSCSMN='MIN*SEMAPHORE IDS*PER CYCLE'                 
                 OMVSCSMX='MAX*SEMAPHORE IDS*PER CYCLE'                 
                 OMVSCSPG='AVG*SHARED MEM PAGES*PER CYCLE'              
                 OMVSCXMN='MIN*SHARED STORAGE PAGES*PER CYCLE'          
                 OMVSCXMX='MAX*SHARED STORAGE PAGES*PER CYCLE'          
                 OMVSMMAP='MAX*MEM MAP PAGES*PER CYCLE'                 
                 OMVSMMSG='MAXIMUM*MESSAGE*QUEUE*IDS'                   
                 OMVSMPAG='MAX*SHARED STORAGE PAGES*CONSTANT'           
                 OMVSMSEM='MAXIMUM*SEMAPHORE*IDS'                       
                 OMVSMSHM='MAXIMUM*SHARED*MEMORY*IDS'                   
                 OMVSMSPG='MAXIMUM*SHARED*MEMORY*PAGES'                 
                 OMVSOAMN='MIN*EXCEED MEM MAP PAGES*PER CYCLE'          
                 OMVSOAMX='MAX*EXCEED MEM MAP PAGES*PER CYCLE'          
                 OMVSOGMN='MIN*EXCEED MAX SHR PAGES*PER CYCLE'          
                 OMVSOGMX='MAX*EXCEED MAX SHR PAGES*PER CYCLE'          
                 OMVSOHMN='MIN*EXCEED MAX SHRMEM IDS*PER CYCLE'         
                 OMVSOHMX='MAX*EXCEED MAX SHRMEM IDSPER CYCLE'          
                 OMVSOMAP='AVG*EXCEED MEM MAP PAGES*PER CYCLE'          
                 OMVSOMMN='MIN*EXCEED MAX MSGS*PER CYCLE'               
                 OMVSOMMX='MAX*EXCEED MAX MSGS*PER CYCLE'               
                 OMVSOMSG='AVG*EXCEED MAX MSGS*PER CYCLE'               
                 OMVSOPAG='AVG*EXCEED STORAGE PAGES*PER CYCLE'          
                 OMVSOSEM='AVG*EXCEED MAX SEMA IDS*PER CYCLE'           
                 OMVSOSHM='AVG*EXCEED MAX SHRMEM IDS*PER CYCLE'         
                 OMVSOSMN='MIN*EXCEED MAX SEMA IDS*PER CYCLE'           
                 OMVSOSMX='MAX*EXCEED MAX SEMA IDS*PER CYCLE'           
                 OMVSOSPG='AVG*EXCEED MAX SHR PAGES*PER CYCLE'          
                 OMVSOXMN='MIN*EXCEED STORAGE PAGES*PER CYCLE'          
                 OMVSOXMX='MAX*EXCEED STORAGE PAGES*PER CYCLE'          
                 OMVSCYCT='CYCLE*TIME*VALUE'                            
                                                                        
Change 14.084  INPUT STATEMENT EXCEEDED for SUBTYPE=41. The line with   
VMACBETA         DATE   &PD.4   must be   DATE  &PD.4.  (i.e., the final
Apr 22, 1996   period was missing).  Originally, this text also said    
May 26, 1996   "there are other changes in the subtype=41 record that   
               are not documented", but that was not true; there were no
               other changes to that subtype of the BETA93 SMF record.  
   Thanks to Mr. Bronner, Versandhaus Wenz, GERMANY                     
                                                                        
Change 14.083  Variables QW0045SR and QW0045XR added to T102S045 dataset
VMAC102        by DB2 4.1, with "Suspend Reason" and "Extent of Global  
Apr 22, 1996   Contention" flags.                                       
   Thanks to Dan Kaberon, Hewitt Associates, USA.                       
                                                                        
Change 14.082  Labels for QBGxxx variables were changed from "SES ..."  
VMACDB2        to "CF ...".  These variables report Coupling Facility   
Apr 16, 1996   contentions and false contentions.  What was originally  
               called Shared Expanded Storage (SES) is now known as the 
               Coupling Facility (CF).                                  
                                                                        
Change 14.081  The OPTIONS MAUTOSOURCE SASAUTOS=SOURCLIB; statement in  
TYPEIMSA       TYPEIMSA was removed.  Those options have been set by the
Apr 16, 1996   CONFIG option for many versions, and so this statement is
               redundant; it also caused SAS/CPE problems in the way    
               they modify MXG code on the fly.                         
   Thanks to Carl Sommer, SAS Institute Cary, USA.                      
                                                                        
Change 14.080  VM/370 (archaic!) monitor records with RELEASVM='01' were
VMACVMON       not recognized in the Device (6.02) section.  Before the 
Apr 16, 1996   line reading    ELSE       LENDV2=1;    insert this line:
               ELSE IF RELEASVM EQ '01' THEN LENDV2=2;                  
               to correct the error.                                    
   Thanks to Jim Cheesman, NWNL Corporation, USA.                       
                                                                        
Change 14.079  Date variables which are zero printed as 01JAN1960, which
VMACTLMS       is the SAS date value epoch, but this caused confusion on
Apr 16, 1996   reports (which previously printed only a 0).  All of the 
               statements  ... THEN variable='01JAN1960'D; were replaced
               with THEN variable =.; (to set zero dates to missing).   
   Thanks to Rey Marquez, General Accident, USA.                        
                                                                        
Change 14.078  Reserved Change Number.                                  
Apr 12, 1996                                                            
                                                                        
Change 14.077  OPC Release 3.0 and 3.1 may cause INVALID MTD SUBTYPE    
EXOPC24Y       messages to fill the SAS log, and observations were not  
IMACOPC        output.  New fields that were not in the 3.0 manual are  
VMACOPC        now in the 3.1 manual, but also now show up in records   
Apr 11, 1996   created by OPC Release 3.0!  Since I can't get straight  
Apr 16, 1996   answers from IBM as to whether the fields were really    
               there in 3.0 and I missed them, or whether PTFs created  
               the new fields, I have added support for the new data but
               you will have to update macro _OPCVER in member IMACOPC  
               to a value of 3.1 for MXG to read in the new fields.  In 
               otherwords, try processing OPC 3.0 with _OPCVER 3, and if
               that fails, change _OPCVER to 3.1 and try again!         
               Dataset OPC24D_B has new variables MTDRESE and MTDRESQ.  
               Dataset OPC24_25 formerly contained subtypes 2,3,4 and 5 
               (MT0TYPE) of the Type 24 record, but this change creates 
               new dataset OPC24_2 for the subtype 2, and now OPC24_25  
               contains only subtypes 3,4, and 5.  The new OPC24_2      
               dataset exit name is EXOPC24Y because EXOPC242 is already
               in use.                                                  
   Thanks to Randy Shumate, LEXIS-NEXIS, USA.                           
                                                                        
Change 14.076  Variable MSOUNITS is now stored as 5 bytes instead of 4, 
VMAC30         because a value such as 2,804,486,170 is truncated to    
Apr 11, 1996   only 2,814,486,016 when stored in 4 bytes.               
   Thanks to Aldo Valenti, SAS Italy, ITALY.                            
                                                                        
Change 14.075  If KEEPALL=YES was specified, and some of the parameters 
VMXGSUM        were not used in your %VMXGSUM invocation, the logic to  
Apr 10, 1996   reconstruct the strings failed since it should never have
               been executed.  This change makes KEEPALL=YES work as it 
               was intended, and provides improved error checking.      
   Thanks to Tom Elbert, John Alden Insurance, USA.                     
                                                                        
Change 14.074  If TRNDLPAR has less than one week's data (i.e., first   
GRAFLPAR       time it's being used), strange graphs occurred because   
Apr 10, 1996   MXG assumed more than one week's data.  This change uses 
               the "best fit" algorithm of GRAFTRND so that all points  
               represent a monday or a start of the week.               
                                                                        
Change 14.073  ERROR: VARIABLE QWHSIID NOT FOUND with DB2 I/O reports   
ANALDB2R       (a holdover from before ANALDBTR existed to pair the DB2 
Apr 10, 1996   I/O trace records) is corrected by this change.          
   Thanks to Roland Nieuwenhuizen, SAS Netherlands, THE NETHERLANDS.    
   Thanks to Paul Ritzen, KLM, THE NETHERLANDS.                         
                                                                        
Change 14.072  Variable CLASRC was added to EREPOBR dataset (to identify
ADOCEREP       which record created the observation), and ADOCEREP was  
VMACEREP       updated to describe datasets EREPOBL and EREPHDR.        
Apr 10, 1996                                                            
                                                                        
Change 14.071  Dataset DB2STATB previously had zero observations unless 
EXDB2STB       you tailored exit member EXDB2STB, because I thought the 
Apr 10, 1996   dataset could be large.  In fact, there is only one obs  
               for each buffer pool for each interval, and thus I have  
               removed the comment block around the OUTPUT _LDB2STB;    
               statement, so observations will now always exist.        
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
Change 14.070  IBM APAR OW19251 addresses RACF and the year 2000; since 
VMAC80A        the RACF database only has three bytes for date, IBM has 
Apr 10, 1996   declared that RACF dates with YY of 71 or higher will be 
               interpreted as year 19YY and dates with YY of 70 or less 
               will be interpreted as year 20YY.  Further information is
               to be in APAR OW19683.  In examining VMAC80A, two dates  
               were not converted from Julian to SAS.  After the INPUT  
               of variables REVOKDTE and RESUMDTE (two separate places),
               insert:                                                  
                 IF REVOKDTE GT 0 THEN REVOKDTE=DATEJUL(REVOKDTE);      
                 IF RESUMDTE GT 0 THEN RESUMDTE=DATEJUL(RESUMDTE);      
                                                                        
Change 14.069  TYPE99_2 now contains one observation for each period in 
VMAC99         each service class that had activity; previously only the
Apr 10, 1996   first period's data was output.                          
               Before the INPUT @SM992CPO insert DO _I_=1 TO SM992CPN;  
               After the %%INCLUDE SOURCLIB(EXTY99U2); insert           
                 SM992CPO=SM992CPO+SM992CPL;  END;                      
               I discovered that the SRVCLASS variable that I INPUT     
               from the Period Data Section must instead be INPUT from  
               the Class Data Section (i.e., where SM992NAM was input), 
               and I now INPUT new variable SM99PCNM where SRVCLASS was 
               INPUT, labeled SM99PCNM='INTERNAL*SERVICE*CLASS*NAME' and
               is kept instead of SM992NAM.  The Internal Service Class 
               Name only appears in type 99 records, with names like    
               $SRMDInn for discretionary periods, or $SRMBEST, $SRMGOOD
               and $SRMDUMP names.                                      
   Thanks to Sridhar Gopalaswami, Barnett Technologies, USA.            
                                                                        
Change 14.068  MXG only output the first QLST segment in DB2STATS, but  
DIFFDB2        there is one segment for each Remote Destination used in 
EXDB2STR       each interval.  Now, the QLSTxxxx variables in DB2STATS  
IMACDB2        will contain the sum of all remote activity to all remote
VMACDB2        locations during the interval, while new dataset DB2STATR
Apr  9, 1996   contains one observation for each Remote Location during 
               each interval with the detail QLSTxxxx counts.  Member   
               DIFFDB2 was altered to also deaccumulate DB2STATR.       
   Thanks to Peter Li, John Deere, USA.                                 
   Thanks to Ralph Baechle, John Deere, USA.                            
                                                                        
Change 14.067  Variable QBSTHBE in DB2STATB and variables QBnTVPL,      
DIFFDB2        QBnTHPL, and QBnTHBE for n=0,1,2,3 in DB2STATS are not   
Apr  2, 1996   not accumulated values but are endpoint values, so their 
               DIF() statements were removed from DIFFDB2.  (QBSTHPL and
               QBSTVPL were removed from DB2STATB by Change 13.269).    
   Thanks to Peter Li, John Deere, USA.                                 
                                                                        
Change 14.066  Validation of TYPE88 with data corrected INPUT STATEMENT 
VMAC88         EXCEEDED RECORD LENGTH errors  Input of SMF88SDL should  
Apr  2, 1996   have been &PIB.4. vice &PIB.2., and the +2 after SMF88SAB
               must be +4, SMF88RVN is now input as &NUM.2 vice &PIB.2.,
               and SMF88LIT is input TODSTAMP8 and formatted, and new   
               field SMF88EFS (undocumented in SMF manual) is input.    
   Thanks to Lee Borgman, Boeing Information Services, USA.             
                                                                        
Change 14.065  APARS OW08565 and OW10584 adds SYNCTIME and statistics   
VMAC28         (CPU utilization, Fast Program Storage Utilization, and  
Apr  1, 1996   Buffer Storage Utilization) for each of the (up to 18!)  
               processors in the 3746/900 in the NAC segment, and adds  
               TIC utilization per frame and per byte sent and received 
               in the CSL segment.                                      
   Thanks to John Astle, National Australia Bank, AUSTRALIA.            
   Thanks to Sandro Aiello, National Australian Bank, AUSTRALIA.        
                                                                        
Change 14.064  Using Tape instead of DASD for ANALDSET fails; the step  
ANALDSET       added in MXG 13.02 reused the same DDNAME.  The lines    
Apr  1, 1996    DATA SORTSTEP.SORTSTEP; SET SORTSTEP.SORTSTEP must be   
                DATA TYPE30.TYPE30_4; SET SORTSTEP.SORTSTEP; and a new  
               data step was added after that step with                 
               DATA SORTSTEP.SORTSTEP; SET TYPE30.TYPE30_4;             
   Thanks to Bill Bechtloff, Acxion, USA.                               
                                                                        
Change 14.063  DASDMPL value 1000 times too large in dataset TYPE42DS.  
VMAC42         RESPTIME is in millisec, not sec, so equation must be:   
Apr  1, 1996      DASDMPL=RESPTIME*DASDRATE/1000;                       
   Thanks to Xiaobo Zhang, Insurance Services Office, USA.              
                                                                        
Change 14.062  Just before the "DATA PDB.ASUMAPAF;" statement, insert:  
ASUMAPAF         PROC SORT DATA=TEMPAPA2;                               
Apr  1, 1996      BY SYSTEM STARTIME LPARNUM LPARNAME;                  
               to protect sort order if you increase the number of      
               MDF domains.                                             
   Thanks to Scott Snyder, Card Establishment Services, USA.            
                                                                        
Change 14.061  Variables MVUCDATE and MVUCTIME need  ??  modifier (just 
VMACEDGS       like change 13.124) to prevent INVALID DATA messages when
Apr  1, 1996   there was no last user change date.  In addition, dataset
               EDGSOREC and EDGSOVOL were not correct.  After the +7,   
               insert @; IF MOCFLG EQ '08'X THEN INPUT before MOOWNSUR, 
               replace  IF LENGTH-COL+1 GE 4 THEN INPUT with ELSE INPUT 
               and change IF MOVOLNO GT 0 THEN DO to  IF MOVOLNO GT 0   
               AND MOCFLG NE '08'X THEN DO....                          
   Thanks to Emmanuel Chenay, Toyota Motor Europe, BELGIUM.             
                                                                        
Change 14.060  UCICSCNT CICS diagnostic tool was enhanced to count the  
IMACEXCL       different record sizes found in your CICS transaction    
VMAC110        (type 110 subtype 1) data that you can verify if all of  
UCICSCNT       your regions have the same EXCLUDE/INCLUDE definitions.  
Apr  1, 1996   Comments in IMACEXCL were improved for multi-line INPUT  
               statements for the same CICS field number, and debugging 
               logic in VMAC110 was strengthened.                       
                                                                        
Change 14.059  TYPE72GO variable VALDSAMP was incorrect, which caused   
VMAC7072       the PCTDLxxx variables to sometimes be wrong. The correct
Mar 29, 1996   equation should have five terms:                         
                VALDSAMP=PCTUSCUS+PCTDLTOT+PCTDLUNK+PCTDLIDL+PCTDLPQU;  
               In addition, VALDSAMP is added to the KEEP= list for the 
               TYPE72GO dataset.                                        
   Thanks to Bruce Widlund, Merrill Consultants, USA                    
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.058  TYPE71 statistics for Shared Page Groups added in ESA 5.1
VMAC71         by IBM but missed by MXG until now.  New variables are:  
Mar 29, 1996     SHPG-IN/OU-AU/EX - Page in/out from AUX and ESTORE     
                 SHPGSYxx - Shared Page Groups in the system            
                 SHPGCSxx - Shared Page Groups in CSTORE                
                 SHPGESxx - Shared Page Groups in ESTORE                
                 SHPGAUxx - Shared Page Groups in AUX STORE             
                 SHPGFXxx - Shared Page Groups Fixed                    
                 SHPGLOxx - Shared Page Groups Fixed below 16MB         
                  where xx = AV,MN,MX for average, min and maximum.     
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 14.057  Support for STK's NearOAM (formarly NearImage) user SMF  
EXTYNOAM       record creates dataset TYPENOAM with one observation for 
IMACNOAM       each individual request to retrieve an object.  Their SMF
TYPENOAM       record can contain up to 100 requests from a single tape;
VMACNOAM       MXG creates one observation per request, with the start  
Mar 28, 1996   and end times and duration of each request, and the name 
               of the tape dataset being processed.                     
   Thanks to Fiona Crane, Sun Alliance Insurance Group, ENGLAND.        
                                                                        
Change 14.056  Cosmetic.  Test macro _TESTINTX defined in VMACVMXA is   
JCLTEST6       too long and is renamed _TESTINX to conform with 8-byte  
VMACVMXA       limit of SAS.  There was no change to JCLTEST6, but that 
Mar 27, 1996   MXG job encountered this error in VMACVMXA.              
   Thanks to Philip Sills, IFF International Flavors & Fragrance, USA.  
                                                                        
Change 14.055  STK's HSC Subtype 08 record comes in two (incompatible)  
VMACSTC        lengths of 38 or 40 bytes, but MXG Change 14.001 knew of 
Mar 27, 1996   only the 38 byte record.  STK expanded a one byte thrice 
               defined field into three separate fields.  Either length 
               record caused INPUT STATEMENT EXCEEDED error message.    
               To fix, conditionally execute the INPUT statement by     
               inserting    IF LENGTH-COL+1 EQ 18 THEN before input,    
               then block replicate the input, change the condition to  
                       ELSE IF LENGTH-COL+1 GE 20 THEN                  
               and then remove the +M1 before fields STC08CID, STC08MAG 
               in the GE 20 input.                                      
   Thanks to Herb G. Strozinsky, Burlington Northern Santa Fe RR, USA.  
   Thanks to Sudie Wulfert-Schickedanz General American Life Ins, USA.  
                                                                        
Change 14.054  Support for Netview FTP (File Transfer Protocol) subtype 
FORMATS        51x, written when the Server Finished Request Processing 
VMACFTP        creates FTP25X dataset with bytes transferred, CPU time, 
Mar 27, 1996   begin and end, as well as compression factor.            
               APAR PN82953 corrects documentation.                     
   Thanks to Herb G. Strozinsky, Burlington Northern Santa Fe RR, USA.  
                                                                        
Change 14.053  Variables LUNETID PCSESSID VILUNAME in NSPYLU dataset are
VMACNSPY       trashed, because two new fields, LUATTCHS and LUUSRSPS   
Mar 27, 1996   were not input by MXG.  After the line that INPUTs       
Mar 28, 1996   variable LUNRSPSS, and before the @; that ends that      
               INPUT statement, insert                                  
                  LUATTCHS  &PIB.2. /*ATTACHES*INITIATED*ONLY LU 6.2*/  
                  LUUSRSPS  &PIB.2. /*USER*RESPONSES*(BOTH6.2+NON-6.2)*/
               then add the two variable names at the end of the NSPYLU 
               KEEP= list, just before the _KNSPYLU macro reference.    
               Additionally, variable NSPYNETW was trashed, as six bytes
               were inserted in July 95 that were not in the March 95   
               documentation for Netspy 4.6.  To circumvent, after the  
               line that INPUTs SGTRGT4, insert a line with   +6   to   
               skip six bytes.  The actual change creates new variable  
               NSPYDBKY, Database Key from the Netspy Header, but does  
               not keep the new variable (until someone tells me what   
               use it is in which Netspy datasets!).                    
   Thanks to Dennis Longnecker, State of Washington OAC, USA.           
                                                                        
Change 14.052  HSM ABARS short FSRTYPE=15 record caused INPUT STATEMENT 
VMACHSM        EXCEEDED RECORD error.  While I am still investigating   
Mar 15, 1996   what changed, to circumvent the error and skip the bad   
               record, insert   IF LENGTH-COL+1 LT 274 THEN RETURN;     
               in two places, immediately preceding both occurrences  of
                    INPUT @15+OFFSMF                                    
                          WFSRJOB   $EBCDIC8. /*REQUESTING*JOB*...      
   Thanks to Robert A. Burns, The Travelers, USA.                       
                                                                        
Change 14.051  Variable ELAPSTM was not created in dataset TYPE72GO Goal
VMAC7072       Mode, causing RMFINTRV to have missing values for all of 
RMFINTRV       the response (TSORESP,BATRESP) when you migrate to WLM   
Mar 15, 1996   Goal Mode, because ELAPSTM is the numerator of response. 
               Just adding ELAPSTM to KEEP list for TYPE72GO won't work.
   Thanks to Waldemar Schneider, SAS Institute Cary, USA.               
   Thanks to Kevin Carpenter, First of America Services, USA.           
                                                                        
Change 14.050  INVALID DATA FOR BETASTRT and BETAEND with BETA 1.6.5 for
VMACBETA       subtype=21 because MXG failed to skip over three reserved
Mar 13, 1996   bytes.  Find the statement  ELSE IF SUBTYPE=21 THEN DO;  
               Then find the statement about 21 lines later reading:    
                       BETASTRT  SMFSTAMP8. /*S20TRES1*RESERVED*/       
               Change the line to read                                  
                 +3    BETASTRT  SMFSTAMP8. /*S20TRES1*RESERVED*/       
   Thanks to Mr. Hasselmann, Braun AG, GERMANY.                         
                                                                        
Change 14.049  Changes to keep DATETIME in Change 14.028 should also be 
BUILDPD3       made in BUILDPD3 and BUIL3005 (for JES3) to be consistent
BUIL3005       with BUILDPDB and BUILD005 (for JES2).  Variable DATETIME
Mar 13, 1996   is kept and labelled in PDB.JOBS, PDB.STEPS and PDB.PRINT
               and LENGTH statements were also made consistent.         
   Thanks to Chris Weston, SAS Institute Cary, USA.                     
                                                                        
Change 14.048  Variable ULOGADAE should have been INPUT as &PIB.4.3 vice
VMACCOMP       &PIB.4.2.                                                
Mar 13, 1996                                                            
   Thanks to Jens Schlatter, Independent Consultant, GERMANY.           
                                                                        
Change 14.047  DB2 Trace dataset T102S096 variable QW0096SN should have 
VMAC102        been INPUT as &PIB.4. vice &PIB.2.; variables QW0096SC   
Mar 13, 1996   and QW0096SK should be &PIB.2. vice $EBCDIC1.            
   Thanks to Dr. Alexander Raeder, Karstadt AG, GERMANY.                
   Thanks to Harmuth Beckmann, Karstadt, AG, Germany                    
                                                                        
====Changes thru 14.046 were included in MXG 14.01 dated Mar  7, 1996===
                                                                        
Change 14.046  Validation of TMON for UNIX at a real site with real data
VMACTUX        uncovered these corrections.                             
Mar  7, 1996  -Variable INTERVAL added to KEEP= for TUXCPU and TUXDISK. 
              -Variables UTIME, STIME, UTIMETOT, STIMETOT are divided   
               by 100.                                                  
              -For data from AIX, memorymgmt fields swapins, swapouts,  
               filefault, swapfault, and faultiorate do not exist, and  
               system fields swapin_rate and swapout_rate do not exist, 
               and must be commented out in your input statement (until 
               I find a permanent solution!).                           
              -Comparing the sum of utime and stime from process records
               was typically 70%-80% of the usertm from cpu records for 
               HP G50, but with AIX, stime+utime is always greater than 
               the usertm, usually about 150%, and utime by itself with 
               AIX is 75-80% of usertm.                                 
              -Nowhere is TMON/UNIX is CPU model/speed/size or memory   
               size kept.                                               
   Thanks to Dan Sidorik, SmithKlein Beecham, USA.                      
                                                                        
Change 14.045  The //LKED.SYSLMOD DD statement must be moved to the end 
ASMRMFV        of the member for the assembly and link edit to execute  
Mar  6, 1996   without error.                                           
   Thanks to Jay Beeler, Key Services, USA.                             
                                                                        
Change 14.044  A truncated DB2 3.1 type 101 SMF record caused INPUT     
VMACDB2        STATEMENT EXCEEDED because MXG validation of the triplet 
Mar  6, 1996   (offset, length, number) was not as robust as it is now. 
               Change the test now reading:                             
                IF 0 LT OFFPROD LT LENGTH AND NRPROD GT 0 THEN DO;      
               to read                                                  
                IF 0 LT OFFPROD LT LENGTH AND NRPROD GT 0               
                  AND OFFPROD+LENPROD-1 LE LENGTH THEN DO;              
               The record may have been truncated during copying after  
               creation, or DB2 might have created the bad record; the  
               site is still investigating, and this note will be       
               updated when more is known.  Now, MXG will detect this   
               class of bad records, tell you they are there while      
               avoiding the STOPOVER error, and keep on truckin'.       
               The actual change was made to all forty statements of the
               preceding form, one for each record segment type.        
                  The bad record had a product section length (in the   
                  triplet) of 152 bytes, but there were only 114 bytes  
                  left in the record from the start of the PROD data    
                  section.  The PROD data section contained a valid     
                  76-byte header 1 subsection, and the beginning of a   
                  header 2 section with expected length of 76 bytes, but
                  only 38 bytes exist.                                  
   Thanks to Dan Null, Caterpiller Inc, USA.                            
                                                                        
Change 14.043  DCOLLECT dataset DCOLSG (Storage Group definitions) has  
VMACDCOL       variable DSGGBKUF too large, because MXG was off by one  
Mar  6, 1996   byte.  After the  IF DCOLRTYP='DC' THEN DO; statement,   
               insert new statement  M8=-8;   Then change the line that 
               inputs DSGGBKUP so that it reads:                        
                   +M8  DSGGBKUP   $EBCDIC1.  +7    /* label ... */     
               (DSGGBKUP is a redefinition of DSGCNFRM).                
   Thanks to Mike Moss, Royal Bank of Scotland, SCOTLAND.               
                                                                        
Change 14.042 -INVALID DATA for TIGETMCT or TIFREMCT because the fields 
TYPETMON       are documented as XL8 and I assumed they were floating   
Mar  6, 1996   point (like all the other Landmark XL8 fields) and input 
               them as &RB.8.  Since all of my test data had zero values
               I could not tell.  Well, it turns out they are fixed and 
               not float, and their input must be changed from &RB.8. to
               &PIB.8., and the two lines after the @; that multiply by 
               1000000 must be deleted.                                 
              -INVALID DATA FOR TIAPREQ TIAPWAT and/or TIAPEXMT result  
               when your CICS guy uses new TMON TCE 1.3 programs        
               TMONCNVT or $DBUTIL to convert old TMON TCM 8.3 records; 
               trashed records of the wrong length (2276) are created by
               the Landmark program when you cross versions.  Although I
               think the Landmark program should have recognized their  
               inconsistency and ABEND their convert, they don't, so MXG
               will now test for wrong length and warn you on the log   
               that bad records have been found and deleted.            
   Thanks to Rudra Rishy Maharaj, Stelco Inc, CANADA.                   
                                                                        
Change 14.041 -Variables CPUTYPE and CPUVERSN are now added to TYPE72GO 
EXTY72GO       observations.  Retained from the last type 70 record, the
VMAC7072       variables were kept in TYPE72 PERFGRP data, so it makes  
Mar  5, 1996   sense to keep them also in the TYPE72GO SRVCLASS data, so
Mar 27, 1996   that old reports can be used for WLM reporting.          
Apr 23, 1996  -Variable R723RTYP was added to TYPE72GO KEEP= list.      
              -Change 13.228 was not actually implemented in MXG 13.13, 
               but its logic (in EXTY72GO to OUTPUT TYPE72GO only if the
               service class or report class had activity during the    
               interval) was finally added in MXG 14.01.  Subsequently, 
               its test for R723TYPE IN(1,2,4) was changed in MXG 14.02 
               to test for R723TYPE IN(1,2,4,5), because report classes 
               were being output with all zeroes for report classes     
               whose associated service classes were never initiated    
               (e.g., CICS report classes defined on a CICS backup).    
              -Because R723CRCA is frequently blank even when resources 
               are recorded for a Service Class, and because it is used 
               to set R723RTYP values 4 or 5, the logic to set the value
               of R723CRCA was changed to now read:                     
                IF R723CADF='1.......'B OR SERVICE+ACTIVETM GT 0 THEN   
                   R723CRCA='Y';                                        
   Thanks to Brenda Rabinowitz, Prudential-Bache Securities, USA.       
                                                                        
Change 14.040  TCP/IP release 2.2.1 prior to APAR PN40511 was a user SMF
VMACTCP        record with ID greater than 128, but if you used ID=118  
Mar  5, 1996   for this old release, you caused MXG to print UNEXPECTED 
               TCP/IP DATA message notifying you that MXG had deleted a 
               record.  However, if the bad record happened to have "S" 
               in column 69, MXG failed with INPUT STATEMENT EXCEEDED.  
               Correcting SMF TYPE eliminates the error (and with that  
               APAR and later releases of TCP/IP, you no longer can set 
               the ID, it is fixed at 118), but I added protection to   
               avoid the STOPOVER condition.                            
   Thanks to Jim Majors, Barnett Technologies, USA.                     
                                                                        
Change 14.039  Altai & CA job schedulers can't restart a multi-step SAS 
MXGSAS         job due to the DISP=(MOD,PASS) on the //NULLPDS DD       
Mar  4, 1996   statement in the JCL procedure to execute SAS, because   
               you cannot restart a step that needs passed datasets.    
               However, if you could change PASS to DELETE, the step    
               would be restartable, and since NULLPDS exists only to   
               satisfy JCL syntax for the LOAD and SASAUTO symbolic     
               parameters, and since NULLPDS is never actually opened,  
               it would be safe to change the PASS to DELETE.  However, 
               when PASS was changed to DELETE, now a second execution  
               of the PROC fails with ABEND 213-04, and the matter is   
               still under investigation. Stay tuned.                   
   Thanks to Neil Ervin, Huntington Services, USA.                      
                                                                        
Change 14.038  Consistency clean-up.  Datasets DCOLAI and DCOLCN did not
VMACDCOL       have variable ZDATE in their KEEP= list, but now they do.
Mar  3, 1996                                                            
                                                                        
Change 14.037  MAINTLEV 8 of the MXG Tape Mount and Allocation Monitor. 
ASMTAPES       Two principal changes: Use of the CVT to load the return 
ZASMTAPE       address of the SRB routine, so we will no longer be      
Mar  3, 1996   dependent on the SRB DSECT to properly exit the SRB, and 
               far more stringent use of the lockword; the SRB will now 
               exit immediately if it is unable to obtain the lockword, 
               whereas prior versions assumed we were serialized and    
               continued to process.  MAINTLEV 7 has failed only once at
               only one site (but it was in its SRB routine, while in   
               FRR), and it may have caused another ASID to fail!  Dumps
               of that failure did show the exposure in our SRB routine 
               that are now corrected.                                  
   Thanks to Paul Hill, Midland Bank, ENGLAND.                          
                                                                        
Change 14.036  Support for type 6 ESS segment decoding is added and is  
IMAC6ESS       externalized in new IMAC6ESS.  By default, no fields in  
Mar  3, 1996   the ESS segments will be decoded until you remove the    
               comment block in this member.  You will also want to set 
               the desired LENGTH of the new variables to be kept, and  
               if you want the ESS variables in your PDB.PRINT, you will
               also need to update _PDB_6 macro in IMACPDB.             
   Thanks to Martin Wieland, Neckermann B.V., THE NETHERLANDS.          
                                                                        
Change 14.035  Format MGD145S (for DB2 trace IFCIDS 124, 145, and 183)  
FORMATS        should map binary, not hex values, so the X's on both    
Mar  3, 1996   sides of the equal sign were removed.                    
   Thanks to Joe Faska, Depository Trust, USA.                          
                                                                        
Change 14.034  NDM subtypes 'SI' and 'ST' were not correct.  In the 'SI'
VMACNDM        section, insert  +4  between  INPUT  and NDMUNODE, and   
Mar  2, 1996   change $EBCDIC8. after NDMUID to $EBCDIC64.   In the 'ST'
               section, change $EBCDIC8. after NDMUID to $EBCDIC64.     
               Worse, I discovered NDMTIME and most other NDM datetime  
               variables were missing.  Thirteen lines that now read    
                   IF DATEYYYY GT 80000 THEN ....                       
               must be changed to read                                  
                   IF DATEYYYY GT 0 THEN ....                           
               This error was "fixed" by Change 13.178, but that change 
               was not actually made in my source library until now!    
   Thanks to H. van den Bergh, Rabofacet, THE NETHERLANDS.              
                                                                        
Change 14.033  CMF user SMF record subtype 27 (Cache Controller) did not
VMACCMF        recognize 3990-6 control unit records.  Change the test  
Mar  2, 1996   IF CMF27MDL = '93' ... to IF CMF27MDL IN ('93','96') ....
   Thanks to Gavin Ring, Alcatel, AUSTRALIA.                            
                                                                        
Change 14.032  Support for FACOM MSPE/EX PTF 93061 for the ID=127 SMF   
VMACF127       record has been updated by this user contribution.       
Mar  2, 1996                                                            
   Thanks to Ian Heaney, Toyota, AUSTRALIA.                             
                                                                        
Change 14.031  Specifying %ANALDB2R(PDB=SMF); unexpectedly requires a   
ANALDB2R         //PDB  DD UNIT=SYSDA,SPACE=(CYL,(1,1))                 
READDB2        because three new-in-DB2-4.1-datasets default to PDB in  
Mar  1, 1996   IMACDB2, and ANALDB2R did not intercept and override that
Mar  6, 1996   default for those datasets when it called READDB2, which 
               was the real culprit, and which was fixed by this change.
               This change eliminates the need for //PDB when PDB=SMF   
               is specified.                                            
   Thanks to David Klein, City of New York DOITT, USA.                  
                                                                        
Change 14.030  Support for IMS log record processing for IMS 5.1.       
ASMIMSL5                                                                
IMACIMS        Note: MXG Strongly recommends you use a monitor, such as 
IMACIMS7       Boole & Babbage's IMF (MXG support in TYPECIMS) or Candle
TYPEIMS7       ITRF (MXG support in TYPEITRF).See "IMS Technical Notes" 
TYPEIMSA       in MXG Newsletter TWENTY-FIVE before proceeding.         
VMACIMS                                                                 
VMACIMSA       This is the revised ASMIMSL5 (use it instead of ASMIMSLG 
Mar  5, 1996   for IMS 5.1), VMACIMSA and TYPEIMSA for the JCLIMSLG     
Feb 15, 1997   algorithms.                                              
               I have also created a new member, TYPEIMS7, which reads  
               IMS 5.1 and earlier releases (you must set _IMSVERS in   
               member IMACIMS) to process only the 07 and 08 IMS log    
               records into new dataset IMS0708 which may be all that   
               you need for IMS log analysis if you need only the counts
               of transactions and resources (i.e., no response time    
               nor LTERM identification).  Dataset IMS0708 will have one
               one observation for each IMS Program Schedule, with all  
               all resources (CPU, DL/I calls) for that schedule, and   
               variable NMSGPROC in IMS0708 is the count of transactions
               that were processed during by that program.  TYPEIMS7    
               does not depend on the ASMIMSLx architecture, and thus it
               will be supported for all IMS releases in the future for 
               IMS accounting and resource capture.                     
   Thanks to G. Cossio, Quercia Software S.P.A., ITALY.                 
   Thanks to Sig. Moreschini, Quercia Software S.P.A., ITALY.           
                                                                        
Change 14.029  DFSMS/rmm type "O" INPUT STATEMENT EXCEEDED RECORD LENGTH
VMACEDGS       because ther are three different kinds of "O" records:   
Feb 29, 1996                                                            
                 MORTYPE= nulls  - owner details                        
                        = ones   - end of volume/owner                  
                        = VOLSER - volume/owner information             
               and there is now owner details in the "ones" record.     
               The correction in MXG is to make VMACEDGS look like this:
                          +7  /*RESERVED*/                  original    
                  @;                                        inserted    
                  IF MORTYPE NE 'FFFFFFFFFFFF'X THEN        inserted    
                    INPUT                                   inserted    
                        MOOWNSUR $EBCDIC20.                 original    
                        ........ nine other lines " original            
                        MOOWNVOL    &PIB.4.                 original    
                  @;                                        inserted    
                  IF LENGTH-COL+1 GE 4 THEN INPUT           inserted    
                        MOVOLNO     &PIB.2.                 original    
                                        +2                  original    
                  @;                                        original    
   Thanks to Chris Taylor, VF Information Technology Services, USA.     
                                                                        
Change 14.028  A collection of discoveries and SAS/CPE product needs:   
VMACDCOL      -VMACDCOL.  Variables UBRECOR and UMRECOR were removed    
VMACEREP       from the $HEX2 format and $NOTRAN informat, as they are  
SPUNJOBS       printable characters; ...THEN DAGFNCPY=1; was misspelled 
VMACTPM        and is changed now to ...THEN DAGFNCPU=1;                
Feb 29, 1996  -VMACEREP.  Data sets EREPDDR and EREPIOS did not contain 
               variable INCDTIME in their KEEP= list; now they do.  In  
               EREPSLH dataset, variables SLHRSMAD, SLHRSMRC, SLHERRTP, 
               and SLHRSMST were not in their KEEP= list, but now are.  
              -SPUNJOBS.  The DROP DATETIME; statement was replaced with
               LABEL DATETIME='DATETIME*OF SHIFT*CALCULATION'; so that  
               DATETIME will now exist in PDB.SPUNJOBS (as it does in   
               PDB.JOBS already).                                       
              -VMACTPM.   Variable SYSTEM was added to the KEEP= list   
               for dataset TYPETPMV.                                    
   Thanks to Chris Weston, SAS Institute Cary, USA.                     
                                                                        
Change 14.027  New "IHDRyyyy" members are "INFILE header" exits which   
IHDRDCOL       are invoked after the header of a raw data record has    
IHDRSMF        been INPUT, so that you can filter or select which raw   
Feb 29, 1996   data records are processed, or write out selected raw    
Mar 13, 1996   data records to an external file, etc.  The existing MXG 
               member IMACFILE is the "INFILE header" exit for SMF data 
               records, and examples in IMACFILE show how you to use an 
               "INFILE header" exit.  The "IHDRyyyy" naming convention  
               created by this change has prefix "IHDR" for its purpose,
               and the yyyy suffix identifies the name of the INFILE.   
               So IHDRDCOL is the "INFILE header" for raw records read  
               from the INFILE name of DCOLLECT.  And so existing member
               IMACFILE should have been renamed to IHDRSMF with the new
               convention, but instead I have left IMACFILE as is (so no
               incompatibility) and created dummy member IHDRSMF to say 
               that member IMACFILE should be used for SMF records.     
               Comments in each IHDRyyyy member document what variables 
               exist when the exit is invoked.                          
               Mar 13: Discovered while IHDRDCOL exists, I had failed to
               insert the %%INCLUDE SOURCLIB(IHDRDCOL) in VMACDCOL!  It 
               goes immediately after the INCLUDE of (IMACZDAT).        
   Thanks to Chris Weston, SAS Institute Cary, USA.                     
                                                                        
Change 14.026  New values for Channel Path Description were added to MXG
FORMATS        format $MG073CD in member FORMATS:                       
VMAC73           '12X:OPEN SYSTEM ADAPTER CHANNEL'                      
Feb 27, 1996     '13X:INTEGRATED SYSTEM DEVICE'                         
               and an undocumented '04'x value found in data is under   
               investigation.  Comments in VMAC73 were revised but no   
               code changes were made.                                  
   Thanks to Sandro Aiello, National Australian Bank, AUSTRALIA.        
                                                                        
Change 14.025  Variable DASDMPL in datasets TYPE42DS and TYPE42SR is too
VMAC42         large; the equation must be  DASDMPL=RESPTIME*DASDRATE;  
Feb 27, 1996   instead of DASDMPL=RESPTIME*IOCOUNT;  in two separate    
Apr 10, 1996   segments of code.  Note the equation has to be moved into
               the DO; group after DASDRATE is calculated, and an       
               DASDMPL=.; must be inserted in the ELSE DO; if DURATM is 
               zero.  (Dividing the old DASDMPL by DURATM will give you 
               correct DASDMPL in your pre-existing TYPE42xx datasets.) 
               Also, SMF42SSF was added to TYPE42VL so that SMF42DB2 can
               be interpreted, as per APAR OW16039, on Apr 10, 1996.    
   Thanks to Phil Schwartz, Pershing, USA.                              
                                                                        
Change 14.024  MXG Support for CICS Excluded Fields is enhanced so that 
IMACEXCL       version-dependent-exclude-lists are supported.  The three
Feb 27, 1996   user macros _CICXCU2 (V2 NON-ESA), _CICXCUS (V3 ESA) and 
               _CICXCU4 (V4 ESA) can now be used together so if you have
               a different exclude list for V2 and for V3, you would    
               then use this statement:                                 
                  MACRO _CICXCTR  _CICXCU2 _CICXCUS  %                  
               and MXG will apply the appropriate exclude logic to the  
               appropriate SMF record (assuming, of course, that you    
               have used UTILCICS output as input to tailor IMACEXCL in 
               both _CICXCU2 and _CICXCUS (for this example).           
               The actual change which makes this possible is to insert 
                 IF 33.0 LE SMFPSRVR LE 33.3 after MACRO _CICXCUS       
               and to insert  END;  before the single percent sign that 
               ends the MACRO _CICXCUS definition, and to insert        
                 IF SMFPSRVR LE 3 after MACRO _CICXCU2                  
               and to insert  END;  before the single percent sign that 
               ends the MACRO _CICXCU2 definition, and to then find the 
               last END; statement in MACRO _CICXCU4 definiton and move 
               it to just before the single percent sign that ends the  
               MACRO _CICXCU4 definition.                               
               Also, GMT conversion of STRTTIME, ENDTIME for CICS 4.1   
               was added to IMACEXCL using MCTMNTAD as in VMAC110.      
   Thanks to Peter Weaver, Canadian Tire Acceptance Corporation, CANADA.
                                                                        
Change 14.023  NPM SMF type 28 record VVR (VTAM Virtual Route) segment, 
VMAC28         variable VVRPSWMX and the 9 following VVRxxxxx variables 
Feb 26, 1996   were trashed because of wrong input lengths.             
                  Variable   Was Input as   Must be Input as            
                  VVRPWSMX     &PIB.4.          &PIB.2.                 
                    ...         ...              ...                    
                  VVRWAIT      &PIB.2.          &PIB.4.                 
                  VVRSND       &PIB.2.          &PIB.4.                 
                  VVRRCV       &PIB.2.          &PIB.4.                 
   Thanks to David Faught, Woolworth Corporation, USA.                  
                                                                        
Change 14.022  For DB2 report PMAUD03, but only if your PDB is on tape, 
ANALDB2R       syntax error on dataset T102S169 because of a misplaced  
Feb 26, 1996   semi-colon.  Find  %MACRO PMAUD03;  then find t102s145;  
               Move that semi-colon that follows t102s145 to instead    
               follow the T102s169 on the next line (i.e., the select   
               statement ends after T102s169, not after t102s145).      
   Thanks to Joe Richard, MBNA, USA.                                    
                                                                        
Change 14.021  INPUT STATEMENT EXCEEDED with EREP CLASRC='40'X record   
VMACEREP       due to a missing @!  Find the LAST occurrence of LENLEFT,
Feb 26, 1996   and change the semi-colon to an at-sign semi-colon:      
                INPUT SDWAVRA1 $VARYING55. LENLEFT @;                   
   Thanks to Victor Chacon , NYNEX Mobile Communications Company, USA.  
                                                                        
                                                                        
Change 14.020  SMS has caused I/O errors when it does the allocation of 
JCLINSTL       SAS data libraries and sets default DSORG other than     
Feb 23, 1996   DSORG=PS, so I have added DSORG=PS to the DCB= parameter 
               in member JCLINSTL, just in case!                        
   Thanks to Andre Micheaux, Michigan National Corporation, USA.        
                                                                        
Change 14.019  Support for OS/390 Release 1.0 is already in MXG 13.13!  
none           Well, at least according to IBM's early documentation,   
Feb 22, 1996   there appear to be no impacting changes on MXG Software. 
               The value of MVSLEVEL in TYPE70 and PDB.RMFINTRV may be  
               SP5.3.0 or T010101, as IBM changed CVT field values, but 
               that has no impact on MXG's build programs.  This note   
               will be updated if real data records do impact!          
                                                                        
Change 14.018  Documentation of possible INCOMPATIBILITY, if your report
TYPETMS5       programs used the archaic TMSRECS or DSNBRECS datasets.  
Feb 22, 1996   These very old data set names did contain most of the    
               important fields, but since version 9.9 when TYPETMS5    
               replaced TYPETMS, the MXG dataset names for the TMS data 
               have been TMS.TMS and TMS.DSNBRECD.  If you missed that  
               change, your report program still ran, because datasets  
               TMSREC and DSNBREC were still in the //WORK file.  But   
               last summer, to clean up the //WORK file, I added code to
               delete the TMSREC TMSRECS DSNBREC DSNBRECS and DSNBRECD  
               datasets, so now your old program fails because it is    
               still looking for these nonexistent data sets!  The fix  
               is to use the TMS.TMS for TMSRECx and TMS.DSNBRECD for   
               DSNBRECx in your report programs, but I apologize for    
               failing to alert you to this incompatibility!            
   Thanks to Guy Sayers, Fleet Services Corporation, USA.               
                                                                        
Change 14.017  VARIABLE SYSTEM IS UNINITIALIZED message with ASMIMSLG   
TYPEIMSA       processing member TYPEIMSA is cosmetic because the SYSTEM
Feb 21, 1996   variable only exists if specified in a SYSPARM() on the  
               // EXEC statement, and SYSTEM is created separately in a 
               later phase of TYPEIMSA, but the error was introduced by 
               Change 13.237 (which added IMACZDAT logic).  The block in
               MXG 13.13 that reads:           should have been:        
                 IF _N_=1 THEN DO;             IF _N_=1 THEN DO;        
                   ZDATE=TODAY();                SYSTEM=SYSPARM();      
                 END;                          END;                     
   Thanks to Chris Metzie, University of Wisconsin, USA.                
                                                                        
Change 14.016  Variable CSCS should not be used, as it is decoded into  
VMACACHE       separate variables CSHT, CSIS, CSPA, CSDS, CSIM, CSDC.   
Feb 20, 1996   The MGCACST format on CSCS is also incorrect.  Because   
               there are two reserved bits in CSCS, it is still kept (in
               case IBM uses those bits) and is now formatted HEX2.     
               (Between 12.12 & 13.13, the CSCS=FLOOR(CSCS/32) statement
               was removed, as it too was incorrect.)                   
   Thanks to John Larry, W. H. Smiths, ENGLAND.                         
                                                                        
Change 14.015  Hipercache records for VSAM datasets were wrong; a field 
EXHIPRBU       had been missed, but moreover the MXG design was wrong.  
IMACHIPR       Dataset VMACHIPR was redesigned to now create new dataset
VMACHIPR       HIPRVSBU containing detail buffer statistics from each of
Feb 16, 1996   the buffer segments                                      
Mar  4, 1996     HIPBFS HIPBFT HIPBUFFS HIPFFH HIPFR HIPFTH HIPHFR      
Mar 15, 1996     HIPHFW HIPHSB HIPHSR   HIPHSW HIPIO HIPLK  HIPMFH      
                 HIPMTH HIPWR                                           
               and the new variables are then summed across each record 
               and output in HIPRVSAM dataset (replacing the twelve sets
               of fourteen variables named SMFnnXXX that are no longer  
               created).  With real data records, the better design was 
               obvious.  Common variables allow joins between the two   
               datasets, should the need arise, and space is saved.     
               Mar 15: PRIMARY or SECNDRY added to labels for variables.
   Thanks to Chuck Hopf, MNBA, USA.                                     
                                                                        
Change 14.014  TLMS year 2000 dates were not decoded correctly after    
VMACTLMS       Change 13.186.  A raw date value of '0102037F'x (century 
Feb 15, 1996   bit, year 2, day 37, for Feb 6, 2002) should have printed
Feb 22, 1996   as 2002037 but instead printed 104037.  In correcting my 
               error, I also decided to make the TLMS dates to be real  
               SAS dates instead of numbers.                            
                  The original TLMS code used numbers and since I       
                  thought TLMS sites would get a free conversion to TMS,
                  I left the old format in place, but since I have to   
                  correct this error, it made sense to go ahead and     
                  convert the numbers into SAS dates.  However, if you  
                  are using any of the twelve date fields in tests in   
                  your report programs (instead of just printing them), 
                  you will need to change your report logic. The numeric
                  value of 2002037 becomes the SAS date value of 15377  
                  (days since Jan 1, 1960) when DATEJUL() is used, so   
                  it will print as 02Feb2002 when formatted DATE9.      
               However, TLMS uses two special values for the raw date   
               field; zero if the fx. retention period has expired,     
               and 9999999 if the tape is registered as 'permanent'.    
               I chose to force the zero value to a date of '01JAN1960'd
               and the 9999999 value to a date of '31DEC2099'd (similar 
               to the way I handled strange dates in TMS records!).     
               To correct the MXG error AND convert to SAS dates, each  
               of the twelve lines for variables BAPURCH thru BAIDATE   
               must be changed from one line:                           
                 var=FLOOR(var/100000)+100+var+1900;                    
               to these six lines:                                      
                 IF 0 LT var LT 9999999 THEN DO;                        
                   var=1000*(FLOOR(var/1E5)*100+1900)+MOD(var,1E5);     
                   var=DATEJUL(var);                                    
                 END;                                                   
                 ELSE IF var EQ 0 THEN var='01JAN1960'D;                
                 ELSE IF var EQ 9999999 THEN var='31DEC2099';           
               and those twelve variables are now formatted DATE9.      
   Thanks to Jorge Fong, City of New York, USA.                         
   Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.             
                                                                        
Change 14.013  INVALID DATA FOR HH,MM,SS messages with SAMS record. The 
VMACSAMS       three lines inputting HH MM SS with &NUM.2 need to be    
Feb 15, 1996   changed to &NUM.2. (i.e., the final period was missing). 
               Fortunately, only variable SAMSTIME was incorrect.       
   Thanks to Shaheen Pervaiz, Acxiom, USA.                              
                                                                        
Change 14.012  Example JCL for reading Landmark's The Monitor for CICS  
JCLTMON        shows what is needed to process TMON/CICS data daily.    
Feb 14, 1996                                                            
   Thanks to Charles Brown, Fruit of the Loom, USA.                     
                                                                        
Change 14.011  DB2 4.1 type 101 subtype 1 (written only if more than 10 
VMACDB2        Packages are called by a Plan) INPUT STATEMENT EXCEEDED  
Feb 13, 1996   because of a mis-located line of code (and no previous   
May 22, 1996   test data!).  Find the second occurrence of statement    
               SKIP=LENQPAC-240;.  Move the next line (IF SKIP GT 0 THEN
               INPUT +SKIP @;) down (about 30 lines) so that it         
               immediately precedes the statement                       
                %%INCLUDE SOURCLIB(EXDB2ACP);                           
               May 22: original text of this change had -140 vice -240. 
   Thanks to Mick Glasson, Health Insurance Commission WA, AUSTRALIA.   
                                                                        
Change 14.010  NOTSORTED error with WEEKBLD, WEEKBLDT, or MONTHBLD. The 
MONTHBLD       variable USER was added by Change 13.268 to ASUMCICS, but
WEEKBLD        was not added in the _BYLIST macro for the _DSET CICS.   
WEEKBLDT       In all three members, change the bylist to read:         
Feb 12, 1996       APPLID OPERATOR USER TERMINAL STRTTIME TRANNAME      
   Thanks to Scott Snyder, Card Establishment Services, USA.            
                                                                        
Change 14.009  A truncated PSF type 6 SMF record caused INPUT STMT EXCED
VMAC6          error; the record had LN4=116 but there were only 82 byte
Feb  9, 1996   left in the physical record.  While IBM is investigating,
               to circumvent, change  IF SMF6LN4 GT 84 THEN DO; to read 
                IF SMF6LN4 GT 84 AND LENGTH-COL+1 GE 32 THEN DO;        
   Thanks to Leonard Issacs, Motorists Mutual Insurance COmpany, USA.   
                                                                        
Change 14.008  INVALID DATA FOR PWCOUNT in VMID=06 with PWCOUNT=0Ax. The
TYPEVM         logic for decoding these invalid values in VMID=04 should
Feb  8, 1996   be copied into the VMID=06 processing to correct the bad 
               value for PWCOUNT (which is EBCDIC for 0-9, but then is  
               binary for larger values!).                              
   Thanks to Bruce Widlund, Merrill Consultants, USA.                   
                                                                        
Change 14.007  Variable SMF73CPD has stored length of 39; the variable  
VMAC73         must be added to the LENGTH statement with SMF73CPD $1   
Feb  8, 1996   to correct the stored length.  (SAS sets character length
               from the first occurrence of the variable, and without   
               the LENGTH statement, SAS saw the FORMAT statement, and  
               set the length of the variable to the length of the      
               longest format value!).  I know I must always add the    
               variable to the LENGTH statement - this one I missed!    
   Thanks to S. Lemaire, Comparex Information Systems, Belgium.         
                                                                        
Change 14.006  SAS 5.18 only.  Formats $MGERPDS/PHD/PMC/PRC/PSE and PSF 
FORMATS        were longer than 40 characters, causing errors.  Formats 
Feb  8, 1996   were re-worded to fit in 40 characters, to be consistent 
               with all formats, even though SAS version 6 has no error.
   Thanks to Walter P. Kraslawsky, Library of Congress, USA.            
                                                                        
Change 14.005  Invalid NETSPY type A record caused INPUT STATEMENT ERROR
VMACNSPY       because NSPYENTL=108 in the record, but should be 340,   
Feb  8, 1996   and with a minimum of 145 bytes.  CA had no report of the
               bad record, which only occurred sporadically.  To avoid  
               the error until CA fixes it, in the block of code for    
               IF NSPYREC='A' THEN DO;                                  
               immediately before the statement                         
                   DO OFFNSPY=NSPYOFF TO ENDREC BY NSPYENTL;            
               insert                                                   
                   IF NSPYENTL GE 145 THEN                              
               so the INPUT is only executed for valid records.         
               This note will be updated when more is heard from CA.    
   Thanks to George Janvrin, ITT Hartford, USA.                         
                                                                        
Change 14.004  INPUT STATEMENT EXCEEDED RECORD LENGTH for Type 64 if the
VMAC64         CF Cache Structure Statistics segment exists.  The input 
Feb  6, 1996   of three variables, SMF64BMH, SMF64CFH, and SMF64RIO must
               be &PIB.4. instead of &PIB.8. in all three lines.        
               One sites also saw this when they brought up ESA 5.2.2.  
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
                                                                        
Change 14.003  Change 13.331 to support four-digit UCBs in this archaic 
VMXGVTOF       DASD grazer were wrong, producing RC=256 error messages. 
ASMVTOC        (Member ZASMVTOC is the prior iteration of ASMVTOC, so   
Feb  9, 1996   you could revert.)  This new ASMVTOC has been tested and 
Feb 26, 1996   now appears to execute correctly, and with the second    
               iteration on Feb 26, the program has been verified with  
               actual four-digit UCBs.  (ASMVTOC is archaic in that the 
               DCOLLECT utility and TYPEDCOL are the recommended method 
               for grazing your DASD VTOCs and VVDSs.)                  
   Thanks to Astrid Fridtun, Statens DataSentral a.s., NORWAY.          
                                                                        
Change 14.002  APPARENT SYMBOLIC MXGDEBUG error occurs if CONFIG06 is   
VMXGINIT       used instead of CONFIG, because VMXGINI6 (pointed to by  
Feb  2, 1996   the archaic CONFIG06) did not include MXGDEBUG in its    
               list of macro names in the %GLOBAL statement.            
   Thanks to Will Evans, Consolidated Freight, USA.                     
                                                                        
Change 14.001  INPUT STATEMENT EXCEEDED RECORD LENGTH for STC subtype 8 
VMACSTC        record; support added in October finally read a real SMF 
Jan 23, 1996   record and failed, because fields were re-defined in the 
Feb 22, 1996   DSECT, but I missed the redefinition.  After the line    
               ELSE IF SUBTYPE='....1000'B THEN DO;  insert             
                 M1=-1;                              before the line    
                 INPUT @21+OFFSMF                                       
               Then, on each of the five lines inputting the variables  
               STC08CID, STC08MAG, STC08LS2, STC08XPT and STC08SLT,     
               put   +M1   on each line, to the left of the variable    
                 i.e.,  the input for STC08CID would then look like:    
                 +M1  STC08CID  $CHAR1.  /*CAP*ID*/                     
               so these redefined variables are input from the same     
               byte as their predecessors.                              
               (Feb 20 correction added STC08CID and STC08MAG).         
   Thanks to Mike Hildman, Target Stores, USA.                          
   Thanks to Chuck Hopf, MBNA, USA.                                     
                                                                        
LASTCHANGE: Version 14                                                  
==========MXG 13.13 dated Jan 20, 1996, thru Change 13.332============