****************NEWSLETTER TWENTY***************************************
              MXG NEWSLETTER NUMBER TWENTY August 1, 1991               
Technical Newsletter for Users of MXG :  Merrill's Expanded Guide to CPE
                         TABLE OF CONTENTS                              
I.  MXG Version Status.                                                 
 1. Production Version is still MXG 8.8, dated April 8, 1991.          1
 2. Announcement of PreRelease MXG 9.3, dated August 1, 1991.          1
II. MVS Technical Notes                                                 
 1. VLF Type 41 APAR UY58027.                                           
 2. PR/SM LPAR Effective Dispatch APAR OY36668 PTF UY61907             4
 3. Type 30 Interval Records for Early Address Spaces (JES2, CATLG)    4
 4. CPITCBTM/CPISRBTM measure end of step CPU times, not "initiation". 4
 5. DSSIZHWM is only contained in type 30 subtype 4, and is not reset. 4
 6. MVS/XA APAR OY31613 caused 0 observations in PDB.STEPS, TYPE30_4.  4
 7. Amdahl MDF Level 3 populates TYPE70PR observations.                5
 8. Media Manager captures I/O for DFP 3.3.0 functions.                5
 9. SMF-related APARS for types 6, 30, 41, 42, 78 SMF record's data.   5
10. Impact of SMFPRM default DDCONS(YES).                              5
III. SAS Technical Notes.                                               
 1. SAS 6.06 has been repaired, and should now be installed and used.  6
 2. SAS OPTIONS REQUIRED by MXG 8.8-9.3 for SAS versions 5.18 or 6.06. 6
 3. Format library differences between MVS SAS 6.06-5.18.              8
 4. MXG-under-CMS/SAS Installation and Execution Considerations.       8
 5. SAS 6.06 "Data Set is Not Sorted" errors now fixed.                9
 6. SAS 6.06 "VARIABLE VOLSER NOT FOUND" error now fixed.              9
 7. SAS 6.06 0C4 ABENDs with SMS-managed datasets.                     9
 8. SAS 6.06 180-322 ERROR if CONFIG= is not specified.                9
 9. SAS 6.06 013-14 ABEND if DCB does not contain RECFM=FS.           10
10. SAS 6.06 VERSIONLONG option identifies maintenance library level. 10
11. SAS 6.06 Physical I/O Errors with UNKNOWN caused now fixed.       10
12. SAS ABENDs with SAS ERROR: CPU TIME EXCEEDED.                     10
13. Protection of SAS date decoding for the next millennium.          11
14. Benchmarks of SAS 5.18, 6.06, and Experimental 6.07.              11
IV. Documentation of MXG Software.                                    13
V. MXG Version 9.3 Installation, Space, Compatibility, etc.           14
VI. Change Log - Changes 8.248-8.305, 9.001-9.104                  16-48
I.  MXG Version Status.                                                 
 1. Production Version is still MXG 8.8, dated April 8, 1991.           
    No MXG Software is shipped with this Newsletter.                    
    The Production Version (i.e., the version that was shipped to all   
    sites) is still MXG 8.8.  We do not plan a new Production Version   
    until 1992.                                                         
    MXG PreReleases are made available between Production Versions to   
    either fix critical problems or to offer support for new products   
    or other enhancements. PreReleases are ONLY sent upon request.      
    Most MXG sites will not need to replace their MXG 8.8 Software,     
    but critical errors in these products have been found and fixed:    
      MVS/ESA 4.2 sites need MXG 9.2 plus Change 9.040 or MXG 9.3.      
      VMXGVTOF sites need MXG 9.1 or later.                             
      VMACEPIL sites need MXG 8.9 or later.                             
    All sites must review the alphabetical list of critical changes,    
    below, in the Change Log to determine if any of the other changes   
    or enhancements affect their site.                                  
    MXG 8.8 was shipped to all sites April 8, 1991.  Member VMACEPIL    
    was overlaid by member CHANGES, and Replacement MXG 8.9 dated May   
    1, 1991 was created.  MXG PreRelease 9.1 became available June 1,   
    with additional changes and enhancements.  MXG PreRelease 9.2 was   
    built July 1, 1991.                                                 
 2. Announcement of PreRelease MXG 9.3, dated August 1, 1991.           
    You can now request (phone, fax, or via your local SAS Office) your 
    copy of MXG PreRelease 9.3, dated August 1, 1991, which not only    
    corrects all know problems, but also contains these enhancements,   
    which are described further in the Change Log, below.               
        Support for Amdahl's SPMS Release 1.2 SMF record.               
        Support for 4th Dimension's CONTROL-D SMF record.               
        Support for CA-1 (TMS) Release 5 complete rewrite.              
        Support for CADAM's Statistics Data File.                       
        Support for CICS/ESA 3.2.1 product.                             
        Support for EPILOG/CICS thru 451 added, and enhanced.           
        Support for Fischer's Totally Automated Office TAO.             
        Support for HSM 2.6 SMF record.                                 
        Support for Interlink's SNS/SNA Gateway SMF record.             
        Support for Interlink's SNS/TCPaccess SMF record.               
        Support for Interlink's SNS/TCPvt  SMF record.                  
        Support for MVS/ESA 4.2 type 42, 72, and 74 records validated.  
        Support for NPM 4.1.1 product.                                  
        Support for NetView FTP SMF record.                             
        Support for Shared Medical Systems CICS exclude logic.          
        BUILDPDB exits EXPDB304 and EXPDB6 externalize tailoring.       
        Cache RMF Reporter support enhanced, decoded, and documented.   
        DB2 Reports incorrect values corrected.                         
        DB2 Audit Reports not created if PDB=SMF specified.             
        DB2 Acct/Stat Trend Data Base implemented.                      
        Fujitsu FACOM MSP and FSP supported in XPDLPDA.                 
        IMS Input Queue time correction.                                
        TMON/CICS Release 9.0 supported via conversion only.            
        VM/XA Trend Data Base implemented.                              
        3490E cartridge tape now recognized.                            
    Sites that have installed MXG 8.8 should find no compatibility      
    issues in replacing 8.8 (or 8.9 - 9.2) with MXG 9.3.  However, if   
    you are replacing a version of MXG earlier than 8.8 with MXG 9.3    
    you must be aware of these compatibility issues and exposures:      
    a. Use the installation notes for MXG 8.8, below, for MXG 9.3.      
    b. The SAS OPTIONS required by MXG were changed between MXG 7.7 and 
       MXG 8.8, but no new required OPTIONS were introduced in MXG 9.3. 
       See Section III, "SAS Notes", below.                             
    c. Execution under SAS 6.06 is different than under SAS 5.18 and is 
       discussed in the "SAS Notes", Newsletter NINETEEN Section IV.    
    d. To create your PDB directly on tape, IMACCICS must be changed.   
    e. If you have added additional SMF record processing to BUILDPDB,  
       and you still execute MXG under SAS 5.18, you may encounter a    
       SAS Version 5.18 Compiler Limit "344" error. BUILDPDB is larger. 
       See Change 7.038 in member CHANGE07 for 344 error circumvention. 
    All Changes described in the Change Log are installed in MXG 9.3.   
    The MXG 9.3 library contains 1,444 members, 322,585 lines of code,  
    and builds 911 datasets with 32,393 variables documented in DOCVER! 
    MXG 9.3 should replace your production version MXG 8.8. We always   
    ship the newest PreRelease to any new customer, because each new    
    PreRelease has always been better and safer than its predecessor.   
 3. MXG Software possible future (subject to change) enhancements:      
    DB2 2.3 will be supported when available, late in October, 1991.    
    Landmark CICS Version 9.1 will be developed later this year.        
    MIM writes an SMF record that will be supported later this year.    
    NETSPY LAN records will be supported later this year.               
    JES3 Tape Mount Merge with TYPETMNT is a future consideration.      
    Cray UNICOS is a future consideration.                              
    VAX/VMS Account/SPM is a distant future consideration.              
    Candle's Omegamon for CICS ESA is a future consideration.           
    Several companies have announced plans for VTAM monitors.           
    Validation of EXPLORE/VM & AS400 support is a future consideration. 
 4. IBM Announcements and their MXG support.                            
    IBM has made many major announcements relating to the System/390,   
    the ES/9000 family, and ESCON capabilities.  The following table    
    identifies announced availability dates for the IBM product, and the
    corresponding Version of MXG required to support that IBM product.  
      Product Name                     Availability     MXG Version     
                                       Date              Required       
      MVS/370, MVS/XA (all)            long ago             8.8         
      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.3         
      RMF 4.2.1 (for MVS/ESA 4.2)      Mar 29, 1991.        9.3         
      CICS/ESA 3.1                             1990         8.8         
      CICS/ESA 3.2                     Jun 28, 1991.        9.2         
      DB2 2.2.0                                1990         8.8         
      DB2 2.3.0                        Oct 28, 1991.        9.?         
      VM/ESA  1.1.0 (370 Feature)      Oct 26, 1990.        8.8         
      VM/ESA  1.1.0 (ESA Feature)      Mar 29, 1991.        8.8         
      VM/ESA  1.1.1                    Dec 27, 1991.        9.?         
II. MVS Technical Notes                                                 
 1. VLF Type 41 APAR UY58027.                                           
    VLF PTF UY58027 solves problems both with the measurement of VLF    
    (Type 41 record) and the performance - without the PTF the Percent  
    Hit in VLF kept dropping over time.                                 
 2. PR/SM LPAR Effective Dispatch APAR OY36668 PTF UY61907              
    PR/SM LPAR Management Time PTF UY61907 now exists for the APAR      
    OY36668 described in Newsletter 19.                                 
 3. Type 30 Interval Records for Early Address Spaces (JES2, CATLG)     
    Subtype 2 and 3 type 30 SMF records are not normally written for    
    "Early Address Spaces" (ASIDs that are created before SMF is fully  
    up, like JES2, Catalog Address Space, etc.), but the IBM Information
    APAR II04729 tells you how to ZAP one IF statement (added to fix an 
    error that only happened when someone unwisely issued the SET SMF   
    command before SMF initialization had completed) so that these SMF  
    interval 30 records will be created.  Don't let operators issue the 
    SET SMF command until SMF is up, install the ZAP, and get records!  
 4. CPITCBTM/CPISRBTM measure end of step CPU times, not "initiation".  
    The two "Initiator/Privileged State" CPU measures in type 30        
    records, MXG variables CPITCBTM and CPISRBTM have had nothing to do 
    with "Initiation" since about 1984; either MVS 1.3.3 or MVS 2.1.3   
    changed their meaning, and they have since that time measured the   
    TCB and SRB CPU used by a step between the "end of program execute" 
    until "the end of the merge of the step's subtype 3 (last interval) 
    DD statistics into the subtype 4 (the step termination) record".    
    This interval usually is quite small, but before the DDCONS=NO      
    option existed in SMF, these times were actually explicit measures  
    of how much CPU time it took to do the DD consolidation!  The 1984  
    MXG Guide showed these times to be not captured in RMF type 72 data,
    but it appears now that the two CPI times may be in TYPE72 too.     
    Benchmark analysis to confirm this belief is in progress.           
    Note: 24APR97.  See ADOC30 variable description for more accurate   
    and up-to-date discussion of what is measured in CPITCBTM/CPISRBTM. 
 5. DSSIZHWM is only contained in type 30 subtype 4, and is not reset.  
    The DSSIZHWM (Data Space Size high water mark) in type 30 data is   
    only contained in the subtype 4 records, and is not reset at each   
    step; it reflects the highest value for the life of the job, and if 
    it goes down, you won't know it from the 30's!  IBM is aware of this
    and looking into possibly changing what is put in which record.     
 6. MVS/XA APAR OY31613 caused 0 observations in PDB.STEPS and TYPE30_4.
    Newsletter NINETEEN mentioned MVS/XA-only OY31613/UY56157 were in   
    error and caused corruption of Job name in SMF.  It turns out that  
    installation of that PTF also corrupts the subtype value, causing   
    MXG to not recognize type 30 subtype 4 records which led to 0       
    observations in PDB.STEPS and 0 resources in PDB.JOBS!  IBM APAR    
    OY38538 which describes the PE now has a PTF, UY57938, which        
    corrects their error.                                               
 7. Amdahl MDF Level 3 populates TYPE70PR observations.                 
    Amdahl's MDF Level 3 changes make use of the RMF type 70 PR/SM      
    sections, and sites with MDF Level 3 will now see observations in   
    MXG dataset TYPE70PR.  However, Amdahl's MDF uses the WAITCOMP=YES  
    design (albeit with much smaller timeslices than IBM's              
    implementation), and this causes the LCPUPDTM Partition Dispatch    
    duration under MDF to be quite different than under PR/SM.  The     
    LCPUPDTM under MDF is the total time the domain was dispatched,     
    including idle time, and thus it CANNOT be used to measure processor
    utilization under MDF.  It is useable only to compare the domain    
    dispatch time to their MDF targets.  To measure capacity (processor 
    utilization) under MDF, you must use the data from each domain      
    (e.g., TYPE70 for MVS domains, VMXAINTV for VM/XA); there is no     
    central source for capacity measurement when WAITCOMP=YES is        
    specified, since the dispatch time measurement says nothing about   
    how much of that time was actually being used by the engines. Amdahl
    Memorandum 4610-034-91 by Douglas A. Smucker provides more details  
    on how to intrepret RMF data under MDF, and is very well written.   
 8. Media Manager captures I/O for DFP 3.3.0 functions.                 
    A major problem in current MVS measurement is the absence of I/O    
    counts (EXCPs or SSCH) if the "Media Manager" is involved; there was
    earlier cited an IBM note in which it was explicitly stated that    
    counts were not kept because the Media Manager was so fast it was   
    not needed!  Apparently, this is changing, as DFP 3.3.0 is now      
    rumored to capture Media Manager I/O for its functions, but the     
    details are sketchy.  Maybe we'll get counts of DB2's I/Os through  
    the Media Manager too in the future?  Stay tuned!                   
 9. SMF-related APARS for types 6, 30, 41, 42, 78 SMF record's data.    
     OY40625 - Vector Affinity CPU times wrong                          
     OY36517 - Type 78 Subtype 3 truncated                              
     OY36035 - Type 42 Subtype 3 errors                                 
     OY36043 - Type 42 Subtype 3 errors                                 
     OY29986 - Type  6 JES2 3.1.3 truncated                             
     OY31406 - Cache RMF Reporter causes all RMF records lost           
     OY34829 -   Ditto (originally mis-printed as OY34295)              
     OY29801 - VLF Type 41 Subtype 3 data errors                        
     OY32368 -   Ditto                                                  
     OY49794 -   Ditto                                                  
     OY51970 -   Ditto                                                  
     OY36879 - Type 30 DD segments lost                                 
10. Impact of SMFPRM default DDCONS(YES).                               
    The impact of DDCONS(YES) is measurable because SMFTIME timestamps  
    when each record is moved (memory-to-memory) to the SMF task. One   
    subtype 2 event created seven 30s at .19 .19 .19 .22 .32 .36 & .46  
    TOD seconds, with 9182 DDs.  The subtype 3 event created two records
    both at TOD of 18.89 seconds, with 1929 DDs, and then processing for
    the subtype 4 took until 36.50 TOD to create the first of eight     
    subtype 4 records, with the last created at 40.93 TOD. The subtype 4
    had 11,070 DDs, while there were 11,111 DDs in the 2s and 3s. The DD
    consolidation took 22 elapsed seconds (and recorded CPITCBTM of 22  
    CPU seconds!) from the end of step until the step actually ended!   
    And consolidation only removed 31 DD segments from the step record! 
    The time to consolidate grows exponentially with the number of DDs  
    to be scanned, and DDCONS(NO) was created by IBM so you could avoid 
    its cost, but in keeping with IBM practices, the default value was  
    left at DDCONS(YES), so you must change PARMLIB(SMFPRMxx) yourself. 
III. SAS Technical Notes.                                               
    Notes 1 thru 4 are revised from Newsletter NINETEEN, but the rest   
    of these notes are new.                                             
 1. SAS 6.06 has been repaired, and should now be installed and used.   
    SAS 6.06 has been repaired, as long as you have installed at least  
    the March, 1991, or later, SAS Usage Notes tape maintenance, which  
    contains an IEBCOPY load library with ALL SAS ZAPs pre-applied for  
    all SAS products.  SAS 6.07 will be available later this year, but  
    All MXG-critical error conditions have been fixed, and SAS 6.06 has 
    eliminated the SAS 5.18 Compiler Error 344 which has plagued sites  
    that have extended BUILDPDB to process additional SMF records.      
        MXG NOW RECOMMENDS MIGRATION TO SAS 6.06.                       
 2. SAS OPTIONS REQUIRED by MXG 8.8 or later, for version 5.18 or 6.06. 
    Please read this section carefully.  MXG execution will fail if you 
    do not pay attention to these (potentially incompatible) changes:   
    Options that are MANDATORY with either SAS Version 5.18 or 6.06:    
        IMPLMAC should never be used in ANY program.                    
        MAUTOSOURCE and SASAUTOS=SOURCLIB are required by MXG to        
        resolve %MACRO references without extra I/O by using autocall.  
        ERRORABEND ensures SAS stops on any error condition.            
        MACRO enables SAS to recognize %MACROs.                         
        DQUOTE is needed to extract values of certain string %MACROs.   
    Options MANDATORY with SAS Version 5.18 (do NOT exist in 6.06):     
      MWORK=28000 GEN=0                                                 
        MWORK was needed in large %MACROs (like %ANALDB2R).             
        GEN=0 was needed to eliminate unnecessary I/O and CPU time, and 
        is discussed in the 1984 Guide (see Index).                     
    Options MANDATORY with SAS Version 6.06 (did not exist in 5.18):    
        Previously, MXG recommended MEMSIZE=12M, but programs that build
        many datasets concurrently (like BUILDPDB, VMACVMXA, etc.) will 
        need more of this virtual storage above the line, because of the
        new MXG recommended value for BLKSIZE='half-track'. The MEMSIZE 
        option only works under MVS/XA and MVS/ESA, and since it is not 
        a real resource, and only used when needed during the "building"
        phase in MXG processing, the new default of MEMSIZE=24M should  
        not cause any problem, and will avoid unnecessary ABENDs.       
        If you are using MXG and SAS 6.06 under MVS/370 or CMS/370, you 
        will have to reduce this MEMSIZE= parameter to no more than 6M, 
        and must reduce the BLKSIZE (try 4096, or the minimum 1024).    
        Small BLKSIZE will allow your program to compile, but the DASD  
        work space you will need will significantly increase, as will   
        the run-time, IOs, and CPU requirements for the same job.       
        See the SAS Benchmarks, below, for actual numbers.              
    Options STRONGLY RECOMMENDED for SAS 6.06 performance:              
      BLKSIZE=23040 BUFNO=2   -- for 3380's                             
      BLKSIZE=27648 BUFNO=2   -- for 3390's                             
        See "SAS Benchmarks" below to see resource savings.             
        Note that the SAS Procedure supplied by SAS Institute contains  
        a default value of BLKSIZE=6144 on the WORK DD statement; you   
        must override that WORK DD and provide the correct BLKSIZE:     
           //    EXEC MXGSASV9                                          
           //WORK DD DCB=BLKSIZE=23040                                  
        The BLKSIZE option in the CONFIG member cannot override if a    
         DCB=BLKSIZE value was specified in the JCL.                    
    Options recommended with either SAS Version 5.18 or 6.06:           
        FIRSTOBS=1 OBS=MAX                                              
    So how do you specify these recommended/required MXG options?       
    In Version 5.18, MACRO and MWORK=28000 must be specified on the EXEC
    statement, but all other options could be specified on an OPTIONS   
    statement right after your SYSIN DD * statement.  However, so you do
    not have to remember them nor type them, MXG member SASOPTV5 has all
    of the recommended options in an OPTIONS statement, so you need only
    %INCLUDE SOURCLIB(SASOPTV5);  as your first SAS statement:          
         //stepname EXEC SAS518,OPTIONS='MACRO MWORK=28000'             
         //SYSIN     DD *                                               
            %INCLUDE SOURCLIB(SASOPTV5);                                
             ... the rest of your program ...                           
    For SAS Version 6.06+, options can be via an OPTIONS statement, via 
    the CONFIG DDNAME, or (as is MXG's recommendation), via the CONFIG= 
    JCL parameter on the EXEC statement.  MXG member CONFIG contains the
    MXG-required and recommended options, and was changed in MXG 9.3 to 
    increase BLKSIZE and MEMSIZE).  The CONFIG= parameter is much safer 
    than the CONFIG DD statement, since overriding DDs in PROCs must be 
    EXACTLY in the right order:                                         
         // EXEC SAS606,TIME=10,                                        
         //            CONFIG='MXG.SOURCLIB(CONFIG)'                    
 3. Format library differences between MVS SAS 6.06-5.18.               
    The MXG-built "SASLIB" formats are built by the first step of either
    JCLTEST (for SAS 5.18) or JCLTEST6 (for SAS 6.06).                  
    Under SAS Version 5.18, formats are members of a PDS load library   
    which must be allocated as SPACE=(CYL,(3,1,99)).  SAS 5.18 formats  
    are always referenced using the DDNAME of SASLIB.                   
    Under SAS Version 6.06, formats are members of a SAS data library,  
    which must be allocated as SPACE=(CYL,(1,1)). Note there is NOT a   
    third parameter in SPACE (for PDS directory blocks) because data    
    libraries in SAS 6.06 are physical sequential files.  SAS 6.06      
    formats are always referenced using the DDNAME of LIBRARY.          
    In either version of SAS, the blocksize is set by the PROC FORMAT.  
    MXG always requires the appropriate DDNAME (SASLIB or LIBRARY).     
    You will fail with SAS 170 FORMAT NOT FOUND errors if you do not    
    have the correct format library pointed to by the correct DDNAME.   
 4. MXG-under-CMS/SAS Installation and Execution Considerations.        
    a. CMS Format libraries are different.                              
    MXG Formats are created under SAS 6.06 by executing member FORMATS, 
    which creates a SAS Catalog that is named 0FORMATS LIBRARY (yes, the
    first character is a numeric zero and the third an alphabetic       
    "oh").  Since this catalog contains all of the MXG Formats, the     
    installation instructions on page 120 of the MXG Supplement ("iv.   
    Optionally copy TEXT into TXTLIB") no longer apply. Also the SASLIB 
    SASLIB option in the example is not used to access SAS 6.06 Formats 
    (although SASLIB SASLIB is still valid in SAS 6.06 to access SAS    
    5.18-built formats).  As long as the 0FORMATS LIBRARY file built by 
    member FORMATS is on your first disk, SAS 6.06 will automatically   
    find MXG formats there.                                             
    b. Virtual Storage requirement for MXG and SAS 6.06 with VM/370.    
    Executing under VM/370, MXG needed a 10MB machine for BUILDPDB, and 
    the BLKSIZE=1024 was specified to make sure it fit!  It was also    
    necessary to use the NOSSEG option to disable the "SAS Saved        
    Segment" so that addresses above 7MB could be use, because the SAS  
    Saved segment begins at address 7MB!  The NOSSEG only applies to    
    your machine, and is needed only for the big virtual memory programs
    that build lots of MXG datasets simultaneously (BUILDPDB, VMACVMXA, 
    VMACVMON, etc.).  The rest of MXG needs only a 4MB machine under    
    VM/370.  The BLKSIZE is set small in the REXXTES6 exec, so that the 
    virtual storage required for the biggest MXG programs (BUILDPDB)    
    would fit in the 10 meg I could get under VM/370, but you should    
    experiment to use the largest BLKSIZE you can (and still compile the
    data step!). Small block size reduces only the virtual storage size;
    a large block size will reduce CPU time, elapsed time, I/O          
    interrupts, and will actually reduce the real memory required       
    (always true for sequential access).                                
    Executing under VM/XA, MXG was tested in a 16MB machine.            
    c. CMS SAS 6.06 ZAPs required.                                      
    SAS ZAPS Z6062068 (add) and Z6060508 (remove) appear to solve the   
    only serious CMS SAS 6.06 problem. Without the zap, CMS MACLIB      
    CONCAT concatenation fails, and you cannot read members from the    
    second concatenation.                                               
    CMS has also caused strange syntax errors, partial execution, etc., 
    if your SYSIN is unnumbered and you did not use SAS OPTION S=72 (to 
    restrict SAS to use only the first 72 positions). Because all of    
    MXG source is numbered, the REXX examples now have added S=72 as a  
    default options.                                                    
    d. CMS Testing Notes.                                               
    The REXX exec that was used for MXG testing under CMS SAS 6.06 is in
    member REXXTST6.  Before the exec is invoked, you must first issue  
    the DEFINE STOR 10M command, followed by the IPL CMS command.  All  
    datasets are sent to your "T" disk, a temporary disk (199 cylinders 
    in the exec) that will go away at logoff, unless you use the USER=  
    SAS option, or PROC COPY.                                           
 5. SAS 6.06 "Data Set is Not Sorted" errors now fixed.                 
    "Data Set is Not Sorted" and other errors thought to be fixed by    
    Z6062141 (which was on the March 1991 SAS Usage Notes Tape) can     
    still crop up, if BUILDPDB is used with a data library that had been
    built before Z6062141 was installed.  Apparently the root problem   
    not only corrupted the WORK file, causing failure, but also in some 
    instances actually created a permanent SAS data set which had an    
    invalid record length in it.  If you have Z6062141 installed and    
    still encounter these errors, you should scratch and reallocate your
    SPIN and PDB data libraries.  The actual error occurs on a dataset  
    in your WORK library, often on WORK.GOOD30_4, and the error may not 
    mention SPIN or PDB names.  Scratching and reallocation your SPIN   
    library means that the data for jobs which are incomplete (i.e., in 
    your SPIN library) will be lost.  Additional work space errors were 
    also repaired by Z6062026, available on the current SAS Usage tape. 
 6. SAS 6.06 "VARIABLE VOLSER NOT FOUND" error now fixed.               
    ZAPs Z6061834 or Z6062315 will cause "VARIABLE VOLSER NOT FOUND"    
    with VMXGVTOC (but not VMXGVTOF) because the ZAPs are in error.     
    Z6062674 corrects the error, but read Change 8.294 first.           
 7. SAS 6.06 0C4 ABENDs with SMS-managed datasets.                      
    SAS 6.06 ABENDs with 0C4 during initialization if the datasets in   
    the CONFIG concatenation are SMS-managed datasets. SAS ZAP Z6062264 
    is required for SMS-managed datasets. See Change 8.294.             
 8. SAS 6.06 180-322 ERROR if CONFIG= is not specified.                 
    SAS 6.06 ABENDs with 180-322 ERROR message if you do not have in the
    CONFIG= parameter pointing to the MXG member CONFIG.  The error text
    "Expecting Variable Here" made it sound like a syntax error in MXG  
    type 110 processing!                                                
 9. SAS 6.06 013-14 ABEND if DCB does not contain RECFM=FS.             
    SAS 6.06 may ABEND with 013-14 "Error outside SAS System" when PROC 
    FORMAT tries to open the LIBRARY DD, or with USER 999 error "LIBRARY
    library, if the DDNAME being opened has only DSORG=PS specified.    
    SAS detects a version 6.06 library by RECFM=FS, and if only DSORG=PS
    is found, SAS say's it's not a SAS 6.06 dataset.  Adding RECFM=FS to
    the DD statement for all SAS data libraries will circumvent either  
    ABEND, but the SAS error has been fixed in SAS 6.07.  The 013-14    
    failure of PROC FORMAT was precipitated by the absence of RECFM=FS, 
    but enhanced by another error in FORMAT; it did not properly handle 
    the return code from OPEN properly, and thought you were trying to  
    open a 5.18 format library, and tried to set the DSORG to PO!       
    Specifying RECFM=FS corrects both.  Why did OPEN see only DSORG=PS  
    on a new dataset? Because the site was SMS-managed, and had used SMS
    to circumvent an HSM 2.5 error!  Because HSM 2.5 would not migrate a
    dataset that had not been opened, the site used SMS to always fill  
    in a DSORG=PS if nothing had been specified on the DD statement,    
    and the HSM error (fixed in HSM 2.6) was circumvented.  Although    
    SAS will be smarter and not fail in the future when just DSORG=PS   
    is found, MXG now specifies RECFM=FS in all 6.06 JCL examples.      
10. SAS 6.06 VERSIONLONG option identifies maintenance library level.   
    "But how do I know that my SAS installer has really installed the   
    current maintenance library from SAS" can now be answered.  The SAS 
    6.06 options "VERSIONLONG" will print the date of the maintenance   
    library in effect, on the SAS log, right after the SAS version      
    number ( for example).  MXG has added VERSIONLONG to
    the default options in member CONFIG.                               
11. SAS 6.06 Physical I/O Errors with UNKNOWN caused now fixed.         
    SAS 6.06 Physical I/O Errors with UNKNOWN cause occur with SAS multi
    volume libraries, and are fixed by Z6062241.  Read Appendix 2 of the
    SAS Companion for the MVS Environment if you need multi-volumes.    
12. SAS ABENDs with SAS ERROR: CPU TIME EXCEEDED.                       
    ABENDs with "CPU TIME EXCEEDED" messages can occur erratically in   
    either SAS 5.18 or 6.06+, if some task outside SAS issues a STIMER  
    macro. SAS itself issues a STIMER to capture and record the CPU time
    of each DATA/PROC step, but a second STIMER can confuse SAS into    
    thinking you have used lots of CPU time when you really didn't!  For
    some time, using FREE=CLOSE on a DD statement has been known to     
    cause this ABEND.  Now there is another source of STIMER conflict.  
    A site with TMS and Tape Silos found that if non-scratch tapes (to  
    TMS) were put in the Silo by operations (incorrectly) as scratch    
    tapes, the silo mounted the tape, but then TMS rejected the tape as 
    non-scratch, caused a second silo mount, and the job then (later)   
    ABENDs!  While I still don't know for sure why STIMERs are issued in
    either of these two cases, my guess is that Allocation is somehow   
    involved.  In any event, the solution is to specify the SAS option  
    NOSTIMER (it must be on the EXEC statement), which disables SAS     
    recording of CPU times on the log and in the SAS user SMF record,   
    but avoids the erratic ABEND.                                       
13. Protection of SAS date decoding for the next millennium.            
    Validation that dates into the next millennium are supported, or    
    creating an algorithm for decoding all dates has begun.  This is    
    an initial list of the input date formats and data functions:       
    a. SMF/RMF format input with SMFSTAMP8. and RMFSTAMP8. values:      
    These input formats were designed long ago to use the century bit,  
    even before IBM defined the c in 'tttttttt0cyydddF'x format, and    
    were properly converted in SAS 5.18. They fail (INVALID ARGUMENT)   
    in SAS 6.06, but are now corrected in Experimental 6.07.            
    b. DATEJUL(YYYYDDD), e.g. 1999365 or 2000001, INPUT YYYYDDD PD4.:   
    The DATEJUL function properly converts values in this format.       
    c. DATEJUL(0CYYDDD), e.g. 0099365 or 0100001), INPUT CYYDDD PD4.:   
    The DATEJUL function does not currently support the century bit,    
    but SAS has been asked to extend the function.  However, you can    
    convert the 0cyyddd value to a SAS date using:                      
    until the DATEJUL supports the century bit.                         
    d. C YY DDD in separate variables.                                  
    The correct algorithm to convert to SAS dates is:                   
    e. DDD and YYYY in separate variables.                              
    The correct algorithm to convert to SAS dates is:                   
14. Benchmarks of SAS 5.18, 6.06, and Experimental 6.07.                
    Test runs of MXG's JCLTEST6 stream has shown remarkable improvement.
    Whereas SAS 5.18 took 116 minutes elapsed time, SAS 6.06 reduced    
    that to 91 minutes, but SAS 6.07 needed only 40 elapsed minutes!    
    SAS 6.07 has also significantly reduced the CPU increase we saw with
    SAS 6.06.  JCLTEST6 used 8 CPU minutes under SAS 5.18, used 30 CPU  
    minutes under SAS 6.06, and 6.07 needed only 11 CPU minutes!        
    JCLTEST6 may not be typical of a daily PDB run, but it exercises SAS
    by building every possible MXG data set, one at a time, creating    
    lots of small data sets, and then PROC PRINT and PROC MEANSing them.
    The real benchmark job of interest is the daily BUILDPDB, which was 
    executed with an input SMF file of 10,000 steps, 3800 jobs, and 18  
    hours of RMF data, from 32MB of SMF data.  The results of several   
    experiments show consistent improvement in 6.07:                    
                  ---Read SMF Infile---    --Job Total--  Work     PDB  
     Experiment   CPU   Elapsed  Virtual   CPU   Elapsed  Tracks  Tracks
                  m:ss   m:ss              m:ss   mm:ss                 
     6.07-OBS=0    :40   1:28    17194K     :59    2:42    354     104  
     6.07-23040   2:12   5:31    15764K    2:58   10:48    578     474  
     6.07- 6144   2:11   6:03    15556K    2:58   12:00   1396     517  
     6.06-23040   2:34   7:40    12440K    3:28   15:07    803     494  
     5.18-23040   1:25    ?       4000K    2:08   14:25    691     438  
    The first Experiment was an execution with SMF DD DUMMY so no real  
    records were processed; this test exercised the SAS compiler and    
    actually created every data set in the PDB, but all had zero obs.   
    This run shows the minimum cost of a daily BUILDPDB is 59 CPU secs  
    and 2:42 elapsed minutes, and that 2/3 of that CPU and 1/2 of the   
    elapsed time is spent in the INFILE processing step of BUILDPDB.    
    This BUILDPDB was tailored to also process DB2 100 and 101 records, 
    so it is not exactly the overhead of the following four runs, which 
    did not include the DB2 processing.                                 
    The other four Experiments all read the 32MB SMF file and created   
    a representative PDB.                                               
    The 6.07-23040 and 6.07-6144 compare the impact, especially in the  
    size of the work file, of the BLKSIZE option.  The default 6144 run 
    required 1396 tracks of work space, but the half-track recommended  
    blocksize needed only 578 tracks.  The PDB dropped from 517 tracks  
    with 6144 to only 474 tracks with half-track blocking.  It should be
    quite clear why you want half-track blocksize on your MXG database. 
    Note CPU times were the same, testifying to improvements in the SAS 
    I/O engine, but the elapsed time is also improved by the half-track 
    blocksize, dropping from 12 to less than 11 minutes.                
    The 6.06-23040 experiment compared with the 6.07-23040 runs shows   
    the decrease in CPU (3:28 down to 2:58) and Elapsed (15 minutes down
    to less than 11) and reduced work space (803 down to 578) and PDB   
    size (494 down to 474) with the 6.07 improvements.                  
    The final 5.18-23040 experiment shows the 6.07 CPU did not quite get
    back to the old 5.18 value, but the run time improvement of 6.07 is 
    appreciable, and 6.07 used less work space than 5.18 too!           
    It was the analysis of these experiments that convinced me to change
    the CONFIG options for SAS 6.06+ to BLKSIZE=23040, BUFNO=2.         
    SAS gets a big ATTABOY for their improvements coming in SAS 6.07!   
IV. Documentation of MXG Software.                                      
Member CHANGES always contains the version number of MXG Software, and  
it lists changes that were installed in that version.  The members named
CHANGEnn have the contents of CHANGES when that "nn" MXG version was    
created.  Description of enhancements will be found in the text of the  
Change description that made the enhancement (in those CHANGES and      
CHANGEnn members).  The CHANGE  members can be scanned online (with SPF 
BROWSE) to search for specific product name references (CICS, MVS/ESA,  
etc.).  The text of each Change identifies the member(s) that were added
or altered by that change. Documentation (especially for new product's  
support) is usually also found in comments at the beginning of those    
members listed in the change entry.                                     
Member NEWSLTRS contains the text of all newsletters (up through the    
newsletter that accompanied that MXG release). You can search NEWSLTRS  
for product name or acronym to find the technical notes, APARs, etc.    
from all MXG newsletters.  (The Change Log of each Newsletter is not    
replicated in member NEWSLTRS, since that text will be in CHANGES).     
Member DOCVERnn is the "delta-documentation" (in abbreviated Chapter    
FORTY style) of only those variables and datasets that were changed     
between successive MXG Versions. There is a DOCVERnn "delta" member in  
the MXG library for each version.                                       
Penultimately, member DOCVER contains abbreviated Chapter FORTY format  
that documents all of the variables names in all of the MXG data sets   
that are created by that MXG Software Version (alphabetically by data   
set name and variable name).                                            
Finally, MXG is a source distributed system, so you can often find your 
answer by BROWSE/EDIT of the source member, especially the VMACs that   
actually create the data set, or ANALs that analyze the MXG data sets.  
In many instance, the MXG Variable name is the IBM or Vendor's field or 
DSECT field name. In other cases, the DSECT field name is carried as a  
comment beside in the MXG INPUT statement to map field name to MXG's    
variable name.  MXG expects you to also have access to the vendor's     
documentation of particular data records you are using for analysis.    
V. MXG Version 9.3 Installation, Space, Compatibility, etc.             
   MXG Compatibility Exposures in MXG Version 9.3 for Existing Users:   
   a.  The SAS options required by MXG for execution have changed since 
       MXG 7.7 (but not since MXG 8.8).                                 
   b.  Execution under SAS 6.06 is different than under SAS 5.18.       
   c.  To create your PDB directly on tape, IMACCICS must be changed.   
   d.  If you have added additional SMF record processing to BUILDPDB,  
       and you still execute MXG under SAS 5.18, you may encounter a    
       SAS Version 5.18 Compiler Limit "344" error. BUILDPDB is larger. 
       See Change 7.038 in member CHANGE07 for 344 error circumvention. 
Always read comments in the CHANGES member for compatibility issues, as 
well as for any last minute changes added after Newsletter composition. 
 1. Installation, re-installation, and Space Requirements.              
The MXG Installation instructions were found in Chapter 32 of the MXG   
Supplement for both new installation and for version replacement, and   
those instructions, plus this discussion, is still usable. MXG SOURCLIB 
member INSTALL will be a complete rewrite of Installation Instructions  
for MXG, consolidating both Chapter 32s and these notes.  After you have
unloaded the MXG SOURCLIB and read these notes, read member INSTALL.    
The MXG tape is distributed as a Non-Labelled (NL) tape with a single   
file, DCB=RECFM=FB,LRECL=80,BLKSIZE=32720, that is actually an unloaded 
Partitioned Data Set containing 1446 members (and about 322,585 source  
lines) in IEBUPDTE format.                                              
Under MVS use the IEBUPDTE utility to build the MXG.SOURCLIB library.   
Under CMS use the TAPPDS   command to build the SOURCLIB MACLIB library.
Under MVS, MXG Version 9.3 MXG.SOURCLIB requires SPACE=(CYL,(42,1,299)) 
and DCB=(RECFM=FB,LRECL=80,BLKSIZE=32720) on DASD.                      
Under CMS, approximately the same space (45 cylinders) will eventually  
required by the MXG SOURCLIB MACLIB, but during the CMS installation    
process you should have at least 100 free cylinders on your minidisk.   
MXG is tailored and extended by "Installation Macro" members (begin with
IMAC) and the "MXG Exit Facility" members (begin with EX) that are put  
in the installation's "USERID.SOURCLIB", the "MXG Tailoring" library,   
that is concatenated ahead of MXG.SOURCLIB in your SOURCLIB DDNAME:     
  //SOURCLIB DD DSN=USERID.SOURCLIB,DISP=SHR --> site tailoring (yours) 
  //         DD DSN=MXG.SOURCLIB,DISP=SHR    --> never changed  (mine)  
If this is an MXG re-install, there should already be a USERID.SOURCLIB.
If not, then allocate one using the same attributes as the MXG.SOURCLIB,
with SPACE=(CYL,(1,1,99)); for CMS create an equivalent MACLIB.         
Tailor by copying the member from my library to your library.           
IMAC.... members are self-documenting. IMACAAAA indexes all IMACs.      
You should create a member CHANGES in your USERID.SOURCLIB and record   
therein chronologically your MXG tailoring and installation history,    
just like the member CHANGES in our MXG.SOURCLIB tracks MXG itself.     
You must also browse the members in USERID.SOURCLIB. If there are VMACs 
members in your library, they will override the new MXG VMAC member, and
thus you should remove all VMACs that override MXG when you install a   
new verison of MXG. However, it is normal to have IMACs members there.  
   If you have installed printed changes from an MXG Newsletter, you    
   might-have copied VMAC member(s) from MXG.SOURCLIB into your site's  
   USERID.SOURCLIB and then made the changes therein, or alternatively, 
   you could have made a new PDS (we suggested the name MXG.CHANGLIB)   
   into which you put those in-between-version changes, concatenating   
   it between USERID.SOURCLIB and MXG.SOURCLIB until you receive this   
   new MXG Version.  In either case, if you made temporary changes,     
   now is the time to remove them.  Delete the changed VMACs members    
   from your USERID.SOURCLIB,  or remove the MXG.CHANGLIB from your     
   SOURCLIB concatenation.                                              
   If you have tailored IMAC.... members in your USERID.SOURCLIB, and   
   that member was changed by the new MXG Version, you must compare your
   member with the new MXG member, and retrofit your tailoring on the   
   new member.  These IMACs are of particular importance, if they exist:
   IMACPDB (options for BUILDPDB) has changed and must be retrofit.     
   IMACKEEP can cause syntax errors when MXG creates a new dataset from 
            an existing record. For example, in 8.8, CICS/ESA added new 
            CIC.... datasets in TYPE110/VMAC110 processing.  If IMACKEEP
            had been used to tailor the variables kept in CICSTRAN by   
            redefining the  _VAR110 macro (an appropriate use of this   
            tailoring exit), the new dataset will cause "Dataset not in 
            DATA statement" SAS error condition), until you retrofit    
            your IMACKEEP changes using _VAR110 from the current MXG.   
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 data set, and read the variable's descriptions in Chapter FORTY.    
 Summary of critical actions to be taken in installing new version:     
     a. All VMAC.... members in your USERID.SOURCLIB must be examined   
        and, in general, must be deleted.                               
     b. All IMAC.... members in your USERID.SOURCLIB must be compared   
        with the new IMAC.... members, and if there is a difference,    
        you MUST start with this version's IMAC and retrofit your       
        installation's tailoring. Member IMACAAAA indexes IMAC's.       
     c. It is always wisest to PROC PRINT the first 50 observations of  
        important datasets, especially PDB.JOBS, which can be affected  
        by user tailoring in IMACPDB. A visual scan of that PROC PRINT  
        serves as an excellent validation of correct installation, and  
        will almost always detect any serious problems BEFORE you begin 
        your production MXG runs!  See also the MXG utility UTILPRAL.   
VI. Change 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 is 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 printed NEWSLETTER (which might have   
 printed only the easily installed, critical part of the correction).   
 Always read the comments at the beginning of each source member named  
 under the Change Number for impacting changes.                         
 Documentation of new datasets and variables, validation status, notes, 
 etc., are usually in comments in the source members.                   
 Changes thru 9.104 are  contained in MXG PreRelease 9.3, Aug  1, 1991. 
 Changes thru 9.069 were contained in MXG PreRelease 9.2, July 1, 1991. 
 Changes thru 9.038 were contained in MXG PreRelease 9.1, June 3, 1991. 
 Changes thru 8.305 were contained in MXG Production 8.9, May 1, 1991.  
 Changes thru 8.285 were contained in MXG Production 8.8, Apr 8, 1991.  
 Changes thru 8.283 were printed in NEWSLETTER NINETEEN,  Apr 8, 1991.  
Alphabetic INDEX of significant changes in MXG 9.3 (all after MXG 8.8): 
  Member    Change   Description                                        
  ANALACHE  8.293  Cache RMF Reporter analysis uses 3990 records now.   
  ANALDB2R  8.299  Variable Not Found if only Acct Trace Long requested.
  ANALDB2R  9.030  DB2 Reports have incorrect values for some fields.   
  ANALDB2R  9.032  DB2 Audit Reports not created if PDB=SMF specified.  
  ANALDB2R  9.104  DB2 Trace TRANSIT report causes DATA IS NOT SORTED.  
  ANALRACF  9.064  RACF Analysis of OPERATOR,SPECIAL activity.          
  ANALTMS   9.059  PROC SUMMARY out of memory condition.                
  ANALVVDS  9.031  PERM should be changed to MXGVVDS.                   
  ANALVVDS  9.053  MXG 9.1 only, VMXGVVDS should have been MXGVVDS.     
  AS400PDS  8.286  AS400PDS contains no records.                        
  ASUM70PR  9.091  TYPE70PR data summarized into PDB.ASUM70PR           
  ASUMDBDS  9.012  TMON/CICS trending fails with Release 7 data.        
  ASUMJOBS  8.291  EXCPTOTL, IOTMTOTL were not kept in BATCHJOB.        
  BUILDPDB  9.049  SAS 6.06 and MXG 8.8 under MVS/370 options.          
  BUILDPDB  9.095  Dataset TYPE0203 added to default datasets built     
  CASORT66  8.295  SAS datasets destroyed by CASORT release 6.6.        
  CHANGE08  9.073  Example to create _DAY in 8.213 was wrong            
  CONFIG    9.022  Option VERSIONLONG specified to display SAS version. 
  DIFFDB2   9.080  Not all DB2STAT0/1 variables were deaccumulated      
  EXPDB304  9.034  BUILDPDB/3 steps data creation exit.                 
  EXPDB6    9.034  BUILDPDB/3 steps data creation exit.                 
  IEBUPDTE  8.286  Unload of MXG 8.8 set condition code 4.              
  IMACACCT  8.290  ACCOUNT FIELD n LENGTH WRONG corrected.              
  IMACCICS  9.005  PDB cannot be built on tape unless IMACCICS changed. 
  IMACEXCL  9.051  Support for CICS type 110 EXCLUDE statement.         
  IMACFMTS  9.066  New IMAC for user formats for SAS 6.06.              
  IMACKEEP  9.017  A better way to drop MXG variables not using IMACKEEP
  JCLDASD   9.031  MXGDASD,PERM DDNAMEs should be DISK,MXGDASD          
  SPUNJOBS  9.005  PDB.SPUNJOBS on tape caused 207 error.               
  SPUNJOBS  9.013  SPUNJOBS timestamps not 8 bytes, truncating values.  
  TLMS      9.041  TLMS causes 713-04 ABEND if DBLTIME=0.               
  TRND70PR  9.091  TYPE70PR data creates new TREND.TRND70PR             
  TRND71    9.092  TYPE71 data creates new TREND.TRND71                 
  TRND72    9.093  MVS/ESA 4.2 variables added to TREND.TRND72          
  TRNDDB2A  8.301  DB2 Acct trending failed in 2nd week of execution.   
  TRNDDB2S  8.301  DB2 Stats trending failed in 2nd week of execution.  
  TRNDVMXA  9.028  VM/XA Trend Data Base implemented.                   
  TRNDVMXA  9.089  VM/XA Trended PFXUTIME and PCTCPUBY incorrectly      
  TYPEMON8  9.011  TMON/CICS Release 9.0 supported via conversion only. 
  TYPEMON8  9.015  TMON/CICS Version 8 History file cause MXG failure.  
  TYPEPDL   8.297  Fujitsu FACOM MSP and FSP support replaced XPDLPDA.  
  UTILCICS  9.019  Not Sorted error corrected for CICS/ESA dictionary.  
  VDOCACHE  9.027  Documentation re-write has begun.                    
  VMAC110   8.292  Unexpected Statistics Subtype due to Boole CICSMGR.  
  VMAC110   9.051  Support for Shared Medical Systems CICS modifications
  VMAC110   9.062  Support for CICS/ESA 3.2.1.                          
  VMAC110   9.084  CICS PCLOADCN has different meaning.                 
  VMAC110M  9.008  SAS 5.18 344 circumvention caused BUILDPDB failure.  
  VMAC28    9.061  Support for NetView Performance Monitor NPM 4.1.1.   
  VMAC30    9.001  INVALID DATA FOR SMF30ASO with MVS/ESA 4.2 eliminated
  VMAC30    9.085  STCs starting with A confused APPC logic.            
  VMAC42    9.048  Circumvention of IBM DFP 3990 Cache type 42 errors.  
  VMAC57    9.010  Invalid ESS Section message due to IBM error.        
  VMAC6     9.083  OUTDEVCE changes affect PRINTLNE, EXTWTRLN           
  VMAC6156  9.046  TYPE6156 variables ACTION, FUNCTION not valid.       
  VMAC7072  9.001  INVALID DATA FOR IOCRFC with MVS/ESA 4.2 eliminated. 
  VMAC7072  9.054  MXG 9.1 only, Change 9.001 incompletely installed.   
  VMAC7072  9.070  TYPE72 CPUHPTTM,CPUIIPTM,CPURCTTM wrong in MVS 4.2   
  VMAC7072  9.072  TYPE70PR LCPUADDRs 2 and 3 wrong if DEDICATED CPU    
  VMAC73    9.001  INVALID DATA FOR IODFDATE in MVS/ESA 4.2 eliminated. 
  VMAC74    9.001  First STOPOVER with MVS/ESA 4.2 data corrected.      
  VMAC74    9.039  Second STOPOVER with MVS/ESA 4.2 data corrected.     
  VMAC78    9.055  STOPOVER with MVS/ESA 4.2 data corrected.            
  VMAC78CU  9.047  Missing fields due to IBM microcode errors.          
  VMAC79    9.007  Support for (archaic?) RMF 3.5.1 type 79 records.    
  VMACACF2  8.289  ACF 5.2 new variables not kept.                      
  VMACACF2  9.086  ACF2 REC=L CN=3 records were not output              
  VMACACHE  8.293  Cache RMF Reporter support enhanced and decoded.     
  VMACAIM2  8.298  Fujitsu AIM database manager records corrected.      
  VMACCADM  9.021  Support for CADAM's Statistics Data File.            
  VMACCTLD  9.038  Support for 4th Dimension's CONTROL-D SMF record.    
  VMACDCOL  8.285  IBM DASD measures use MB for million, not megabytes. 
  VMACDMON  9.065  ASTEC RLDCNT,RDLCNT incorrect                        
  VMACEPIL  8.284  Support for EPILOG/CICS 451 added, and enhanced.     
  VMACEPIL  8.287  Invalid member on MXG 8.8 replaced.                  
  VMACFTP   9.056  Support for NetView FTP User SMF record.             
  VMACHSM   9.097  Support for HSM 2.6 SMF record                       
  VMACILKA  9.020  Support for Interlink's SNS/TCPaccess SMF record.    
  VMACILKG  9.020  Support for Interlink's SNS/SNA Gateway SMF record.  
  VMACILKV  9.020  Support for Interlink's SNS/TCPvt  SMF record.       
  VMACIMS   9.063  TYPEIMS Input Queue time correction.                 
  VMACNSPY  9.033  STOPOVER protection for invalid records.             
  VMACNSPY  9.044  STOPOVER with NETSPY Accounting record.              
  VMACNSPY  9.045  NETSPY Accounting subtype caused STOPOVER.           
  VMACSMF   9.094  New message at end of SMF processing on log          
  VMACSPMS  9.088  Support for Amdahl's SPMS Release 1.2 SMF record     
  VMACTAO   9.018  Support for Fischer's Totally Automated Office TAO.  
  VMACTMS5  9.016  Support for CA-1 (TMS) Release 5 complete rewrite.   
  VMACTMS5  9.057  Missing semicolons.                                  
  VMACUCB   9.002  3490E cartridge tape now recognized.                 
  VMACVMXA  8.296  VM/XA used more work space than really required.     
  VMACVMXA  9.096  'LOGICAL RECORD SPANS" message corrected             
  VMXGHSM   9.009  HSM MCD data can cause STOPOVER.                     
  VMXGVTOF  9.035  SAS 5.18 only, did not read all extents.             
  VMXGVTOF  9.040  First Extent on each volume lost.      .             
  WEEKBLD   9.050  Submitting job may need DCB on INTRDR DDNAME.        
  XMAC74    9.054  MXG 9.1 only, Change 9.001 incompletely installed    
Inverse chronological list of all Changes:                              
 Changes 9.104-9.001 and 8.305-8.284 were printed here in Newsletter 20 
  See member CHANGE09 for actual change text.                           
End of Changes Log in Newsletter TWENTY.