****************NEWSLETTER NINETEEN*************************************
             MXG NEWSLETTER NUMBER NINETEEN April 8, 1991               
Technical Newsletter for Users of MXG :  Merrill's Expanded Guide to CPE
                         TABLE OF CONTENTS                              
I.   MXG SOFTWARE Version status.                                       
  1. Production MXG Version is MXG 8.8, shipped April 8.        page   2
  2. Recent IBM Announcements and their MXG support.            page   3
II.  MVS Technical Notes.                                       page   3
  1. SMF CI Size should be 22K/26K for 3380/3390 devices.       page   3
  2. Timestamps in CICS and DB2 records may have wrong hour.    page   3
  3. PSF Printer utilization analysis.                          page   4
  4. Use PDB.STEPS for ABEND analysis.                          page   4
  5. Duplicate-Job-Name-HOLD delay detection.                   page   5
  6. APAR OY40625 for Vector Processors.                        page   5
  7. APAR OY36668 captures PR/SM LPAR "overhead".               page   5
  8. OPPSI, Operator Single System Image in a SYSPLEX.          page   5
  9. APAR OY31613, PTF UY56157 in error, lost jobname.          page   5
 10. DFSORT Release 10 invalid type 16 SMF Sort record          page   5
 11. SHARE 76 Paper "MVS/ESA Performance and Accounting Data"   page   6
III. VM  Technical Notes.                                               
  1. SHARE 76 Paper "VM/ESA Measurement Facilities"             page  28
IV.  SAS Notes.                                                         
  1. SAS 6.06 has been repaired, and can be safely used.        page  37
  2. SAS 6.06 and 5.18 options now REQUIRED by MXG 8.8.         page  37
  3. Format libraries differences between MVS SAS 6.06-5.18.    page  38
  4. CMS-MXG Installation and Execution Considerations.         page  39
  5. SAS Input formats for times and timestamps.                page  40
  6. "Close" of data libraries was changed by SAS 6.06.         page  40
V.   Documentation of MXG Software.                             page  41
VI.  Installation, Space, Compatibility, for MXG 8.8.           page  41
VII. Change Log  Changes 8.283 to 8.187.                        page  44
      (Alphabetic INDEX of Significant Changes on page 44)      thru  72
I.   MXG SOFTWARE Version status.                                       
  1. Production MXG Version is now MXG 8.8, dated April 8, 1991.        
 MXG Version 8.8 is shipped with NEWSLETTER NINETEEN to all sites, and  
 should be installed as soon as possible.  MXG 8.8 is mandatory for MXG 
 execution under SAS 6.06 or later, has MANY major enhancements, and has
 been testing at over 500 MXG sites.  MXG 8.8 WILL SAVE YOU TIME LATER, 
        Support for Amdahl MDF Performance Tool "MPT" SMF record.       
        Support for Amdahl MDFTRACK record.                             
        Support for Amdahl SPMS Cache DASD Controller SMF record.       
        Support for Boole IMF 2.6 (for IMS 3.1).                        
        Support for Cray COS 1.16 Operating System Data.                
        Support for DASD Space management with fast VTOC read program.  
        Support for DASD VTOCs and VVDSs for SMS variables.             
        Support for Hitachi processors MLPF.                            
        Support for IBM CICS/ESA 3.1.1 Monitor and Statistics Data.     
        Support for IBM DCOLLECT data records.                          
        Support for IBM DCOLLECT data records.                          
        Support for IBM HSM user SMF records, including deaccumulation. 
        Support for IBM HiperBatch statistics in SMF type 14, 15, & 64. 
        Support for IBM IMS/ESA 3.1.                                    
        Support for IBM MVS/ESA 4.1.                                    
        Support for IBM MVS/ESA 4.2.                                    
        Support for IBM NETVIEW/NPM 1.4                                 
        Support for IBM RMF 4.1.2 (APAR OY29112, PTF UY90666).          
        Support for IBM RMF 4.2.0                                       
        Support for IBM RMF 4.2.1                                       
        Support for IBM SMS records (HSM, VVR, VVDS, SMS/DFP) enhanced. 
        Support for IBM VLF subtype 3 in SMF type 41.                   
        Support for IBM VM/ESA Version 1 Release 1.0 (ESA Feature).     
        Support for Landmark's Monitor for CICS Version 8.              
        Support for Landmark's TMON/MVS Version 1.1 and spanned records.
        Support for Oracle SMF record.                                  
        Support for RSD WSF2 version 3.3.4.                             
        Support for Tangram Arbiter Version 2.1.1.                      
        SPIN library fills due to JES2 maintenance circumvented.        
        CICS Shutdown Statistics no longer printed, only in SMF or MXG. 
        Documentation of Trend Data Base processing.                    
        Documentation of DB2 analysis.                                  
        Documentation of IMAC.... installation tailoring members.       
        Corrections in IMS Log measurement of INPQUETM/RESPNSTM.        
        NPM records from VM can be processed.                           
        Testing of MXG Version 8.8 under SAS 6.06 Version 6.06.         
        DB2 trace SQL reporting.                                        
        DB2 trace Transit Time reporting.                               
        BUILDPDB/3 Enhancements.                                        
        - SPIN library copied into PDB for backup and recovery          
        - ACCOUNTn and SACCTn added to SMFINTRV.                        
        - TYPE25 processing added for JES3.                             
        - PDB.SPUNJOBS allows reporting on jobs still in SPIN library.  
  MXG Software next-release agenda (subject to change):                 
        Validation of EXPLORE/VM, EPILOG/CICS, and restructure of the   
          AS400 support was not complete as this was written.           
        DB2 2.3 will be supported when available, late this year.       
        CICS 3.2 will be supported when available, later this year.     
        Landmark CICS Version 9 will be developed later this year.      
        Cray UNICOS is a future consideraton.                           
        VAX/VMS Account/SPM is a future consideration.                  
        JES3 Tape Mount Merge with TYPETMNT is a future consideration.  
  2. Recent 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/PreRelease of MXG required to support that IBM product.        
   Product Name                     Availability     MXG Version        
                                    Date              Required          
   VM/ESA  1.1.0 (370 Feature)      Oct 26, 1990.        7.7            
   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.        8.8            
   RMF 4.2.1 (for MVS/ESA 4.2)      Mar 29, 1991.        8.8            
   VM/ESA  1.1.0 (ESA Feature)      Mar 29, 1991.        8.8            
   VM/ESA  1.1.1                    Dec 27, 1991.        ???            
II.  MVS Technical Notes.                                               
  1. SMF CI Size should be 22K/26K for 3380/3390 devices.               
  SMF VSAM data sets should use a CI size of 26K for 3390's and a CI    
  size of 22K for 3380's, to reduce physical I/Os to the VSAM file and  
  to optimize disk storage space for SYS1.MANs. The DCB for the output  
  data set created by the IFASMFDP program MUST specify:                
           DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=32760)      on tape       
           DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=23476)      on 3380       
           DCB=(RECFM=VBS,LRECL=32760,BLKSIZE=27998)      on 3390       
  to avoid potential SMF data loss.  Yes, the IFASMFDP utility defaults 
  to BLKSIZE=32767, but off-the-shelf packages have failed with that    
  irrational and inappropriate value, often corrupting data. The BLKSIZE
  should always be 32760 for sequential data on tape, and should be the 
  half-track-value if you dump to DASD devices. Since the record format 
  is VBS, there is no required relationship between BLKSIZE and LRECL   
  (if RECFM is V or VB, there IS the requirement that BLKSIZE be 4-bytes
  larger than LRECL, but is not true for VBS). Since the actual maximum 
  LRECL that can be written by SMF writer is 32760 (including the RDW)  
  does actually occur (a subtype 1 type 79 record with over 330 active) 
  the LRECL MUST be 32760. If you specify a smaller LRECL on your dump  
  output AND a real 32760 RDW LRECL record occurs, it will be truncated!
  2. Timestamps in CICS and DB2 records may have the "wrong" hour of the
   day, if the sites PARMLIB member PARMTZ (370) or TIMECLOCK (XA,ESA)  
   is non-zero.  While ALL other SMF records reflect the site's true    
   "Time-of-Day", and while the SMFTIME value in the DB2 and CICS SMF   
   records is "true", only DB2 and CICS use TIMECLOCK internally which  
   causes DB2 variables QWACBSC, QWACESC, QWHSSTCK, and CICS variables  
   STRTTIME, ENDTIME to contain the "Time-of-Day" Plus or Minus the site
   TIMECLOCK value.  This is true no matter which vendor writes the data
   records for CICS and/or DB2.  Sure makes analysis harder!  While the 
   MXG exit facility can be used to correct these times, it sure would  
   be better if DB2 and CICS would conform to the rest of the SMF data! 
3. PSF Printer utilization analysis in ANALPRTR and associated members  
    solve several long-term analysis problems.  This is a brief summary 
    of that implementation.                                             
   The IBM 3800-3 Printer running under PSF has several unfortunate     
   characteristics that make it difficult to measure directly with TYPE6
   (PDB.PRINT) data for predictions of performance and print throughput.
   First, each time that a set of banner pages is encountered, a printer
    pauses for about 9.5 seconds.  This does not occur when the printer 
    is running in 3800-1 emulation mode, (i.e., as a JES printer), but  
   only when the printer is running under PSF.                          
   Second, the NPRO value set for PSF (in JES JOBPARMS or in the PSF JCL
    Procedure) affects how long a job's output will sit in the transfer 
    station before it is mechanically moved through the fuser and into  
    the output stacker.  Since there is 9 feet of paper in the path, if 
    each job were pushed into the output stacker immediately upon its   
    print completion, paper would be wasted.  Instead, thejob's SYSOUT  
    is left at the transfer until:                                      
    a) Another JOB begins printing and pushes the job to the stacker, or
    b) The operator mashes the NPRO button, or                          
    c) The amount of time specified in NPRO parameter expires.          
   The SMF type 6 record will not be timestamped until the SYSOUT has   
    reached the output stacker and (this may be important) also when the
    printer is ready to print the next job.  If an operator presses NPRO
    (to eject) but then fails to press READY button, the type 6 will not
    be timestamped until (much?) later.  For PSF printers throughput in 
    ANALPRTR, an NPRO is said to have occurred whenever there were NPRO 
    minutes between the end of one and the start of the next event, and 
    the NPRO value is subtracted from the previous print duration, which
    more accurately reflects true printer utilization.  Note that this  
    approximation cannot estimate printer utilization due to paper jams,
    out of paper, out of toner, or other operator intervention.         
   One site found 215 ppm printers actually ran at only 90 ppm because  
    the average print job was much less than 25 pages!                  
4. Use PDB.STEPS for ABEND analysis.  Steps ABEND, jobs don't.          
   ABEND Analysis should always be done with the PDB.STEPS (or TYPE30_4)
   data set). The PDB.JOBS (or TYPE30_5) is not valid for ABEND data.   
   Programs ABEND, jobs don't!  And multi-step jobs can have multiple   
   ABENDs.  In addition, the ABEND and CONDCODE variables in PDB.JOBS   
   are taken from TYPE30_5, but it turns out that the 30_5 may not be   
   valid. Flushed steps following an ABEND can create a job termination 
   record with SYSTEM abend flagged, but with a zero CONDCODE value!    
   You really want to use the step level data for ABEND analysis anyhow,
   because you can then identify which PROGRAMS are causing failures.   
   You may have fifteen jobs which ABENDed because of the same program; 
   using PROGRAM name will show the culprit, whereas using JOB wouldn't.
   The first few characters of PROGRAM will identify the "group" that   
   wrote the program (eg., IBM utilities, vendor software, in-house     
   written COBOL programs, etc.). You can provide management with a     
   clearer picture of what failures occur, for example, by using:       
           DATA ABENDS;                                                 
            SET PDB.STEPS;                                              
            IF ABEND GT " ";      /*select only failing programs*/      
            LENGTH GROUP $3.;     /*use 1st 3 characters for group*/    
            KEEP GROUP PROGRAM ABEND CONDCODE;                          
           PROC SORT DATA=ABENDS; BY GROUP;                             
           PROC FREQ DATA=ABENDS; BY GROUP;                             
  5. Duplicate-Job-Name-HOLD delay detection.                           
   JES2 users frequently submit series of jobs with identical job names,
   because they want the jobs to sequence themselves one at a time. The 
   input wait time (IWT is READTIME to INITTIME) will be wrong, as it   
   includes the time waiting in "HOLD". (Note this is not a problem with
   TYPRUN=HOLD jobs, because variable TYPRUN identifies them).  Freddie 
   Arie at Lone Star Gas saw that the key condition to identify a       
   Duplicate-Name-Held-Job delay is when the "end of execution" of the  
   preceding job is LATER than the read-in time of this job. For these  
   jobs, the previous job's "end time" must be used for this job's start
   of "read-in". For a job that was NOT delayed due to duplicate name   
   hold, we use variable JRDRTIME as the "read-in" instead of READTIME  
   for two reasons. First, JRDRTIME is the "end of read-in event", and  
   more appropriate than the READTIME, the "start of read-in event".    
   Second, for jobs submitted via NJE, READTIME is on the clock of the  
   submitting node (e.g., EST), while JRDRTIME is on the clock zone of  
   the receiving (executing) node, so its use eliminates the NJE clock  
   differences.  For jobs which are delayed due to duplicate job name   
   hold, the "end of execution" time to be used for the next job depends
   on whether this job was also restarted.  For a job that was NOT      
   restarted (i.e., RESTART=1), the JTRMTIME is the "end" to be used.   
   Consider, however, a job restarted due to data set name enque.  That 
   single job could sit in hold for hours, while the other duplicate    
   jobs continued to execute.  For restarted jobs, then, we use JRSTTIME
   (the actual time the operator first restarted the job) for "end" time
   in the IWT calculation of the subsequent duplicate name job.         
   This algorithm is not perfect.  If a sequence of duplicate jobs spans
   two PDB's, the first job in the second PDB will not be recognized as 
   a part of a duplicate jobname hold family, and the IWT time for that 
   first job will be incorrectly calculated from JRDRTIME instead of the
   real "end time".  Using a weekly or monthly PDB as input reduces this
   probability, but it cannot be completely eliminated.                 
   This algorithm is now implemented in the ASUMJOBS member, summarizing
   and reporting batch job service from the PDB.JOBS, which is also used
   as the input to create the PDB.JOBSKED for batch service objectives. 
   With the new implementation, the IWT reported by ASUMJOBS output no  
   longer includes delay due to duplicate job name hold condition.      
  6. APAR OY40625 is mandatory if you use Vector Processors. Without it 
     fix, the Vector Processor Affinity CPU times are wrong. The fix is 
     needed for MVS/ESA 3.1.3 thru 4.1.0.                               
  7. APAR OY36668 captures PR/SM LPAR management time and LPAR overhead.
  8. OPPSI, Operator Single System Image in a SYSPLEX, RMF support      
     consists of six new traceable fields (with TYPE76).                
  9. MVS/XA Only, APAR OY31613, PTF UY56157 is in error and can lose the
     Job name in SMF records. The APAR recognizing the PE (PTF in Error)
     is OY38538 and a SUPERZAP fix existed 12/11/90.                    
 10. DFSORT Release 10 occasionally produces a type 16 SMF Sort record  
     with exactly 24 hours CPU TCB time. The problem goes away in Rel 11
 11. SHARE 76 Paper "MVS/ESA Performance and Accounting Data"           
          that is now captured in MVS/ESA Version 4.2                   
                    H.  W.  Barry Merrill, PhD                          
                       Merrill Consultants                              
                       Dallas, Texas 75229                              
     Portions of this paper were presented/published at/in:             
            UKCMG 90 Glasgow, Scotland May 21, 1990                     
            SWCMG    Austin, Texas     Jun 21, 1990                     
            MXG Newsletter SEVENTEEN   Jul 10, 1990.                    
            SHARE 76 San Francicso, CA Feb 26, 1991.                    
            MXG Newsletter NINETEEN    Apr  8, 1991.                    
This  paper  identifies  the  significant changes in data elements that 
are now captured by MVS/ESA 4.2.  PR/SM CPU "overhead" is now measured. 
Three new CPU measures captured in SMF type 30 and type 72 data affect  
billing and capacity measures.  Step level use of HIPERSPACE DataSpace  
resources (like CPU time) are captured.  "Resident Frame Seconds" of    
Central AND Expanded memory are separated for each performance group.   
Print is identified to the step. Blocked paging exists.  New APPC/MVS   
has resource accounting SMF data.  The SMF writer itself is enhanced.   
This paper includes all changes in these releases:                      
    MVS/ESA 3.1.0e  MVS/ESA 3.1.3   MVS/ESA 4.1   MVS/ESA 4.2           
    MVS RMF 4.1.1       RMF 4.1.2       RMF 4.2       RMF 4.2.1         
a. New MVS/ESA CPU measures, two old, one new, have been added.         
  "RCT"  - Region Control Task (Quiesce/Restore/Swap), caused           
CPURCTTM   by TSO swapping.  This time has always existed,              
           (as uncaptured CPU), and was the major contributor           
           to poor TSO capture ratios.                                  
  "IIP"  - I/O Interrupt Processing (Second Level Interrupt             
CPUIIPTM   Handler, SLIH).  This time has always existed,               
           (as uncaptured CPU), and affected all workload's.            
           capture ratios.                                              
  "HPT"  - Hiperspace processing CPU time. Hiperspace CPU time          
CPUHPTTM   displaces functions which formerly were measured under       
           TCB (or SRB). For example, a SORT using Hiperspace will      
           significantly REDUCE the recorded TCB CPU time, because      
           function moved from TCB to HPT.  DFSORT benchmarks show      
           TCB reduced from 100 to 50 seconds, but HPT recorded 25      
           seconds; thus actual CPU reduction was only 100 to 75!       
           Billing/Capacity measures based on only TCB+SRB time are     
           very inaccurate in a Hiperspace environment.                 
             Hiperspace CPU time is only recorded for tasks that        
             execute in a User Protect Key, and only User Key Data      
             Spaces are under control of the IEFUSI exit for size.      
             Most IBM uses of dataspaces (HiperBatch, VLF, DFP, CATALOG)
             use Key Zero to avoid IEFUSI virtual storage limitations,  
             and thus will not record HPT CPU time (nor DSSIZHWM, see   
         You MUST use all seven CPU measures in billing/capacity:       
 CPUTM = TCB + SRB + ITCB + ISRB + RCT + IIP + HPT                      
b. PR/SM "overhead" is captured with APAR OY36668 in ES/9000 or 3090J's.
   The "Effective Dispatch", LCPUEDTM, is recorded for each partition in
   The difference between the Partition Dispatch LCPUPDTM and this new  
   Effective Dispatch LCPUEDTM is the CPU time that this partition was  
   dispatched for the LPAR management of this partition.                
   In addition to this LPAR management time for each partition, there is
   a new "psedo" partition named "PHYSICAL" that exists only in the RMF 
   type 70 record and which creates a separate observation in TYPE70PR. 
   This observation with LPARNAME='PHYSICAL' contains only LCPUPDTM,    
   which records the additional LPAR management CPU time that could not 
   be charged to a specific partition.                                  
               Total Partition Dispatch (CPU) Time                      
         (LCPUPDTM summed for all real partitions + PHYSICAL)           
        LPAR #1         LPAR #2        LPAR # 2       "PHYSICAL"        
      LCPUPDTM        LCPUPDTM        LCPUPDTM         LCPUPDTM         
    _______________ _______________ _______________ ______________      
         LCPUEDTM        LCPUEDTM        LCPUEDTM                       
          LPAR1           LPAR2           LPAR3                         
         Effective       Effective       Effective                      
    __              __              __              ______________      
     1               2               3                "Physical"        
     In-partition LPAR Management Time               Other LPAR time    
 The PR/SM "low utilization" affect has now been measured with these    
 new fields.  While the LPAR management time may be 6-10% when the      
 total LCPUPDTM busy is 60-70%, when the total busy is 95%+, the LPAR   
 management decreases into the 2-3% range.  (Note, however, that the    
 LPAR management time for a CAPPED partition is substantially higher).  
 Most of all, now you can finally measure the LPAR management time!     
 IBM's RMF reports will use the "Effective" dispatch time as the 100%   
 CPU busy denominator (because then the LPAR numbers can be compared    
 with non-PR/SM utilization numbers).                                   
 Unrelated but included in this APAR, LCPUCAP identifies if             
 Hard Capping is in effect, and LCPUCAPC identifies if there            
 were any changes in the Hard Capping status.                           
c. Three new CPU times were added to SMF type 30 in MVS 3.1.0e, but were
   NOT added to RMF type 72 until MVS/ESA 4.2 (RMF 4.2.1).  RMF capture 
   ratios decrease when you migrate from MVS/370 to MVS/ESA 3.1.0e, and 
   then increase when you install MVS/ESA 4.2, but now they're right!   
TYPE 70 (RMF-captured CPU measurement of real or logical CPUs):         
    Elapsed Interval (Duration multiplied by number of CPUs)            
 ______________________________________________________ ---------       
                      CPU                                  CPU          
                    Executing                            Waiting        
 ________ ________ _________ ________ ________ ________                 
  CPU 1    CPU 2    CPU 3     CPU 4    CPU 5    CPU 6                   
   Busy     Busy     Busy      Busy     Busy     Busy                   
 Total Hardware CPU Busy Time (from Type 70 "non-wait")                 
        (solid=captured      dashed=uncaptured)                         
 Total Hardware CPU Busy Time (from Type 70 "non-wait")                 
TYPE 72 (use only the control performance groups):                      
 ___________ ----- ----- _________________ ------------                 
  TCB   SRB   TCB   SRB   IIP   RCT   HPT  Uncapturable                 
  CPU   CPU   CPI   CPI   CPU   CPU   CPU      CPU                      
 _____ _____ ----- ----- _____ _____ _____ ------------                 
  RMF   RMF   Uncaptured  Captured in      Uncapturable                 
  TCB   SRB   Initiator    RMF 4.2.1         RMF CPU                    
  CPU   CPU   Privileged  Uncaptured in                                 
                           RMF 4.1.2-4.2                                
 ___________ ------------_____ _____ _____ ------------                 
              Existed,    Existed,   New,  Uncapturable                 
   TCB+SRB    Uncaptured Moved from  was     RMF CPU                    
              by RMF but Uncaptured  RMF                                
              is in SMF.    to       TCB                                
 _____ _____     +       _____ _____ _____   = CPUTM, sum of 5.         
TYPE 30 (all work started and ended):                                   
 _____ _____ _____ _____ _____ _____ _____ ------------                 
  SMF   SMF   SMF   SMF   SMF   SMF   SMF  Uncapturable                 
  TCB   SRB   TCB   SRB   IIP   RCT   HPT      SMF                      
  CPU   CPU   CPI   CPI   CPU   CPU   CPU      CPU                      
 _____ _____ _____ _____ _____ _____ _____   = CPUTM, sum of 7.         
d. Type 30 SMF record Step Hiperspace/Data Space Activity               
   added several measures:                                              
    HIPAGINS - Hiper Page Ins                                           
    HIPAGOUT - Hiper Page Outs                                          
    DSSIZHWM - Data Space/Hiperspace High Water Mark, Megabytes         
               (if non-zero, identifies Data Space/Hiperspace user)     
    CREADMIS - CREADS Missed in Hiperspace                              
    DIVRREAD - Address Space total Reread Count                         
    ABNDRSNC - ABEND reason code                                        
    TERMNAME - Terminal Identification                                  
e. Type 72 Performance Group CPU/paging/memory measures                 
 BLKSAUIN - Blocks paged in from Auxiliary DASD                         
 BLKSESIN - Blocks paged in from ESTORE                                 
 HIPPGINS - Hiperspace Page Ins from Aux DASD                           
 HIPRDMIS - Hiperspace Read Misses (CREADS in 30s)                      
 PGPAGEIN - Page Ins from Auxiliary DASD                                
 PAGEESIN - Page Ins from Expanded Storage                              
 PGBKESIN - Blocked pages paged in from ESTORE                          
 PGBKTOIN - Blocked pages paged in total (ESTORE+AUX)                   
 CPUHPTTM - Hiperspace CPU time               Actual times              
 CPUIIPTM - I/O interrupt processing CPU      and not                   
 CPURCTTM - Region control task CPU time      service units!            
 SYSTRNTM   System transaction time           point of entry            
                                              until termination         
 ACTFRMTM - Frame-seconds of CS+ES memory occupancy while tasks in      
            this performance group period were "SRM Resident".          
            This includes both Central Store and Expanded Store         
            frames, but does not include Nucleus or Common Area         
            (since they are not in an address space), and does          
            NOT include frames of Logically Swapped ASIDs.              
 ACTESFTM - Frame-seconds of ES memory occupancy while tasks in         
            this performance group period were "SRM Resident".          
            This is the ES part of ACTFRMTM.                            
 MSOUNITS - Represents frame-seconds of Central Store memory            
            occupancy, but only while executing TCB.                    
 For example, assume:                                                   
     DURATM   = Duration of Interval           100 seconds              
     RESIDTM  = Accumulated Residency Time     800 seconds              
     ACTFRMTM = Central+ESTORE              80,000 frame-seconds        
     ACTESFTM = ESTORE                      30,000 frame-seconds        
     MPL  = (800/100) = 8 users are resident, on average.               
     ES Frames = (30,000/100)        = 300 ES Frames (1.2 MB) used      
     CS Frames = (80,000-30,000)/100 = 500 CS Frames (2 MB) used        
       (-------------)      = CS + ES frames used by perf group period  
       (-------------)      = ES frames used per user                   
    (--------------------)  = TCB-only CS frames used per user          
f. New TYPE71 counts of blocked pages paged in, blocks in, PWSS size    
   (primary working set size), pages migrated, and the number of        
   ESTORE frames that were freed without migration:                     
         BLKSAUIN - Blocks paged in from AUX                            
         PGBKAUIN - Blocked pages paged in from AUX                     
         ESPGFRNO - ESTORE frames freed without migration               
         PWSSMIIN - PWSS pages migrated from ESTORE                     
    TYPE71 contains four new swap reason codes, because MVS now has     
    four additional reasons for swapping an address space:              
      AW - APPC Wait swap, awaiting a Transactio Program.               
      IC - Improve Central Storage usage swap, by recognizing           
           page thrashing.                                              
      IP - Improve System Paging Rate swap, identifies that             
           your PTR controls are causing swaps.                         
      MR - Make Room to swap in a user who has been swapped             
           out too long. When an Exchange Swap should have              
           occurred, SRM starts a clock, defaults to 30 sec             
           for TSO, 10 min for non-TSO, and will bring that             
           task back in if it stays out that long.                      
  For each swap reason, there are five new variables for the swap rate  
  of each possible transition (EXTAUX.., LOGAUX.., LOGEXT.., PHYAUX..,  
  and PHYEXT..). The sum of all transitions for each swap reason,       
  (i.e., the total swap rate for that reason code) is in the new        
  variables SWAPIC, SWAPIP, and SWAPMR.                                 
g. TYPE 71: Overall System Memory measurement in MVS/ESA:               
 Area      Expanded Frames     Central ("Real") Frames                  
           Avg, Min, Max       Avg, Min, Max                            
           Measures            Measures                                 
 CSA       CSAEXAV,MN,MX         n/a                                    
 Hiper     HIPEXAV,MN,MX         n/a                                    
 LPA       LPAEXAV,MN,MX         n/a                                    
 LSQA      LSQAEXAV,MN,MX      LSQAREAV,MN,MX                           
 REG+SQA   REGSEXAV,MN,MX        n/a                                    
 SQA       SQAEXAV,MN,MX       SQAREAV,MN,MX                            
 VIO       VIOEXAV,MN,MX         n/a                                    
 Type      Pages           Pages             Pages                      
           Read            Written           Migrated                   
           From ESTORE     To ESTORE         To Aux                     
 Hiper     HIPREADS        HIPWRITS          HIPMIGRS                   
 VIO       VIOREADS        VIOWRITS          VIOMIGRS                   
 Total     EXTREADS                                                     
 Hiper page ins    HIPAGINS                                             
 Hiper page outs   HIPAGOUT                                             
h. Blocked/Unblocked Paging/Blocks summary.                             
Sequential I/O is always better (less CPU, less real memory, less       
elapsed time) with blocks of logical records than unblocked records.    
MVS/ESA 4.2 introduces "Blocking" (multiple pages in a block).  What we 
knew as "pages" are now counted as "unblocked pages". The following     
schematic tabulates the SMF suffix of measured/calculated counts in the 
type 30  record:                                                        
 Type 30 IBM           Pages    Blocked    Blocks                       
                      (Unblkd)  Pages                                   
      from AUX         pia       BIA        KIA                         
      from ESTORE      PIE       BIE        KIE                         
      to   AUX         poa       BOA        KOA                         
      to   ESTORE      POE       BOE        KOE                         
 Type 30 MXG           Pages    Blocked    Blocks                       
                      (Unblkd)  Pages                                   
      from AUX         PAGEINS   PGBKAUIN   BLKSAUIN                    
      from ESTORE      PAGEESIN  PGBKESIN   BLKSESIN                    
      to   AUX         PAGEOUTS  PGBKAUOU   BLKSAUOU                    
      to   ESTORE      PAGEESOU  PGBKESOU   BLKSESOU                    
This next table shows the fields in the type 72, and as might be        
expected, they contain only inbound paging activity.                    
 Type 72 MXG                         Pages    Blocked    Blocks         
                                     (Unblkd)  Pages                    
   In from AUX                       pgpagein  PGBKAUIN   BLKSAUIN      
   In from ESTORE                    PAGEESIN  PGBKESIN   BLKSESIN      
The type 71, global paging, surprisingly contains only these new fields:
 Type 71 MXG                          Pages    Blocked    Blocks        
                                     (Unblkd)  Pages                    
   In from AUX         total                   PGBKAUIN   BLKSAUIN      
                       Hiperspace     hipagins                          
   In from ESTORE      Hiperspace     hipreads                          
   In from ESTORE      VIO            vioreads                          
   In from ESTORE      total          extreads                          
   Out to  AUX         Hiperspace     hipagout                          
   Out to  ESTORE      Hiperspace     hipwrits                          
   Out to  ESTORE      VIO            viowrits                          
   Migrates to AUX     Hiperspace     HIPMIGRS                          
   Migrates to AUX     VIO            VIOMIGRS                          
i. TYPE70PR  - PR/SM Processor Partition Data                           
Durations of partition                                                  
 DURATM     Duration of interval                                        
 LCPUEDTM   Effective logical processor dispatch time                   
 LCPUPDTM   Logical processor dispatch time                             
 PRSMSLIC   Dispatch interval timeslice                                 
Identification of partition                                             
 LCPUADDR   Logical processor CPUID address                             
 LPARNAME   Logical partition name                                      
 LPARNUM    Logical partition number                                    
Status flags and numbers                                                
 DIAG204F   Diagnose X204 failure?                                      
 LCPUDED    Logical processor dedicated?                                
 LCPUWAIT   LPAR Wait Completion (Yes/No)?                              
 NRPRCHGD   Was the number of CPUs changed?                             
 PARTFLG    Was the Partition deactivated?                              
 SLICCHGD   PRSMSLIC Time-slice was changed?                            
 LCPUSHAR   Processor relative share                                    
 LPARCPUS   Number of CPUs in this LPAR                                 
 NRCPUS     Number of CPUs                                              
 NRPRCS     Number of logical partitions                                
 PARTISHN   Partition number of this MVS                                
 PARTNCPU   Nr of CPUs available to this partition                      
Read ZZ05-0453-01 "PR/SM Performance in LPAR Mode" (IBM Internal, from  
your IBM SE) for additional important PR/SM information.                
j. TYPE72MN - RMF III Monitor subtype of type 72 record                 
MVS/ESA creates an RMF record from RMF Monitor III,                     
but only a small part of the data captured by RMF III                   
is written to SMF, for each Performance Group:                          
  User Statistics                Frame Statistics                       
  AVGUSER  - Logged On           FRAMEACT - Active Frames               
  AVGACTS  - Active Users        FRAMEDIV - DIV Frames                  
  AVGACTV  - Active Not OUTR     FRAMEFIX - Fixed Frames                
  AVGDIVS  - D-I-V Users         FRAMEIDL - Idle Frames                 
  AVGIDLS  - Idle Users                                                 
  Delayed Users Statistics       Miscellaneous                          
  AVGOUTR  - Out and Ready       FRAMEASM - Slots Used                  
  AVGPAGDL - Delayed Paging      PGINRATE - Page Ins                    
  AVGSWPDL - Delayed Swap        DOMAIN   - Domain                      
                                 PERFGRP  - Perf Group                  
  Averages of Averages                                                  
  WSETACT  - Avg working set per active user                            
  WSETASM  - Avg ASM slots used per user                                
  WSETDIV  - Avg working set per DIV user                               
  WSETFIX  - Avg fixed frames per user                                  
  WSETIDL  - Avg working set per idle user                              
k. I/O Activity measurement, non-VSAM, VSAM, DASD, TAPE:                
TYPE1415 Non-VSAM File, for each open of each file:                     
 DSSNO      Dataset serial number                                       
 IDRC       3480 IDRC compaction used?                                  
 NULLSEG    null segment encountered?                                   
 PDSE       PDSE (formerly ILIB) managed data set?                      
 SMFCHITS   HiperBatch successful searches                              
 SMFCIOS    HiperBatch DASD I/Os copied into buffers                    
 SMFIOREQ   HiperBatch total searches                                   
 SMFNMWTS   HiperBatch conflict suspends                                
 SMFPHIOS   HiperBatch searchs that caused DASD I/O                     
 TRUNC      TRUNC MACRO issued?                                         
TYPE64 VSAM File, for each open of each file:                           
 ACBBUFND   BUFND - Number of Data Buffers                              
 ACBBUFNI   BUFNI - Number of Index Buffers                             
 ACBBUFSP   BUFSP - Buffer Space                                        
 ACBMACR    MACRF flag bytes (Random, Seq, Input, Output, etc.)         
 ACBSTRNO   STRNO - String number                                       
 BUFDRNO    Actual number of buffers                                    
 JCFBDSNM   Cluster Name                                                
 PLHCNT     Actual number of concurrent strings                         
 SMF64HIT   HiperBatch successful searches                              
 SMF64IOS   HiperBatch DASD I/Os copied into buffers                    
 SMF64MIS   HiperBatch searches that caused DASD I/Os                   
 SMF64SIO   HiperBatch total searches                                   
 SMF64WTS   HiperBatch conflict suspends                                
TYPE 21 Tape Volume Dismount                                            
 BYTEREAD  Bytes read                                                   
 BYTEWRIT  Bytes written                                                
 DCBOFLG   DCBOFLG control byte                                         
 DEVICE    Device type                                                  
 OPEN      Type of OPEN                                                 
 TAPCUSER  Tape unit serial of creation device                          
 TAPUNSER  Tape unit serial of this device                              
 TEMPRBER  Temporary read backward errors                               
 TEMPRFER  Temporary read forware errors                                
 TEMPWRER  Temporary write (buffered) errors                            
TYPE74 DASD Volume Activity                                             
 DASDRCFG - Number/Storage Group Options                                
 STORGRUP - Storage Group Name                                          
 CUNAME   - Control unit name                                           
 DEVMODEL - Device model name                                           
 AVGPNDIR - Avg ms per I/O delay due to director port busy              
 DLYDIRTM - Total seconds  delay due to director port busy              
 PCTPNDIR - Percent of time when delayed due to director port busy.     
l. RMF Monitor III Cross-System Coupling Facility (XCF) reports         
 on message traffic between local system (where RMF executes)           
 and remote systems creates four new TYPE74xx datasets:                 
TYPE74CO - control data                                                 
 R742MNXT - Member data sections in next records                        
 R742MTOT - Member data sections in all records                         
 R742PNXT - Path data sections in next record                           
 R742PTOT - Path data sections in all records                           
 R742SNXT - System data sections in next records                        
 R742STOT - System data sections in all records                         
 R742TSR  - Subtype 2 records in interval                               
TYPE74ME - member data                                                  
 R742MGRP - Group name                                                  
 R742MMEM - Member name                                                 
 R742MRCV - Signals received by member                                  
 R742MSNT - Signals sent by member                                      
 R742MSTF - Status flags                                                
 R742MSYS - System name where member resides                            
TYPE74SY - system data                                                  
 R742SBIG - Number of "big message" conditions                          
 R742SBSY - Number of "no buffer" conditions                            
 R742SDIR - Direction of the message traffic                            
 R742SFIT - Number of "message fit" conditions                          
 R742SMXB - Maximum message buffer space                                
 R742SNME - System name                                                 
 R742SNOP - Number of "no path" conditions                              
 R742SOVR - Big messages that exceeded OPT message length               
 R742SPTH - Signaling paths currently in service                        
 R742SSML - Number of "small message" condiions                         
 R742SSTF - Status flags                                                
 R742STCL - Message length for transport class                          
 R742STCN - Transport class name                                        
TYPE74PA - path data                                                    
 R742PAPP - Path was busy when selected to transfer                     
 R742PDEV - Device number                                               
 R742PDIR - Direction path                                              
 R742PIBR - Inbound signals refused due to max message limit            
 R742PMXM - Maximum message buffer space                                
 R742PNME - System name                                                 
 R742PODV - Device number on other end                                  
 R742PONA - Name of system on other end                                 
 R742PQLN - Outbound signals pending transfer on path                   
 R742PRET - Path retry limit                                            
 R742PRST - Number of restarts                                          
 R742PSIG - Out/In bound signals sent/received over path                
 R742PSTA - Path status                                                 
 R742PSTF - Status flags                                                
 R742PSUS - Path not busy when slected to transfer '                    
 R742PTCN - Transport class name                                        
m. DFP 3.2 Statistics and Configuration                                 
TYPE 42 record contains 3 new subtypes that create five new datasets:   
TYPE42AU "Audit" VARY SMS, ACTIVATE SMS, or ENF event occurrence, but   
  is relatively unimportant:                                            
 CURRTIME   Current update timestamp                                    
 SMF42EAC   Activate, ENF, or VARY SMS?                                 
 SMF42EAD   Active control dataset name                                 
 SMF42ENS   New MVS volume status                                       
 SMF42EOS   Old MVS volume status                                       
 SMF42ERC   Return code                                                 
 SMF42ERS   Reason code                                                 
 SMF42ESD   Source control dataset name                                 
 SMF42ESN   Name of storage group                                       
 SMF42EST   Resulting status after action                               
 SMF42ESY   "ALL", or first 8 system names                              
 SMF42EUA   UCB address for the device                                  
 SMF42EVL   Volume serial number                                        
TYPE42CU Model 3990-3 Cache Control Unit Statistics,                    
 for each cache controller having an SMS volume attached.               
 Identification and timestamps                                          
 SMF42CID   Subsystem identifier                                        
 CURRTIME   Current update timestamp                                    
 LASTTIME   Last update timestamp                                       
 Statistics during interval                                             
 SMF42AFW   Average fast-write waits per minute                         
 SMF42AHR   Average hit ratio                                           
 SMF42CCT   Current I/O count for the subsystem                         
 SMF42LCT   Last    I/O count for the subsystem                         
 SMF42CFW   Current fast write wait count                               
 SMF42LFW   Last    fast write wait count                               
 SMF42CRH   Current cache normal read hit percent                       
 SMF42LRH   Last    cache normal read hit percent                       
 SMF42CWM   Current fast write waits per minute                         
 SMF42LWM   Last    fast write waits per minute                         
 Storage capacity/availability                                          
 SMF42CSS   Subsystem storage capacity                                  
 SMF42NCS   Subsystem non-volatile storage status                       
 SMF42NSZ   Non-volatile cache capacity                                 
 SMF42SAP   Storage allocated for PINNED data                           
 SMF42SCS   Storage director caching status                             
 SMF42SPR   Non-volatile storage allocated for PINNED                   
 SMF42SSA   Storage available for allocation as CACHE                   
 SMF42SSU   Storage unavailable due to failures                         
TYPE42VL Status for each SMS volume behind 3990-3                       
 CURRTIME   Current update timestamp                                    
 SMF42CID   Subsystem identifier                                        
 SMF42DB1   Device status flags one                                     
 SMF42DB2   Device status flags two                                     
 SMF42DEV   Device number                                               
 SMF42VOL   Volume Serial Number                                        
TYPE42SC Storage Class Buffer Manager Facility (BMF) Statistics         
 for each Storage Class. (Interval set in IGDSMSxx).                    
 DURATM     Interval duration                                           
 SMF42PNN   Storage Class Name                                          
 SMF42SDH   Directory data page read hits                               
 SMF42SDT   Directory data page reads                                   
 SMF42SRH   Member data page read hits                                  
 SMF42SRT   Member data page reads                                      
 STARTIME   Start timestamp of the interval                             
TYPE42TO Buffer Manager Facility (BMF) Totals for all Classes.          
 DURATM     Interval duration                                           
 SMF42LGE   Largest size of storage                                     
 SMF42TDH   Directory data page read hits                               
 SMF42TDT   Directory data page reads                                   
 SMF42TNA   Number of storage classes                                   
 SMF42TRH   Member data page read hits                                  
 SMF42TRT   Member data page reads                                      
 STARTIME   Start timestamp of the interval                             
n. TYPE6 JES Printer Record Enhancements                                
Step identification of source of print                                  
 SMF6DDNM   DDNAME that created printing                                
 SMF6DSNM   JES assigned temporary DSNAME of the print dataset          
 SMF6PRNM   PROCSTEP that created printing                              
 SMF6STNM   STEPNAME that created printing                              
 SMF6USID   USERID that created printing                                
 SUBSYS6    Printing Subsystem (JES/PSF) used.                          
 SMF6PRMD   Processing mode (PAGE/LINE) of print.                       
 SMF6FDNM   FORMDEF name used                                           
 SMF6PDNM   PAGEDEF name used                                           
 SMF6PTDV   PRINTDEF name used                                          
Print security identification                                           
 SMF6NPS    Security page segments used                                 
 SMF6NSFO   Security fonts used                                         
 SMF6NSOL   Security overlays used                                      
 SMF6OTOK   Output user security token                                  
 SMF6SECS   Security label of print dataset                             
Enhanced SYSOUT Support, ESS. JES2 only, not PSF.                       
  (fields also added to type 24 and 57 SMF records).                    
 SMF6IND    ESS segment indicator                                       
 SMF6JDVT   JCL definition table name in JDTV                           
 SMF6SGID   Segment identifier                                          
 SMF6TU     Text unit (SWBTU) data area                                 
 SMF6TUL    Text unit (SWBTU) data area langth                          
Yes/No Print Activity flags                                             
 BINnUSED   BIN Number n was used?                                      
 CONTRIN0   SPIN data set?                                              
 CONTRIN1   Operator terminated print?                                  
 CONTRIN2   Operator restarted print?                                   
 CONTRIN3   Print intrepreted?                                          
 CONTRIN4   Operator interrupted print?                                 
 CONTRIN5   Print continuation?                                         
 CONTRIN6   Operator overrode?                                          
 CONTRIN7   Restart with destination?                                   
 CONTRIN8   Received operator restart?                                  
 CONTRIN9   Operator started single space?                              
 DIADPLWS   Data page labelling suppressed?                             
 DIAJHWP    Job trailer page printed?                                   
 DIASLIG    Job header page printed?                                    
 DIAUPAWS   User print are suppressed?                                  
 DPAGELBL   Keyword DPAGELBL=YES?                                       
 ERROVRUN   Image overrun error?                                        
 ERRSECOV   Error in security overlay?                                  
 INTEGRTY   Security label integrity?                                   
 PRSUCCES   Print operation successful?                                 
 SPAGELBL   Keyword SPAGELBL=YES?                                       
 STDUPLEX   Standard duplex used?                                       
 SYSAREA    Keyword SYSAREA=YES?                                        
 TMBUPLEX   Tumble duplex used?                                         
o. Data-In-Virtual (DIV) and Virtual Lookaside Facility (VLF):          
TYPE41AC (DIV Accessed) and TYPE41UN (DIV Unaccessed)                   
Common to both Access and Unaccess                                      
 ACCSTIME   Time when object was accessed                               
 DDNAME     DDNAME used                                                 
 JOB        Job name or TSO user accessing                              
 OBJMODE    Access mode (Read/Update)                                   
 OBJSIZEA   Object size (blocks) when accessed                          
 OBJTYPE    Object type (DA)                                            
Additional data at Unaccess in TYPE41UN                                 
 IOCALREA   Total I/O calls for read                                    
 IOCALWRT   Total I/O calls for write                                   
 OBJSIZEU   Object size (blocks) when unaccessed                        
 TOTREADS   Total blocks read (including rereads)                       
 TOTRREAD   Total blocks re-read                                        
 TOTWRITE   Total blocks written                                        
 UACCTIME   Time when object was unaccessed                             
TYPE41VF Virtual Lookaside Facility (VLF) statistics                    
APARs OY28799 and OY288800 for MVS/ESA create a                         
 type 41 subtype 3 interval (15 min) record for                         
 each class in the COFVLFxx PARMLIB member.                             
 SMF41CLS   Class name                                                  
 SMF41SRC   Times cache was searched                                    
 VLFHITPC   Percent of searches found in VLF                            
 SMF41ADD   Objects added to cache during interval                      
 SMF41DEL   Objects deleted from cache                                  
 SMF41FND   Objects found in cache                                      
 SMF41TRM   Objects trimmed from cache                                  
 SMF41LRG   Largest object ever attempted                               
 SMF41MVT   MAXVIRT specified                                           
 SMF41USD   Amound of storage used                                      
 R. Shannon of Aetna pointed out that the LLA's use of VLF causes       
 type 41 data to report LLA's utilization near 100%, but LLA still      
 adds modules, because LLA only calls VLF for modules that LLA had      
 previously cached.  Additionally, the storage used reported by         
 VLF is not the high-watermark, but is the end of interval value.       
 SMF records can be created from the CSVLLIX1 exit to provide the       
 detail fetch statistics, but (too?) many records are created.          
p. Structural changes in SMF writer recording and SMF management.       
   Control Interval of SMF VSAM data set can be 22K (finally!!!). This  
   change is in ESA 3.1.3.  SMF initially now gets 259 buffers (CIs) at 
   startup. If CIsize is 4K, thats only 1MB, but with recommended 22K   
   CIsize, 22K*259=6MB and thus SMF address space must be 6MB. If SMF   
   needs more buffers, they are above the line to a maximum of 32MB.    
   SMF internal buffers can be reclaimed from a SYSMDUMP, SVCDUMP or a  
   Standalone dump with IPCS SMFDATA command into a VSAM dataset.       
   Buffer shortage msg at 80% redisplayed if increases, deleted at 70%. 
    Gets 200 more buffers (CIs) up to 4000 buffers (=32MB)              
    The percentage number does not decrease as buffers are freed.       
   SMF Exits can use 31-bit addressing AMODE(31). Callers in Cross mem  
   can now call SMF (MODE=XMEM on SMFEWTM). New IEFU85 exit exists.     
   LASTDS options in SMF PARMLIB controls SMF when last SMF dataset full
    MSG  - send message, start buffering data (default)                 
    HALT - put system in restartable WAIT STATE ('D0D-01')              
   NOBUFFS options in SMF PARMLIB when internal buffers fill            
    MSG  - send message and enter data lost mode (default)              
    HALT - put system in restartable WAIT STATE ('D0D-00')              
   Type 4, 5, 34, and 35s are dead.                                     
    Flags are set when data is not in thes records and 30s must be used:
      CPUWRONG to "Y" if TCB time has overflowed                        
      EXCPLOST to "Y" if over 1635 DD statements                        
      IBM's ESA SMF manual now states:                                  
       "Only the type 30 record should be considered valid."            
   MSS (Mass Storage System) device is no longer.                       
 What happens when SMF records suddenly fill SMF?                       
 A site had 450 CYL of 3380 for all SMF data sets, enough for their     
 full day's data.  When they migrated to MVS/ESA 4.1.0, SMF datasets    
 filled at 3:15pm.  Ninety minutes later, the SMF buffers filled and    
 recording stopped.  (ESA buffering gave the operator 1.5 hours)!       
 An increased number of SMF type 60 for Non-VSAM Record "NVR" updates   
 (added by SMS/DFP 3.2, because now ALL data sets, VSAM and non-VSAM    
 must be in the VVDS) is thought to be the cause, but because the site  
 lost all SMF data it's not proven.  The site did turn off the type 60s 
 and the problem has not recurred.  The only use of the 60s data that I 
 know of are third-party products to re-build a broken VVDS.  No IBM    
 utility uses type 60s.  If you do not have such a product, it is my    
 suggestion that you not record type 60 SMF records, because I have not 
 found them needed for analysis, nor do I know of anyone who has used   
 them.  If anyone has ever found the type 60s useful, please contact me.
 If no one replies, I will change my suggestion to a recommendation.    
 In 90 minutes the site filled the 32MB (fixed maximum) ESA buffers, or 
 only 6213 bytes per second were being moved from your address space to 
 the SMF address space for eventual (asynchronous) writing to DASD. With
 an SMF CI size of 22K, this is a physical write to DASD every 4 seconds
    or only about 15 I/Os per MINUTE !!!!!!!!!!!!                       
    to a device capable of 40 I/Os per SECOND !!!!                      
 Again, this should prove that the SMF writer and SMF data sets are NOT 
 stressed, that the SMF data sets do NOT require special treatment, and 
 SMF data volume does not cause performance degredation.                
q. System Managed Storage, SMS, extensions.                             
  System  Managed  Storage  (SMS)  now uses formerly reserved bits      
  located at offset '4E'x  in  the  DSCB1  in  your  VTOCs.   DASD      
  products  like  DMS/OS  and ASM2 have used these bits, and local      
  modifications (to CSECTS IFG0196W and IFG0194E) have also caused      
  this  "DSCB  Contamination".IBM published "Clean up VTOCs Before      
  Implementing DFP V3"(as WSC Flash 9009, Hone Entry  G022345)  to      
  advise you of the exposure.  If DSCB contamination is found, you      
  must not only clean the VTOCs of your online data sets, but  you      
  will need to also clean all migrated datasets, since their DSCBs      
  were also migrated and your  migration  software  will  need  to      
  correct the contamination when datasets are recalled.                 
  These new SMS variables are contained in DASD VTOCs:                  
  DS1CRSDB  DADSM Create originated blocksize?                          
  DS1PDSE   PDSE Managed Dataset?                                       
  DS1REBLK  Data set may be reblocked?                                  
  DS1SCCPF  Secondary is compacted by factor of 1, 256, 65536?          
  DS1SECUN  units of allocation (avblk,bytes,kilo,mbytes A/B/K/M)       
  DS1SCXTV  Secondary space extension value                             
  DS1SMSDS  System managed dataset?                                     
  DS1SMSUC  No BCS entry exists for data set?                           
  OFFSET4E  Offset 4E into DSCB1 (used by SMS)                          
DCOLLECT is a new IDCAMS facility, that creates a flat file with        
seven different records containing VTOC, VVDS, and HSM measures.        
While DCOLLECT does not include 100% of the raw records, it can         
avoid reading the VVDSs and VTOCs, which are now defined by IBM         
as "product-sensitive programming interfaces", meaning that the         
format and content of data records can change from release to           
  Eg., a VVDS cannot be casually allocated, and an authorized           
  ASM program is required to capture VVDS data into SMF).               
DCOLLECT records are part of the SAA preferred type of data that IBM    
now calls a "general-use  programming interface".                       
IBM documentation for the records produced by DCOLLECT is spread across 
several manuals. GC24-3540-00, "DFSMS Planning and Reporting" overviews.
Three datasets, DCOLDSNS (data sets), DCOLVOLS (volumes) and            
DCOLCLUS (VVDS), are built from VTOC/VVDS information, and their        
contents are described in Appendix E of DFP 3.2 "Access Method          
Services for Integrated Catalog Facility", SC26-4562-1.                 
Four datasets, DCOLMIGS (migrations), DCOLBKUP (backup), DCOLCAPD       
and DCOLCAPT (HSM tapes) are HSM-related and they are described         
(poorly, DCOLLECT is not even cited in the table of contents nor        
in the index) in Chapter 17 (User Application Interfaces) of            
SH35-0084-4, "DFHSM 2.5.0 Installation and Customization Guide".        
   Variable Type Length  Format       Label                             
   DCUSYSID  CHAR   4              SYSTEM*ID                            
   UBDATCL   CHAR  30              DATA CLASS NAME                      
   UBDCLNG   NUM    4              DATA CLASS LENGTH                    
   UBDEVCL   CHAR   1              DASD*OR*TAPE?                        
   UBDSIZE   NUM    4              MIGRATED COPY*DATA SET SIZE          
   UBDSNAM   CHAR  44              USER*DATASET*NAME                    
   UBMCLNG   NUM    4              MANAGEMENT CLASS LENGTH              
   UBMGTCL   CHAR  30              MANAGEMENT CLASS NAME                
   UBSCLNG   NUM    4              STORAGE CLASS LENGTH                 
   UBSTGCL   CHAR  30              STORAGE CLASS NAME                   
   DCUSYSID  CHAR   4              SYSTEM*ID                            
   UCLEVEL   NUM    4              LEVEL*OF*VOLUME                      
   UCTOTAL   NUM    4              TOTAL*CAPACITY*OF VOLUME             
   UCVOLSR   CHAR   6              VOLUME*SERIAL                        
   Variable Type Length  Format       Label                             
   DCUSYSID  CHAR   4              SYSTEM*ID                            
   UCEMPTY   NUM    4              NUMBER OF*EMPTY TAPE*VOLUMES         
   UTFULL    NUM    4              NUMBER OF*FULL TAPE*VOLUMES          
   DCAASSOC  CHAR  44              CLUSTER*NAME                         
   DCACMPNT  CHAR   1              DATA OR*INDEX*COMPONENT?             
   DCADSNAM  CHAR  44              DATASET*NAME                         
   DCAFLAG1  CHAR   1 HEX2.0       TYPE*FLAG                            
   DCAFLAG2  CHAR   1 HEX2.0       STATUS*FLAG                          
   DCAKR1ST  CHAR   1              1ST SEGMENT*OF KR*DATA SET?          
   DCATYPE   CHAR   4              ENTRY*TYPE                           
   DCUSYSID  CHAR   4              SYSTEM*ID                            
   DCDBKLNG  NUM    4              BLOCK*SIZE                           
   DCDCHIND  CHAR   1              CHANGE*INDICATOR?                    
   DCDCREDT  NUM    4 DATE9.0      CREATE*DATE*(SAS DATE)               
   DCDDATCL  CHAR  30              DATA*CLASS                           
   DCDDCLNG  NUM    4              DATA*CLASS*LENGTH                    
   DCDDSNAM  CHAR  44              DATASET*NAME                         
   DCDDSORG  CHAR   2              DSORG                                
   DCDDSSER  CHAR   6              DATASET*SERIAL*NUMBER                
   DCDEMNGD  CHAR   1              SMS*MANAGED*INCONSISTENCY?           
   DCDERROR  CHAR   1 HEX2.0       ERROR*FLAG                           
   DCDEXPDT  NUM    4 DATE9.0      EXPIRE*DATE*(SAS DATE)               
   DCDFLAG1  CHAR   1 HEX2.0       STATUS*FLAG                          
   DCDFLAG2  CHAR   1 HEX2.0       CATLG*FLAG                           
   DCDGDS    CHAR   1              GDG*DATA*SET?                        
   DCDINICF  CHAR   1              DATA SET*IS CATALOGED*IN ICF?        
   DCDINTCG  CHAR   1              DATA SET*IS AN ICF*CATALOG?          
   DCDLBKDT  CHAR   8              LAST*BACKUP*DATE                     
   DCDLRECL  NUM    4              RECORD*SIZE                          
   DCDMCLNG  NUM    4              MANAGEMENT*CLASS*LENGTH              
   DCDMGTCL  CHAR  30              MANAGEMENT*CLASS*NAME                
   DCDNMEXT  NUM    4              NUMBER*OF*EXTENTS                    
   DCDNOFM1  CHAR   1              NO FMT 1*DSCB FOR*THIS DATASET?      
   DCDNOVVR  CHAR   1              NO VVR*FOR THIS*DATA SET?            
   DCDPDSE   CHAR   1              PDSE*EXTENDED?                       
   DCDRACFD  CHAR   1              DATA SET*IS RACF*DEFINED?            
   DCDREBLK  CHAR   1              DATA SET*MAY BE*REBLOCKED?           
   DCDRECFA  CHAR   1              ANSI*CONTROL*CHARACTER?              
   DCDRECFB  CHAR   1              BLOCKED*RECORDS?                     
   DCDRECFC  CHAR   1              MACINE CONTROL*CHARACTER?            
   DCDRECFF  CHAR   1              FIXED*LENGTH*RECORDS?                
   DCDRECFT  CHAR   1              TRACK*OVERFLOW?                      
   DCDRECFU  CHAR   1              UNDEFINED*LENGTH*RECORDS?            
   DCDRECFV  CHAR   1              VARIABLE*LENGTH*RECORDS?             
   DCDSCLNG  NUM    4              STORAGE*CLASS*LENGTH                 
   DCDSGLNG  NUM    4              STORAGE*GROUP*LENGTH                 
   DCDSMSM   CHAR   1              SMS-MANAGED*DATA*SET?                
   DCDSTGCL  CHAR  30              STORAGE*CLASS                        
   DCDSTGRP  CHAR  30              STORAGE*GROUP*NAME                   
   DCDTEMP   CHAR   1              TEMPORARY*DATA*SET?                  
   DCDUSESP  NUM    4 MGBYTES5.0   USED*SPACE*(MGBYTES)                 
   DCDVOLSQ  NUM    4              VOLUME*SEQ                           
   DCDVOLSR  CHAR   6              VOLSER                               
   DCUSYSID  CHAR   4              SYSTEM*ID                            
   ORGEXPDT  NUM    4              ORIGINAL*JULIAN*EXPDT                
   DCUSYSID  CHAR   4              SYSTEM*ID                            
   UMDATCL   CHAR  30              DATA CLASS NAME                      
   UMDCLNG   NUM    4              DATA CLASS LENGTH                    
   UMDEVCL   CHAR   1              DASD*OR*TAPE?                        
   UMDSNAM   CHAR  44              USER*DATASET*NAME                    
   UMLEVEL   NUM    4              CURRENTLY*MIGRATED*LEVEL             
   UMMCLNG   NUM    4              MANAGEMENT CLASS LENGTH              
   UMMGTCL   CHAR  30              MANAGEMENT CLASS NAME                
   UMSCLNG   NUM    4              STORAGE CLASS LENGTH                 
   UMSTGCL   CHAR  30              STORAGE CLASS NAME                   
   DCUSYSID  CHAR   4              SYSTEM*ID                            
   DCVDVNUM  NUM    4 HEX3.0       DEVICE*NUMBER                        
   DCVDVTYP  CHAR   8              DEVICE*TYPE                          
   DCVERROR  CHAR   1 HEX2.0       ERROR*FLAG                           
   DCVFDSCB  NUM    4              FREE*DSCBS                           
   DCVFLAG1  CHAR   1 HEX2.0       VOLUME*STATUS                        
   DCVFRAG1  NUM    4              FRAG*INDEX                           
   DCVFRESP  NUM    4 MGBYTES5.0   FREE*SPACE*(MGBYTES)                 
   DCVFREXT  NUM    4              FREE*EXTENTS                         
   DCVFVIRS  NUM    4              FREE*VIRS                            
   DCVINITL  CHAR   1              IN CONVERSION TO SMS?                
   DCVINXEN  CHAR   1              INDEXED VTOC ENABLED?                
   DCVINXEX  CHAR   1              INDEXED VTOC EXISTS?                 
   DCVMANGD  CHAR   1              VOLUME IS MANAGED BY SMS?            
   DCVNMNGD  CHAR   1              NON-SMS MANAGED VOLUME?              
   DCVPERCT  NUM    4              PERCENT*FREE*SPACE                   
   DCVSGLNG  NUM    4              STORGRUP*LENGTH                      
   DCVSGTCL  CHAR  30              STORGRUP                             
   DCVSHRDS  CHAR   1              DEVICE*IS*SHAREABLE?                 
   DCVUSPUB  CHAR   1              USE*ATTRIB*PUBLIC?                   
   DCVUSPVT  CHAR   1              USE*ATTRIB*PRIVATE?                  
   DCVUSSTO  CHAR   1              USE*ATTRIB*STORAGE?                  
   DCVVOLSR  CHAR   6              VOLSER                               
r. APPC Accounting and Capacity Planning                                
  i.   OVERVIEW of APPC                                                 
  Advanced Program-to-Program Communications/MVS (APPC/MVS) is the      
  MVS support for cooperative processing.                               
  Two "peers" communicate using APPC/MVS services called "TP"s, or      
  transaction programs. Each MVS TP executes in its own ASID.           
  The interaction between two TPs (eg., a host TP and an OS/2 TP)       
  is called a conversation.                                             
  Each "peer" is called a partner in the conversation.                  
  Once a conversation is established, the actual work consists of       
  sending or receiving data to or from the other partner.               
  The partner identification is the LUNAME (the VTAM "port" name        
  thru which communications flow). The requesting partner may be        
  "remote" to MVS (an OS/2 program), or "local" (TSO user or job).      
  The "partner" LU name is for the REQUESTOR of the TP, while the       
  "local" LU name is for the TP itself.                                 
  Two new address spaces execute for  APPC/MVS:                         
   "ASCH" the APPC Scheduler, and "APPC", the VTAM interface.           
  ii.  APPC resources captured in type 30 (ASID) record.                
  Type 30 records contain eight new variables that capture the APPC     
  activity by any address space that is an APPC TP:                     
     APPCATR   Transactions scheduled by ASCH                           
     APPCCN    Total conversations (active plus deallocated)            
     APPCCNA   Number of all conversation allocated                     
     APPCDAR   Bytes of data received by the TP                         
     APPCDAT   Bytes of data sent by the TP                             
     APPCREC   Receive calls issued by TP                               
     APPCSEN   Send calls issued by TP                                  
     APPCTAC   Number of active conversations                           
  SMF type 30 records will be written for the TP Address space,         
  the ASCH and APPC address spaces, and the MVS partner address         
  space (for step/job CPU, I/O, etc.). As the ASCH and APPC ASIDs       
  do not actually "use" APPC, their APPC.... variables are zero.        
  iii. New SMF type 33 APPC/MVS TP Accounting record.                   
    Each APPC event is recorded in a type 33 accounting record with     
    contains the same APPC counters that are summarized in type         
    30s.  Additional timestamps of the receipt, scheduling and          
    execution of the TP are provided, as are CPU times (only TCB and    
    SRB), I/O connect time and EXCP counts are captured:                
   ACCOUNTn - Accounting field (nth)                                    
   APPCCN   - Number of conversations for this TP'                      
   APPCCNA  - Conversations allocated by this TP'                       
   APPCDARS - Bytes received by this TP '                               
   APPCDATS - Bytes sent by this TP '                                   
   APPCRECV - Received issued by this TP'                               
   APPCSEND - Sends issued by this TP '                                 
   CPUSRBTM - CPU SRB duration                                          
   CPUTCBTM - CPU TCB duration                                          
   ELAPSTM  - Elapsed duration                                          
   EXCPTOTL - EXCPS for this TP'                                        
   INPREQTM - Input request duration                                    
   IOTMTOTL - Device connect duration                                   
   LENACCTn - Length of nth accounting field                            
   LOCLLUNM - Local LU name for this TP                                 
   NRACCTFL - Number of accounting fields                               
   PARTLUNM - Nodename LU Name of partner                               
   QUEUETM  - SCHEDULER*QUEUE*DURATION'                                 
   RACFGRUP - RACF group identification       <---- requestor           
   RACFUSER - RACF user identification        <----    "                
   REQDTIME - Request recognized by FMH-5                               
   SKEDTIME - Request placed on scheduler queue                         
   SMFTIME  - Datetimestamp when SMF record was buffered                
   SYSTEM   - SMF system ID                                             
   TPCLASS  - TP class                                                  
   TPNAME   - TP name                                                   
   TPNDTIME - TP execution ended datetimestamp                          
   TPROFILE - TP profile name                                           
   TPSKEDTY - TP scheduler type (standard/multi-trans)                  
   TPSTTIME - TP execution started datetimestamp                        
   TPUSECNT - Uses of this TP by this user                              
   TPUSRTYP - TP user type (shell/user)                                 
   ZDATE    - Zee date Zee obs was put in Zee PDB.                      
  iv.  The intervals between the four scheduling timestamps give this   
       picture of the events in the lifetime of an APPC task.           
           INPREQTM      QUEUETM         ELAPSTM                        
           Waiting on    Waiting on      Executing                      
           Scheduler     TP queue                                       
         _____________ _______________ ____________                     
     REQDTIME      SKEDTIME       TPSTTIME      TPENTIME                
     Request       Placed on      Execution     Execution               
     Received      TP's queue     Started       Ended                   
 A  "Standard"  TP  is  initialized  for each inbound conversation      
 request and terminated at end of its processing.   Resources  are      
 allocated and deallocated for each inbound conversation request.       
 A "Multi-trans" TP remains active  between  inbound  conversation      
 requests,  with  its  resources  already  allocated.   Subsequent      
 requests  avoid  the  overhead   of   repeated   allocation   and      
 Initialization and termination processing for a multi-trans TP is      
 typically performed by the "Multi-trans Shell", surrounding the        
 part of the TP that holds conversations.                               
 Separate type 33 records are written for "Shell" and "User".           
 The scheduler timestamps do not exist in the "Shell" record, but       
 CPU time and resources are captured in the type 33 shell data.         
 If  the  "Type  of  User"  flag  is  'shell' (the other choice is      
 'regular'), then this is the 'shell' record, and  the  "user  id"      
 field is the ID if the "generic" user.                                 
 The  "requestor"  of the APPC work is identified by the "user ID"      
 and "group ID" pair of fields.  Most APPC work will  likely  come      
 from a PC or a network, and not a TSO user or Batch job.               
 APPC transaction programs can bypass the IEFUAV accounting exit        
 by specifying TAILOR_ACCOUNT(NO) or by NOT specifying (YES).           
 Watch this integrity exposure that would allow a TP program to         
 disable its account validation!   Read  "The  Cuckoo's Egg"!           
  v.   Schematic representation of type 30 / 33 SMF records and their   
       subtypes for a multi-trans TP with shell:                        
 -->  Start     GET     GET    GET    RET    GET    GET   RET  End      
SMF 30                                                                  
for   -1                           -2                           -3      
TP    init                       interval                       -4      
SMF 33  _________                       ______              _____       
shell           -1                           -1                 -1      
SMF 33            _______ _______ _____        ______ ______            
user                    -1      -1    -1            -1     -1           
                                            /         \                 
                                           /           \                
                                          /             \               
                                         /               \              
              Waiting on    Waiting on       Executing                  
Type 33       Scheduler     TP queue                                    
Scheduling   ____________ ______________ _________________              
          Request      Placed on      Execution         Execution       
          Received     TP's queue      Started           Ended          
 This shows the three type 33's due to shell and the five type 33s      
 due to user  GET  activity. The final RET in the schematic can be      
 a real RET, but if the TP depends on the expiration of the "wait"      
 time for the GETTRANS, then there is a "logical" RETTRANS done on      
 its behalf.                                                            
   When a multi-trans TP is ready to run a user request, it issues      
   a "GET-Transaction" GETTRANS to ASCH scheduler.                      
   When a multi-trans TP shell does processing not directly related     
   to a user request it issues a "RETURN-Transaction" RETTRANS.         
APPC conversation counts in SMF 30 and 33 are categorized:              
 APPCCN  - Total conversations for this TP, both currently active       
           and deallocated. Count of all conversations that this        
           TP is involved in (both OUTbound and INbound).               
 APPCCNA - Total conversations ALLOCATED by this TP. The number of      
           OUTbound conversations that this TP has requested.           
 APPCTAC - Total active conversations that are still "open" when        
           the record was created.  Will always be zero in step         
           or job termination record, wince by the end of step,         
           all conversations are closed.                                
 APPCATR - Total transactions scheduled by ASCH (type 30 only).         
           This equals the total count of type 33 records that          
           will/could have been written.                                
  vi.  APPC Changes to TYPETASK, JESNR, & JCTJOBID may affect analysis. 
  SMF type 6,30,32,26, and 57 records contain the JCTJOBID field,       
  (named SMFnnJNM) that decodes into TYPETASK (JOB,STC,TSU) and         
  the five digit JESNR of the address space.                            
  For APPC address spaces, the JCTJOBID contains an "A" followed        
  by a seven digit "JESNR", creating a TYPETASK of "A  ".               
  This could cause your reporting programs to fail, if they use         
  TYPETASK for selection and did not protect for new values or          
  for seven-digit JES numbers.                                          
  This could also impact any "banner page" statistics written to        
  a job's SYSLOG from your IEFU83, IEFU84, and IEFU85 SMF exists.       
  vii. APPC support added APPC address space statistics to TYPE70.      
       APPC address spaces active (i.e., in initiation) are in          
       APPCMIN, APPCMAX, and APPCAVG, and with twelve buckets           
       APPC00-APPC11 that contain the percentage of time when 0,        
       1-3, 4-6, ... >36 APPC ASIDs were active, just like the          
       existing statistics and buckets for BAT, TSU, and STC            
       address spaces.                                                  
III. VM  Technical Notes.                                               
  1. SHARE 76 Paper "VM/ESA Measurement Facilities"                     
                    H.  W.  Barry Merrill, PhD                          
                       Merrill Consultants                              
                       Dallas, Texas 75229                              
     Portions of this paper were presented/published at/in:             
            SHARE 76 San Francicso, CA Feb 27, 1991.                    
            MXG Newsletter NINETEEN    Apr  8, 1991.                    
   VM/ESA changed the output data records from MONWRITE with new data   
   fields and new records, but because the changes were implemented     
   by IBM in a fully compatible manner, previous versions of your VM/XA 
   analysis software will not fail when they process the VM/ESA 1.1.0   
   (ESA Feature) records. This paper discusses the new measures, the    
   new file server measures captured in the new MONWRITE Application    
   Interface record, and snapshots a benchmark of a VM/ESA (ESA Feature)
   MONWRITE interval on a 3090/600 with 4,800 logged on CMS users.      
a.   Fifteen existing datasets (records) that have new data values:     
VM/ESA (ESA Feature) Monitor data is an enhanced version of VM/XA data, 
with the same names for datasets, variables and IBM fields, so you will 
have nothing to change in your reports until you want the new data.     
            page reads/writes to/from ESTORE/AUX due to page. This is   
            translations/migrations. This is an interval record.        
VXSYTASG    SALPRFAV,SALPRFIU are now reserved (were Preferred Paging), 
            new variables for page/spool average/total MLOAD value:     
            CALTOTM1,M2, CALAVGM1,M2). Interval.                        
VXSYTCOM    New variable count IUCVs (good to/from, and bad to the      
            services: SYSTEM, CRM ACCOUNT,LOGREC,IDENT,CONFIG, and SPL. 
            Twenty-one counters:  PLSIS+{E,T,U}+{SY,CR,AC,LO,ID,CF,SP}. 
VXMTREPR    New flag if Application Domain Event is active, and CONFIG  
            time limit variable.                                        
VXMTRPAG    DDIPREF now reserved (Pref. Paging Flag) DDIPPCYL renamed   
            RDCPCYL, and RDEVSID, Host Subchannel ID was added.         
VXMTRSPR    New flag if Application Domain Sample is active, and CONFIG 
            time limit variable.                                        
VXMTRSCH    New SRMWSSMP for SET SRM MAXWSS value.                      
VXSCHDDL    New VMDLRGST if user prempted for storage.                  
            SRM MAXWSS value, and VMDSCDF1 was replaced with VMCQDSPU.  
VXSTORSG    New CALASCRT,CALASCFT,CALASCUT for paging virtual segment   
            control (reorgs, unused and used pages).                    
VXSTORSP    New PLSPGDRD,PLSPGDWT for page tables paged to/from         
            auxiliary storage.                                          
            service time, MLOAD, scans for allocations, actual          
            allocations, and twenty EXPCON01-EXPCON20 tabulating how    
            many times that many contiguous slots were available.       
VXSTOATC    DDIPREF now reserved, CALPAGCY renamed to RDCPCYL, and      
            RDEVSID added.                                              
VXUSEACT    VMDCTPPS (Pref Page Slots) deleted.                         
VXIODCAD    New CALPSF data for 3990-3 status bytes.                    
b.  Five new records create these new datasets:                         
VXSTOASS    Auxiliary Shared Storage Sample Data record describing      
            resources from the CP-owining a shared volume (PAGE/SPOOL   
            READs/WRITES, queue length, and SSCH+RSCH counts).          
VXIODATS    Attach Shared Device Event Data record, which contains      
            exactly the same data as the existing VXIODATD Attach       
            (non-shared) Device dataset.                                
VXAPLEDT    Application Event Data record, with a variable length string
            of installation/application created event data, domain 10   
            record 1.  No IBM application currently uses this new event 
            data interface.                                             
VXAPLSDT    Application Sample Data record with a variable length string
            of installation/application created interval data, domain 10
            record 2.  IBM applications do now use this new interface   
            but they are recognized by MXG and create the new VXAPLSRV  
            dataset described below.                                    
VXAPLSRV    IBM's use of Application Sample Data to record "Server      
            Monitor Records". Both SFS file pool servers and CRR        
            recovery servers use the APPLDATA class call to provide 123 
            counters or clocks that are listed below. MXG converts all  
            counters to rates per second (which are, by an MXG          
            convention, formatted 7.1 to so indicate that they are      
            rates), but the clocks are kept in units of seconds during  
            the sample interval (and formated TIME12.2 to so indicate). 
            The VMDUSER (VM User ID) must be used to identify which     
            server created the application data:                        
              Server-ID     Observation contains                        
              VMSERVR       CRR (Counters 103-116 are only              
                                 for CRR, and 114 will be               
                                 always non-zero if CRR).               
              VMSERVS       SFS (System owned file pool)                
              VMSERVU       User (User owned file pool)                 
            The following list of variables created from                
            these servers using the new application data                
            interface clearly is a major enhancment in                  
            the measurement and management of the shared                
            file system and other future file servers:                  
DEDMTFLG Dedicated maintenance mode   SRVCN061 Logical u-o-work rollback
FIRSTR   1st record since diage dc    SRVCN062 SAC calls                
MDGPROD  Application release          SRVCN063 Stor group explicit lock 
SRVCN001 Active agents highest value  SRVCN064 File space explicit lock 
SRVCN002 Virtual storage highest      SRVCN065 Lock conflict, dir. exp. 
SRVCN003 Virtual storage requests     SRVCN066 ", File explicit         
SRVCN004 Checkpoints taken            SRVCN067 ", Storage group logical 
SRVCN005 Checkpoint time              SRVCN068 ", File space logical    
SRVCN006 Security manager exit calls  SRVCN069 ", Directory logogical   
SRVCN007 Security manager exit time   SRVCN070 ", File logical          
SRVCN008 Ext.  security mgr exit call SRVCN071 ", Catalog               
SRVCN009 Ext. security mgr exit time  SRVCN072 Lock wait time           
SRVCN010 Add storage requests         SRVCN073 Deadlocks                
SRVCN011 Cache release requests       SRVCN074 QSAM requests            
SRVCN012 Change threshold requests    SRVCN075 QSAM time                
SRVCN013 Close directory requests     SRVCN076 File blocks read         
SRVCN014 Close file requests          SRVCN077 File blocks written      
SRVCN015 Commit requests              SRVCN078 Catalog blocks read      
SRVCN016 Connect requests             SRVCN079 Catalog blks written     
SRVCN017 Create alias requests        SRVCN080 Cntl minidisk blks read  
SRVCN018 Create directory requests    SRVCN081 Cntl minidisk blks writ  
SRVCN019 Delete directory requests    SRVCN082 Log blks read            
SRVCN020 Delete file requests         SRVCN083 Log blks written         
SRVCN021 Delete storage requests      SRVCN084 BIO req to read file blks
SRVCN022 File copy requests           SRVCN085 BIO req to write file blk
SRVCN023 Get directory requests       SRVCN086 BIO req to read cat blks 
SRVCN024 Get directory entry req      SRVCN087 BIO req to write cat blk 
SRVCN025 Grant administrator auth     SRVCN088 BIO req to read cntl mdsk
SRVCN026 Grant authorization req      SRVCN089 BIO req to write cntl    
SRVCN027 Grant user connect req       SRVCN090 Total BIO request time   
SRVCN028 Lock requests                SRVCN091 I/O req to read file blk 
SRVCN029 Open directory requests      SRVCN092 I/O req to write file blk
SRVCN030 Open file new requests       SRVCN093 I/O req to read cat blks 
SRVCN031 Open file read requests      SRVCN094 I/O req to write catalog 
SRVCN032 Open file replace requests   SRVCN095 I/O req to read cntl mdks
SRVCN033 Open file write requests     SRVCN096 I/O req to write cntl    
SRVCN034 Query administrator req      SRVCN097 Release blks requests    
SRVCN035 Query connected users req    SRVCN098 Temporary close requests 
SRVCN036 Query enrolled users req     SRVCN099 SFS send user data reques
SRVCN037 Query lock conflict req      SRVCN100 Prepare requests         
SRVCN038 Query file pool requests     SRVCN101 Change file attribute    
SRVCN039 Query user space requests    SRVCN102 Highest maxconn user     
SRVCN040 Read file requests           SRVCN103 Get capability requests  
SRVCN041 Recovery close catalog req   SRVCN104 Get log name requests    
SRVCN042 Recovery get catalog req     SRVCN105 CRR get LUWID requests   
SRVCN043 Recovery open catalog req    SRVCN106 Resync initial requests  
SRVCN044 Recovery put catalog req     SRVCN107 Resync protocol viol reqs
SRVCN045 Refresh directory req        SRVCN108 Resync query dir requests
SRVCN046 Relocate requests            SRVCN109 CRR write log requests   
SRVCN047 Rename requests              SRVCN110 CRR request service time 
SRVCN048 Revoke administrator auth    SRVCN111 Number of sync points    
SRVCN049 Revoke authorization req     SRVCN112 SYNC point time          
SRVCN050 Revoke user requests         SRVCN113 Partresc CRR write log rq
SRVCN051 Rollback requests            SRVCN114 CRR log checkpoints taken
SRVCN052 Unlock requests              SRVCN115 CRR log i/o requests     
SRVCN053 Write accounting requests    SRVCN116 CRR bio request time     
SRVCN054 Write file requests          SRVCN118 DIRATTR requests         
SRVCN055 Filepool request srvc time   SRVCN119 Query accessors requests 
SRVCN056 Remote file pool requests    SRVCN122 Dir cntl res lock confl  
SRVCN057 Alias definitions examined   SRVCN123 Deadlocks caused rollback
SRVCN058 Alias definitions updated    SVMSTAT  Option svmstat in dir?   
SRVCN059 Begin logical units of work  VMDUSER  Server identification    
SRVCN060 Agent holding time                                             
  32 c.     Rate Per Second Perspective                                 
The following table compares the rate at which "things" happen in the   
real world, and the rate at which some man-made objects function in that
real world.  I have found insight when I look at the rate at which      
things happen!                                                          
                                        Rate per    Duration between    
    Activity:                           Second          Events          
                                         (Hz)       milli micro nano    
                                                     sec   sec   sec    
    Build MXG tapes (at 400 per hour)       .111     9000               
    VM/ESA HF Sample taken every 2 sec      .5       2000               
    Send 3270 screen at 9600 baud           .666     1500               
    Sub-second response event               1        1000               
    Eyeblinks                               8         125               
    MVS/ESA RMF/SRM Sample taken           20          50               
    Movie Frames Per Second                30          33               
    Maximum ful-track I/Os to 3380         56          17               
    CRT Flicker Visible                    57          17               
    DASD rotation (at 3600 rpm)            60          16               
    CRT Flicker Disappears                 72          13               
    VM/ESA Trivial+NoTrivials Trans       224           4               
    VM/ESA Slot Searches                  318           3               
    VM/ESA PG Moves                     1,700                588        
    VM/ESA Simulated Instructions       6,800                147        
    VM/ESA Instructions from SIE       10,000                100        
    Software Timer Units (TUs)         38,400                 26        
    CICS Clock Ticks                   62,500                 16        
    TOD Clock Ticks                 1,000,000                  1        
    30 MIPs Engine instruction     30,000,000                      33   
  Thanks to Judy for a comment about persistence of movie film that     
  caused me to put this tabulation together.                            
d.  VM/ESA (ESA Feature) Benchmark Data                                 
This analysis of data is from VM/ESA (ESA Feature) MONWRITE output using
MXG 8.8 and only PROC PRINTs and PROC MEANs of the VMXAINTV & VXAPLSRV  
data sets.  The hardware platform, a 3090-600 class machine under stress
has 4,800 logged on (simulated) CMS users.  Note how few pages of output
is need to characterise this system.                                    
Output from     PROC MEANS DATA=VXAPLSRV MAX SUM MEAN;                  
                 217 obs for 30 intervals   7 servers                   
                                          max      sum      mean        
005 CHECKPOINT*TIME                       0.20    18.53     0.08        
014 CLOSE*FILE*REQUESTS                  22.03  2056.48     9.47        
016 CONNECT*REQUESTS                      0.41    32.75     0.15        
020 DELETE*FILE*REQUESTS                  5.21   491.86     2.26        
028 LOCK*REQUESTS                         1.30   127.59     0.58        
030 OPEN FILE*NEW REQUESTS                0.16     8.06     0.03        
031 OPEN FILE*READ*REQUESTS              13.86  1178.29     5.42        
032 OPEN FILE*REPLACE*REQUESTS            8.62   750.30     3.45        
033 OPEN FILE*WRITE*REQUESTS              1.34   119.70     0.55        
039 QUERY*USER SPACE*REQUESTS             1.30   110.31     0.50        
040 READ*FILE*REQUESTS                   13.19  1187.22     5.47        
045 REFRESH*DIRECTORY*REQUESTS            0.84    65.28     0.30        
047 RENAME*REQUESTS                       0.36    25.42     0.11        
052 UNLOCK*REQUESTS                       1.38   128.13     0.59        
054 WRITE*FILE*REQUESTS                   7.77   663.34     3.05        
055 FILE POOL*REQUEST*SERVICE TIME       10.50   774.54     3.56        
059 BEGIN*LOGICAL*UNITS OF WORK          26.83  2626.28    12.10        
060 AGENT*HOLDING*TIME                   12.76   968.83     4.46        
062 SAC*CALLS                           323.21 32332.62   148.99        
071 CATALOG*LOCK*CONFLICTS                1.59    42.24     0.19        
072 LOCK*WAIT*TIME                        0.18     3.21     0.01        
076 FILE*BLOCKS*READ                     52.99  4912.81    22.63        
077 FILE*BLOCKS*WRITTEN                  34.15  3032.45    13.97        
078 CATALOG*BLOCKS*READ                  23.09  2251.14    10.37        
079 CATALOG*BLOCKS*WRITTEN               16.96  1455.10     6.70        
081 cntl*MINIDISK*BLOCKS WRITTEN          6.14   583.24     2.68        
083 LOG*BLOCKS*WRITTEN                   21.01  2291.50    10.55        
084 BIO REQ TO*READ FILE*BLOCKS          27.47  2620.48    12.07        
085 BIO REQ TO*WRITE FILE*BLOCKS         16.86  1512.56     6.97        
086 BIO REQ TO*READ CATALOG*BLOCKS       23.09  2251.14    10.37        
087 BIO REQ TO*WRITE CATALOG*BLOCKS      16.96  1455.10     6.70        
089 BIO REQ TO*WRITE CONTROL*MDISK blk    0.20    20.00     0.09        
090 TOTAL*BIO REQUEST*TIME                2.88   234.32     1.07        
091 I/O REQ TO*READ FILE*BLOCKS          29.59  2674.68    12.32        
092 I/O REQ TO*WRITE FILE*BLOCKS         21.55  1968.02     9.06        
093 I/O REQ TO*READ CATALOG*BLOCKS       23.09  2251.14    10.37        
094 I/O REQ TO*WRITE CATALOG*BLOCKS      16.96  1455.10     6.70        
096 I/O REQ TO*WRITE CONTROL*MDISK BLK    0.38    37.09     0.17        
          Statistic               Event             Total    Rate       
                                  Count    Percent  Seconds  Per        
          Duration of Interval                        60                
          Users Logged On          4,807                                
          Active Users               819                                
          Quickdisp                   80                                
          UP Trivials              6,330                                
          UP Non-Trivials          7,143                                
          CPU (6) Busy                       91.3    328                
                  System Code                 8.0     29                
                  User Code                  83.2    300                
                  Emulation Mode                     184                
                  TTIME                              299                
                  VTIME                              182                
          Resume Subchannels                                  99.8      
          Solicited Interrupts                               487.7      
          Start Subchannels                                  384.9      
          VIO Requests to DASD                               285.4      
          Read Operations for Sys Paging                     237.4      
          Write Operations for Sys Paging                    188.4      
          Page Faults on Host from Guest                      51.4      
          Page Faults on Guest Pages                          50.9      
          Read Pages                                         184.7      
          Write Pages                                        114.2      
          Users Logged On          4,807                                
          Active Users               819                                
          Max in PLDV                 84                                
          Users in Dispatch          171 ---> close to 177, sampled.    
           "  Console Wait        2                                     
           "  Running on Real     3                                     
           "  In Real CPU Wait   94                                     
           "  In I/O Wait        18                                     
           "  Quickdisp           7                                     
           "  Simulate Wait      26                                     
           "  Test IDLE          27                                     
           "  Sub Total         177      ---> close to 171, sampled.    
          Users Loading                2                                
          Users Dorm in Dorm       4,636                                
          Users Dorm in Elig           0                                
          Q1+Q2+Q3 in Dispatch       162                                
          Q2+Q3    in Dispatch        45                                
          Q3       in Dispatch        18                                
          Prempts from Q0 for E1                             108.4      
          Diagnose X98 Issued                                 57.3      
          Pages Migrated ESTORE to DASD                      236.7      
          Pages Written to ESTORE                           1671.7      
          Pages Read in from ESTORE                         1436.8      
          VMDBKs In PLDV When Not Empty                       14.9      
          Times PLDV Had No VMDBKs                           436.7      
          VMDBKs Moved to Master                           1,074.6      
          Long Paths Thru Dispatcher                       8,137.2      
          Interceptions from SIE                           8,667.1      
          Instructions from SIE                           10,289.9      
          Unsolicited Interrupts                              23.5      
          External Interrupts Received                     1,931.7      
          IBM Supplied Diagnose Issued                     2,576.6      
          Simulated Instructions                           6,815.1      
          Frame List Reorders                                 41.7      
          VMDBKs Stolen  total-->                          2,194.6      
            "     " ->in CPU#   0    1    2    3    4    5              
                         Rate 462. 448. 418. 385. 394.  56.             
  VM/ESA Memory measures (Virtual, Expanded and Central, and Auxiliary) 
                                          GB        MB        KB        
          Slots Allocated for Paging      10G                           
          Slots In Use for Paging                 1060M                 
          Slots Alloc for Spool                   4143M                 
          Slots in Use by Spool                    168M                 
          Free Storage Extend Frames                47M                 
          Free Storage Available                            9124K       
          Free Storage In Use                               7995K       
          Frames In Use for Saveareas                        888K       
          Resident Shared Frames                            4432K       
          Size of Dynamic Area DPA                 420M                 
          Frames on Available List                          2320K       
          Times Avail List Became Empty  3                              
          Avail List High Threshold                         3608K       
          Avail List Low Threshold                           408K       
          Non Pageable Frames                       80M                 
          Pageable Frames                          501M                 
          Pages Locked in 31-bit Mode                        540K       
          XSTORE Blocks in CP Partition           2048M                 
          Estore Blocks Released w/o I/O            12M                 
          Avail XSTORE Note In Use                          6192K       
          Migrate Invocations                  0.8                      
          Migrate Unreferenced Blocked Pages  51.9                      
          Stolen Unreferenced Blocked Pages   33.6                      
          Single Reads for a Guest            10.7                      
          Single Reads for the System         26.6                      
          XSTORE Allocations               1,787.2                      
          XSTORE Deallocations             1,854.0                      
          IUCV Receive Queue                  31.3                      
          IUCV Send    Queue                    .1                      
          Device SSCH+RSCH                   485.0                      
          RDEV Locks Deferred                   .2                      
          RDEV Locks Granted Immed           902.7                      
          Solicited Interrupts               488.1                      
          Unsolicited Interrupts              23.4                      
         DASD statistics               Seconds    MPL    msec per I/O   
          Device Connect Duration       163.97   2.73       5           
          Device Disconnect Duration    370.76   6.18      13           
          Device Pending Duration        15.10    .25                   
          IUCV activity            From          To        Bad          
           (rate per second)                                            
           BLOCKIO                 320.4        344.4                   
           MSGALL                    8.0                                
           CP System Service      1,241.9     1,209.6      83.7         
           CCS                      361.6       377.9                   
           SIGNAL                   123.8       123.8                   
           Virtual Machine        1,239.2     1,207.7      83.7         
                   File Pool Statistics in VXAPLSRV data                
                                       -------User File Pool Servers----
                                         SRV2     SRV4    SRV7     SRV8 
       005 CHECKPOINT*TIME                .190     .191    .188     .174
       014 CLOSE*FILE*REQUESTS          22.0     15.1    15.6     16.8  
       016 CONNECT*REQUESTS               .2       .1      .1       .1  
       020 DELETE*FILE*REQUESTS          4.3      3.6     3.2      5.1  
       028 LOCK*REQUESTS                  .9      1.2     1.1      1.1  
       030 OPEN FILE*NEW REQUESTS         .1       .1      .1       .1  
       031 OPEN FILE*READ*REQUESTS      13.9      8.8     9.3      7.7  
       032 OPEN FILE*REPLACE*REQUESTS    6.7      5.1     5.6      7.9  
       033 OPEN FILE*WRITE*REQUESTS      1.2      1.0      .9       .9  
       039 QUERY*USER SPACE*REQUESTS      .5       .8      .9       .7  
       040 READ*FILE*REQUESTS           10.8      9.5    10.0     11.7  
       045 REFRESH*DIRECTORY*REQUESTS     .6       .4      .4       .2  
       047 RENAME*REQUESTS                .2       .1      .2       .2  
       052 UNLOCK*REQUESTS               1.0      1.2     1.2      1.2  
       054 WRITE*FILE*REQUESTS           5.6      5.5     5.9      6.9  
       055 FILE POOL*REQ*SERVICE TIME    7.437    8.003   7.466    8.024
       059 BEGIN*LOGICAL*UNITS OF WORK  26.8     19.1    20.0     19.8  
       060 AGENT*HOLDING*TIME            9.037    9.412   8.742   10.066
       062 SAC*CALLS                   320.2    242.0   243.4    283.3  
       071 CATALOG*LOCK*CONFLICTS         .1       .6      .5       .5  
       072 LOCK*WAIT*TIME                 .007     .026    .027     .057
       076 FILE*BLOCKS*READ             47.1     38.5    41.5     45.6  
       077 FILE*BLOCKS*WRITTEN          26.2     24.4    24.6     31.5  
       078 CATALOG*BLOCKS*READ          19.6     18.0    19.9     18.5  
       079 CATALOG*BLOCKS*WRITTEN        8.0     13.0    16.4     12.2  
       081 CONTROL*MDISK*BLKS WRITTEN    3.6      6.1     5.9      5.9  
       083 LOG*BLOCKS*WRITTEN           20.8     17.0    16.7     19.7  
       084 BIO REQ TO*READ FILE*BLKS    27.3     19.3    22.1     21.8  
       085 BIO REQ TO*WRITE FILE*BLKS   13.4     11.5    12.2     16.0  
       086 BIO REQ TO*READ CTLG*BLKS    19.6     18.0    19.9     18.5  
       087 BIO REQ TO*WRITE CTLG*BLKS    8.0     13.0    16.4     12.2  
       089 BIO REQ*WRT CNTL*MDISK BLKS    .2       .2      .2       .2  
       090 TOTAL*BIO REQUEST*TIME        2.213    1.903   2.139    2.259
       091 I/O REQ TO*READ FILE*BLKS    28.0     18.9    21.5     23.1  
       092 I/O REQ TO*WRITE FILE*BLKS   17.8     13.9    14.9     21.4  
       093 I/O REQ TO*READ CTLG*BLKS    19.6     18.0    19.9     18.5  
       094 I/O REQ TO*WRITE CTLG*BLKS    8.0     13.0    16.4     12.2  
       096 I/O REQ*WRT CNTL*MDISK BLKS    .4       .4      .4       .4  
The  documentation  of  the  VM/ESA Monitor records will  now  be  only 
in  "softcopy",  and  will  be unloaded  at  install  into  a  file     
named MONITOR LIST1403 on your base CP object  disk  (194).   The new   
documentation contains an excellent table that details changes made to  
the content and  format  of the  monitor records, including the many    
APARs that are a part of VM/XA.  But the file I got, offloaded to tape  
was not readable with any MVS utility I had ever seen. Any ideas?       
A big thanks to IBM for making documentation available so early; it's   
nice to not have to play "catch-up".                                    
IV.  SAS Notes.                                                         
  1. SAS 6.06 has been repaired, and can be safely used.                
   SAS 6.06 has finished its shakedown cruise, and shipyard repairs have
   been made, and the SAS Usage Note tape for March (or later) can now  
   be safely and easily installed.  (Starting in February, SAS now ships
   a load library on that tape which contains 100% pre-applied SAS ZAPs 
   for all SAS products. A SAS 6.07 will likely exist by year end, but  
   THERE IS NO LONGER ANY REASON TO WAIT.  ALL MXG-critical problems are
   fixed by the March tape.  Furthermore, SAS 5.18 sites that have made 
   extensions to BUILDPDB may find that their program is now too large  
   for the SAS 5.18 compiler (Error 344) which can only be eliminated   
   by execution under SAS 6.06 or later.                                
   See Change 7.038 in member CHANGE07 for 344 error circumvention.     
  2. SAS 6.06 and 5.18 options now REQUIRED by MXG 8.8.                 
     Please read this section carefully.  MXG execution will fail if you
     do not pay attention to these (potentially incompatible) changes:  
     MANDATORY OPTIONS with either SAS Version 5.18 or 6.06:            
     MANDATORY OPTIONS with SAS Version 5.18 that do not exist in 6.06: 
        MWORK=28000 GEN=0                                               
     MANDATORY OPTION with SAS Version 6.06 that does not exist in 5.18:
     RECOMMENDED Options with either SAS Version 5.18 or 6.06:          
        FIRSTOBS=1 OBS=MAX                                              
 SAS Version 5.18 requires the MACRO and MWORK=28000 options to be on   
 the EXEC statement, but all other mandatory/recommended options can be 
 specified in a SAS OPTIONS statement before your %INCLUDE statements:  
    a.)   //stepname EXEC SAS,OPTIONS='MACRO MWORK=28000'               
          //SYSIN     DD *                                              
              NOIMPLMAC MAUTOSOURCE SASAUTOS=SOURCLIB                   
              DQUOTE ERRORABEND                                         
              FIRSTOBS=1 OBS=MAX                                        
 However, so you (and I) don't have to type all those options each time 
 we run an MXG 8.8 program under SAS 5.18, member SASOPTV5 was built and
 it MUST be %INCLUDEd each time you execute under SAS 5.18:             
    b.)   //stepname EXEC SAS,OPTIONS='MACRO MWORK=28000'               
          //SYSIN     DD *                                              
            %INCLUDE SOURCLIB(SASOPTV5);                                
             ... the rest of your program ...                           
 For SAS Version 6.06+, options are supplied via an OPTIONS statement,  
 via the CONFIG DDname, or (as is now MXG's recommendation), via the    
 CONFIG= JCL parameter on the EXEC statement.  MXG 8.8 member CONFIG    
 contains the MXG-required options (CONFIG is a changed copy of BATCHXA 
 config member on the SAS distribution tape).  In previous Newsletters  
 and sample JCL, MXG had used the CONFIG DDname, but because different  
 sites have their JCL procedure DD statements in different sequences,   
 and since overrides have to be EXACTLY in the right order, it is now   
 clear that specifying CONFIG='MXG.SOURCLIB(CONFIG)' on your EXEC       
 statement is far safer to ensure the correct options are in effect:    
     // EXEC SAS606,TIME=10,                                            
     //             CONFIG='MXG.SOURCLIB(CONFIG)'                       
 These are the required options added to BATCHXA to create CONFIG:      
   FULLSTATS STIMER                                                     
 The MEMSIZE=12M parameter only works with MVS/XA and MVS/ESA. In almost
 all of my tests, 12M was sufficient.  The exceptions were when BUILDPDB
 was "tailored" and many additional SMF records were added to BUILDPDB  
 using the EXPDB... exit facility.  One large site with heavy user SMF  
 record additions to BUILDPDB reported they needed 24MB.  Since this is 
 all virtual storage, and above the line, and only during the "build"   
 phase in MXG processing, it should not cause a problem.  If you really 
 are limited in virtual storage (or are trying to execute MXG 8.8 with  
 SAS 6.06 under MVS/370) you can significantly reduce the virtual memory
 requirement by specifying BLKSIZE=4096 or even 1024. Small blocks will 
 reduce the virtual memory size, but can significantly increase the real
 CPU time, run time, I/O interrupts, and the amount of real memory used.
 See the paper on blocksize in Chapter 42 of the MXG Guide.             
  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. CMS-MXG 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 8.8 needed a 10MB machine for BUILDPDB.  
   It is necessary to use the NOSSEG option to disable the "SAS Saved   
   Segment" to use addresses above 7MB, because the SAS Saved segment   
   begins at address 7MB!  The NOSSEG only applies to this machine,     
   and is needed only for the big virtual memory programs that build    
   lots of MXG datasets simultaneously (like VMACVMXA, VMACVMON, etc.). 
   The rest of MXG needs only a 4MB machine under VM/360.               
   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,  
   and building SAS datasets with MXG is a sequential process)!         
   Executing under VM/XA, MXG 8.8 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.                                                
   d. CMS Testing Notes.                                                
   The REXX exec that was used for MXG testing with CMS SAS was printed 
   in MXG Newsleter EIGHTEEN and is contained 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.
   One Irritating problem in my testing of MXG with CMS is IBM's fault: 
   There is no CMS equivalent for "DD DUMMY" or NULLFILE.  Under MVS,   
   NULLFILE lets me syntax check all MXG code by dummying input files.  
   Under CMS I had to create pseudo records (but with RECFM=VB, instead 
   of RECFM=VBS) because of Another Irritating IBM feature:             
     CMS only partially supports the VBS record format:                 
        CMS only reads, and can not create/write/copy VBS files, and    
        CMS ABENDs if it gets an SMF record with LRECL=32760.           
   All this, to verify that ALL of MXG executes under SAS/CMS, for those
   sites who have only a SAS/CMS license and use MXG to process both the
   VM and SMF data under CMS.                                           
  5. SAS Input formats for times and timestamps.                        
  A problem with CICS time stamps caused me to tabulate my experiences  
  and explain those funny calculations in MXG for timestamp values.     
  Time/Timestamp         Format            Clock Tick Statistics        
                                         Counts per    Pulse duration   
                                         Second        (microsec)       
  Store Clock, STCK      TODSTAMP8.      1,000,000         1            
  -eight bytes           MSEC8.                                         
  -bit 51=microsec       PIB8.6/4096                                    
  -bit 63=244 picosec                                                   
  -bit 31=1.048576 secs                                                 
    IBM says "SHIFT RIGHT 12 BITS" which is exactly that divide by 4096,
    and MXG's .6 in PIB8.6 is the "divide by 100000" to get seconds from
    the microseconds.                                                   
  Store Clock, STCK      IB4.*1.048576  .953674316         1.048576     
  -high order four                                                      
   bytes as duration                                                    
  Timer Units, TU        TU4.                38400         26           
                         PIB4. /38400                                   
  CICS Clock 4 bytes     16*PIB4.6           62500         16           
                         PIB4. /62500                                   
      Note: these are the four MMMM bytes in hhMMMMll eight bytes.      
  CICS Clock 8 bytes     16*PIB8.3/65536     62500         16           
  SMF Timestamp          SMFSTAMP8.            100      10,000          
  RMF Duration           RMFDUR4.             1000     100,000          
    A value of 'FFFFFFFFFFFFFFFF'x is correctly input with TODSTAMP8    
    to produce the value 17SEP2042:23:53:47.370495.                     
    A value of 'FFFFFFFFFFFFFFFF'x is correctly input with PIB8.        
    to produce the value 2.55000E-06.                                   
    A value of 'FFFFFFFFFFFFFFFF'x is correctly input with IB8.         
    to produce the value -1.00000E08.                                   
  /* The below comments for 5.18 and 6.06 are no longer true.  They     
     are kept for historical reasons.  Probably fixed in Version 8.     
    SAS Version 5.18 does not support all possible values of some of its
    time formats.  The MSEC8. input format is set missing for a value of
    2**49 or greater. The TODSTAMP8. format is zero for values less than
    2**25. The difference between a TODSTAMP8. and '01JAN1960:00:00'DT  
    (the literal for the number of seconds between the IBM 1900 clock   
    and the SAS 1960 clock) should exactly match the TODSTAMP8. field if
    had been INPUTed as MSEC8., but it doesn't; the difference remains a
    zero until the field value is 2**12 or greater. The TU4. format is  
    correct for all values except 'FF...FF'X, which is set missing!     
    SAS Version 6.06 does better, but is still not perfect. The MSEC8.  
    input format is no longer missing for large values. However, a value
    of 'FF...FF'X cause TODSTAMP, MSEC8, and even PIB8. to now          
    have a value of zero (which prints Jan 1, 1960 for a SAS timestamp!)
    whereas SAS 5.18 correctly handled this maximum binary value!       
    Because SAS formats are not perfect, the only truly safe algorithm  
    is to use the PIBy.x input format with the appropriate arithmetic   
    operation, which more reliably produces the correct values.         
  6. "Close" of data libraries was changed by SAS 6.06.                 
    SAS 6.06 has changed when SAS data libraries are "closed", and this 
    change can cause PROC RELEASE DDNAME=XYZ to fail under SAS 6.06.    
    This redesign will also change how many type 14/15 SMF records are  
    written for a SAS job, since they are only written at "close" time. 
    Under SAS 5.18, all SAS data libraries were closed at the end of    
    each SAS data step or PROC step.  This caused a type 14/15 SMF data 
    record to be written, and even without enabling the SAS User SMF    
    record, you could examine those close records and determine which   
    part of a complex SAS program took how much elapsed time.  In SAS   
    6.06, work data sets are NO LONGER closed between data/PROC steps.  
    This reduces the overhead associated with OPEN/CLOSE, and may be    
    wise, but it does change what happens!  There is an undocumented    
    option, $LIBCLEAR, that will make SAS 6.06 act like SAS 5.18 and    
    cause datasets to be closed as before, but it is suggested that     
    you DO NOT use that option, as it clearly will increase SAS 6.06    
    execution costs.                                                    
    The only real incompatibility seen so far occurs with PROC RELEASE. 
    In SAS 6.06, you must preceed each PROC RELEASE DDNAME=XYZ; with a  
    LIBNAME XYZ CLEAR; statement, to close the XYZ fileref (and, if     
    XYZ was dynamically allocated, the CLEAR also deallocates the XYZ   
    fileref), because PROC RELEASE cannot release space if the dataset  
    is still open.  Instead of the LIBNAME XYZ CLEAR; statement (which  
    requires a change to your source program), you can alternatively    
    execute the PROC RELEASE in a separate MVS JCL step.                
V.  Documentation of MXG Software.                                      
Member CHANGES always contains the version number of MXG Software, and  
it lists changes that were installed in that version.  Several members  
named CHANGEnn are the contents of changes when that "nn" MXG version   
was created.  Details on 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 also 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 altered or added by that change, and documentation (especially for 
new product support) is often found in comments at the beginning of     
those named members.                                                    
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 26,355 variables from the 791 MXG data sets   
that can be 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 VMAC...'s    
that actually create the data set, or ANAL....'s that analyze the MXG   
datasets. In many instance, the MXG Variable is the IBM or Vendor's     
documented field name. In other cases, the IBM field name is carried as 
a comment beside the MXG variable that contains that information.  In   
all cases, you should also have the Vendor's documentation of the       
particular data record you are using for analysis.                      
VI.  MXG Version 8.8 Installation, Space, Compatibility, etc.           
   MXG Compatibility Exposures in MXG Version 8 for Existing Users:     
   a.  The SAS options required by MXG for execution have changed.      
   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 MXG 8.8 SOURCLIB and read these notes, read member INSTALL.    
This MXG tape is distributed as a Non-Labelled (NL) tape with a single  
file, DCB=RECFM=FB,LRECL=80,BLKSIZE=6160, that is actually an unloaded  
Partitioned Data Set containing 1360 members (and about 296,242 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 8.8 MXG.SOURCLIB requires SPACE=(CYL,(40,1,299)) 
and DCB=(RECFM=FB,LRECL=80,BLKSIZE=23440) on DASD.                      
Under CMS, approximately the same space (40 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.         
Changes are made 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 the MXG tailoring and installation history,     
just like the member CHANGES in MXG.SOURCLIB tracks MXG itself.         
You must now browse the members in USERID.SOURCLIB. If there are VMACs  
members, they will override the new MXG code, and should be removed now.
However, the real purpose of USERID.SOURCLIB is for normal tailoring of 
MXG for your site.  It is completely normal to have some members there: 
   If you have installed printed changes from an MXG Newsletter, you    
   would have copied member(s) from MXG.SOURCLIB into your site's       
   USERID.SOURCLIB and then made the changes therein, or alternatively, 
   you would 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 Release.  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. MXG 8.8 support for CICS/ESA adds 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), unless you retrofit   
            your _VAR110 changes starting with MXG 8.8.                 
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.                                       
     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 the MXG utility UTILPRAL.        
VII. Change Log                                                         
--------------------------Changes Log---------------------------------  
 You MUST read each Change description below to determine if a Change   
 will impact your installation.  All of these changes have been made    
 to this MXG Source 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.                   
Alphabetic INDEX of the most significant changes in MXG 8.8.            
  Member    Change   Description                                        
  ANALDB2R  8.030  DB2 Reporting from GTF data failed.                  
  ANALDB2R  8.031  DB2 Report PMLOK03 fails with 170 format error.      
  ANALDB2R  8.067  Report selection by time frame incorrect, minor.     
  ANALDB2R  8.084  DB2 Trace reporting with PDB=SMF avoids IMAC102.     
  ANALDB2R  8.121  PMAUD02/PMAUD03 request caused SAS 145/170 error.    
  ANALDB2R  8.280  Transit time and SQL reports added.                  
  ANALDBTR  8.249  DB2 Trace record pairing (SnnnSnnn) datasets built.  
  ANALDSET  8.077  ACCESS variable was not created, report failed.      
  ANALDSET  8.223  EXCP count deaccumulation from SMF 14/15 corrected.  
  ANALPRTR  8.146  New printer capacity analysis system.                
  AS400PDS  8.278  AS400 Records processing.                            
  ASMTMNT   8.070  MXG Tape Mount Monitor on 7.7 does support MVS/ESA.  
  ASMVTOC   8.117  Assembly program for Fast reading of DASD VTOCs.     
  ASUMCICS  8.023  Variable LENGTHs caused trunction.                   
  ASUMJOBS  8.230  Duplicate-Job-Name-Hold delay time estimated.        
  CICINTRV  8.182  New CICINTRV (CICS/ESA Interval Statistics) dataset. 
  CICINTRV  8.251  New CICEODRV (CICS/ESA Shutdown Statistics) dataset. 
  CONFIG    8.068  SAS 6.06 options member added to MXG library.        
  DIFFHSM   8.260  HSM User SMF Record de-accumulation.                 
  DOCDB2PM  8.112  Documentation of DB2PM-like reports in ANALDB2R.     
  DOCGRAF   8.274  SAS/GRAPH device support and MXG standards.          
  DOCTREND  8.113  Incompatible changes in MXG Trending implemented.    
  EXACFJR   8.047  ACF2 dataset ACF2JR may have deleted observations.   
  EXIDMTAS  8.105  IDMS Batch ACCOUNT1-3 fields decoded.                
  FMXGUCBL  8.009  Returns wrong value under SAS 5.18.                  
  GRAFDB2   8.275  SAS/GRAPH analysis of DB2 data.                      
  GRAFWORK  8.140  New graphic report of RMFINTRV workloads by hour.    
  IMACAAAA  8.281  Install aid describing which tailoring IMACs do what.
  IMACACCT  8.133  Safer/Easier user tailoring of kept Account fields.  
  IMACICDB  8.177  CICS/ESA 3.1 Transaction DBCTL counters/clocks.      
  JCLDASD   8.264  MXG DASD (VTOC,VVDS) Space Management example.       
  JCLTEST   8.001  Options MACRO DQUOTE MWORK=28K required by MXG 7.7.  
  JCLTEST   8.025  WORK.DIRMACR REQUIRES MORE SPACE error condition.    
  JCLTREND  8.058  PROC SORT added to avoid not-sorted condition.       
  MONTHBLD  8.095  Syntax error under SAS 6.06 circumvented.            
  MVS 4.1   8.167  Support for MVS/ESA SP Version 4.1 and RMF 4.2.      
  MVS 4.2   8.224  Support for MVS/ESA SP Version 4.2 and RMF 4.2.1     
  NPM       8.038  NPM records from VM can be processed.                
  PRODUCTS  8.282  Documents MXG support by "product name/acronym"      
  RMFINTRV  8.216  SIO counts in RMFINTRV missing.                      
  SAS 6.06  8.283  "Dataset is not sorted" SAS Error fixed by Z6062141. 
  SPIN      8.158  SPIN library fills when MVS/ESA replaces MVS/XA.     
  SPIN      8.172  SPIN library fills when MVS/ESA replaces MVS/XA.     
  SPUNJOBS  8.258  New PDB.SPUNJOBS dataset for SPIN reporting.         
  TRND72    8.143  Critical error, but only in PreRelease 8.3           
  TRNDDB2A  8.276  TRENDing for DB2ACCT into MXG Trend database.        
  TRNDDB2S  8.279  TRENDing for DB2STAT0 and DB2STAT1.                  
  TRNDRMFI  8.143  Critical error, but only in PreRelease 8.3.          
  UTILGETM  8.206  %MACRO on FILE statement CPU loop in SAS 6.06.       
  VMAC110   8.065  Support for new CICS 3.1.1 major changes.            
  VMAC1415  8.017  New HiperBatch counts added to SMF type 1415.        
  VMAC1415  8.137  HiperBatch values non-zero when they should be zero. 
  VMAC23    8.208  SMF writer memory usage added (OY27449).             
  VMAC28    8.111  INPUT function error in NPM subtype 82.              
  VMAC28    8.148  Support for NPM Release 4 (NPM 1.4), SMF Type 28.    
  VMAC30    8.081  Support for APAR adding DDCONS() option.             
  VMAC30    8.082  Support for APAR adding PROCSTEP to type 30s.        
  VMAC30    8.208  NOT CATLG 2 or 7 now added (APAR OY24857) to 30s.    
  VMAC37    8.022  Variable KEEP, FORMATs.                              
  VMAC39    8.022  TYPE39EL conditionally created. ZDATE kept.          
  VMAC39    8.245  Support for NETMASTER V2.1.0 subtype 255.            
  VMAC41    8.015  New VLF counts in new subtype 3 SMF type 41.         
  VMAC42    8.136  STOPOVER on subtype 3 due to IBM error.              
  VMAC57    8.184  STOPOVER on type 57 (MVS 4.1 and MXG 8.5 only).      
  VMAC6     8.057  STOPOVER due to invalid external writer record.      
  VMAC60    8.128  STOPOVER on SMS NVR segment in type 60.              
  VMAC6156  8.027  STOPOVER error with ICF catalog record section.      
  VMAC6156  8.039  TYPE6156 VOLSER may be wrong for GDGs.               
  VMAC6156  8.214  "Invalid Third Argument to Function SUBSTR."         
  VMAC64    8.134  ACBMACRF fields individually decoded into variables. 
  VMAC64    8.219  TYPE64 HiperBatch variables missing.                 
  VMAC64    8.234  VSAM HiperBatch counters corrected.                  
  VMAC7072  8.066  Support for new "SRCL" field in RMF Product section. 
  VMAC7072  8.187  Support for new Hitachi processors with MLPF.        
  VMAC7072  8.233  "Invalid data for MSOCOEFF..." correction.           
  VMAC7072  8.250  Support for PR/SM "overhead" measures APAR OY36668.  
  VMAC76    8.254  Support for OPPSI in SYSPLEX is traceable.           
  VMAC78    8.049  TYPE78CF only output if CHPID is online.             
  VMAC78    8.132  STOPOVER on type 78 subtype 3 with ES/9000 CPUs.     
  VMAC79    8.012  STOPOVER correction, support validation.             
  VMAC79    8.055  Formats and units corrections.                       
  VMACACF2  8.002  ACF2 SMF record caused STOPOVER.                     
  VMACACF2  8.090  Further validation of ACF2 SMF record.               
  VMACARB   8.190  Support for Arbiter Version 2.1.1 SMF records.       
  VMACCIMS  8.064  Support for IMF 2.6 (for IMS 3.1).                   
  VMACCMF   8.247  Support for Boole & Babbage CMF SMF record 240.      
  VMACCRAY  8.044  Support for CRAY COS operating system                
  VMACDB2   8.102  Distributed DB2 header added to DB2ACCT.             
  VMACDB2   8.225  Support for Landmark's The Monitor for DB2.          
  VMACDCOL  8.130  DCOLLECT enhancement for all seven records.          
  VMACDCOL  8.210  DCOLLECT migration/backup tape dates correction.     
  VMACDCOL  8.252  Support for DCOLLECT APAR OY37378.                   
  VMACDCOL  8.074  Support for SMS DCOLLECT data records.               
  VMACDMON  8.003  Uninitialized variable in ANALDMON caused.           
  VMACDMON  8.236  Support for LEGENT ASTEX replacement for DASDMON.    
  VMACEPMV  8.217  Support for Candle's EPILOG for MVS SMF Type 180.    
  VMACHSM   8.138  Preliminary support for HSM User SMF records.        
  VMACIDMS  8.005  IDMS SMF record variables format incorrect.          
  VMACIMS   8.006  IMS crashes required duplicate DTOKEN protection.    
  VMACIMS   8.098  Support for IMS/ESA 3.1 log records.                 
  VMACIMS   8.118  IMS Cold start support and logic changes.            
  VMACIMS   8.119  Correction of IMS Input Queue time.                  
  VMACIMS   8.176  IMS 3.1 DBCTL Thread Transactions Deleted.           
  VMACIMS   8.256  Support for IMS Wait-for-Input from IMS log.         
  VMACMDF   8.091  Amdahl's MDFTRACH SMF records corrected.             
  VMACMEMO  8.227  Support for MEMO European Electronic Mail SMF record.
  VMACMON8  8.161  Support for Landmark's Monitor for CICS Version 8.0  
  VMACMONI  8.036  CREATIME in MONITASK may have wrong date.            
  VMACMPT   8.173  Support for Amdahl's MDF Performance Tool            
  VMACNSPY  8.010  NETSPY 3.2 support was incomplete.                   
  VMACNSPY  8.043  Netspy 3.1 STOPOVER.                                 
  VMACNSPY  8.265  Support for NETSPY Release 4.0.                      
  VMACORAC  8.080  Support for Oracle SMF record.                       
  VMACROSC  8.028  ROSCOAUD contained zero observations always.         
  VMACSASU  8.157  SAS User Record changed under SAS 6.06.              
  VMACSESA  8.228  Support for Volvo's SESAME VTAM Monitor.             
  VMACSMF   8.013  DB2 read from GTF. Minor.                            
  VMACSPMS  8.149  Support for Amdahl's SPMS SMF (Cache DASD CU).       
  VMACSTC   8.092  STC 4400 Silo SMF record new subtype.                
  VMACSTC   8.194  STC 4400 Silo SMF record new subtype STOPOVER!       
  VMACSYNC  8.020  Invalid CPUTCBTM value detected.                     
  VMACSYNC  8.056  SIRECFM,SORECFM contain invalid data value.          
  VMACSYNC  8.123  Error (only in PreRelease 8.2) in TYPESYNC data.     
  VMACSYNC  8.211  SYNCSORT EW2903 detects SAS invoked Sort.            
  VMACSYNC  8.253  Support for SYNCSORT SCZ 33038 (Hiperspace stats).   
  VMACTMNT  8.033  Minor. Formats for DEVFROM/DEVTO.                    
  VMACTMVS  8.173  Protection for TMON/MVS Spanned Records              
  VMACTPNS  8.269  Support for TPNS log.                                
  VMACTPX   8.016  No observations in TPXINTRV.                         
  VMACTSOM  8.007  Missing STRTTIME in TSOMCMND.                        
  VMACTSOM  8.104  Invalid READTIME due to CA7 in TSO/MON record.       
  VMACTSOM  8.262  Support for LEGENT TSO/MON Release 5.3.0.            
  VMACVMON  8.037  Divide by zero.                                      
  VMACVMON  8.045  24APR90 became 02OCT89 when 202 day clock wrapped.   
  VMACVMON  8.106  VM Start Time off by 43 minutes on Aug 4, 1990.      
  VMACVMXA  8.004  OMEGAMON/VM creates invalid VM/XA VB records.        
  VMACVMXA  8.099  Many VM/XA PTFs altered Monitor records.             
  VMACVMXP  8.041  Minor EXPLORE/VM processing changes.                 
  VMACVPD   8.234  Support for NETVIEW's VPD aka NAM type 37 SMF data.  
  VMACVVDS  8.073  Validation of VVDS record created by ASMVVDS.        
  VMACWSF   8.100  Support for WSF archive product SMF.                 
  VMACX37   8.024  STOPX37, minor.                                      
  VMACZRB   8.054  RMF 4.1.1 caused STOPOVER.                           
  VMACZRB   8.079  Further validation of RMF III VSAM data.             
  VMACZRB   8.156  Further validation and reports.                      
  VMXGDOWN  8.273  Download to PC all datasets in a SAS library.        
  VMXGSUM   8.021  Missing variable initialization protection.          
  VMXGVTOC  8.018  OFFSET4E and SMS variables added.                    
  VMXGVTOC  8.032  Minor. RECFM should be $4.                           
  VMXGVTOC  8.075  Did not capture free space at beginning of volume.   
  VMXGVTOF  8.193  Build VMXGVTOC datasets from ASMVTOC records.        
  VMXGVTOR  8.009  Incorrect on 7.7, changes not propagated.            
  XMAC7072  8.014  ZDATE not kept in TYPE70PR and TYPE72MN              
  ZZZZZZZZ  8.011  Final member of MXG Library is named.                
Inverse chronological list of all Changes:                              
  Changes thru 8.283-8.187 were printed here in Newsleter NINETEEN      
  See member CHANGE08 for actual change text.                           
End of Changes Log in Newsletter NINETEEN.