This is Production MXG Version 11.11, dated Mar 26, 1994.               
     MXG Production 11.11  was dated Mar 26, 1994, thru Change 11.361   
     MXG Newsletter TWENTY-FIVE,     Mar 26, 1994, thru Change 11.347   
   Early PreRelease 11.11  was dated Mar  9, 1994, thru Change 11.338   
     MXG PreRelease 11.10  was dated Feb 14, 1994, thru Change 11.316   
     MXG PreRelease 11.09A was dated Jan 10, 1994, thru Change 11.290   
     MXG PreRelease 11.09  was dated Dec 17, 1993, thru Change 11.266   
   Early PreRelease 11.08  was dated Nov  1, 1993, thru Change 11.238   
     MXG PreRelease 11.07  was dated Oct  4, 1993, thru Change 11.203   
   Early PreRelease 11.07  was dated Oct  1, 1993, thru Change 11.192   
     MXG PreRelease 11.06  was dated Sep  1, 1993, thru Change 11.164.  
     MXG PreRelease 11.05  was dated Aug 10, 1993, thru Change 11.150.  
     MXG PreRelease 11.04  was dated Aug 10, 1993, thru Change 11.149.  
     MXG Newsletter TWENTY-FOUR,     Aug  2, 1993, thru Change 11.140.  
     MXG PreRelease 11.03  was dated Jul 26, 1993, thru Change 11.140.  
     MXG PreRelease 11.02  was dated Jul  6, 1993, thru Change 11.126.  
     MXG PreRelease 11.01  was dated May 20, 1993, thru Change 11.084.  
   Early PreRelease 11.01  was dated May 15, 1993, thru Change 11.068.  
   Prior Production 10.10  was dated Mar 15, 1993.                      
Member CHANGES repeats sections I, VIII, and IX of MXG Newsletter 25,   
but you MUST also read MXG Newsletter 25 in member NEWSLTRS for major   
technical discussions that are not repeated herein.                     
    Contents of member CHANGES                                          
I.    MXG Software Production Version 11.11, dated March 26, 1994       
VIII. Incompatibilities and Installation of MXG 11.11.                  
IX.   Documentation of MXG Software.                                    
X.    Changes Log                                                       
  OPC Version 1.2.0 had INPUT STATEMENT EXCEEDED error, new subtype that
  is now supported, and still exposure.  See Change 11.356.             
  MXG Tape Mount and Allocation Monitor now works at 2 out of 3 sites.  
  See Change 11.358.                                                    
  Problem with zeroes in Cache RMF Reporter Records (Newsletter 25 MVS  
  Techical Note) is a fixed problem, but maybe not just due to RMF.  I  
  missed phone call with all the details!  Fax if you need update.      
I. MXG Software Production Version 11.11, dated March 26, 1994, was     
   shipped with MXG Newsletter TWENTY-FIVE.                             
  Critical notes about MXG Version 11.11:                               
  - Products that require MXG 11.11 because of incompatible records:    
    DB2 Version 3.1.0.                                                  
    Landmark's CICS/ESA Version 1.1.                                    
    LEGENT's TPX Release 3.5.                                           
    Software AG's COM-PLETE Release 4.5                                 
    Sterling's NDM, now Connect Direct 1.7.01.                          
  - ANALDB2R users must use MXG 11.11 because of report corrections.    
  - You MUST use member CONFIG from this MXG SOURCLIB or you will get   
    many strange errors! (If you are still stuck at SAS 6.06, see Change
    11.187 and use CONFIG06).  Member CONFIG executes %VMXGINIT with    
    internal macro variables introduced in Change 11.150.               
  - If any of these members exist in your USERID.SOURCLIB(s) libraries: 
               ASUMDBDS ASUMDB2A ASUMDOS  ASUMHPCS ASUM70PR             
               DAILYDSN GRAFDB2  GRAFLPAR TRNDDB2A                      
    or if you use %VMXGSUM in your own report/summarization programs,   
    then you MUST read the incompatibility details in Section VIII and  
    in Change 11.309 and you will need to re-tailor your changes.       
  - MXG 11.11 requires SAS 6.08 at maintenance TS407 plus Zap Z6088203  
    Previously, I also said Z6086442 was required, but SAS Technical    
    Support corrected me; Z6086442 is already included in TS407.        
MXG Version 11.11 was shipped along with Newsletter TWENTY-FIVE, and it 
should be installed immediately as it provides these major enhancements:
  These major enhancements were added in MXG 11.11 dated Mar 26, 1994   
  Support for STK's ICEBERG device user SMF record.                     
  Support for Boole & Babbage CICS/Manager Type 110 Statistics records. 
  Support for Candle's Omegamon II for SMS user SMF record              
  Support for ISOGON's SoftAudit product's externalized files.          
  CICS/ESA Shutdown Statistics Report (DFHSTUP) now produced by MXG.    
  Sterling's NDM, now Connect Direct 1.7.01 incompatible changes.       
  Partial support for LEGENT's MIM Release 4.0.                         
  Enhancements and corrections to ANALDB2R DB2PM-like reports.          
  Enhancements to VMXGSUM summarization routine.                        
  Feedback that ASMIMSLG does not fail with IMS 4.1 log records.        
  These major enhancements were added in MXG 11.10 dated Feb 14, 1994   
  Support for IBM's OPC/ESA Release 2.1.                                
  Support for LEGENT's NETSPY Release 4.4.                              
  Support for CA's ACF2 Releases 6.0 and 6.1.                           
  Support for Candle's Deltamon SMF record.                             
  Performance improvements for VMXGSUM (used in most ANALxxxx members). 
  The ANALSMF "Simulator" analyzes SMF VSAM CI Size impact on your site.
  These major enhancements were added in MXG 11.09A dated Jan 10, 1994  
  Support for Landmark CICS/ESA Version 1.1 (incompatible) records.     
  Summarization of Amdahl's APAF in ASUMAPAF.                           
  Support for ZARA Release 1.1.                                         
  Corrections to ANALDB2R reports.                                      
  Performance enhancements in VMXGSUM execution.                        
  These major enhancements were added in MXG 11.09 dated Dec 17, 1993   
  Support for DB2 Version 3.1.0 incompatible changes to DB2 SMF records.
  Support for NPM Version 2.1.0.                                        
  Support for AS/400 Version 2.3 Performance Data.                      
  Support for Memorex Telex LMS Version 2.17                            
  Support for BatchPipes/MVS type 91 SMF record.                        
  Support for Mobius' INFOPAC-RDS user SMF record.                      
  Support for Integris UniKix records (both ASCII and Binary format).   
  Support for Novell Network Navigator User SMF record.                 
  Support for Softwork's Performance Solution I/O Plus & Hiperload SMF. 
  Support for NETWISE RPC EXEC type 33 SMF record.                      
  Performance enhancement of VMXGSUM algorithm                          
  Utility to count type 110 records by application.                     
  These major enhancements were added in MXG 11.08 dated Nov  1, 1993   
  Support for Amdahl APAF Version 2.1                                   
  Support for FOCUS MSO Release 6.8.                                    
  Support for IBM's ADSM subtype 14 type 42 SMF record.                 
  CICS "Requested Reset Statistics" now processed into PDB.CICRRTRV.    
  These major enhancements were added in MXG 11.07 dated Oct  4, 1993   
  Support for DFSMSrmm (Removable Media Manager) two SMF records.       
  Support for DFSMSrmm Extract Files created by IBMs EDGHSKP utility.   
  Support for AS/400 Release 2.2, all records, labels, formats, etc.    
  Support for SAP's IMS log record type 'AE' for SAP IMS Accounting.    
  Support for AICorp Central Server SMF record.                         
  Support for Type 42 Subtype 4 Concurrent Copy & Extended Sequential.  
  Support for Sterling's NDM, Network Data Mover SMF record.            
  Support for 4th Dimension's CONTROL-D Release 3.0.0 SMF record.       
  Support for NETVIEW APAR OY66237 change to TYPE37 SMF record.         
  Graphics enhancements for consistency, better pictures, in GRAFxxxx.  
  These major enhancements were added in MXG 11.06 dated Sep  1, 1993   
  Support for TCP/IP 2.2.1 APAR PN40511 (API Calls, FTP/TELNET Client)  
  Support for ASTEX Release 1.7 SMF record                              
  Support for Software AG's COM-PLETE Release 4.54 SMF record           
  Support for Laser Access Corp's Optical Disk System's 3 SMF records   
  Support for LEGENT's SAR product User SMF record.                     
  MXG 11.05 was a checkpoint version after Change 11.150.               
  MXG 11.04 was a checkpoint version before Change 11.150.              
  These major enhancements were added in MXG 11.04 dated Aug 20, 1993   
  Support for LEGENT's SAR product's User SMF record.                   
  Support for Laser Access's Optical Disk System User SMF records.      
  Final (?) correction to ASUM70PR.                                     
  These major enhancements were added in MXG 11.03 dated Jul 26, 1993   
  Asynchronous Data Mover Facility APAR OY65142 for SMF type 30.        
  These major enhancements were added in MXG 11.02 dated Jul  6, 1993   
  Support for VM/ESA Release 2.1.                                       
  Support for Top Secret Release 4.3.                                   
  Support for NPM APAR OY54370.                                         
  Support for RMF APAR OY64585.                                         
  Support for SAP Releases 4.3.J and 5.0.                               
  Support for DOS/VSE POWER 5.1.                                        
  Support for OMEGAMON 2.60 Audit Record changes.                       
  Support for APPC Deaccumulation APAR OY63634.                         
  These major enhancements were added in MXG 11.01 dated May 20, 1993   
  Support for ZARA, The Tape Media Manager from Altai.                  
  Support for SYNCSORT Release 3.5 SMF record.                          
  Support for HMF, Host Monitoring Facility user SMF record.            
  Support for Corporate TIE user SMF record.                            
  Support for STOPX37 Release 3.5 mis-documentation.                    
  Enhanced ANALRMFR for RMF look-a-like reports from MXG.               
  Validation of Candle's ITRF (Omegamon/IMS Version 110).               
  Validation and correction of SMSDATA operand of DCOLLECT              
  Each of those enhancements are described in the Change Log, below.    
    Table of availability dates for the IBM products and MXG version:   
                                       Availability     MXG Version     
      Product Name                     Date              Required       
      RMF 4.1.2 (for MVS/ESA 3.1.3)    Sep  7, 1990.        8.8         
      RMF 4.2   (for MVS/ESA 4.1)      Oct 26, 1990.        8.8         
      MVS/ESA 4.1                      Oct 26, 1990.        8.8         
      MVS/ESA 4.2                      Mar 29, 1991.        9.9         
      RMF 4.2.1 (for MVS/ESA 4.2)      Mar 29, 1991.        9.9         
      MVS/ESA 4.2.2                    Aug     1991.        9.9         
      RMF 4.2.2 (for MVS/ESA 4.2.2     Aug     1991.        9.9         
      MVS/ESA 4.3                      Mar 23  1993.       10.10        
      RMF 4.3.0 (for MVS/ESA 4.3)      Mar 23  1993.       10.10        
      MVS/ESA 5.1.0                  ??Summer  1994??      12.??        
      CICS/ESA 3.2                     Jun 28, 1991.        9.9         
      CICS/ESA 3.3                     Mar 28, 1992.       10.01        
      DB2 2.2.0                                1990         8.8         
      DB2 2.3.0                        Oct 28, 1991.       10.01        
      DB2 3.1.0                        Dec 17, 1993.       11.09        
      VM/ESA  1.1.1                    Dec 27, 1991.       10.1         
      VM/ESA  2.0                      Dec 23, 1992.       10.4         
      VM/ESA  2.1                      Jun 27, 1993.       11.02        
  These products still had open problems or were potentially incorrect  
  when MXG 11.11 was built.  Contact Merrill for current status.        
  TYPEZRB - RMF III VSAM file for MVS/ESA 4.2 and 4.3 is not correct.   
  Huron   - Huron SMF record is not supported yet; no sample data SMF   
            data was provided, and the printed DSECTs were massive and  
            needed in machine readable form.  Planned for 2nd quarter.  
  EPIC    - LEGENT has not provided the format of their tape catalog;   
            instead, they want you to use the output of their extract   
            program, which means double processing and kludgy coding.   
            Nothing planned until LEGENT supplies needed formats.       
  NDM     - Connect/Direct has only been validated for some records.    
            See Change 11.326.                                          
VIII. Incompatibilities and Installation of MXG 11.11.                  
 1. Incompatibilities                                                   
 a. MXG's summarization member, %VMXGSUM was changed incompatibly, but  
    it should affect only the very small number of (sophisticated) users
    who have tailored MXG summarization/trending members:               
    If any of these members exist in your USERID.SOURCLIB(s) libraries: 
          ASUMDBDS ASUMDB2A ASUMDOS  ASUMHPCS ASUM70PR                  
          DAILYDSN GRAFDB2  GRAFLPAR TRNDDB2A                           
    or if you use %VMXGSUM in your own report/summarization programs,   
    then you MUST read the details in Change 11.309 and you will need to
    re-tailor your changes.                                             
    The incompatibility is somewhat obscure; to reduce CPU time and to  
    minimize temporary DASD space used during summarization, %VMXGSUM   
    now determines which variables are needed, and keeps only the needed
    variables from the input data set.  The problem arises only if you  
    use the INCODE= parameter (it lets you insert SAS code into the     
    summarization logic, and is used in those nine members), and even   
    then, only if you reference variables in your INCODE= logic that are
    not going to be kept in the output summarized dataset.  In that rare
    case, you must list those un-kept variables in the new KEEPIN= parm.
    The above members in MXG 11.11 contain the needed KEEPIN= statement.
    (If you overlook this note, you still should detect the problem in  
    your testing, because you will normally see UNINITIALIZED VARIABLE  
    messages on the SAS log to alert you to your error!)                
 b. Make sure you are using the CONFIG member from the MXG 11.11 library
    in your JCL, either with the MXGSAS JCL Procedure, or on your EXEC: 
        // EXEC SAS,CONFIG='MXG.V1111.SOURCLIB(CONFIG)'                 
    You will get many, strange syntax errors (ERROR 180 or 200) if you  
    do not use the MXG 11.11 CONFIG member.                             
    If you are migrating to MXG Version 11.11 from MXG Version 9.9 or   
    earlier, AND you have tailored your MXG installation (with EX...  or
    IMAC.... members), you must read the MXG 10.10 compatibility section
    in member CHANGESS; find the text "member=CHANGE10" and read on!    
 c. MXG Version 11.11 requires SAS Version 6.08 at maintenance TS407,   
    plus SAS Zaps Z6088203 and Z6086442 for MVS and CMS.  For WINDOWS,  
    SAS 6.08 at TS407 is required.  For all UNIX, except for AIX, SAS   
    6.09 is required.  For AIX, the second maintenance to 6.09 will be  
    required.  For OS/2, SAS 6.10 will be required.  (Both AIX and OS/2 
    do not currently properly support VBS record processing; their fixes
    are due out this summer.)  MXG has been tested error-free with the  
    above SAS versions, and I strongly suggest you ensure that your SAS 
    System is at the above level of SAS maintenance.  (While most of MXG
    may execute successfully with lower maintenance, you may encounter  
    known errors if you are not at the above level.)                    
 d. Observation counts may change in PDB.JOBS and PDB.NJEPURGE because  
    of Change 11.226.  More observations may be seen in PDB.TYPE74 due  
    to Change 11.170.                                                   
 2. Installation and re-installation procedures are described in detail:
    in member INSTALL, and sample JCL is in member JCLINSTL.  Summary:  
     a. Install member MXGSAS as JCL Procedure MXGSAS in your PROCLIB.  
     b. Allocate a 83-cyl PDS: MXG.V1111.MXG.SOURCLIB, and use IEBUPDTE 
        to read the MXG tape to create the 2000+ member Source Library. 
     c. Allocate a 1-cyl PDS:  MXG.V1111.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 V1111.USERID.SOURCLIB.                      
     d. Allocate a 1-cyl SAS Data Library:  MXG.V1111.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.V1111.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.V1111.USERID.SOURCLIB. Then compare your   
        IMACs with those that were changed (see the alphabetical list of
        changed members in member CHANGES).  If any members in your     
        MXG.V1111.USERID.SOURCLIB were changed, you must reinstall your 
        site's tailoring for that IMAC, starting with the IMAC member   
        from the MXG 11.11 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 11.11 in its own set of libraries.  When
     parallel testing is complete and are ready to implement MXG 11.11  
     in production, rename your three current MXG Production Libraries  
     and rename the MXG.V1111.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:" and  "ERROR :"  and  
"UNINITIALIZED" and "NOT CATLGD", as they may indicate a serious error. 
A PROC PRINT and a PROC MEANS of each new MXG-built SAS dataset can help
you to understand their contents, and should be used to examine any     
unusually large, negative, or suspicious values.  Print all variables in
the dataset, and read the variable's descriptions in its ADOC member.   
IX.   Documentation of MXG Software.                                    
Member CHANGES identifies the Version and Release of MXG Software, and  
describes all changes made in that Release.  The text of each change    
names the members that were added or altered by that change.  Member    
ChangeS is designed to be read online (with SPF BROWSE), so that you can
search for specific product name references (CICS, MVS/ESA, etc.), or   
the MXG member name or product acronyms.                                
Member CHANGESS contains ALL changes in ALL versions of MXG.            
Member NEWSLTRS contains the text of all newsletters.  You can search   
NEWSLTRS for product name or acronym to find the technical notes, APARs,
etc., from all MXG newsletters.  Since the Change Log portion of each   
newsletter is in member CHANGESS, they are not repeated in NEWSLTRS.    
The MXG Technical Newsletter is typically published twice a year, with  
one printed copy sent to each licensed site, and it describes changes   
and enhancements to the software, provides APARs and PTFs affecting MXG 
users, and provides technical papers of interest to MXG users.          
Member DOCVER lists alphabetically ALL datasets and variables that are  
built by this MXG Software Version.                                     
Members DOCVERnn are the "delta-documentation" between MXG versions, and
list only those datasets and variables that were added/deleted/changed  
by version "nn".                                                        
Members ACHAPxxx are the text chapters from the 1984 MXG Guide and the  
1987 MXG Supplement, to which the text of newsletters and changes has   
been added.  At present, these chapters are very rough; in a few cases  
the chapter has actually been completed and revised, but most of these  
chapters delivered in MXG 11.11 are little more than a concatenation of 
the original text, and there are no figures nor tables.  This is clearly
work in progress, but at least the old books are now machine readable!  
When all 42 chapters are completely revised and updated in the source   
library, I will decide if any will also be made available in printed    
form, but the primary source of all future documentation will be the MXG
source library itself, which can now be updated when changes occur!     
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 datasets, references to MXG reports that use these   
datasets, and the MXG member names that you use to process that product.
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:                                    
  IMACxxxx - Defines record IDs, and "_K,_L" macros for product xxxx.   
  ADOCxxxx - "Chapter FORTY" style dataset and variable documentation.  
  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 each dataset.  There can be more than one  
             dataset per product.  The EX member name suffix yyyzzz is  
             the same as the suffix of "_L" and "_K" macros defined in  
             IMACxxxx for the product.  See further discussion under    
             "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.                                                    
Finally, remember that MXG is source code, so you can often find your   
answer by BROWSING the source members, especially the VMACxxxx, ANALxxxx
members.  The MXG Variable name is often the DSECT's field name, and if 
not, the vendor's field name is often in adjacent comments in the INPUT,
so you can cross reference to the vendor's documentation of their data! 
X.    Changes Log                                                       
==========================Changes Log=================================  
 You MUST read each Change description to determine if a Change will    
 impact your site. All changes have been made in this MXG Library.      
 Member CHANGES of the MXG SOURCLIB will always be more accurate than   
 the printed changes in a Newsletter, because the software tapes are    
 created after the newsletter is sent to the printer!                   
 Member CHANGES always identifies the actual version and release of     
 MXG Software that is contained in that library.                        
 The actual code implementation of some changes in MXG SOURCLIB may be  
 different that described in the change text (which might have printed  
 only the critical part of the correction that can be made by paper).   
 Scan each source member named in any impacting change for any comments 
 at the beginning of the member for additional documentation, since the 
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.                     
Alphabetical list of important changes since MXG 10.10:                 
  Member    Change   Description                                        
  All      11.150  Rewrite to support execution under ASCII SAS versions
  ANALCISH 11.329  CICS/ESA DFHSTUP Shutdown Statistics Reports added.  
  ANALDASD 11.288  Sample prime-time cross-system DASD report.          
  ANALDB2R 11.007  Fails with PDB=SMF if account reports suppressed.    
  ANALDB2R 11.036  Suspension counts twice actual value.                
  ANALDB2R 11.037  Total Read IOs miscalculated on Statistics Summary   
  ANALDB2R 11.042  DB2 PMACC02 count of OPENS actually counted FETCHES. 
  ANALDB2R 11.043  DB2 PMSTA02 count of SUSPENDS usually zero.          
  ANALDB2R 11.237  ANALDB2R can now report from a PDB on tape.          
  ANALDB2R 11.286  Continued enhancement and error corrections.         
  ANALDB2R 11.330  DB2 Audit Detail Report Completion Code still wrong. 
  ANALDSET 11.048  ERROR 455-185 for dataset TYPE30OM.                  
  ANALDSET 11.291  TYPE64 records now sorted consistent with non-VSAM.  
  ANALRACF 11.260  UNINITIALIZED variable due to SAS Usage note 6886.   
  ANALRMFR 11.024  Report fails with PDB=SMF, works with PDB=PDB.       
  ANALRMFR 11.069  Continued enhancement of RMF look-a-like reports.    
  ANALRMFR 11.231  Additional RMF report enhancements and corrections.  
  ANALRMFR 11.256  Correction of CPU percentages and type 74 reports.   
  ANALSMF  11.300  The "Simulator" analyzes SMF VSAM CI Size impact.    
  ASMIMSLG 11.157  IMS log processing type 36 changed.                  
  ASMTAPES 11.360  MXG Tape Mount and Allocation Monitor works 2/3.     
  ASMTMNT  11.154  0C4 abend in MXGTMNT at one site.                    
  ASMVTOC  11.257  No output records under MVS/ESA 4.2 and earlier.     
  ASUM70PR 11.022  PDB.RMFINTRV may be corrupted by ASUM70PR.           
  ASUM70PR 11.027  LP0MGTTM not in RETAIN list (affects only MDF)       
  ASUM70PR 11.041  ASUM70PR new variables, and mini-tutorial.           
  ASUM70PR 11.087  LP0MGTTM (Amdahl MDF only) incorrect.                
  ASUM70PR 11.145  ASUM70PR still wrong in MXG 11.03.                   
  ASUMAPAF 11.290  Summarization of MDF APAF records similar to PR/SM.  
  ASUMDB2A 11.038  QTXAIRLM omitted from SUM= list                      
  BUILD006 11.320  PDB logic enhanced for APPC tasks (no purge record). 
  BUILDPDB 11.025  Building your PDB on tape.                           
  BUILDPDB 11.089  Purge records lost if PRPRTY=4-7 or 12-15.           
  BUILDPDB 11.226  JES2 NJE Purge records for JT were mis-recognized.   
  BUILDPDB 11.228  Open Edition/MVS (OMVS) TYPE30OM added to PDB.       
  BUILDPDB 11.320  PDB logic enhanced for APPC tasks (no purge record). 
  CHANGESS 11.074  New member CHANGESS contains ALL changes ALL Versions
  CICINTRV 11.224  CICS "Requested Reset Statistics" now processed.     
  CLTIMER  11.035  STOP statement required by SAS Version 6.            
  CONFIG   11.306  For MVS, MEMSIZE=32MB now default value.             
  CONFIG07 11.129  SAS Error 76-322 with numbered + unnumbered lines.   
  DAILYDSN 11.076  Typos misspelled output datasets.                    
  DIFFDB2  11.282  New dataset PDB.DB2STATS now created for reports.    
  DIFFHSM  11.019  Member did not use the "_L" macro names.             
  Doc      11.013  Change 10.175 typo, two _KTY0 should be _LTY0        
  FMXGUCBL 11.088  Archaic UCBL function corrected.                     
  GRAFLPAR 11.079  Error "OUT OF MEMORY" due to SAS Error 6719.         
  GRAFTRND 11.216  Not all workload data was plotted if workload unused.
  GRAFWORK 11.311  Workload graphs enhanced with memory frames in use.  
  GRAFxxxx 11.173  Enhancements, common structure for GRAFxxxx members. 
  IMACACCT 11.104  "VARIABLE SACCT1 NOT FOUND" can occur.               
  IMACCICS 11.224  "CICRRTRV NOT FOUND" errors using old IMACCICS       
  IMACICBB 11.347  Support for Boole & Babbage CICS Manager Statistics. 
  IMACICDL 11.268  Omegamon CICS/ESA type 110 may have wrong DL/I counts
  IMACICSA 11.110  Support for SAP Releases 4.3.J and 5.0.              
  IMACICSA 11.148  SAP Release 4.3 requires one change to MXG.          
  IMACICSA 11.211  CICS SAP variables STCDB1-STCDB5 should be CHAR.     
  IMACPDB  11.155  ACCOUNTn variables no longer limited in IMACPDB.     
  IMACPDB  11.214  JES3 variable CLASS added to JES3 PDB.JOBS.          
  JCLIMSLG 11.109  MXG 10.10 had wrong JCL in this example JCL member.  
  JCLTEST  11.012  SAS 5.18 WORK.#DIRMACR is out of space condition.    
  JCLTEST6 11.093  0C4 ABEND in SASXKERN if IBM exit IFGOEXOB used.     
  MONTHBLD 11.040  Error "DATASET TAPEMNTS NOT SORTED".                 
  MONTHBLD 11.206  DATA SET TAPEMNTS IS NOT SORTED error.               
  Many     11.302  Additional ASCII/EBCDIC differences resolved.        
  RMFINTRV 11.008  TYPE74 tape counts in AVGRSPMS, DEVACTTM, etc.       
  RMFINTRV 11.264  Variable PGPERBLK in RMFINTRV is incorrect.          
  SPIN     11.184  SPIN library can fill if Change 11.060 not installed.
  TRND70   11.240  Trended variables READY12-READY15 have wrong value.  
  TRND71   11.222  Variable VIO value incorrect in TRND71.              
  TRNDDB2A 11.038  QTXAIRLM omitted from SUM= list                      
  TRNDVMXA 11.235  VM/ESA Trending had logic errors.                    
  TRNDxxxx 11.227  Trending now includes the MVS/ESA 4.3 variables.     
  TYPE102  11.085  Variables QW0145SC/QW0145LL not input.               
  TYPE102  11.107  IFCID 53 and 58 records may have been dropped.       
  TYPE110  11.023  Omegamon V550 APAR QOC0451/QOC0534 bad record error. 
  TYPE110  11.080  STARTIME in CICINTRV dataset is actually ENDTIME.    
  TYPE110  11.138  Skip over SAP Journal Records circumvention.         
  TYPE1415 11.266  Variable TEMP in dataset TYPE1415 may be misset.     
  TYPE28   11.116  Support for NPM APAR OY54370.                        
  TYPE28   11.246  Support for NPM Version 2.1.0                        
  TYPE30   11.002  INVALID OMVS TRIPLET message, no observations.       
  TYPE30   11.003  Type 30 Interval INTBTIME/INTETIME wrong in MVS 4.3. 
  TYPE30   11.004  Variable DSSIZHWM is incorrect.                      
  TYPE30   11.033  Small negative values for ACTDLYTM.                  
  TYPE30   11.060  JELAPSTM and others large (positive or negative).    
  TYPE30   11.126  Type 30 APPC fields accumulation corrected OY63634.  
  TYPE30   11.140  Asynchronous Data Mover read/writes in APAR OY65142. 
  TYPE30   11.199  Variables INTBTIME/INTETIME off by 100 seconds.      
  TYPE30   11.229  GMT Offset was still wrong sometimes, by 100 seconds.
  TYPE33   11.243  Support for NETWISE RPC EXEC type 33 SMF record.     
  TYPE37   11.031  Undocumented LAN variables BRFSMADR BRFSMNAM added.  
  TYPE37   11.202  Support for NETVIEW APAR OY66237 (Hardware Log).     
  TYPE39   11.280  TYPE39_8 variables all incorrect.                    
  TYPE42   11.021  New TYPE42DS has GMT values in INTERVAL record.      
  TYPE42   11.179  Support for Concurrent Copy & Extended Sequential DS.
  TYPE42   11.235  Support for IBM's ADSM subtype 14 type 42 SMF record.
  TYPE42   11.325  TYPE42 subtype 6 STOPOVERs if VSAM SMF data is read. 
  TYPE57   11.215  Type 57 ESS variables non-blank if no ESS installed. 
  TYPE60   11.203  Storage and Data Class missing in NVR TYPE60 records.
  TYPE6156 11.223  INVALID DATA for OWNEXPDT corrected.                 
  TYPE7072 11.016  TYPE72MN dataset contains only one PERFGRP.          
  TYPE7072 11.152  TYPE70 dataset now supports CPUIDs of 0 thru 15.     
  TYPE7072 11.229  GMT Offset was still wrong sometimes, by 100 seconds.
  TYPE7072 11.265  Boole CMF Type 72 Subtype 2 INPUT STATEMENT EXCEEDED.
  TYPE7072 11.275  IBM APAR OY67002 corrupts TYPE70,TYPE70PR,ASUM70PR   
  TYPE72   11.177  SERVICE can be zeroed if it overflows ==> zero obs!  
  TYPE72MN 11.171  Zero obs in TYPE72MN for MVS/ESA 4.2 or earlier.     
  TYPE73   11.015  TYPE73 contains observations for dummy CHPIDs        
  TYPE73   11.102  Zero observations in TYPE73.                         
  TYPE73   11.114  PNCHANBY (EMIF Partition Channel Busy) added.        
  TYPE73   11.195  Variable PNCHANBY propagated into inactive records.  
  TYPE74   11.170  TYPE74 not output if only allocated but not used.    
  TYPE80   11.117  Support for Top Secret Release 4.3.                  
  TYPE80   11.207  Support for TOP-SECRET records written to log.       
  TYPE80A  11.017  INPUT STATEMENT EXCEEDED error.                      
  TYPE80A  11.054  TYPE80A fails with INPUT STATEMENT EXCEEDED.         
  TYPE90   11.158  TYPE90 variable ACTIVE renamed to ACTIVEMN.          
  TYPEACF2 11.315  Support for CA's ACF2 Releases 6.0 and 6.1.          
  TYPEAICS 11.180  Support for AICorp Central Server SMF record.        
  TYPEAPAF 11.225  Support for Amdahl APAF Version 2.1                  
  TYPEAPAF 11.267  APAF V2.1 dataset APAFCHAN was trashed.              
  TYPECIMS 11.073  INVALID VALUE FOR TH corrected.                      
  TYPECOMP 11.156  COM-PLETE Release 4.5 SMF record supported.          
  TYPECOMP 11.209  Variable ULOGCPUT incorrectly input.                 
  TYPECTLD 11.174  Support for 4th Dimension's CONTROL-D Release 3.0.0. 
  TYPEDB2  11.005  INVALID 3rd ARGUMENT IN SUBSTR, variable JOB blank.  
  TYPEDB2  11.006  Variable QDSTQDBT is incorrect.                      
  TYPEDB2  11.050  DB2ACCT variable NETSNAME incorrectly padded.        
  TYPEDB2  11.255  Support for DB2 Version 3.1 incompatible changes.    
  TYPEDCOL 11.057  DCOLLECT SMSDATA (SMS constructs) cause STOPOVER.    
  TYPEDCOL 11.151  Variables DCUSYSID/DCUTMSTP not kept in constructs.  
  TYPEDLMN 11.308  Support for Candle's Deltamon SMF record.            
  TYPEDMON 11.162  Support for LEGENT's ASTEX Release 1.7.              
  TYPEDOS  11.106  Support for DOS/VSE POWER 5.1.                       
  TYPEDOS  11.149  Variables STARTIME/STOPTIME may be wrong.            
  TYPEEDGR 11.190  Support for DFSMSrmm Extract Files (EDGHSKP utility).
  TYPEEDGS 11.189  Support for DFSMSrmm SMF Audit and Security records. 
  TYPEEDGS 11.209  Several MVT... variables incorrectly input.          
  TYPEF127 11.210  FACOM pseudo-RACF type 127 FUNCTION CHAN IS UNKNOWN. 
  TYPEFOCU 11.219  Support for FOCUS MSO Release 6.8.                   
  TYPEHMF  11.049  Support for HMF, Host Monitoring Facility product.   
  TYPEHSM  11.078  New HSM dataset HSMFSRBO, IMACHSM changed.           
  TYPEICE  11.340  Support for STK's ICEBERG SMF record.                
  TYPEIMS  11.181  Support for SAP's IMS log record type 'AE'.          
  TYPEIPAC 11.252  Support for Mobius' INFOPAC-RDS user SMF record.     
  TYPEMEMO 11.032  New variables TRANTIME TRANCOST added.               
  TYPEMIM  11.317  Partial support for LEGENT's MIM Release 4.0.        
  TYPEMON8 11.270  Support for Landmark CICS/ESA Version 1.1 INVALID DO.
  TYPEMON8 11.278  ERROR3.LANDMARK.MONITOR due to invalid record.       
  TYPEMON8 11.327  INVALID DATA FOR TIAPREQ with MXG 11.0x-11.10.       
  TYPENDM  11.175  Support for Sterling NDM Network Data Mover 1.4.0.   
  TYPENDM  11.326  Sterling's NDM, now Connect Direct 1.7.01, incompat! 
  TYPENSPY 11.029  Variable SNITIME incorrect.                          
  TYPENSPY 11.130  LEGENT LANSPY #DGL249 circumvention.                 
  TYPENSPY 11.159  NETSPY fix changed again by LEGENT.                  
  TYPENSPY 11.316  Support for LEGENT's NETSPY Release 4.4.             
  TYPEODS  11.147  Support for Laser Access Corp's Optical Disk System  
  TYPEOMAU 11.092  Omegamon 2.60 Audit Record moved OMSUBSID.           
  TYPEOMSM 11.332  Support for Candle's Omegamon II for SMS user record.
  TYPEOPC  11.122  Variables added to OPC24_6 and OPC24D_C datasets.    
  TYPEOPC  11.304  Support for OPC/ESA Release 2.1.                     
  TYPEPRFS 11.262  Support for Softworks' Performance Solution SMF data.
  TYPEQAPM 11.166  Support for AS/400 Release 2.2, all records now!     
  TYPEQAPM 11.254  Support for AS/400 Version 2.3 Performance Data.     
  TYPEQAPM 11.319  AS/400 system name AS400SYN was blank.               
  TYPESAR  11.146  Support for LEGENT's SAR product SARSRQU3 SMF record.
  TYPESFS  11.250  Xerox SFS accounting record INVALID ARGUMENT error.  
  TYPESFTA 11.321  Support for ISOGON's SoftAudit externalized files.   
  TYPESTC  11.124  Missing values for several variables corrected.      
  TYPESYNC 11.056  Support for SYNCSORT Release 3.5 new variables.      
  TYPETAO  11.034  "INVALID DATA FOR TAOSTYP" messages.                 
  TYPETCP  11.028  TCP/IP addresses reformatted.                        
  TYPETCP  11.163  Support for TCP/IP 2.2.1 APAR PN40511 new fields.    
  TYPETPX  11.167  Support for LEGENT's TPX Release 3.5 (incompatible). 
  TYPEVM   11.113  Support for VM/ESA Release 2.1 Accounting record.    
  TYPEVMXA 11.112  Support for VM/ESA Release 2.1 Monitor records.      
  TYPEVMXA 11.142  VM/ESA duration variables could be truncated.        
  TYPEVMXA 11.261  VXSYTCPU dataset variable LCUCLPTM not kept.         
  TYPEVVDS 11.103  Blank values for SMS Storage, Data, etc., Classes.   
  TYPEVVDS 11.204  Variable VVRBSENM can be blank.                      
  TYPEX37  11.070  STOPX37 Release 3.5 records incorrectly documented.  
  TYPEX37  11.091  Variable MESSAGE not decided in STOPX37 Rel 3.5.     
  TYPEX37  11.133  STOPX37 undocumented VOLSER,MSGCODE found.           
  TYPEZARA 11.059  Support for ZARA, The Tape Media Manager from Altai. 
  TYPEZARA 11.276  Support for ZARA Release 1.1 (incompatible)          
  UCICSCNT 11.244  Utility to count type 110 records by application.    
  VMACDB2H 11.242  DB2 variable NETSNAME can still mismatch CICSTRAN.   
  VMXGHSM  11.131  HSM BCDS dataset MCB incomplete, too few obs.        
  VMXGHSM  11.194  Not all observations output in dataset DSR.          
  VMXGHSM  11.259  HSM BCDS and MCDS data value errors.                 
  VMXGSUM  11.281  Performance enhancement of MXG summarization         
  VMXGSUM  11.309  Execution improved by creating KEEP= for input.      
  VMXGSUM  11.309  INCOMPATIBLE exposure if you have tailored members.  
  VMXGVTOF 11.030  Variable DS4IVTOC was not kept.                      
  WEEKBLD  11.040  Error "DATASET TAPEMNTS NOT SORTED".                 
  WEEKBLD  11.206  DATA SET TAPEMNTS IS NOT SORTED error.               
  WEEKBLDT 11.172  WEEKBLD with no rewinds/remounts of WEEK tape.       
Inverse chronological list of all Changes:                              
NEXTCHANGE: Version 11                                                  
Change 11.361  The offset for MCCAVSN was hardcoded and thus wrong for  
VMXGHSM        some levels of HSM; now, instead of INPUT +16, the logic 
Mar 25, 1994   is OFFV=65+MCCNVSNO; INPUT @OFFV ....                    
   Thanks to Gary Matney, Twentieth Century Investors, USA.             
Change 11.360  The MXG Tape Mount and Allocation Monitor is a major     
ASMTAPES       extension to MXG's existing MXGTMNT Tape Mount Monitor.  
Mar 24, 1994   Now, both tape mounts and tape allocation-deallocation   
               events are recorded in SMF so you can measure how long   
               each tape drive was used by what job.  The new monitor is
               provided in ASM source code in member ASMTAPES and works 
               fine at two sites (one using MVS/ESA 4.3 with MIM plus   
               SMS, the other is at MVS/ESA 4.2), but at MVS/ESA 3.1.3  
               site with both MIM and SMS, the new monitor program      
               either waits doing nothing or ABENDS gracefully.  So if  
               you really need this monitor now, read Change 11.101 and 
               then assemble member ASMTAPES (it still creates program  
               named MXGTMNT) and check it out.  I think it is highly   
               likely it is ok with MVS/ESA 4.2 or 4.3, but your        
               feedback as to where it works and when it doesn't will   
               help validate for everyboth.  Since both MIM and SMS get 
               involved in allocation, they may or may not be the       
               trigger, but we are actively working on the SRB dumps to 
               understand and fix the program for all environments.     
   Thanks to Bill Fairchild, Royal Associates, USA                      
   Thanks to Chuck Hopf, Primerica, USA                                 
Change 11.359  If you modified the interval in ASUMTMNT, GRAFTMNT will  
GRAFTMNT       not correctly place the points on the graphs since it    
Mar 24, 1994   was using the HOUR of the time as the axis.  It now uses 
               the time at 3600 second intervals.                       
   Thanks to Chuck Hopf, Primerica, USA                                 
Change 11.358  ASUMHSM, TRNDHSM, GRAFHSM provide some ability to report 
ASUMHSM        on dataset movement caused by HSM.  Since this can be a  
TRNDHSM        significant contributor to batch run times as well as TSO
GRAFHSM        response, you may find these summarization, trending, and
Mar 24, 1994   graphical analysis of HSM useful.                        
   Thanks to Chuck Hopf, Primerica, USA                                 
Change 11.357  The second pair of variables named LLSNAFB/LLSNAFN are   
VMACNSPY       now named LLSNAEB/LLSNAEN, and LLSNAEB was added tothe   
Mar 24, 1994   MGBYTES format (the "E" vars are for SNA over Ethernet). 
   Thanks to Warren Hayward, TJX, USA.                                  
Change 11.356  Change 11.352 was revised after new iterations.  Type 35 
VMACOPC        caused ABEND that was fixed, and subtype 'G' is now      
Mar 24, 1994   supported.  There are some spanned subtype 24 records    
               that MXG does not yet handle correctly; at present all I 
               could do was to recognize I missed a spanned record with 
               a message on the log; this only affects the OPC24xxx     
               data sets, and will be fixed soon.  Fax if you need it.  
   Thanks to Randy Shumate, Mead Data Central, Inc.                     
   Thanks to Maureen Walshe, IBM Nordiska Laboratoirer, SWEDEN.         
Change 11.355  Change 11.351 was revised after the Mar 23 early tapes   
BUILDPDB       were sent. The WEEKBLD/WEEKBLDT/MONTHBLD members had not 
Mar 24, 1994   been revised until Mar 24.                               
Change 11.354  CICS Statistics variables A21LUTTM and A21SNTTM were not 
VMAC110        correct; a real value of 30 minutes was reported as only 
Mar 24, 1994   .03 seconds.                                             
==Changes thru 11.353 were in MXG 11.11 created March 23, 1994===       
Change 11.353  LEGENT SAR records had a number of fields added in 1993  
VMACSAR        that are now supported in MXG.  The maintenance has no   
Mar 23, 1994   version/release, only Change #05- Change #9 in DSECT!    
   Thanks to Bob Mattingly, ARCO-EIS, USA.                              
EXOPC24X       for TRLRCTYP=35 (delete all references to TRLPOS35). For 
IMACOPC        TRLRCTYP=24 MT0TYPE=9 (expand IF MT0TYPE NE 6 THEN to    
VMACOPC        IF MT0TYPE NE 6 AND MT0TYPE NE 9, and expand 7 LE MT0TYPE
Mar 23, 1994   LE 8 to 7 LE MT0TYPE LE 9).  Support was added for the   
Mar 24, 1994   MT0TYPE='G' (MT0TYPE is a number, so character 'G' =199) 
               which creates new dataset OPC24_G  (not to be confused   
               with existing dataset OPC24D_5, which caused the new exit
               and dataset macros to be EXOPC24X for OPC24_G dataset).  
               OPC support was revised after March 23 tapes shipped.    
   Thanks to Randy Shumate, Mead Data Central, USA                      
Change 11.351  RMF dataset TYPE77 is now automatically created by MXG's 
BUILDPDB       BUILDPDB/BUILDPD3 algorithms.  TYPE77 reports ENQUE      
BUILDPD3       conflicts and delays, and is expected in ANALRMFR for    
BUILD001       replication of IBM RMF reports from MXG datasets.  Logic 
BUILD003       in WEEKBLD/WEEKBLDT/MONTHBLD now also expectes the TYPE77
BUILD518       dataset.  Added Apr 18:  This change is INCOMPATIBLE if  
BUILD606       you have tailored BUILDPDB to add TYPE77 processing. See 
WEEKBLD        text of Change 12.013.  This change was also incomplete  
WEEKBLDT for JES3.                                                      
Mar 24, 1994                                                            
Change 11.350  Additional CICS Shutdown Reports were added.  One problem
ANALCISH       with Mode Table report (many pages, all zeros) with all  
Mar 23, 1994   APPLIDs went away when a single APPLID was reported, but 
               this will be investigated as soon as data tape received. 
               Also, Last Reset time is different between IBM & MXG.    
   Thanks to Neil Ervin, Huntington Bank Service Company, USA.          
Change 11.349  Variable SHEETPRN is now automatically added to PDB.PRINT
IMACPDB        to count sheets printed.                                 
Mar 22, 1994                                                            
   Thanks to Jill Hansen, South Dakota Education, USA.                  
Change 11.348  Variable DVLNUCBA in dataset DCOLVL is now formatted as  
VMACDCOL       HEX8 and is LENGTH 5 (because it is numeric, five bytes  
Mar 22, 1994   are required to store all possible hex digits).          
   Thanks to Al Rozewski, Parker Hannifin, USA.                         
==Changes thru 11.347 were printed in MXG Newsletter 25 dated 26Mar94===
Change 11.347  Support for Boole & Babbage CICS/Manager Statistics data 
EXCICBBD       in type 110 SMF record, subtype BB02 (which MXG sets back
EXCICBBF       to SUBTYPE=2 for processing), Statistic STIDs:           
EXCICBBL         200   CICSBBSI     SIT                 EXCICBBS    52  
EXCICBBR         201   CICSBBRC     RCT                 EXCICBBR    47  
EXCICBBS         202   CICSBBLT     LT X                EXCICBBL    55  
FORMATS          203   CICSBBFC     FCT                 EXCICBBF    57  
IMACICBB         205   CICSBBDL     DLI                 EXCICBBD    44  
VMAC110        Those 6 datasets are created, but they will have zero obs
Mar 20, 1994   and only 15 variables unless you enable processing - see 
               member IMACICBB for enablement procedure and comments.   
               Adding this support uncovered several errors in field    
               alignment (three sets of CPU fields) that will be fixed  
               by Boole's PTF BPC2312 which you must request and install
               for that dataset to be valid.                            
   Thanks to ???, VW Wolfsburg, GERMANY.                                
Change 11.346  Netmaster 2.2 added new variable SMFNCUSR to type 39 data
VMAC39         that is now decoded and added the TYPE39 datasets.  This 
Mar 19, 1994   is the only reported change in Netmaster 2.2 records.    
   Thanks to Colin Bowen, Old Mutual, SOUTH AFRICA.                     
Change 11.345  TCP/IP addresses contained blanks when only one digit was
VMACTCP        used for a node; now the blanks are stripped out by using
Mar 19, 1994     TELLOCAL=COMPRESS(TELLOCAL); on all addresses.         
   Thanks to Wanda Prather, Johns Hopkins University APL, USA.          
Change 11.344  Support for CADAM V3R2 Statistical Data plus corrections 
VMACCADM       to MXG were provided by this user enhancement.  See the  
Mar 18, 1994   excellent notes at the beginning of the member.          
   Thanks to Jouke van Schepen, Fokker Aircraft BV, NETHERLANDS.        
Change 11.343  NPM Type 28 NPMLANOD dataset (added in NPM Version 2) did
VMAC28         not decode CSL section correctly, causing INPUT STATEMENT
Mar 18, 1994   EXCEEDED with NPMSUBTY='A0'x, which is 4-bytes shorter   
               than the 'A1'x subtype.  The four final fields LCSLRPTO- 
               LCSLRSFR are now input only for NPMSUBTY=0A1X and three  
               new variables LCSLPDUD,LCSLMFRD,LCSLURFR are instead     
               input for NPMSUBTY=0A0X.                                 
   Thanks to Pat McGuire, Texas Instruments, USA.                       
Change 11.342  CA-DISPATCH 5.1 corrupts READTIME in TYPE6 records - the 
VMAC6          date can be 1-2 days in the future!  CA stores a 01x in  
Mar 18, 1994   the 1st byte of READTIME as a flag.  A real read time of 
Sep 22, 1994   00021CE8x (00:23:04) is corrupted to 01021CE8x (47:59:16)
               and those 48 hours are added to midnight of read in date!
               My guess was that CA decided that since 0083D600x is 24  
               hours, they could use the 1st byte of time for DISPATCH, 
               (just like CA uses the first byte of date for CA7), but  
               that is not the case; CA now acknowledges that READTIME  
               field is being corrupted and CA Level 2 is working at the
               one reporting site to develop a fix.  I had already added
               protection in MXG 11.11 to reset the first byte to zero: 
                 Replace   READTIME  SMFSTAMP8.  @;                     
                 with      READCADI $CHAR8. @;                          
                           IF SUBSTR(READCADI,5,1) GT '01'X THEN        
               but now the site reports the READTIME is off by 2 hours, 
               so it appears the time part of READTIME is just bad,     
               until CA develops a fix.                                 
               See Revision by Change 12.199; 1,1 changed to 5,1.       
   Thanks to Giovanni Dossena, Einchem Elastomeri S.R.L., ITALY.        
Change 11.341  TYPE94 variables SMF94Axx were labeled as EJECT when they
VMAC94         should are AUDIT, and variable SMF94EIN/SMF94EPM were    
Mar 17, 1994   dropped from the KEEP= list, as they do not exist, and   
               could be confusing!                                      
Change 11.340  Support for STC ICEBERG 9200 Disk Array Storage Subsystem
EXICECHA       creates four datasets, one for each subtype of the SMF   
EXICEDEV       interval record which are provided by StorageTek:        
EXICEDRV        ICEBRGSY - Capacity and Space Utilization  - per Subsys 
EXICESYS        ICEBRGCH - Channel Interface Statistics - per channel   
IMACICE         ICEBRGDV - Device and Its Cache Statistics - per device 
TYPEICE         ICEBRGDR - Drive Module Statistics - per drive module   
VMACICE        The range and content of the ICEBERG statistics are quite
Mar  9, 1994   impressive & comprehensive for this new technology, with 
               utilization counts and durations provided.   This support
               has been syntax checked, and simulated test data has been
               processed, but no real-world users have used the data yet
Change 11.339  MXG 11.08 thru MXG 11.10. the last 380 lines of this RMF 
ANALRMFR       Report member were inadvertently deleted.  The lines were
Mar  7, 1994   restored in MXG Early 11.11, without a Change number.    
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
==Changes thru 11.338 were in the MXG Version Early 11.11 dtd Mar 8, 94=
Change 11.338  APAR UW04108 adds new variables to TYPE42 datasets:      
VMAC42           TYPE42SR: ICLS     RCLS     SEQIOS                     
Mar  7, 1994     TYPE42DS: ICLS     RCLS     SEQIOS                     
               Sequential I/Os are now counted separately (SEQIOS) and  
               are NO LONGER included in cache statistics (candidate    
               I/Os and hits).  RLCS are Record Level Caches, ICLS are  
               Inhibit Cache Loads.  ICLS only include those ICLS that  
               are set by DCME, not those by the STARTIO driver.        
               An additional APAR due out later this year adds even more
               valuable instrumentation to the data set statistics:     
                 TYPE42DS: BLKSIZE  DEVNR    STORCLAS VOLSER            
                           S42AMDRB S42AMDRR S42AMDWB S42AMDWR          
                           S42AMSRB S42AMSRR S42AMSWB S42AMSWR          
                           S42AMZRB S42AMZRR S42AMZWB S42AMZWR          
               The long-needed VOLSER and DEVNR will be the first volume
               for most multi-volume or striped datasets; however, for  
               sequential SAM access, there will be one record per      
               volume.  The new Access Method fields (S42AMxxx) are     
               generated only for access methods that support DCME; the 
               new S42AMxxB variables count blocks read/written for     
               sequential/direct/directory and the S42AMxxR fields will 
               contain the corresponding I/O delay time (they are not   
               yet implemented).  The directory counts do not include   
               STOW or BLDL yet, and there's more design ongoing to     
               capture as much as possible (eg., VIO and PDSEs).  Note  
               how IBM is making life simple for us both, providing me  
               with early documentation so this support is already in   
               place in MXG 11.11 for when you get the APARs!           
   Thanks to Jeff Berger, IBM SSD, USA.                                 
Change 11.337  CA's TMS can cause a type 80 (RACF) record to be created 
VMAC80A        for BLP processing, (a ZAP from CA is required to enable 
Mar  7, 1994   creation of the records), but they exposed an MXG design 
               error: variable RESNAME was blank and variable OLDDSN    
               contained resource name.  MXG now correctly inputs the   
               Resource Name into variable RESNAME; I should then store 
               RESNAME into OLDDSN only if RACFEVNT=04 (a RENAME), but  
               since OLDDSN always has contained the Resource Name, and 
               since you should not have to change your reports, I chose
               to continue to put Resource Name in both RESNAME and     
               OLDDSN variables.                                        
   Thanks to Simon Hendy, Reader's Digest European Systems.             
Change 11.336  Boole & Babbage CMF PTF BPM4681 adds new variables to    
VMACCMF        these existing datasets:                                 
Mar  6, 1994     CMF27C93    C279WEH,C279WER,C279WFM                    
                 CMF27CSD    CMF27CHN,CMF27CU2,CMF27DEV,CMF27LCU,       
                             CMF27uty, and CMF27VOL (the VOLSER!)       
              In the CMF27CSD dataset, the existence of the new fields  
              can be identified by testing CMF27VOL; if it is non-blank,
              the record was created after PTF BPM4681.                 
   Thanks to Matthew McCue, United Parcel Service, USA.                 
   Thanks to John Piccone, United Parcel Service, USA.                  
Change 11.335  A minor correction to the revised VMXGSUM summarization; 
VMXGSUM        if the first data step was not required by the SORT, the 
Mar  6, 1994   PROC MEANS looked for MXGSUM1 when it wanted MXGSUM2;    
               also, a specious error message when the length of the    
               INDATA= string was less than 40 bytes was eliminated.  It
               needs to be stressed that the changes made to VMXGSUM are
               INCOMPATIBLE if you have tailored any of these members:  
                    ASUMDBDS ASUMDB2A ASUMDOS  ASUMHPCS ASUM70PR        
                    DAILYDSN GRAFDB2  GRAFLPAR TRNDDB2A                 
               You must retrofit your tailoring, starting with the new  
               member in MXG 11.11 (see the text of Change 11.309).     
Change 11.334  Batch LSR for VSAM can produce incredible savings, by    
ANALDSET       using memory for buffers instead of repetitive I/O to the
ADOCBLSR       same record.  Jobs cost less, use less CPU, fewer I/Os,  
ANALBLSR       and run in tens of minutes instead of tens of hours. This
Mar  6, 1994   new analysis by Chuck Hopf adds new variables in existing
               ANALDSET program (that reads SMF and combines type 14/15,
               type 64, and type 30 data) to its output dataset DSETOPEN
               which is then used as input to ANALBLSR's algorithms to  
               identify the jobs and VSAM files that could benefit from 
               BLSR.  ANALBLSR also reports any existing Batch LSR usage
               and will suggest increase or decrease in buffering where 
               appropriate.  Implementing Batch LSR requires no change  
               to the application; only a simple JCL change is required,
               and example JCL is in member ANALBLSR.  Chuck's full     
               research paper on this timely subject will be in member  
               ADOCBLSR when it is available.  Chuck points out that for
               random access to the same records/index, increasing the  
               number of buffers (BUFNI,BUFND) does not eliminate I/O.  
               You would expect that if the data was in the buffer VSAM 
               would find it there, but actually without Batch LSR, I/O 
               is done instead of lookaside into the buffers!  One case 
               of an Index with only 6 records had one million EXCPs for
               a single step; using BLSR with 10 buffers reduced the I/O
               count to seven!   ANALBLSR lets you set thresholds of the
               amount of memory you want to use, and the percentage of  
               the total I/O for the step, before it will be selected as
               a candidate for Batch LSR, and is self-documenting.  This
               is still ongoing research.                               
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 11.333  ANALDB2R PMAUD02 Authorization Failure report had N/A for
ANALDB2R       table/object name, when there should have been a name.   
DIFFDB2        The length of a SUBSTR() was incorrect, causing tests for
IMACDB2        character values to be incorrect.  The DB2PM manual was  
READDB2        used to decide when a Target/Owner is printed, and it    
Mar  6, 1994   says that they are not printed for "ARCHIVE", yet their  
               report does print it, so we revised our logic to match!  
               ANALDB2R PMSTA01 Statistics report timestamps printed    
               were unclear or misleading.  There are two sets of       
               timestamps; the first is the time range of the data that 
               was read, the second is the range of data summarized on  
               that page, if INTERVAL= is specified.  Also, DIFFDB2,    
               IMACDB2, and READDB2 were corrected to use _LDB2STA      
               instead of the hardcoded PDB.DB2STATS, and IMACDB2 and   
               READDB2 now know about the new DB2 3.1 dataset DB2ACCTP. 
   Thanks to Wai Choong Mak, Development Bank of Singapore, SINGAPORE.  
Change 11.332  Support for Candle's Omegamon II for SMS user SMF record 
EXOMSMDV       creates two new datasets:                                
EXOMSMJB         OMSMSDEV - DASD Device Statistics                      
IMACOMSM         OMSMSJOB - JOB and DSNAME activity on each volume.     
TYPEOMSM       This code has been tested with actual data, but has not  
VMACOMSM       been extensively validated by real users, yet!           
Mar  5, 1994                                                            
Change 11.331  The contributed RACF reports program WPDBRACF had to be  
ANALRACF       changed due to an apparent change in the way that some   
Mar  4, 1994   formatted values were named in the PROC TRANSPOSE.  The  
               RENAME= list for dataset RACFREP2 was revised.           
   Thanks to Neil Campbell, Inland Revenue, ENGLAND.                    
Change 11.330  DB2 Audit Detail report, Completion Code, was incorrect, 
ANALDB2R       causing "INVALID NUMERIC DATA" message on the SAS log.   
Mar  4, 1994   Two tests for QW0083AD=0 and two tests for QW0087AD=0    
               should have tested for hexadecimal character zero instead
               of numeric.  The two pairs of statements now reading :   
                IF QW0083AD=0 THEN ....   and   IF QW0087AD=0 THEN .... 
               must be changed to read:                                 
               IF QW0083AD='00'X THEN ... and IF QW0087AD='00'X THEN ...
   Thanks to Wai Choong Mak, Development Bank of Singapore, SINGAPORE.  
Change 11.329  CICS/ESA DFHSTUP Shutdown Statistics Reports can now be  
ANALCISH       printed by MXG, either from a raw SMF file, or from a PDB
VMAC110        library (with minor modifications to BUILDPDB).  This is 
Mar  4, 1994   a significant contribution that uses ESA CICS datasets to
               replicate the important IBM Shutdown reports.  You can   
                      // EXEC MXGSAS                                    
                      //SMF DD DSN=YOUR.SMF.TYPE110.records,disp=shr    
               to generate all reports from raw SMF data.  You can also 
               generate these reports regularly, from your PDB, but you 
               will need to tailor BUILDPDB so that it copies all of the
               CICS statistics datasets from the WORK file into the PDB.
               You must add, in member EXPDBOUT, this code:             
                 PROC COPY IN=WORK OUT=PDB;                             
                 SELECT CIC:;                                           
               and then you can invoke  %ANALCISH(PDB=PDB);  to print   
               shutdown reports for all CICS regions.  Additional macro 
               arguments let you select date/time/region, and to select 
               only the desired report.                                 
               An minor error in VMAC110 was also corrected; member     
               IMACCICS is now included by its VMAC, instead of in its  
               TYPE member or by BUILDPDB.  This clerical oversight only
               affected me when exploiting my new "_L" logic, but should
               have no effect in the field!                             
                  Note for the experts:  I needed to do this so that I  
                  could null out the CICSTRAN data set (which has high  
                  volume, and is not currently used by ANALCISH) when   
                  I ran against SMF data, and the mislocated %INCLUDE   
                  did not let me.  Normally you would null out a dataset
                  by EDITing the product's IMACxxxx member and change   
                  its "_L" macro's dataset name to "_NULL", but you can 
                  also null out any MXG dataset on the fly, without EDIT
                  of the IMACxxxx member, by using this syntax:         
                      %INCLUDE SOURCLIB(VMACSMF,VMAC110);               
                      MACRO _LCICTRN  _NULL_ %                          
                      DATA _VAR110; _SMF; _CDE110;                      
                  (You must be at SAS 6.08 for the _NULL_ operand to be 
                  a valid argument of the OUTPUT statement!)            
               In addition to producing the CICS Shutdown Report, member
               ANALCISH lets you see what variable from what MXG dataset
               is used for what report field, by reading the code!  This
               set of reports has been long overdue; the most important 
               reports have been implemented for both CICS 3.2 and 3.3, 
               but there are more reports (especially the detail reports
               by transaction) that were not finished in time for 11.11.
   Thanks to Willi Weinberger, Gothaer Versicherungsbank, GERMANY.      
   Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.328  Division by zero if there were no TSO transactions in an 
TRNDRMFI       interval.  Change PCTTRIV=TRIVTRAN/TSOTRAN*100; to read  
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
Change 11.327  MXG 11.09A and 11.10 only.  Change 11.270 caused INVALID 
TYPEMON8       DATA FOR TIAPREQ in the MONISYST dataset if the Landmark 
Mar  4, 1994   record was from 8.1 with an archaic history segment (i.e.
               when LENGTH=2276).  The test in MXG for IF LENGTH GE 1464
               should have been IF LENGTH EQ 1464.   (The error did not 
               affect the MONITASK dataset, and the history segment is  
               no longer created by Landmark.)                          
   Thanks to John Goodstat, Gardner Merchant, ENGLAND.                  
Change 11.326  Sterling's NDM has been renamed to Connect Direct 1.7.01 
VMACNDM        and the format of the PT record changed, causing INVALID 
Mar  4, 1994   DATA for HH messages.  Replacing the single line reading 
Mar 21, 1994    INPUT +30 with LOC=LENGTH-21;INPUT @LOC corrected some  
               records, but there are "PT" records with invalid values  
               for date/times of  000000000001000Ax & 2800000000FC5B10x 
               that I need to talk to Sterling about, but I can't find  
               anyone there to return my call, and I only have the PT,  
               CT, & MC segments corrected thus far, and I still have   
               no response from Sterling.  If you need to process NDM   
               records now Connect Direct, send us a fax request, ande  
               we will advise you of the current status.                
   Thanks to John Goodstat, Gardner Merchant, ENGLAND.                  
Change 11.325  Type 42 subtype 6 read from VSAM SMF caused STOPOVER.    
VMAC42         (There was no error when dumped BSAM SMF was read.)      
Mar  1, 1994   Calculation of these three offsets did not include the   
               "+OFFSMF" at the end of the line.  They should read:     
               The GMT conversion algorithm should also be changed to:  
   Thanks to H. Placht, RWD Gmbh Datenverarbeitungsgesellschaft, GERMANY
Change 11.324  Variables SAMPSKPD, RMFIIIRC and INTRVSYN were always    
VMAC7072       blank, because variable CONVFLAG should have been input  
VMAC71-VMAC79  as PIB1 instead of PIB2.                                 
Feb 28, 1994                                                            
   Thanks to Scott Ashby, Wachovia Operational Services Corp., USA.     
Change 11.323  MXG 11.09-11.10 only.  Change 11.246 added support for   
IMAC28         NPM 2.1.0, but in IMAC28, macro _L028NWD should have     
VMAC28         spelled its dataset name as NPMNWDWD instead of NPMNWCWD.
Feb 28, 1994   In addition, causing confusion but no execution error,   
               comments in VMAC28 were misspelled; NPMCLLAN should be   
               NPMCMLAN, and RMSTR should be RMSTA in all occurrences.  
   Thanks to Ann Wheeler, American President Lines, USA.                
Change 11.322  TYPE72MN variables WSETFIX and WSETASM were incorrect.   
VMAC7072       They are now calculated as:                              
Feb 18, 1994     WSETFIX=FRAMEFIX/AVGUSER;                              
   Thanks to Jan van Kemenade, Universitair Centrum Info., NETHERLANDS. 
Change 11.321  Support for ISOGON's SoftAudit Product Usage File and    
EXSFTAM        Module Usage File creates two datasets by reading the two
EXSFTAP        separate SoftAudit flat files:                           
IMACSFTA          MXG Dataset   DDname          Description             
TYPESFTA          SOFTAUDM      XPUSAGEM    Module Usage File           
VMACSFTA          SOFTAUDP      XPUSAGEP    Product Usage File          
Feb 17, 1994   Both files will be read if data exists in either DDname: 
                  //  EXEC MXGSAS,USER=PDBSFTA                          
                  //XPUSAGEM DD DSN=MODULE.USAGE.FILE,DISP=SHR          
                  //XPUSAGEP DD DSN=PRODUCT.USAGE.FILE,DISP=SHR         
                  //            UNIT=SYSDA,SPACE=(CYL,(10,10))          
                    %INCLUDE SOURCLIB(TYPESFTA);                        
               If you only want to process one of the two files, use    
               DD DUMMY in your JCL for the unwanted file.              
Change 11.320  APPC tasks do not go thru JES, so there will be no type  
BUILDPDB       26 purge record to match up with APPC type 30 records. As
BUILD006       a result, all APPC work would be held in the SPIN library
Feb 16, 1994   until SPINCNT in IMACSPIN is exceeded.  Even if there are
               type 6 records for APPC tasks, there is no way to know   
               they exist, so there is no reason to SPIN APPC tasks, and
               therefore, the BUILDPDB logic for outputting APPC tasks  
               to the PDB.JOBS and PDB.STEPS datasets was revised to    
               send APPC tasks to the PDB as soon as both a type 30     
               subtype 4 (step) AND type 30 subtype 5 (job) record have 
               been found.  If there were any type 6 records for the    
               same JOB JESNR READTIME combination in today's SMF data, 
               then PDB.PRINT will have the APPC tasks print data with  
               accounting fields from the type 30.  An isolated type 6  
               record for an APPC task will be output when found, i.e., 
               it will not be sent to the SPIN library.  The insert:    
                  ELSE IF TYPETASK=:'A' THEN DO;                        
                    IF IN30_5 THEN OKFLAG=1;                            
                    ELSE IF IN6 AND NOT IN30_4 THEN OKFLAG=1;           
   Thanks to Don Friesen, B.C. Systems, CANADA.                         
Change 11.319  AS/400 variable AS400SYN was blank, because the %MACRO   
VMACQAPM       variable &AS400SY was not passed correctly, and was being
Feb 16, 1994   reinitialized to blanks in QAPMCONF.  The three SYMPUTS  
               in _CQAPCON were enclosed in  IF _N_=1 THEN DO; ... END;.
               All occurrences of AS400SYN="&AS400SY"; were changed to  
               read AS400SYN=SYMGET('AS400SY');  Also, the single       
               occurrence of NRCPUS="&AS400CP"; was changed to read     
   Thanks to Greg Scriba, Budget Rent-A-Car, USA.                       
Change 11.318  CICS Statistics variable A20E1HWM (Peak Contention Users)
VMAC110        was left out of the KEEP= list for dataset CICCONMR.     
Feb 14, 1994                                                            
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
Change 11.317  Partial support for LEGENT's MIM Release 4.0 enhances the
VMACMIM        MIMTAPE dataset for the new release, but additional work 
Feb 14, 1994   is needed to decode new subtypes in this release.  This  
               code is functional, and hence included, but test data for
               other subtype is needed before full support is provided. 
   Thanks to Doug Drain, National City Bank, USA.                       
==Changes thru 11.316 were include in MXG PreRelease 11.10 dtd 14Feb94==
Change 11.316  Support for LEGENT's NETSPY Release 4.4.                 
EXNSPYET      -Dataset NSPYAPPL, new variables APOTLN62, APOTNN62 count 
EXNSPYFR       the outbound bytes for LU 6.2 and non-LU 6.2 sessions.   
FORMATS       -Dataset NSPYLU, new variable RESPNOTC='Y' if response    
IMACNSPY       time is collected.  IF RESPNOTC='N', then variables:     
Feb 13, 1994      NETRSPNO T1RSPNO T2RSPNO T3RSPNO  T4RSPNO             
               are now set to zero by MXG, as LEGENT says "these fields 
               may have data in them, however they should not be used   
               when reporting".                                         
              -New Dataset NSPYFRLY for Frame Relay Statistics          
              -New Dataset NSPYETHR for Ethernet Statistics.            
              -Several new values for NSPNSUBT are now decoded by       
               MXG format MGNSPEL, and logic for recognition of which   
               sub-subtype of the type 'N' was clarified.               
Change 11.315  Support for CA's ACF2 Release 6.0 and 6.1 added seventeen
VMACACF2       new variables to type 'V' record, and one to type 'D'.   
Feb 12, 1994   Renames of ASSSPCOD to ASSPPCOD and ACFGFOE to ACFGFDEN  
               correct my misspellings. The use of LENGTH-COL-1 (to know
               how many bytes are left in the record) should have been  
               LENGTH-COL+1 (this could have caused new variables to not
               be read in, although no one seems to have noticed!).     
               In this revision, I have also decoded the LIDREC and the 
               LIDXARE of the type 'J' record, labelled and formatted   
               the several dozen new variables, but did not add any of  
               those variables to the ACF2JR data set; instead, if you  
               decide you need those variables, you can use the MXG     
               macro _KACFJR in member IMACACF2 to add them.  (Only one 
               site had requested the LID fields.)                      
Change 11.314  For developers, this is my recommended test protocol:    
Feb 12, 1994                                                            
                  You need to ALWAYS test it ONE MORE TIME!             
                  When you think your code is done:                     
                   Run it once more, as a batch job, and while that job 
                   that job is running, use SPF 3.12 COMPARE to examine 
                   every difference between the before-and-after source 
                   Then,examine the batch job's output:                 
                    - The SYStemLOG, for any Operating System warnings, 
                    - The SASPRINT report output, for any differences,  
                    - The SASLOG log output, for any occurrence of each 
                      of these strings (blanks are important!):         
                      "ERROR:"      "ERROR :"      " UNINIT"            
                      "NEVER BEEN"   "NOT FOUND"   "CONVERT"            
                      "NOT CATLGD"   " NOT "       "TRUNCATED"          
Change 11.314A MXG 11.09A Only, PMACC02 Report, DB2 Accounting Detail   
ANALDB2R       Trace was in error due to insufficient testing.  The data
Feb 12, 1994   was summarized when it should only have been sorted.     
   Thanks to Jeff Marsh, Twentieth Century Services, USA.               
Change 11.313  OMEGAMON for CICS V550/V551 User SMF record subtype 100  
Feb 12, 1994   The code expected the same number of segments for EGROUP 
               as for ETRNAME, but they are unrelated tables.  The code 
               was corrected, but for simplicity both EGROUP and ETRNAME
               segments are still output in dataset OMCITRAN; you can   
               identify which is which by testing :                     
                IF ETRGRPM NE . ==>  ETRNAME and ETRGRPM are valid      
                IF ETRGRPM EQ . ==>  EGROUP, EGRPNAM, EGRPESNR are valid
               This change supercedes Change 11.115.                    
   Thanks to Ron BLeeden, Jewel Food Stores, USA.                       
   Thanks to Bill Wieland, EDS Westlake, USA.                           
Change 11.312  Variable AVGENQMS (Average ENQUE time in milliseconds)   
VMAC74         was calculated but not KEPT, LABELed nor FORMATted, but  
Feb  9, 1994   now it is.                                               
   Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.         
Change 11.311  GRAFWORK was enhanced with a new graph of memory usage by
GRAFWORK       workload (using the ACTFRMTM-based measure of resident   
Feb  7, 1994   memory frame seconds in the xxxxMEMR variables). GRAFWORK
               now provides graphic depiction of CPU, I/O, and MEMORY   
               resource usage by workload.                              
Change 11.310  GRAFRMFI was revised to include new variables added to   
GRAFRMFI       RMFINTRV recently, and the internal logic revised to make
Feb  7, 1994   maintenance easier.                                      
Change 11.309  This major revision to VMXGSUM reduces runtime and CPU   
VMXGSUM        time, by keeping only the variables and datasets that are
ANALDB2R       needed during the input for summarization, and executes  
ANALPRTR       only the steps required (i.e., it will bypass PROC SORT  
ASUMCICS       if it can).  If you have tailored some MXG members that  
ASUMDBDS       invoke %VMXGSUM, you MUST examine the INCOMPATIBILITY    
ASUMDB2A       note, below, and you MAY have to update your tailored MXG
ASUMDOS        members.  If you have used %VMXGSUM in your own reporting
ASUMHPCS       programs, you may also be vulnerable to required changes.
ASUMJOBS      -Changed the logic for MINTIME= and MAXTIME=.  No longer  
ASUMTMNT       are variables named MINTIME/MAXTIME created; instead, the
ASUMVDEV       variable name(s) passed into VMXGSUM are retained, which 
ASUMVMON       permits bypassing the first data step to reduce costs.   
ASUM70PR      -NOSORT= parameter was added, which allows the sort to be 
DAILYDSN       bypassed if you KNOW the data is already in order.       
GRAFDB2       -Initialization to protect for "UNINITIALIZED VARIABLE"   
GRAFLPAR       message (the series of IF X=. THEN X=.; statements) was  
TRNDDB2A       relocated to execute only once.                          
TRNDDB2S      -New logic automatically figures out what variables need  
Feb  7, 1994   to be kept (by looking at all variables that are in any  
 text of       of the list-of-variable parameters), so the _KMXGSUM     
 change was    syntax that was added in MXG 11.09 is no longer used.    
 revised      -The new KEEPIN= parameter is required if you have INCODE=
Mar  6, 1994   specified, and if there are unique variables used in your
               INCODE= logic that are not referenced by other VMXGSUM   
               list-of-variable-parameters (SUM= SUMBY= MIN= ... etc.)  
              -INCOMPATIBILITY NOTE                                     
                 If there is an INCODE= parameter (for sophisticated use
                 you can insert SAS code with this parameter), AND only 
                 if there are variables referenced in your INCODE= logic
                 that are not referenced by the other VMXGSUM parameters
                 (SUM= SUMBY= MIN= ... etc.),                           
                 Then you MUST add a KEEPIN= parameter to your %VMXGSUM 
                 invocation so that those unique variables exist during 
                 the INCODE= code execution.                            
                 These MXG-supplied members had to be changed in the MXG
                 Source Library because all had un-kept variables that  
                 had to be listed in the KEEPIN= parameter:             
                    ASUMDBDS ASUMDB2A ASUMDOS  ASUMHPCS ASUM70PR        
                    DAILYDSN GRAFDB2  GRAFLPAR TRNDDB2A                 
                 If any of those 9 members are in your USERID.SOURCLIB  
                 tailoring library, you MUST refit your changes,        
                 starting with the MXG 11.11 member that contains the   
                 required KEEPIN= parameter.                            
                 You must scan your USERID.SOURCLIB(s) for any of your  
                 own programs that invoke %VMXGSUM, and see if any of   
                 them meet both conditions (INCODE= and nonkept variable
                 referenced in that INCODE= logic).                     
                 Examine the SAS log of your test runs for UNINITIALIZED
                 VARIABLES messages; that is a sure sign that you have  
                 INCODE= variables that do not exist!                   
                 should affect only the very small number of sites that 
                 have tailored the MXG summarization or trending code.  
                 As long as you are executing those 9 MXG members       
                 unmodified from the MXG 11.11 library, there is not any
                 incompatibility with this change.                      
              -All MXG invocations of VMXGSUM were examined and INVOKEBY
               was added so the caller would print on the SAS log.      
              -Especially with a large input dataset (eg., CICSTRAN with
               594,000 observations, the keeping of only the needed     
               variables significantly saves resources.  Using:         
                           SUMBY=APPLID DATETIME,                       
                           SUM=IRESPTM TASCPUTM);                       
                 Showed these comparisons before and after this change: 
                 Run       COMPRESS   CPU    EXCP    Memory   DASD      
                           Option     SEC    count   used     tracks    
                 Before    NO         120    21843   4973K    10699     
                 After     NO          83    12920   4902K      943     
                 Before    YES        650    25330   4913K     7129     
                 After     YES        135    13255   4902K     1111     
                 The elapsed times were also significantly reduced.  The
                 37 minutes required for the "before" compressed run was
                 reduced to 11 minutes for the "after" compressed run.  
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 11.308  Support for Candle's Deltamon SMF record creates new MXG 
EXTYDLMN       dataset TYPEDLMN, which reports activity (ADD,UPDATE,    
FORMATS        DELETE, or RENAME) at the PDS member level.              
Feb  7, 1994                                                            
   Thanks to Chuck Hopf, Primerica, USA.                                
VMACDMON       added after the INPUT of the four arguments.  In prior   
Feb  7, 1994   versions of ASTEX, RCHCNT was directly input, but now it 
               must be calculated from its four arguments.              
   Thanks to Jay Stewart, Honda, USA.                                   
Change 11.306  For MVS execution, MEMSIZE=32MB is now the default value 
CONFIG         in CONFIG.  The default BUILDPDB failed "OUT OF MEMORY"  
Feb  7, 1994   with MEMSIZE=24MB, and 32MB protects for the future.     
Change 11.305  Variable CMF09UIC from Boole's CMF must be divided by the
VMACCMF        number of samples:                                       
               Variable CMF05NUM is now format HEX4.; variable CMF19TPG 
               no longer formatted HEX2.!                               
   Thanks to Joanne Turpie, Department of Labour, NEW ZEALAND.          
Change 11.304  Support for OPC/ESA Release 2.1 has added 5 new datasets 
EXOPC34        (and corrected INVALID MTD SUBTYPE messages):            
EXOPC35            OPC24_H     MTD Delete/Change CM                     
EXOPC36            OPC24_I     MTD Hold Operations                      
IMACOPC            OPC34       Catalog Management                       
VMACOPC            OPC35       Backup Event                             
Feb  6, 1994       OPC36       CP Backup Log                            
               Finding all the IBM manuals for this release was a chore;
               comments in VMACOPC identify what is documented where!   
               And I learned that you cannot order Licensed IBM Pubs if 
               you use your "IBM Customer Number", but if you give the  
               same number as your "IBM Enterprise Number", the Pubs    
               clerk discovers you are authorized for Licensed Pubs!    
   Thanks to Alan Phelan, Allied Irish Bank, IRELAND.                   
   Thanks to Wolfgang Vierling, Vereinte Versicherungen, GERMANY.       
Change 11.303  TYPE71 variable AVLEXTMN, "Minimum ESTORE Available", can
VMAC71         be negative, according to IBM, so its input was changed  
Feb  5, 1994   from &PIB.4. to &IB.4.  The actual value of the field is 
               "number of extended storage e-frames currently on the    
               available sets excluding those reserved for pref steal." 
               This means that when the value is zero, all of RSM except
               for pref steal will accept that there are "no" available.
               If the value is less than zero, pref steal will check to 
               see if there are any in reserve and will use these.      
   Thanks to Hr. Leineweber, HUELS AG, GERMANY.                         
Change 11.302  Testing of TYPEVMXA (VM/ESA) under UNIX, OS/2 or WINDOWS 
AUTOEXEC       found glitches (but this change is NOT needed if you run 
VMACVMXA       MXG under either the MVS or VM versions of SAS):         
VMAC83         -AUTOEXEC had blanks inside quotes, which is no problem  
XMACNCCF        for WINDOWS or OS/2, but UNIX did not tolerate, so they 
VMXGHSM         were removed.  Also, a new Filename statement was added:
IMACACCT        and must be suffixed .SAS, because it is written to and 
SYSLOGJ3        then %INCLUDEd (to build formats "instream").           
UTILXREF       -Some variables input as $EBCDIC were not character data 
VMACACF2        but were binary data and are now input as $CHAR.  Some  
VMACASXT        also required addition of $HEX formats, and most were in
VMACCMA         seldom-to-never-used VM data sets.                      
VMACDB2        -The building of the "instream" PROC FORMAT failed with  
VMACHMF         INVALID HEX DATA, because of $EBCDIC versus $CHAR input 
VMACPOOL        format that was corrected.                              
VMACTSOM       -Discovered that EBCDIC algorithm to identify numeric    
VMACVMON        EBCDIC characters from alphabetic characters, using     
VMACVMXA           LT '0'  ==> alphabetic     GE '0' ==> numeric        
VMACVVDS        is invalid under ASCII execution. EBCDIC algorithm works
VMAC102         because EBCDIC numbers are 'F0'x thru 'F9'x, which is   
VMAC24          larger than EBCDIC letters of '81'x thru 'C1'x (lower   
VMAC33          case) and 'C1'x thru 'E9'x (caps), but the ASCII numbers
VMAC37          are '30'x thru '39'x, which is smaller than ASCII       
VMAC4789        letters '41'x thru '5A'x (caps) and '61'x thru '7A'x    
VMAC59          (lower case).  The parsing algorithm was redesigned to  
VMAC60          scan for non-blank versus blank, and one more difference
VMAC6156        between ASCII and EBCDIC execution is documented!       
VMAC80         -Use of $VARYING200. input for printable characters was  
VMAC83          resolved.  $VARYING acts like $CHAR instead of $EBCDIC, 
Feb  4, 1994     so strings that are to be printed need conversion.  The
                WINDOWS conversion algorithm is:                        
                   INPUT variable $VARYINGnn. lenvar @;                 
                   variable=TRANSLATE(variable,' ','80'x);              
                   Note: only the INPUT function should be required, but
                   The TRANSLATE was unexpectedly needed because the    
                   $EBCDIC was found to convert '20'x ASCII blanks at   
                   the end of the string to '80'x.  SAS Institute       
                   suggested that using INPUTC(string,format,length);   
                   instead of INPUT(string,format) would have eliminated
                   the need for the TRANSLATE() function, but my code   
                   works, whereas (Jun 24, 1997 update:)                
                     when I tried INPUTC under SAS 6.12 TS020 Windows 95
                     I got these errors pointing to the $EBCDIC128. when
                     I tried to use VAR=INPUTC(VAR,$EBCDIC128.,LEN);    
                          386-185 Expecting Arithmetic Expression and   
                          200-322 The Symbol is not recognized          
                     underscored for format $EBCDIC128..  Problem       
                     will be opened with SAS: That's the way it is!     
                The $VARYING conversion required examination of each    
                occurrence to see if the field is a printable (text)    
                string, and if so, insert the above conversion code.    
                (This also required creation of DO group in some cases.)
   Thanks to Chris Powell, Vancouver Stock Exchange, CANADA.            
Change 11.301  Labels for the four new SYNCSORT variables SYNDSMVL,     
VMACSYNC       SYNFMAVL, SYNFMALO, and SYNMMUSE were added; originally  
Feb  2, 1994   they were not provided in SYNCSORT documentation.        
   Thanks to John Borland, Citibank, USA.                               
Change 11.300  An SMF Writer "Simulator" has been added to ANALSMF, to  
ANALSMF        examine your SMF data and tell you what is the optimum   
Feb  2, 1994   CI Size of your VSAM data set.  See the MVS Technical    
               Note in Newsletter TWENTY-FIVE for a complete discussion 
               of the impact of the wrong CI Size on the SMF Writer.    
               You need only to EDIT ANALSMF to set the CI Size of your 
               VSAM file (in macro _MYCISIZ), and then point the SMF DD 
               to a dumped SMF file, and the report of DASD Space and CI
               Writes at different CI Sizes will be produced.  Several  
               additional reports were added to describe how seldom the 
               SMF Writer actually writes, and the Statistics from      
               TYPE23 are also printed, along with a tabulation that    
               shows the contents (count and bytes) of where your SMF   
               data records come from.                                  
Change 11.299  The example of the ZARA LIST command to create an OUTFILE
TYPEZARA       needs to have the SSFN operand added so that "secondary" 
VMACZARA       files (i.e., second and subsequent files on a volume) are
Feb  2, 1994   created in the OUTFILE.  Without SSFN, you only see the  
               first dataset on each volume in ZARADSN.  Correct is:    
                  LIST OUTFILE ACTIVE SSFN $$                           
               In addition, variable LSTTYPE, type of tape (AUTO,ACTIVE,
               SCRATCH) was added to ZARAVOLS and ZARADSN datasets.     
               Also, variable FILTIMEL may contain trash (seems to be   
               for volumes converted to ZARA from CA-1); the "??" was   
               added to the INPUT FILTIMEL ?? &PD.4. statement.         
   Thanks to David Childress, Lowe's Companies, Inc, USA.               
   Thanks to Neil Ervin, Huntington Bank Service Company, USA.          
Change 11.298  The JCL in this example to analyze all records from a    
ANALALL        specific job was partially for SAS 6.08 and partially for
Jan 18, 1994   SAS 5.18, causing confusion for novices.  The JCL example
               now is for SAS Version 6.                                
   Thanks to Rosie Jergovic, Pacific Bell, USA.                         
Change 11.297  Variable TIC_UTIL in NETSPY is incorrectly computed.  The
Jan 18, 1994   the equations for TIC_UTIL.                              
   Thanks to Linda Liu, Transamerica, USA.                              
Change 11.296  This analysis of the size of an SMF file was enhanced to 
ANALSMF        report SMF type 23 statistics, and the categorization of 
Jan 18, 1994   SMF record IDs for JOB-IO now includes all VSAM activity.
Change 11.295  Missing value for FATNUM, UTNUM, or MRONUM cause INVALID 
TYPEMON8       DO ARGUMENT message if Change 11.270 was not installed to
Jan 17, 1994   circumvent new format of Landmark data.  While 11.270 did
               avoid these errors, the missing value protection was now 
               added, just in case!                                     
   Thanks to Hr. Dungl, CA-Inform, GERMANY.                             
Change 11.294  MXG 11.09A only.  Accounting detail report not produced  
ANALDB2R       if time selection was used and DB2ACCT was used as input.
Jan 13, 1994   Find "%MACRO PMACC02;", then find "MINTIME=QWACBSC;".    
               Insert after that line the statement "MAXTIME=QWACESC;"  
   Thanks to Jeff Marsh, Twentieth Century Services Inc, USA.           
Change 11.293  Additional refinements in the RMF reporting from MXG data
ANALRMFR       were added.  The time selection logic was corrected so a 
Jan 13, 1994   report for 10am-12am Mon-Fri can be requested, and CPUIDs
               thru 15 CPUs is now supported.                           
Change 11.292  MXG 11.09A only.  The KEEP= logic did not include &MEAN. 
VMXGSUM        The three lines starting with &MAX &MAXTIME need to have 
Jan 12, 1994   &MEAN added after &MAXTIME.  Only if you invoked VMXGSUM 
               with the _KMXGSUM operand, and had MEAN= parameter, would
               this change have had any effect. Change 11.309 revised.  
Change 11.291  Analysis of VSAM datasets were sorted by SMFTIME instead 
ANALDSET       of the STEP initiate time; logic was added to store and  
Jan 11, 1994   retain the SORTTIME of each STEP record in STEPTIME, and 
               then store STEPTIME into SORTTIME for TYPE64 observations
               so VSAM is consistent with non-VSAM sort order.          
   Thanks to Gary Matney, Twentieth Century Investors, USA.             
==Changes thru 11.290 were included in MXG 11.09A dated Jan 10, 1994====
Change 11.290  Member ASUMAPAF, a user contribution, summarizes Amdahl's
ASUMAPAF       APAF records from MDF, similar to ASUM70PR summary of    
TYPEAPAF       IBM's PR/SM records.  TYPEAPAF was cosmetically changed  
Jan  8, 1994   to use __NRLPS to control all of the LPAR variables to   
               be kept (previously, some variables were controlled by   
               __NRLPS and some were kept for all possible 15 LPARS).   
               The value of __NRLPS is set in IMACAPAF.                 
   Thanks to Brian LeBlanc, Candle Corporation, USA.                    
Change 11.289  AS/400 data sets are now fully documented in this new    
ADOCQAPM       ADOC chapter, although it has not been final-pass edited.
Jan  8, 1994                                                            
Change 11.288  This example of a prime-time cross-system DASD report    
ANALDASD       from PDB.TYPE74 may be of use in tracking DASD activity  
Jan  8, 1994   across multiple systems.                                 
   Thanks to Dan Kaberon, Hewitt Associates, USA.                       
Change 11.287  Preliminary testing under CMS of MXG 11.09 found that the
REXXTES6       REXX sample did not include VMXGINIT nor did it contain  
Jan  6, 1994   the correct FILEDEFs to concatenate USERID and SOURCLIB  
               MACLIBs.  See also the circumvention in Change 11.067 to 
               remove CICS and DB2 processing to run BUILDPDB.  This    
               text will be revised when testing under CMS is completed.
   Thanks to Jerry Maier, NBD Bank, USA.                                
Change 11.286  DB2PM-like reports have been revised to correct all      
ANALDB2R       reported errors and now exploit fields added by DB2 2.3. 
Jan  6, 1994   Many of the TRACE reports (notably AUDIT, LOCKING, SQL)  
               were heavily modified, and all reports now use ANALDBTR  
               pairing where appropriate.  Input can now be from a PDB  
               library on tape, and one new report has been added:      
                PMLOK04 - Lock Detail Trace report.                     
   Thanks to Mike Skopec, Platinum Technology, USA.                     
   Thanks to Wai Choong Mak, Development Bank of Singapore, SINGAPORE.  
   Thanks to Andy Vick, Allied Dunbar Life Assurance, ENGLAND.          
   Thanks to H. Lugert, Datav, GERMANY                                  
Change 11.285  Pairing logic for IFCIDs 114-115 was added, the T102S054 
ANALDBTR       dataset was added to the S044S045 pairing.  Also, all    
Jan  6, 1994   observations of T102S063 (SQL text) are now output (only 
               the first 200 bytes of text was previously output - this 
               change in ANALDBTR will now cause the ANALDB2R SQL trace 
               report to now print all of the SQL text).  Also, if the  
               input datasets are from a PDB library, the intermediate  
               T102Sxx datasets in the WORK file are now deleted.       
Change 11.284  Some variables needed for ANALDB2R were not kept in some 
FORMATS        T102Sxxx datasets, and compressed data in IFCID 21 and 54
VMAC102        are now decoded, using the new $MGDB2XX format.  Three   
Jan  6, 1994   labels that exceeded 40 bytes were shortened.            
Change 11.283  A minor correction: if IFCID=ALL was specified, the      
READDB2        output T102Sxxx datasets were not copied to the output   
Jan  6, 1994   PDB library, but now they are.                           
Change 11.282  New dataset PDB.DB2STATS is now created by merging the   
DIFFDB2        three DB2 statistics datasets (DB2STAT0, DB2STAT1, and   
Jan  6, 1994   DB2STAT2) for ease in statistics reports.  Eventually,   
               the new dataset will be used by ANALDB2R reports, and you
               should use DB2STATS in your own reports.  As these       
               statistic datasets are small, there is little cost for   
               the redundancy.                                          
Change 11.281  Major reduction in VMXGSUM resources (CPU,DISK) are now  
VMXGSUM        completed.  Originally planned as Change 11.245, those   
Jan  6, 1994   changes were not implemented until now, because the NODUP
               SAS option and the MXG _KMXGSUM operand were in conflict;
               NODUP dropped observations that were not duplicate, but  
               looked like dupes because of the reduced variables kept. 
               So the NODUP option on the SORTs in VMXGSUM were removed 
               (although a new option NODUP= lets you reinstate them if 
               you need them and know what you are doing!), and these   
               changes in the architecture of VMXGSUM were validated:   
               - The first data step is bypassed if there is no INCODE=,
                 no INTERVAL=, no SHIFT=, and no NORMx= arguments, and  
                 if there is only one input dataset.                    
               - The PROC SORT is bypassed if there is no SORTBY=.      
               In another enhancements, three new symbolic arguments    
               TEMP01,TEMP02,TEMP03 (which default to WORK) are used as 
               the high-level node of the work datasets, which permits  
               placing one or more of the work datasets on tape,        
               reducing the DASD requirement for VMXGSUM processing.  If
               all three TEMPxx parameters point to the same DDNAME,    
               then a PROC DATASETS is run at the end of processing to  
               clean up the temporary space, but if they are different, 
               we cannot clean up as we have no way to tell if this is a
               tape or disk data set.  VMXGSUM now uses DKRICOND=NOWARN 
               as the default (so input datasets with non-existent      
               variables do not raise a warning), but DKRICOND=WARN is  
               reset at the end of VMXGSUM execution.                   
               Yet another enhancement is the new argument TIMERNGE=.   
               If TIMERNGE= is specified, four macro variables are then 
               constructed to determine the date, time, or datetime     
               range of the TIMERNGE= argument across the entire input  
               datasets. The macro variables created are:               
                 MAXINDT - Maximum datetime value for the input data    
                 MAXSLDT - Maximum datetime value for the output data   
                 MININDT - Maximum datetime value for the input data    
                 MINSLDT - Maximum datetime value for the output data   
               (You must supply the appropriate FORMAT if you print the 
               value of these four new variables.)                      
               Note: The VMXGSUM architecture was further enhanced in   
               Change 11.309.  This text was edited after that change.  
Change 11.280  TYPE39_8 (Netview Session Awareness) LSAWxxxx variables  
VMAC39         are wrong because the INPUT statement was off by 4 bytes.
Jan  6, 1994   Also, variables LSAWPSPU and LSAWPSPM were not input.    
               Change the LSAW section logic to read:                   
                   INPUT @OFFSAW REVISION &PIB.2.                       
                                 LSAWASBC &PIB.4.                       
        -  -  -  -  -  -  -  -  -  -  -  -  -  - 17 lines not displayed 
                                 LSAWRDQM &PIB.4.                       
                   IF SKIP GE 8 THEN DO;                                
                     INPUT   LSAWPSPU &PIB.4.                           
                             LSAWPSPM &PIB.4.                           
                   IF SKIP GT 0 THEN INPUT +SKIP @;                     
                 END; /* SAW SECTION */                                 
              and add LSAWPSPM and LSAWPSPU to the KEEP= list for       
   Thanks to Hr. Schulte, GRZ, GERMANY.                                 
Change 11.279  MXG 11.07 thru MXG 11.09 did not process TPX Version 3.0 
VMACTPX        records (but prior MXG versions did), because the LEGENT 
Jan  6, 1994   change in format of TPXVER did not document the 3.0 value
               to be expected.  The conversion code now reads:          
                  IF TPXVER EQ '100 ' THEN TPXVER=' 1.0';               
                  ELSE IF TPXVER EQ '200 ' THEN TPXVER=' 2.0';          
                  ELSE IF TPXVER=:'3.0' THEN TPXVER=' 2.0';             
                  ELSE IF TPXVER=:'3.5' THEN TPXVER=' 3.5';             
                  ELSE IF TPXVER=:'1.0' THEN TPXVER='10.0';             
   Thanks to Jan Decuypere, Gemeentekrediet N.V., BELGIUM               
Change 11.278  Landmark CICS variable TIESDATE (start date) can be null 
TYPEMON8       if PTF U200952 is not installed.  MXG uses TIESDATE to   
Jan  5, 1994   validate that DUMP CONVERT was specified when you dumped 
Feb 16, 1994   the Landmark data (see their examples TMON9DBU/TMON9FSU),
               and MXG generates the "ERROR3.LANDMARK.MONITOR" error    
               message "INVALID FORMAT FOR TIESDATE" when TIESDATE is   
               null.  Install the PTF.  However, if you encounter that  
               error message, and know that your data was converted,    
               you can suppress the ABEND by commenting out the "ABORT  
               ABEND 1099" statement in member TYPEMON8, until the PTF  
               is installed.  This change text was revised Feb 16, 1994.
   Thanks to Mark Holland, State Energy Commission, AUSTRALIA           
Change 11.277  If ASUMDB2A is executed separately from BUILDPDB, there  
ASUMDB2A       will be errors because %INCLUDE SOURCLIB(IMACDB2); did   
Jan  5, 1994   not exist in member ASUMDB2A, but now it does.           
   Thanks to Steve Bryant, Belk Stores Services, USA.                   
Change 11.276  Support for ZARA Release 1.1 added 36 bytes to the sort  
VMACZARA       key and header area.  You will have zero observations in 
Dec 15, 1993   the ZARAVOL and ZARADSN datasets until you change all of 
               the @xxx values that are now greater than 100 by adding  
               36 to the present value.  Thus the @172 VRCDTYP became   
               @208 VRCDTYP, the @183 VOLCHAIN became @219 VOLCHAIN,    
               and so forth.                                            
   Thanks to David Childress, Lowe's Companies, USA.                    
Change 11.275  IBM APAR OY67002 reports that if the number of LCPUs is  
VMAC7072       changed in an LPAR, the data for that RMF interval       
Dec 15, 1993   contains the accumulated values from IPL, and there are  
               no PR/SM segments in the type 70 for the interval.       
               This corrupts TYPE7072 variables LCPUEDTM,LCPUPDTM,      
               PCTCPBYx,PCTTIPx, corrupts TYPE70 variables CPUEDTMx,    
               CPUPDTMx,PCTCPBYx, and PCTTPIx, and corrupts essentially 
               all ASUM70PR variables for that interval.  MXG detects   
               that the number of LCPUs changed, and sets LPARCHRN='Y'  
               in TYPE70PR (the Label for LPARCHNR now reads NUMBER OF  
               LCPUS*IN PARTITION*CHANGED?), but you MUST install the   
               PTF associated with the APAR if you change the number of 
               LCPUs in an LPAR while the system is up.                 
   Thanks to Gary Hoover, American Express IPS, USA.                    
   Thanks to Roger Zimmerman, Kemper Services Company, USA.             
Change 11.274  Three new variables were added to the SAS User SMF record
VMACSASU       in SAS 6.07/6.08. Variables SASVAFF (Vector Affinity CPU)
Dec 15, 1993   SASVUSE (Vector Usage CPU), and SASHSP (Hiperspace CPU)  
               are now input and formatted TIME12.2.                    
   Thanks to Bruce Lietz, Cessna Aircraft Company, USA.                 
Change 11.273  Some TRND71 variables were not calculated.  In the NORM2=
TRND71         list, the first occurrence of SLOTNVAV should be SLOTNGAV
Dec 15, 1993   and variables ASMNVSC ASMSLOTS ASMSLOTX and ASMVSC were  
               added to the NORM2= list.                                
   Thanks to Carl Tosetto, E-Systems Garland Division, USA.             
Change 11.272  TYPE64 records with SITUATN='COMPONENT CLOSED' are the   
ADOC64         only valid records to use for counting EXCPS, etc.  The  
ANALDSET       type 64 records with NO SPACE AVAIL or VOL SWITCHED do   
Dec 15, 1993   not contain the "delta" EXCP count, but instead have the 
               accumulated EXCP count from open to the time of that     
               event.  As a result of this discovery, member ANALDSET   
               now keeps only TYPE64 observations for Component Closed. 
   Thanks to Scott Ashby, Wachovia Operational Services Corp, USA.      
Change 11.271  Statement  DEVASID  DS    XL2 has an asterisk in column  
ASMTAPES       72 which causes the Assembly to fail.  This member is    
Dec 15, 1993   still in internal testing.  See Change 11.360.           
Change 11.270  Support for Landmark CICS/ESA Version 1.1 records.  That 
TYPEMON8       new version added 44 fields to the end of the MONISYST   
Dec 14, 1993   interval record, causing "INVALID DO LOOP CONTROL" error.
               This error can be circumvented by inserting "HITI=1;"    
               just before the "DO _I_=1 TO HITI;" statement, but you   
               will then get "INVALID DATA FOR TASKCPTM" and hex dumps  
               twice, because Landmark's field TIAPLCPU (MXG variable   
               TASKCPTM) is invalid until you install Landmark ZAP for  
               Problem Number U201102.  (You can still process without  
               their ZAP as all other variables in MONISYST are valid,  
               and only the MONISYST data set was affected by the new   
               version!).  In the actual change, the DO group to read   
               the history segment was removed, as that segment has not 
               existed for some time, and MONIHIST always has zero      
               observations.  However, I did not delete the MONIHIST    
               dataset nor its _L,_K macro names, since that might have 
               caused a syntax error if you reference MONIHIST in your  
               report programs.  Take heed, though, and remove MONIHIST 
               references so that I can deleted it in a later version.  
               Setting HITI=1 has the same effect as skipping the       
               history record; the TI record is now 1464 bytes long.    
   Thanks to Mark Holland, State Energy Commission of Western Australia.
Change 11.269  Dataset PDB.JOBS variables ACCOUNTn may be blank, and    
BUILDPDB       variables RESTARTS, JINLTIME, and NRTRANS can be missing 
BUILDPD3       for jobs with MULTIDD='Y' (that is, multiple type 30s due
BUILD005       to many DD segments, typical only for long running jobs  
Dec 13, 1993   like SAR, RMDS, CA-DISPATCH, etc., that have lots of     
               dynamic DDs).  The MULTIDD='Y' observations must be      
               deleted during the second occurrence of the creation of  
               GOOD30_5 dataset.  Find this block of code:              
                 ELSE IF IN30_5 THEN DO:                                
                   IF MULTIDD5=' ' THEN RESTART+1;                      
                   OUTPUT GOOD30_5;                                     
               And change it to read:                                   
                 ELSE IF IN30_5 THEN DO:                                
                   IF MULTIDD5='Y' THEN DELETE;                         
                   OUTPUT GOOD30_5;                                     
               The actual change also cleaned up references to MULTIDD  
               and TEMP3 which are no longer needed, but which are now  
               superfluous and safe to leave until you get a tape!      
   Thanks to Mark van der Eynden, Ferntree Computer Services, AUSTRALIA.
Change 11.268  CICS DL/I counts with CICS/ESA Version 3.3 Omegamon 110  
IMACICDL       records may be wrong.  First, the test in IMACICDL needs 
IMACICDA       to be changed to IF SMFPSRVR GE 3 instead of EQ 3.       
VMAC110        Second, if you have not added a "USERCHAR" optional data 
Dec 14, 1993   field in your type 110 record, you must comment out the  
               statement "%INCLUDE SOURCLIB(IMACICDU);" in member       
               IMACICDA (because if that statement is present, MXG      
               always read at least one byte, causing wrong alignment). 
                  Commenting out that %INCLUDE will generate an         
                  "UNINITIALIZED VARIABLE USERCHAR" message, which is   
                  not a problem, but in member VMAC110, I have added    
                  "IF USERCHAR=" " THEN USERCHAR=" "; after both of the 
                  %%INCLUDE SOURCLIB(IMACICDA); statements to correct.  
               The notes in IMACICDA and IMACICDL were updated to list  
               the CMODHEAD field names of the DL/I counters to make it 
               easier for you to know what sections you do or do not    
               have in your SMF type 110 record from Omegamon, using MXG
               program UTILCICS to examine your dictionary.             
               This text was revised Dec 14, 1993, after MXG 11.09.     
   Thanks to Khin Zaw, Nordstrom, USA.                                  
Change 11.267  APAF V2.1 dataset APAFCHAN is trashed, because the offset
VMACAPAF       had a spelling error.  Inside the SUBTYPE=5 DO group, the
Dec 13, 1993   statement LOC=OFFLP-3+OFFSMF should have been written as 
   Thanks to George Scott, Rockwell International Corporation, USA.     
==Changes thru 11.266 were included in MXG 11.09 dated Dec 17, 1993=====
Change 11.266  Dataset TYPE1415 variable TEMP='TEMP' was incorrectly set
VMAC1415       if DISP1='.......1'B, so that part of the test to set    
Dec 12, 1993   TEMP has been removed.                                   
   Thanks to Bruce Hudson, Payless Shoe Source, USA.                    
Change 11.265  Boole and Babbage CMF Type 72 Subtype 2 record is invalid
VMAC7072       and causes INPUT STATEMENT EXCEEDED error.  There is only
Dec 10, 1993   one SWAP section, instead of one SWAP section for each   
               Performance Group, and other fields in TYPE72MN dataset  
               may be trashed.  Boole anticipates a fix in their 9402   
               maintenance release.  MXG changed IF OFFSWP GT 0 THEN DO;
               to IF OFFSWP GT 0 AND OFFSWP+60 LE LENGTH+1 THEN DO;  to 
               prevent the STOPOVER condition.                          
   Thanks to Gavin Ring, Alcatel Australia, Australia                   
Change 11.264  Variable PGPERBLK in RMFINTRV was incorrectly normalized.
RMFINTRV       The two lines in which PGPERBLK was multiplied/divided by
Dec  8, 1993   DURATM were deleted, and the division by BLKSAUIN was    
               protected for zero divide.                               
   Thanks to Dan Squillace, SAS Institute Cary, USA.                    
Change 11.263  Members CHANGE01,CHANGE02... are redundant with CHANGESS,
CHANGESS       which contains all changes ever made to MXG in one place,
Dec  4, 1993   so the individual CHANGEnn members now only point to the 
               member CHANGESS, reducing the size of the MXG library.   
               Searching for all MXG enhancements now involves looking  
               only two members: CHANGESS or NEWSLTRS.  Member CHANGES  
               will continue to exist, repeated in CHANGESS.            
Change 11.262  Support for Softworks' Performance Solution SMF records. 
ADOCPRFS       Three new datasets are created:                          
EXPRFSHL         Dataset   SMF Subtype     Description                  
EXPRFSVI         PRFSVIO      00           I/O Plus for VSAM Close      
EXPRFSXI         PRFSXIO      01           I/O Plus for XSAM Close      
IMACPRFS         PRFSHLP      02           HiperLoad Plus for VSAM      
TYPEPRFS       These data records describe the before and after buffers,
VMACPRFS       etc., to track the effectiveness of this product.        
Dec  2, 1993                                                            
   Thanks to Yao-chun Rickert, First Chicago, USA.                      
Change 11.261  VM/ESA dataset VXSYTCUP (PR/SM and MLPF LPAR measurement)
VMACVMXA       did not keep LCUCLPTM (LPAR Management time), so it was  
Dec  1, 1993   added to the KEEP= list in macro _VSYTCUP, and is DIF'ed 
               in macro _DSYTCUP.  Also, for inactive LPARs, MXG output 
               an observation, but variables LCUCPUID LCUCWGHT LCUCFLGS 
               and could contain values from a prior LPAR; now they are 
               initialized. Similarly, VXSYTCUM logic for inactive LPARs
               now initialized the un-read variables.                   
   Thanks to Angie Olver, PERSETEL, South Africa.                       
Change 11.260  SAS Usage note 6886 identifies a SAS error when blank    
ANALRACF       characters appear between non-blank characters in an ID  
Dec  1, 1993   value with PROC TRANSPOSE.  In 6.06 the variables were   
               incorrectly left as blanks instead of being replaced by  
               underscores (as they were in 5.18, and are now in 6.07   
               and 6.08), and MXG code was actually modified between    
               5.18 and 6.06 to compensate.  Now, however, UNINITIALIZED
               variable messages result, so MXG has been re-modified to 
               correct.  Variables _5_DATA, _6_RACF, _7_DATA,_8_NAME,   
               and _52_DSN are now spelled with an ending underscore:   
               _5_DATA_,_6_RACF_,_7_DATA_,_8_NAME_, and _52_DATA_.      
   Thanks to David Vaughan, Shropshire County Council, ENGLAND.         
Change 11.259  A collection of data value errors have cropped up in the 
VMXGHSM        processing of the HSM BCDS and MCDS datasets:            
Dec  3, 1993  -"Error 180" results because a semicolon is in the wrong  
               place.  The semicolon after RECTYPE='REC TYPE ...' must  
               be removed, and instead a semicolon must be added to the 
               following line, after the label for TYPE='MCKTYPE ...'.  
              -"Invalid data for INPUT" results because "INPUT" should  
               removed from the line now reading "INPUT @65 BCRFLAGS..."
              -Invalid argument for DATEJUL occurs if MCDEXPDT=99366,   
               95366,98000,99999,9999999 (which are invalid dates).  The
               calculation for MCDEXPDT was changed to set these invalid
               data values to '31DEC2099'D (i.e., far into the future): 
                IF      MCDEXPDT=99366 OR MCDEXPDT=95366 OR ...         
                   THEN MCDEXPDT='31DEC2099'D;                          
                ELSE                        MCDEXPDT=.;                 
              -MHCRBGNT,MHCRENDT,and MHCRNXTT are now input &PIB.4.2 and
               not &PK.4, the three PK1 fields after each time were     
               deleted, the +1 before the three dates was removed, and  
               the three HMS() calculations were deleted.               
              -DATEJUL(MHCRENDD) was changed to DATEJUL(MHCRNXTD).      
              -Two lines calculating DSRDATE were moved to before the   
               line DO I=1 to 11;                                       
              -Change DO C=1 TO MCPDGNCT; to read                       
               IF MCPDGNCT GT 0 THEN DO C=1 TO MCPDGNCT;                
              -Change input of BCRTCAB from &PK.4. to BCRTCABC $CHAR4., 
               delete input of BCRTCABH,BCRTCABM,BCRTCABH and following 
               +1, replace the BCRTCAB=HMS() line with                  
               remove BCRTCAB from TIME8. format and instead format it  
               BCRTCAB DATETIME21.2.                                    
               Note: Dec 18, after 11.09 built: used similar logic for  
               BCRTBLA and BCRTLAB datetime variables.                  
              -Change input of DCRCLEN from &PIB.4. to &PIB.2.          
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
Change 11.258  Variables ACTDLYTM,DSPDLYTM,RESDLYTM were added by Change
IMACPDB        10.031 to TYPE30_4, but were not carried into PDB.STEPS  
Nov 30, 1993   nor PDB.JOBS.  They have now been added to the _PDB30_4  
               and _SUMSTP macros defined in IMACPDB, so they will now  
               exist in PDB.STEPS and PDB.JOBS.                         
   Thanks to Bob Eastlake, Alternative Marketing Systems, USA.          
   Thanks to Tom Elbert, John Alden Life Insurance, USA.                
Change 11.257  ASMVTOC may produce no output under MVS/ESA 3.1.3, 4.1.0,
ASMVTOC        or possibly even 4.2.0.  APAR OY39355 points out that DFP
Nov 22, 1993   3.3 (which introduced the new UCBSCAN COPY service) does 
               not run with earlier levels of MVS/ESA.  If you have this
               problem (no error, but no output from ASMVTOC), you can  
               simply comment out (by adding an asterisk in column one) 
               these two lines in ASMVTOC:                              
                 TM    FLAG,MVSESA42       MVS/ESA V4.2 OR BEYOND?      
                 BO    MVS42AAB            YES, GO USE UCBSCAN SERVICE  
               ASMVTOC has also failed with 213-04 when it encounters a 
               TPF volume.  That problem is still under investigation.  
   Thanks to Ron Willingham, Fina Oil, USA.                             
Change 11.256  RMF Reports from PDB data are further corrected and      
ANALRMFR       enhanced.  CPU percentages could be wrong, and type 74   
Nov 21, 1993   reports were corrected.                                  
Change 11.255  Support for DB2 Release 3.1.0 incompatibly altered SMF   
               type 100, 101, and 102 SMF records.                      
                  == added 11Jan95=======                               
                  == Messages on the log "ID=100 SUBTYPE=2 QWHSIID=202" 
                  == tell you that you are reading DB2 3.1 SMF records  
                  == with an old Version of MXG (MXG 11.09 or later is  
                  == required).                                         
ADOCDB2        100, 101, and 102 SMF records.  New Datasets created are:
DIFFDB2          Dataset   SMF Record      Description                  
EXDB2ACP         DB2ACCTP   101 Subtype 1  Package/DBRM executions      
EXDB2ST2         DB2STAT2   100 Subtype 2  Hiperpool interval statistics
IMACDB2        Many new variables were also added to existing datasets. 
VMACDB2        New variables are listed in member DOCVER11, and ADOCDB2 
VMAC102        was updated with which DSECT is in which record and which
Sep  6, 1993   MXG dataset is created from which records.  Details:     
Nov 30, 1993    Dataset DB2ACCT:                                        
                 Now contains 312 variables (was 215).  New variables in
                 existing sections QWAC,QXST,QBAC,QTXA,and QLAC, and    
                 new section QIFA.  Variables QBACBPX and QBACSWU are   
                 now reserved.                                          
                Dataset DB2ACCTP:                                       
                 New dataset for Package/DBRM executions is built from  
                 QPAC section(s) added to type 101 subtype 0 record (up 
                 to ten sections will create ten observations), or from 
                 new type 101 subtype 1 record (up to 10 per record, for
                 overflow if sections do not fit in existing subtype 0).
                Dataset DB2STAT0:                                       
                 Now contains 319 variables (was 277).  New variables in
                 existing sections Q9ST,QWSD,QLST,QJST and QDST.        
                 Variable QJSTWTL is now reserved.                      
                Dataset DB2STAT1:                                       
                 Now contains 447 variables (was 297).  New variables in
                 existing sections QXST,QTST,QBST,QIST, and QTXA.       
                 Variables QTCURPB,QTOPNOK,QTOPNNO,QTTTBRN,QTEXDRN,     
                 QTSTDRN,QTPUBDD,QBSTBPX,QBSTSWU,and QBSTPUW are now    
                Dataset DB2STAT2:                                       
                 New dataset from new type 100 subtype 2 record.        
               Dataset T102S148:                                        
                 New variables: QBnCDPF,QBnCHPG,QBnCHRE,QBnCHRF,QBnCHWF,
                                QBnCHWR,QBnCNGT,QBnCSIO  n=1,2,3,4      
                 Dropped vars:  QBnCBPX,QBnCSWU  n=1,2,3,4              
Change 11.254  Support for AS/400 Version 2.3 Performance Data adds four
EXQAPDDI       new datasets:                                            
EXQAPFRL         Dataset           Description                          
EXQAPSTD         QAPMDDI           Distributed Data Interface (DDI) data
EXQAPSTY         QAPMFRLY          Frame Relay Data                     
IMACQAPM         QAPMSTND          DDI Station Counter Data             
VMACQAPM         QAPMSTNY          Frame Relay Station                  
Nov 20, 1993   Changes were compatibly made, so prior versions of MXG   
               will not fail with the version's data records.           
Change 11.253  Support for Memorex Telex LMS Version 2.17 SMF record now
EXLMSCUP       creates these two new datasets:                          
EXLMSDAL         Dataset  Subtype  Description                          
IMACLMS          LMSCUP     06     Cart Update (inhibit SCR indicator)  
VMACLMS          LMSDALC    29     Device Allocation                    
Nov 20, 1993   Also, VMACLMS was restructured for consistent colimation.
   Thanks to Dan Kaberon, Hewitt Associates, USA                        
Change 11.252  Support for Mobius INFOPAC-RDS user SMF record is added  
ADOCIPAC       by this comprehensive user contribution.  Datasets are   
ANALIPAC       documented in ADOCIPAC, and sample analysis reports are  
EXIPAC01       in ANALIPAC!  Five new datasets are created:             
EXIPAC02         Dataset  Subtype  Description                          
EXIPAC03         IPAC01     01     Batch Printing Usage Statistics      
EXIPAC04         IPAC02     02     Online Printing Usage Statistics     
EXIPAC05         IPAC03     03     Online Viewing Usage Statistics      
IMACIPAC         IPAC04     04     Archive Recall Usage Statistics      
TYPEIPAC         IPAC05     05     Archive I/O Subsystem Tuning & Perf  
VMACIPAC       And the analysis example, ANALIPAC, is comprehensive: it 
Nov 19, 1993   combines the VERSIONS and DISTRIBUTION databases from    
               the INFOPAC-RDS product, with MXG's PDB.HSMFSRST (from   
               HSM), and PDB.PRINT (from JES2 printing), Vanguard's     
               RACF database, with three of the five SMF subtypes.      
   Thanks to Jeff Burnett, Anixter, USA.                                
Change 11.251  The ASM program to break down MVS/ESA 4.3 RMF Monitor III
ASMRMFV        segments into actual records was missing code (lost in   
Nov 19, 1993   fax transmission and transcription!).  The code has been 
               corrected, and renamed to ASMRMF3 instead of ASMMON3.    
               This is preliminary for MXG support of the compressed ESA
               4.3 data - the SAS code to process the output of the ASM 
               utility is still in development.   See Change 11.238.    
               The ASMRMF3 member was replaced by ASMRMFV.              
Change 11.250  Xerox SFS records from 9700 INVALID ARGUMENT TO INPUT    
VMACSFS        FUNCTION occurs if CUSTJNR contains hex nulls instead of 
Nov 18, 1993   blanks.  Insert this line:                               
               immediately preceding the existing line:                 
   Thanks to Doug Medland, Confederation Life Insurance, CANADA.        
Change 11.249  Support for Integris' UniKix product, used to downsize   
EXTYUNIA       CICS VSAM and DB2 applications to the Unix environment.  
EXTYUNIK       The product creates a binary file of performance records 
IMACUNIA       and provides a conversion program to create a portable   
IMACUNIK       ASCII file.  MXG can process either the binary or ASCII  
TYPEUNIA       file under UNIX, Windows, or OS/2 SAS, or the ASCII data 
TYPEUNIK       can be uploaded for processing under MVS SAS.  This is   
VMACUNIA       the beta release of the UniKix measurements, and Integris
VMACUNIK       will restructure the data records in their next release  
Nov 17, 1993   (at my suggestion) so they will be true variable-length, 
               self-defining records so that future enhancements can be 
               made to the data records compatibly, so the MXG support  
               will be revised when those changes are available.        
               The current implementation members ....UNIA are for the  
               ASCII file (infile name UNIKIXAS), and members ....UNIK  
               are for the Binary file (infile name UNIKIXBI).          
Change 11.248  Support for BatchPipes/MVS type 91 SMF record creates 11 
EXTY9101       new datasets:                                            
EXTY9102         Dataset     Subtype    Description                     
EXTY9103         TYPE9101    01         Subsystem Initialization        
EXTY9104         TYPE9102    02         Subsystem Interval              
EXTY9111         TYPE9103    03         Subsystem Termination           
EXTY9112         TYPE9104    04         Subsystem Parms Changed         
EXTY9113         TYPE9111    11         Pipe Connection Open            
EXTY9114         TYPE9112    12         Pipe Connection Interval        
EXTY9115         TYPE9113    13         Pipe Connection Close           
EXTY91IC         TYPE9114    14         Pipe Create                     
EXTY91OC         TYPE9115    15         Pipe Delete                     
IMAC91           TYPE91IC    11-13,15   Input Connection Details        
TYPE91           TYPE91OC    11-13,15   Output Connection Details       
VMAC91         Subtypes 1 and 3 are Pipes Subsystem event records.      
Nov 17, 1993   Subtypes 2 and 4 are interval or termination records with
               statistics on each Pipes Subsystem (pipes/connections    
               created/deleted/active, input/output bytes, etc.).       
               Subtype 11-15 are Pipe Connection records, which identify
               the pipename being accessed, and (for subtype 12 and 15) 
               contain pipe activity counts.  In addition, subtypes 11, 
               12, 13, and 15 can contain one or more Connection Detail 
               sections (either Input or Output connection), so MXG     
               creates one observation in TYPE91IC or TYPE91OC for each 
               Connection Detail segment (which contains JOB,READTIME,  
               DDNAME, six timestamps, reads/writes, bytes in/out, etc.)
               for each user of a pipe. This structure lets you analyze 
               overall pipe statistics with the subtype datasets, or the
               pipe statistics by user with the IC/OC detail datasets.  
               MVS Pipes looks to be a very powerful new MVS facility!  
Change 11.247  Support for Novell Network Navigator user SMF record now 
EXTYNNAV       creates one dataset:                                     
IMACNNAV         Dataset     Description                                
TYPENNAV         TYPENNAV    Network Navigator Session Resources        
VMACNNAV       with session logon and logoff datetimes, JESNR, bytes    
Nov 16, 1993   sent/received, and TGETS/TPUTS for the session.          
   Thanks to Elena Beryozkin, United Parcel Service, USA.               
Change 11.246  Support for NetView Performance Monitor NPM Version 2.1.0
EX028NWC       added major enhancements, especially in the area of VTAM 
EX028NWD       monitoring, with CPU and storage used by VTAM.  Thirteen 
EX028RMA       new datasets are created:                                
EX028RMD         Dataset     Subtype    Description                     
EX028VAP         NPMRMSTR    BA         RTM ACTIVATE                    
EX028VAD         NPMRMSTP    BB         RTM DEACTIVATE                  
EX028VBF         NPMVTSTR    D0,D1,D2   VTAM START/STOP/MD              
EX028VEN         NPMVTEXC    D3,D4      VTAM EXCEPTION                  
EX028VDV         NPMVSVEN    D5         VTAM ENVIRONMENTAL              
EX028VGB         NPMVSVGB    D6         VTAM GLOBAL                     
EX028VTE         NPMVSVBF    D7         VTAM BUFFER POOL                
EX028VTS         NPMVSVDV    D8         VTAM DEVICE DATA                
EX028VVR         NPMVSVVR    D9         VTAM VIRTUAL ROUTE              
FORMATS          NPMVSVAP    DA         VTAM APPLICATION                
IMAC28           NPMVSVAD    DB         VTAM ASID DATA                  
VMAC28           NPMNWCWC    FC         WRKSTN-NPM CONNECT              
Nov 13, 1993     NPMNWDWD    FD         WRKSTN-NPM DISCON               
Change 11.245  The original change described in this text in MXG 11.07  
VMXGSUM        thru MXG 11.09 were never actually implemented.  The text
Nov 12, 1993   of the change was written, but the VMXGSUM member was not
               moved into the MXG library, because the KEEPIN= logic did
               not produce identical output datasets, and it had to be  
               backed out of the changes.  See Change 11.281 & 11.309.  
Change 11.244  A new utility, UCICSCNT counts how many SMF type 110 CICS
UCICSCNT       records come from each CICS Region, by CICS version, and 
Nov 10, 1993   by record subtype, so you can prove to your CICS guru    
               which APPLIDs have monitoring and/or statistics records. 
   Thanks to Richard S. Ralston, Whirlpool Corporation, USA.            
Change 11.243  Support for NETWISE's RPC EXEC product type 33 SMF record
VMAC33         adds these "accounting" fields to dataset TYPE33_1:      
               NETWRPCN,NETWRPCT and NETWSAPN.  MXG now creates one obs 
               in TYPE33_1 for each TPUSE section; previously only the  
               first TPUSE section's data was output. With NETWISE's    
               data, there are two sections in each record, one for the 
               inbound and one for the outbound connections, so there   
               two observations for each NETWISE SMF record.            
   Thanks to Linda Marzik, EDS Performance and Evaluation Group, USA.   
Change 11.242  DB2 variable NETSNAME still can have blanks, after Change
VMACDB2H       11.050, preventing DB2ACCT matching with CICSTRAN.  This 
Nov  8, 1993   happens if the last half of NETSNAME contains blanks; the
               correction is to translate all blanks in DB2 NETSNAME to 
               nulls.  After the NETSNAME algorithm, and just before    
               "/* CREATE UOWTIME FROM QWHCTOKN */", insert the line:   
   Thanks to Edward McCarthy, Health Insurance Commission, AUSTRALIA.   
Change 11.241  TRNDRMFI will fail with VARIABLE PLATCPUS NOT FOUND when 
TRNDRMFI       ASUM70PR is not executed.  Add in the INCODE= section:   
Nov  8, 1993    IF PLATCPUS=. THEN PLATCPUS=.;   just like PARTNCPU.    
               There is no requirement to run ASUM70PR before TRNDRMFI, 
               but without it, PLATCPUS did not exist, until the change.
   Thanks to Tom Elbert, John Alden Life Insurance, USA.                
Change 11.240  Variables READY12 READY13 READY14 READY15 were left out  
TRND70         of the NORM2= list in this trending member, causing their
Nov  8, 1993   summary values to be erroneously large.                  
   Thanks to Tom Elbert, John Alden Life Insurance, USA.                
Change 11.239  MXG Early PreRelease 11.08 only. IF ID=80 SOURCE='RACF'; 
ANALSMF        should have been IF ID=80 THEN SOURCE='RACF';            
Nov  8, 1993                                                            
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
==Changes thru 11.238 were included  MXG Early PreRelease 11.08 01Nov93=
Change 11.238  This new Assembler program reads the RMF Monitor III VSAM
ASMRMFV        files from MVS/ESA 4.3 (which are compressed, and are not
Oct 30, 1993   standard records).  It was typed from a fax, and has not 
               been tested, but I wanted to make it available for tests 
               because there are reported problems in the ZRB processing
               that are still unresolved.  See Change 11.251.           
               Was ASMMON3 until change 11.251.                         
   Thanks to Don Friesen, B.C. Systems, CANADA.                         
Change 11.237  ANALDB2R could not use a PDB on tape for reports, because
ANALDB2R       multiple datasets were opened simultaneously, but with a 
Oct 30, 1993   new TREND= parameter, either the Accounting or Statistics
               reports can be run from your PDB= on tape.  Only if you  
               want to include your TREND data base and your PDB data   
               bases together for a report will you need to point TREND=
               to the DDname for your TRNDDB2A, TRNDDB20, and TRNDDB21  
Change 11.236  Internal logic was improved for performance. If the first
VMXGSUM        data step or the SORT is not needed, they are bypassed.  
Oct 30, 1993   This can reduce CPU and DASD requirements significantly. 
               If no INCODE=, no INTERVAL=, no SHIFT=, and no NORMX= are
               used and there is only one input dataset, the first data 
               step is bypassed.  If there is no SUMBY=, then no SORT.  
               Unfortunately, most of the ASUMxxxx and TRNDxxxx members 
               that invoke VMXGSUM do not meet the criteria and see no  
               benefit, but ANALDB2R gets some help, and it is the      
               righteous thing to do anyhow.  See Change 11.309.        
Change 11.235  Trending of VM/XA and VM/ESA MONWRITE dataset VMXAINTV   
TRNDVMXA       had logic errors, that causes several variables to be    
Oct 30, 1993   incorrect.                                               
   Thanks to Sean Chaffee, Amadeus Data Processing GmbH & Co., GERMANY. 
Change 11.234  Support for SMF type 42 subtype 14 (IBM ADSM Distributed 
VMAC42         Storage Management Product) provides good statistics in  
Oct 30, 1993   the new TYPE42AD dataset, with counts of byte traffic    
               and objects, for backup and archived files moved between 
               client and server, as well as CPU time plus waiting time 
               for Communications or Media, and session idle time.      
               The only identifiers, however, are the client name and   
               the client owner name.  Unrelatedly, but because VMAC42  
               was "open", DFSMS Data Set, Storage Class, and Total     
               datasets were enhanced with read and write hit percents. 
   Thanks to Peggy Schulte, Cincinatti Gas and Electric Company, USA.   
Change 11.233  SAS option SORTDEV=3380 was removed from MXG's CONFIG    
CONFIG         members - it is not needed, and caused errors at sites   
Oct 30, 1993   that have no 3380s.                                      
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 11.232  Variable AVGMTPTM was retained across device records that
VMAC74         had no Mount Pending.  After its calculation, insert     
Oct 30, 1993    ELSE AVGMTPTM=.;                                        
Change 11.231  Additional enhancements and corrections to RMF reports.  
ANALRMFR        MXGCPU  - Added OMVSMAX,OMVSAVG statistics.             
Oct 30, 1993    MXGPAGE - Added OMVS00-OMVS11 statistics                
                MXGDEVC - DEVMTPTM to DEVACTTM, changed summary BY LCU  
                          for calculation of AVGMTPTM.                  
                MXGSMRY - BY SYSTEM DATE TIME changed to BY SYSTEM DATE.
                          Final page per system for overall total/avgs. 
                          Corrected CPU busy percentages (only wrong if 
                          you requested 24 hour report spanning 2 days).
                MXGWKLD   Added OMVS swap counts.                       
                MXGENQU   Circumvented "MISSING VALUE" note.            
   Thanks to Bill Stoneberg, National-Oilwell, USA                      
Change 11.230  MXG 11.06 or later.  Landmark CICS causes "INVALID       
Dec  1, 1993   FORMAT FOR TIESDATE" because MO and DD were reversed in  
               the MDY() function.  Change the MDY() function to read:  
               See also change 11.278.                                  
   Thanks to Tom Clark, SEI Corporation, USA.                           
   Thanks to Mark Robbins, W.H. Smith Limited, ENGLAND.                 
Change 11.229  Change 11.199 still did not calculate GMTOFF correctly.  
VMAC30         Instead of the two IFs and kludgy FLOOR/CEIL logic, the  
VMAC7072       correction is to use a single statement with +10 added:  
Oct 30, 1993    GMTOFF70=100*FLOOR((STARTIME+DURATM-SYNCTIME+10)/100);  
Change 11.228  Open Edition/MVS (OMVS) dataset TYPE30OM was added to the
BUILDPDB       PDB library.  At present, it is simply sorted into the   
BUILD005       PDB, but this logic may change with more experience with 
Oct 30, 1993   the new data for "Unix under MVS".                       
Change 11.227  These new (calculated) variables were added to TYPE71,   
TRND70         TRND71, and TRNDRMFI, as they have been found useful in  
TRND71         MVS/ESA 4.3 analysis of paging and memory.               
TRNDRMFI          BLKPAGE ='BLOCKED*PAGES*PAGED IN'                     
VMAC71            NBLKPAGE='NON-BLOCKED*PAGES*PAGED IN'                 
VMAC7072          COMPAGE ='TOTAL*COMMON*PAGING RATE'                   
                  HIPEPAGE='TOTAL*HIPERSPACE*PAGING RATE'               
                  SWAPAUX ='SWAP RATE*TO*AUXSTORE'                      
                  CSTORE  ='CENTRAL*STORAGE*ONLINE'                     
                  ESTORE  ='EXPANDED*STORAGE*ONLINE'                    
               Variable PCTRDYWT was added in TRND70, and TRNDRMFI was  
               updated to include the ESA variables that had been added 
               in RMFINTRV but had been overlooked in TRNDRMFI.         
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 11.226  JES2 NJE Purge Records for Job Transmission should have  
BUILDPDB       been OUTPUT to PDB.NJEPURGE, but were not; in rare cases,
BUILD005       they were used in place of the real JES2 Execution Purge 
VMAC26J2       record.  In BUILDPDB, the test to OUTPUT PDB.NJEPURGE was
Oct 29, 1993   expanded from (INREASON='  ' OR INREASON='JR' AND ... to 
               ((INREASON='  ' OR INREASON='JR' OR INREASON='JT') AND ..
               and VMAC26J2 logic was modified to test if INREASON was  
               still blank after testing INDEVICE, and if so, the same  
               decoding was applied to DEVNAME.  The specific case that 
               was encountered had INDEVICE=INTRDR,DEVNAME=L329.JT1.    
               This change can alter the number of observations in the  
               PDB.JOBS and PDB.NJEPURGE datasets.                      
   Thanks to Don Friesen, B.C. Systems, CANADA.                         
Change 11.225  Support for Amdahl APAF Version 2.1 adds "Effective" CPU 
EXAPAFCH       time, "Dispatched" CPU time, and the "In-Domain Mgmt" CPU
EXAPAFCP       time variables for each MDF domain in dataset APAFDOMA.  
IMACAPAF       The "Outside-Domain Mgmt" CPU time, (IBM's "PHYSICAL")   
VMACAPAF       has been added to dataset APAFGLOB.  New CPU Busy dataset
Oct 27, 1993   APAFCPBY provides, for each LP, the sampled percent CPU  
               busy in Problem state and in Supervisor state.  Finally, 
               the new "Channel Busy" dataset APAFCHAN provides, for    
               each CHPID, separately for each Domain, the sampled CHAN 
               busy statistics.  There's a lot of good stuff here!  The 
               new subtype 4 and 5 code has only been syntax checked as 
               of this date, as those new data records were not provided
               in the Amdahl sample set, but the APAFDOMA/APAFGLOB data 
               has been processed.  Ultimately, there will probably need
               to be a summary routine (like ASUMPRSM, will be named    
               ASUMAPAF if/when it exists), but only after test data and
               some user experience is available!  See Change 11.290.   
   Thanks to George Scott, Rockwell International Corporation, USA.     
Change 11.224  CICS/ESA "Requested Reset Statistics", statistics records
CICINTRV       with SMFSTRQT='RRT', were overlooked in member CICINTRV, 
EXCICRRT       but now new dataset PDB.CICRRTRV will be created from the
IMACCICS       RRT records.  Because this change adds a new dataset, if 
Oct 25, 1993   you have tailored IMACCICS in your USERID.SOURCLIB, you  
               MUST retrofit your tailoring to the new IMACCICS, or you 
               will encounter "CICRRTRV NOT FOUND" syntax errors.       
   Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.223  INVALID DATA FOR OWNEXPDT message results when hex zeroes
VMAC6156       are in the Packed Decimal field, but there is no effect  
Oct 25, 1993   on dataset TYPE6156, since SAS sets OWNEXPDT missing.  By
               inserting two question marks between OWNEXPDT and the    
               PD3. (or &PD.3.) informat, the invalid data message is   
   Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.222  Variable VIO occurs twice in the NORM1 argument in TRND71
TRND71         causing its value to be incorrect.  Remove the first     
Oct 25, 1993   occurrence.  Variable CPUPAGTM (new in MVS/ESA 4.3) was  
               not kept in TRND71, so add it at the end of the SUM= .   
   Thanks to Diane Eppestine, Southwestern Bell.                        
Change 11.221  CICS/ESA excluded fields can be identified on the output 
IMACEXCL       of UTILCICS by the value of 65535 ('FF'x) for CMODOFST   
UTILCICS       (i.e., there is no offset to that field).  A title was   
Oct 25, 1993   added to that report documenting this fact.  Comments in 
               IMACEXCL for the MACRO _CICXCUS definition now identify  
               which fields were added in CICS/ESA 3.2.1 and 3.3.       
   Thanks to Pierre Thibodeau, CGI Group, CANADA.                       
Change 11.220  Changes required only for execution under ASCII SAS:     
VMACCMA      a.SAS under Windows has a problem with old-style macros if 
VMAC28         the contents start in column 1.  Shifting the source code
VMAC102        one byte to the right circumvents the problem. This was  
VMACLMS        necessary in members VMACCMA, VMAC28, VMAC102.           
ANALSMF      b.SAS under Windows has a problem with ELSE ending one line
Oct 24, 1993   and its IF starting in column 1 of the next line.  The IF
               statements in VMACLMS were shifted right one column.     
             c.ANALSMF contained LENGTH 2, which was changed to 3.      
             d.Many ANAL members still had the old concatenation symbol 
               (pair of vertical bars, '4F'x on MVS) which is translated
               to brackets under ASCII, which is not recognized by SAS  
               as concatenation.  All were changed to exclamation point 
               which are acceptable to both ASCII and EBCDIC SAS.       
Change 11.219  Support for FOCUS MSO 6.8 added variables FOCUACCT,      
Oct 21, 1993   FOCUSMSO, and variable FOUCFRV no longer exists.  Since  
               these fields were added compatibly to the SMF record,    
               previous MXG versions will process the new record (but   
               won't input the new variables!).  Additionally, variables
               SYSTEM and SMFTIME are now kept.                         
   Thanks to Scott Ashby, Wachovia Operational Services Corp, USA.      
Change 11.218  VM variable PWCOUNT is strangely stored by IBM. Values   
TYPEVM         are EBCDIC numbers 0 thru 9 (i.e., '40F0'x thru '40F9'x),
Oct 21, 1993   but a value of ten is stored as '0A', or 'F0C1'x, sixteen
               is '0F' or 'F0C6'x, etc!).  MXG now parses each byte and 
               figures out what IBM did so you get the right number.    
Change 11.217  Division by zero can occur in processing TYPE78 data.    
RMFINTRV       The three lines with /NRATTMPS need to be placed in a DO 
Oct 21, 1993   group :  IF NRATTMPS GT 0 THEN DO;  ...    END;   so that
               division only occurs if NRATTMPS is greater than zero.   
   Thanks to Tom Miron, State of Wisconsin Dept of Administration, USA. 
Change 11.216  GRAFTRND did not print workload data for any workloads   
GRAFTRND       after an unused workload.  So if you don't use the IMS   
Oct 21, 1993   workload, the TSO, BATCH, and all OTHx workloads do not  
               appear on the output graph.  Change the 15 occurrences of
               CPUSUM=CPUSUM+CPU; to read CPUSUM=SUM(CPUSUM,CPU,0);     
   Thanks to Bill Stoneberg, National Oilwell, USA.                     
Change 11.215  SMF type 57 variables added by Enhanced SYSOUT Support   
VMAC57         (SMF57LN5,SGT,IND,RSV,JDT, TUL, and TU) are trashed for  
Oct 21, 1993   sites without the ESS segment (they should be missing).  
               Change the test   IF OFFESS NE 0 AND NRESS NE 0 THEN DO; 
               to read           IF OFFESS GT 0 AND NRESS GT 0 THEN DO; 
               so the loop is executed only when the ESS section is in  
               the record.  (NE is TRUE for a missing value, GT is not).
   Thanks to John Mattson, National Medical Enterprises, USA.           
Change 11.214  JES3 variable CLASS (Class on Main) was added to MACRO   
IMACPDB        _PDB26J3, so it will now be kept in the PDB.JOBS dataset.
Oct 21, 1993                                                            
   Thanks to Hong-Suk Yang, Dept. of Health & Housing, AUSTRALIA        
Change 11.213  Variable IOTM6421 in TYPE30 should have been formatted   
VMAC30         as TIME12.2; now it is.                                  
Oct 21, 1993                                                            
   Thanks to Dan Squillace, SAS Institute Cary, USA                     
Change 11.212  ALIGN must be specified for the ASM of this VVDS-grazer  
ASMVVDS        program, as VMACVVDS expects the data record to contain  
Oct 20, 1993   the extra bytes created by the ALIGN Specification.  I   
               completely forgot that ALIGN/NOALIGN can affect the data 
               format for a DS field, and it appears that most sites use
               ALIGN by default (since the program has been in use for  
               years), but one site whose default was NOALIGN had their 
               TYPEVVDS program ABEND, so the JCL now explicitly has the
               ALIGN parameter.                                         
   Apologies to whoever found this problem, whose name/company I lost.  
Change 11.211  CICS SAP Accounting variables STCDB1-STCDB5 are character
IMACICSA       variables, not numbers. Find all occurrences of STCDB and
Oct 20, 1993   change their label from "CALLS" to "NAME" in five places 
               and change their INPUT from "&PIB.4." to "$CHAR4." in ten
   Thanks to Mr. Bodenbender, BUDERUS, GERMANY.                         
Change 11.210  The FACOM pseudo-RACF product's type 127 SMF record will 
Oct 13, 1993   ALREADY BEEN DEFINED" if the F127 processing is added to 
               BUILDPDB.  Change "CHAN" to "CHANS" in the ARRAY, RETAIN,
               and two occurrences of CHAN(CHANNUM+1) statements.       
   Thanks to Denis Johnco, Datacom Systems Ltd, NEW ZEALAND.            
Change 11.209  The INPUT of variables MVTRERR,MVTWERR,MVPRERR,MVPWERR   
VMACCOMP       in VMACEDGS and variable ULOGCPUT in VMACCOMP need period
VMACEDGS       in informat (i.e., they should be "&PIB.2. " instead of  
Oct 12, 1993   "&PIB.2 ").  Invalid data results without this change!   
Change 11.208  The example AUTOEXEC.SAS for OS/2, Windows, and Unix did 
AUTOEXEC       not invoke %VMXGINIT, but only included it!  Change to:  
Oct 11, 1993     %INCLUDE SOURCLIB(VMXGINIT); %VMXGINIT;                
                  (Why did I %INCLUDE the macro first, when only its    
                  invocation is required, since MXG uses MAUTOSOURCE?   
                  Because I frequently SAS GO under TSO, and changes to 
                  VMXGINIT did not take effect with the "GO" option!)   
Change 11.207  Support for TOP-SECRET type 80 records written to a log  
TYPE80         instead of to SMF is accomplished by changing " _SMF "   
TYPE80A        reference in TYPE80/TYPE80A to " _NETVLOG ".  These log  
Oct 11, 1993   records are written with only one 4-byte RDW field, so   
               the MVS RECFM=VBS or RECFM=VB or RECFM=V won't work (all 
               MVS variable records have both a 4-byte BDW and a 4-byte 
               RDW).  The _NETVLOG macro defined in VMACSMF, used in    
               place of the _SMF macro, handles this "DOS RECFM=V" data.
               Note: MXG members TYPE80/TYPE80A were not changed by this
               change; this is an optional change that you must make if 
               you must process these records from a log instead of SMF.
   Thanks to Jan-Ake Christoffersson, GotaData, SWEDEN.                 
MONTHBLD       occurs IF you install Change 11.040, as it was incorrect.
WEEKBLD        The correct order for TAPEMNTS (and TYPETMNT) in both    
Oct 11, 1993   WEEKBLD and MONTHBLD is:                                 
                BY SYSTEM SHIFT DEVICE TMNTMTYP TMNTTIME;               
   Thanks to Bill Stoneberg, National-Oilwell, USA.                     
Change 11.205  This change to ANALVVDS and VMACVVDS are needed ONLY if  
ANALVVDS       you want ANALVVDS to correctly report VSAM statistics.   
VMACVVDS       Except for adding variable VVRTYPE to TYPEVVDS for that  
Oct 11, 1993   report, this change does not alter data set TYPEVVDS:    
               Variable VVRTYPE was added to the KEEP= list in VMACVVDS,
               so that ANALVVDS can test VVRTYPE to prevent the MXG     
               generated "***NUMEXT" error messages printed because     
               that report program did not anticipate the existence of  
               NVR (non-VSAM records) in a VVDS!  For the VSAM space    
               analysis, NVR records must be deleted by inserting       
               Unfortunately, I discovered that I had reused variable   
               VVRTYPE, and the value kept was from its second use!  To 
               correct, rename all VVRTYPE to VVRSTYPE in VMACVVDS,     
               except for its KEEP, LABEL, and the first INPUT statement
               and for all tests of '00'x, 'D8'x, 'E9'X, and 'D5'x,     
               which must still use VVRTYPE).                           
   Thanks to Billy Westland, Hitachi, USA.                              
Change 11.204  Dataset TYPEVVDS variable VVRBSENM can be blank because  
VMACVVDS       this test in VMACVVDS:                                   
Oct 11, 1993   must be changed to:                                      
   Thanks to Billy Westland, Hitachi, USA.                              
==Changes thru 11.203 were included in MXG PreRelease 11.07 dtd 4Oct93= 
Change 11.203  TYPE60 observations for NVR records have missing SMS     
VMAC60         Storage, Data, Management Classes; alignment was off by  
Oct  4, 1993   one byte.  Change @OFFNVR+04 to @OFFNVR+03, and in the   
               following line change @OFFNVR+05 to @OFFNVR+04.          
   Thanks to BIll Cassidy, IST, CANADA.                                 
Change 11.202  Support for NETVIEW APAR OY66237 SMF Type 37 (Hardware   
VMAC37         Monitor Log Record) coded for the ETHERNET LAN section,  
Oct  4, 1993   but without actually seeing at a dump of a record with   
               the new data segment.  Furthermore, it's not clear which 
               APAR added the data segment, as OY66237 is documentation 
Change 11.201  TYPE90 variables OLDDSN/NEWDSN were renamed OLDDSNSM and 
VMAC90         NEWDSNSM (they are the old/new SMF dataset names) to     
Oct  4, 1993   avoid conflict with TYPE80A variables OLDDSN/NEWDSN.     
Change 11.200  PROC GPLOT can 0C4 ABEND, or CPU loop, unless you have   
GRAFLPAR       these options in effect on a GOPTIONS statement:         
GRAFTMNT       This is a known SAS bug with no ZAP yet, but it can be   
GRAFTRND       circumvented by                                          
GRAFTRND        a) removing all GOPTIONS statements in members GRAFLPAR,
GRAFWORK           GRAFTRND and GRAFWORK (the only ones with exposure), 
VMXGGOPT        b) changing the GOPTIONS in member VMXGGOPT by inserting
Oct  2, 1993          NOPCLIP NOPOLYGONFILL NOPOLYGONCLIP               
                   after the existing line:                             
               The bug only occurs when area fill is used with GPLOT.   
               Unrelatedly, TMNTMTYP is now labeled in GRAFTMNT,        
               V=NONE is added to three SYMBOL statements in GRAFTMNT,  
               and TRIVRESP is now FORMAT 6.2 in GRAFRMFI.              
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 11.199  TYPE30_V and PDB.SMFINTRV variables INTBTIME/INTETIME can
VMAC30         be 100 seconds earlier that actual because my fuzzy logic
VMAC7072       to convert the GMT values to local time was too fuzzy!   
Oct  2, 1993   The algorithm                                            
               must be replaced with                                    
                 IF (SMF30IST-INTBTIME) GT 0 THEN                       
                 ELSE IF (SMF30IST-INTBTIME) GT . THEN                  
               because SMF30IST has 10 millisecond resolution, while the
               INTBTIME has 1 microsecond resolution, and IST=30:19.70, 
               INTB=30:19.7064 created a GMTOFF30=-1:40.00 (-100 secs)  
               instead of zero, due to the FLOOR of a negative number!  
               TYPE70 variable SYNCTIME can also be incorrect.  VMAC7072
               must be similarly replaced with:                         
                 IF (STARTIME+DURATM-SYNCTIME) GT 0 THEN                
                 ELSE IF (STARTIME+DURATM-SYNCTIME) GT . THEN           
               and the GMTOFF72 logic must be similarly replaced.       
               Note: This change revised by Change 11.229.              
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 11.198  Type 42 subtype 4 records testing caused STOPOVER abend. 
VMAC42         After the @; after the INPUT of TYPETEST, insert these   
Sep 30, 1993   two statements:  M1=-1; INPUT +M1 @;                     
               Also, labels for variables JESNR and TYPETASK were wrong.
   Thanks to John Maher, Home Savings of America, USA.                  
Change 11.197  TYPEQAPM causes SAS 6.07 to 0C4 ABEND IN FUNCTION DSRFMT 
SAS 6.07       AT OFFSET 000200.  Problem has just been discovered. Does
Sep 30, 1993   NOT fail with SAS 6.08.                                  
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 11.196  New Partition Channel busy was incorrectly printed.      
ANALRMFR         Change   ... PUT @20 PNCHANBY 6.2 @;                   
                 to read: ... PUT #LIN @COL+20 PCHANBY 6.2 @;           
Sep 30, 1993     Change   ... @13 CHANSHAR                              
                 to read: ... @COL+13 CHANSHAR                          
Change 11.195  Variable PNCHANBY was propagated into observations with  
VMAC73         no activity.  After the line that calculates PNCHANBY,   
Sep 30, 1993   insert:  ELSE PNCHANBY=.;   to reset the value.          
   Thanks to Bruce Widlund, Merrill Consultants, USA.                   
Change 11.194  VMXGHSM did not output all observations in dataset DSR.  
Sep 30, 1993   must itself be deleted, and in the OUT_DSR macro, replace
               OUTPUT DSR; with                                         
   Thanks to Mr. Ertingshausen, RWG GmbH, GERMANY                       
   Thanks to Chris Weston, SAS Institute Europe, GERMANY.               
Change 11.193  Preliminary NDM support in 11.07 has now been tested with
EXNDMAE        SMF records, uncovering these errors for early recipients
EXNDMCH         a. Change all "PK2" to "PK1".                           
EXNDMDP         b. Change the one "PIB.2 " to "PIB.2." (add a period).  
EXNDMFP           to the KEEP list for NDMCT.                           
EXNDMGF         d. Change occurrences of "+19+OFFSMF" to "+15+OFFSMF".  
EXNDMMC         e. Change the INPUT @15+OFFSMF statement to look like:  
EXNDMRJ              INPUT @15+OFFSMF                                   
EXNDMRT                    NDMRECLN   &PIB.2.  /*NDM RECORD LENGTH*/    
EXNDMSI                    NDMRTYPE $EBCDIC2.  /*RECORD*SUBTYPE*/       
EXNDMST              @;                                                 
VMACNDM                 NDMRTYPE NE 'PT' AND                            
VMACSMF                 NDMRTYPE NE 'WO' THEN DELETE;                   
Sep 30, 1993         INPUT HH          &PK.1.  /*HOUR*/                 
Oct  3, 1993               MM          &PK.1.                           
               This change also added support for all 22 subtypes, now  
               creating fifteen NDM datasets:                           
                Dsname   Description                   NDMRTYPEs        
                NDMAE    Authorization Event           AE               
                NDMCH    Change Process Termination    CH               
                NDMCT    Copy Termination Record       CT               
                NDMDP    Delete Process Termination    DP               
                NDMDT    Display Termination           DT,FT,SP,SN,SS   
                NDMMC    PDS Member Copy Record        MC               
                NDMFP    Flush Process Termination     FP,FS,TS         
                NDMGF    General Function Termination  GF               
                NDMPS    Start Process                 PS               
                NDMPT    Process Termination Record    PT               
                NDMRJ    Run Job Termination Record    RJ               
                NDMRT    Run Task Termination Record   RT               
                NDMSI    Signon File Record            SI,SO            
                NDMST    Stop NDM Event                ST               
                NDMWO    Authorization Event           WO               
               Member TYPENDM processes the NDM Statistics  from SMF.   
               The NDM Sample Library member ???????? provides the exit 
               code to write that data in an SMF record.                
               Member TYPENDML, added by this change, will process the  
               NDM Statistic File directly, for sites that did not write
               their NDM data to SMF.                                   
   Thanks to Chuck Hopf, Primerica, USA.                                
==Changes thru 11.192 were in the Early MXG PreRelease 11.07 dtd 1Oct93=
Change 11.192  Additional cleanup and enhancement of RMF-like reports   
ANALRMFR       from MXG data sets continues.                            
Sep 28, 1993                                                            
Change 11.191  The ADOC documentation for data sets built from VM/ESA   
ADOCVMXA       (and VM/XA) MONWRITE records is now 150 pages, although  
Sep 28, 1993   this documentation member is still in progress.          
Change 11.190  Support for IBM's DFSMSrmm Removable Media Manager's     
EXEDGRD        Extract file created by IBM utility EDGHSKP creates six  
EXEDGRO        new MXG data sets (equivalent of EDGRPTD reports):       
EXEDGRP          EDGRDEXT - DFSMSrmm Extract Data Set Name Record       
EXEDGRR          EDGROEXT - DFSMSrmm Extract Data Set Owner Record      
EXEDGRS          EDGRPEXT - DFSMSrmm Extract Data Set Software Product  
EXEDGRV          EDGRREXT - DFSMSrmm Extract Data Set Rack Record       
IMACEDGR         EDGRSEXT - DFSMSrmm Extract Data Set Storage Location  
TYPEEDGR         EDGRVEXT - DFSMSrmm Extract Data Set Volume Record     
VMACEDGR       These extract data sets are good for quick reports, but  
Sep 28, 1993   have only a subset of the data available in the SMF Audit
               data records described in Change 11.189.  Let me know    
               which you find more useful.  This code has only been     
               syntax checked and bench checked with a dump of three    
               of the Extract records.                                  
   Thanks to Leatha Harlow, Sperry Marine Inc, USA                      
Change 11.189  Support for IBM's DFSMSrmm Removable Media Manager's two 
EXEDGSA        user SMF records provides extensive measurement of the   
EXEDGSD        new IBM tape management product.  These datasets allow   
EXEDGSK        you to:                                                  
EXEDGSO         - List the contents of the system-managed libraries,    
EXEDGSP           non-system managed shelf space, and storage locations.
EXEDGSR         - List volumes that should be moved from the library to 
EXEDGSS           storage locations.                                    
EXEDGSU         - Identify secure volumes that have been created or     
EXEDGSV           referenced.                                           
EXEDGS0         - Audit library activites.                              
EXEDGS1        The Security record (EDGSMASR) creates one MXG dataset:  
IMACEDGS         EDGSSECU - DFSMSrmm Security Record.                   
TYPEEDGS       The Audit Record (EDGSMFAR) creates ten new datasets:    
VMACEDGS         EDGSAREC - DFSMSrmm Action Record                      
Sep 28, 1993     EDGSDREC - DFSMSrmm Data Set Information Record        
                 EDGSKREC - DFSMSrmm Vital Record Specification         
                 EDGSOREC - DFSMSrmm Owner Information                  
                 EDGSOVOL - DFSMSrmm Owner Information Volume List      
                 EDGSPREC - DFSMSrmm Software Product Record            
                 EDGSPVOL - DFSMSrmm Software Product Volume List       
                 EDGSRREC - DFSMSrmm Library Shelf Location Record      
                 EDGSSREC - DFSMSrmm Storage Location Shelf Location    
                 EDGSVREC - DFSMSrmm Volume Information                 
               These datasets are described in Appendix B, DFSMSrmm     
               Mapping Macros of DFSMS/MVS 1.1 Customization Guide.     
               This code has been syntax checked. Only the Audit record 
               was hand checked with a hex dump, and only subtype 'V'.  
               I am unsure of the time inputs in the Security record!   
               See Change 11.190 for DFSMSRMM Extract Record Support.   
   Thanks to Mike Skopec, Platinum Technology, USA                      
Change 11.188  %READDB2; %INCLUDE SOURCLIB(ASUMDB2A); will fail because 
READDB2        READDB2 modifies the macros defined in IMACDB2, but did  
Sep 28, 1993   not restore the original values for ASUMDB2A!  Insert    
                %INCLUDE SOURCLIB(IMACDB2);                             
               after the last %END and before the %MEND in READDB2 and  
               this class of problems are resolved.                     
   Thanks to Bernard Harrison, VISA International, USA.                 
Change 11.187  Execution of MXG 11.06 or later under archaic SAS 6.06   
CONFIG06       is no longer formally supported.  However, if you are    
VMXGINIT       still stuck on SAS 6.06, using member CONFIG06 as your   
Sep 28, 1993   CONFIG= parameter will invoke VMXGINI6 to initialize the 
               MXG system as best as possible.  However, there appear   
               to be significant errors in the $EBCDIC format under SAS 
               6.06.  If you encounter unexpected/strange characters in 
               the SMF DUMP HEADER message for SYSTEM=, you will need to
               change all occurrences of $EBCDIC to $CHAR to be able to 
               execute under SAS 6.06.  The real message is that MXG now
               requires SAS 6.08 or later for safe and easy execution.  
               Note: See MXG Technical Notes in Newsletter TWENTY-FIVE. 
Change 11.186  Timestamps RPTTIME,ODITIME, and ODIELAPS were missing in 
VMACODS        datasets ODSREPOR & ODSUSER because informat TIME6. does 
Sep 27, 1993   not work with a value of 135859.  However, Change 11.150 
               replaced all use of TIMEn with separate input of HH MM SS
               and that redesign accidentally corrected this error.  A  
               division by zero was also protected.                     
   Thanks to Cindy Ng, Charles Schwab, USA.                             
Change 11.185  Invalid MDF value for BDNSKIP in Type 72 record STOPOVER.
VMAC7072       There were only 4 segments to skip, but BNDSKIP was 8.   
Sep 27, 1993   Insert this trap after LOCPRDS is calculated:            
                  NBDPRDS+1;  IF NBDPRDS LE 2 THEN                      
                   PUT '***ERROR.VMAC7072.INVALID PRDS LOCATION '       
                   LOCPRDS= OFFPRDS= LENPRDS= BDNSKIP= LOCPRCS= I=      
                   LENGTH= /+5 ' RECORD WAS DELETED. ' SYSTEM= SMFTIME=;
                  DELETE; END;                                          
               Note: The variable BNDSKIP was misspelled BDNSKIP in the 
               text of this change in 11.07, and in the PUT= statement, 
               which caused UNINITIALIZED variable BDNSKIP.  Those were 
               corrected Sep 30, but not included in MXG 11.07.         
   Thanks to Tony Gennari, Harcourt Brace & Company, USA.               
Change 11.184  SPIN library can fill if Change 11.060 is not installed! 
VMAC30         The incorrect value of JINITIME causes the SPIN logic in 
Sep 26, 1993   BUILDPDB to hold records in the SPIN library until the   
               SPINCNT limit in IMACSPIN is exceeded.                   
   Thanks to Andrea Mulcahey, United Jersey Bank, USA.                  
Change 11.183  The LABEL for VIOREADS should have been spelled as       
VMAC71         *FROM ESTORE instead of *ROM ESTORE.                     
Sep 26, 1993                                                            
   Thanks to Helmut Kirrmaier, Comparex, GERMANY.                       
Change 11.182  A user's technical note about problems accounting for    
ADOCWSF        printed output for users of RSD's WSF product was added  
Sep 26, 1993   to the ADOC for WSF.  (Unfortunately, that's all there   
               is in that particular ADOC right now!)                   
   Thanks to Jonathan Caldwell, Department of Veterans Affairs, USA.    
Change 11.181  Support for SAP's IMS log record type 'AE'x accounts SAP 
ASMIMSLG       transactions under IMS.  Three new data sets are created:
EXSAPIBA         SAPIMSBA - Batch SAP jobs.                             
EXSAPION         SAPIMSON - Online SAP transactions.                    
EXSAPISP         SAPIMSSP - SAP Spool Task activity.                    
IMACIMS        Whether you use the old TYPEIMS or new ASMIMSLG members, 
VMACIMS        these three SAP datasets will be created (their default  
VMACIMSA       destination is WORK, but you set that in member IMACIMS  
Sep 25, 1993   in the _LSAPIxx macro definition). Note that since the   
               IMACIMS was changed, if you have tailored IMACIMS into   
               your USERID.SOURCLIB, you will need to compare and update
               your changes starting with the new IMACIMS in this MXG.  
               This code has been syntax and hand checked with a dump.  
   Thanks to J. Cary Jones, Philip Morris, USA.                         
Change 11.180  Support for AICorp Central Server SMF record creates one 
EXAICSCS       new dataset:                                             
IMACAICS         AICSCS - AICorp Central Server resources.              
TYPEAICS       This code has been syntax and hand checked with a dump.  
Sep 25, 1993                                                            
   Thanks to Bob Mattingly, ARCO, USA.                                  
Change 11.179  Support for Concurrent Copy and Extended Sequential Data 
EXTY42CC       set activity in SMF type 42 subtype 4 records creates    
EXTY42CV       three new datasets:                                      
EXTY42EX         TYPE42CC - Concurrent Copy Job resources per controller
IMAC42           TYPE42CV - Concurrent Copy Job, detail per VOLSER.     
VMAC42           TYPE42EX - Extended Sequential Dataset activity.       
Sep 25, 1993                                                            
   Thanks to John Maher, Home Savings of America, USA.                  
Change 11.178  References to Duquesne Systems was changed to LEGENT in  
Sep 25, 1993   VMACSTX, and VMACDMON.  Morino Associates merged with    
               Duquesne Systems to create LEGENT.                       
   Thanks to Herbert G. Strozinsky, Burlington Northern Railroad, USA.  
Change 11.177  Variable SERVICE is used to determine if a TYPE72 obs    
EXTY72         will be created, but IBM Information APAR II07261 says   
Sep 25, 1993   SERVICE is zeroed if it overflows!  So MXG now uses      
               to test any of the components of service for non-zero.   
   Thanks to Randy Shumate, Mead Data Central, USA.                     
Change 11.176  Character variable STATFLG in TYPEXCOM conflicted with   
VMACXCOM       numeric variable STATFLG in TYPE5568.  The TYPEXCOM      
Sep 25, 1993   variable STATFLG is now spelled STATFLGX.                
   Thanks to Dan Squillace, SAS Institute Cary, USA.                    
Change 11.175  Support for Sterling's NDM, Network Data Mover user SMF  
EXNDMCT        record creates four new datasets for their Release 1.4.0:
EXNDMPS          NDMCT - NDM Copy Termination                           
EXNDMPT          NDMPS - NDM Process Start Event                        
EXNDMWO          NDMPT - NDM Process Termination Event                  
IMACNDM          NDMWO - NDM WTO Statistics                             
TYPENDM        This code has been syntax checked and hand checked with a
VMACNDM        hex dump of all four records.                            
Sep 25, 1993                                                            
   Thanks to Joseph L. Schwartz, CIGNA, USA.                            
Change 11.174  Support for Release 3.0.0 of 4th Dimension's CONTROL-D   
VMACCTLD       SMF record added (compatibly) CTLDJBID, the JOB ID field.
Sep 24, 1993                                                            
   Thanks to Gary Cooper, 4th Dimension Software, USA.                  
Change 11.173  Significant enhancements of GRAFxxxx members and a change
GRAFLPAR       in the basic structure of the graphics catalog that will 
GRAFRMFI       NOT work on releases of SAS earlier than 6.06.  (The old 
GRAFTMNT       GRAFxxxx members that run on 6.06 and 5.18 were renamed  
GRAFTRND       to ZRAFxxxx and kept in the MXG Source Library).         
VMXGGOPT       All graphics routines now have common parameter that will
ZRAFLPAR       control the construction of the graphics catalog and the 
ZRAFRMFI       appearance of the graphs.  Each GRAFxxxx member defines a
ZRAFTMNT       %MACRO of the same name as the member, and uses these    
ZRAFTRND       standard parameters:                                     
Sep 25, 1993   PDB=     The DDname/LIBNAME for the source of the input  
                        data library, and the destination library of    
                        the output graphics catalog containing the      
                        graphs produced.  This can be a PDB or a TREND. 
               COMPANY= The first title line on all graphs.  Defaults to
                        'Merrills Expanded Guide - Graphics Output', but
                        this parameter lets you change the title to your
                        company's name.                                 
               MXGRAPHS=The name of the output graphics catalog written 
                        to the library specified by PDB=.  The default  
                        catalog name is the member=macro name, but could
                        be changed with this parameter.                 
               GOUTNEW= A new parameter to re-initialize the graphics   
                        catalog.  SAS graphic procedures normally MOD   
                        new graphs at the end of the graphics catalog.  
                        If you reuse a PDB/TREND library, that catalog  
                        could quickly consume the available DASD space. 
                        MXG's default is GOUTNEW=YES, overriding SAS's  
                        normal action and causing the catalog to be     
                        erased before building the new graphs. Any other
                        value for GOUTNEW will cause the old graphs to  
                        remain and the new to be added at the end.      
               The changes to the individual members are:               
               GRAFLPAR - New parameters added and old parameters PDBOUT
               and SASGRAPH are no longer applicable (although they are 
               still recognized for compatibility).  PDBOUT= was the old
               catalog destination, now specified by PDB= parameter. The
               SASGRAPH parameter was needed before it was possible to  
               detect if you have SAS/GRAPH (now, using the new SYSPROD 
               function, you no longer have to tell us what you have!). 
               Additionally, where bar charts are produced, plots with  
               area fills are used now to reduce the clutter on the     
               horizontal axis.  This was always desired, but prior     
               versions of SAS did not support LEGEND processing to get 
               the patterns of the fill into the legend.                
               GRAFRMFI - New parameters added.  All output is now to a 
               single catalog and (if only a single system is detected) 
               the graphs of the form VARIABLE*DATE=SYSTEM are not      
               produced.  CLIST examples CLGRAF and CLSTRPLY are now    
               obsolete; using the SAS Display Manager is a much more   
               effective means of getting to the graphs now.            
               GRAFTMNT - New parameters added.                         
               GRAFTRND - New parameters added.  Parameters SASGRAPH    
               and SASSTAT are now obsolete.  A new parameter GRAFFROM= 
               was added; this is the date that will be used as the     
               starting point of the graphs produced.  Where bar charts 
               were produced, they have been converted to plots with    
               area fills.  This will allow you to view more data (only 
               about 65 bars are possible but many years can now be     
               viewed on a single plot) and this reduces the clutter on 
               the HAXIS. The capacity lines have been smoothed by using
               your IMACSHFT specification to calculate the capacity    
               based on the length of your shifts (previously, actual   
               duration of found data was used).  This will eliminate   
               the annoying peaks and valleys caused by missing data,   
               outages, and incomplete weeks.                           
               GRAFWORK - New parameters added. Parameter SASGRAPH is   
               obsolete.  Bar charts were converted to plots with area  
               fills.  In addition, plots of IO connect time and EXCP   
               counts by WORKLOAD were added.  Only workloads that were 
               actually used (i.e., got service) are used.              
               VMXGGOPT - Specifies graphics options.                   
               You should use:                                          
               instead of using SAS's                                   
                  GOPTIONS DEVICE=xxxxxxxx command.                     
               All devices are now supported by modifying the background
               and color lists.  All GRAFxxxx routines use the PCBATCH  
               device driver (a modified IBMPCGX driver) with background
               color of black and a color list of:                      
               A new parameter HARDCOPY= has been added.  If you specify
               HARDCOPY=Y, then BLACK and WHITE are reversed.           
               See the SAS Technical Note in MXG Newsletter 25 about the
               problems moving graphs between mainframes and other SAS  
               platforms; using VMXGGOPT to specify devices should help 
               minimize those problems.                                 
Change 11.172  If you use WEEKBLD to create your weekly PDB on tape, it 
JCLWEEKT       can cause multiple tape mounts on the WEEK DD name if you
WEEKBLDT       have more weekly data than will fit on one tape.  The new
Sep 23, 1993   member WEEKBLDT should be used instead, as it uses the   
               logic described in MONTHBLD (it creates each dataset in a
               temporary DASD library (DDname=TAPETEMP) in tape format, 
               and then writes each dataset from TAPETEMP to DDname=WEEK
               using DISP=MOD so as to eliminate rewinds and remounts,  
               which also reduces the elapsed run time of the job.      
               Member JCLWEEKT has been modified to use this new member.
               Note that the DDNAME of TAPETEMP must be allocated only  
               as big as the largest weekly dataset (usually STEPS or   
               CICSTRAN or DB2ACCT).                                    
   Thanks to Eric Huning, Republic Insurance, USA                       
Change 11.171  Zero observations in TYPE72MN for MVS/ESA 4.2 or earlier 
VMAC7072       occurs because the test added by changes 11.016 was only 
Sep 22, 1993   tested with MVS/ESA 4.3 data, and variable VALDSAMP only 
               is non-missing for 4.3.  The test to create observations 
               in TYPE72MN only for valid intervals, located just before
               the %%INCLUDE SOURCLIB(EXTY72MN... statement:            
                  IF VALDSAMP GT 0 THEN DO;                             
               must be changed to                                       
                  IF VALDSAMP GT 0 OR VALDSAMP=. THEN DO;               
   Thanks to Dennis Smith, Compuware Corporation, USA.                  
Change 11.165  Reserved Change Number.                                  
==Changes thru 11.164 were included in MXG PreRelease 11.06 dtd  1Sep93=
 (Note in 11.06 there were two change 11.162's - the second is now 163!)
Change 11.164  Complete rewrite of GRAFRMFI.  Will only run under 6.07  
GRAFRMFI       and later.  Significantly more graphs are produced and   
ZGRAFRMD       more flexibility is provided.  New parameters have been  
Aug 31, 1993   added to allow overriding the first line of the headings 
               with your company name and to allow you to "clean up" old
               graphics catalogs in your PDB.  See the documentation in 
               the member. If you are still running version 5, the old  
               GRAFRMFI is kept in member ZGRAFRMF.                     
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 11.163  Support for TCP/IP 2.2.1 APAR PN40511 added new recording
VMACTCP        for TCP/IP API and for FTP and Telnet clients, and now   
Aug 30, 1993   uses SMF record type 118.  In theory, your TCP/IP tech   
               sets subtype values (using the LOGGING command statement 
               in PROFILE TCPIP, see APAR PN40511), but both the API and
               FTP/TELNET server records have the same ID and subtype!  
               Thus MXG does not use the subtype value, instead deducing
               from other fields to determine actual data:              
                 Dataset       Contains                                 
                 TYPETCPF      FTP Server - existed previously in MXG   
                 TYPETCPC      FTP Client                               
                 TYPETCPT      TELNET Server- existed previously in MXG 
                 TYPETCPL      TELNET Client                            
                 TYPETCPA      API Calls (Sockets)                      
   Thanks to Richard Warren, Salomon, Inc, USA.                         
   Thanks to Bob Muller, Grumman, USA.                                  
Change 11.162  Support for ASTEX Release 1.7 Interval Database SMF data 
VMACDMON       record.  Variables RIRCX and RNVCCNT were added to all 3 
Aug 30, 1993   DMON datasets, and variables RVDISCNH,RVLATNCY,RVMSAMPL, 
               RVSAMPWH and RVTLOST were added to DMONVOL.  Additionally
               the label for RHUSTX is now MUST PROBLEM I/O COUNT. I now
               realize that I used an "H" in some variable names that   
               were really spelled with an "M", but the Release 1.5 doc 
               was a smudged fax!  While having M for MUST/MAY would be 
               better, changing now will cause your report code to have 
               to be changed, and I don't intend to make extra work for 
               you now, so we'll live with the MXG misspellings! And    
               RHTCSW should be RHTCFW, but I've left it alone, too.    
               Release 1.7 added these new fields compatibly, so that   
               prior versions of MXG will not fail; they just won't have
               the new variables.                                       
Change 11.161  DB2 2.3 can have QWHSRELN=2.299 (due to truncation), so  
VMACDB2        all tests GE 2.3 were changed to GT 2.2 to avoid the     
VMACDB2H       exposure.  The specific occurrence affected only the DB2 
VMAC102        correlation decoding in IMACDB2, but prudence dictated a 
IMACDB2        change to all occurrences.                               
Aug 30, 1993                                                            
   Thanks to John Shuck, SunTrust, USA.                                 
Change 11.160  Change 10.133 (multiple type 30 records due to more than 
BUILDPDB       1476 DD segments) did not correct JELAPSTM.  In extensive
BUILDPD3       notes, this contributor located the several changes to   
BUILD005       carry MULTIDD5 from the 30_5 into the final logic so that
IMACPDB        JELAPSTM will non-missing in this instance.              
Aug 30, 1993                                                            
   Thanks to Andy Vick, Allied Dunbar Life Assurance, ENGLAND.          
Change 11.159  Change 11.130 (NETSPY documentation error) is changed    
VMACNSPY       again.  Now, LEGENT says the field is at offset +34 and  
Aug 27, 1993   not +33 as previously documented, and so the MXG test    
               Previously:  IF NSUBNTCN GT 0 AND NSUBNTLN GT 0 THEN DO; 
               Ch 11.130:   IF LDLANLST GT 0 THEN DO;                   
               Now Is:      IF LDLANMAX GT 0 THEN DO;                   
   Thanks to Gary Allen, LEGENT, ENGLAND.                               
Change 11.158  Variable ACTIVE in TYPE90 was renamed to ACTIVEMN because
VMAC90         it conflicted with variable ACTIVE in TYPEAPAF, which is 
Aug 27, 1993   numeric.  ACTIVEMN is the identity of the Active SMF data
               set, and this should have minimal impact on TYPE90 users,
               but avoids a conflict of variable types.                 
   Thanks to Bryant Osborn, Department of Transportation, USA.          
Change 11.157  IMS Appended Log processing of type 36 log record did not
ASMIMSLG       recognize that a '04'X bit in QLDQFLGS indicates the true
Aug 27, 1993   dequeue of a transaction.  (The '04'X indicates the free 
               of a queue-block as opposed to the '01'x which indicates 
               a CNT (terminal) dequeue.  Find  AP   TYPE36CT,PAKEDONE  
               and insert after that line:      TM   QLDQFLGS,QLDQFFQB  
                                                BZ   DROPMAP            
   Thanks to Siegfried Trantes, Gothaer Versicherungsbank VVAG, GERMANY.
Change 11.156  Support for Release 4.5 of Software AG's COM-PLETE SMF   
VMACCOMP       record (which was incompatibly changed; MXG 11.06+ is now
Aug 24, 1993   required).  New variables were added to the existing data
               sets.  Still in test is verification of PIB4.2 formats.  
   Thanks to Jill Hansen, South Dakota Regents Information Systems, USA.
Change 11.155  IMACPDB limited the number of ACCOUNTn variables to three
IMACPDB        in PDB.JOBS, PDB.STEPS, and PDB.ACCOUNT, even when you   
Aug 24, 1993   specified more in member IMACACCT.  This was a holdover  
               from earlier MXG versions, and is no longer correct nor  
               needed.  All occurrences of ACCOUNT1-ACCOUNT3 and of     
               LENACCT1-LENACCT3 in member IMACPDB were changed to      
               ACCOUNT1-ACCOUNT9 and LENACCT1-LENACCT9, and then the    
               number of account variables will be controlled by the    
               number you keep in member IMACACCT.                      
   Thanks to Esther Ader, TRW Redi Property Data, USA.                  
Change 11.154  MXGTMNT abended at only one site, with a 0C4.  An invalid
ASMTAPEE       value for the UCBASID in the UCB Common Extension caused 
Aug 24, 1993   this single error, which can be corrected by:            
             a.Relocate the line   MVC   DEVASID,UCBASID from after the 
                            line   LH    R4,UCBASID to before that LH.  
             b.Insert after line   USING ASVT,R5                        
               these two lines:    CL    R4,ASVTMAXU   IS ASID LARGE?   
                                   BNL   NOJOB                          
   Thanks to David Froberg, Software AG, USA.                           
Change 11.153  As noted in Newsletter 24, Landmark TMON pseudo type 110 
VMAC110        SMF records are invalid.  If you must process those TMON 
Aug 24, 1993   records, you can change SUBTYPE=SMFPSSTY; to SUBTYPE=1;  
               and as long as ONLY Landmark type 110 records are in your
               SMF file, MXG will successfully create its CICS datasets.
               This is a circumvention for you to apply if you need it, 
               but there was no change to member VMAC110 in MXG.        
   Thanks to Amy Stammerjohn, IBM WSC, USA.                             
Change 11.152  TYPE70 dataset now supports CPUIDs of 0 thru 15, because 
VMAC7072       it is possible (in PR/SM,MLPF,or MDF) to assign CPUIDs   
RMFINTRV       of 9 thru 15.  Sites which had assigned CPUIDs above 8   
Aug 23, 1993   found the wait time for those CPUIDs above 8 was lost,   
               causing an inflated CPU utilization percentage during    
               periods of low activity.  Not only does this change      
               protect current users of high CPUID values, but also it  
               protects all users if/when more than 8 concurrent CPUs   
               are supported.  Variables CAIn, CPUSERn, CPUWAITn,       
               CPUEDTMn, CPUPDTMn, IORATEn, PCTCPBYn, PCTTPIn,          
               VFAFFTMn, and VF0Nn, now exist with n values of 0,1,2,3, 
               4,5,6,7,8,9,A,B,C,D,E and F. (RMFINTRV was changed only  
               to keep CPUSER9,A-F variables).                          
   Thanks to Ron McAllister, Hitachi Data Systems, USA.                 
Change 11.151  Variables DCUSYSID and DCUTMSTP were not kept in the new 
VMACDCOL       SMS Construct datasets DCLODC, DCOLSC, DCOLMC, DCOLBC,   
Aug 23, 1993   DCOLSG, DCOLVL, DCOLAG, DCOLDR, and DCOLLB, but now are! 
   Thanks to John Rosza, Depository Trust Company, USA.                 
==Changes thru 11.150 were included in MXG PreRelease 11.05 dtd 20Aug93=
Change 11.150  MXG redesign for execution under any SAS platform began  
CONFIG         with this major structural change, but fortunately, as   
CONFIG07       long as you use the CONFIG member from this library for  
CONFIG08       your CONFIG= value, the change is transparent under the  
VMXGINIT       currently supported platforms.  (Note that members       
DOC            CONFIG, CONFIG07, and CONFIG08 are now identical.)       
Oct  4, 1993                                                            
               Now with this change, all of MXG can be stress tested and
               validated for execution under the "ASCII" versions       
               (WINDOWS, OS/2, UNIX).  MXG's BUILDPDB has already been  
               executed under SAS 6.08 under Windows, OS/2, and UNIX.   
               The original text of this change was revised and is now  
               included in the Technical Note "Executing MXG and Other  
               SAS Applications Under Windows, OS/2, and UNIX" in MXG   
               Newsletter TWENTY-FIVE.                                  
==Changes thru 11.149 were in MXG PreRelease 11.04 dated Aug 10, 1993== 
Change 11.149  DOS/VSE POWER variables STARTIME and STOPTIME are okay if
TYPEDOS        START and STOP occur on the STOP date, but there is no   
Aug 10, 1993   START date in the record, and most DOS event records also
               have no elapsed duration by which true START date can be 
               known, so the date of STARTIME can be incorrect.  For the
               DOSJOBS data, however, the elapsed time can be estimated 
               (CALCTM) and can be used to correct the date of start.   
               (Before this change, MXG wrongly recalculated STOPTIME   
               instead of STARTIME, causing both to be wrong when STOP  
               and START occurred on different dates.)                  
               Replace the two lines recalculating STOPTIME with        
                IF CALCTM GT TIMEPART(STOPTIME) THEN                    
   Thanks to J. Geluk, ROBECO Group, THE NETHERLANDS                    
Change 11.148  SAP journal data for release 5 is supported in MXG 11.03.
IMACICSA       For SAP release 4.3, the time part of STRTTIME is wrong, 
Aug  8, 1993   because SAP 4.3 used PDTIME4. while SAP 5.0 uses PIB4.3. 
               Sites with release 4.3 need only to change the input     
               for STCTIMTR from PIB4.3 to PDTIME4. and the value of    
               STRTTIME will be correct; remember to back out the change
               when you convert to SAP release 5.0.  Unfortunately, SAP 
               does not store any indicator of release in the record!   
   Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.         
Change 11.147  Support for Laser Access Corp's Optical Disk System three
EXTYODSD       User SMF records.  Three datasets are created:           
EXTYODSR         ODSDEVIC - Device Statistics. Physical activity between
EXTYODSU                    the ODS and the ODI.                        
FORMATS          ODSREPOR - Report Termination. Control Unit information
IMACODS                     about the report just recorded.             
TYPEODS          ODSUSER  - Report Statistics. Reflects all activity for
VMACODS                     that report for that user.  Elapsed times   
Aug  5, 1993                will be totals of all page activity while   
                            that report was open.                       
   Thanks to Cindy Ng, Charles Schwab, USA.                             
Change 11.146  Support for LEGENT's SAR product User SMF Record written 
EXTYSAR        by the SARSRQU3 exit, written when a report is printed   
FORMATS        from the SAR database.  One dataset is created:          
IMACSAR          SARSRQU3 - SAR Print Report from SAR database.         
Aug  4, 1993                                                            
   Thanks to Bob Mattingly, ARCO, USA.                                  
Change 11.145  ASUM70PR was still wrong in MXG 11.03; the BY statement  
ASUM70PR          BY SYSTEM STARTIME;   (after the MERGE statement)     
Aug  4, 1993   that was supposed to have been added by Change 11.041 was
               lost in a later change to ASUM70PR.  If you have PR/SM or
               MDF or MPLF data with some MVS systems partitioned and   
               some native, the absence of this BY statement can corrupt
               the PDB.RMFINTRV dataset.   Insert it after the MERGE!   
   Thanks to Randy Shumate, Mead Data Central, USA.                     
Change 11.144  MXG CIMSTRAN dataset (from Boole's IMF) did not contain a
VMACCIMS       flag variable that the transaction was a BMP, which some 
Jul 29, 1993   users needed to separate BMP from MPP transactions.  New 
               variable BMP now exists.                                 
   Thanks to Vladimiro Viano, Assicurazioni Generali, ITALY.            
ANALDB2R       if reports PMSTA01 or PMSTA02 are requested, only under  
Jul 27, 1993   SAS 6.08, is caused by SAS Usage Note 6719.  The INCODE  
               arguments of PMSTA01/PMSTA02 have 330+ lines each,which  
               exceeds a SAS internal limit for macro argument length   
               as discussed in the Usage Note.  Most of the 300+ lines  
               are "faker" statements  IF A=. THEN A=.;  whose purpose  
               was to eliminate "UNINITIALIZED VARIABLE" messages on the
               log.  The simple circumvention is to simply delete all of
               those "faker" statements and tolerate a note on the log: 
                 After the second INCODE, delete the first 313 lines.   
                 After the third  INCODE, delete the first 311 lines.   
               The permanent MXG solution is to replace the "faker"     
               statements with a RETAIN  list-of-variables 0;  statement
               which takes many fewer lines. There are three INCODE     
               arguments, but only the last two INCODEs must be changed.
   Thanks to Ken Rowe, Resolution Trust Corp, USA.                      
   Thanks to Ivan Vasquez, Resolution Trust Corp, USA.                  
Change 11.142  VM/ESA duration variables that were INPUT as PIB6.6 must 
VMACVMXA       be stored in LENGTH 8 for the deaccumulation, otherwise  
Jul 27, 1993   the subtraction of these very large numbers can cause    
               small truncation of values (6557.83 seconds became       
               6556.56 of VMDTTIME).  The truncation seems to have been 
               the cause of small negative values of VMDCTIME as well!  
               These variables are now length 8:                        
                 VMDVFOTM VMDVFVTM VMDVTIME                             
   Thanks to Stan Laugher, NM Computer Services, AUSTRALIA.             
Change 11.141  POOL/DASD User SMF record caused INPUT STATEMENT EXCEEDED
VMACPOOL       error.  The INPUT of PLD $CHAR3.  must be changed to     
Jul 27, 1993   $CHAR4.                                                  
   Thanks to Mike Lambert, IHS, USA                                     
==Changes thru 11.140 were printed in MXG Newsletter TWENTY-FOUR 2Aug93 
==Changes thru 11.140 were included in MXG PreRelease 11.03 dtd 26Jul93=
Change 11.140  The Asynchronous Data Mover Facility APAR OY65142 adds to
IMACPDB        the type 30 SMF record variables ADMFREAD,ADMFWRIT with  
VMAC30         count of pages moved by ADMF.  Both variables were also  
Jul 24, 1993   added to the PDB.JOBS and PDB.STEPS datasets.            
Change 11.139  A RACF segment with zero length RACFDLN was not expected 
VMAC80A        nor protected for, causing INPUT STATEMENT EXCEEDED ...  
Jul 24, 1993   error.  Change         SELECT (RACFTYPE);    to read     
                 IF RACFDLN GT 0 THEN SELECT (RACFTYPE);                
   Thanks to Jeff Burnett, Anixter Information Services, USA.           
Change 11.138  Additional protection for changes in Journal records is  
VMAC110        accomplished by inserting  INPUT @LOC @; after both of   
Jul 23, 1993   the occurrences of LOC=LOC+JCRLL;   In particular, this  
               will permit MXG to skip over SAP Journal records until   
               you install the MXG 11.03 needed for SAS Release 5.0!    
   Thanks to Thomas Lowin, GESIS, GERMANY.                              
Change 11.137  An extraneous close-parenthesis on line 011800 (after the
VMACZRB        _LZRBUWP statement) must be deleted.                     
Jul 23, 1993                                                            
   Thanks to Ray Dickensheets, Yellow Freight System, USA.              
Change 11.136  Major revision to the subtype 102/103 Omegamon/CICS User 
VMACOMCI       SMF record (Clocks and Counters for VSAM, DL/I, IDMS,    
Jul 22, 1993   ADABAS, SUPRA, and DATACOM) in Candle's SPE QOC0553. Now,
               two MXG datasets are created for each DB manager, one    
               with total I/O activity, and one with detail activity at 
               the "File/Database" level.  Candle's misdocumentation of 
               the VSAM record pre-SPE was also corrected, as were MXG  
               errors in inputting as PIB4.4 what was PIB4.6!  Datasets:
                 OMCIVSAM,OMCIVSAT  - VSAM Detail, Total                
                 OMCIADA ,OMCIATAT  - ADABAS Detail, Total              
                 OMCIDLI ,OMCIDLIT  - DL/I Detail, Total                
                 OMCIIDMS,OMCIIDMT  - IDMS Detail, Total                
                 OMCISUPR,OMCISUPT  - SUPRA Detail, Total               
                 OMCIDTCO,OMCIDTCT  - DATACOM Detail, Total             
   Thanks to Thomas Lowin, GESIS, GERMANY.                              
   Thanks to Ross Pover, Immigration & Ethnic Affairs, AUSTRALIA.       
Change 11.135  The _K macro name for the _LTY80CM dataset was misspelled
VMAC80A        as _KTY8007 instead of _KDY80CM.                         
Jul 22, 1993                                                            
   Thanks to Thomas Lowin, GESIS, GERMANY.                              
Change 11.134  MXG 11.02 only.  Changes 11.113 and 11.089 were not in   
TYPEVM         the code, although both were documented as being there.  
VMAC26J2       Labels were missing for CHANIND,CHANINDY,CHANINDY vars in
VMAC73         TYPE73 dataset.                                          
Jul 22, 1993                                                            
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
Change 11.133  STOPX37 undocumented fields VOLSER and MSGCODE were found
VMACX37        by this user.  Add:   @441+OFFSMF VOLSER $CHAR6.         
Jul 22, 1993                         @497+OFFSMF MSGCODE $CHAR7.        
               and add MSGCODE to KEEP= list.                           
   Thanks to Lou Sassani, National Australian Bank, AUSTRALIA           
   Thanks to John Astle, National Australian Bank, AUSTRALIA            
Change 11.132  MXG 11.02 only. Change 11.119 was incomplete.  Insert:   
VMAC37            BRFDATLN=LENDETT;                                     
Jul 22, 1993   after   INPUT @OFFDETT @;                                
   Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.                 
Change 11.131  HSM BCDS dataset MCB records were incorrect (incomplete  
VMXGHSM        and too few observations, plus INVALID ARGUMENT TO FUNCT 
Jul 22, 1993   DATEJUL message).  Line 114200 should be P2=P2+64; vice  
               P2=P2+(I*64);   In addition, lines 113500 & 113800-114100
               were relocated above the DO loop.                        
   Thanks to Willi Weinberger, Gothaer Versicherungsbank, GERMANY.      
Change 11.130  Legent LANSPY Problem # DGL249 acknowledges documentation
VMACNSPY       error for extended subtype D record that caused INPUT    
Jul 22, 1993   STATEMENT EXCEEDED RECORD LENGTH.  The MXG test:         
                 IF NSUBNTCN GT 0 AND NSUBNTLN GT 0 THEN DO;            
               must be replaced with    IF LDLANLST GT 0 THEN DO;       
   Thanks to Mike Hicks, Centrefile Ltd., ENGLAND.                      
Change 11.129  SAS Error 76-322 occurred when unnumbered and numbered   
CONFIG07       statements were input, and CONFIG07 used.SAS Option S2=0 
Jul 22, 1993   should have been S2=72 in CONFIG07. (CONFIG08 was okay.) 
               See Change 10.109 for discussion.                        
   Thanks to Ann Wheeler, American President Lines, USA.                
Change 11.128  Variable DEVTYPE was added to the KEEP= list for dataset 
TYPETMS5       TMS.DSNBRECD so that the type of tape device is known.   
Jul 22, 1993                                                            
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 11.127  In MXG 11.02. an extraneous period in column 1 of line   
ASUM70PR       031200 must be removed.  Additionally, in some instances,
Jul 21, 1993   the new LPnDUR variables were missing because of sort    
               reordering.  To correct, LPARNUM was added to the BY     
               statement following INCODE=  and  FIRST.STARTIME was     
               changed to FIRST.LPARNUM.                                
==Changes thru 11.126 were included in MXG PreRelease 11.02 dtd  6Jul93=
Change 11.126  Type 30 APPC variables were accumulated across steps, and
VMAC30         a second step (PGM=IEFBR14) that did not use APPC would  
Jul  2, 1993   contain non-zero APPC counts if the first step used APPC!
               APAR OY63634 now creates an additional segment in type 30
               records which contains the "Delta" values for the step.  
               MXG supports the new APAR, and will use the Delta segment
               if it exists; otherwise, the cumulative values will be   
               kept (as occurs now) until you install the APAR.         
Change 11.125  RMF-like reports from MXG datasets were enhanced with the
ANALRMFR       EMIF channel reporting of both total Channel Busy and the
Jul  2, 1993   Partitions part of total Channel Busy.  All reports now  
               match their RMF 4.3 counterparts.                        
Change 11.124  Variable LSBACS (ACS ID) was added to the STCLMU dataset:
VMACSTC          Replace the line  INPUT  @21+OFFSMF LSBMON PIB2.       
Jul  1, 1993     With these two:   INPUT @543+OFFSMF LSBACS PIB1.       
Oct 21, 1993                              @21+OFFSMF LSBMON PIB2.       
               (The above text was reworded for clarity from that that  
               was published in Newsletter TWENTY-FOUR, Oct 21, 1993.)  
               Also, Change 10.116 was not implemented correctly.  After
               that change, the code should read:                       
                  ELSE INPUT STC07CON PIB4. @;                          
                  INPUT      STC07LBL $CHAR1. ...                       
   Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.          
   Thanks to Tom Yarbrough, Rockwell Space Operations Company, USA.     
Change 11.123  The order of INPUT statements was modified to make all   
VMAC64         TYPE64 variables available to the TYPE64X (extent) data  
Jul  1, 1993   set, so that you could optionally add desired variables  
               into TYPE64X (using _KTY64X macro in member IMAC64).     
   Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.          
Change 11.122  Variables IVLAWS and IVLOAWS were added to OPC24_6, and  
Jul  1, 1993   added to OPC24D_C data sets.  This change supplements    
               Change 11.065.                                           
   Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.          
Change 11.121  Variable AOUTSZT was not calculated in NSPYLU data set.  
VMACNSPY       Insert after ARSPNET calculation (line 123700):          
Jul  1, 1993     AOUTSZT=COTPUTSZ/NETRSPNO;                             
               and then after ARSPNET=.; (line 126700), insert:         
   Thanks to Joanne Turpie, Department of Labour, NEW ZEALAND.          
Change 11.120  Variable QW0058SN was incorrectly input as $CHAR2,       
VMAC102        instead of PIB2., so it was unprintable.  Changing to the
Jun 29, 1993   PIB2. will cause the actual statement number to print.   
   Thanks to Dave Leeker, Southwestern Bell, USA.                       
VMAC37         occurs because APAR OY49717 incorrectly documented the   
Jun 24, 1993   format of the "DETT" (Data Network Subfield) text.  The  
               APAR documented an imbedded count of sections BRFDENUM   
               and an imbedded length of each section, BRFDATLN, yet the
               actual data contains neither field; instead, the triplet 
               LENDETT/NRDETT fields describe the text directly.  The   
               workaround is to insert  BRFDENUM=NRDETT;  after the     
               INPUT statement for BRFDENUM, and to insert              
                BRFDATLN=LENDETT;   INPUT @OFFDETT @;                   
               after the INPUT statement for BRFDATLN.  The actual MXG  
               revision eliminates the excess code.                     
   Thanks to Larry Doub, RJReynolds Tobacco Co., USA                    
Change 11.118  The number of LPAR partitions, NRPRCS, was put back in   
ASUM70PR       the ASUM70PR data set from TYPE70PR.  It had been removed
Jun 24, 1993   by Change 11.003 but turns out useful, so it can now be  
Aug  4, 1993   used in reports.                                         
Change 11.117  Support for Top Secret Release 4.3 type 80 SMF record.   
VMAC80         Find the test for RACFVRSN following text "Top Secret"   
VMAC80A        and add  OR RACFVRSN=043X  to that test in both members  
Jun 24, 1993   VMAC80 and VMAC80A to support this release.              
   Thanks to David Froberg, Software AG, USA.                           
Change 11.116  APAR OY54370 to NPM allows the Network Transit Time to be
VMAC28         calculated with only user data PIUs that have Definite   
Jun 24, 1993   Response (specify TRANSIT=DR in FNMINIT), or now the Time
               can include the data flow control PIUs (TRANSIT=DFC).    
               New MXG variable DFCPIU='Y' if TRANSIT=DFC was specified.
   Thanks to Joseph L. Schwartz, CIGNA, USA.                            
Change 11.115  OMEGAMON V550 User SMF record ("ESRA") fails with INPUT  
Jun 24, 1993   Replace  @LOC+LENTOTR+1 with @LOC+LENTOTR+1+(-6*(_I_-1)) 
               to correct the alignment.                                
   Thanks to Richard Cooke, Zurich Municipal, ENGLAND.                  
   Thanks to Pete Gain, SAS Institute, ENGLAND.                         
Change 11.114  APAR OY64585 changes the format of IODFDATE in both type 
VMAC73         73 and 74 records to MMDDYY8. (instead of YYMMDD8.), so  
VMAC74         both INPUTs were corrected.  Variables CYCLE and PARTISHN
Jun 23, 1993   are now kept in TYPE73, and new variable PNCHANBY is now 
               created in EMIF environments to report the Partition's   
               use of this CHPID.  (PCHANBY is Total CHPID busy, while  
               PNCHANBY is the Partition's CHPID busy.)                 
Change 11.113  Support for VM/ESA Release 2.1 Accounting records added  
TYPEVM         type 0B accounting record for virtual disk in storage,   
Jun 23, 1993   which MXG now outputs into dataset VMDEVICE.   Variables 
               VDISKSUB and PAGEUSED in dataset VMDEVICE are non-missing
               only for VMID='0B'X virtual disk record.                 
Change 11.112  Support for VM/ESA Release 2.1 Monitor MONWRITE records  
VMACVMXA       added several new variables, mostly for virtual disk in  
Jun 23, 1993   storage statistics:                                      
                           (size, number, limits on VDISKs).  Existing  
                           variable VMSFORE converted to bytes and now  
                           Formatted MGBYTES.                           
                VXUSELOF - New variable VMDVDISK.                       
                VXUSEACT - New variable VMDVDISK.                       
                VXUSEATE - New variable VMDVDISK.                       
                VXIODDEV - New variables VIUSTAMP, VIUSTATE.            
                           (for I/O assist utilization calculations)    
               Variables now reserved (i.e., have zero value):          
                           PLSSYS1 ,PLSSYSE ,PLSSYSP1,PLSSYSPE          
               New data sets:                                           
                VXSTOSHL - 3.15 - NSS/DCSS/SSP Loaded into Storage      
                VXSTOSHD - 3.16 - NSS/DCSS/SSP Removed from Storage     
                VXSTOVDK - 3.17 - VDISK Information                     
                Thanks IBM: both data and documentation were provided   
                for validation!                                         
Change 11.111  VM/ESA dataset VXSYTCPM had incorrect values (DURATM=0,  
VMACVMXA       PCTCHBSY=wrong), or could ABEND with STOPOVER condition. 
Jun 23, 1993   In _CSYTCPM, the ... THEN DO CHPID=0 TO CHPATH; must be  
               ... TO CHPATH-1;  Also, SKIP=SKIP-CHPATHLN; must be      
               replaced with IF SKIP GT 0 THEN INPUT +SKIP @;           
               Also, after M1=-1; insert  SKIP=CHPATHLN-8;              
               Then in _DSYTCPM, CHPTSTMP+128*4294967296/1E6; must be   
               changed to CHPTSTMP+128*16777216/1E6 (because CHPTSTMP   
               is only 3-bytes.  Before IF FIRST.BEGINMTR ..., insert   
               SAMECHAN=DIF(CHPID); DROP SAMECHAN; and add to the       
               IF FIRST.BEGINMTR OR ...  a clauseOR SAMECHAN NE 0  .    
               Finally, after the END; of DO CHPID=0 TO CHPATH-1; and   
               before the final END; insert:                            
                 IF SKIP GT 0 THEN DO; INPUT +SKIP @; SKIP=0; END;      
   Thanks to Tom Healy, CHEMNET, USA.                                   
Change 11.110  Support for SAP Releases 4.3.J & 5.0, which incompatibly 
FORMATS        changed the SAP CICS Journal segment in type 110 records.
IMACICSA       Thirty-four new variables are created in the CICSSAP data
VMAC110        set and kept in VMAC110, and format $MGSAPTY was altered 
Jun 22, 1993   because STCTASK now contains only a single character.    
               Note that variables STCIAPPL,STCIDEST,STCIDTYP,STCIMAND, 
               STCIMODP,and STCIPROG only have value if STC1CPIC='Y',   
               i.e., for CPIC Communication.                            
   Thanks to Hr. Baehr, Helaba, GERMANY                                 
Change 11.109  MXG 10.10 "Appended" IMS processing members JCLIMSLG and 
JCLIMSLG       TYPEIMSB were overlaid unexpectedly, and members IMSALOG,
TYPESLRI       unexpectedly when the MXG 10.10 tape was unloaded.  These
Jun 22, 1993   eight members were supposed to be contained in new member
               TYPESLRI as an unloaded IEBUPDTE PDS, but my error was to
               fail to change the ./ IEBUPDTE syntax to xy, and thus the
               8 members were created in your MXG.SOURCLIB.  If you will
               delete the last line in TYPEIMSB (a /* in col 1-2), and  
               ask us to fax you the MXG JCLIMSLG example (116 lines),  
               you can used the "Appended" IMS processing announced in  
               Change 10.142.  Member TYPESLRI was described in Change  
               10.290, and now contains xy instead of ./ so that it will
               not unload and overlay members again.                    
   Thanks to Kenneth D. Jones, SHL SystemHouse, CANADA.                 
Change 11.108  DB2 variables CORRNAME and CORRNUM were not decoded for  
IMACDB2        IMS connections with QWHCATYP=10.  Now, the _DB2CORR  IBM
Jun 22, 1993   macro tests for values of 5, 6, 9, or 10 for IMS.        
   Thanks to Alan Keeble, British Steel, ENGLAND.                       
Change 11.107  DB2 Trace IFCID=53 and IFCID=58 records can have no data 
VMAC102        sections (QWHSNSDA=2 found for CLOSE CURSOR for example),
Jun 22, 1993   but this was not documented by IBM nor expected by MXG,  
               and those records with QWHSNSDA=2 were not output in     
               T102S053 or T102S058 data sets.  Insert the ELSE OUTPUT  
               T102S05x; statements as shown:                           
                 Change                     To Read:                    
                   OUTPUT T102S053;           OUTPUT T102S053;          
                 END;                       END;                        
                                            ELSE OUTPUT T102S053;       
                   OUTPUT T102S058;           OUTPUT T102S058;          
                 END;                       END;                        
                                            ELSE OUTPUT T102S058;       
   Thanks to John Morgan, Compuzorg B.V., NETHERLANDS.                  
Change 11.106  Support for DOS/VSE POWER 5.1 has been added. In datasets
TYPEDOS        DOSJOBS and DOSREAD, variable TORMOT is now reserved, and
Jun 21, 1993   in DOSSNA variable INVLRESP is now reserved.  DOS Network
               Account field (8-bytes) was added to DOSLIST, DOSPUNCH,  
               DOSREAD, DOSXRC, and DOSPOOL, and records inserted or    
               deleted by OUTEXIT variables were also added in DOSPUNCH,
               DOSLIST,DOSXRC, and DOSPOOL datasets.  The Execution 'E' 
               record now documents offsets to either a PUTACCT user    
               extension or a "VSE/POWER extension area from ACDATE",   
               I have been unable to find the IBM documentation for that
               area.  The enhancement code has only been syntax checked.
   Thanks to Jean-Claude Burger, Boehringer Ingelheim, FRANCE.          
Change 11.105  Cosmetic.  The list of members that use %VMXGFOR was out 
VMXGFOR        of data; now all 95 members are listed in the comments.  
Jun 20, 1993                                                            
   Thanks to Bob Butchco, The Genix Group, USA.                         
Change 11.104  "VARIABLE SACCT1 NOT FOUND" will result if you DROP all  
IMACACCT       of the SACCTn variables; BUILDPDB demands that at least  
Jun 14, 1993   ACCOUNT1 and SACCT1 exist.  You can set the length of    
               SACCT1 (and ACCOUNT1, if desired) to be one byte and     
               then DROP SACCT2-SACCT9 ACCOUNT2-ACCOUNT9 if you really  
               want to minimize the accounting variables that you keep. 
Change 11.103  TYPEVVDS can have blank VVRSTGCL, VVRDATCL, or VVRMGTCL  
VMACVVDS       (Storage, Data, or Management Class) values, because the 
Jun 14, 1993   test IF VVRLEN GE 148 ...  should have been written as   
               IF VVRLEN GE 135 ...                                     
               Note, however, that there are legitimate TYPEVVDS records
               that will still have blank values: Alternate Indexes do  
               not contain SMS classes, nor will datasets not under SMS!
   Thanks to Scott Ashby, First Wachovia Operational Services, USA.     
Change 11.102  MXG 11.01 only.  Dataset TYPE73 has observations only for
VMAC73         MVS/ESA 4.3 or MVS/ESA 4.2 with APAR OY45991/PTF UY77343 
Jun 11, 1993   installed.  Change 11.015 was the culprit; VALIDPTH only 
               exists with the APAR or 4.3.  Replace the single line:   
                  IF VALIDPTH='Y' THEN DO;                              
               with these lines:                                        
         IF (CFGCHGFL='....1...'B AND VALIDPTH='Y')  OR                 
            (CFGCHGFL='....0...'B AND (CHANIND GT 0 OR CHANINDX GT 0 OR 
                                       CHANINDY GT 0 OR PCHANBY GT 0 OR 
                                       SMF73PBY GT 0 OR SMF73PTI GT 0)) 
                         THEN DO;                                       
   Thanks to Rich Hawthorne, Nike, USA.                                 
Change 11.101  The MXG Tape Mount Monitor is now the MXG Tape Mount and 
ASMTAPES       Allocation Monitor.  The monitor now creates a subtype 4 
EXTMNALO       SMF record for each deallocation of a tape drive, with   
IMACTMNT       the start and end timestamps of how long that drive was  
VMACTMNT       allocated to that job, so that (finally!) the duration of
Jun  8, 1993   tape drive allocation can be measured, even if dynamic   
               allocation (eg. HSM, DB2MAST) or dynamic deallocation    
               (eg., FREE=CLOSE) is used.  New MXG dataset TYPETALO is  
               now created by VMACTMNT (and also by BUILDPDB/3) for each
               subtype 4 MXGTMNT record.                                
               The ASM source code for the revised MXGTMNT program is in
               ASMTAPES, and installation instructions are in comments; 
               except for Authorization, it installs exactly as the old 
               ASMTMNT.  Yes, there is a price for this new priceless   
               data record: the new MXGTMNT load module must now always 
               be Authorized and stored in an Authorized Library, even  
               for testing to a flat file.  Comments in ASMTAPES discuss
               why Authorization is needed.                             
               The allocation monitor was specified by Barry, but the   
               coding implementation was done for Merrill Consultants   
               by Bill Fairchild, Royal Software Associates.  Chuck Hopf
               did a lot of the early testing.                          
               A minor enhancement was also made to the tape mount      
               monitor: the type of label (SL, NL, NSL, BLP) has been   
               added to the record and new variable LABEL is added to   
               TYPETMNT observations.                                   
               ORIGINAL TEXT OF CHANGE 11.101:                          
               Text revised Mar 24, 1994, after newsletter TWENTY-FIVE: 
               See Change 11.357.                                       
Change 11.100  Line 051600 should be INPUT @109+OFFIMS instead of only  
VMACCIMS       INPUT @109; fortunately, OFFIMS is zero, so there was no 
Jun  8, 1993   execution error.                                         
   Thanks to Vladimiro Vieno, Assicurazioni Generali, ITALY.            
Change 11.099  MXG 11.01 only. A semicolon was missing after MTFLAG=0;  
Jun  8, 1993                                                            
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
Change 11.098  The DD name //DASDCOLL in this JCL example should have   
JCLDAYDS       been //DATASETS, as expected by the (DAILYDSN) program.  
Jun  8, 1993                                                            
   Thanks to David Ehresman, University of Louisville, USA.             
Change 11.097  Amdahl format MGAMDDT mapped values 7,8,9 to 6380M1,M2,M3
FORMATS        but they should be 6390M1,M2,M3, and have been changed.  
Jun  3, 1993                                                            
   Thanks to Graham West, Amdahl, ENGLAND.                              
Change 11.096  MXG 11.01 only. Insert an  @;  immediately before the    
VMACDCOL         IF LENGTH GE 308 THEN   ... statement.                 
Jun  3, 1993                                                            
   Thanks to Gary Matney, Twentieth Century Investors, USA.             
Change 11.095  Variable STARTIME was added to the KEEP= list for the    
VMACTMVS       datasets TMVSYSSW and TMVSIV.                            
Jun  2, 1993                                                            
   Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.                 
Change 11.094  Several MXG 11.01-only typographical errors:             
ASUM70PR       ASUM70PR variable LPCTGOV is LABELed twice; delete the   
GRAFLPAR       second occurrence.                                       
VMXGPRAL       GRAFLPAR line 041300 has a missing quote; it should read:
Jun  2, 1993     TITLE2 H=2 F=SWISS 'LPAR % CPU Utilization';           
               VMXGPRAL utility prints only the first dataset found, and
               prints it once for each dataset in the library!  These   
               changes are required, but they also make this utility    
               work only with SAS Version 6 or later:                   
               Insert COMPRESS=NO after NOBS in the KEEP= list following
               the OUT=CONTENTS.                                        
               Insert (COMPRESS=NO) after OUT=DATASETS and before NODUP 
               in the PROC SORT statement.                              
               After DATA _NULL;  insert  POINT=&I;                     
               Add POINT=POINT to the SET DATASETS statement.           
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
Change 11.093  0C4 ABEND in SASXKERN occurs if you have the IBM supplied
JCLTEST6       blocksize exit IFGOEXOB installed.  The //SMFOUT DD in   
Jun  2, 1993   JCLTEST6 does not contain a DCB specification, so the    
               exit picks one, but it conflicts with the BLKSIZE=23440  
               in the FILE statement in the SMFSMALL program!  Adding   
               to the //SMFOUT DD avoids this possible abend.           
   Thanks to John Visser, Delta Motor Corporation, SOUTH AFRICA.        
Change 11.092  Omegamon 2.60 Audit Record moved the 8-byte OMSUBSID name
VMACOMAU       (specifically, the DB2 subsystem name) to the existing   
Jun  1, 1993   reserved OMRSV4 field, but only the first four bytes are 
               used!  Change  OMRSV4 $CHAR8.  to OMRSVR $CHAR4. +4      
               and then after the final @;, insert                      
                 IF OMSUBSID='0000000000000000'X THEN OMSUBSID=OMRSV4;  
   Thanks to Wayne Cope, Belk Stores, USA.                              
Change 11.091  Variable MESSAGE was not decoded in STOPX37 Release 3.5  
VMACX37        (because it is not described in their DSECT), but it is  
May 28, 1993   located, and   @505+OFFSMF   MESSAGE   $CHAR140.  should 
               be added to the INPUT for Release 3.5.                   
   Thanks to Bob Guthier, Lucky Stores, USA.                            
Change 11.090  Although ASMVTOC/VMXGVTOF are strongly recommended rather
FMXGUCBL       that this archaic FMXGUCBL, sites under MVS/ESA 4.2 will 
May 28, 1993   encounter an 0C2 ABEND OUTSIDE THE SAS SYSTEM (because it
               required to be Authorized).  Rather than putting SAS in  
               an Authorized Library, the following changes will correct
               FMXGUCBL so that it does not require authorization, in   
               case you are still using this Archaic member.            
               1. Locate label MVS42AAA DS 0H, and move this line to    
                  after  L  R2,UCBADDR                                  
               2. Locate label MVS42AAB, and change these arguments of  
                  the UCBSCAN macro: Change ADDRESS, to COPY, Replace   
                  UCBPTR=UCBADDR, with UCBAREA=UCBCOPY, Remove NOPIN,   
                  After all of the arguments to the UCBSCAN macro,      
                  and before the   L   R15,UCBSCNRT, insert             
                    LA   R2,UCBCOPY                                     
               3. Locate UCBSCNRT DS F, and insert after that line      
                  UCBCOPY   DC  XL48'00'                                
               4. In the JCL, change C. to ASM. and L. to LKED. and     
                  add a comma after the PARM.ASM field, and remove the  
                  extraneous comma after the PARM.LKED field.           
   Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.         
Change 11.089  In BUILDPDB, real purge records can go to PDB.NJEPURGE   
VMAC26J2       instead of being recognized as real purge records.  This 
May 26, 1993   can cause jobs to be held in the SPIN library instead of 
               being output in PDB.JOBS, and when SPINCNT is exceeded   
               and these jobs are finally written to PDB.JOBS, they will
               have ABEND='NOTP' (i.e. did not find a Purge record).    
               The error was created when IBM replaced PRPRTY with a new
               field (SMF26IX2) in ESA 4.3, but when MXG decoded the new
               variables DUPJBDLY and OFFLPURG, I failed to decode only 
               for 4.3+.  Variable OFFLPURG is used in BUILDPDB logic to
               recognize purge records created by JES2 SPOOL Transfer,  
               but if the PRPRTY happened to be 4-7 or 12-15, MXG set   
               OFFLPURG='Y' in VMAC26J2, and then in BUILDPDB that purge
               record went to PDB.NJEPURGE!  The MXG correction is      
               to only create DUPJBDLY/OFFLPURG if this is an           
               MVS/ESA 4.3 record (and, of course, JES2 does not put any
               record level indicator in their record, so the only way  
               to recognize that this is a 4.3 record is to test for the
               existence of the accounting triplet that was also added  
               by 4.3!).  In VMAC26J2, add the IF ... DO; and  END;     
               statements as shown:                                     
                  IF NETFLAG='.......1'B THEN DO;                       
                    IF PRPRTY='1.......'B THEN DUPJBDLY='Y';            
                    IF PRPRTY='.1......'B THEN OFFLPURG='Y';            
   Thanks to Brenda Rabinowitz, Prudential-Bache Securities, USA.       
Change 11.088  In line 4800, :"0. Check if the summary table already    
TYPESLRI       exists;" - the semicolon must be changed to a period, to 
May 26, 1993   prevent a syntax error.                                  
   Thanks to Steen Pedersen, Danfoss. DENMARK.                          
Change 11.087  The calculation of LP0MGTTM=LP1UPDTM-LP1UEDTM should have
ASUM70PR       obviously been     LP0MGTTM=LP0UPDTM-LP0UEDTM, and the   
May 24, 1993   variable LP0MGTTM needs to be added to the RETAIN list.  
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 11.086  Variables F20STRT and F20DURA are now FORMATted TIME12.2.
May 24, 1993                                                            
   Thanks to Gary Strohminger, AT&T Transtec, USA.                      
Change 11.085  DB2 Trace dataset T102S145 (Audit Trace) variables       
VMAC102        QW0145SC and QW0145LL were not input under DB2 2.3 due to
May 24, 1993   incorrect INPUT logic.  Insert an  "@;" after the input  
               of QW0145HO $CHAR4. and insert an "INPUT" before QW0145SC
               so the logic ends up looking like this:                  
                 IF QWHSRELN GE 2.3 THEN INPUT                          
                          QW0145HO  $CHAR8. /*HOST OPTIONS*FOR SQL*/    
                 ELSE INPUT                                             
                          QW0145HO  $CHAR4. /*HOST*OPTIONS*/            
                 INPUT    QW0145SC  $CHAR4. /*SQL*RETURN*CODE*/         
                          QW0145LL    PIB2. /*SQL*STATEMENT*LENGTH*/    
   Thanks to Wilson Kwong, National Australia Bank, AUSTRALIA.          
=====Changes thru 11.084 were in MXG PreRelease 11.01, May 20, 1993=====
Change 11.084  ANALNPMR produced only the first report requested when   
ANALNPMR       PDB=SMF was specified; the same name was used for both   
May 19, 1993   input and output,  causing no data to be found for the   
               second and subsequent reports.                           
   Thanks to Victor Chacon, NYNEX Mobil Communications Co., USA.        
Change 11.083  Landmark CICS data under DOS/VSE was previously processed
TYPEMOND       by MXG member TYPEMOND, but only for Landmark Version 7. 
TYPEMONX       That archaic member was copied to create TYPEMONX (just  
May 19, 1993   in case someone still has Version 7 under DOS/VSE), and  
               TYPEMOND was completely revised to (hopefully) support   
               Landmark Versions 8, 9, and 1.0 under DOS/VSE.  However, 
               no test data nor hex dump of a Version 8 record from DOS 
               was available, so this support has only been syntaxed.   
Change 11.082  CICS/ESA journal data produced by the SAP product was not
VMAC110        coded exactly the same as CICS/non-ESA, although the end 
May 19, 1993   results were the same.  Now, the code segment for both   
               CICS/ESA and CICS/non-ESA uses the same logic.           
   Thanks to Isabelle Mejane, SAS Institute, FRANCE.                    
Change 11.081  DIVIDE BY ZERO error occurs if GEICPUOL is zero. Replace 
May 19, 1993   with                                                     
                IF GEICPUOL GT 0 THEN                                   
                ELSE PCTCPUBY=.;                                        
   Thanks to Marcel Frechette, Montreal Trust Technology, CANADA        
Change 11.080  STARTIME and CPUTCBTM in all CICS/ESA Statistics datasets
VMAC110        (eg., CICINTRV, CICEODRV, CICDS, etc.) are wrong.  This  
May 19, 1993   error did NOT affect the CICSTRAN dataset.               
             a.The STARTIME was set to COLLTIME, which is the END of    
               interval and not the START.  Find these lines            
                  IF 0 LE DURHH LE 24 AND 0 LE DURMM LE 59 AND          
                     0 LE DURSS LE 59 AND                               
               and change them to read:                                 
                  IF 0 LE DURHH LE 24 AND 0 LE DURMM LE 59 AND          
                     0 LE DURSS LE 59 AND                               
             b.The CPUTCBTM was correct in CICS 3.1.1, because DSGTCT   
               did contain total TCB time for each TCB, but beginning in
               CICS 3.2, IBM reused field name DSGTCT for the DS-Only   
               TCB time and put the Total TCB time in new variable      
               DSGACT, but I failed to change the CPUTCBTM equation.    
               Find the line:                                           
               and replace that equation with:                          
             c.Also variables DSnTCBFm are now formatted $HEX2., and the
               test for DSGNTCB GE 3 was changed to DSGNTCB GE 4, since 
               CICS 3.3 can have four TCBs.                             
   Thanks to Scott Pearson, King County Medical Blue Shield, USA.       
Change 11.079  SAS 6.08 Usage Note 6719 discusses a SAS error in %MACRO 
GRAFLPAR       compiler which causes GRAFLPAR to fail with an "OUT OF   
May 19, 1993   MEMORY" condition (which is NOT the error!).  Apparently,
               GRAFLPAR broke an internal limit on characters passed as 
               %MACRO arguments (and blanks at the end of argument lines
               are being counted!).  We have been able to circumvent the
               ABEND by reducing the number of characterspassed by MXG  
               by reducing four lines of code with two.  In three places
               find the four lines beginning with                       
               and move the 2nd and 4th lines to the end of 1st and 3rd!
               SAS Institute is still working on a ZAP; the above Usage 
               Note will be updated when a ZAP exists.                  
   Thanks to Chuck Hopf, Primerica, USA.                                
Change 11.078  New HSM dataset HSMFSRBO contains both tape and disk data
DIFFHSM        set statistics, with several new variables, based on this
EXHSMFSB       user contribution.  Additionally, VSRTOTKB is now input  
IMACHSM        as PIB4. instead of PIB2.  This change altered IMACHSM,  
VMACHSM        if you have tailored IMACHSM in your USERID.SOURCLIB, you
May 19, 1993   must retrofit your changes using this new IMACHSM.       
   Thanks to Neil Campbell, Inland Revenue, ENGLAND.                    
Change 11.077  The HSMVSRFU dataset previously was OUTPUT only if two of
EXHSMVSF       the data variables were non-zero, but now these variables
May 18, 1993   are tested for the OUTPUT DO group:                      
     OR VSRTCPU  GT 0 THEN DO;                                          
   Thanks to Neil Campbell, Inland Revenue, ENGLAND.                    
Change 11.076  Lines 001100 thru 001700, the OUT= data set name DCOLMIGS
DAILYDSN       was repeated, but it should be the same data set name as 
May 18, 1993   the DATA= parameter on the same line.                    
   Thanks to Ian Jones, The Equitable Life Assurance Society, ENGLAND.  
Change 11.075  Lines 006300 and 006600 both contain DATA=TYPEVVDS, but  
ANALVVDS       that should have been DATA=_LTYVVDS in both lines, to be 
May 18, 1993   consistent with the new _L macro naming conventions.     
   Thanks to Ian Jones, The Equitable Life Assurance Society, ENGLAND.  
Change 11.074  The new member CHANGESS now contains ALL changes from ALL
CHANGESS       MXG Versions, which should make online browse a little   
May 15, 1993   easier. Current Changes are still in member CHANGES.     
Change 11.073  Boole's IMF MSC Arrival Time was mis-documented.  The    
VMACCIMS       three lines reading:                                     
May 15, 1993                                                            
                           @216+OFFIMS TH          PK1.                 
               must be changed to read:                                 
                           @216+OFFIMS TH    ??    PD1.                 
   Thanks to Silvio Orsini, Banca d'Italia, ITALY.                      
   Thanks to Vladimiro Viseno, Assicurazioni Generali, ITALY.           
Change 11.072  The code to set MULTRANS='Y' set NMSGPROC=1 only for the 
TYPEIMSA       first transaction in the group.  The code was relocated  
May 15, 1993   and a retained flag used to correctly reset NMSGPROC.    
   Thanks to Lonnie T. Rimmer, Philip Morris, USA.                      
Change 11.071  Candle's ITRF (a part of Omegamon/IMS Version 110) data  
VMACITRF       records EVENTIME was incorrect.                          
May 15, 1993                                                            
Change 11.070  STOPX37 Release 3.5 data records do not agree with the   
VMACX37        DSECTS provided by EMPACT.  Undocumented bytes caused    
May 15, 1993   INVALID value for JINITIME.  Many lines were changed.    
   Thanks to Dave Redinger, General Electric Plastics, USA.             
Change 11.069  Continued enhancement of RMF look-a-like reports from MXG
ANALRMFR       corrected several syntax errors and added additional     
FORMATS        reports, and formerly temporary formats are now built by 
May 19, 1993   new PICTUREs in member FORMATS.                          
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
=Changes thru Change 11.068 were included in MXG Early Prerelease 11.01=
===================that was dated May 15, 1993==========================
Change 11.068  Support for Corporate TIE user SMF record creates six new
EXTYTIE1-      MXG datasets, reporting file transfer activity between   
EXTYTIE6       PCs and Mainframes with this product:                    
IMACTIE          TYPETIE1 - TIE Initialization/Termination              
TYPETIE          TYPETIE2 - TIE Logon/Logoff                            
May 11, 1993     TYPETIE4 - TIE File Transfer Send/Receive Start/End    
                 TYPETIE5 - TIE QIMPORT/QEXPORT Start/End               
                 TYPETIE6 - TIE VDIMPORT/VDEXPORT Start/End             
   Thanks to K. M. Torsvik, Postverkets Datasentral, NORWAY.            
Change 11.067  This "split" architecture for BUILDPDB/BUILDPD3 has been 
BUILD002       further enhanced.  By splitting BUILDPDB into separate   
BUILD004       pieces, parallel steps could be used to reduce elapsed   
BUIL3001       run time, or some pieces could be skipped, etc.  This is 
BUIL3005       still in testing and the design may still change.        
BUILD006       The CICS sorting that was in BUILD002 was moved to       
May 11, 1993   BUILD004, the colon in BUILD003 was changed to semicolon,
               new JES3 members BUIL3001 and BUIL3005 were created, and 
               BUILD006 was deleted.  The revised architecture:         
               To replace BUILDPDB (for JES2):                          
                 BUILD001 - Reads SMF and creates all WORK data sets,   
                            CICSTRAN.CICSTRAN, DB2ACCT.DB2ACCT and the  
                            PDB.DB2STATn data sets.                     
                 BUILD002 - SORT some WORK datasets into PDB library.   
                 BUILD003 - SORT RMF datasets into PDB and then build   
                            PDB.RMFINTRV dataset.                       
                 BUILD004 - Combine CICS Statistics datasets and create 
                            four PDB.CICxxxRV datasets.                 
                 BUILD005 - Sort TYPE30xx, TYPE6, TYPE26J2, interleave  
                            with SPIN library, create PDB.JOBS,PDB.STEPS
                            PDB.JOBS, update SPIN library, copy SPIN    
                            datasets into PDB (for backup), and create  
               To replace BUILDPD3 (for JES3):                          
                 BUIL3001 - Same function as BUILD001, for JES3.        
                 BUILD002 - Same as JES2                                
                 BUILD003 - Same as JES2                                
                 BUILD004 - Same as JES2                                
                 BUIL3005 - Same function as BUILD005, for JES3, plus   
                            sorts TYPE25 dataset.                       
               One immediate use of this "split" architecture is for    
               VM/370 sites running BUILDPDB that do not have CICS data;
               the virtual size of BUILDPDB can be reduced by removing  
               CICS processing.  You need only to create a VMAC110 in   
               your USERID.SOURCLIB member with this line:              
                    MACRO _VAR110 %    MACRO _CDE110 %                  
               and then instead of %INCLUDE SOURCLIB(BUILDPDB) use      
                 %INCLUDE SOURCLIB(BUILD001,BUILD002,BUILD003,BUILD005);
               It is also possible to remove DB2 processing, but as only
               three datasets are created, the saving is much less.  To 
               remove DB2, you would create a VMACDB2 in USERID.SOURCLIB
                    MACRO _VARDB2 %    MACRO _CDEDB2 %                  
               and also create a member DIFFDB2 with a blank line.  Then
               the preceding %INCLUDE would produce the minimum  virtual
               storage size by eliminating both DB2 and CICS processing.
               Under MVS, the SMF processing (BUILD001) needed virtual  
               MEMSIZE of 17301K. With no CICS only 11397K was required,
               and with neither CICS nor DB2 only 9973K was required.   
   Thanks to Neil Campbell, Inland Revenue, ENGLAND.                    
Change 11.066  Variables RDMT, RDTBK1-RDTBK4, and RNVSOV were not in the
VMACDMON       KEEP= list, but have now been added for ASTEC datasets   
May 11, 1993   DMONVOL, DMONJOBS, and DMONDSN.  RDMT was formatted.     
   Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.          
Change 11.065  OPC/A data records may be lost; line 836, which reads:   
VMACOPC         IF _OPCVER AND MTDTYPE EQ 9 THEN INPUT +2 @;            
May 11, 1993   should be deleted.  See also later Change 11.122.        
   Thanks to Rodney Marwick, Vereinte Versicherungen, GERMANY.          
Change 11.064  Migrated datasets with ORGEXPDT=9999999 were not expected
VMACDCOL       in MXG's calculation of EXPDT='01JAN2099' for never      
May 11, 1993   expiring datasets, but now that test is included.        
   Thanks to Alan M. Sherkow, I/S Management Strategies Ltd., USA.      
Change 11.063  DB2 format MGDB2TY did not decode the '0A'X value.  Also,
FORMATS        values of zero for QWHCATYP occur in data records, but   
May 10, 1993   are not documented by IBM; since all 0 occurrences have a
               value of UTILITY for both QMDACNAM and QWHCCN, I assumed 
               that value, and added two lines to the format:           
                 0AX='AX:IMS TRANSACTION BMP'                           
   Thanks to Rod Brady, Zurich Insurance, ENGLAND.                      
Change 11.062  CONFIGVM is a configuration file for MXG under CMS SAS.  
CONFIGVM       It is a modification to the CONFIG07/CONFIG08 MVS options
May 10, 1993   and has been found to support execution of BUILDPDB in a 
               32MB virtual machine.                                    
   Thanks to Tom Maynard, Nalco Chemical Company, USA.                  
Change 11.061  Candle's IMS Transaction Reporting Facility has now been 
VMACITRF       validated with data, and some revisions were required.   
May 10, 1993   Five data sets are created:                              
                ITRFMSG  - One observation for each IMS transaction;    
                            a transaction is defined by ITRF as a       
                            message received and response sent, or a    
                            program scheduled, processed, and ended.    
                ITRFMSGO - One observation for each message sent to an  
                            alternate TP PCB by another transaction.    
                ITRFDATA - One observation for each database call (DLI  
                            or FP)                                      
                ITRFSUM  - One observation per database called per      
                ITRFDB2  - One summary record per DB2 transaction.      
                           Note that variables QWACNID and QWHCCV are   
                           created in ITRFDB2 so that you can match the 
                           IMS transaction in ITRFDB2 with its DB2ACCT  
                           counterpart transaction.                     
Change 11.060  For jobs that initiate instantaneously in a multi-system 
VMAC30         environment in which system clocks are not synchronized, 
May 10, 1993   elapsed duration variables JELAPSTM,SELAPSTM,DSENQTM,    
               ALOCTM,EXECTM may be wrong (large positive or negative), 
               and the date of INITTIME,ALOCTIME,LOADTIME,JINITIME may  
               be one day later than reality!  Change 10.213 (MXG 10.3+)
               attempted to detect and circumvent an un-fixed IBM APAR, 
               (an obscure problem after an A78 ABEND), but my cure was 
               worse than the disease if REND (reader end time) is later
               than INITTIME. The correction is to remove Change 10.213:
               Find "10.213" and remove the four lines of that DO group.
                (For reports with JELAPSTM from PDBs already built, you 
                 can recalculate JELAPSTM=JENDTIME-JSTRTIME;)           
   Thanks to Shaheen Pervaiz, Trans Union Corporation, USA.             
Change 11.059  Support for ZARA, The Tape Media Manager from Altai. This
EXZARDSN       product is a replacement for CA-1 (TMS), and this support
EXZARVOL       (originally written by Miller Dixon) processes their tape
IMACZARA       catalog records to create two MXG datasets useful for the
TYPEZARA       chargeback of tape data sets and for capacity planning of
VMACZARA       tape volumes:                                            
May  7, 1993     ZARADSN - One obs per dataset on tape, with attributes,
                           TAPEFEET (estimated), and volume account code
                           from the corresponding VOL record.           
                 ZARAVOL - One obs per tape volume, with summed TAPEFEET
                           for all NRDSETS on the volume, and with the  
                           maximum EXPDATE, CRDATE, and last use date of
                           any data set on this volume.                 
               Member TYPEZARA has example JCL for the ZARA utility that
               is executed to create the data records processed by this 
   Thanks to Miller Dixon, Continuum, USA.                              
Change 11.058  The MULTIDD='Y' flag was not set before the IMAC30DD exit
VMAC30         was taken, causing MULTIDD to always be blank in dataset 
May  7, 1993   TYPE30_D (also PDB.DDSTATS).  The block of code which set
               MULTIDD was moved to immediately before the IF OFFEXCP...
               block of code.                                           
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 11.057  DCOLLECT SMSDATA (SMS constructs) records cause STOPOVER.
VMACDCOL       As indicated in Change 10.309, no test data was available
May  6, 1993   for these new records.  Now that I have test data records
               I have corrected for my errors (as well as some of IBM's 
               mis-documentation) and believe the support is now valid  
               for seven subtypes (DC,SC,MC,BC,SG,VL,AG).  The two OAM  
               subtypes (DR,LB) apply only for optical drives and were  
               not available for testing, but should also be valid now. 
   Thanks to Chris Coldiron, Depository Trust Company, USA.             
Change 11.056  Support for SYNCSORT Release 3.5 added 27 new variables, 
VMACSYNC       including expanded storage usage by the sort, and EXCP   
May  6, 1993   counts were relocated to the end of the record.          
   Thanks to Sam Sheinfeld, Kraft General Foods, USA.                   
Change 11.055  This "PRINT ALL" utility still used POINT= statement, but
VMXGPRAL       that fails with indexed datasets in Version 6, so the    
May  6, 1993   logic was rewritten to not use POINT=syntax, just in case
               you wanted to print an indexed dataset.                  
Change 11.054  TYPE80A can still fail with INPUT STATEMENT EXCEEDED.    
VMAC80A        Change 11.017 fixed only one case, but each INPUT with   
Apr 30, 1993   "$VARYINGzz. yyyyyyy" syntax must be protected in case   
               yyyyyyy is greater than zz.  (The zz value defines the   
               length of the variable; IBM docs many of the RACF fields 
               as 1-255, but MXG, in trying to minimize the stored size 
               of the TYPE80A dataset, picked more reasonable zz values.
               For those fields that exceed the MXG zz choice, an error 
               occurs).  The solution is to insert these two lines:     
                 IF SKIP GT 0 THEN INPUT +SKIP @;                       
               after the @; at the end of each INPUT statement that uses
               the $VARYING informat.  In addition to this protection,  
               all of the fields with $VARYING44. or $VARYING32. were   
               changed to $VARYING64. to minimize data loss in those    
               cases in which data length was more than MXG's default.  
   Thanks to Joseph J. Faska, Depository Trust, USA                     
VMACVMXA       occurs because at line 094370 there is a semi-colon after
Apr 28, 1993   the label for variable AVGCONMS, but that is not the last
               variable in the label statement. Remove the extra ';'.   
   Thanks to Peter Smith, Sema Group FM, ENGLAND.                       
Change 11.052  Specifying an undefined INTERVAL= value did not warn you 
VMXGDUR        that MXG did not recognize your request, and fell thru.  
Apr 28, 1993   Now, a warning message is printed.                       
   Thanks to Ed Lau, Lucky Stores, USA.                                 
Change 11.051  The text of Change 11.001 was revised (the 8-lines to be 
VMAC37         replaced was not exact, but there was no error in the 12 
Apr 28, 1993   replacement lines).  Additionally, the INPUT of OFFDETT  
               must be PIB4. instead of PIB2.                           
   Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.                 
   Thanks to Irmgard Polifka, SAS Institute, GERMANY.                   
Change 11.050  DB2ACCT variable NETSNAME was incorrectly padded with    
VMACDB2H       blanks, and did not match CICSTRAN variable NETSNAME,    
Apr 28, 1993   which is padded with nulls.  This prevented merging DB2  
               and CICS transactions.  Find "SUBSTR(NETSNAME...", and   
               insert just before that line this statement:             
               (that's 20 bytes or forty zeros).  Then, thirteen lines  
               later, replace  ELSE IF 1 THEN DO;                       
               with            ELSE IF LOCBLANK EQ 1 THEN DO;           
               Now, variables NETSNAME and UOWTIME can be used to match 
               DB2ACCT observations with their CICSTRAN counterparts.   
   Thanks to Ron Thein, Mortgage Guaranty Insurance Corp., USA.         
Change 11.049  Support for HMF, Host Monitoring Facility Product for    
EXTYHMF0-9     Channel-Extension Hardware Monitoring.  HMF creates SMF  
IMACHMF        records with 11 subtypes; this code supports subtypes 0  
TYPEHMF        and 6 thru 10.  This is from Network Systems, known as   
VMACHMF        DXE's and sometimes called HyperChannel                  
Apr 27, 1993                                                            
   Thanks to Bob Hursch, Lockheed Information Technology, USA.          
Change 11.048  "ERROR 455-185 dataset TYPE30OM not specified" because   
ANALDSET       the override for that new dataset was not added to this  
Apr 27, 1993   analysis member.  Add after the last /* OVERRIDE ...     
                  XY     ADD   NAME=EXTY30OM                            
                    /* OVERRIDE AND OUTPUT NO TYPE30OM RECORDS */       
   Thanks to Matt Klett, Kohler Company, USA.                           
Change 11.047  VM/ESA "UNEXPECTED/INVALID CONTROL RECORD" message occurs
VMACVMXA       and no observations are created, because MXG's validity  
Apr 27, 1993   check tested four bytes for 00008709x, but the first two 
               bytes may now be non zero.  Change the test:             
                 IF IPARMLF1 NE 00008709X THEN DO;                      
               to read:                                                 
                 IF MOD(IPARMLF1,10000x) NE 8709X THEN DO;              
   Thanks to Walter H. Clark, C.U. Insurance, USA                       
Change 11.046  Variable SYSTEM was specified twice in the KEEP= list of 
VMACTMVS       datasets TMVSIV, TMVSJI and TMVSNQ.  This caused a SAS   
Apr 27, 1993   warning message, but no real impact.                     
   Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.                 
Change 11.045  Variable ASISDCDY should have been spelled ASISDCDV in   
ZRBRPT1        members ZRBRPT1 and ZRBRPT2.                             
Apr 27, 1993                                                            
   Thanks to Marcel Frechette, Montreal Trust Technology, CANADA.       
Change 11.044  Variable QTXANPL exists only in DB2ACCT, and should not  
ADOCDB2        have been in the KEEP= list for DB2STAT1.  It caused no  
DIFFDB2        error, only confusion because it was missing in DB2STAT1.
VMACDB2        It was removed from KEEP= list, and from documentation.  
Apr 27, 1993                                                            
   Thanks to Ellen Ulrich, Texas Instruments, USA.                      
Change 11.043  DB2 PMSTA02 report count of SUSPENDS was usually zero,   
ANALDB2R       because not all suspend-count-variables were included.   
Apr 27, 1993   Insert after line 138120 (reads  120 'QUANTITY';) this   
               statement:  SUSPENDS=SUM(QTXASLOC,QTXASLAT,QTXASOTH);    
               and then change line 138180 from QTXASUS to SUSPENDS.    
   Thanks to Ed Lau, Lucky Stores, USA.                                 
Change 11.042  DB2 PMACC02 report count of OPENs was actually the count 
ANALDB2R       of fetches (from the preceding line), because the 2nd    
Apr 27, 1993   occurrence of AVG=QXFETCH /NUMPLANS; should have been    
               The second occurrence of AVG=QXFETCH /NUMPLANS should be 
               AVG=QXCLOSE /NUMPLANS; (in line 035330).                 
Change 11.041  ASUM70PR can corrupt PDB.RMFINTRV if you have a changed  
ASUM70PR       member IMACRMFI, because IMACRMFI only set the interval  
TRND70PR       for PDB.RMFINTRV.  With this change, the interval of both
Apr 28, 1993   PDB.ASUM70PR and PDB.RMFINTRV are both set by IMACRMFI.  
               Insert after the comments at the beginning of the member 
                 %INCLUDE SOURCLIB(IMACRMFI);                           
               and after the ID    =  line, insert these two lines:     
                 MYTIME  = _DURSET,                                     
               which causes both datasets to have the same interval.    
               Variable NRPRCS was deleted from ASUM70PR (and also from 
               TRND70PR); it never should have been kept and its value  
               has caused confusion.  ASUM70PR was revised to detect and
               flag intervals during which the number of LPARs was      
               changed (DURATM and PCTCPUBY could have been incorrect)  
               wrong), and most importantly, these new variables were   
               added to ASUM70PR for enhanced reporting:                
                 LPARCHG   - 'Y' if something changed in any LPAR       
                 LPnCHG    - 'Y' if something changed in LPAR n.        
                 LPnDUR    - LPAR n's "Up time" or "Availability time to
                             execute CPU", the sum of DURATM across all 
                             LCPUs in LPAR n. This is the total seconds 
                             during which this LPAR could have been     
                             CPU dispatched.  If an LPAR was IPLed as   
                             a 3-engine MVS machine, in one hour it     
                             would have 3 hours of "Up Time".           
                 LPCTnBY   - Percent "Logically" Busy in LPAR n, equal  
                             to 100*LPnUPDTM/LPnDUR, the Partition CPU  
                             Dispatch divided by the LPAR's "Up Time".  
                             If a 3-engine LPAR was dispatched for 56   
                             minutes, it's LPCTnBY would be 31%.  This  
                             new variable describes how much the LPAR   
                             was logically busy; the existing variable  
                             PCTL1BY describes how much the LPAR was    
                             physically busy.  If this same 3-engine    
                             LPAR was executing on a 5-engine machine,  
                             it's PCTL1BY would be 18%, because that    
                             LPAR was using 18% of the hardware while it
                             used 31% of the CPU time available to this 
                             LPAR.  See the example below.              
                 LPCTnOV   - Percent "Logically" Busy in "LPAR Overhead"
                             100*LPnMGTTM/LPnDUR, to describe how much  
                             of the new LPCTnBY was in LPAR management  
                             of this LPAR.                              
        See also the MVS Technical Note III.7, Newsletter TWENTY-FOUR.  
   Thanks to Tom Parker, Hogan Systems, USA.                            
WEEKBLD        results because the BY list for TAPEMNTS should have been
Apr 27, 1993     BY SYSTEM SHIFT  DEVICE TMNTMTYP TMNTTIME;             
   Thanks to David Ehresman, University of Louisville, USA.             
Change 11.039  Variables RDRTM,RDRDEVCL,RDRDEVTY were dropped from the  
VMAC30         TYPE30_V and PDB.SMFINTRV datasets (because they are JOB 
Apr 27, 1993   related, not interval related), but the deletion was not 
               noted in the Change log for MXG 10.10.                   
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 11.038  Variable QTXAIRLM was inadvertently omitted from the     
ASUMDB2A       SUM= list in the ASUMDB2A (DB2ACCT summarization) and the
TRNDDB2A       TRNDDB2A (DB2ACCT trending) members. It is now added, and
Apr 15, 1993   the SUM= list was sorted & collimated for easier reading.
   Thanks to Alan Keeble, British Steel, ENGLAND.                       
Change 11.037  The Total Read IOs was miscalculated on the Statistics   
ANALDB2R       Summary Report.  It was actually the total Sync Reads but
Apr 13, 1993   should have been the sum of Sync and Prefetch Reads. Also
               the calculation of Get Pages per Sync IO was omitted.    
               Find these five lines:                                   
                 PUT @1  'TOTAL READ I/O OPERATIONS (RIO)'              
                     @38 QB1TRIO 10.0                                   
                     @49 QB2TRIO 10.0                                   
                     @60 QB3TRIO 10.0                                   
                     @71 QB4TRIO 10.0;                                  
               And replace them with these twenty-two lines:            
                 IF QB1TRIO GT 0 THEN QB1PSYNC=QB1TGET/QB1TRIO;         
                 ELSE QB1PSYNC=0;                                       
                 IF QB2TRIO GT 0 THEN QB2PSYNC=QB2TGET/QB2TRIO;         
                 ELSE QB2PSYNC=0;                                       
                 IF QB3TRIO GT 0 THEN QB3PSYNC=QB3TGET/QB3TRIO;         
                 ELSE QB3PSYNC=0;                                       
                 IF QB4TRIO GT 0 THEN QB4PSYNC=QB4TGET/QB4TRIO;         
                 ELSE QB4PSYNC=0;                                       
                 PUT @1  'TOTAL READ I/O OPERATIONS (RIO)'              
                     @38 QB1TOTL 10.0                                   
                     @49 QB2TOTL 10.0                                   
                     @60 QB3TOTL 10.0                                   
                     @71 QB4TOTL 10.0;                                  
                 PUT @1  'GETPAGE PER SYNC READ IO       '              
                     @38 QB1PSYNC 10.2                                  
                     @49 QB2PSYNC 10.2                                  
                     @60 QB3PSYNC 10.2                                  
                     @71 QB4PSYNC 10.2;                                 
   Thanks to Victor Chacon, NYNEX, USA.                                 
Change 11.036  Variables QWACARNL and QWACARNE count entries and exits, 
ANALDB2R       but DB2PM reports the number of suspensions, which is    
Apr 13, 1993   one half of the data values.  Thus, insert after 038520  
               QWACARNL=QWACARNL/2; and insert after 038620             
   Thanks to Waldemar Schneider, SAS Institute Europe, GERMANY.         
Change 11.035  This MXG utility to actually measure TSO response time at
CLTIMER        your terminal was affected by SAS Version 6.  A "STOP;"  
Apr 13, 1993   statement must be added after the last "END;" statement. 
               Additionally, LS=80 was added to the OPTIONS statement,  
               also "'FOR TRANSACTION ' _I_" was added to the PUT for   
               cosmetic effect, and the sample CLIST in comments was    
               revised to use Version 6 DDnames SASLOG and SASPRINT.    
               If you have overlooked this utility, take a look now.  It
               should be made available to all TSO users so they can see
               their own response time at their terminal to prove how   
               good real TSO response is (or isn't!).                   
   Thanks to Freddie Arie, Lone Star Gas, TEXAS.                        
Change 11.034  "INVALID DATA FOR TAOSTYP" messages result because the   
VMACTAO        variable TAOSTYP should have been input at PIB1. instead 
Apr 13, 1993   of HEX1.                                                 
   Thanks to Jeff Burnett, Anixter Information Services, USA.           
Change 11.033  Variable ACTDLYTM can have small negative (-.0010) values
VMAC30         because EXECTM is .01 resolution but ACTIVETM has .000001
Apr 13, 1993   resolution.  After both calculations of ACTDLYTM, insert 
                 IF . LT ACTDLYTM LT 0 THEN ACTDLYTM=0;                 
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
Change 11.032  Two new variables, TRANTIME and TRANCOST may exist at the
VMACMEMO       end of the accounting segment, after EXITAREA, and are   
Apr 13, 1993   now added to the KEEP= list and LABELed:                 
                   IF MEMOACTL GE 84 THEN INPUT                         
                      TRANTIME    PIB4.   /*transmission*duration*/     
                      TRANCOST    PIB4.   /*transmission*cost*/         
   Thanks to John Astle, National Australia Bank, AUSTRALIA.            
Change 11.031  TYPE37 LAND segment has 2 fields after BRFDNADR that were
VMAC37         not documented in NETVIEW Admin Reference Manual but are 
Apr 13, 1993   in IFASMFR macro and are now INPUT by MXG:               
                    BRFSMADR $CHAR6.  /*single mac address*/            
                    BRFSMNAM $CHAR16. /*single mac name*/               
               Additionally, several variables are now formatted:       
                BRFALTID                                        $HEX8.  
   Thanks to Wanda Prather, Johns Hopkins Applied Physics Lab, USA.     
Change 11.030  Variable DSIVTOC in the KEEP= list was misspelled, and it
VMXGVTOF       should be changed to DS4IVTOC.                           
Apr 13, 1993                                                            
   Thanks to Pino Todesco, Western Australia Police, AUSTRALIA.         
Change 11.029  NSPYACCT variable SNITIME is incorrect because DSNIMM was
VMACNSPY       used for both the month and the minutes. Change DSNIMM to
Apr 13, 1993   DSNIMO in the INPUT for month, in the IF statement and in
               the MDY function calculating SNITIME.                    
   Thanks to Aubrey Tang, Government Insurance Office, AUSTRALIA        
Change 11.028  TCP/IP address variables FPTLCLAD,FTPRMTAD,TELLCLAD and  
VMACTCP        TELRMTAD are four-byte character fields, which display   
Apr 12, 1993   as $HEX8: "8681800C"x for example.  However, TCP/IP users
               expect these to be displayed as decimal values separated 
               by periods: for the above value.  Four new
               address variables FTPLOCAL,FTPREMOT,TELLOCAL,TELREMOT are
               now created with the expected format, using this logic:  
                 INFORMAT FTPLOCAL $15.;                                
   Thanks to Sharon Jacobson, North Dakota Higher Education, USA.       
Change 11.027  Variable LP0MGTTM was left out of the RETAIN list.  Since
ASUM70PR       LPAR=0 is only used by Amdahl's MDF, only those sites    
Apr  6, 1993   need add LP0MGTTM to the RETAIN statement.               
   Thanks to Tom Parker, Hogan Systems, USA.                            
VMAC7072       should be NRPRCSS vice NRPRCS, but as this is insurance  
Apr  6, 1993   for a bad record, there's no real impact.                
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 11.025  You can create the PDB on tape with BUILDPDB, but it is  
PDB to tape   not normally recommended because it takes too long due to 
Apr  6, 1993  rewinds (after the PDB.TYPE70s are written, they are read 
              back in to create RMFINTRV).  It is much more efficient to
              point the PDB DDname to a temporary DASD file, create the 
              PDB, and then use a PROC COPY IN=PDB OUT=PDBTAPE; to build
              your PDB on tape.  If you simply do not have enough temp  
              DASD for the PDB library, you can write the PDB directly  
              to tape, but you will need to tailor members IMACCICS,    
              IMACDB2, and EXPDBOUT.  The instructions for tailoring    
              IMACCICS are contained in comments in that member.  In    
              member IMACDB2, you must remove the "PDB."  qualifier for 
              the DB2 datasets in the "_L" macro definitions, and then  
              in member EXPDBOUT you must add PROC COPY IN=WORK OUT=PDB;
              SELECT DB2: ;  if you want the DB2 datasets in your PDB   
Change 11.024  RMF-like reporting failed if PDB=SMF was specified, but  
ANALRMFR      works if PDB=PDB is used.  This correction is extensive,  
Apr  6, 1993  and a replacement member is available upon request.  Also,
              LET REQUEST should have been %LET REQUEST.                
Change 11.023  Omegamon V550 creates invalid type 110 record, which MXG 
VMAC110       detects and deletes, with a VMAC110.ERROR.1 message (with 
              SECTLLBB=0, TEMPLEN non zero, and LENGTH=32400) on the SAS
Apr  5, 1993  log.  Candle's fix QOC0451 was the original fix for their 
Aug 30, 1993  error, but in August fix QOC0534 superceded QOC0451.      
              This noted added June 20, 1994: Same error has occurred   
              with LENGTH=32320 instead of 32400, same fix.             
   Thanks to Khin Zaw, Nordstrom, USA.                                  
   Thanks to Andrew Lockyer, South Wales Electricity Board, WALES.      
Change 11.022  If you have some MVS systems under PR/SM and some not and
ASUM70PR      if you invoke ASUM70PR after BUILDPDB, your PDB.RMFINTRV  
Apr  5, 1993  dataset may have missing data for some systems, because a 
              BY statement was missing.  Change 10.335 added logic to   
              re-write PDB.RMFINTRV and add PLATBUSY/PLATCPUS variables 
              from ASUM70PR dataset, but the BY statement for the MERGE 
              was left out.  If all systems are under PR/SM, then there 
              will be equal observations in ASUM70PR and PDB.RMFINTRV,  
              and the BY statement is not required, but if only some of 
              your systems are PR/SM, RMFINTRV is corrupted. To correct,
              you must insert  BY SYSTEM STARTIME;  after the statement 
              MERGE TEMPINTV (IN=RMF) PLATBUSY (IN=INPRSM);             
   Thanks to Steve Clausing, Employers Health, USA.                     
Change 11.021  The new TYPE42DS (SMS data set statistics, subtype 6) has
FORMATS       GMT values in SMF42PTE and SMF42PTS in the INTERVAL record
VMAC42        but MXG expected local values (as are in CLOSE record).   
Apr  4, 1993  Correct by inserting these lines after the "@;" that      
              follows the input of variable LENJDIOL:                   
                  IF INTVCLOS=1 THEN DO;  /* INTERVAL RECORD */         
                  ENDTIME =SMF42PTE;                                    
                  DURATM  =SMF42PTE-SMF42PTS;                           
              Unrelatedly, the values for S42DSTYP are now decoded by   
              new format MG042DS., which has these values:              
                  0='0:OTHER'      16='16:KSDS DATA'                    
                  1='1:PS'         17='17:KSDS INDEX'                   
                  2='2:PDS'        18='18:VARIABLE RRDS DATA'           
                  3='3:PDSE'       19='19:VARIABLE RRDS INDEX'          
                  4='4:DA'         20='20:FIXED LENGTH RRDS'            
                  5='5:ISAM'       21='21:LINEAR DATA SET'              
                  6='6:EXCP'       22='22:ESDS'                         
Change 11.020  ASTEX variable RMLFLAG2 was added to the KEEP= list of   
VMACDMON      DMONVOL data set, but it does not exist in the VOL record!
Apr  4, 1993  Instead, it should have been added to the KEEP= lists for 
              the DMONJOBS and DMONDSN datasets.                        
   Thanks to John Rosza, Depository Trust Company, USA.                 
Change 11.019  The DIFFHSM member (which deaccumulates the HSM data) did
DIFFHSM       not use the "_L" macro names.  Each PROC SORT now has the 
Apr  4, 1993  syntax of  PROC SORT DATA= _LHSMxxx OUT=HSMyyyyy  using   
              member IMACHSM to match the xxx with the yyyyy strings.   
   Thanks to Sudman Arik, Bezeq, ISRAEL.                                
Change 11.018  SAS Boolean bit tests of 32-bit strings does not work, as
VMAC30        Usage note V6-SYS.DATA-6047 discusses.  The 32-bit test of
Apr  4, 1993  SMF30MFL has been replaced with IF SMF30MFL='1.......'B   
              and the SMF30MFL PIB4. input was replaced with            
              SMF30MFL PIB1. +3  to cause IOTMERR to be correctly set.  
   Thanks to G. W. Shanks, British Rail, ENGLAND.                       
Change 11.017  New TYPE80A fails with INPUT STATEMENT EXCEEDED if the   
VMAC80A       LOGSTR= string is more than 16 bytes (my default length). 
Apr  3, 1993  I thought that SAS would skip over the extra data with:   
                INPUT LOGSTR $VARYING16. RACFDLNN @;                    
              but it doesn't work that way, causing this error!  Those  
              lines in the WHEN (46) clause must be replaced by these:  
                WHEN (46) DO;                                           
                  IF RACFDLN GT 32 THEN DO;                             
                    INPUT LOGSTR $CHAR32. +SKIP @;                      
                  ELSE DO;                                              
                    INPUT LOGSTR $VARYING32. RACFDLN @;                 
              Note that I also increased LOGSTR's default length to $32.
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 11.016  TYPE72MN contains only one PERFGRP from each type 72 RMF 
VMAC7072      subtype 2 record, because MXG assumed one record for each 
Apr  3, 1993  PERFGRP, but there are multiple PERFGRP segments in each  
              record.  Subtype 2 processing logic was restructured      
              significantly.  In addition, MXG logic was changed so that
              TYPE72MN is output only if VALDSAMP GT 0 (i.e, actual     
              samples exist for this workload).  Note that there can be 
              multiple observations with the same PERFGRP value in an   
              interval, because TYPE72MN contains a segment for each    
              combination of PERFGRP and DOMAIN. A replacement VMAC7072 
              member with this change is available upon request.        
   Thanks to Mike Skopec, Platinum Technology, USA.                     
Change 11.015  Change 10.259 implemented IBM APAR II06736 2nd algorithm 
VMAC73        but that algorithm is wrong!  As a result TYPE73 contains 
Apr  3, 1993  an observation for every CHPID from 00 to FFx!  Only the  
              1st algorithm (test SMF73VLD for valid CHPID) can be used 
              to discard dummy CHPID entries. The statement             
                PCHANBY GT 0 OR SMF73PBY GT 0 OR SMF73PTI GT 0 THEN DO; 
              is now replaced with                                      
                IF VALIDPTH='Y' THEN DO;                                
              Also, the CTC bit is now decoded to set CHANTYPE='CTC' if 
              the CHPID is actually a CTC, and CHANTYPE is now reset:   
                IF      CHANIND ='..1.....'B  THEN CHANTYPE='BLOCK MUX';
                ELSE IF CHANIND ='...1....'B  THEN CHANTYPE='BYTE MUX'; 
                ELSE IF CHANINDY='.1......'B  THEN CHANTYPE='CTC';      
                ELSE                               CHANTYPE=' ';        
   Thanks to Tom Parker, Hogan Systems, USA.                            
   Thanks to Diane Eppestine, Southwestern Bell, USA.                   
Change 11.014  The JCL for installation example has a UNIT= coded twice 
JCLINSTL      in the third step.  Use either the UNIT=3380 or UNIT=3390,
Apr  3, 1993 but remove the UNIT=SYSDA from that JCL example.           
   Thanks to Mark Robbins, Jaguar Cars, ENGLAND.                        
Change 11.013  Change 10.175 documents how to use the new "_L" and "_K" 
DOC           macros, but the paragraph beginning 'The "_L" macro lets  
Mar 28, 1993  you ...', (first paragraph on page 67 of Newsletter 23)   
              has two occurrences of _KTY0 that should have been _LTY0. 
   Thanks to Ron Becham, Southern California Edison, USA.               
Change 11.012  JCLTEST with SAS 5.18 has failed at 2 sites with the old 
JCLTEST       "data set WORK.#DIRMACR is out of space" condition that is
Mar 28, 1993  discussed in Change 8.025 (but neither site used IMACKEEP)
              and my SAS 5.18 JCLTEST does not fail!  Splitting TESTIBM 
              into two pieces will circumvent the problem, but since it 
              only occurs in JCLTEST, it can be ignored.  (The primary  
              purpose of JCLTEST6 is to verify your MXG format library  
              was correctly built, and that your IMAC tailoring did not 
              cause a syntax error.  Since JCLTEST got to TYPE74, both  
              sites knew they had tested the important IMACs, so they   
              proceeded to run JCLPDB, which did not fail.  This does   
              not apply to SAS Version 6 - use JCLTEST6 and JCLPDB6 and 
              this 5.18 error does not occur!                           
Change 11.011  FOCUS SMF record 12-byte reserved field FOCUFRS0 was     
VMACFOCU      changed to  @69+OFFSMF FOCUSRV  $CHAR8.  @77+OFFSMF       
Mar 17, 1993  FOCUFRS0 $CHAR4. , and FOCUSRV was labeled 'FOCUS*SERVICE'
              and added to the KEEP= list.  The value of new variable   
              FOCUSRV is "FOCUS" in the data observed thus far!         
Change 11.010  Dataset TYPETSWP (tape swaps from MXG Tape Mount Monitor)
BUILDPDB      is created in the WORK file by BUILDPDB, but was not then 
BUILDPD3      sorted into the PDB library.  After the BY statement for  
              replicate that PROC and BY statements, change TYPETMNT to 
              TYPETSWP, and change the BY statement to read             
                BY SYSTEM SHIFT DEVFROM TSWPTIME;                       
              Additionally, in the PROC DATASETS following these sorts, 
              add TYPETMNT and TYPETSWP to the DELETE statement.        
   Thanks to Tracy Blackstone, Kaiser Permanente, USA.                  
Change 11.009  NETSPY "Invalid argument to function DATEJUL" might occur
VMACNSPY      with NSPYREC='U' because STOPTIME fields TMEE/DTEE added  
Apr  3, 1993  by NETSPY R4.3 used previously reserved fields that are   
              non-zero in R4.2!  DTEE is input as packed decimal, and if
              the non-zero value happens to end with Fx or Cx, the error
              occurs.  To correct, find the following statement (it is  
              the first "IF DTEE" test, 21 lines after the DO group test
              for NSPYREC='S' or 'T' or 'U'):                           
              and change it to read:                                    
               IF NSPYREL GE 'R4.3' AND DTEE GT 0 THEN                  
   Thanks to Bob Butchco, The Genix Group, USA.                         
   Thanks to Norbert Korsche, OMV-AG, AUSTRIA.                          
Change 11.008  MXG 10.10 only, and only if you write type 74 RMF records
RMFINTRV      for tape devices.  If so, RMFINTRV variables DEVACTTM,    
              and TAPE statistics (instead of DASD-only), due to Change 
              10.299.  To correct RMFINTRV, find "SIO74CNT=.;", and then
              insert this line after that line:                         
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 11.007  Using ANALDB2R with PDB=SMF failed when accounting report
READDB2       were suppressed and statistics reports were not.  Using   
Apr  3, 1993  PDB=PDB does not fail.  The error is in READDB2, which is 
              invoked by ANALDB2R when PDB=SMF is specified.  Change the
              line (this is the third and last test for LENGTH(&PDBOUT):
                %IF %LENGTH(&PDBOUT) NE 0 %THEN %DO;                    
              to read:                                                  
                %IF %LENGTH(&PDBOUT) NE 0 AND &NUMIFC GT 0 %THEN %DO;   
   Thanks to Ed Lau, Lucky Stores, USA.                                 
Change 11.006  DB2STAT0 variable QDSTQDBT is incorrectly input. There's 
VMACDB2       two occurrences of OFFQJST=OFFQJST-3+OFFSMF; but the last 
Apr  3, 1993  one should have been OFFQDST instead of OFFQJST.          
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 11.005  DB2ACCT records cause "INVALID 3rd ARGUMENT IN SUBSTR"   
VMACDB2       error because account fields were not protected for zero  
Apr  3, 1993  length fields.  In addition, variable JOB is blank.       
              Delete the statement  JOB=' ';  (just before %INCLUDE for 
              IMACACCT) to prevent blank JOB name.  To protect for zero 
              length account fields, the nine statements of the form    
              must each be changed to read                              
                IF LENACCTn GT 0 THEN                                   
              where n=1,2,...9.                                         
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 11.004  TYPE30 variable DSSIZHWM incorrectly changed by Change   
VMAC30        10.261, and is much too large.  Change the multiplier from
Mar 28, 1993  16777216 to 1048576.                                      
   Thanks to Tom Parker, Hogan Systems, USA.                            
Change 11.003  MVS/ESA 4.3 only. TYPE30_V and PDB.SMFINTRV timestamps   
VMAC30        INTBTIME and INTETIME were not converted from GMT to local
Apr  3, 1993  time correctly (however, SMFTIME is valid and can be used 
              to approximate the interval end local time until this     
              change is made).  Change INTBTIME-SMF30IST to read instead
   Thanks to Jim Nissen, Principal Financial Group, USA.                
Change 11.002  Processing VSAM SMF type 30 records can produce "INVALID 
VMAC30        OMVS TRIPLET" message and no observations in TYPE30xx data
Apr  3, 1993  sets.  The three lines reading "IF OFFPROD-3-COL GE ...." 
              must be changed to "IF OFFPROD-3+OFFSMF-COL GE ...."  if  
              you want to process VSAM SMF data directly.  There is no  
              error in processing SMF data which has been dumped.       
   Thanks to Jonathan E. Paley, Massachussets Mutual, USA.              
Change 11.001  Type 37 can cause INPUT STATEMENT EXCEEDED RECORD LENGTH 
VMAC37        error.                                                    
Apr  3, 1993  First, replace the following eight lines:                 
Apr 27, 1993    IF OFFSELD GT 0 AND NRSELD GT 0 THEN DO;                
                  INPUT @OFFLAND                                        
                        BRFTEXT  $CHAR200. /*SELF DEFINING*TEXT*MESSAG*/
                        BRFTEXTA  $CHAR75. /*SELF DEFINING*TEXT*MESSAG*/
                END;  /* END SELD SECTION TYPE 37 */                    
              with the following twelve lines (note that the first three
              lines are unchanged):                                     
                IF OFFSELD GT 0 AND NRSELD GT 0 THEN DO;                
                  INPUT @OFFSELD @;                                     
                  IF LENSELD GE 275 THEN INPUT BRFTEXT $CHAR200.        
                                               BRFTEXTA $CHAR75. @;     
                  ELSE IF 201 LE LENSELD LT 275 THEN DO;                
                    INPUT BRFTEXT $CHAR200. BRFTEXTA $VARYING75. SKIP @;
                  ELSE INPUT BRFTEXT $VARYING200. LENSELD @;            
                END;  /* END SELD SECTION TYPE 37 */                    
              Second, in the "IF OFFDETT GT 0 ..." DO group that follows
              the above "IF OFFSELD GT 0 ..." DO group, change all three
              occurrences of OFFLAND to OFFDETT.                        
              Third, the INPUT of OFFDETT must be PIB4. instead of PIB2.
   Thanks to Larry Doub, R J Reynolds Tobacco USA.                      
   Thanks to Rod Fernandes, Albert Heijn B.V., HOLLAND.                 
LASTCHANGE: Version 11