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

MXG NEWSLETTER TWENTY-SEVEN

****************NEWSLETTER TWENTY-SEVEN*********************************
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
              MXG NEWSLETTER NUMBER TWENTY-SEVEN March 1, 1995          
                                                                        
Technical Newsletter for Users of MXG :  Merrill's Expanded Guide to CPE
                                                                        
                         TABLE OF CONTENTS                          Page
                                                                        
I.    MXG Software Version 12.12, Mar 1, 1995, shipped to all sites.  2 
II.   MXG Technical Notes                                             5 
  1.  Pentium chip defect identification.                             5 
  2.  Dealings with holidays.                                         5 
  3.  Conversion of GMT timestamps to local time using MXG exits.     5 
  4.  MXG Execution under Windows, OS/2, or UNIX                      6 
III.  MVS Technical Notes                                             7 
  1.  APAR OW07300 type 89 Measured Usage Charges record.             7 
  2.  Memory measures in RMF and SMF data at PERFGRP/SRVCLASS/task.   7 
  3.  Chuck Hopf's examination of how BLSR helps VSAM performance.    8 
  4.  CPU ID 6 missing in 9021-941 machine until PTFs applied         9 
  5.  APAR OW08903 corrects wrong SRVCLASS in type 30 SMF             9 
  6.  APAR OW08534 incorrect type 80 SMF record created for           9 
  7.  APAR OW08302 type 89 records might not be created.              9 
  8.  APAR OW07446 required for N_UP support for type 6 SMF.          9 
  9.  APAR OW08890 errors in type 61 SMF record after OW03544.        9 
 10.  APAR PN61950 for DB2 Release 3.1.0, missing QXST....            9 
 11.  APAR OW06510 DCOLLECT errors (only at HDP3320/HDP3330 level)    9 
 12.  Type 42 records contain I/O measures not available elsewhere.   9 
 13.  Non-zero value for LEAPSECONDS offset causes time differences. 10 
 14.  SMF records can be lost without an SMF lost data event.        10 
 15.  You cannot measure the time a job spends in the HOLD.          11 
 16.  Hardware Data Compression in IBM mainframes.                   11 
IV.   DB2 Technical Notes                                            11 
  1.  APAR PN63234 corrects DB2 type 101 SMF record subtype error.   11 
  2.  Track DB2 I/O activity with TYPE42DS data.                     11 
  3.  DB2 Elapsed time in DB2ACCT is not valid.                      12 
V.    CICS Technical Notes                                           12 
  1.  APAR PN34573 CICS EOD Shutdown Statistics for OPEN files.      12 
VI.   SAS Technical Notes                                            12 
  1.  CANNOT ACCESS LIBREF ddname NOT VALID FORMAT FOR ACCESS SASEB  12 
VII.  IMS Technical Notes                                            13 
  1.  ABEND 878-10 running TYPEIMSA with 4 log tapes.                13 
  2.  Candle's ITRF errors reported in Newsletter 26 are fixed.      13 
VIII. Incompatibilities and Installation of MXG 12.03.               13 
  1.  Members IMAC7072 IMAC74 IMACDB2 IMACPDB IMACWORK changed.      13 
  2.  Installation instructions.                                     13 
IX.   Online Documentation of MXG Software.                          14 
X.    Changes Log                                                    16 
      Alphabetical list of important changes                         16 
      Changes 12.306 thru 12.129                                  19-60 
       (Changes 12.128-12.001 were in Newsletter 26)                    
                                                                        
                                                                        
         COPYRIGHT (C) 1995 BY MERRILL CONSULTANTS DALLAS TEXAS         
                                                                        
I. MXG Software Version 12.12, dated Mar 1, 1995, the "Production" MXG, 
   was shipped to all sites with this newsletter, containing:           
                                                                        
   Major enhancements added in MXG 12.12 dated Mar  1, 1995:            
                                                                        
    Support for OS/400 AS/400 Version 3.1.0 INCOMPATIBLE.               
    Support for PR/SM APAR OW078986 adds "MVS Wait" to "LPAR Waits"     
    Support for Type 99 Subtype 1 added.                                
    Support for CICSAO availability measurement SMF written by CICSAC.  
    Support for Mitchem's ACC/SRS user SMF record.                      
    Support for LEGENT SAR Cross Memory Session Logoff user SMF record. 
    Support for Network Systems DXE channel RDS user SMF.               
    Support for Velocity Software XAMAP Version 2.2.                    
    Support for CICSAO user SMF record for CICS availability.           
    Support for Boole & Babbage IMF Version 3.1 (for IMS 5.0).          
    Support for VAX Accounting and Performance data.                    
    Amdahl's MDF now populates TYPE70PR/ASUM70PR with valid CPU time.   
    Candle's ITRF product-error corrections have been validated.        
    RACF TYPE80A enhanced to decode RACF commands of interest.          
    REXX program to convert DB2 GTF records to SMF format for MXG.      
    ANALPGNS reports CPU utilization by Performance Group.              
    ANALDB2R Support for DB2 Version 3.1 DB2PM-like reports.            
    ANALMTP Analysis of Tape Mounts Concurrently Waiting.               
    ANALRMFR enhanced, selection by storage class, device, LCU added.   
    XMXGSUM replacement for VMXGSUM is ready for full use.              
                                                                        
   Major enhancements added in MXG 12.07 dated Feb  6, 1995:            
                                                                        
    Support for TCP/IP Version 3.1 (incompatible).                      
    Support for RMDS Version 2.1 (incompatible).                        
    Support for TPX 4.0 (compatible with one line edit).                
    Support for RMF Monitor III ("ZRB") for MVS/ESA 4.3 - partial.      
    Support for Xerox Print Service Manager XPSM SMF record.            
    Support for BGS's BEST/1 I/O Monitor SMF record.                    
    Support for Boole & Babbage CMF VSAM MRR records.                   
    %ANALCNCR algorithm for concurrency analysis (inits, tapes, etc.)   
    Circumvention for CACHE90 zero observations with RAMAC devices.     
    New TYPE72DL dataset for MVS/ESA 5.1 Goal Mode                      
                                                                        
   Major enhancements added in MXG 12.06 dated Jan  9, 1995:            
                                                                        
    Support for NETSPY 4.5. Compatible except for LU6.2 NSPYAPPL data.  
    Support for Innovation Processing's IAM user SMF record.            
    VM/ESA 2.2 Scheduler records supported.                             
    Invalid DB2 type 101 SMF record workaround (fix is APAR PN63234).   
    Revised ANALPATH reporting for MVS I/O Path analysis.               
    Final (?) enhancements for VMXGSUM parsing of all dataset options.  
                                                                        
   Major enhancements added in MXG 12.05 dated Nov 20, 1994:            
                                                                        
    Support for MQM 1.1.2 Performance Statistics type 115 SMF record.   
    Support for MQM 1.1.2 Accounting type 116 SMF record.               
    Support for Omegamon for CICS V100 and V300 SMF.                    
    Support for Landmark Monitor for MVS Release 1.3 enhanced.          
    Support for InfoAccess Release 5.1 user SMF record.                 
    Support for HSM APAR OW05988, adds CPU time to FSR!                 
    Support for Sterling Software's ASM V3.0.0 type 39 records.         
    Support for CA/SQL user SMF record (same as IDMS records).          
    Support for S/390 Parallel Query Server SPQS SMF 123 started.       
    Correction for NPM 2.2 NPMVSaaa datasets.                           
    CICS Utility UTILCICS now identifies type 110s from Omegamon.       
    New dataset PDB.TYPE72SC for Goal Mode Server data.                 
    Type 42 technical note, removal of GMT offset calculation.          
                                                                        
   Major enhancements added in MXG 12.04A  dated Oct 23, 1994:          
                                                                        
    Support for Omegamon for VTAM V160 (Incompatible).                  
    Correction to MXG 12.04-only errors:                                
      Type 28 Input Statement EXCEEDED error message.                   
      MXG Tape Unload caused return code 4, extra members unloaded.     
      UTILCICS failed with syntax error                                 
    Correction to SAP Accounting under IMS.                             
    Correction to NETSPY Token-Ring TIC-UTIL in NSPYTR - was too large. 
    Correction to TYPE42 STARTIME/ENDTIME - may be on GMT clock.        
    Technical note on Memory measurement in MVS Technical Notes.        
                                                                        
   Major enhancements added in MXG 12.04  dated Sep 30, 1994:           
                                                                        
    All "Chapter 99 CodeSharks" now honored in ACHAP99.                 
    Support for CICS/ESA 4.1.0 (compatible) adds important new measures.
    Support for NPM 2.2 (compatible, but new subtypes).                 
    Support for LEGENT's TSO/MON 6.1 (compatible).                      
    Support for Landmark TMON Monitor for CICS/ESA 1.3 (incompatible).  
    Support for Landmark TMON Monitor for DB2.                          
    Support for STK ICEBERG SMF record subtype 5.                       
    Support for CA's TELEVIEW user SMF record.                          
    Support for APARs OW00484/UW06888/others corrupt TYPE1415 variables.
    DB2STATS variables QB3Taaaa/QB4Taaaa corrected.                     
    TYPE37 Short LAND segment INPUT STATEMENT EXCEEDED corrected.       
                                                                        
   Major enhancements added in MXG 12.03A dated Aug 17, 1994:           
                                                                        
    Support for APAF 2.2 (incompatible).                                
    Support for TLMS Release 5.4 (incompatible).                        
    Support for BETA93 1.6.1 validated (it was incomplete in MXG 12.03).
    Further DB2 3.1 corrections in TYPEDB2 and TYPE102 support.         
                                                                        
   Major enhancements added in MXG 12.03 dated Aug 4, 1994:             
                                                                        
    Support for MVS/ESA 5.1 Type 99 Subtype 2 record.                   
    Support for LEGENT's ASTEX Release 2.0.                             
    Support for UniKix Release 4.1 Binary File                          
    Support for EMPACT's HIPER-CACHE Version 1.1.1.                     
    Support for SMF Type 50 VTAM Tuning APAR OW04453.                   
    Support for RSD's WSF Release 3.5.1.                                
    Support for Omegamon II for SMS V100/V110.                          
    Support for BETA93 user SMF record.                                 
    MXG Tape Mount and Tape Allocation Monitor errors now works!        
    Correction for NPM Release 2.0 subtypes 214 thru 219.               
    Additional DB2 3.1 Trace IFCIDs supported.                          
    Analysis ANALDB2C matches CICSTRAN observations with DB2ACCT.       
                                                                        
   Major enhancements added in MXG 12.02 dated Jul 4, 1994:             
                                                                        
    MXG Tape Mount and Allocation Monitor was revised, new reports.     
    Support for IBM's CRR 1.6 (3990-3 and 3990-6) (incompatible).       
    Support for DFSMS 1.2 changes to DCOLLECT (compatible).             
    Support for MEMO subtype 6 record.                                  
    Support for TCP/IP APAR PN34837 new field (compatible).             
    Support for MVS APAR OW00884/UW06821 - (no impact, see MVS Notes).  
    Support for IMS 4.1 Log Records (see IMS Technical Notes)           
                                                                        
   Major enhancements added in MXG 12.01 dated Jun 15, 1994:            
                                                                        
    Support for MVS/ESA 5.1 many new datasets (Goal Mode Incompatible). 
    Support for Measured Usage SMF Record 89 and changes to type 30.    
    DB2 Version 3.1 Buffer Pool statistics were incorrect in MXG 11.11. 
                                                                        
  Probable Future Enhancements:                                         
                                                                        
  EXPLORE/VSE - Partial support might just make it into MXG 12.12, full 
                support of all records in second quarter 1995.          
                                                                        
  TYPE72_4   MVS/ESA Version 5.1 Goal Mode only.  Some of the SUMmed    
             fields need to be divided by number of samples, but I need 
             test data to validate which variables are summed and which 
             are not!  If you are running MVS/ESA 5.1 in Goal Mode and  
             want to use this RMF Monitor III data, please send me an   
             SMF tape (UNIT=3480,DCB=TRTCH=NOCOMP, please)!             
                                                                        
  Following are longer range (maybe's) to be attacked:                  
                                                                        
  Huron   -  Huron SMF record - no sample SMF data, no machine DSECTS.  
                                                                        
  EPIC    -  LEGENT has not provided the format of their tape catalog.  
                                                                        
======================================================================  
                                                                        
    Table of availability dates for the IBM products and MXG version:   
                                                                        
      Product Name                     Availability     MXG Version     
                                                                        
      MVS/ESA 4.1                      Oct 26, 1990.        8.8         
      MVS/ESA 4.2                      Mar 29, 1991.        9.9         
      MVS/ESA 4.2.2                    Aug     1991.        9.9         
      MVS/ESA 4.3                      Mar 23  1993.       10.10        
      MVS/ESA 5.1.0                    Jun 24  1994        12.02        
      MVS/ESA 5.2.0                    ??? ??  ????        13.??        
      CICS/ESA 3.2                     Jun 28, 1991.        9.9         
      CICS/ESA 3.3                     Mar 28, 1992.       10.01        
      CICS/ESA 4.1                     Oct 27, 1994.       12.04        
      CICS/ESA ?.?                     ??? ??, ????.       13.??        
      CRR 1.6                          Jun 24, 1994.       12.02        
      DB2 2.2.0                                1990         8.8         
      DB2 2.3.0                        Oct 28, 1991.       10.01        
      DB2 3.1.0                        Dec 17, 1993.       12.04        
      DB2 4.1.0                        ??? ??, ????.       13.??        
      DFSMS/MVS 1.1                    Mar 13, 1993.       11.11        
      DFSMS/MVS 1.2                    Jun 24, 1994.       12.02        
      NPM 2.0                          Dec 17, 1993.       12.03        
      NPM 2.2                          Aug 29, 1994.       12.05        
      VM/ESA  1.1.1                    Dec 27, 1991.       10.01        
      VM/ESA  2.0                      Dec 23, 1992.       10.04        
      VM/ESA  2.1                      Jun 27, 1993.       12.02        
      VM/ESA  2.2                      ??? ??, 1994.       12.06        
                                                                        
    Table MXG support for non-IBM products:                             
                                                                        
      Product Name                                      MXG Version     
                                                                        
      Landmark                                                          
       The Monitor for CICS/ESA 1.3                        12.12        
       The Monitor for MVS/ESA 1.3                         12.05        
      Candle                                                            
       OMEGAMON for CICS V300 User SMF Record              12.05        
      Boole & Babbage                                                   
       IMF 3.1 (for IMS 5.1)                               12.12        
                                                                        
II. MXG Technical Notes                                                 
                                                                        
 1. You can identify that your Pentium chip is defective by using the   
    Windows Calculator (in Accessory Window) and calculating:           
       4195835/3145727*3145727                                          
    Good chips return a value of 4195835, bad chips return 4195579.     
                                                                        
                                                                        
 2. Dealing with holidays.                                              
                                                                        
    First, I do not think it is necessary to separate holidays into a   
    separate value of SHIFT (or to re-classify holiday dates to the     
    Weekend shift) for reporting.  Especially for resource data, if you 
    plot weekly data rather than monthly, the weeks containing holidays 
    will naturally separate from the real weeks so you can clearly see  
    the growth in weekly prime capacity, and you do not need to make the
    reporting more complicated with a new SHIFT.  However, if you decide
    (or your boss decides!) that you must separate holidays, you can use
    this example (which may eventually be a formal part of MXG):        
                                                                        
    a. Build a format of holiday dates for your site, using:            
                                                                        
           PROC FORMATS LIB=LIBRARY;                                    
           VALUE MGHOLID                                                
            '01JAN94'D='Y'                                              
            '04JUL94'D='Y'                                              
            ;                                                           
                                                                        
       (If you put your PROC FORMATS code in member IMACFMTS, then when 
       you install a new version of MXG and create/update the           
       MXG FORMATs library, your code will be executed to create/update 
       your MGHOLID format in the MXG format library, or you could put  
       this "Installation Format" in its own format library and use the 
       new FMTSEARCH= option in an OPTIONS statement to find the format.
         //SYSIN DD *                                                   
          OPTIONS FMTSEARCH=(MYLIB LIBRARY);                            
       Remember to allocate the //LIBRARY DD with DISP=OLD (or DISP=NEW)
       to write to the format library.)                                 
                                                                        
    b. Then use the PUT function with the MGHOLID format to determine if
       the date is a holiday; this logic would be added to MXG member   
       IMACSHFT, by adding after the last line:                         
                                                                        
       IF UPCASE(PUT(DATEPART(DATETIME),MGHOLID.))='Y' THEN SHIFT='H';  
                                                                        
       to create a fourth value of the variable SHIFT for holidays.     
       The point is that you must create a table of holidays, using a   
       PROC FORMAT, and you then use the above PUT function to do the   
       table lookup to determine if a specific date value is in the     
       list of (holiday) dates in your MGHOLID format.                  
                                                                        
 3. Conversion of GMT timestamps to local time using MXG exits.         
                                                                        
    If you have a non-zero value for TIMEZONE specified in member CLOCKn
    of your SYS1.PARMLIB, some fields in some SMF records (notably, the 
    start/end timestamps in DB2ACCT, CICSTRAN, and TYPE42DS datasets)   
    use that non-zero value to store GMT time instead of local time.    
    At some time in the future, IBM has plans to carry the value of the 
    GMT offset into these records so that I can correct GMT back to your
    local time, but until that fix is provided by IBM, you must do it   
    yourself, using the MXG "Exit" member for the dataset to be changed:
                                                                        
                                                                        
       Dataset     Exit Member    Variables to be corrected             
       CICSTRAN     EXCICTRN       STRTTIME,ENDTIME                     
       DB2ACCT      EXDB2ACC       QWACESC,QWACBSC                      
       TYPE42DS     EXTY42DS       STARTIME,ENDTIME                     
                                                                        
    Notes a-c were revised Aug 23, 1996:                                
    a. To correct the DB2 timestamps from GMT to USA EST time zone, you 
       would insert these two lines:                                    
         QWACESC=QWACESC-HMS(5,0,0);                                    
         QWACBSC=QWACBSC-HMS(5,0,0);                                    
       before the OUTPUT statement in member EXDB2ACC, as this would    
       subtract 5 hours from the GMT value.                             
                                                                        
    b. To correct the CICS timestamps from GMT to USA PDT (-7 GMT), in  
       EXCICTRN, insert:                                                
            IF SMFPSRVR LT 41.0 THEN DO;                                
              STTRTIME=STRTTIME-HMS(7,0,0);                             
              ENDTIME =ENDTIME-HMS(7,0,0);                              
            END;                                                        
       The test for CICS/ESA 4.1 is needed because Change 13.247 added  
       the MXG support for automatic correction of GMT.  When all of    
       your systems are at 4.1 or later, you can delete this insertion. 
                                                                        
    c. These examples only work six months of the year.  When Daylight  
       Savings (or Summer) Time changes, you must change the hours.     
                                                                        
                                                                        
 4. MXG Execution under Windows, OS/2, or UNIX.                         
                                                                        
    As described in MXG Newsletter 25, MXG Software CAN be executed     
    under Windows, OS/2 or UNIX versions of the SAS System.  That paper 
    also states that "just because you CAN does not mean you SHOULD"!   
                                                                        
    I still strongly recommend that MXG be executed under MVS to create 
    the MXG datasets on the mainframe, not only because MVS is          
    technically superb at handling large volumes of data and providing  
    large virtual space for the large MXG programs, but also because the
    job and file management facilities of MVS (i.e., MVS catalog, JCL,  
    single DDNAME for an entire PDB library, backup, etc.) are automated
    so that MVS will require much less human time to monitor and manage 
    the MXG job stream.  Once you have built your MXG datasets on your  
    mainframe, then it does make sense to use SAS on your Workstation   
    or PC to graph, report, and/or develop analyses and reports,        
    especially when your plotters and graphic presentation devices      
    are PC or Workstation based.  You can bring down only the summary   
    data you need for today's analysis or testing, keeping the PDB data 
    libraries archived on the mainframe you are measuring.              
                                                                        
    MXG was enhanced to run on PCs and Workstations, not because it is  
    the best place to execute MXG, but because some MXG technicians were
    told they would lose their job if they could not move the SAS work  
    off the mainframe (typically, MXG was the only SAS application at   
    these sites, and the SAS mainframe license cost can exceed the      
    technician's salary!)   As a result, the "vanilla" (unmodified)     
    BUILDPDB has been successfully executed under Windows, OS/2, and    
    UNIX on several hardware platforms. MVS data records that require   
    Assembly routines will not execute on PCs or Workstations;          
    compressed records from Landmark, Candle, and IBM require assembly  
    routines to decompress on the fly, or the records must first be     
    uncompressed on the mainframe before download.  Because Windows and 
    OS/2 are limited to 255 open files, large MXG programs (BUILDPDB    
    plus many additional user SMF records, TYPE102 transit report) may  
    not run at all without user changes (such as splitting the data into
    two runs).  Nevertheless, a dozen or so sites have successfully     
    moved their MXG application from their mainframe to UNIX            
    workstations, and I will continue to support MXG execution on all   
    SAS platforms that I can, in spite of my present preference for MVS!
                                                                        
    There is only one MXG Software product, and it will execute on any  
    supported SAS platform.  MXG is shipped on 3480 cartridges, which   
    can be unloaded on the mainframe and then downloaded to the PC or   
    Workstation; installation instructions are in MXG Newsletter 25,    
    "Executing MXG on PCs and Workstations".  If required, MXG can be   
    shipped as a PKZIP file on five PC diskettes.                       
                                                                        
    There is only one MXG Software License, and its price and terms     
    apply no matter what operating system or hardware platform you use  
    for the execution of MXG Software; MXG is licensed at each physical 
    site address at which the data is created or processed, and not by  
    the make, model, manufacturer, color, speed or number of engines at 
    that site.                                                          
                                                                        
III. MVS Technical Notes                                                
                                                                        
 1. APAR OW07300 reports (without PTF) that type 89 Measured Usage MULC 
    records report falsely high usage for TSO if the site has an OEM    
    multi-user product in use, since these multi-session products       
    attach X number of IKJEFT01 sessions in a single address space, and 
    since IKJEFT01 registers X times, SMF multiples X times the actual  
    usage.                                                              
                                                                        
 2. Memory measures in RMF and SMF data for the PERFGRP/SRVCLASS/task:  
                                                                        
    Prior to MVS/ESA, RMF provided only the MSOUNITS-based measure of   
    the real memory occupied by tasks in each performance-group-period  
    in TYPE72 dataset.  From the MSOUNITS variable (which is the product
    of the pages times seconds of TCB time times a constant), MXG       
    creates the variable AVGMEMSZ, the number of "K" bytes of memory    
    occupied by this performance group period (so a value of            
    AVGMEMSZ=250 meant 250K bytes).  The AVGMEMSZ was never really      
    accurate (it measures only the pages held while the task was        
    executing TCB-only, and any pages held while the address space was  
    waiting or executing under SRB, etc., are not included), but it was 
    the only measure we had!                                            
                                                                        
    MVS/ESA Version 3 provided the much more useful measure of the total
    number of frame-seconds (CSTORE+ESTORE) when page-frames were       
    occupied by tasks that were "resident" in real memory, for each     
    performance-group-period ("PGP"), in variable ACTFRMTM in dataset   
    TYPE72.  The ACTFRMTM eliminated the TCB-only error in the old      
    MSOUNITS-based measures, and are thus much more accurate, since they
    include the pages occupied by each PGP, whether resident tasks are  
    executing or waiting.  However, these "ACTFRMTM-based" measures do  
    not include the MVS Nucleus pages, nor pages in the LPA (Link Pack  
    Area), nor pages in the CSA (Common Storage Area), since those page-
    frames are not "owned" by an address space (although the size of    
    each of those areas is available in the TYPE71 dataset).  And of    
    special significance, these "ACTFRMTM-based" measures do NOT include
    any page-frames that are occupied by Logically Swapped Address      
    Spaces, which can be significant with lots of TSO users!  (One site 
    found the total of the TYPE72 and TYPE71 data was 51MB in a machine 
    with 64MB of total memory, implying 13MB used by LSWAPs!).          
                                                                        
    MVS/ESA Version 4 added the ACTESFTM variable, the frame-seconds of 
    ESTORE page-frames occupied, so the CSTORE, ESTORE, and total       
    page-frames can now be separately calculated.                       
                                                                        
    MVS/ESA Version 5 made no changes in memory measurements, but the   
    TYPE72 dataset will exist only in "Compatibility Mode"; when MVS is 
    in "Goal Mode", these same memory measures exist only in the new    
    TYPE72GO dataset (and instead of Performance-Group-Period, the new  
    entity is Service-Class-Period).                                    
                                                                        
    The TYPE72GO dataset still contains the archaic MSOUNITS & AVGMEMSZ 
    variables; variables ACTFRMTM and ACTESFTM were added with MVS/ESA, 
    and MXG 12.04 adds new variables TSTORE72, CSTORE72, and ESTORE72,  
    which are the ACTFRMTM-based measures of Total, CSTORE, and ESTORE  
    occupied storage.  These new variables contain the number of bytes, 
    but are formatted with the special MGBYTES format, which converts   
    bytes to KB, MB, GB, etc., and adds that suffix when the variable   
    is printed (thus a value of 5,242,880 bytes would print as "5MB").  
                                                                        
    In the RMFINTRV dataset, where Performance Groups/Service Classes   
    are mapped into workloads (by your IMACWORK member), MXG creates the
    ACTFRMTM-based memory occupied by each individual workload in the   
    variables BATMEMR, TSOMEMR, CICSMEMR, ... , and total memory        
    occupied by all workloads in variable TOTMEMR.  These xxxxMEMR      
    variables are also in bytes and formatted with MGBYTES.             
                                                                        
       The RMFINTRV dataset still contains the (now-useless)            
       MSOUNITS-based TCB-only memory occupied variables BATWKST,       
       TSOWKST, CICSWKST ... and their total in AVGWKSET (note that if  
       AVGWKSET was equal to 5MB, it would print as 5120, because it is 
       units of K, and 5120*1024=5,242,880, or 5MB).                    
                                                                        
    I have recently (MXG 12.04) enhanced the TYPE72GO dataset with three
    new variables, TSTORE72, CSTORE72, and ESTORE72, the ACTFRMTM-based 
    measures of total, CSTORE, and ESTORE bytes occupied by each PGP.   
                                                                        
    Finally, in the TYPE30 datasets, at the job/step/interval level,    
    only MSOUNITS-based TCB-only measures exist, with PAGESECS the      
    TCB-only frame/page-seconds occupied, from which the AVGWKSET       
    variable is calculated for TYPE30_4, TYPE30_5, TYPE30_V datasets,   
    but all of these TCB-only-based memory metrics are of very limited  
    use because of their inherent inaccuracy.                           
                                                                        
                                                                        
                                                                        
    The following chart (hopefully) summarizes what's captured where:   
                                                                        
                  -----------GOOD STUFF----------------        --BAD--  
                                                                        
    TYPE72:                                                             
    Framesecs:    ACTFRMTM    ACTESFTM   ACT(FRM-ESF)TM        MSOUNITS 
    Per-PGP       TSTORE72    ESTORE72   CSTORE72              AVGMEMSZ 
                                                                        
    RMFINTRV:                                                           
    Per-Wkload:   BATMEMR        n/c        n/c                BATWKST  
                  TSOMEMR        n/c        n/c                TSOWKST  
                  CICSMEMR       n/c        n/c                CICSWKST 
                    ...                                          ...    
                  OTHRMEMR       n/c        n/c                OTHRWKST 
                                                                        
    All-Wkloads:  TOTMEMR        n/c        n/c                AVGWKST  
                                                                        
    TYPE30:                                                             
    Framesecs:      n/c          n/a           n/a             PAGESECS 
    Average size:   n/c          n/a           n/a             AVGWKSET 
                                                                        
        n/c = not-calculated, but could be                              
        n/a = not-available, does not exist          (16May2000)        
                                                                        
 3. Chuck Hopf's examination of how BLSR helps VSAM performance (see the
    member ADOCBLSR) concentrated on Index Buffers, because usually that
    is where the most benefit can be gained.  However, if your VSAM file
    has significantly more EXCPs to the Data Area than there are records
    in the file, increasing the Data Buffers can also be rewarding.  In 
    one case, a batch job accessing a KSDS with 78,000 records recorded 
    over 400,000 I/Os and the job ran for over 2.5 hours.  Increasing   
    the number of 4K data buffers from 200 to 2,000 dropped the I/Os to 
                                                                        
    only 70,000 and the run time to only 70 minutes!  Adding 5,000 more 
    4K buffers in Hiperspace dropped the I/Os to 19,000 and the run time
    to 19 minutes!  Note that while buffers increased from 200 to 7,000 
    (a factor of 35) the actual memory buffer-minutes used increased    
    only by a factor of 4.4 (from 30,000 buffer-minutes with 200 buffers
    for 150 minutes to 133,000 buffer-minutes with 7,000 buffers for 19 
    minutes).  Finally, note that the 7,000 buffers allocated are enough
    for about 10% of the entire file to be resident, suggesting the old 
    90:10 rule; 90% of the activity hits 10% of the file!  MXG analysis 
    program ANALBLSR can identify candidate jobs whose run time can be  
    improved by either data or index buffers.            (1Oct94)       
                                                                        
 4. Andrew Jeppeal discovered that his 9021-941 machine with CPU IDs of 
    0,1,2, and 6 did not contain CPU busy for CPU #6 until his site put 
    PTFs UY98489/UW00101/UW00619/UY98312 maintenance on their system!   
                                                                        
 5. APAR OW08903 reports PTF correcting wrong SRVCLASS in type 30 SMF   
    records for TSO users, and DPRTY (SMF30PTY) contained '09'x instead 
    of the expected '00'x value.                                        
                                                                        
 6. APAR OW08534 reports PTF incorrect type 80 SMF record created for   
    ALTUSER command with DELCATEGORY keyword.                           
                                                                        
 7. APAR OW08302 reports (no PTF yet) that type 89 records might not be 
    written when the local time is not in synchronization with the GMT; 
    that is, sites who input their local time manually or who issue the 
    'T CLOCK=hh.mm.ss' command before SMF is started/restarted are most 
    likely to experience this situation.                                
                                                                        
 8. APAR OW07446's PTF is required for N_UP support to cause type 6 SMF 
    record variable SHEETPRN (SMF6IMPS) to correctly count the number of
    sheets of paper printed (or impressions).  Without this APAR, if you
    use the new N_UP PSF facility (presumably, to print multiple logical
    pages on a single sheet side), the count in SHEETPRN will be wrong  
    (and will be too large, because logical pages printed are counted.) 
    With the APAR, SHEETPRN correctly counts the number of sides of     
    sheets of paper printed.                                            
                                                                        
 9. APAR OW08890 reports errors in type 61 SMF record after OW03544,    
    notably the Entry Name, ENTRNAME, contains garbage.                 
                                                                        
10. APAR PN61950 for DB2 Release 3.1.0 puts back the missing QXST....   
    fields in the DB2ACCT (IFCID 3) type 101 SMF record.                
                                                                        
11. APAR OW06510 corrects DCOLLECT errors (only at HDP3320/HDP3330 level
    of DCOLLECT) wherein block sizes were not determined, which caused  
    the space calculation in the DCOLLECT record to be wrong.           
                                                                        
12. Type 42 records contain powerful I/O measures that are simply not   
    available anywhere else in MVS.  Of very specific note, the I/O     
    activity to DB2 datasets, interval by interval, and job by job      
    are now available at the DB2 table-space level in TYPE42DS (see the 
    discussion in DB2 Technical Notes, below), and PTFs now exist that  
    will create TYPE42DS data for ANY dataset, not just datasets managed
    by SMS.  The majority of the type 42 data is quite good, but you    
    should be aware of these additional type 42 notes:                  
                                                                        
       In addition to the problems with STARTIME/ENDTIME in the TYPE42SR
       (subtype 5) and TYPE42DS (subtype 6) that are discussed in the   
       text of Change 12.180 (revised, Nov 9), these are concerns:      
                                                                        
                                                                        
       Subtype 1: Added after NEWSLETTER TWENTY-SEVEN was printed:      
                    This was an IBM error in SMF42TNT, that is fixed by 
                    APAR OW11254, PTF UW15167.                          
                  TYPE42SC/TYPE42TO - Storage Class Detail and Totals:  
                  The interval duration, DURATM (SMF42TMT), ranges from 
                  57:13.00 to 57:27:00, instead of the 60 minutes, but  
                  the delta time between successive SMFTIME records is  
                  60 minutes.  There appears to be 2-3 minutes in each  
                  interval that are not measured.                       
       Subtype 2: TYPE42CU/TYPE42VL - 3990 CU Counts and Volume Status. 
                  The statistics in the Control Unit Cache Section, in  
                  TYPE42CU, is extremely suspect.  The LASTTIME is only 
                  2.5 minutes before CURRTIME, which is about 2 minutes 
                  before SMF time, yet the records are written hourly.  
                  Worse, the current count (CCT) and last count (LCT)   
                  are independently accumulated (for each SMF42CID), and
                  give very different counts of I/O activity in the     
                  successive records:                                   
                     CURRTIME     CCT     LASTTIME     LCT     SMFTIME  
                     14:56:12    47258    14:53:42    63121    14:58:37 
                     15:56:18    64579    15:53:47    81884    15:58:38 
                       The delta-current is 3606 seconds, and delta-last
                       is 3605 seconds, but delta-CCT is 17321 while the
                       delta-LCT is 18763 I/Os for the same hour.       
       Subtype 5: Even though this is an interval record, and should not
                  be delayed, we have data showing and ENDTIME 12:00:00 
                  and an SMFTIME of 13:01:22 (and the site had a GMTOFF 
                  of 1 hour).  This may only indicate that it took 82   
                  seconds after the end of the interval for MVS to allow
                  the type 42 logic to access the SMF buffer (i.e., it  
                  may be a real measure of real contention for the SMF  
                  buffer), but it is still under investigation.         
       Subtype 6: In addition to the problem noted in Change 12.180 with
                  INTVCLOS=1 (INTERVAL) SMFTIMEs much later than ENDTIME
                  I have instances for INTVCLOS=0 (CLOSE) records which 
                  have SMF42PTE=22:00:27.90 with SMFTIME=17:00:09.88,   
                  and the site has a GMT offset of 5 hours, AND THE SITE
                  HAS A LEAP SECOND OFFSET OF 18 SECONDS!, which is why 
                  the PTE time is later than SMFTIME.  See next note!   
                                                                        
       PTFs in 1994 now cause TYPE42DS (subtype 5) observations for ALL 
       datasets, not just SMS managed datasets:  for SMS 1.1 UW06888,   
       UW07846,UW08562,UW09726,US09553 and for HSM 1.1 UW08973-74;      
       for SMS 1.2 UO08757,US09725 and for HSM 1.2 UW11682.             
                                                                        
13. Sites with non-zero value for LEAPSECONDS offset will find that the 
    timestamps from STCK macro (i.e., those read in with TODSTAMP8.)    
    will include the value of leap seconds, but the SMF time stamp (byte
    3 of all SMF records), and probably all other timestamps in SMF     
    format (i.e., those read in with SMFSTAMP8.) do NOT include the     
    leapseconds offset.                                                 
                                                                        
14. SMF records can be lost without an SMF lost data event.  One site   
    has 7.5MB of type 110 CICS statistics records to be written at each 
    CICS interval pop.  If the CICS interval pop happens to occur at the
    same instant as a SWITCH SMF command (to switch recording from MANX 
    to MANY), the SMF SVC immediately returns a code that "SMF Buffers  
    are not available", and CICS discards the statistics records with   
    only its own DFHxxxx message on the CICS log to indicate that data  
    was not written.  This site never used more than 12MB of SMF buffer 
    space, but at the instant of the CICS interval pop, the 7.5MB of    
    data filled current buffers until SMF needed to expand its buffer   
    space.  However, the SMF SWITCH process is mutually exclusive with  
    the buffer expansion, so SMF could not expand buffers and thus SMF  
    returned the "no buffers available", and CICS then chose to discard 
                                                                        
    the rest of the statistics records.  Minimizing the number of SWITCH
    SMF commands (by increasing the size of your MANX dataset so it can 
    hold an entire day's data and is thus dumped only once a day) would 
    minimize the exposure.  In addition, scheduling that daily SMF DUMP 
    (which SWITCHES at least twice) so that it is not concurrent with   
    the interval pop can avoid the data loss.  The exposure is reduced  
    significantly in MVS/ESA 5.1, because IBM has increased the minimum 
    size of the SMF buffers from 1MB to 8MB (and IBM APAR OY56676 has   
    been in existence since 1992 to accomplish that increase).  Both    
    CICS and DB2 will discard records and write messages to their log if
    they find buffers are not available, but theoretically, any writer  
    of SMF records could discard records in this situation.             
    For DB2, its SMF records in DB2STATS count if records were lost; see
    Change 12.279 for the variables to examine if any records were lost,
    and if so, from which IFCID (accounting, statistics, audit, etc.).  
    Note that APAR OY56676 indicates that another symptom of this       
    problem is the occurrence in SYSLOG of MSG IEE979W (indicating SMF  
    data is lost) without any preceding MSGs IEE978E or IEE986E (which  
    occur when there are no buffers).                                   
                                                                        
15. It is not possible to measure the time a job spends in the HOLD     
    queue.  Jobs that are read into HOLD can be identified by PDB.JOBS  
    variable TYPRUN='HOLD', but the time of release of the job is not   
    reported in any SMF record.  Furthermore, if the job is read into   
    the Execution Queue and then placed in HOLD, there is not even any  
    flag that lets you know the job went into HOLD.  If you know what   
    are reasonable worst-case durations for the input queue time for    
    each job class, you could establish heuristic ceiling values, and   
    if a job exceeds that ceiling value, you could "declare" that the   
    job must have been in hold during some of its input time, and could 
    exclude that job from queue time calculations.  If you use average  
    values of input queue time you are really doomed if only a few jobs 
    in a class were held; counting the percentage of jobs in a class    
    that initiated in some duration is much less affected statistically 
    and has always been my recommendation instead of average values.    
    Note that Duplicate JobName hold can be detected, as is done in the 
    ASUMJOBS algorithms.  There are JES exits from which SMF records    
    could be written to timestamp when jobs are released from hold, and 
    if you write and test the code, I will share it with MXG users!     
                                                                        
16. Hardware Data Compression in IBM mainframes, as I understand it, is 
    implemented at the dataset level, and is enabled through the SMS    
    Data Class parameter.  Thus to identify which (if any!) datasets are
    compressed, you would examine the DATACLAS variable in the TYPE1415 
    (non-VSAM) or TYPE64 (VSAM) MXG data.  To look at CPU costs with and
    without data compression, you would use TYPE1415/TYPE64 to get the  
    READTIME JOB and SMFTIME values and select PDB.STEPS with the same  
    READTIME & JOB and with INITTIME LE SMFTIME LE TERMTIME to get the  
    step resources with and without compression.  Let me know what you  
    discover and I will share it!                                       
                                                                        
IV.   DB2 Technical Notes                                               
                                                                        
 1. APAR PN63234 corrects DB2 type 101 SMF record subtype error.  When  
    more than 10 package segments occur, a type 101 subtype 1 record is 
    supposed to be written, but IBM instead put a zero in the subtype,  
    which made MXG think this was a normal DB2ACCT record, causing an   
    observation in DB2ACCT with trashed values for many fields!         
    This APAR makes the subtype value correct.  See Change 12.220.      
                                                                        
 2. It has always been impossible to track DB2 I/O activity (because the
    Media Manager thought itself so fast that it was not necessary to   
    count I/Os!), but now, the TYPE42DS dataset (SMF 42 Subtype 6)      
    records both interval and close statistics on ALL datasets (not just
    those managed by SMS).  As both the DB2 Database and Tablespace or  
    Indexspace names are contained in the DSNAME in TYPE42DS, you can   
    analyze DB2 I/O for each tablespace for each DB2 subsystem.  The    
    naming pattern for the DB2 VSAM datasets looks like this:           
       DSNAME=subsystem.DSNDBD.database.tablespace                      
    or, written with MXG variable names (from T102S105 dataset):        
       DSNAME=QWHSSSID.DSNDBD.QW0105DN.QW0105TN                         
    as    QWHSSSID is the DB2 subsystem Name (almost always DB2...)     
          DSNDBD   is a constant string for the data component          
          QW0105DN is the DB2 Database Name, and                        
          QW0105TN is the DB2 Tablespace or Indexspace Name.            
                                                                        
 3. DB2 Elapsed time in DB2ACCT (ELAPSTM=QWHCESC-QWHCBSC) is not a valid
    measure of duration in DB2 when threads do not terminate (such as   
    CICS primed threads and IMS wait-for-input-message regions), because
    the QWHCESC ending time stamp is not taken until the next use of the
    thread starts - the ELAPSTM includes time when the thread was       
    inactive and waiting to perform work.  This is very obvious if you  
    match CICSTRAN with DB2ACCT (using member ANALUOW) and you find the 
    DB2END time is greater than the CICSEND time - that portion of the  
    DB2 elapsed between CICSEND and DB2END was the amount of time that  
    the thread was inactive.  Now that I realize the impact of this DB2 
    "feature", ASUMUOW recalculates the DB2ELAPS duration and also now  
    creates new variable DB2IDLE so you can see how much of the reported
    Class-one DB2 elapsed time is really thread inactive duration.      
                                                                        
V. CICS Technical Notes                                                 
                                                                        
 1. APAR PN34573 describes why CICS EOD Shutdown Statistics for OPEN    
    files and LSRPOOLs are zero when CICS is shutdown normally (i.e.,   
    using CEMT P SHUT.  However, if CICS an immediate shutdown (i.e.,   
    using CEMT P SHUT I), the correct values are reported.  The problem 
    is that normal shutdown closes the files first, and then shuts down 
    the CICS region, hence zero values.  The APAR is closed with "FIN"  
    (a new one for me, described as "This closing code indicates that   
    this problem will be resolved if there is a next release of CICS    
    after CICS/ESA Version 3 Release 3.") - Fixed In Next!              
                                                                        
                                                                        
VI. SAS Technical Notes                                                 
                                                                        
 1. CANNOT ACCESS LIBREF ddname - NOT VALID FORMAT FOR ACCESS SASEB     
                                                                        
    This error occurs when the dataset pointed to by DDNAME does not    
    have the correct DCB attributes.  SAS libraries on MVS must be      
    DSORG=PS, and the default DCB attributes are RECFM=FS,LRECL=512 (or 
    block size), BLKSIZE=Half Track (because MXG's CONFIG forces half   
    track to minimize DASD storage).  Especially with SMS allocation,   
    your site can establish defaults that might be incorrect for SAS    
    data libraries.  Usually, you can solve this error by adding a DCB  
    parameter to the DD statement, for example:                         
        DCB=(DSORG=PS,RECFM=FS,LRECL=23040,BLKSIZE=23040) for 3380s     
        DCB=(DSORG=PS,RECFM=FS,LRECL=27648,BLKSIZE=27648) for 3390s     
    although you may also need to discuss your sites ACS rules with     
    your SMS guru.                                                      
                                                                        
                                                                        
                                                                        
VII. IMS Technical Notes                                                
                                                                        
 1. ABEND 878-10 running TYPEIMSA with 4 log tapes can be corrected by  
    increasing the REGION parameter to 8MB, or by reducing the number of
    slots parameter from 30,000 to 20,000.                              
                                                                        
 2. Candle's ITRF errors, reported in Newsletter 26, have been fixed.   
    The numeric errors were corrected by Candle PTFs last summer, and   
    the blank values are now populated by new PTF QI22910, so MXG now   
    fully supports Candle's Omegamon II for IMS Version 110 records.    
    Some MXG users who installed ITRF last fall used MXG 11.11 quite    
    effectively to analyze their IMS activity, even without the most    
    recent PTF.  It appears that the errors I reported occurred during  
    ITRF's "Shakedown Cruise" (see page 23 of Newsletter 17 for this    
    nautical analogy), and Candle has now repaired ITRF to full service 
    as a valid source of accounting and response data for IMS systems.  
                                                                        
                                                                        
VIII. Incompatibilities and Installation of MXG 12.12.                  
                                                                        
 1. Incompatibilities introduced in MXG 12.12 (since MXG 11.11):        
                                                                        
  a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
     must refit your tailoring, starting with the new IMAC member):     
                                                                        
       IMAC7072  IMAC74  IMACDB2   IMACPDB   IMACWORK IMACTMNT          
       MONTHBLD  WEEKBLD IMACCICS                                       
                                                                        
  b- The JCL for processing the OPC log requires two new DDNAMES so that
     the OPC spanned records can be reconstructed and read by MXG.  See 
     comments in member VMACOPC.  Member JCLTEST6 was changed also.     
                                                                        
  c- The JCL for AS/400 processing with TYPEQAPM requires //QAPMIOPD DD 
     added. See Change 12.292                                           
                                                                        
  d- These products were incompatibly changed by their vendor, and they 
     require MXG 12.12 (or at least the MXG 12.xx indicated):           
                                                                        
     MVS/ESA 5.1 (Goal Mode)     Change 12.034     MXG 12.02            
     OS/400 Version 3.1.0        Change 12.292     MXG 12.12            
     TCP/IP Version 3.1          Change 12.257     MXG 12.12            
     RMDS Version 2.1            Change 12.264     MXG 12.12            
     Omegamon for VTAM V160      Change 12.186     MXG 12.04A           
     Landmark CICS Version 1.3   Change 12.151     MXG 12.12            
     Landmark MVS Version 1.3    Change 12.191     MXG 12.05            
     APAF 2.2                    Change 12.138     MXG 12.12            
     TLMS Release 5.4            Change 12.136     MXG 12.03A           
     Cache RMF Reporter 1.6      Change 12.070     MXG 12.12            
                                                                        
                                                                        
 2. Installation and re-installation procedures are described in detail 
    in member INSTALL (which also lists common Error/Warning messages a 
    new user might encounter); sample JCL is in member JCLINSTL:        
     Summary:                                                           
     a. Install member MXGSAS as JCL Procedure MXGSAS in your PROCLIB.  
     b. Allocate a 90-cyl PDS:  MXG.V1212.MXG.SOURCLIB, and use IEBUPDTE
        to read the MXG tape to create the 2000+ member Source Library. 
     c. Allocate a 1-cyl PDS:  MXG.V1212.USERID.SOURCLIB for your site  
        "Installation Tailoring" Source Library.  Installation specific 
        tailoring (like telling MXG your shift hours, which performance 
        groups are TSO, CICS, etc.) is done by copying and modifying MXG
        source members into V1212.USERID.SOURCLIB.                      
                                                                        
     d. Allocate a 1-cyl SAS Data Library:  MXG.V1212.MXG.FORMATS and   
        execute SAS to create the library of Formats required by MXG.   
     e. If this is the initial install of MXG, tailor these members into
        your MXG.V1212.USERID.SOURCLIB tailoring library:               
          IMACACCT (Account Length),                                    
          IMACSHFT (Shift Definitions),                                 
          IMACWORK (Performance Group to Workload mapping), and         
          IMACSPIN (for BUILDPDB).                                      
        Each IMAC member is self-documenting, and IMACAAAA is the index 
        of all of the IMACs.  You should at least scan IMACAAAA to see  
        the acronyms MXG uses for the many products MXG supports.       
     e. If reinstalling MXG, copy your existing USERID.SOURCLIB library 
        members into the MXG.V1212.USERID.SOURCLIB.  Then, compare the  
        members in your USERID.SOURCLIB with the list of members that   
        were incompatibly changed (above, in this section) in this MXG. 
        If any of the incompatibly changed members exist in your dataset
        MXG.V1212.USERID.SOURCLIB, then you must reinstall your site's  
        tailoring for that IMAC, starting with the IMAC member from the 
        MXG 12.12 Source Library.                                       
     f. EDIT and submit member JCLTEST6 to verify that your tailoring   
        did not create any errors.                                      
     g. EDIT and submit JCLPDB6 to create a Daily PDB for testing.  Or  
        use the TYPE.... members to process specific data sources, use  
        the ANAL.... members for report examples, the GRAF.... members  
        for SAS/GRAPH reports.                                          
                                                                        
     You have now installed MXG 12.12 in its own set of libraries. When 
     parallel testing is complete and are ready to implement MXG 12.12  
     in production, rename your three current MXG Production Libraries  
     (MXG.MXG.SOURCLIB, MXG.USERID.SOURCLIB, and MXG.MXG.FORMATS) to    
     (MXG.BACK.MXG.SOURCLIB, MXG.BACK.USERID.SOURCLIB, MXG.BACK.MXG....)
     and rename the MXG.V1212.x.y libraries to their Production names!  
                                                                        
     Again, detailed installation instructions are in member INSTALL    
                                                                        
Always read comments in the CHANGES member for compatibility issues, as 
well as for any last minute changes.                                    
                                                                        
Whenever you install changes or test a new version of MXG (or even your 
own reports), be extra careful to look on the SAS log for any real error
conditions.  Search for all occurrences of "ERROR:", "ERROR :", " NOT " 
"UNINITIALIZED", "TRUNCATED", "NEVER BEEN", "NOT FOUND", "CONVERT",     
"APPARENT", and "NOT CATLGD", as they usually indicate a serious error. 
                                                                        
                                                                        
A PROC PRINT and a PROC MEANS of each new MXG-built SAS dataset can help
you to understand their contents, and should be used to examine any     
unusually large, negative, or suspicious values.  Print all variables in
the dataset, and read the variable's descriptions in its ADOC member.   
                                                                        
IX.   Online Documentation of MXG Software.                             
                                                                        
Beginning with MXG 11.11, the contents of the two MXG Books, (the 1984  
MXG Guide, and the 1987 MXG Supplement) are contained in the MXG Source 
Library, as are all MXG Technical Newsletters and all MXG Changes, so   
all MXG documentation is actually online in the software itself; even   
the Installation Instructions are online, in members INSTALL/JCLINSTL!  
                                                                        
ACHAPxxx members are the text of the 42 chapters from the two MXG books,
to which the text from newsletters and changes has been added.  Some of 
these chapters are still rough; while some of the chapters have actually
been completely revised, many of these ACHAPxxx are little more than a  
concatenation of the two original chapters, often without the figures   
                                                                        
or tables.  The revision is work still in progress!                     
                                                                        
Members ADOCxxxx are what were in Chapter FORTY, and should be the first
place you look for information about MXG variables and/or datasets.  The
ADOCxxxx members alphabetically describe each dataset and all variables 
that are created by product xxxx, the instructions on how to enable that
product, bibliography of the vendor documentation, sample PROC PRINT and
PROC MEANS of real data, references to MXG reports that use these data, 
and the MXG member names that you use to process that product.  While   
this too is work in progress, the most heavily used data sources,       
especially the common SMF records, have been revised and are up to date.
                                                                        
There is an IMACxxxx member for every product supported by MXG.  Once   
you know the xxxx suffix for a product, you then know the names of all  
of the MXG members for that product, because of MXG naming conventions: 
                                                                        
  IMACxxxx - Defines record IDs, and the _Lyyyzzz and _Kyyyzzz macros   
             that name the dataset(s) created from product xxxx.        
  ADOCxxxx - "Chapter FORTY" style dataset and variable documentation of
             all datasets created from product xxxx, with sample output.
  VMACxxxx - The "real" source code member, often extensively commented.
  TYPExxxx - Standalone member to test or process product xxxx records. 
  ASUMxxxx - Summarization example (only for some products)             
  TRNDxxxx - Trending example (only for some products)                  
  ANALxxxx - Reporting/analysis example (only for some products)        
  GRAFxxxx - SAS/GRAPH report example (only for some products)          
  EXyyyzzz - OUTPUT exit for tailoring of each MXG dataset, not used by 
             most MXG sites, but powerful if needed.  There can be more 
             than one dataset created from one product.  The yyyzzz     
             suffix of the EXyyyzzz member name is the same as the      
             suffix of "_L" and "_K" macros defined in the IMACxxxx for 
             its product. See Using the MXG Exit Facilities in ACHAP33. 
                                                                        
Member IMACAAAA is an index of all IMACs, and is the best place to begin
to find what xxxx suffix Merrill chose for which product!  You can often
find additional documentation by searching members NEWSLTRS or CHANGESS 
for the xxxx suffix.                                                    
                                                                        
Member CHANGES identifies this Version and Release of MXG Software, and 
describes all changes made in this Release, plus new technical notes.   
                                                                        
Member CHANGESS contains each of the CHANGES members from each version  
of MXG, so this member contains ALL changes ever made to MXG Software.  
Since each MXG change lists the names of the members that were added or 
altered, names the new product/version supported by a change, or lists  
error messages corrected by a change, this member is designed to be read
online (with SPF BROWSE); you can search for specific product acronyms  
(CICS, MVS/ESA, etc.), or the MXG member name or anything else.  Many of
the changes are actually mini-tutorials, especially for new products.   
                                                                        
Member NEWSLTRS contains the text of all newsletters.  You can search   
NEWSLTRS for product name or acronym to find all of Dr. Merrill's       
published and unpublished technical papers, technical notes announcing  
enhancements in new operating systems or subsystems, new datasets and   
products, important APARs and PTFs, and other technical information of  
importance to MXG users.  (Since the Change Log that is printed in each 
newsletter is in member CHANGESS, it is not repeated in NEWSLTRS.) MXG  
Technical Newsletters are typically published twice a year, with one    
printed copy sent to each licensed site's technical addressee.          
                                                                        
Member DOCVER lists alphabetically ALL datasets and variables that are  
built by this MXG Software Version, abbreviated to a line per variable. 
                                                                        
Members DOCVERnn are the "delta-documentation" between MXG versions, and
list only those datasets and variables that were added/deleted/changed  
by version "nn", so you can identify when a variable/dataset was added. 
                                                                        
Finally, remember that MXG is source code, and you can often find your  
answer by BROWSING the source members, especially the VMACxxxx members. 
The MXG Variable name is frequently the vendor's field name, or the     
vendor's field name is often in a comment adjacent to the variable's    
INPUT, so you can cross reference MXG to the vendor's documentation.    
                                                                        
The migration from print to online is clearly work in progress, but at  
least the two books are now machine readable!  When all 42 chapters     
are completely revised and updated in the source library, I will decide 
which, if any, will also be made available in printed form, but the     
primary media for all future MXG documentation will be these members of 
the MXG source library, which can be immediately updated in each new    
version of MXG as changes occur.                                        
                                                                        
X.    Changes Log                                                       
                                                                        
--------------------------Changes Log---------------------------------  
                                                                        
 You MUST read each Change description to determine if a Change will    
 impact your site. All changes have been made in this MXG Library.      
                                                                        
 Member CHANGES of the MXG SOURCLIB will always be more accurate than   
 the printed changes in a Newsletter, because the software tapes are    
 created after the newsletter is sent to the printer!                   
                                                                        
 Member CHANGES always identifies the actual version and release of     
 MXG Software that is contained in that library.                        
                                                                        
 The actual code implementation of some changes in MXG SOURCLIB may be  
 different that described in the change text (which might have printed  
 only the critical part of the correction that can be made by paper).   
                                                                        
 Scan each source member named in any impacting change for any comments 
 at the beginning of the member for additional documentation, since the 
 documentation of new datasets, variables, validation status, and notes,
 are often found in comments in the source members.                     
                                                                        
Alphabetical list of important changes after MXG 11.11:                 
                                                                        
  Dataset/                                                              
  Member   Change    Description                                        
                                                                        
  Many     12.034  Support for MVS/ESA 5.1.                             
  Many     12.030  All instances of MSEC8. were removed from MXG.       
  ACHAP99  12.161  "Chapter 99 CodeSharks" honored.                     
  ANALBLSR 12.001  Batch LSR analysis fails due to errors in ANALDSET.  
  ANALBLSR 12.080  Batch LSR analysis enhanced.                         
  ANALBLSR 12.185  No BLSR candidates detected when there were some.    
  ANALCISH 12.035  CICS Shutdown report corrected, design revised.      
  ANALCISH 12.163  PDB=PDB,TYPE=ALL,SUMMARY=YES produced no reports.    
  ANALCISH 12.235  Additional DFHSTUP-like CICS Shutdown reports.       
  ANALCNCR 12.272  Analysis of concurrency - generalized new tool.      
  ANALDB2C 12.087  Analysis to match CICSTRAN with DB2ACCT.             
  ANALDB2R 12.078  Using ANALDB2R with PDB= tape was inefficient.       
  ANALDB2R 12.236  DB2 report PMSQL01 may fail - QWHCTOKN left out.     
  ANALDB2R 12.250  DB2 Locking Contention Report fails.                 
  ANALDB2R 12.251  DB2 Transit Report fails with NOT SORTED.            
  ANALDB2R 12.270  PMLOK02 and PMLOK03 now revised.                     
                                                                        
  ANALDB2R 12.305  Support for DB2 Version 3.1 DB2PM-like reports.      
  ANALDSET 12.001  Syntax error (wrong member migrated).                
  ANALMTP  12.303  Analysis of Tape Mounts Concurrently Waiting.        
  ANALPATH 12.239  Revised analysis of TYPE73, TYPE74, TYPE78CF data.   
  ANALPGNS 12.293  CPU Utilization by Performance Group analysis.       
  ANALRMFR 12.047  RMF CPU Activity Report CPU time can be zero.        
  ANALRMFR 12.276  Report selection by storage class, device, LCU.      
  ANALSMF  12.012  SMF Simulator 3380 tracks count wrong if CISIZE=26624
  ASMIMSLG 12.129  ABEND 002 on IMSMPRS with FASTPATH records corrected.
  ASMTAPES 12.024  MXG Tape Allocation and Mount Monitor almost healed. 
  ASMTAPES 12.058  New Tape Allocation and Mount Monitor now works!     
  ASMTAPES 12.105  MXG Tape Mount and Tape Allocation Monitor Now Works!
  ASMTAPES 12.234  MXG Tape Mount and Tape Allocation Monitor fixes.    
  ANALINIT 12.274  Analysis of initiator concurrent usage.              
  ASUMPRTR 12.040  KEEPIN=STDUPLEX TMBUPLEX needed to be added          
  ASUMTALO 12.273  Revised summarization using %ANALCNCR (incompat).    
  ASUM70PR 12.048  INVALID NUMERIC DATA 'SAT' with modified IMACRMFI.   
  BUILDPDB 12.013  TYPE77 addition to BUILDPDB/BUILDPD3 causes errors.  
  BUILDPDB 12.026  Jobs with ABEND='JCL' are not in PDB.JOBS.           
  BUILDPDB 12.200  New dataset PDB.TYPE72SC for Goal Mode Server data.  
  BUILDPDB 12.204  TYPETASK added for jobs with only type 6 record.     
  DAILYDSN 12.004  Variable UMLEVEL must be added to KEEPIN= list.      
  DB2ACCT  12.033  DB2 3.1 Buffer Statistics are wrong.                 
  DB2STATS 12.033  DB2 3.1 Buffer Statistics are wrong.                 
  DIFFDB2  12.133  DDF variables QLSTxxxx incorrectly deaccumulated.    
  FMXGSID  12.015  Function ABENDs 0C4 with SAS 6.08 at TS407.          
  FMXGUCBL 12.015  Function ABENDs 0C4 with SAS 6.08 at TS407.          
  INSTALL  12.101  Documentation of common MXG installation errors.     
  REXXDB2  12.306  REXX program to convert DB2 GTF to SMF format.       
  TESTOTHR 12.153  ABEND 213-04 if VIO used for temporary allocation.   
  TRNDRMFI 12.046  Variables TSOnSWAP and TSOnTRAN were not normalized. 
  TYPEACC  12.277  Support for ACC/SRS from Mitchem Technologies.       
  TYPEACF2 12.063  INVALID data for LIDCDATE/LIDDXPDT/LIDIPDAT/LIDADATE.
  TYPEACF2 12.072  INPUT STATEMENT EXCEEDED for subtype 'V' record.     
  TYPEACF2 12.253  ACF2 INPUT STATEMENT EXCEEDED, DO value wrong        
  TYPEACHE 12.262  CACHE90 zero observations with RAMAC devices.        
  TYPEAPAF 12.138  Support for APAF 2.0 (incompatible).                 
  TYPEAPAF 12.197  INPUT STATEMENT EXCEEDED ... with backlevel APAF.    
  TYPEBETA 12.132  Support for BETA93 1.6.0 user SMF record.            
  TYPEBGSI 12.268  Support for BGS's BEST/1 I/O Monitor SMF record.     
  TYPECACH 12.194  3990-6 storage variables units were changed by IBM.  
  TYPECIAO 12.299  Support for CICSAO user SMF for CICS availability.   
  TYPECIAO 12.299  Support for CICSAO SMF record written by CICSAC.     
  TYPECIMS 12.265  IMF variables ABENDSYS/ABENDUSR in CIMSPROG wrong.   
  TYPECIMS 12.284  Support for IMF 3.1 (for IMS 5.1) - record unchanged.
  TYPECMFV 12.269  Support for Boole & Babbage CMF VSAM MRR records.    
  TYPECTLD 12.011  INPUT STATEMENT EXCEEDED for CONTROL-D SMF record.   
  TYPEDB2  12.157  Dataset PDB.DB2ACCTB should have zero observations.  
  TYPEDB2  12.159  DB2STATS variables QB3Taaaa/QB4Taaaa corrected.      
  TYPEDB2  12.220  Invalid DB2 type 101 workaround (fix is APAR PN63234)
  TYPEDCOL 12.051  Variable DCNDMBLK needs to be multiplied by 1024.    
  TYPEDCOL 12.057  Support for DFSMS 1.2 added several variables.       
  TYPEDMON 12.120  Support for ASTEX 2.0 added several variables.       
  TYPEEDGB 12.242  Support for DFSMSrmm Control Backup file             
  TYPEEDGR 12.242  INPUT STATEMENT EXCEEDED corrected.                  
  TYPEHIPR 12.104  Support for EMPACT's HIPER-CACHE Version 1.1.1.      
  TYPEHSM  12.206  Support for HSM APAR OW05988, adds CPU time to FSR!  
  TYPEIAM  12.226  Support for Innovation Processing's IAM SMF record.  
  TYPEICE  12.031  ICEBERG dataset ICEBRGCH is trashed, misalignment.   
  TYPEICE  12.160  Support for STK ICEBERG SMF record subtype 5.        
  TYPEICE  12.228  ICEBERG variables CAENBCUR,DFWENCUR incorrect.       
  TYPEICE  12.243  Support for ICEBERG's PUT9404 (compatible).          
  TYPEIDMS 12.212  Support for CA/SQL user SMF record (same as IDMS).   
                                                                        
  TYPEIMSA 12.009  IMS Log processing incorrect, misspelled NMSGPROC.   
  TYPEIMSA 12.179  SAP Accounting under IMS times wrong.                
  TYPEITRF 12.287  Candle's ITRF product errors corrected by Candle.    
  TYPELMS  12.007  WARNING LMS SMF RECORD TYPE created in error.        
  TYPEMEMO 12.056  Support for MEMO subtype 6 SMF record.               
  TYPEMON8 12.291  INVALID OFFSETS IN USER SEGMENTS Landmark CICS.      
  TYPENDM  12.014  INPUT STATEMENT EXCEEDED for NDM type FP record.     
  TYPENDML 12.146  Reading NDM VSAM log produced zero observations.     
  TYPENSPY 12.010  LANSPY dataset NSPYLANS has no/too few observations. 
  TYPENSPY 12.184  NETSPY Token-Ring TIC_UTIL in NSPYTR 10 times larger.
  TYPENSPY 12.196  Variables AOUTSZT and ARSPNET now match reports.     
  TYPENSPY 12.225  Support for NETSPY 4.5 (partially incompatible).     
  TYPEODS  12.198  Support for InfoAccess Release 5.1 user SMF record.  
  TYPEOMCI 12.027  OMEGAMON for CICS dataset OMCISYST wrong.            
  TYPEOMCI 12.164  Zero observations in OMCIVSAM dataset.               
  TYPEOMCI 12.167  INVALID DATA FOR EXMXT1 - EXMXT10 when hex zeroes.   
  TYPEOMCI 12.203  Support for Omegamon for CICS V100 and V300 SMF.     
  TYPEOMSM 12.123  Support for Omegamon II for SMS V100/V110.           
  TYPEOMVT 12.186  Support for Omegamon for VTAM V160 (Incompatible).   
  TYPEOPC  12.002  INVALID MT0TYPE, OPC29 too few obs, split support.   
  TYPEQAPM 12.292  Support for OS/400 AS/400 Version 3.1.0 INCOMPATIBLE.
  TYPEQTRT 12.037  Support for AS/400 Trace File (QTRTSUM).             
  TYPERDS  12.295  Support for Network Systems DXE Channels RDS SMF.    
  TYPERMDS 12.264  Support for RMDS Version 2.1 (incompatible)          
  TYPERMFV 12.259  RMF Monitor III ("ZRB") support for MVS/ESA 4.3.     
  TYPESARS 12.299  Support for LEGENT's SAR Cross Memory Logoff SMF.    
  TYPETCP  12.041  Ambiguity between TELNET and FTP resolved.           
  TYPETCP  12.049  TCP/IP APAR PN34837 added 8 bytes to TELNET SERVER.  
  TYPETCP  12.257  Support for TCP/IP Version 3.1 (incompatible)        
  TYPETELE 12.229  Support for CA's TELEVIEW user SMF record.           
  TYPETLMS 12.136  Support for TLMS Release 5.4.                        
  TYPETMDB 12.162  Support for Landmark's The Monitor for DB2.          
  TYPETMON 12.151  Support for TMON/CICS Version 1.3 (incompatible).    
  TYPETMVS 12.191  Support for TMON/MVS Release 1.3 (incompatible).     
  TYPETPX  12.008  UNRECOGNIZED TPX VERSION message.                    
  TYPETPX  12.263  Support for TPX 4.0 (compatible, new datasets)       
  TYPETSOM 12.165  Support for LEGENT's TSO/MON 6.1 added (compatibly). 
  TYPEUNIK 12.112  Support for UniKix Release 4.1.                      
  TYPEVMXA 12.069  UNEXPECTED/INVALID CONTROL RECORD/PROBABLE DATA LOSS.
  TYPEVMXA 12.226  VM/ESA 2.2 Scheduler records cause PROBABLE LOSS.    
  TYPEWSF  12.096  Support for RSD's WSF Release 3.5.1.                 
  TYPEXAM  12.282  Support for Velocity Software XAMAP Version 2.2.     
  TYPEXPSM 12.267  Support for Xerox Print Service Manager XPSM SMF.    
  TYPE102  12.032  IFCID=196 (Lock Timeout Details) now populated.      
  TYPE102  12.088  Additional DB2 Trace IFCIDS new in 3.1 now supported.
  TYPE102  12.103  DB2 Trace IFCID=141 corrected.                       
  TYPE102  12.135  IFCID 125 created extraneous observations.           
  TYPE110  12.023  CICS Statistics in CICLSRR wrong.                    
  TYPE110  12.068  Boole & Babbage subtype 'BB02'x changed to '0B02'x.  
  TYPE110  12.166  Support for CICS/ESA 4.1.0 is added (compatibly).    
  TYPE110  12.189  CICS 3.2.1 only. CICDS variables wrong.              
  TYPE110  12.278  ERROR.TYPE110.SUBTYPE 2, STID=57, CICS 3.3.0.        
  TYPE115  12.208  Support for MQM 1.1.2 Performance Statistics SMF.    
  TYPE116  12.209  Support for MQM 1.1.2 Accounting SMF record.         
  TYPE123  12.215  Support for S/390 Parallel Query Server SPQS SMF 123.
  TYPE1415 12.036  APAR OW00484 adds open date to type 14,15 SMF record.
  TYPE1415 12.158  APARs OW00484/UW06888/OW08246 corrupt TYPE1415 data. 
  TYPE1415 12.245  INVALID DATA FOR OPENDTE corrected.                  
  TYPE26J2 12.015  IBM truncates type 26 record, caused STOPOVER.       
  TYPE28   12.097  NPM Release 2.0 subtypes 214 thru 219 corrected.     
  TYPE28   12.145  Support for NPM Release 2.2 added NetWare measures.  
  TYPE28   12.188  MXG 12.04 only. Type 28 INPUT STATEMENT EXCEEDED.    
  TYPE28   12.201  Support for NPM 2.2 NPMVSaaa datasets corrected.     
                                                                        
  TYPE30   12.018  TYPE30_V INTBTIME/INTETIME are GMT in MULTIDD='Y'.   
  TYPE37   12.154  Short LAND segment caused INPUT STATEMENT EXCEEDED.  
  TYPE39   12.210  Support for Sterling Software's ASM V3.0.0 type 39.  
  TYPE42   12.019  INVALID ADSM SECTION TRIPLET and/or bad data values. 
  TYPE42   12.045  DFSMS GG66-3252 pub are now variables in TYPE42DS/SR 
  TYPE42   12.180  TYPE42 STARTIME/ENDTIME may be on GMT clock.         
  TYPE50   12.102  Support for VTAM Tuning APAR OW04453 type 50 SMF.    
  TYPE6    12.016  CA-DISPATCH 5.1 PTF T97E056 corrects bad READTIME.   
  TYPE6    12.059  Type 6 records from VPS now have SUBSYS='VPS '.      
  TYPE6    12.199  INVALID ARGUMENT TO FUNCTION INPUT with CA-DISPATCH. 
  TYPE62   12.122  Support for APAR OW00157 adds SMS classes to TYPE62. 
  TYPE70   12.288  Support for PR/SM APAR OW078986 adds "MVS Wait".     
  TYPE70   12.289  MDF now populates TYPE70PR/ASUM70PR w/valid CPU time 
  TYPE70   12.290  Same LPAR number for two LPARs trashes CPU busy.     
  TYPE70s  12.006  SYNCTIME wrong in RMF 71,73,74,75,77,78 and 79.      
  TYPE72DL 12.252  New TYPE72DL dataset for MVS/ESA 5.1 Goal Mode.      
  TYPE80A  12.280  RACF Command events decoded in TYPE80A for RACFRW.   
  TYPE89   12.028  Support for Measured Usage License Charges type 89.  
  TYPE91   12.038  BatchPipes/MVS APAR PN45846 adds new fields.         
  TYPE91   12.254  BatchPipes/MVS INTBTIME/INTETIME values incorrect.   
  TYPE99   12.117  Support for ESA 5.1 Workload Manager Trace SMF 99.   
  TYPE99   12.285  Support for Type 99 Subtype 1 added.                 
  UCICSCNT 12.021  Utility report output counts were unclear.           
  UTILCICS 12.182  UTILCICS fails with syntax error, mislocated comment.
  UTILCICS 12.202  CICS Utility identifies if type 110s are Omegamon's. 
  UTILCVRT 12.022  Non-existent conversion utility now exists.          
  VAXPDS   12.301  Support for VAX Accounting and Performance Data.     
  VMXGSUM  12.084  New features added transparently to VMXGSUM.         
  VMXGSUM  12.233  New VMXGSUM enhancements in XMXGSUM.                 
  VMXGSUM  12.271  More VMXGSUM enhancements in XMXGSUM.                
  VMXGVTOF 12.249  DEVCYL value different for RAMAC than native devices.
  WEEKBLDT 12.195  DATASET TAPEMNTS NOT SORTED.                         
  XMXGSUM  12.304  XMXGSUM replacement for VMXGSUM ready for use.       
                                                                        
Inverse chronological list of all Changes:                              
                                                                        
                                                                        
===Changes thru 12.306 were included in MXG 12.12 dated Mar  1, 1995=== 
===Changes thru 12.306 were printed in MXG Newsletter TWENTY-SEVEN  ===