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

MXG CHANGES 31.31

=========================member=CHANGE31================================
 /* COPYRIGHT (C) 1984-2014 MERRILL CONSULTANTS DALLAS TEXAS USA */     
                                                                        
ANNUAL  MXG Version 31.31 is  dated Jan 20, 2014, thru Change 31.296    
        MXG Version 31.09 was dated Dec 30, 2013, thru Change 31.278    
        MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.244.   
First   MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.240.   
        MXG Version 31.07 was dated Sep 20, 2013, thru Change 31.204.   
        MXG Version 31.06 was dated Sep  3, 2013, thru Change 31.187.   
First   MXG Version 31.06 was dated Sep  1, 2013, thru Change 31.184.   
  MXG Newsletter SIXTY-TWO was dated Sep  1, 2013.                      
        MXG Version 31.05 was dated Jul 29, 2013, thru Change 31.156.   
        MXG Version 31.04 was dated Jun 26, 2013, thru Change 31.125.   
        MXG Version 31.03 was dated Jun 17, 2013, thru Change 31.114.   
        MXG Version 31.02 was dated May  5, 2013, thru Change 31.088.   
First   MXG Version 31.02 was dated Apr 29, 2013, thru Change 31.079.   
        MXG Version 31.01 was dated Mar 13, 2013, thru Change 31.044.   
  MXG Newsletter SIXTY-ONE was dated Jan 21, 2013.                      
Annual  MXG Version 31.31 is dated Jan 20, 2014, thru Change 30.296.    
                                                                        
Instructions for ftp download can be requested by using this form:      
  http://www.mxg.com/Software_Download_Request                          
Your download instructions will be sent via return email.               
                                                                        
Contents of member CHANGES:                                             
                                                                        
I.    Current MXG Software Version 31.31 is available upon request.     
II.   SAS Version requirement information.                              
III.  WPS Version requirement information.                              
IV.   MXG Version Required for Hardware, Operating System Release, etc. 
V.    Incompatibilities and Installation of MXG 31.31.                  
VI.   Online Documentation of MXG Software.                             
VII.  Changes Log                                                       
                                                                        
  Member NEWSLTRS contains Technical Notes, especially APARs of interest
  and is updated with new notes frequently.  All Newsletters are online 
  at http://www.mxg.com in the "Newsletters" frame.                     
                                                                        
  Member CHANGES contains the changes made in the current MXG version.  
  Member CHANGESS contains all changes that have ever been made to MXG. 
  All MXG changes are also online at http://www.mxg.com, in "Changes".  
                                                                        
========================================================================
                                                                        
                                                                        
I.  MXG Version 31.31 dated Jan 20, 2014, thru Change 31.296.           
                                                                        
  Major enhancement added in MXG 31.31, dated Jan 20, 2014:             
                                                                        
  TYPE111  31.283  Support for CICS Transaction Gateway V9R0 (COMPAT)   
  UTILEXCL 31.295  Negative values in variable TASELGTM with IMACEXCL.  
  VMAC73   31.291  SMF73SPD Channel Speed now always in MBits/sec.      
  TYPE30   31.280  IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL). 
  ASMRMFV  31.296  RMF III Enhancements including new TABERR parameter. 
  ASMRMFV  31.287  MXG 31.02-31.09. ASMRMFV could skip RCD tables.      
  MXGLABEL 31.288  New %MXGLABEL creates LABEL with NAME and LABEL.     
  VMXGINIT 31.285  JCL //INSTREAM DD is no longer required for z/OS MXG.
  ANALDB2R 31.286  Selection by PLAN moved into READDB2, saves time.    
  TYPEDB2  31.282  DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.   
  JCLUOTT2 31.293  Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
  GRAFWRKX 31.294  New NEWMODEL parameter view workloads on new CPU.    
  FORMATS  31.291  MG073FR decodes SMF73CPP frame size 16/24/50/64KB.   
  IHDRTMO2 31.290  TMON/CICS TA header exit IHDRTMO2 now after offsets. 
                                                                        
  Major enhancement added in MXG 31.09, dated Dec 30, 2013:             
                                                                        
  FORMATS  31.251  WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED. 
  TYPEBVIR 31.254  BVIR30 dataset was incorrect with VERSION 3 records. 
  TYPEDB2  31.245  Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
  TYPE102  31.258  Support for IFCID 359, "DB2 Statement ID" decoded.   
  TYPE102  31.261  Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
  TYPE102  31.278  Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
  UTILBLDP 31.276  Ad hoc read SMF UTILBLDP is enhanced WANTSMF= list.  
  TYPERMFV 31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  ASMRMFV  31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  TYPENMON 31.264  Support for Red Hat Linux Data Group,NFSCLIV4 metrics
  TYPEDB2  31.272  Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
  TYPE30   31.277  TYPE30MU dataset now has zero obs by default: useless
  VGETOBS  31.250  A better way to identify TAPE data libraries.        
  READDB2  31.269  "Too few" IFCIDs listed caused no sort to PDBOUT.    
  TYPE110  31.253  SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
  TYPEDB2  31.259  Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8   
  TYPETPMX 31.263  ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
  TYPE7072 31.274  System with only CPs + ICFs, LPAR SHARE weight wrong.
  TYPE7072 31.266  MSU Units (Hardware vs Software) in TYPE70/TYPE72GO. 
  GRAFCEC  31.246  NOT SORTED error with multiple CEC's data.           
  ANALDB2R 31.262  Some AVG Buff stats wrong, possible dataset not found
  ANALHSM  31.260  Variable HSMPLEX added to all HSM reports.           
  TYPE80A  31.257  TOKDANAM='UTYPE' ERROR if last, new TOK variables.   
  ANALGRID 31.248  DATES= any one of the "one word" tokens didn't work. 
  VGETOBS  31.247  ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
  VMXGRMFI 31.268  Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
  TYPEDB2  31.275  MXGWARN: T102S225 DOES NOT EXIST.                    
  Many     31.270  Messages with 'ERROR:' starting in byte one shifted. 
                                                                        
  Major enhancement added in MXG 31.08, dated Nov 12, 2013:             
                                                                        
  TYPEDB2  31.240  Support for DB2 V11.1. (MXG 30.30+ TOLERATES with no 
                   EXECUTION error, but the QLST variables in DB2STATS  
                   require MXG 31.04 for both DB2 V10.1 and V11.1.)     
  ASMRMFV  31.230  RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
  ASMRMFV  31.230  RMF III Support for DSNTYPE=LARGE.                   
  MANY     31.221  ODS Support for TYPE=PDF, MANY ANALxxxx updated      
  TYPECIMS 31.233  Correction for IMF 4.2 thru 5.1 (WRONG VALUES)       
  TYPECIMS 31.206  Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).   
  TYPEPDM  31.226  Support for Alebra Parallel Data Mover SMF record.   
  TYPEJESC 31.225  Support for Emtex JESCONNECT SMF Record.             
  EXCICJRN 31.217  Support for CICS "multi journal records".            
  TYPETLMS 31.215  Support for new TLMS variables, compression percent  
  TYPE7002 31.220  Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
  VGETOBS  31.212  Final (?) revisions to VGETOBS to bypass tape mounts.
  TYPE110  31.214  CICSJS variables SJSMAJCP/SJSMINCP are not CPU time. 
  TYPE113  31.208  ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor. 
  TYPE6    31.207  31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
  TYPE119  31.218  INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.      
  TYPE42   31.216  INVALID DATA FOR S42CSYNC.                           
  ANALATEN 31.205  Analysis of Latent Demand report.                    
  VMXGSRCH 31.219  Search which character variables contain text string.
  WPS      31.224  Current status of WPS circumventions and differences.
                                                                        
  Major enhancement added in MXG 31.07, dated Sep 20, 2013:             
                                                                        
  TYPE0    31.193  z/OS 2.1 ID=0 "IPL" RECORD now 68 bytes, MXG DELETES.
                   (ONLY A PROBLEM IF YOU THINK ID=0 IS AN IPL WHICH IT 
                   often is not - always use the PDB.IPLS BUILDPDB DATA 
                   to report IPL events. See change text.)              
                                                                        
      The DB2 MXG 31.06 "VGETOBS" enhancements still had some glitches: 
  ANALDB2R 31.204  ANALDB2R (31.06) with PDB=PDB and PDB on tape fails. 
  READDB2  31.191  READDB2 PDBOUT=, or PDBOUT=XXX may not work right.   
  VGETOBS  31.200  Revisions in concert with VMXGWORL for READDB2.      
  VMXGWORL 31.200  Revisions in concert with VGETOBS  for READDB2.      
             Those VGETOBS changes solved two very different problems:  
                1. WPS failed when there was no LIBNAME when there was a
                   WHERE clause on PROC SQL read of DICTIONARY.TABLES.  
                   Solved by looking at DICTIONARY.FILENAMES without a  
                   WHERE first to see if the DD even exists.            
                2. SAS mounting and rereading every tape with every     
                   execution of VGETOBS reading DICTIONARY.TABLES, even 
                   when there was NO where clause.                      
                   Solved by keeping track of tape DDs and excluding    
                   them from DICTIONARY.TABLES searches with a WHERE    
                   CLAUSE NE.                                           
              -Solving problem 2 cut tape mounts in daily CICS/DB2 job  
               at one site from over 90 to less than 20.                
                                                                        
  TYPEDB2  31.196  Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
  TYPE115  31.188  Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S. 
  FORMATS  31.189  Support for CEX41 Crypto Coprocessor type corrected. 
  JCLVSB2U 31.198  JCL example to change RECFM=VBS to RECFM=U w/o copy. 
  TYPEVMXA 31.194  MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112. 
  TYPETMMQ 31.190  Many new variables added to TMMQQU MQ QUEUE dataset. 
  TYPE117  31.199  S17NNDM added to the BY list _B117NOD for NODUP.     
  TYPEIDMS 31.197  After MXG 30.30, only IDMS 17, zero obs in IDMSINS.  
                                                                        
  Major enhancement added in MXG 31.06, dated Sep  3, 2013:             
                                                                        
  TYPERMFV 31.181  RMF III Support for z/OS 2.1 plus Enhancements.      
  TYPE115  31.179  Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.   
  TYPE102  31.166  Support for IFCID=380 STORED PROCEDURE DETAILS       
  TYPEBVIR 31.168  Support of Hydra/BVIR Version 3 new data fields.     
  TYPEXAM  31.160  Support for Velocity Software new segments new data. 
  All SMF  31.182  New INPUT SMF FILE DID NOT END WITH ID=3 message.    
  TYPE113  31.169  SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.  
  TYPE113  31.169  SMF 113 vars SM1132MT and SM1132MM were blank.       
  TYPE113  31.172  Macro to re-label SMF 113 counters for old machine   
  TYPE120  31.170  Variable SM1209BK (Short Server) added TYP1209C/S/U. 
  TYPESHDE 31.177  SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong. 
  TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.     
  READDB2  31.167  DB2 V8 ONLY. V8-only IFCID=225 were not read.        
  READDB2  31.165  PDB.DB2STAT1 not created with READDB2 STATISTICS.    
  TYPEBETA 31.162  Variable JOB and BETAJOBN are now consistent.        
  TYPE7072 31.174  WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial   
  TYPENMON 31.164  Protection for invalid NMON DISKxxxx records.        
  VMXGSRCH 31.171  UNABLE TO CREATE WORK.TABLES.DATA circumvented.      
                                                                        
  VGETOBS  31.180  Circumvent WPS 3 ABEND with unopened LIBNAME on tape.
  READDB2  31.163  WPS 3 ONLY. WPS 3 Compiler macro resolution error.   
                                                                        
                                                                        
  Major enhancement added in MXG 31.05, dated Jul 23, 2013:             
                                                                        
  MANY     31.153  Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH DATA
  TYPEVMXA 31.151  Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.   
  TYPETMD2 31.133  Support for TMON for DB2 Version 5 second iteration. 
  ASMRMFV  31.150  MAJOR RMF III enhancement - dynamic VSAM allocation. 
  TYPE70PR 31.140  SMF70GNM, Group Name, blank in MXG 31.03-31.04.      
  TYPE70   31.130  SHARE Weights for zIIP/zAAPs corrected.              
  TYPE78CU 31.127  Vars R783DCTM/DDTM (CU Connect/Disconnect) added.    
  ASUMTAPE 31.149  _GRPMNNM/_GRPMNCD failed after Change 30.203.        
  TYPERACF 31.146  INPUT STATEMENT ERROR RACF UNLOAD, invalid data too. 
  TYPE120  31.143  TYP1209E variables SM1209DA-DF are accumulated.      
  UTILEXCL 31.147  Support for CANPROD4, CANPROD5 and CANPROD6 fields   
  VMAC80A  31.139  Support for RACF TOKDANAM='UNAME'.                   
  RMFINTRV 31.138  Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.   
  TYPECIMS 31.137  IMF TRXZxxxx variables incorrectly input.            
  TYPEWWW  31.137  IIS Log with ' ... ' COOKIE value caused MXG loop.   
  READDB2  31.128  LDB2*** parameters were not honored.                 
  EXUTILEX 31.131  EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor. 
                                                                        
  Major enhancement added in MXG 31.04, dated Jun 26, 2013:             
                                                                        
  TYPENMON 31.119  Variables IPCSTIME and TIMEZONE added to NMONBBBP.   
  TYPEEDGR 31.118  Support for EDGRXEXT variables added in z/OS 1.13    
  TYPEDB2  31.117  DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
  TYPETPMX 31.116  TYPETPMX variable JOBNUM truncated if 6 digits long  
  READDB2  31.115  READDB2 with COMPRESSED/Internal, NO OBS created.    
                                                                        
  Major enhancement added in MXG 31.03, dated Jun 17, 2013:             
                                                                        
  SAS Version 9.4 is COMPLETLY COMPATIBLE with MXG QA tests; no changes 
  to MXG are required, no errors nor new warnings were observed.        
  See SAS Technical Note in Newsletter SIXTY-TWO for comparison metrics.
                                                                        
  TYPEDB2  31.117  ALL QLSTxxxx VALUES IN DB2 V10 ARE WRONG.            
  TYPEIMS  31.102  Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted. 
  TYPEIMSA 31.102  Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted. 
  TYPE110  31.110  CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.    
  ASMTAPEE 31.105  ML-51 corrects MXGC010E error when STKX=NO used.     
  TYPEDB2  31.093  New "INVALID" DB2 ID=100 ST=5 Startup now Supported. 
                   (and more accurately, "UNDOCUMENTED/UNEXPECTED").    
                   Prior MXG 31.02's could ABEND without this change.   
                   MXG 31.01 and earlier will NOT fail, but will print  
                   1,440 "CALL HOME" messages per subsystem per day.    
  EXPDBACC 31.094  BUILDPDB enhancement: create your own acct variables.
  IMACICUS 31.090  MXG 31.02.  LENUSRCH=32 should be LENUSRCH=0 default.
  ANALID   31.086  SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.  
  ASMRMFV  31.111  Further internal enhancements to RMF III support.    
                                                                        
  Major enhancement added in re-dated MXG 31.02, dated May  5, 2013:    
                                                                        
  TYPEDB2  31.088  Protection for INVALID ID=100 SUBTYPE=5 DB2 record.  
  TYPEDB2  31.081  Support for DB2 V10 ID=100 ST=5 IFCID=369 CPU by CONN
                   New DB2 Statistics record with CPU and Wait Times and
                   all QBACxxxx variables by Connection Type.           
                                                                        
  Major enhancements/corrections added in MXG 31.02, dated Apr 29, 2013:
                                                                        
  TYPEXDFG 31.049  Support for WAS XD (WebSphere Extended Deployment).  
  ASMIDMP  31.068  Pace-contributed IDMS exit code for Change 31.018.   
  JCLSQLID 31.067  Point-in-time mapping DBID/OBID hex to their names.  
  ANALDB2R 31.067  Point-in-time mapping DBID/OBID hex to their names.  
  ANALDB2R 31.061  New MXGACC03 report counts concurrent DBATs.         
  ASMRMFV  31.062  RMF III Enhancements - blocking CPU and CPCDB.       
  TYPERMRV 31.062  RMF III Enhancements - blocking CPU and CPCDB.       
  TYPERMFV 31.074  RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong. 
  TYPE74   31.072  Format MG0748L new value for 16 GB/s Link Type       
  IMACICUX 31.051  Support for user field CHARGE creates USCHARGE Var.  
  UTILEXCL 31.051  ***UNKNOWN FIELD*** protection still didn't protect. 
  IMACCADI 31.060  CA-Dispatch CADIxxxx values corrected.               
  TYPENMON 31.058  NMON records SEA, SEAPACKET, DONATE are supported.   
  TYPEDB2  31.056  Variable THREADS now correctly set for ROLLUPs.      
  TYPEPRPR 31.054  Corrections to '1031' and '1061' records.            
  TYPEWWW  31.052  IIS Weblog URIQUERY with &=1 and no name supported.  
  TYPE110  31.048  MXG 31.01 only, STID=29, CICSMDSA dataset wrong.     
  IMAC6ESS 31.047  ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.     
  TYPE90A  31.045  ID=90.6,7 EVENTIME is IPLTIME of the system.         
                                                                        
  Major enhancements/corrections added in MXG 31.01, dated Mar 13, 2013:
                                                                        
  TYPEVFTP 31.023  Support for Software Diversified Services VFTP SMF.  
  TYPEVIP  31.022  Support for Software Diversified Services VIP SMF.   
  TYPESHDW 31.022  Support for Shadow user SMF subtype 21 record.       
  TYPEBVIR 31.016  Support for BVIR Version 2.0/2.0a/2.1.               
  TYPETMMQ 31.020  Support for TMON/MQ Version 2.15 new data.           
  TYPE85   31.006  Support for OAM SMF ID=85 STs 90,91,92 and 93.       
  TYPEIDMP 31.018  Support for PACE's IDMS 17 KOMAND/IDCS SMF record.   
  TYPE102  31.001  Support for variable QW0141OT in T102S141 dataset.   
  TYPENTSM 31.030  Major update for NTSMF adds datasets and variables.  
  TYPERMFV 31.021  RMF III Enhancements including ASI/ENC blocking.     
  TYPERMFV 31.004  RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.      
  VGETWKLD 31.028  Hardcoded VIEWs removed.                             
  TYPE102  31.027  Variable QWHCEUWN added to T102Snnn DB2 datasets.    
  PREINIT  31.026  Pre-MXG-Initialization exit for SASHELP.VEXTFL.      
  TYPEDB2  31.015  "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
  VMACSMF  31.014  New %LET SMFPUTHD=NO; suppresses header messages.    
  TYPE110  31.012  CICLDR output tests LDRTU instead of LDRFC.          
  TYPETMNT 31.010  MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record. 
  ANAL120  31.008  Example WebSphere SMF 120 reports revised.           
  TYPE113  31.003  Message UNINIT VARIABLE SM1132MM minimal impact.     
  CICINTRV 31.002  CICTSQ new A12xxxx variables now kept in CICINTRV.   
  TYPEBVIR 31.039  Option to add SYSTEM value to IBM TS7700 BVIR data.  
  TYPEBETA 31.036  BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
  ANALDB2R 31.034  MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.  
                                                                        
    Please read CHANGESS for the complete list of major enhancements.   
                                                                        
  See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
  current MXG Technical Notes.                                          
                                                                        
                                                                        
  All of these enhancements are described in the Change Log, below.     
                                                                        
II.   SAS Version requirement information:                              
                                                                        
      SAS Version 9.4 and SAS 9.4.1 were both tested with NO CHANGES.   
      JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used  
      with your existing, installed SAS JCL procedure - see below.      
      SAS Version 9.3 TS1M1 is RECOMMENDED for all PLATFORMS, because   
      SAS Version 9.3 TS1M0 REQUIRES THE HOT FIX in SAS NOTE SN43828    
      (for all platforms), and TS1M1 contains that Hot Fix.             
                                                                        
      Note: SAS 9.2 is reduced to SAS Level B support Sep 30, 2013.     
      Note: SAS 9.1.3 is reduced to SAS Level c support Sep 30, 2013.   
                                                                        
      ***************************************************************   
      As documented in Change 27.356, for SAS V9.2 or later):           
      The standard SAS JCL Procedure can be used for MXG with SAS V9.2+ 
           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'                  
           //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR     
      or you can continue to use the MXGSAS93 JCL Procedure example.    
      ***************************************************************   
                                                                        
      MXG 26.03 thru MXG 31.31 will execute under SAS Version 9.3, on   
      all supported platforms, but as noted above, you need TS1M1.  With
      TS1M0, then the Hot Fix in SAS Problem Note SN43828 is REQUIRED to
      correct an error in the %MACRO compiler, which is SAS portable    
      code, so that Hot Fix is required for ALL platforms.              
       The %MACRO compiler error is in processing %LET statements. While
       only two MXG members failed repeatedly in MXG QA tests on z/OS,  
       there were random %LET errors in ASCII QA tests, so ANY use of   
       %LET statement on ANY platform are vulnerable to this error, as  
       the %MACRO compiler is SAS portable code, used on all platforms. 
       So this is NOT just an MXG error, but impacts ALL SAS programs.  
      With the Hot Fix on TS1M0, the full MXG QA test stream executed,  
      and there were no new warnings on z/OS.                           
                                                                        
      Unrelated to the above SAS Note/Hot Fix, ODS users will want to   
      use MXG 29.06+, because SAS V9.3 did expose incompatibilities in  
      MXG code for ODS reporting, that were fixed in MXG Version 29.06. 
      See Changes 29.159 and 29.169.                                    
                                                                        
      MXG 26.03 thru MXG 31.31 will execute under SAS V9.4, V9.3, V9.2  
      or SAS V9.1.3 with Service Pack 4, on all supported SAS platforms.
        SAS Hot Fix for SAS Note 37166 is required to use a VIEW with   
        the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.   
        SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform,   
        but SAS V9.2 does execute on that platform.                     
                                                                        
      And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,  
      the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe). 
        Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors  
        can occur even though //XXXXXXXX DD is a valid SAS Data Library.
        This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does   
        NOT occur with SAS V9.2, nor with z/OS 1.9.  It can be          
        circumvented by adding a LIBNAME statement that specifies the   
        ENGINE name. See the Technical Note in Newsletters for SN-35332.
        Note that SAS V9.1.3 is now at "Level B" Support from SAS.      
                                                                        
      Old MXG code may continue to execute with SAS V8.2, but V8 is now 
      "Level C" support from SAS Institute, and there are known errors  
      in V8.2 that are only fixed in SAS V9.  I no longer QA with V8.2; 
      While many MXG programs (accidentally) will still execute under   
      V8.2, I can not guarantee that all of MXG executes error free.    
      PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!           
                                                                        
      MXG Software has not executed under SAS V6 in many years.         
                                                                        
      The "PDB" libraries (i.e., SAS data libraries) must be created by 
      SAS V8 or later, but any of those data libraries can be read or   
      updated by the SAS Versions that MXG Supports, above.             
                                                                        
                                                                        
      For SAS Version V9.3:                                             
        SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note 
        SN43828 is REQUIRED.  See text of Change 29.159.                
        With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG             
        Version 26.03 or later execute under SAS V9.3 on all platforms. 
                                                                        
        SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and  
        SAS V9.4 are interchangeable and can be read/written by any of  
        those versions, provided they are on the same platform.         
          BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the 
          same "platform" and attempting to read/use the FORMAT catalog 
          created on one of those "platforms" on the other "platform"   
          will error out to remind you of that difference!              
        SAS V9.4 did change some V9.3 ODS processing defaults and syntax
        that might cause errors with MXG 29.05 or earlier; MXG 29.06,   
        Change 29.160 documents the major revisions made in MXG to fully
        support ODS, and MXG 29.06 is STRONGLY recommended for ODS with 
        SAS V9.3 or SAS V9.4.                                           
                                                                        
      For SAS Version V9.2 (TS1M0):                                     
                                                                        
        Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.  
                                                                        
        On z/OS, SAS changed the DSNAMES for some of the SAS libraries, 
        so you do need to use the new MXGSAS92 JCL Procedure for MXG,   
        but it still uses the CONFIGV9 configuration file.              
                                                                        
        ****************************************************************
        However, NEW, and documented in Change 27.356, with SAS V9.2+:  
          The standard SAS JCL Procedure can be used for MXG:           
             // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'                
             //MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR   
          instead of using the MXGSAS92 JCL Procedure example.          
        ****************************************************************
                                                                        
        SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3, 
        and V9.4. "PDBs" can be read/written interchangeably between    
        these SAS versions.                                             
                                                                        
        MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS   
        and with NO ERRORS reported.                                    
          Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a  
          new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
          code). That warning is harmless (to MXG code) and all MXG     
          created SAS datasets were correct, even with that warning.    
          The ONLY exposure was ONLY on z/OS, and ONLY if condition code
          tests are used in your MXG jobstreams.                        
                                                                        
        SAS Version 9.2 requires z/OS 1.7 or later, both officially as  
        documented by SAS Institute, and actually as V9.2 fails with 0C4
        under z/OS 1.4.                                                 
                                                                        
      For SAS V9.1.3 on z/OS with Service Pack 4:                       
                                                                        
        On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.                     
                                                                        
        CONFIGV9 now specifies V9SEQ instead of V6SEQ.  As V6SEQ does   
        not support long length character variables, it can't be used.  
                                                                        
       SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.  
                                                                        
       For (back-level!) SAS V9.1 or V9.1.2 on z/OS:                    
        SN-013514 is REQUIRED to be able to read datasets that were     
          created by V6SEQ (tape) engine.                               
        SN-012437 is REQUIRED to prevent creation of corrupt/unreadable 
          datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.            
        Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT 
          SAFE without those two hot fixes, and if you do NOT have those
          two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.    
                                                                        
        With MXG 23.02 or later, V9SEQ is the default sequential engine 
        specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
        you MUST install the two hot fixes listed above.                
                                                                        
       For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
         as an absolute minimum level when that SAS Version was last    
         supported by MXG Software.  PLEASE INSTALL SAS V9.x ASAP.      
                                                                        
       Sequential Engine Status:                                        
          V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.   
          V8SEQ was always safe under SAS V8.2, but it wasted CPU time  
            by always compressing when writing in tape format.          
          V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ    
                 should no longer be used, as it does not support long  
                 length variables.                                      
                                                                        
      GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:              
                                                                        
      MXG QA tests are executed with V9.3 & V9.4, on z/OS, on Windows   
      Seven (32-bit and 64-bit) and Eight (64-bit) on 64-bit hardware,  
      and on Centos 6.4, but MXG users execute MXG on MANY (ALL??) SAS  
      platforms, including AIX, Linux, and other 'nix' variants, on many
      different hardware platforms, and since they all work we don't    
      need to list them.  If SAS executes so does MXG.                  
                                                                        
      Prior QA tests have been run with all SAS releases available at   
      that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880, 
      and on HP-UX v11.11 model rp5470, confirming full compatibility.  
                                                                        
      MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS  
      platform without errors! Each new MXG version is also tested with 
      the SAS ITSV/ITRM product by the ITRM developers.                 
                                                                        
III.  WPS Version requirement information:                              
                                                                        
      WPS Version 3.0   requires MXG 31.09 (see Change 31.251).         
      WPS Version 2.4   required MXG 27.09 (see Change 27.239).         
      WPS Version 2.3.5 required MXG 27.05.                             
                                                                        
      See NEWSLETTERS for WPS Support Statement.                        
                                                                        
      WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID" 
      when the LIBNAME PDB does not exist; there would also have been a 
      prior log message  NOTE: Library PDB does not exist   as the clue.
                                                                        
                                                                        
IV.   MXG Version Required for Hardware, Operating System Release, etc. 
                                                                        
    MXG is usually NOT sensitive to z/OS hardware changes.  However, MXG
    Version 30.07+ was REQUIRED for z/EC12 (for SMF 113, for 95 engines)
    and MXG 31.03+ is STRONGLY RECOMMENDED for the z/EC12 processor for 
    the new zEC12 RMF data metrics added for that new platform.         
    In August 2013, the MXG-L ListServer was abuzz with several postings
    from MXG users and additional references to SHARE papers that all   
    reported that many z/EC12s are 30%-40% better than zPCR projected.  
                                                                        
    Availability dates for the IBM products and MXG version required for
    error-free processing of that product's data records:               
                                                                        
                                       Product's                        
                                       Availability     MXG Version     
      Product Name                     Date              Required       
                                                                        
      MVS/ESA 4.1                      Oct 26, 1990         8.8         
      MVS/ESA 4.2                      Mar 29, 1991         9.9         
      MVS/ESA 4.2.2                    Aug 15, 1991         9.9         
      MVS/ESA 4.3                      Mar 23, 1993        10.10        
      MVS/ESA 5.1.0 - compatibility    Jun 24, 1994        12.02        
      MVS/ESA 5.1.0 - Goal Mode        May  3, 1995        13.01        
      MVS/ESA 5.2.0                    Jun 15, 1995        13.05        
      MVS/ESA 5.2.2                    Oct 19, 1995        13.09        
      OS/390  1.1.0                    Feb 22, 1996        14.01        
      OS/390  1.2.0                    Sep 30, 1996        14.05        
      OS/390  1.3.0 Compatibility Mode Mar 28, 1997        14.14        
      OS/390  1.3.0 WLM Goal Mode      Mar 28, 1997        15.02        
      OS/390  2.4.0                    Sep 28, 1997        15.06        
      OS/390  2.5.0                    Feb 24, 1998        15.06        
      OS/390  2.6.0                    Sep 24, 1998        16.04        
      OS/390  2.7.0                    Mar 26, 1999        16.09        
      OS/390  2.7.0 APAR OW41318       Mar 31, 2000        18.03        
      OS/390  2.8.0                    Aug 24, 1999        16.09        
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08        
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03        
      OS/390  2.9.0                    Mar 31, 2000        18.03        
      OS/390 2.10.0                    Sep 15, 2000        18.06        
      OS/390  PAV                      Oct 24, 2000        18.09        
      z/OS 1.1                         Mar 30, 2001        18.11        
      z/OS 1.1 on 2064s                Mar 30, 2001        19.01        
      z/OS 1.1 with correct MSU        Mar 30, 2001        19.02        
      z/OS 1.2                         Oct 31, 2001        19.04        
      z/OS 1.1,1.2 APARs to 78         Oct 31, 2001        19.05        
      z/OS 1.2+ APAR OW52227           Apr 26, 2002        20.02        
      z/OS 1.3+ APAR OW52227           Apr 26, 2002        20.02        
      z/OS 1.2 JESNR Z2 MODE           Apr 26, 2002        20.03        
      z/OS 1.3 JESNR Z2 MODE           Apr 26, 2002        20.03        
      z/OS 1.4 Tolerate                Sep 27, 2002        20.03        
      z/OS 1.4 Support                 Sep 27, 2002        20.06        
      z/OS 1.4 Over 16 CPUs/LPARs      May 29, 2003        21.02        
      z/OS 1.4 DFSMS/rmm, RACF         Aug 29, 2003        21.04        
      z/OS 1.5                         Mar 31, 2004        21.21        
      z/OS IRD ASUM70PR/ASUMCEC        Sep 22, 2003       *24.10        
      z/OS IRD TYPE70PR                Mar 11, 2004       *24.10        
      z/OS IRD TYPE70,RMFINTRV         Mar 22, 2002       *24.10        
      z/OS 1.6 - No IFAs               Sep 30, 2004       *22.09        
      z/OS 1.6 - With IFAs             Sep 30, 2004       *22.11        
      z/OS 1.7 (COMPATIBLE CHANGES)    Sep 30, 2005       *24.10        
      z/OS 1.7 (SPLIT70 CORRECTION)    Sep 30, 2005       *24.10        
      z/OS IFA data in RMF 79s         Sep 30, 2005        23.10        
      z/OS 1.8 - ASMTAPEE assembly     Sep 30, 2005       *25.03        
      z/OS 1.8 - SMF 119 INCOMPAT      Sep 30, 2005       *25.06        
      z/OS More than 32 LPARs          Jan 30, 2006       *24.24        
      z/OS SPLIT RMF 70 records        Jan 30, 2006       *24.24        
      z/OS Dupe SYSTEMs in a SYSPLEX   Jan 30, 2006       *24.02        
      z/OS IRD errors corrected        May 15, 2006        24.03        
      z/OS ASUMCEC errors corrected    May 15, 2006       *24.24        
      z/OS ASUM70LP errors corrected   Jun 13, 2006       *24.24        
      z/OS zIIP Processor Support      Jun 22, 2006       *24.24        
      z/OS Dedicated zIIP Support      Mar  8, 2008       *26.01        
      z/OS Dedicated zAAP Support      Mar  8, 2008        26.01        
      z/OS 1.8 (COMPATIBLE CHANGES)    Sep 20, 2006       *24.24        
      z/OS 1.9 (INCOMPAT, 54 CPs)      Sep 27, 2007        25.10        
      z/OS 1.9 MXGTMNT at ML-39 reASM  Sep 27, 2007        25.10        
      z/OS new z10 variables           Mar  5, 2008        26.01        
      z/OS 1.8 With HiperDispatch      Sep 15, 2008       *26.10        
      z/OS 1.9 With HiperDispatch      Sep 15, 2008       *26.10        
      z/OS 1.10 (INCOMPAT, MXG code)   Sep 15, 2008        26.07        
      z/OS 1.10 With HiperDispatch     Sep 15, 2008       *26.10        
      z/OS 1.10 RMF III, SMF 119       Jul 20, 2009        27.05        
      z/OS 1.11                        Sep  2, 2009        27.08        
      z/OS 1.11 New 30 variables       Apr 14, 2010       *28.02        
      z/OS 1.12                        Aug 17, 2010       *28.05        
      z/OS 1.12 SMF 85 Subtype 79      Aug 17, 2010       *29.03        
      z/OS 1.12 VMGUEST option         Aug 17, 2010       *29.06        
      z/OS 1.13                        Sep 30, 2011        29.03        
      z/OS 1.13 - MXGTMNT only         Dec 15, 2011        29.08        
      z/OS 1.13 SMF 119 ST 6 INCOMPAT  Feb  7, 2012        30.01        
      z/OS 2.1  COMPATIBLE             Jul 23, 2013        31.05        
      z990 CPUs - CPUTYPE '2084'x      Aug 25, 2003        21.04        
      z890 CPUs - CPUTYPE '2086'x      Jun 24, 2004        22.07        
      z9   CPUs - CPUTYPE '2094'x      Jul 20, 2005       *24.24        
      z9EC CPUs - CPUTYPE '2094'x:                                      
             with 64-bit z/OS - no change required        *24.24        
             with 32-bit z/OS only:    Aug 26, 2006        24.06        
      z9BC CPUs - CPUTYPE '2096'x:                                      
             with 64-bit z/OS - no change required         24.01        
             with 32-bit z/OS only:    Jul 27, 2006       *24.24        
      z10  CPUs - CPUTYPE '2097'x      Dec  7, 2008        25.11        
      z10  HiperDispatch/Parked Time   Mar  3, 2008       *26.10        
      z196 (INCOMPAT IF GT 64 ENG)     Aug 17, 2010        28.05        
      CICS/CTG V9 Transaction Gateway  ??  ??  2013        31.31        
      CICS/ESA 3.2                     Jun 28, 1991         9.9         
      CICS/ESA 3.3                     Mar 28, 1992        10.01        
      CICS/ESA 4.1                     Oct 27, 1994        13.09        
      CICS/ESA 5.1 aka CICS/TS V1R1    Sep 10, 1996        14.07        
      CICS-Transaction Server V1R1     Sep 10, 1996        14.07        
      CICS-TS V1R1 with APAR UN98309   Sep 15, 1997        15.06        
      CICS-TS V1R2  CICS/TS 1.2        Oct 27, 1997        15.06        
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04        
      CICS-TS V2R1  CICS/TS 2.1        Mar 15, 2001        18.11        
      CICS-TS V2R2  CICS/TS 2.2        Feb  9, 2002        19.19        
       CICSTRAN subtype 1 support only                    *19.19        
       CICSTRAN subtype 2 completed                       *19.08        
      CICS-TS V2R3  CICS?TS 2.3        Dec 19, 2003                     
       Using UTILEXCL to create IMACEXCL:                  21.04        
       Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04        
      CICS-TS V2R3  CICS/TS 2.3        Aug 13, 2004        22.04        
      CICS-TS V3R1  CICS/TS 3.1        Jan 18, 2005        22.22        
      CICS-TS for Z/OS Version 3.1     Mar 15, 2005                     
       Using UTILEXCL to create IMACEXCL:                  22.13        
       Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22        
      CICS-TS V3R2  CICS/TS 3.2        Dec  6, 2007        25.11        
      CICS-TS for Z/OS Version 3.2     Jun 29, 2007        25.03        
      CICS-TS/3.2 Compressed Records   Nov  3, 2007        25.11        
      CICS-TS/4.1 (CICSTRAN INCOMPAT)  Mar 13, 2009        27.01        
      CICS-TS/4.1 (STATISTICS ST=2)    Sep 18, 2009        27.08        
      CICS-TS/4.2 CICSTRAN/STATISTICS  Jun 24, 2011        29.03        
      CICS-TS/4.2 CICSRDS MNSEGCL=5    Jun 24, 2011        29.05*       
      CICS-TS/4.2 INVALID STID=116     Jan 31, 2012        30.01*       
      CICS-TS/5.1 (INCOMPATIBLE)       Dec 14, 2012        30.08*       
      CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013        30.30*       
      CICS-TS/5.1 MNSEGCL=5 INCOMPAT   Jun 17, 2013        31.03*       
      DB2 2.3.0                        Oct 28, 1991        10.01        
      DB2 3.1.0                        Dec 17, 1993        13.02A       
      DB2 4.1.0 Tolerate               Nov  7, 1995        13.07        
      DB2 4.1.0 Full support           Sep 11, 1996        14.07        
      DB2 5.1.0 Tolerate               Jun 27, 1997        14.14        
      DB2 5.1.0 Full support           Jun 27, 1997        15.02        
      DB2 6.1.0 initial support        Mar 15, 1999        16.09        
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01        
      DB2 6.1.0 parallel DB2           Mar 15, 1999        19.19        
      DB2 7.1.0 parallel DB2           Mar 31, 2001        19.19        
      DB2 7.1.0 corrections            Mar 31, 2001        20.06        
      DB2 8.1 Tolerate, no packages    Mar 31, 2004        20.20        
      DB2 8.1 New Data Packages wrong  Mar 31, 2004        21.08        
      DB2 8.1 Support with Packages    Mar 31, 2004        23.09*       
      DB2 8.1 with all zIIP Variables  Sep 30, 2006        24.08        
      DB2 8.1 +PK47659                 Sep 12, 2008        26.08        
      DB2 9.1 See Change 25.265.       Dec  7, 2007        25.11        
      DB2 9.1 Full Support +PK/56356   Sep 12, 2008        26.08        
      DB2 10.1 Tolerate                Oct  1, 2010        28.06        
      DB2 10.1 New vars + Compressed   Nov  1, 2010        28.07*       
      DB2 10.1 Invalid Header pre APAR Jan 12, 2011        28.28*       
      DB2 10.1 IFCID=225 INCOMPAT      Sep 23, 2011        29.07*       
      DB2 10.1 QWHCCV for QWHCATYP=8   Oct  3, 2011        30.07*       
      DB2 10.1 DBID/OBID decode        Jan 21, 2013        30.30*       
      DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013        31.04*       
               (ONLY IMPACTS DB2STATS)                                  
      DB2 11.1 TOLERATE DB2 V11.1      Jun 21, 2013        30.30        
      DB2 11.1 DB2STATS QLST CORRECT   Jun 21, 2013        31.04        
      DB2 11.1 SUPPORT NEW VARIABLES   Jun 21, 2013        31.08        
      DFSMS/MVS 1.1                    Mar 13, 1993        11.11        
      DFSMS/MVS 1.2                    Jun 24, 1994        12.02        
      DFSMS/MVS 1.3                    Dec 29, 1995        13.09        
      DFSMS/MVS 1.4                    Sep 28, 1997        15.04        
      DFSMS/MVS 1.4 HSM                Sep 23, 1998        16.04        
      DFSMS/MVS 1.5                    ??? ??, 1999        16.04        
      DFSORT SMF V1R5                  Mar  1, 2006        24.02        
      MQM 1.1.2, 1.1.3, 1.1.4          Apr 25, 1996        14.02        
      MQ Series 1.2.0                  May 26, 1998        16.02        
      MQ Series 2.1.0                  Oct  2, 1999        17.07        
      MQ Series 5.2                    Dec 16, 2000        18.10        
      MQ Series 5.3                    Dec 16, 2002        21.05        
      MQ Series 6.0                    Feb 14, 2006        23.23        
      Websphere MQ Series 7.0          ??? ??, 2009       *28.06        
      Websphere MQ Series 7.1          MAR 12, 2011        29.03        
      Websphere MQ Series 8.0          Jun 24, 2011        29.05        
      NETVIEW 3.1 type 37              ??? ??, 1996        14.03        
      NPM 2.0                          Dec 17, 1993        12.03        
      NPM 2.2                          Aug 29, 1994        12.05        
      NPM 2.3                          ??? ??, 1996        15.08        
      NPM 2.4                          Nov 18, 1998        17.01        
      NPM 2.5                          Feb ??, 2000        18.02        
      NPM 2.6                          Nov ??, 2001        19.06        
      RMDS 2.1, 2.2                    Dec 12, 1995        12.12        
      RMDS 2.3                         Jan 31, 2002        19.11        
      TCP/IP 3.1                       Jun 12, 1995        12.12        
      TCP/IP 3.4                       Sep 22, 1998        16.04        
      WebSphere 5.0 APAR PQ7463        Aug 19, 2003        21.04        
      WebSphere 6.0                    Feb 18, 2006        23.23        
      WebSphere 7.0                    Oct  7, 2010        28.06        
      WebSphere 8.0                    Jul 17, 2011        29.05        
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08        
      VM/ESA  2.0                      Dec 23, 1992        10.04        
      VM/ESA  2.1                      Jun 27, 1993        12.02        
      VM/ESA  2.2                      Nov 22, 1994        12.06        
      VM/ESA  2.3                      Jun  1, 1998        16.08        
      VM/ESA  2.4                      Mar  1, 2001        19.03        
      z/VM    3.1                      Mar  1, 2001        19.03        
      z/VM    3.1 DATABYTE=0           May  2, 2002        20.02        
      z/VM    4.2 ??                   May  2, 2002        20.02        
      z/VM    4.4                      Jan 22, 2005        22.22        
      z/VM    5.1                      Jan 22, 2005        22.22        
      z/VM    5.2                      Jan 22, 2006        24.01        
      z/VM    5.3 TOLERATE             Jun  7, 2007        25.05        
      z/VM    5.3 NEW VARIABLES        Sep 12, 2008        26.08        
      z/VM    5.4 (COMPATIBLE)         Sep 12, 2008        27.01*       
      z/VM    6.1 (NO CHANGES)         Jul  7, 2008        27.01        
      z/VM    6.2                      Dec  2, 2011        29.04        
      z/VM    6.3 INCOMPATIBLE         Jul 23, 2013        31.05        
      IMS log 4.1                      Jul  4, 1994        12.02        
      IMS log 5.1                      Jun  9, 1996        14.05        
      IMS log 6.1                      ???  ?, 199?        20.03        
      IMS log 7.1                      ???  ?, 200?        20.03        
      IMS log 8.1                      May 21, 2003        21.02        
      IMS log 9.1                      Mar 96, 2004        26.01*       
      IMS log 10.0                     Mar 06, 2007        26.01*       
      IMS log 11.0                     Apr  1, 2010        28.02*       
      IMS log 12.0                     Jan 23, 2012        29.29*       
      IMS log 13.0                     Oct 25, 2013        31.03        
      AS400 3.7.0                      Nov  1, 1996        15.01        
      AS400 4.1.0                      Dec 30, 1996        15.08        
      AS400 4.2.0                      Apr 27, 1998        16.02        
      AS400 4.4.0                      Sep 27, 1999        17.07        
      AS400 4.5.0                      Jul 27, 2000        18.07        
      AS400 5.2.0 - Most records       Jul 23, 2003        21.03        
      AS400 5.2.0 - QAPMMIOP           Jul 23, 2003        22.04        
      AS400 5.3.0                      Jan 22, 2005        22.22        
      AS400 5.4.0                      Aug 26, 2006        24.06        
      AS400 6.1.0                      Jun 29, 2008        26.05        
                                                                        
    Note: Asterisk by the version number means the Version number       
          was changed (to the MXG version required), after an earlier   
          MXG version was listed as supporting this product release,    
          usually because an APAR modified the product's data records.  
          Or a coding error in MXG could be the reason for the change!  
                                                                        
    Availability dates for non-IBM products and MXG version required:   
                                                                        
                                                        MXG Version     
      Product Name                                       Required       
                                                                        
      Demand Technology                                                 
       NTSMF Version 1 Beta                                14.11        
       NTSMF Version 2.0                                   15.05        
       NTSMF Version 2.1                                   15.06        
       NTSMF Version 2.2                                   16.04        
       NTSMF Version 2.3                                   17.10        
       NTSMF 2.4.4                     Aug  9, 2002        20.04        
       NTSMF 2.4.5   INCOMPAT          Apr  1, 2003        21.02        
       NTSMF 2.4.7                     Sep 30, 2004        22.08        
       NTSMF 3.1.4                     Mar 15, 2009        27.01        
       NTSMF 4.0                       Mar 15, 2011        29.03        
      Landmark                                                          
       The Monitor for DB2 Version 2                       13.06        
       The Monitor for DB2 Version 3.0                     16.02        
       The Monitor for DB2 Version 3.1                     20.04        
       The Monitor for DB2 Version 4.0                     22.10        
       The Monitor for DB2 Version 5.0                     30.02        
       The Monitor for CICS/ESA 1.2 -                      12.12        
       The Monitor for CICS/ESA 1.3 -                      15.01        
       The Monitor for CICS/ESA 2.0 -                      15.06        
       The Monitor for CICS TCE 2.1 -                      20.04        
       The Monitor for CICS TCE 2.2 - 20.335, 21.134       21.04        
       The Monitor for CICS TCE 2.3 including CICS/TS 3.1  22.08        
       The Monitor for CICS TCE 3.2 (almost all)           25.11        
       The Monitor for CICS TCE 3.2 (almost all)           27.01        
       The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2)  29.07        
       The Monitor for CICS TCE 3.4 (for CICS/TS 5.1)      30.30        
       The Monitor for MVS/ESA 1.3  -                      12.05        
       The Monitor for MVS/ESA 1.5  -                      12.05        
       The Monitor for MVS/ESA 2.0  -                      15.09        
       The Monitor for MVS/ESA 3.0  -                      19.19        
                                                                        
      Candle                                                            
       Omegamon for CICS V200 User SMF                     12.05        
       Omegamon for CICS V300 User SMF                     13.06        
       Omegamon for CICS V400 User SMF                     16.02        
       Omegamon for CICS V400 type 110 segments            16.02        
       Omegamon for CICS V500 User SMF                     18.01        
       Omegamon for IMS V110 (ITRF)                        12.12        
       Omegamon for IMS V300 (ITRF)                        14.04        
       Omegamon for IMS V550/V560 (ITRF)                   25.05        
       Omegamon for MVS V300                               13.05        
       Omegamon for MVS V400                               13.06        
       Omegamon for DB2 Version 2.1/2.2                    13.05        
       Omegamon for VTAM V160                              12.04A       
       Omegamon for VTAM V400                              15.15        
       Omegamon for VTAM V500                              18.08        
       Omegamon for SMS V100/V110                          12.03        
      CA                                                                
       ACF2 6.2                                            16.04        
       ASTEX 2.1                                           14.04        
       NETSPY 4.7                                          14.03        
       NETSPY 5.0                                          14.03        
       NETSPY 5.2                                          16.05        
       NETSPY 5.3                                          18.03        
       NETSPY 6.0                                          20.10 20.305 
       NETSPY 7.0                                          20.10 20.305 
       SAR/VIEW R11                                        23.07 23.196 
      BMC, was Boole & Babbage                                          
       APPTUNE V6R3 SMF 102                                30.037       
       IMF 3.1 (for IMS 5.1)                               12.12        
       IMF 3.2 (for IMS 6.1 only)                          15.09        
       IMF 3.2 (for IMS 5.1 and 6.1+)                      16.04        
       IMF 3.3 (for IMS 7.1 and 8.1)                       22.08*       
       IMF 4.1 (for IMS 9.1)                               26.02*       
       IMF 4.4 (for IMS 9.1)                               31.08*       
       IMF 4.5 (for IMS 11.1)  (No change since 4.4)       31.08        
       IMF 4.6 a/k/a Mainview IMS                          31.08*       
       IMF 5.1 a/k/a Mainview IMS                          31.08        
       Mainview for MQ Version 4.4                         29.03        
       Mainview for MQ Version 5.1                         30.02        
       Mainview for CICS Version 6.5 (CICS/TS 5.1)         30.30        
       Mainview for CICS Version 6.4 (CICS/TS 4.2)         30.04        
       Mainview for CICS Version 6.1                       26.26        
       Mainview Auto Operator data file                    28.28        
       Mainview for DB2 THRDHIST file                      20.20        
       Mainview for TCP/IP                                 20.20        
       Mainview for Batch Optimizer                        19.19        
      Memorex/Telex                                                     
       LMS 3.1                                             12.12A       
      Oracle V9, V10                                       24.06        
      Amdahl                                                            
       APAF 4.1, 4.3                                       16.08        
      Velocity Software                                                 
       XAMAP 3.4                                           22.10        
       XAMAP 3406                                          24.03        
       XAMAP 3.7                                           27.10        
       XAMAP 4.1   Now Renamed to ZVPS 4.1                 29.07        
                                                                        
V.    Incompatibilities and Installation of MXG 31.31.                  
                                                                        
                                                                        
 1. Incompatibilities introduced in MXG 31.31:                          
                                                                        
  a- Changes in MXG architecture made between 31.31 and prior versions  
     that can introduce known incompatibilities.                        
                                                                        
                                                                        
 2. Installation and re-installation procedures are described in detail 
    in member INSTALL (which also lists common Error/Warning messages a 
    new user might encounter), and sample JCL is in member JCLINSTT for 
    SAS Version 9.                                                      
                                                                        
    MXG Definitions with regard to MXG Software Changes:                
                                                                        
    COMPATIBLE   A change in a data record which did not alter either   
    COMPAT       the location or the format of all of the previously-   
                 kept MXG variables is COMPATIBLE, and you can continue 
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept 
                 until you install the MXG Version with this change.    
                                                                        
    INCOMPAT     A change in a data record that causes the current MXG  
                 version to fail, visibly or invisibly, with or without 
                 error conditions or messages, and the output datasets  
                 may contain wrong values and incomplete observations,  
                 and/or observations may have been lost.                
                 You MUST install the new MXG Version with this change  
                 to process data records that have been INCOMPATIBLY    
                 changed by their vendor.                               
                                                                        
    TOLERATE     In other words, the old MXG Version TOLERATES the new  
                 data records, if they are COMPATIBLY changed.          
                                                                        
    EXPLOIT      Once you use the new MXG Version to read the changed   
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG    
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.     
                                                                        
      An MXG Version never "expires" nor "goes out of Support".  When   
      you put in a new product/subsystem/Release/APAR that incompatibly 
      changed its records then you must install the current MXG Version 
      or at least be using the minimum level of MXG that is currently   
      documented in the preceding list in section IV.                   
                                                                        
                                                                        
                                                                        
VI.   Online Documentation of MXG Software.                             
                                                                        
    MXG Documentation is now described in member DOCUMENT.              
    See also member INDEX, but it may be overwhelming.                  
                                                                        
                                                                        
VII.  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 always identifies the actual version and release of     
 MXG Software that is contained in that library.                        
                                                                        
 The CHANGES selection on our homepage at http://www.MXG.com            
 is always the most current information on MXG Software status,         
 and is frequently updated.                                             
                                                                        
 Important changes are also posted to the MXG-L ListServer, which is    
 also described by a selection on the homepage.  Please subscribe.      
                                                                        
 The actual code implementation of some changes in MXG SOURCLIB may be  
 different than described in the change text (which might have printed  
 only the critical part of the correction that need be made by users).  
                                                                        
 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 in MXG 31.31 after MXG 30.30:    
                                                                        
  Dataset/                                                              
  Member   Change    Description                                        
                                                                        
                                                                        
  ANAL120  31.008  Example reports revised.                             
  ANALATEN 31.205  Analysis of Latent Demand report.                    
  ANALDB2R 31.034  MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.  
  ANALDB2R 31.061  New MXGACC03 report counts concurrent DBATs.         
  ANALDB2R 31.067  Point-in-time mapping DBID/OBID hex to their names.  
  ANALDB2R 31.262  Some AVG Buff stats wrong, possible dataset not found
  ANALDB2R 31.286  Selection by PLAN moved into READDB2, saves time.    
  ANALGRID 31.248  DATES= any one of the "one word" tokens didn't work. 
  ANALHSM  31.260  Variable HSMPLEX added to all HSM reports.           
  ANALID   31.086  SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.  
  ASMIDMP  31.068  Pace-contributed IDMS exit code for Change 31.018.   
  ASMRMFV  31.062  RMF III Enhancements - blocking CPU and CPCDB.       
  ASMRMFV  31.111  Blocking SVP tables over 32K length enhancement.     
  ASMRMFV  31.150  MAJOR RMF III enhancement - dynamic VSAM allocation. 
  ASMRMFV  31.230  RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
  ASMRMFV  31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  ASMRMFV  31.287  MXG 31.02-31.09. ASMRMFV could skip RCD tables.      
  ASMRMFV  31.296  RMF III Enhancements including new TABERR parameter. 
  ASMTAPEE 31.105  ML-51 corrects MXGC010E error when STKX=NO used.     
  ASUMSMFI 31.073  Variable TYPETASK added to ASUMSMFI summary dataset. 
  ASUMTAPE 31.149  _GRPMNNM/_GRPMNCD failed after Change 30.203.        
  CICINTRV 31.002  CICTSQ new A12xxxx variables now kept in CICINTRV.   
  EXCICJRN 31.217  Support for CICS "multi journal records".            
  EXPDBACC 31.094  BUILDPDB enhancement: create your own acct variables.
  EXUTILEX 31.131  EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor. 
  FORMATS  31.189  Support for CEX41 Crypto Coprocessor type corrected. 
  FORMATS  31.251  WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED. 
  FORMATS  31.291  MG073FR decodes SMF73CPP frame size 16/24/50/64KB.   
  GRAFCEC  31.246  NOT SORTED error with multiple CEC's data.           
  GRAFWRKX 31.294  New NEWMODEL parameter view workloads on new CPU.    
  IHDRTMO2 31.290  TMON/CICS TA records IHDRTMO2 now after the offsets. 
  IMAC6ESS 31.047  ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.     
  IMACCADI 31.060  CA-Dispatch CADIxxxx values corrected.               
  IMACICUS 31.090  MXG 31.02.  LENUSRCH=32 should be LENUSRCH=0 default.
  IMACICUX 31.051  Support for user field CHARGE creates USCHARGE Var.  
  JCLSQLID 31.067  Point-in-time mapping DBID/OBID hex to their names.  
  JCLUOTT2 31.293  Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
  JCLVSB2U 31.198  JCL example to change RECFM=VBS to RECFM=U w/o copy. 
  MANY     31.221  ODS Support for TYPE=PDF, MANY ANALxxxx updated      
  MXGLABEL 31.288  New %MXGLABEL creates LABEL with NAME and LABEL.     
  Many     31.270  Messages with 'ERROR:' starting in byte one shifted. 
  PREINIT  31.026  Pre-MXG-Initialization exit for SASHELP.VEXTFL.      
  READDB2  31.115  READDB2 with COMPRESSED/Internal, NO OBS created.    
  READDB2  31.128  LDB2*** parameters were not honored.                 
  READDB2  31.163  WPS ONLY. WPS Compiler macro resolution error.       
  READDB2  31.165  PDB.DB2STAT1 not created with READDB2 STATISTICS.    
  READDB2  31.167  DB2 V8 ONLY. V8-only IFCID=225 were not read.        
  READDB2  31.191  READDB2 PDBOUT=, or PDBOUT=XXX may not work right.   
  READDB2  31.191  READDB2 revision for PDBOUT=WORK or PDBOUT=XXX.      
  READDB2  31.269  "Too few" IFCIDs listed caused no sort to PDBOUT.    
  RMFINTRV 31.138  Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.   
  TYPE0    31.193  TYPE 0 IPL RECORD now 68 bytes in z/OS 2.1, DELETED. 
  TYPE0    31.193  z/OS 2.1 SMF ID=0 Length changed, record DELETED.    
  TYPE102  31.001  Support for variable QW0141OT in T102S141 dataset.   
  TYPE102  31.027  Variable QWHCEUWN added to T102Snnn DB2 datasets.    
  TYPE102  31.166  Support for IFCID=380 STORED PROCEDURE DETAILS       
  TYPE102  31.258  Support for IFCID 359, "DB2 Statement ID" decoded.   
  TYPE102  31.261  Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
  TYPE102  31.278  Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
  TYPE110  31.012  CICLDR output tests LDRTU instead of LDRFC.          
  TYPE110  31.048  MXG 31.01 only, STID=29, CICSMDSA dataset wrong.     
  TYPE110  31.075  ASCII execution, RTYPE/RRTYPE may be incorrect.      
  TYPE110  31.110  CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.    
  TYPE110  31.214  CICSJS variables SJSMAJCP/SJSMINCP are not CPU time. 
  TYPE110  31.253  SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
  TYPE111  31.283  Support for CICS Transaction Gateway V9R0 (COMPAT)   
  TYPE113  31.003  Message UNINIT VARIABLE SM1132MM minimal impact.     
  TYPE113  31.169  SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.  
  TYPE113  31.169  SMF 113 vars SM1132MT and SM1132MM were blank.       
  TYPE113  31.172  Macro to re-label SMF 113 counters for old machine   
  TYPE113  31.208  ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor. 
  TYPE115  31.179  Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.   
  TYPE115  31.188  New TYPE115S dataset for SMDS/QEST data.             
  TYPE115  31.188  Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S. 
  TYPE117  31.199  S17NNDM added to the BY list _B117NOD for NODUP.     
  TYPE119  31.218  INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.      
  TYPE120  31.143  TYP1209E variables SM1209DA-DF are accumulated.      
  TYPE120  31.170  Variable SM1209BK (Short Server) added TYP1209C/S/U. 
  TYPE30   31.277  TYPE30MU dataset now has zero obs by default: useless
  TYPE30   31.280  IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL). 
  TYPE42   31.216  INVALID DATA FOR S42CSYNC.                           
  TYPE6    31.106  PRINTWAY and PSF TYPE6 TASKTIME TCP/PSF/TCPE values. 
  TYPE6    31.207  31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
  TYPE70   31.130  SHARE Weights for zIIP/zAAPs corrected.              
  TYPE7002 31.220  Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
  TYPE7072 31.174  WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial   
  TYPE7072 31.266  MSU Units (Hardware vs Software) in TYPE70/TYPE72GO. 
  TYPE7072 31.274  System with only CPs + ICFs, LPAR SHARE weight wrong.
  TYPE70PR 31.140  SMF70GNM, Group Name, blank in 31.03-31.04.          
  TYPE74   31.072  Format MG0748L new value for 16 GB/s Link Type       
  TYPE78CU 31.127  Vars R783DCTM/DDTM (CU Connect/Disconnect) added.    
  TYPE80A  31.257  TOKDANAM='UTYPE' ERROR if last, new TOK variables.   
  TYPE85   31.006  Support for OAM SMF ID=85 STs 90,91,92 and 93.       
  TYPE90A  31.045  ID=90.6,7 EVENTIME is IPLTIME of the system.         
  TYPEBETA 31.036  BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
  TYPEBETA 31.162  Variable JOB and BETAJOBN are now consistent.        
  TYPEBVIR 31.016  Support for BVIR Version 2.0/2.0a/2.1.               
  TYPEBVIR 31.039  Option to add SYSTEM value to IBM TS7700 BVIR data.  
  TYPEBVIR 31.168  Support of Hydra/BVIR Version 3 new data fields.     
  TYPEBVIR 31.254  BVIR30 dataset was incorrect with VERSION 3 records. 
  TYPECIMS 31.137  IMF TRXZxxxx variables incorrectly input.            
  TYPECIMS 31.206  Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).   
  TYPECIMS 31.233  Correction for IMF 4.2 thru 5.1 (WRONG VALUES)       
  TYPEDB2  31.015  "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
  TYPEDB2  31.056  Variable THREADS now correctly set for ROLLUPs.      
  TYPEDB2  31.081  Support for DB2 V10 ID=100 Subtype 5 DB2STAT5 dataset
  TYPEDB2  31.093  DB2STAT5 "INVALID" record supported, STARTUP event.  
  TYPEDB2  31.108  DB2STATS vars QXSTCWLP+ and QISTWMXU incorrect.      
  TYPEDB2  31.117  DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
  TYPEDB2  31.196  Support for APAR PM67806 adds QW0225DMH DMH GETM.    
  TYPEDB2  31.196  Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
  TYPEDB2  31.240  Support for DB2 V11.1. MXG 30.30 TOLERATES, see text.
  TYPEDB2  31.245  Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
  TYPEDB2  31.259  Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8   
  TYPEDB2  31.272  Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
  TYPEDB2  31.275  MXGWARN: T102S225 DOES NOT EXIST.                    
  TYPEDB2  31.282  DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.   
  TYPEEDGR 31.118  Support for EDGRXEXT variables added in z/OS 1.13    
  TYPEIDMP 31.018  Support for PACE's IDMS 17 KOMAND/IDCS SMF record.   
  TYPEIDMS 31.197  After MXG 30.30, only IDMS 17, zero obs in IDMSINS.  
  TYPEIMS  31.102  IMS 13 inserted field in 07 Log record INCOMPAT      
  TYPEJESC 31.225  Support for Emtex JESCONNECT SMF Record.             
  TYPENMON 31.058  NMON records SEA, SEAPACKET, DONATE are supported.   
  TYPENMON 31.119  Variables IPCSTIME and TIMEZONE added to NMONBBBP.   
  TYPENMON 31.164  Protection for invalid NMON DISKxxxx records.        
  TYPENMON 31.264  Support for Red Hat Linux Data Group,NFSCLIV4 metrics
  TYPENTSM 31.030  Major update for NTSMF adds datasets and variables.  
  TYPEPDM  31.226  Support for Alebra Parallel Data Mover SMF record.   
  TYPEPRPR 31.054  Corrections to '1031' and '1061' records.            
  TYPERACF 31.146  INPUT STATEMENT ERROR RACF UNLOAD, invalid data too. 
  TYPERMFV 31.004  RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.      
  TYPERMFV 31.021  RMF III Enhancements                                 
  TYPERMFV 31.074  RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong. 
  TYPERMFV 31.273  Support for RMF III CATG3 Cache Data ERB74CA dataset.
  TYPERMRV 31.062  RMF III Enhancements - blocking CPU and CPCDB.       
  TYPESHDE 31.177  SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong. 
  TYPETLMS 31.215  Support for new TLMS variables, compression percent  
  TYPETMD2 31.133  Support for TMON for DB2 Version 5 second iteration. 
  TYPETMMQ 31.020  Support for TMON/MQ Version 2.15 new data.           
  TYPETMMQ 31.190  Many new variables added to TMMQQU MQ QUEUE dataset. 
  TYPETMMQ 31.190  New variables added to TMMQQU.                       
  TYPETMNT 31.010  MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record. 
  TYPETPMX 31.116  TYPETPMX variable JOBNUM truncated if 6 digits long  
  TYPETPMX 31.263  ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
  TYPEVFTP 31.023  Support for Software Diversified Services VFTP SMF.  
  TYPEVIP  31.022  Support for Software Diversified Services VIP SMF.   
  TYPEVMXA 31.151  Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.   
  TYPEVMXA 31.194  31.02-31.06, z/VM 6.2.12, STOSHG BROKEN CONTROL REC. 
  TYPEVMXA 31.194  MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112. 
  TYPEWWW  31.052  IIS Weblog URIQUERY with &=1 and no name supported.  
  TYPEWWW  31.137  IIS Log with ' ... ' COOKIE value caused MXG loop.   
  TYPEXAM  31.160  Support for Velocity Software new segments new data. 
  TYPEXDFG 31.049  Support for WAS XD (WebSphere Extended Deployment).  
  TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.     
  UTILBLDP 31.276  Tool to ad hoc read SMF is enhanced WANTSMF= list.   
  UTILEXCL 31.051  ***UNKNOWN FIELD*** protection still didn't protect. 
  UTILEXCL 31.147  Support for CANPROD4, CANPROD5 and CANPROD6 fields.  
  UTILEXCL 31.295  Negative values in variable TASELGTM with IMACEXCL.  
  VGETOBS  31.180  Circumvent WPS ABEND with unopened LIBNAME on tape.  
  VGETOBS  31.200  Revisions in concert with VMXGWORL for READDB2.      
  VGETOBS  31.212  Final (?) revisions to VGETOBS to bypass tape mounts.
  VGETOBS  31.247  ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
  VGETOBS  31.250  A better way to identify TAPE data libraries.        
  VGETWKLD 31.028  Hardcoded VIEWs removed.                             
  VMAC73   31.291  SMF73SPD Channel Speed now always in MBits/sec.      
  VMAC80A  31.139  Support for RACF TOKDANAM='UNAME'.                   
  VMACSMF  31.014  New %LET SMFPUTHD=NO; suppresses header messages.    
  VMXGINIT 31.285  JCL //INSTREAM DD is no longer required for z/OS MXG.
  VMXGRMFI 31.268  Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
  VMXGSRCH 31.171  UNABLE TO CREATE WORK.TABLES.DATA BECAUSE ..VIEW.... 
  VMXGSRCH 31.219  Search which character variables contain text string.
  VMXGWORL 31.200  Revisions in concert with VGETOBS  for READDB2.      
  WPS      31.224  Current status of WPS circumventions and differences.
                                                                        
  See member CHANGESS for all changes ever made to MXG Software.        
                                                                        
                                                                        
Inverse chronological list of all Changes:                              
                                                                        
NEXTCHANGE: Version 31.                                                 
                                                                        
====== Changes thru 31.296 were in MXG 31.31 dated Jan 20, 2014=========
                                                                        
Change 31.296 -RMF III Enhancements and Fixes                           
ASMRMFV       -New parameter TABERR=ABEND/IGNORE/WARN directs ASMRMFV   
ADOCRMFV       when one or more RMF Monitor III table validation        
ZASMRMFV       errors have occurred (default WARN).  Table validation   
Jan 18,2014    has been part of ASMRMFV since Change 31.080 in MXG      
               V31.02.                                                  
                                                                        
              -Validating RMF III tables prevents incorrect and/or      
               conflicting data from being absorbed into an MXG PDB that
               could be difficult to detect, diagnose, and resolve.     
                                                                        
              -A validation error occurs when an offset or length within
               a table is not as expected or is logically inconsistent. 
               For example, the length of the table header is greater   
               than the total table length.  This should be a VERY RARE 
               event.                                                   
                                                                        
              -However, in past versions ASMRMFV could issue Return Code
               0000 when such errors occurred thus making it appear that
               there were not any problems in the ASMRMFV run.          
                                                                        
              -With this change ASMRMFV will issue Return Code 0016 when
               one or more table validation errors occur.  This is the  
               only condition for which this Return Code is issued.     
                                                                        
              -When a table validation error occurs the entire table is 
               skipped and thus the data will not appear in the result  
               PDB.                                                     
                                                                        
              -These errors are thus a significant event and should be  
               reported to MXG Technical Support as soon as possible.   
               Use TABERR=IGNORE to bypass these errors and not set     
               Return Code 0016 until the issue can be resolved.        
                                                                        
              -Such tables are skipped and written to the optional      
               RMFSKIP DD if present in JCL.  They will not be included 
               in the result PDB so all data in the table is lost.      
               These are not reliable data sources and could result in  
               more serious problems if they were input to a PDB build. 
                                                                        
              -RMFV035* (*=I,S) is now a variable severity message that 
               reports table validation errors both in ASMRMFV detail   
               and summary reports. In some cases RMFV035* will report  
               more details on the specific error.                      
                                                                        
              -Prologue documentation in ASMRMFV source code and in the 
               ADOCRMFV member has been updated with a discussion of the
               TABERR= parameter.                                       
                                                                        
              -Performance for the output of some RMF III tables to the 
               RMFBSAM file is improved by using block data moves to the
               output buffer when moving contiguous entries within a    
               table.  In the past ASMRMFV moved single entries at a    
               time.  This applies to the CPD, CSR, ENT, OPD, and SPG   
               tables only.                                             
                                                                        
              -RCD processing did not include the RCDRD section when    
               validating this table and this is corrected.             
                                                                        
              -ASMRMFV was initializing variable mode messages before   
               PARM processing was complete so that *ERR= PARM overrides
               were not affecting the corresponding message format.  The
               overrides were functional but the corresponding message  
               format could be incorrect.                               
                                                                        
              -The patch for Change 31.287 only is included in the      
               archival ZASMRMFV member intended only for use with      
               non-z/Architecture hardware.  No other changes after     
               Change 31.181 are included as this member is stabilized. 
                                                                        
              -REQUIREMENT: In order to receive these improvements the  
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.        
                                                                        
Change 31.295  Negative values in variable TASELGTM, zIIP Eligible time,
UTILEXCL       in dataset CICSTRAN, when UTILEXCL was used to create the
Jan 18, 2014   tailored IMACEXCL member (support for EXCLUDEd fields in 
               your CICS SMF 110 records).  The generated IMACEXCL code 
               incorrectly subtracted TASZIPTM from OFFLCPTM.           
              -UTILEXCL logic to KEEP TASELGTM,TASZIPTM was added.      
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 31.294  NEWMODEL parameter added to GRAFWRKX to allow you to     
GRAFWRKX       see what your workloads would look like on a different   
Jan 18, 2014   CPU model.  Formats TMPSUSEC and TMPNRCPU are defined    
               in member GRAFWRKX to map NEWMODEL to Hardware SU_SEC    
               and NRCPU Engine count for MSU Capacity for the new      
               processor, to recalculate CPU time and percent busy.     
                                                                        
Change 31.293  Sample JCL to create PDB.ASUMUOW, PDB.CICS for TMON/CICS.
JCLUOTT2       The MONICICS file is read with tailored "TYPETMO2" logic 
Jan 16, 2012   to create MONITASK dataset, but KEEPs only the variables 
               that are needed, to save disk space, CPU, and I/O.  Then,
               MONITASK dataset is summarized by ASUMUOW and ASUMCICX   
               to create the PDB.ASUMUOW and PDB.CICS summary datasets. 
               No DB2 nor MQ data is processed in this example.         
                                                                        
Change 31.292  The DATASET name requested is now printed in the default 
VMXGPRNT       TITLE1 by VMXGPRNT.  However, see also MXGLABEL that is  
Jan 15, 2014   added by Change 31.288 which may be simpler to learn!    
              -MXGWARN that WORK.SP_L does not exist is suppressed.     
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.291  Variable SMF73SPD was in MBits/sec if SMF73MSC=0 or was  
FORMATS        in Bits/sec otherwise with Bits/sec in the label, but it 
VMAC73         makes more sense to label and store MBits/sec for this   
VMAC79         new Channel Speed metric added by APAR OA22918 for z196  
Jan 16, 2014   (High Performance FICON support). SMF73SPD is zero for   
               FICON Express 4 channels; the enhanced metrics are only  
               generated by FE-8 and FE-8S or later channels.           
              -Variable SMF73CPP in TYPE73 and R79CCPP in TYPE79 are    
               decoded by MG073FR format to display the channel path    
               frame size (16/24/40/64KB).                              
   Thanks to Dr. H. Pat Artis, Performance Associates, USA.             
   Thanks to Brian Currah, Independent Consultant, CANADA.              
                                                                        
Change 31.290  For TMON/CICS Transaction Records, 'TA', the IHDRTMO2    
IHDRTMO2       exit is now taken AFTER the offsets to the 22 subsections
VMACTMO2       have been INPUT so you can know what data is present and 
Jan 15, 2014   so you could reset the NUMBER to zero to suppress their  
               processing; IHDRTMO2 comments identify entry variables.  
                                                                        
Change 31.289  Cosmetic. VGETOBS could be called with DATASET=_NULL_,   
VGETOBS        notably in VMXGUOW if MQ/DB2/CICS is suppressed.         
Jan 12, 2014   This change detects the _NULL_ and returns eliminating   
               warning messages.                                        
                                                                        
Change 31.288  New MXGLABEL macro reads the contents of a SAS dataset to
MXGLABEL       create a LABEL statement with the VARIABLE NAME and LABEL
Jan 16, 2014   as the label's value for each variable in that dataset.  
               These labels are the same as VMXGPRNT/VMXGPRA1/VMXGPRAL  
               print, but if you know how to use PROC PRINT, you can use
               MXGLABEL and not have to learn those program's arguments:
                                                                        
                 %MXGLABEL(DATASET=PDB.JOBS,NAMEPOSITION=BOTTOM);       
                 PROC PRINT DATA=PDB.JOBS SPLIT='*';                    
                 &MXGLABEL;                                             
                 TITLE PRINT WITH NAME AND LABEL OF DATASET &MXGDATASET;
                                                                        
               The VARIABLE NAME can be at the TOP or BOTTOM of the new 
               label when split-printed, and you can choose the bookend 
               character (around the variable name) and even change the 
               asterisk SPLIT CHARACTER.                                
              -%MXGLABEL also creates a macro variable &MXGDATASET with 
               the name of the dataset dataset name (like for TITLEs).  
                                                                        
              -The LABEL statement is returned in both the old-style    
               macro token _MXGLABL and in the macro variable &MXGLABEL.
                                                                        
              -Macro variables are limited to 64K characters, and with  
               a 32-character name and 40-character label, only 858 vars
               labels would fit in 64K text, but this implementation has
               no such limit, by storing only the NAME of the old-style 
               macro (%LET MXGLABEL= _MXGLABL;) for the macro variable's
               value, so only your disk space limits amount of code.    
               THIS ONLY WORKS IF &MXGLABEL IS EQUATED TO _MXGLABL TEXT 
               BEFORE MACRO _MXGLABL IS INSTANTIATED.  Equating after   
               instantiation will fail if the expanded text exceeds 64K.
              -The USEFILE argument defaults to MXGLABEL and writes to  
               the WORK file as a CATALOG so it can be any 8-character  
               file name for the write and read. See Change 31.285.     
              -A LABEL statement AFTER the &MXGLABEL statement will     
               override the stored label; SAS uses the last statement.  
                                                                        
Change 31.287  MXG 31.02-31.09.  ASMRMFV could skip RCD tables during   
ASMRMFV        validation added in Change 31.080 (MXG 31.02) of the     
Jan 12, 2014   RCDSD/RCDPD section entry lengths.  There were no error  
               nor warning messages, but an uncleared register could    
               cause the calculated length to exceed 32K which caused   
               the entire RCD record to be not be written to RMFBSAM,   
               causing RCD datasets to have zero observations.          
               (The ASMRMFV report of record types read/written did     
               show there were RCD records read but now all written.)   
               The register is now cleared in the two overlooked places.
                                                                        
              -This change to ASMRMFV also requires MXG at 31.09 to read
               the new RMFBSAM 31.287 records, due to new source members
               added to support the CAT records.  Specify NOCAT instead.
              -However, if you update your current ASMRMFV with these   
               two one-line-inserts in  ASMRMFV, the RCD records won't  
               be skipped, and your current MXG VMACRMFV processing will
               correctly populate the RCD datasets.                     
               Find these two ICM statements in your ASMRMFV and insert 
               the SR statement between the JL and ICM like this:       
                                                                        
                  JL    SKIPRCD            YES, ERROR                   
                  SR    R0,R0              SET REG0=0  <===ADD THIS LINE
                  ICM   R0,3,RCDPDAL(R9)   GET LENGTH OF ONE RCDRD ENTRY
                                                                        
                  JL    SKIPRCD            YES, ERROR                   
                  SR    R0,R0              SET REG0=0  <===ADD THIS LINE
                  ICM   R0,3,RCDSDAL(R9)   GET LENGTH OF ONE RCDRD ENTRY
                                                                        
               Member JCLASM3 is the sample JCL for the assembly and    
               link-edit installation of the EDITed ASMRMFV.            
    Thanks to LaRae Balthazor, Charles Schwab, USA                      
    Thanks to Anh Ngo, Charles Schwab, USA                              
                                                                        
Change 31.286  If you specified MXGxxxxx=NO, to skip that report, errors
ANALDB2R       resulted: ANALDB2R syntax error caused that parameter to 
Jan 11, 2014   be compiled as a DATA step statement, but there was no   
               semi-colon to end the statement, causing various errors. 
               NO or blanks are now taken as NO.                        
                                                                        
               If you specified PLAN= with PDB=SMF, the PLAN name was   
               not passed to READDB2 so ALL records were read and then  
               selection was done by ANALDB2R after READDB2, where it   
               should have been done to minimize disk,I/O,CPU,etc.      
               PLAN is now included in this list of parameters that can 
               be passed from ANALDB2R to READDB2 for READDB2 selection.
                 AUTHID BEGTIME CONNID CONNTYPE DB2 ENDTIME PLAN        
   Thanks to Stephen Hughes, Excellus, USA.                             
                                                                        
Change 31.285  SEE CHANGE 32.022 WHICH REMOVED THIS CHANGE FROM MXG.    
VMXGINIT       INSTREAM FILEREF OR DDNAME IS STILL REQUIRED IN MXG.     
Jan 13, 2014   ORIGINAL CHANGE TEXT:                                    
Feb  4, 2014   The //INSTREAM DD is no longer required for MXG on z/OS. 
               Now, VMXGINIT, at MXG Initialization, executes           
                FILENAME INSTREAM CATALOG 'WORK.MXGTEMP.INSTREAM';      
               which allows INSTREAM to be used as an external I/O file.
               On z/OS, the CATALOG will be used when there is no DD.   
               On ASCII, the VMXGINIT FILENAME INSTREAM is always used, 
               since it will be after any FILENAME in AUTOEXEC and will 
               replace an existing INSTREAM fileref if one exists.      
                                                                        
               MXG has always required an INSTREAM fileref, either as   
               //INSTREAM DD in the JCL, or FILENAME INSTREAM, because  
               MXG writes text (SAS statements) to it "on the fly" and  
               a %INCLUDE INSTREAM;  executes the created program code. 
                                                                        
              -The CATALOG syntax has a three or four part name         
                FILENAME INSTREAM CATALOG 'lib.catalog.entry.entrytype' 
                where entrytype can be anything for READ, but only LOG, 
                OUTPUT, SOURCE, or CATAMS (the default 4th) for WRITE.  
               -In testing this transparent enhancement, I re-discovered
               .On z/OS or ASCII, FILENAMEs allocated with a FILENAME   
                can be CLEARed, and the MXGNAMES/VMXGCNFG JCL for z/OS  
                uses FILENAME INSTREAM, so INSTREAM it could be cleared.
               .On z/OS, FILENAMEs allocated in JCL cannot be CLEARED.  
               .But you should never need to CLEAR the JCL INSTREAM DD: 
                  There's nothing that precious about FILENAME INSTREAM 
                  except that it is guaranteed to be there when needed. 
                  Especially since you can't clear the JCL DD anyhow!   
                  You can always use a different NAME in your FILENAME  
                  statement, with either CATALOG or TEMP to create an   
                  external file for your "instream" code creation. I did
                  consider using TEMP instead of CATALOG for INSTREAM   
                  default in VMXGINIT, but on z/OS the CATALOG syntax is
                  simpler, while the more complex (but more powerful)   
                  TEMP option requires device and size and JCL DD stuff.
               .ERROR: Catalog WORK.MXGTEMP DOES NOT EXIST if you try to
                read INSTREAM (INCLUDE/INFILE) before it was written.   
                                                                        
Change 31.284  If you specified MXGMQADD=NO and executed _SUOWMQ you got
VMXGUOW        a SAS message that a data step was being stopped because 
Jan  9, 2014   it was looping.  This was caused by the absence of a SET 
               statement that is conditionally executed if MXGMQADD=YES.
               An ELSE STOP; was added to prevent the message (which    
               did not cause an ABEND or failure.)                      
                                                                        
Change 31.283  Support for CICS Transaction Gateway CTG V9R0 (COMPAT).  
VMAC111       -Variable CTGSTART, DAEMON*START*DATETIMESTAMP is INPUT   
Jan  9, 2014   and kept in all TY111xx datasets.                        
              -New variables added to TY111GD Daemon dataset:           
                CTGIRESP='INTRV*DAEMON*AVG RESP*WITH I/O'               
                CTGLRESP='LIFE*DAEMON*AVG RESP*WITH I/O'                
                CTGIXNHI='INTRV*PEAK*INFLIGHT*XA TRANS'                 
                CTGIXNHI='LIFE*PEAK*INFIGHT*XA TRANS'                   
               See correction in Change 32.007.                         
                                                                        
Change 31.282  APAR PI06009 to TDS DB2PM reports notes their report will
VMACDB2        display '*ROLSUM*' for DB2 V10 Packages with QPACRUSM='Y'
Jan  8, 2014   for the new Rollup Summary record flag, while '*ROLLUP*' 
               is unchanged in V9 if QPACROLL='Y'.  With this alert, MXG
               variable DB2PARTY='R' is now set if QPACRUSM='Y' so both 
               Rollup and Rollup Summary records are identified in the  
               DB2ACCTP dataset.                                        
                                                                        
Change 31.281  DB2 dataset T102S377 variable QW0377PT was incorrectly   
VMAC102        input as 4 bytes when it is a 2 byte field, which caused 
Jan  8, 2014   wrong values in QW0377FL/QW0377PG/QW0377NU.              
                (This was my bad for missing my own coding error, that  
                wasted the customer and IBM DB2 Support's time.)        
   Thanks to Bart Steegmans, IBM DB2 Support, USA.                      
                                                                        
Change 31.280  MXG variable IOTMNOCA=SMF30AIC-IOTMDASD now correctly    
VMAC30         compares the DASD connect time captured in SMF30AIS with 
Jan  1, 2014   the sum of IOTM from the DASD DD segments; previously it 
               incorrectly used IOTMTOTL in the equation.               
               Values from minus 20 seconds to plus 20 seconds are found
               occasionally, where minus 20 means that the DD segment   
               IOTM was greater than the SMF30AIC DASD connect time.    
                                                                        
====== Changes thru 31.278 were in MXG 31.09 dated Dec 30, 2013=========
                                                                        
Change 31.278 -Support for DB2 Trace IFCID=377 (PSEUDO DELETE CLEANUP). 
EX102367       creates T102S377 dataset.                                
EX102374      -Support for (HEADER ONLY) all of these new ID=102 IFCIDs 
EX102375       that are documented in DB2 V11;                          
EX102376          367 374 375 376 378 379 382 383 384 385 386 397       
EX102377          398 399 499                                           
EX102378       Actual data records are required to decode new IFCIDs,   
EX102379       but by adding the structure for all of these possible 102
EX102382       subtypes, only VMAC102 itself will need to be updated to 
EX102383       decode the IFCID-unique variables in these records.      
EX102384                                                                
EX102385                                                                
EX102386                                                                
EX102397                                                                
EX102398                                                                
EX102399                                                                
EX102499                                                                
IMAC102                                                                 
VMAC102                                                                 
VMXGINIT                                                                
Dec 28, 2013                                                            
   Thanks to Paul Walters, Navy Federal Credit Union, USA.              
                                                                        
Change 31.277  TYPE30MU dataset now has zero obs by default.  It is not 
EXTY30MU       actually used by IBM SCRT nor MXG for analysis, it can be
Dec 26, 2013   very large, because it replicates product segments in the
               same interval, and because if you really need it, it can 
               be easily enabled, by removing the comment block in the  
               EXTY30MU exit member in your "USERID.SOURCLIB" tailoring.
                                                                        
Change 31.276  UTILBLDP is the RECOMMENDED ad hoc tool to read SMF data.
UTILBLDP       New WANTSMF="list of ID.SUBTYPE" provides easier syntax  
Dec 26, 2013   for selection of ID/SUBTYPES you want to be read.  You   
               select the PRODUCTS with BUILDPDB=YES or USERADD=n m z.  
               You then use either WANTSMF= to select the ones you want,
               or you use the existing ZEROOBS= to alternatively force  
               the unwanted subtypes to have zero observations.         
                 %UTILBLDP(BUILDPDB=NO,                                 
                           USERADD=42 7072 71 73 74 CMF,                
                           WANTSMF=42.6 70.1 73 74.1 74.5 74.6 240);    
                 %INCLUDE BUILDMXG;                                     
               Generally, you can use the argument with fewer arguments,
               but to use ZEROOBS correctly you must know all subtypes  
               in advance, while using WANTSMF= you only need to list   
               the ID.SUBTYPEs you know about and want.                 
   Thanks to Pat Artis, Performance Associates, Inc., USA.              
                                                                        
Change 31.275  Spurious DATASET T102S225 DOES NOT EXIST messages are    
READDB2        corrected for that archaic dataset, populated only with  
VMACDB2        DB2 V8, where it is written as  ID=102 SUBTYPE=IFCID=225,
Dec 25, 2013   and thus read with %READDB2.  Instead, in DB2 V9 plus,   
Dec 26, 2013   IFCID=255 is written as ID=100 records and read with     
               TYPEDB2/BUILDPDB.  In all versions, however, all QW0225xx
               variables are output in the PDB.DB2STATS dataset, which  
               contains all interval statistics                         
              -MXGNOTEs listing the Subtypes/IFCIDS wanted are revised. 
                                                                        
Change 31.274  On a system with only CPs and ICFs, the LPAR SHARE weight
VMAC7072       calculations were wrong, with values like weights instead
Dec 21, 2013   of the expected percentages.  The test that deletes 'IFL'
               now also delete 'ICF's from weight calculations.         
   Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.                     
                                                                        
Change 31.273  Support for RMF III CATG3 Cache Data which writes SMF 74 
ADOCRMFV       subtype 5 records to the RMF III VSAM file with the same 
ASMRMFV        metrics as RMF I SMF records, but with more granularity  
ASUMCACH       (typical 1 minute RMF III INTERVAL and yet take less DASD
EXZRB74C       space (only active devices are written in the one-minute 
EXZRB74I       III records, while all devices are written to RMF I SMF).
EXZRBCAT       (Note: MXG outputs ONLY active devices so the output size
IMACZRB        per interval will be the same.)  This support creates the
VMACRMFV       new ZRB74CA dataset, instead of naming it TYPE74CA, since
VMXGINIT       archaic variables from segments that no longer exist are 
Dec 23, 2013   not kept, but all other variable names are the same.     
Dec 28, 2013  -ASUMCACH will now read either SMF TYPE74CA or RMF ZRB74CA
               to create PDB.ASUMCACH, looking for ZRB74CA first.       
                                                                        
              -Notes for collection and use of RMF III Cache Data:      
              -The RMF Monitor I parameters CACHE and ESS must also be  
               in effect on the same system with the RMF Monitor III    
               CACHE parameter.  The RMF Monitor I defaults are CACHE   
               and NOESS.                                               
              -If ESS is not in effect for RMF Monitor I on the cache   
               collection system the related PDB variables will be      
               missing values (in both TYPE74CA and ZRB74CA).           
              -From Newsletter FIFTY:                                   
            14. Specifying the RMF Monitor I CACHE Option in only       
                one SYSTEM's RMF parameters eliminates redundant        
                records on other systems and has been always            
                recommended.  There are other RMF Monitor I options,    
                ESS(RANK) and ESS(LINK) and FCD along with CACHE        
                that should all be in one, and the same, SYSTEM, per    
                these IBM suggestions:                                  
      ESS(RANK) - Link performance statistics are gathered.             
      ESS(LINK) - Extent pool statistics and rank statistics gathered.  
                   As ESS data gathering involves cache activity        
                   measurement, it is recommended to specify both       
                   options in common.                                   
                     If you specify ESS together with NOCACHE, cache    
                     data is gathered implicitly without writing SMF    
                     74.5 records!                                      
                   In a SYSPLEX, options CACHE and ESS can be specified 
                   on any system sharing the measured devices.          
                   Therefore specify the ESS and CACHE options together 
                   on one selected system only to avoid duplicate data  
                   gathering.                                           
      CACHE     - Create SMF 74.5 TYPE74CA Cache Statistics             
                   IMPORTANT: CACHE is the DEFAULT option IBM sets in   
                   RMF Monitor I, so you MUST then ADD a statement with 
                   NOCACHE in RMF parms for all but that one SYSTEM.    
                                                                        
              -With this change all RMF Monitor III documented tables of
               practical use are now supported by MXG.                  
              -Creating readable 74.5 records from the RMF III VSAM was 
               non-trivial in ASMRMFV, because those records can be more
               than 32K bytes in the VSAM file, so longer records needed
               to be broken into shorter, but complete, records.        
              -New ASMRMFV parameters CAT (alias H) and NOCAT (aliases  
               -CAT, -H) are provided to select or filter CATG3 table   
               data respectively.                                       
              -ASMRMFV messages RMFV036I and RMFV105I are updated to    
               show CAT table information.                              
              -ASMRMFV validates the CAT header and each SMF Type 74.5  
               record contained in the CAT table.                       
              -Initial ASMRMFV assembly environment message RMFV000I is 
               revised to show the assembly date as a Julian date, as a 
               date in ddmmmYYYY format, and as the 3 character day of  
               the week.                                                
              -The ASMRMFV source code prologue as well as the ADOCRMFV 
               documentation member are updated appropriately.          
              -REQUIREMENT: In order to receive these improvements the  
               current ASMRMFV utility program from this MXG change     
               must be installed.  See MXG SOURCLIB member JCLASM3 for  
               sample JCL for the assembly and link-edit install steps. 
              -Only data for active devices is collected which means    
               that for some Subsystem IDs (SSIDs) all device data      
               variables in the PDB could be missing for some RMF III   
               MINTIME intervals.                                       
              -Cache Controller data is gathered by individual device   
               address.  There is no indication of which system in the  
               sysplex initiates a recorded event.  Therefore, the data 
               can be gathered on any system sharing the cached devices.
              -Avoid unnecessary high CPU utilization and duplicated    
               data by gathering cache activity data on only ONE system 
               per IBM documentation for either RMF Monitor I or RMF    
               Monitor III.                                             
              -Use the RMF Monitor I and RMF Monitor III parameter      
               NOCACHE to suppress cache data collection on all other   
               systems.                                                 
              -Use CACHE(ssid1,ssid2,..,ssidn) in RMF Monitor III to    
               collect data for only those Subsystems needed.  RMF      
               Monitor I does not support selection by SSID.            
              -Selection by Subsystem ID may also be needed if not all  
               subsystems are shared.  In this case cache data          
               collection will be needed on more than one system.       
              -Consult the section "Generalizing Parmlib Members" in the
               IBM RMF User's Guide for your z/OS level for a method to 
               control selection of which system records cache data.    
               Other approaches are certainly possible with system      
               automation tools.                                        
              -The best choice for a cache data collection system is one
               with high uptime that is not already CPU stressed.  z/OS 
               systems operating as z/VM guests will not record cache   
               data even if requested.                                  
                                                                        
              -All ASMRMFV messages that display a Julian date in the   
               format of YYYY.DDD are enhanced to show the date as      
               DDMMMYYYY and a 3 character day of the week.             
              -11 messages are updated to have the improved date        
               display:                                                 
               RMFV000I, RMFV001I, RMFV006I, RMFV008I, RMFV012I,        
               RMFV013I, RMFV023W, RMFV025I, RMFV026I, RMFV032E, and    
               RMFV034I.                                                
              -Message RMFV008I showed an incorrect creation date when  
               a non-VSAM data set was supplied in error for a RMF III  
               VSAM data set.  The creation date in this case will      
               not be shown.                                            
              -DSNAME= in the RMFV008I message is now abbreviated to    
               DSN= to conserve line space.                             
              -1ST VOL= in the RMFV008I message is now abbreviated to   
               VOL= to conserve line space. It continues to show the    
               first volume for a multi-volume file.                    
                                                                        
Change 31.272  Invalid SMF 101 Subtype 1 created from ASG TMON/DB2 had  
VMACDB2        INPUT EXCEEDED RECORD error that this change circumvents 
Dec 19, 2013   while the problem is investigated.  The triplets for the 
               QBAC and QTXK segments are reversed, and their count does
               not always match the count of QPAC segments.             
                                                                        
Change 31.271  Support for APAR OA43380 which adds CA*SPLITS and        
VMAC42         CI*SPLITS in TYPE42S1-S4 and TYPE42D1-D datasets:        
Dec 19, 2013    S1:   SMF42FSA SMF42FSB                                 
                S2:   SMF42FTA SMF42FTB                                 
                S3:   SMFA2FSA SMFA2FSA                                 
                S4:   SMFA2FTA SMFA2FTB                                 
                D1:   SMF42GTA SMF42GTB                                 
                D2:   SMF42GSA SMF42GSB                                 
                D3:   SMFA2GTA SMFA2GTB                                 
                D4:   SMFA2TSA SMFA2GSB                                 
                                                                        
Change 31.270  Cosmetic.  MXG Error Messages with 'ERROR:' starting in  
VMAC28         byte one of the output are counted by SAS and flagged as 
Dec 19, 2013   an ERROR on that page, and text printed in RED on the SAS
               log, but that was not my intention, and these members are
               corrected so that 'ERROR:' does NOT start in column one: 
                 VMAC28   VMAC102  VMAC110  VMAC113  VMACDB2            
                 VMACHURN VMACNMON VMACVMXA VMACXAM                     
               Most of the "actual" error conditions detected by MXG are
               printed 'MXGERROR: ' but there is a lack of consistency. 
   Thanks to MP Welch, Bank of America, USA.                            
                                                                        
Change 31.269 -If you specified "a small number" of IFCIDS, they weren't
READDB2        sorted into the output PDBOUT libname because of an      
Dec 19, 2013   incorrect compare for GT 1 that should have been GT 0.   
Dec 23, 2013   Probably caused by Change 31.128 (MXG 31.05).            
Dec 25, 2013  -If you ran ANALDB2R with PDB=SMF and PDBOUT= was NOT set 
               to PDB, a U1950 ABEND was generated by VGETOBS if the PDB
               libname did not exist in your SAS session.  Caused       
               by the PDB2225 macro variable default of PDB and ANALDB2R
               did not reset the value to the value of PDBOUT argument. 
              -Messages about datasets not being deleted were deleted.  
   Thanks to Paul Walters, Navy Federal Credit Union, USA.              
                                                                        
Change 31.268  These RMFINTRV variables should not have been formatted  
VMXGRMFI       as TIME12.2 since none are durations:                    
Dec 18, 2013     OTHRSWAP OTHRTRAN OTHREXCP OTHRWKST OTHRSERV OTHRPGIN  
                 TSO2SWAP TSO2TRAN TWO3SWAP TSO3TRAN TSO4SWAP TSO4TRAN  
                 TRIVTRAN TRIVSWAP                                      
               Those variables have been buried in &R72VAR for a long   
               time and it was in the TIME12.2 format statement.        
   Thanks to Robert Chavez, Florida Power and Light, USA.               
                                                                        
Change 31.267  Messages that there are 0 OBS or dataset was not found   
VGETOBS        are suppressed when dataset=_ALL_ is specified.          
Dec 18, 2013                                                            
                                                                        
Change 31.266  Documentation of MSU/SERVICE variables. To be expanded.  
VMAC7072      -In TYPE72GO dataset, MSU and Service units are the old   
Dec 18, 2013   and original "Hardware MSU based on SU_SEC/R723MADJ.     
Feb  3, 2016  -Variable SERVICE in TYPE72GO dataset is the sum of       
               these FIVE components                                    
                 CPUUNITS SRBUNITS MSOUNITS IOUNITS ZIPUNITS.           
               (some old MXG notes have only the first four listed but  
               ZIPUNITS have always been included in SERVICE).          
              -Variable MSU72 is CPUTM*SU_SEC/1E6, "Hardware MSU", which
               includes ALL of the recorded CPU times in the Service    
               Class 72s.  This is the amount of MSU that were consumed 
               by this Service Class/Reporting Class during this        
               interval, based on SU_SEC.                               
              -The MSU units in the TYPE70 MSU variables are "Software" 
               MSU based on the (smaller value) in CECSUSEC/SMF70CPA.   
               (because they are now used for "SOFTWARE PRICING").      
              -Current SMF70CPA=13,000 and SU_SEC=26,000 is an example. 
              -Text revised, Feb 3 2016: TYPE72GO variable MSUSOFT was  
               wrong, but was revised in Change 34.010 and does now     
               contain the Software MSU CECSUSEC/SMF70CPA based.        
                                                                        
Change 31.265  Variable STC13MRC='Y' was incorrect when STC13MNR='Y'    
VMACSTC        should have been have been set, and STC13MNR='Y' never   
Dec 17, 2013   was set; MXG tested 00/01 instead of 01/02 STC13RCI.     
   Thanks to Mike Jacques, BBand T, USA.                                
                                                                        
Change 31.264 -NMON data for Red Hat Linux has new Data Group metrics   
EXNMONDG       that create the new dataset                              
VMACNMON          DDDDDD   DATASET    DESCRIPTION                       
VMXGINIT          NMONDG   NMONDG     LINUX DATA GROUP METRICS          
Dec 17, 2013  -The BBBP Configuration Records have no text in common    
               with the BBBP records previously supported so the        
               NMONBBBPxxx datasets will not be populated at this time. 
               If you can identify which BBBP data is important, I will 
               update the MXG Support for those data.                   
              -Support for NFSCLIV4 record is supported with these new  
               variables created in NMONNFS dataset:                    
                 OPEN OPEN_CONF OPEN_NOAT OPEN_DGRD CLOSE SETATTR       
                 RENEW SETCLTID CONFIRM LOCK LOCKT LOCKU                
                 LOOKUP_ROOT RENAME                                     
                 LINK SYMLINK CREATE PATHCONF STATFS READLINK           
                 READDIR SERVER_CAPS DELEGRETURN GETACL SETACL          
                 FS_LOCATIONS                                           
   Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.     
                                                                        
Change 31.263 -ERROR.VMACTPMX. VARNAME=$INCLAI NOT FOUND because the MXG
VMACTPMX       code for tokenid=51467 was $INCLA, which is now corrected
Dec 17, 2013   to $INCLAI for the test; the variable INCLA is unchanged,
Dec 18, 2013   but now will be populated.                               
              -ERROR.VMACTPMX. VARNAME=$DBS_SD-bar NOT FOUND creates new
               variable DBS_SDBA in TYPETPMX dataset.                   
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 31.262 -ANALDB2R Account Detail report had some incorrect average
ANALDB2R       buffer calculations that could be repeated values. Values
Dec 16, 2013   impacted were Seq prefetch, list prefetch, dyn orefetch, 
Dec 18, 2013   asycnh reads, hpool writes, hpool reads,  hpool reads    
               failed.                                                  
              -If you separated the larger datasets like DB2ACCT or     
               DB2ACCTP into separate DDNAMES and used the DB2ACCT*     
               parameters to point to those LIBNAMES, ANALDB2R did not  
               find the datasets since it only looked in the LIBNAME    
               pointed to by the PDB= parameter.                        
   Thanks to Jim Lazowski, Northern Trust, USA.                         
                                                                        
Change 31.261  Support for DB2 IFCIDs 370 (OPEN TRACE DATASET) and 371  
EX102370       (CLOSE TRACE DATASET) creates T102S370 and T102S371 data 
EX102371       sets.                                                    
FORMATS                                                                 
IMAC102                                                                 
VMAC102                                                                 
VMXGINIT                                                                
Dec 13, 2013                                                            
   Thanks to Lori Masulis, Fidelity Systems, USA.                       
   Thanks to Rachel Holt, Fidelity Systems, USA.                        
                                                                        
Change 31.260  Variable HSMPLEX added to all reports and graphs and if  
ANALHSM        you are on SAS 9.3 or greater ODS GRAPHICS are used for  
Dec  8, 2013   the graphs. A line plot was substituted for the bar chart
               where AVG/MAX values by function are being graphed and   
               VMXGODSO/VMXGODSC were inserted to allow you to send the 
               output to HTML or PDF.                                   
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.259  Variable QWHSNIDIP='IP ADDRESS*FROM*QWHSNID' is added to 
VMACDB2        DB2ACCT, DB2ACCTB, DB2ACCTP, DB2ACCTG, DB2ACCTR datasets 
VMACDB2H       and is populated only for QWHCATYP=8 (DDF Connections).  
Dec  5, 2013   When the eight-byte text QWHSNID contains an IP address, 
Dec 15, 2013   eight EBCDIC text characters represent the four hex bytes
               ('A971896F' is 169.113.137.111)), but the VTAM NID must  
               start with an alphabetic character, so those IP addresses
               that start with digits 0 thru 9 for the first nybble, the
               value in QWHSNID starts with 'G' thru 'P'.  This encoding
               was found in a note about message DSNL030I.              
   Thanks to Alyona Bertneski, JPMorgan, USA.                           
                                                                        
Change 31.258 -Support for IFCID 359 INDEX PAGE SPLIT record populates  
VMAC102        the QW0359xx variables in existing T102S359 dataset.     
Dec  3, 2013      QW0359DB='DATA*BASE*ID'                               
Dec 12, 2013      QW0359FL='FLAGS'                                      
                  QW0359OB='INDEX*PAGE*SET*ID'                          
                  QW0359PG='SPLITTING*PAGE*NUMBER'                      
                  QW0359PT='PARTITION*NUMBER'                           
                  QW0359TE='TIMESTAMP*AT ENDING OF*SPLIT'               
                  QW0359TS='TIMESTAMP*AT BEGINNING*OF SPLIT'            
              -The new DB2 Statement ID variable is written to SMF as   
               either a 4-byte binary or an 8-byte character field that 
               are now formatted HEX8. for the numeric variables or are 
               now INPUT as $CHAR8. and formatted $HEX16. for character 
                 QW0172TZ QW0172H9 QW0172W9                             
                 QW0196W9 QW0196H9 QW1196H9 QW2196H9 .. QW8196W9.       
                 QW0173CS QW0317ID                                      
   Thanks to Rachel Holt, Fidelity Systems, USA.                        
   Thanks to Lori Masulis, Fidelity Systems, USA.                       
   Thanks to Paul Volpi, UHC, USA.                                      
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
Change 31.257 -INPUT STATEMENT EXCEEDED if TOKDANAM='UTYPE' was the last
VMAC80A        segment because MXG expected a 4-byte binary number but  
Dec  3, 2013   the field is a 1-byte EBCDIC &NUM1. field.               
              -New variables decoded and labeled with variable name:    
                TOKQUEST1 TOKQUEST2 TOKANS1 TOKANS2 TOKAD1 TOKAD2       
                TOKCOMPANY TOKCOUNTRY TOKFNAME TOKMNAME TOKLNAME        
                TOKSTATE TOKWTEL TOKZIPCODE                             
   Thanks to Phil Grasser, Norfolk Southern, USA.                       
                                                                        
Change 31.256  Cosmetic.  INPUT for QPACLENX GE 428 actually read in 452
VMACDB2        so the INPUT is split to read thru 428 and then thru 452.
Dec  2, 2013                                                            
                                                                        
Change 31.255  Variable R744MCPI in dataset TYPE74MO for SCM does not   
VMAC74         exist and was a "copy down" typo when that code block was
Dec  2, 2013   created; it is now deleted completely.                   
               See Change 33.155. SCM data is now in TYPE74ST dataset.  
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
Change 31.254  BVIR30 dataset was incorrect with VERSION 3 records.     
VMACBVIR                                                                
Nov 28, 2013                                                            
                                                                        
Change 31.253 -Change 30.078 corrected SMSGDHWM/SMSGCCUR for CICS/TS 4.1
VMAC110        and earlier but the change of multiplicand was still     
Nov 28, 2013   wrong for CICS/TS 4.2 and later.                         
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 31.252 -VMXGSUM.  If a variable was missing in a NORMx parameter,
VMXGSUM        a warning was issued pointing to a variable name but not 
ASUM72GO       to the specific NORMx parameter that was in error.  The  
Nov 25, 2013   warning message is now enhanced to contain the full text 
               of the NORMx parameter.                                  
              -ASUM72GO.  The DURATM variable was not in the SUM= list  
               which raised a warning about a missing variable in NORM3.
                                                                        
Change 31.251  MXG 31.08-9 FORMATS fails with BACKLEVEL WPS VERSION 2   
FORMATS        in statement in line 22864:                              
Nov 22, 2013    PICTURE MGXLDATE OTHER='%0m/%0d/%0Y %0H:%0M:%0S'        
Oct 10, 2014      (DATATYPE=DATETIME);                                  
               with "ERROR: Found "DATATYPE" when expecting )           
               because DATATYPE was not supported by WPS until their    
               Version 3.1 And MWRTDT format added in MXG 32.09 also    
               failed with WPS 2.05.  MGXLDATE was never used and so    
               it was removed.  MWRTDT is required by MOBWRK06 MOBILE   
               WORK Discount analysis to meet IBM's CSV file format.    
   Thanks to Ken Drody, State of Delaware, USA.                         
   Thanks to Kre Martin Torsvik, EVRY AS, NORWAY.                       
                                                                        
Change 31.250  A spurious MXGWARN when a libname had not been referenced
VGETOBS        led to a better way to identify TAPE data libraries and  
Nov 22, 2013   to enhance the elimination of tape mounts:               
                If the LIBNAME has never been referenced:               
                  First record is read as an INFILE and engine type is  
                  identified so the LIBNAME can be issued with the      
                  appropriate engine.  If this is a disk library it is  
                  NOT added to the list of DDs found on tape/sequential.
                If the DDNAME is on tape and SPINTAPE NE YES and DATASET
                  NE _ALL_, OBS count is set to one and no further      
                  processing is needed.                                 
                  If SPINTAPE=YES or DATASET=_ALL_:                     
                    All tape volumes are read to find all datasets and  
                    captured in MXGTABLES which is NOT deleted.         
                    If DATASET NE _ALL_, then also looks for this       
                    specific dataset in MXGTABLES, and will verify the  
                    dataset exists and determine an OBS count.          
                  Else if SPINTAPE NE YES and DATASET NE _ALL_ and      
                  the dataset is on disk, looks for the specific        
                  dataset without using MXGTABLES. This is also the     
                  behavior on ASCII as LIBNAMEs must have been          
                  identified to SAS with a LIBNAME statement.           
               If a dataset does not exist or has 0 OBS the calling     
               program may give you a message indicating the issue      
               and then will die gracefully.  The results are in        
               global macro variables VGETDSN and VGETOBS.  If          
               VGETDSN is empty, the dataset did not exist.             
   Thanks to MP Welch, Bank of America, USA.                            
                                                                        
Change 31.249  These datetime variables were INPUT but not formatted or 
VMAC110        not LENGTH'd or were not kept, but no one had noticed,   
Nov 18, 2013   except for the MXG QA tests, so this is cosmetic.        
               VMAC110 : DS7LSTRT DS7START                              
               VMAC74  : SMF74GIE                                       
               VMAC75  : SMF75GIE                                       
               VMAC76  : SMF76GIE                                       
               VMAC77  : SMF77GIE                                       
               VMACBBMQ: CHLTOD0                                        
               VMACCIMS: IMSSTCK                                        
               VMACIMS : SYNCSTCK                                       
               VMACIMSA: STSTARTTOD SYNCSTCK TPCPCLCK                   
               VMACOMCI: ESFTIME                                        
               VMACOPC : MT0OCCTOK                                      
               VMACROSC: TIME     ==> Renamed to TEMPCKTI not KEPT      
               VMACSMF : TESTTIME ==> Renamed to SMFTIME                
               VMACSYSV: RTCLOCK RTCSTART SDCRETOD SCDRSTOD             
               VMACTMMQ: LMRKTOD2                                       
               VMACTMNT: REND     ==> Renamed to RENDTIME               
               VMACTMO2: T2INEDTS T2INSDTS TMMDXSTK TXINEDTS TXINSDTS   
               VMACTMV2: IPLTIME                                        
               VMACVMXA: PLSFOB1T PLSFOBTM                              
               VMACXPSM: OUTGTIME                                       
                                                                        
Change 31.248  If you specified DATES= any of the "one word" tokens like
ANALGRID       LASTWEEK, etc., a logic error occurred because &TO was a 
Nov 17, 2013   null value.  Now, FROM=INPUT("&FROM",?? DATE.) is used so
               a missing value results instead of the error.            
   Thanks to Andrew Woods, Interactive Data, ENGLAND.                   
                                                                        
Change 31.247  ERROR: WORK.MXGTABLES NOT FOUND occurs if PROC ANYTHING  
VGETOBS        without a DATA= argument was executed after %VGETOBS was 
Nov 15, 2013   executed, because in the absence of a DATA= argument, SAS
               uses the &SYSLAST macro variable, and VGETOBS created and
               then deleted the WORK.MXGTABLES dataset, but &SYSLAST is 
               not changed when that last-created dataset is deleted!   
               (But even if SAS had set &SYSLAST to a _NULL_ value, the 
               PROC ANYTHING would still fail with a NO DATASET FOUND.) 
               The MXGTABLES dataset, added in 31.06, is created and is 
               normally deleted by %VGETOBS, an internal utility used in
               many (52) MXG members, primarily to determine if a SAS   
               dataset has any obs (but also used to avoid tape mounts  
               as documented in Change 31.212, and it is NOT deleted if 
               SPINTAPE=YES it set).  Now that this exposure has been   
               understood, VGETOBS is revised to store &SYSLAST at entry
               and that dataset is restored in &SYSLAST at exit.  Had we
               been slightly smarter, this change should have been made 
               to VGETOBS instead of changing ANALHSM in Change 31.211, 
               which also failed due to the absence of a DATA= argument 
               after VGETOBS had been executed there!  Note that there  
               is NOTHING wrong in a PROC without a DATA= argument, as  
               long as the &SYSLAST dataset actually exists!            
              -Although undocumented, setting automatic macro variable  
               &SYSLAST also sets the automatic macro variable &SYSDSN  
               and the system option _LAST_.                            
   Thanks to Otto Burgess, ATPCO, USA.                                  
                                                                        
Change 31.246  The data used for testing had only a single CEC so the by
GRAFCEC        statement that included CECSER had no problem.  But when 
Nov 13, 2013   data from multiple CECs was included a not sorted error  
               occurred because CECSER was not in the sort BY list.     
                                                                        
Change 31.245  Support for APAR PM90886 adds these DB2ACCT variables for
VMACDB2        IBM DB2 Analytics Accelerator (IDAA)/NETEZZA modelling:  
VMAC102          QWAC_ACCEL_ELIG_ELA='ACCEL*ELIGIBLE*ELAPSED*TIME'      
Nov 13, 2013     QWAC_ACCEL_ELIG_CP ='ACCEL*ELIGIBLE*CP CPU*TIME'       
Dec 13, 2013     QWAC_ACCEL_ELIG_SE ='ACCEL*ELIGIBLE*ZIIP CPU*TIME'     
Dec 16, 2013  -IBM did confirm that the new fields are only in IFCID=3  
Dec 18, 2013   (ID 101 Subtype 0) are not in IFCID=369 (ID 100 SUBTYPE  
               5) DB2STAT5 data which also contains the QWAC DSECT.     
              -Variable QWP4ACMO='ACCELMODEL*PARAMETER*VALUE' is        
               added to T102S106 dataset.                               
              -Dec 13: The QWAC DSECT was received and code revised but 
               no data available for validation.                        
              -Dec 13: The Q8ST DSECT was revisited and Q8STQUEW was not
               input causing many of the Q8STxxxx variables in DB2STATS 
               to be incorrect.                                         
              -Dec 16: IBM Support confirmed the values in variables    
               Q8STCCPU and Q8STWCPU are percentages times 100 so they  
               are now correctly input with two decimal places.         
              -Dec 18: The new fields in DB2ACCT were validated.        
   Thanks to Tim King, Blue Cross Blue Shield of South Carolina, USA.   
   Thanks to Scott Chapman, AEP, USA.                                   
   Thanks to Clinton Moore, Verizon, USA.                               
                                                                        
====== Changes thru 31.244 were in MXG 31.08 dated Nov 12, 2013=========
                                                                        
Change 31.244  TYPE21 (a/k/a PDB.TAPES) variables BYTEREAD and BYTEWRIT 
VMAC21         were wrong or missing for DEVICE=3590 when SMF21MFV was  
Nov 12, 2013   NOT on (i.e, when SMF21MCR/MCW/MDR/MDW were NOT valid),  
               due to incorrect logic that did not use SMF21BRN/SMF21BWN
               (SMF21NCT was ON, which applies ONLY to 3590 devices).   
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.               
                                                                        
Change 31.243  Change 31.186 (MXG 31.07) inserted LENGTH DEFAULT=&MXGLEN
ASUM113        but the 113 variables must be stored in LENGTH DEFAULT=8 
Nov 12, 2013   because they are large numerics that are then DELTA'ed;  
               those defaults are now 8.                                
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.242  Reserved Change Number                                   
Nov 12, 2013                                                            
                                                                        
Change 31.241  Support for CICS User field CMODNAME,CMODHEAD=USTHRD00.  
IMACICVF                                                                
UTILEXCL                                                                
VMAC110                                                                 
Nov 12, 2013                                                            
                                                                        
=====Changes thru 31.240 were in FIRST MXG 31.08 dated Nov 12, 2013=====
                                                                        
Change 31.240  Support for DB2 V11.1 (COMPATIBLE). MXG 30.30+ TOLERATES 
VMACDB2        V11 with no EXECUTION error, but MXG 31.04 is REQUIRED to
VMAC102        correct QLSTxxxx variables in DB2STATS for V10 and V11.  
Nov 11, 2013  -All new V11 fields were added AT THE END OF SEGMENTS so  
               MXG Version 30.30+ tolerates V11.1, but new variables are
               not output.                                              
              -Dataset PDB.DB2STATS now correctly contains all of the   
               IFCID=225 variables, and (as previously documented but   
               not actually implemented) dataset DB2ST225 will always   
               have zero observations, when TYPEDB2/BUILDPDB is used.   
                 Unintentionally, DB2 V10 IFCID=225 data was output in  
                 DB2ST225 dataset, and DB2 V9 IFCID=225 data output in  
                 DB2STAT4 dataset. Fortunately, DB2ST225 and DB2STAT4   
                 were then combined into PDB.DB2STATS, so there was no  
                 actual error, as long as you use PDB.DB2STATS dataset. 
                 Now, V9-V11 IFCID=225 are output in DB2STAT4 and the   
                 DB2STAT4 KEEP= list contains all QW0225xx variables.   
              -If you still have archaic DB2 V8 with IFCID=225 records, 
               you will need to use %READDB2(IFCIDS=STATS) to create the
               WORK.T102S225 dataset for V8 and DB2STAT4 for V9-V11 so  
               all 225s from all versions are output into PDB.DB2STATS. 
              -Dataset DB2ACCT new variables in DB2 V11.1:              
                 QWACATCT='ACCUMULATED*AUTONOMOUS*WAIT*COUNT'           
                 QWACATRY='AUTONOMOUT*ROLLUPS*IN THIS*RECORD?'          
                 QWACATWT='ACCUMULATED*AUTONOMOUS*WAIT*TIME*/           
                 QWACPQCT='WAITS*FOR*PARALLEL*SYNCH'                    
                 QWACPQRY='RECORD*CONTAINS*PARALLEL*QUERY*ROLLUP?'      
                 QWACPQWT='WAIT TIME*FOR PARALLEL*SYNCH*/               
                 QXALTMP   ='ALTER*MASK*OR*PERMISSION'                  
                 QXCREMP   ='CREATE*MASKS*OR*PERMISSION'                
                 QXCRTSV   ='CREATE VARIABLE'                           
                 QXDEGAT   ='PARALLEL*FALLBACKS*SEQ MODE*AUTONOMOUS'    
                 QXDRPMP   ='DROP*MASK*OR*PERMISSION'                   
                 QXDRPSV   ='DROP VARIABLE'                             
                 QXHJINCS  ='RID APPEND*HYBRID*JOIN*NO RIDPOOL'         
                 QXHJINCT  ='RID APPEND*HYBRID*JOIN*RIDS EXCEEDED'      
                 QXMAXESTIDG='MAX PARALLEL*GROUP*ESTIMATED*DEGREE'      
                 QXMAXPLANDG='MAX PARALLEL*GROUP*PLANNED*DEGREE'        
                 QXN1093A  ='SERVICEABILITY*QXN1093A'                   
                 QXN1093B  ='SERVICEABILITY*QXN1093B'                   
                 QXPAROPT   ='PARALLEL*DEGENERATED*OPTIMIZATION'        
                 QXPFMAXUG ='SERVICEABILITY*QXPFMAXUG'                  
                 QXPFMAXUM ='SERVICEABILITY*QXPFMAXUM'                  
                 QXPFSENUM ='SERVICEABILITY*QXPFSENUM'                  
                 QXPFSENUMG='SERVICEABILITY*QXPFSLNUMG'                 
                 QXPFSLNUM ='SERVICEABILITY*QXPFSLNUM'                  
                 QXRSMIAP  ='RID LIST*RETRIEVAL*SKIPPED'                
                 QXSISTOR  ='SPARSE*INDEX*DISABLES*INSUFF STORAGE'      
                 QXSIWF    ='SPARSE*INDEX BUILDS*PHYS WORK FILE'        
                 QXSTARRAY_EXPANSIONS='ARRAY*VARIABLE*EXPANDS*GT 32K'   
                 QXSTODGNGRP='PARALLEL*DEGENERATE*TO SEQ*SYSTEM STRESS' 
                 QXSTOREDGRP='PARALLEL*REDUCED*SYSTEM*STRESS'           
                 QXWFRIDS  ='RID OVFLO*NO RIDPOOL*STORAGE'              
                 QXWFRIDT  ='RID OVFLO*RIDS EXCEED*INTERNAL LIMIT'      
                 QTGAFCNT  ='FALSE*LOCK*UNLOCK*CONTENTIONS'             
              -Dataset DB2ACCTP new variables in DB2 V11.1:             
                 QPACAACW='WAIT*DURATION*ACCELERATOR'                   
                 QPAC_PQS_WAIT='WAIT*DURATION*PAR QUERY*SYNC'           
                 QPACAACC='WAIT*TRACES*ACCELERATOR'                     
                 QPAC_PQS_COUNT='WAIT*DURATION*PAR QUERY*SYNC'          
              -Dataset DB2ACCTW now outputs all segments in each record;
               previously, only the first segment was output; there were
               no new variables added by V11; this was discovered when  
               examining possible new variables!                        
              -Dataset DB2STATS (from Subtype 0) new variables:         
                 QWSDLRG ='HIGH USED*RBA ADDRESS*OF LOG'                
                 QSST_RSMAX_WARN='TIMES*REALSTORAGE_MAX*WARNING*REACHED'
                 QSST_P64DISNUM='64-BIT*POOL*CONTRACTS'                 
                 QSST_P64DISBLK='64-BIT POOL BLOCKS*REQUIRED*DISCARD    
                 QSST_P64DISPGS='64-BIT POOL PAGES DISCARDED'           
                 QSST_CONTSTOR_NUM=31-BIT*POOLS*CONTRACTED*CONTSTOR'    
                 QDSTNQMN='MIN QUEUED*DURATION*THIS PERIOD'             
                 QDSTNQMX='MAX QUEUED*DURATION*THIS PERIOD'             
                 QDSTNQAV='AVG QUEUED*DURATION*THIS PERIOD'             
                 QDSTNCCW='QUEUED*CONNS*SOCKETS*CLIOSED*MAX WAIT'       
              -Dataset DB2STATB (from Subtype 1) new variables:         
                 (where n=1,2,3,4 for the four groups of buffer vars)   
                 QBnTSMIN='MIN*BUFFERS*ON SLRU'                         
                 QBnTSMAX='MAX*BUFFERS*ON SLRU'                         
                 QBnTHST ='TIMES WHEN*LEN OF*SLRU=VPSEQT'               
                 QBnTRHS ='TIMES*RANDOM*GETPAGE*BUFFER HIT'             
              -Dataset DB2STATS (from Subtype 0) INPUT but NOT KEPT     
                 QJSTSPNN     &PIB.4.                                   
                 QJSTSPNI     &PIB.8.                                   
                 QJSTCLID     &PIB.4.                                   
                 QJSTCL2    $EBCDIC2.                                   
                 QJSTCLSN  $EBCDIC10.                                   
                 QJSTAVAL $EBCDIC128.                                   
                 because all are documented as Serviceability without   
                 any labels. They could be output using _KDB2ST0 macro. 
              -Dataset DB2STATS (from Subtype 1) new variables:         
                 QISTI2AC='NON-SORT*DM*IN MEM*WKFILE*ACTIVE'            
                 QISTI2AH='NON-SORT*DM*IN MEM*WKFILE*MAXIMUM'           
                 QISTI2OF='TYPE-2*INMEM WFS*OVERFLOWS'                  
                 QISTIMNC='WF NOT*CREATED*DUE TO*CRITICAL*STORAGE'      
                 QISTASTH='WFDB*AGENT USAGE*ALERT*THRESHOLD'            
                 QISTSSTH='WFDB*SPACE USAGE*ALERT*THRESHOLD'            
                 QISTAMXU='WFDB*MAX STORAGE*USED BY*ANY THREAD'         
                 QISTWSTG='CURR WFDB*STORAGE*CONFIG*ALL TBLSP'          
                 QISTDGTTSTG='WFDB*DGTT*PREFERRED*STORAGE'              
                 QISTDGTTCTO='CURR*ALL AGENT*TOT STORAGE'               
                 QISTDGTTMXU='MAX*ALL AGENT*TOT STORAGE'                
                 QISTWFSTG='TOT*PREFER*STORAGE*CONFIG*IN WFDB'          
                 QISTWFCTO='CURR*TOT*STORAGE*ALL WF*ALL AGENTS'         
                 QISTWFMXU='MAX TOT*STORAGE*ALL WF*ALL AGENTS'          
                 QISEKSPA8='STORAGE*ALLOCATED*SHAREABLE*SQL'            
              -Dataset DB2STATS (from Subtype 4) new variables:         
                 QW0225_LMWRITE_REAL='LM*WRITE*BUFFER*BYTES*REAL'       
                 QW0225_LMWRITE_AUX ='LM*WRITE*AUX?*RESERVED'           
                 QW0225_LMCTRL_REAL ='LM*WRITE*CONTROL*BYTES*REAL'      
                 QW0225_LMCTRL_AUX  ='LM*WRITE*CONTROL*BYTES*AUX'       
                 QW0225SC8='ALLOC*SHAREABLE*STORAGE*DYNAMIC SQL'        
                 QW0225LS8='REQ*SHAREABLE*STORAGE*DYNAMIC SQL'          
                 QW0225SX8='ALLOC*SHAREABLER*STORAGE*STATIC SQL'        
                 QW0225HS8='HWM*REQ*SHAREABLE*STORAGE*DYNAMIC SQL'      
              -Dataset T102S106 new variable, added back in DB2 V10:    
                 QWPBIMTZ='IMPLICIT*TIME*ZONE'                          
                  9999999=CURRENT                                       
                 -9999999=SESSION                                       
                  Other values, -779 to +840 represent -12:59 to +14:00 
              -Only these other ID=102 IFCIDs have been data-verified;  
               none were changed: 105, 199, 254, 261.  Other IFCIDs for 
               V11 will need actual SMF data for update/validation.     
   Thanks to Harald Seifert, HUK-COBURG, GERMANY.                       
                                                                        
Change 31.239  Values for MG073FE format values 07x,08x,11x,12x and 13x 
FORMATS        were corrected:                                          
Nov  7, 2013      07X='07X:FEX8 AUTO@2GBPS'                             
                  08X='08X:FEX8 AUTO@4GBPS'                             
                  11X='11X:FE8XS AUTO@2GBPS'                            
                  12X='12X:FEX8S AUTO@4GBPS'                            
                  13X='13X:FEX8S OP@8GBPS'                              
   Thanks to Pat Sheehan, FIS Technology.                               
   Thanks to Kenneth Thornbrough, FIS Technology, USA                   
                                                                        
Change 31.238  Variable QAPLTFM (PLATFORM) added to TMMQQAA dataset.    
VMACTMMQ                                                                
Nov  7, 2013                                                            
                                                                        
Change 31.237  The PCTIFLBY in datasets ASUMCELP and ASUMCEC incorrectly
VMXG70PR       used the sum of IFLs allocated to all LPARS, which makes 
Nov  6, 2013   no sense for these CEC-level datasets.  It is corrected  
               to use the number of installed IFLs, NRIFLCPU, which is  
               also now stored in the count variables IFLCPUS/LPARCPUS. 
   Thanks to Julian Smailes, Experian, ENGLAND.                         
                                                                        
Change 31.236  DB2 Trace IFCID=196 now outputs sets of variables for up 
VMAC102        to nine lock holders/waiters.                            
Nov  6, 2013                                                            
   Thanks to Harald Seifert, Huk-Coburg, GERMANY.                       
                                                                        
Change 31.235  REPLACED MAR 27, 2014:  See Change 32.073 which supports 
VMACSMF        reading from //SMF for VBS dumped data and/or //LOGGER.  
VMXGINIT       Original change text:                                    
Nov 12, 2013   SMF Logstream DATA MIGHT be readable directly by MXG with
                 %LET READLSMF=0;   in your //SYSIN.                    
               which:                                                   
                Changes the DCB for INFILE SMF to VB,32756,32760 inside 
                the _SMF macro that is defined in VMACSMF.              
                  (Reading with VBS caused an IEC141I 013-A8 ABEND),    
                and the value in READLSMF is used for OFFSMF.           
                (This was coded when I thought perhaps OFFSMF=4 would   
                be required for the LOGGER, which is required to read   
                VSAM, but OFFSMF=0 with VB appear so far to work fine.) 
              -The SMF DD needs SUBSYS=(LOGR,IFASEXIT). The DCB on the  
               SMF DD is unimportant since what is set in _SMF is used. 
               Unfortunately, unlike VSAM that can be detected so the   
               normal MXG program reads either VSAM or BSAM dumped SMF  
               data, there is no way to detect the input is Logstream   
               Data, so you must use %LET READLSMF=0; to try to read!   
              -If you test this technique, please protect your job with 
               a TIME= parameter to ABEND if a CPU Loop occurs. An early
               test did appear to CPU loop, but that case has NOT been  
               repeated in any subsequent tests.                        
              -Reading the LOGGER file with either RECFM=VB or RECFM=U  
               and using INPUT;LIST; produces a SAS hex dump that does  
               NOT show a BDW nor RDW and it is possible that using     
               U or VB might be equally functional.  Please report any  
               success OR FAILUREs to support at mxg.com and this change
               text will be updated if more is discovered.              
              -A note posted to IBM-MAIN after MXG 31.08 was GA states: 
                We do not ship an official mapping macro for the SMF    
                buffers returned by a log stream browse.  The intended  
                interface to get SMF records in log streams is IFASMFDL.
                You can however IXGBRWSE the log stream and see the     
                buffers are returned in a consistent format, but this is
                of course not supported by IBM.                         
                In some cases the data returned by the log stream browse
                has to be manipulated by SMF before the user sees it,   
                such as if zEDC compression is turned on in z/OS 2.1.   
   Thanks to Seighart Seith, FICUCIA, GERMANY.                          
                                                                        
Change 31.234  Final semicolon for one of the several LIBNAMEs was not  
VGETDDS        generated, but only if GDGs were involved.  &EXOUT was   
Nov  4, 2013   not always initialized; it is used to keep track of DDs  
               that were found in EXTFILES that may or may not be SAS   
               data libraries; if at the end it is non-zero length a    
               warning is produced showing the DDs that were found that 
               way.  &INCR, used only for GDG, was not used in two %DOs.
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.233  Correction for IMF 4.2 thru 5.1 WRONG VALUES IN CIMSTRAN.
VMACCIMS       MXG code was misaligned, impacting these newer variables:
Nov  4, 2013     TRNEWLMC TRNOTCON TRNOTSTC TRNOTSOC TRNOTPRT TRNOTIP   
                 TRNOTCLN TRNOTUSR TRNOTSTF TRNOTSYF TRNOTSLF TRNOTCLF  
                 TRNOTSCF TRNOTCOR TRNOTCLP TRNMQMID                    
               Also TRNOTCON is now formatted DATETIME21.2 and variables
               TRNOTUSR, TRNOTSTC, TRNOTCLN, and TRNOTMAM are EBCDIC and
               not $HEX formatted.                                      
              -This update also required VMXGINIT from 31.08 to support 
               &IMFMQ that was added by Change 31.206.                  
   Thanks to Jan Tielemans, KBC, BELGIUM.                               
                                                                        
Change 31.232  ZRBDVT observations with DVTSAMPA=0 but non-zero ACTIVITY
EXZRBDVT       in EXZRBDVT's definition were not output; these variables
VMACRMFV        CONNTM PENDTM DISCTM DVBUSYTM CUBUSYTM SWPODLTM were set
Nov  3, 2013   to a missing value when DVTSAMPA=0, but some, plus CMRTM 
               were found to be non-zero even with DVTSAMPA=0.  Now they
               are always calculated, and all are included in ACTIVITY  
               so observations are output when ANY are non-zero. So, how
               can there be activity with DVTSAMPA=0? All cases observed
               were for TAPE devices and all were the last observation  
               for a VOLSER; some variables (CONNTM, DISCTM) were almost
               equal to the DURATM.  Presumably, this is activity for   
               the dismount of a VOLSER.  This condition was discovered 
               when the new ASMRMFV DVTNOZEROIO option (Change 31.230)  
               wrote 607 records (of 1,932,611) that were not output by 
               the ACTIVITY test in EXZRBDVT.                           
              -A cosmetic change was made in VMACRMFV so the ZRBxxxx    
               datasets are created in alphabetical order to make it    
               is easier to find how many obs were created in each.     
                                                                        
Change 31.231  $MGSMFID format now decodes SMF ID=28 & ID=119 subtypes. 
FORMATS                                                                 
Nov  2, 2013                                                            
   Thanks to MP Welch, Bank of America, USA.                            
                                                                        
Change 31.230 -RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.    
ADOCRMFV      -Enhanced DVT table filtering added as discussed below.   
ASMRMFV       -New parameters ZEROIO/NOZEROIO are added and are only    
Nov  3, 2013   applicable to RMF Monitor III DVT processing by ASMRMFV. 
Nov  7, 2013  -Alias for ZEROIO is ZIO and the aliases for NOZEROIO are 
               NOZIO or NZIO.  The default is NOZEROIO.                 
              -ZEROIO specifies output of all volume entries from the   
               DVT table to the RMFBSAM file regardless of I/O activity.
               This was the ASMRMFV behavior in prior versions.         
              -NOZEROIO specifies output of only volume entries from the
               DVT table to the RMFBSAM file that have I/O activity.    
               This is new default ASMRMFV behavior with this version.  
               THIS CHANGED THE ZRBDVT SIZE FROM over 66,666 cyl to less
               than 14,000. Note that we also recommend that ASMRMFV use
                PARM='NOSHD,NORED' to reduce the output size, and if you
               are not planning on detail analysis of wait types, NOUWD 
               can be added for further space reduction.                
              -DSNTYPE=LARGE is now supported for the required RMFBSAM  
               output file as well as the optional RMFFILT and RMFSKIP  
               files                                                    
              -A DVT volume entry in a MINTIME interval is considered to
               HAVE I/O activity if ANY of the following I/O measures   
               are NON-ZERO using the DVT fields and calculations shown:
                 * Connect Time                      (DVTCOTIL-DVTCOTIF)
                 * Pend Time                         (DVTPETIL-DVTPETIF)
                 * Disconnect Time                   (DVTDISIL-DVTDISIF)
                 * I/O Queue Length                  (DVTIOQLC)         
                 * Accumulated I/O Instruction Count (DVTSAMPA)         
                 * Initial Command Response Time     (DVTCMRIL-DVTCMRIF)
              -Stated another way, if all of these I/O measures are zero
               for a DVT volume entry and NOZEROIO is in effect the     
               entry is NOT output to the RMFBSAM file.                 
              -During testing there was about a 93% reduction in DVT    
               output record volume with NOZEROIO in effect which also  
               improves performance during the PDB build.  This may not 
               be typical and your results may vary.                    
              -A second new filtering parameter only applicable to RMF  
               Monitor III DVT table processing is                      
               DEVTYPE=ALL/DASD/TAPE.                                   
              -Aliases are DEVT= and DT=.  The default is DEVTYPE=ALL   
               which provides the same behavior as earlier ASMRMFV      
               versions.                                                
              -DEVTYPE=ALL specifies that all DVT volume entries        
               regardless of device type are output to the RMFBSAM file.
              -DEVTYPE=DASD specifies that only DVT volume entries for  
               disk devices are output to the RMFBSAM file.  This       
               setting may be relevant for users only interested in disk
               analysis from their PDB.  Abbreviations for the DASD     
               value are DAS, DA, or D.                                 
              -DEVTYPE=TAPE specifies that only DVT volume entries for  
               tape devices are output to the RMFBSAM file.             
               Abbreviations for the TAPE value are TAP, TA, or T.      
              -DEVTYPE=DASD or DEVTYPE=TAPE may be used together with   
               NOZEROIO.  In this case device type filtering occurs     
               before any zero I/O filtering.                           
              -If both DEVTYPE=DASD and DEVTYPE=TAPE are specified only 
               the last occurrence takes effect.                        
              -Enhancement for the Direct Method of running ASMRMFV is  
               discussed below.                                         
              -A new keyword MAXDSNAMES= is provided to allow user      
               specification of the number of entries in the dsname     
               table to contain INDSNAME= patterns when the Direct      
               Method is used with ASMRMFV.  Aliases for MAXDSNAME= are 
               MAXDSNAME=, MAXDSN=, or MAXDS=.                          
              -Prior to the addition of MAXDSNAMES= the only way to     
               change dsname table size was by a source change to       
               ASMRMFV followed by a re-assembly and re-link.  The      
               dsname table was integrated as part of the program but   
               now resides in a separate memory area.                   
              -MAXDSNAMES=nnnn specifies the number of entries to be    
               allocated in the dsname table.  nnnn is an integer       
               ranging from 1 to 9999.  The default is MAXDSNAMES=256.  
               Each dsname entry requires 44 bytes.                     
              -While MAXDSNAMES=9999 is the maximum value supported by  
               ASMRMFV, in reality a realistic value is the maximum     
               number of TIOT entries supported by z/OS for single unit 
               DD statements.                                           
              -Initial ASMRMFV RMFV001I messages that show the current  
               execution environment are enhanced to show the TIOT SIZE 
               as defined in the ALLOCxx member in PARMLIB (shown as    
               TIOT SIZE=nnK), the maximum number of single unit DD     
               statements possible with that TIOT size (shown as        
               MAXDD=nnnn), and the number of DD statements used at the 
               start of ASMRMFV execution (shown as USEDD=nnnn).        
              -The actual maximum number of entries allowed for         
               MAXDSNAMES=nnnn is the value for MAXDD= less the value   
               for USEDD=.  If MAXDSNAMES=nnnn exceeds this value it is 
               set instead to the result of MAXDD - USEDD.              
              -MAXDSNAMES=MAX may be specified instead and the result is
               the number of dsname entries calculated as just described
               above.                                                   
              -NOTE: If MAXDSNAMES=nnnn or MAXDSNAMES=MAX is specified, 
               it MUST appear before ANY INDSNAME= parameters appear.   
               The first INDSNAME= option triggers the allocation of the
               dsname table and the number of entries cannot then be set
               later.                                                   
              -New message RMFV038I appears when a dsname table is      
               allocated showing the number of dsname entries and size  
               in bytes.                                                
              -New second message RMFV038I appears when a dsname table  
               is freed or exhausted showing the number of entries      
               available/used and the percentage used.                  
              -A second 32K output buffer used for filtering only has   
               been added.  Any tables written to the optional RMFFILT  
               DD will be blocked just as if they were written to       
               RMFBSAM.                                                 
              -NOZEROASI and NOZERODVT options were not always properly 
               shown in the RMFV037I options list message.              
              -Messages RMFV006I for filters and RMFV037I for options   
               are updated to show the new NOZEROIO and DEVTYPE=        
               parameters.                                              
              -Message RMFV007S had an incorrect value for Reason Code  
               when a GETMAIN, FREEMAIN, or DLVRP service error         
               occurred.  These services do not issue a Reason Code     
               (only a Return Code) so this field is set to blanks in   
               these cases.                                             
              -Fixed a S0C4 Abend when the FROMDATE= value exceeded the 
               TODATE= value.  ASMRMFV was attempting to read past the  
               SYSIN end of file when it should have terminated parm    
               processing.  The same issue could occur if FROMTIME=     
               exceeded TOTIME= where FROMDATE= and TODATE= were the    
               same date.                                               
              -ASMRMFV now supports keywords up to 11 characters in     
               length for future development.                           
              -NOTE: The prior suggestion for initial setting of ASMRMFV
               parameters for new users was PARM='NODVT'.  However, now 
               that a large percentage of DVT volume entries with zero  
               I/O activity can be filtered out with NOZEROIO by        
               default, that suggestion is changing.                    
              -Instead use PARM='NOSHD,NORED' in JCL (or NOSHD NORED in 
               SYSIN).  The MXG distributed EXZRBSHD and EXZRBRED output
               exits for VMACRMFV suppress the respective SAS data sets 
               from being created later in the PDB build because they   
               contain only control data not useful for analysis.       
               Excluding these tables in ASMRMFV processing will reduce 
               PDB build overhead by not creating SHD and RED table     
               output in the RMFBSAM file in the first place.           
              -NOTE: If you do not plan to develop your own USE/WAIT    
               analysis by type of WAIT, you can also use add NOUWD to  
               the PARM=  or SYSIN file to further reduce PDB build     
               overhead.                                                
              -The ASMRMFV source prologue as well as the ADOCRMFV      
               documentation member are updated appropriately.          
              -REQUIREMENT: In order to receive these improvements the  
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.        
   Thanks to Peter Gray, HP Australia, for the DSNTYPE=LARGE suggestion.
                                                                        
Change 31.229 -Documentation.  Regarding the inconsistent interval data 
VMACXAM        DURATION (seconds) mentioned, contact VELOCITY SOFTWARE  
Oct 25, 2013   for a band-aid "fix" with your zWRITE data-collection    
               script.  Explain that you want to see consistent         
               15-minute interval data for the entire 24-hour period.   
               This would be akin to the IBM RMF SYNC(59M|00M) option.  
              -Also, you want to be up-to-date on VELOCITY zWRITE/zVPS  
               maintenance, that being at least PROD4142 to address some
               instances when not all data was being flushed from the   
               in-memory buffers at zWRITE data-close (typically        
               end-of-day) time.                                        
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.228  IMS zIIP CPU time is created in IMF CIMSTRAN dataset as  
VMACCIMS       CPUZIPTM=TRXZTCPU-TRXZONCP;                              
Oct 25, 2013                                                            
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.227  These report members failed after the default argument   
ANALAVAI       PDB= was changed to &PDBMXG, which fails due to timing of
ANALBLSR       macro variable resolution. This example shows the problem
ANAL72GO       and that a direct circumvention requires THREE periods to
Oct 23, 2013   properly resolve to PDB.TYPE72GO:                        
Nov 12, 2013      %MACRO TESTIT(PDB=&PDBMXG);                           
                    %LET A=&PDB..TYPE72go;                              
                    %LET B=&PDB...TYPE72go;                             
                    %PUT A=&A;                                          
                    %PUT B=&B;                                          
                  %MEND TESTIT;                                         
                  %TESTIT;RUN;                                          
               Why only these three, when MANY of the %MACRO members in 
               MXG have the same syntax?  Because all of the others have
               a %LET PDB=%UPCASE(&PDB); statement after the %MACRO, and
               that (accidentally?) circumvents the macro timing, so if 
               these three had been properly created with the %UPCASE,  
               this peculiarity would not have been observed.           
              -ODS Graphics likes to override time formats with DATETIME
               formats.  YAXIS statement inserted to force it to use    
               the format as specified in the data.  Nov 12 update.     
                                                                        
Change 31.226  Support for Alebra Parallel Data Mover USER SMF record   
EXTYPDM        Performance Record creates TYPEPDM dataset:              
IMACPDM          dddddd   Dataset   Description                         
TYPEPDM           TYPDM   TYPEPDM   Alebra PARALLEL DATA MOVER          
TYPSPDM                                                                 
TESSUSR1                                                                
VMACPDM                                                                 
VMXGINIT                                                                
Oct 23, 2013                                                            
                                                                        
Change 31.225  Support for Emtex JESConnect product's SMF Performance   
EXTYJESC       Record creates TYPEJESC dataset:                         
IMACJESC         dddddd   Dataset   Description                         
TYPEJESC         TYJESC   TYPEJESC  JES2 CONNECT                        
TYPSJESC      -VMXGIPV4 is created to convert IPV4 $CHAR4 fields into   
TESSUSR1       dotted IPV4 text IP Address, similar to VMXGIPV6.        
VMACJESC                                                                
VMXGIPV4                                                                
VMXGINIT                                                                
Oct 23, 2013                                                            
   Thanks to Larry Stahl, IBM Global Services, USA.                     
                                                                        
Change 31.224  WPS Version 3.0 QA tests found these incompatibilities:  
ANAL80A       -INFILE operand TERMSTR, set in macro variable &MXGCRLF to
ANALAVAL       CR/CRLF/LF for ASCII in VMXGINIT, to define the end of   
ANALPATH       line delimiter for input data files that can be either   
ANALTAPE       PC or Unix format, is not supported in WPS, so it is now 
TYPESVC        set only for execution under SAS. Currently, it is used  
UTILEXCL       only in TYPERACF, TYPETAPR and TYPEWWW.                  
VMXGINIT      -In WPS, PROC APPEND BASE=PDB.CICSDICT NEW=CICSDICT; does 
Oct 22, 2013   not propagate the Data Set Label from CICSDICT when the  
               BASE does not exist, while SAS does propagate that Label.
               Using BASE=PDB.CICSDICT (LABEL='CICDIC: CICS DICTIONARY')
               NEW=CICSDICT; also does not work with WPS while it does  
               work under SAS.  So, an extra DATA step was needed after 
               the PROC APPEND to label the dataset.                    
               (The absence of the Data Set Label caused the MXG QA job 
               to complain in DOCVER when the label was not found.)     
              -TYPESVC/TYPSSVC - WPS does not support NAMED INPUT.      
              -ANAL80A - WPS does not support PROC REPORT.              
              -ANALAVAL- WPS does not support PROC CALENDAR.            
              -ANALMPL,ANALTAPE - WPS does not support VREVERSE in PLOT.
              -ANALPATH- WPS doesn't support OVERPRINT in PUT statement.
                                                                        
Change 31.223  CICS variable WMQASRTM is added into the CPUTM variable  
VMAC110        in CICSTRAN datasets; back in CICS/TS 4.1 IBM added the  
Oct 20, 2013   field (WMQASRBT, clock and count) and documented it:     
                The WebSphereMQ SRB time this transaction spent         
                processing MQ API requests. This field is zero for      
                point-to-point messaging activity, but is non-zero if   
                MQ API requests result in publish and subscribe type    
                messaging.  Note: WebSphere MQ only returns this value  
                to CICS when MQ Class 3 accounting information is being 
                collected in WebSphere MQ. To collect the MQ Class 3    
                accounting info, START TRACE(ACCTG) DEST(SMF) CLASS(3)  
                must be issued in WebSphere MQ.                         
               This SRB CPU time is already included in the CPUTCBTM in 
               the SMF 30s for the CICS region.                         
                Note: VMAC110/UTILEXCL/DOCVER have these MQ variables   
                  MQGETWTM MQGETWCN MQREQS MQWTCBUS MQQONTCPU MQREQUS   
                that were originally decoded in 2003 in Change 21.212,  
                from CMODNAME='MQSERIES' and CMODHEAD='MQGETW/MQREQS/   
                MQWTCBUS/MQONTCPU/MQREQUS' but I can not find any of    
                those names in CICS Data Areas, nor have those names    
                appeared in any CICS Dictionaries in recent versions so 
                I presume they are no longer created, and the newer     
                WMQGETTM WMQGETTM WQMREQCT WMQASRTM WMQASRCN variables  
                have replaced the 2003 variables.  They exist in DOCVER 
                only because I force them to be part of the MXG QA, and 
                since they are ONLY created by UTILEXCL and ONLY IF the 
                CMODHEAD/CMODNAME are found, it is unlikely they will   
                even exist in your CICSTRAN dataset.                    
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.222  INPUT STATEMENT EXCEEDED RECORD for RMF III SPG record if
VMACRMFV       the system had more than 1361 devices; NRVOLSTV=1674 was 
Oct 19, 2013   used for the VOL count, but that is the total number of  
               VOLs in ALL SPG records.  Instead, SPGVOLNR is the count 
               of vols in this record, and is now used for the loop.    
   Thanks to MP Welch, Bank of America, USA.                            
                                                                        
Change 31.221  Revisions to ODS support.  Revised VMXGODSO/ODSC members 
ANAL72GO       and to the programs that use them.                       
ANALACTM      -VMXGODSO (Open ODS destination) now supports TYPE=PDF    
ANALAVAI       and passes the ODSTYPE to VMXGODSC.                      
ANALDB2B      -VMXGODSC now actually correctly closes the current ODS   
ANALGRID       destination and restores the original ODS settings using 
ANALHTML       two new user-supplied parameters:                        
ANALID           ODSORIGTYPE= the type of ODS output you want set after 
ANALIDMS                      close.  If you leave it blank, it will    
ANALINIT                      revert to HTML on ASCII and to LISTING    
ANALNAT                       in all other cases.                       
ANALNATR         ODSORIGFILE= if you want to direct the output after    
ANALPKGS                      close to a specific destination; can be   
ANALRAID                      blank                                     
ANALRANK      -ANAL72GO adds the ODSORIGTYPE and ODSORIGFILE parameters 
ANALS225       for VMXGODSC and also adds ODS GRAPHICS if you are on SAS
ASUMRAID       9.3 or greater and only uses SAS/GRAPHS for earlier SAS  
GRAFCEC        versions (if SAS/GRAPH is detected) and WPS.             
GRAFRAID      -ANALACTM. Added ODSORIGTYPE and ODSORIGFILE parameters   
GRAFRMFI       for VMXGODSC.  The report of the WLM configuration needs 
GRAFWRKX       landscape orientation; to make that happen with TYPE=PDF 
VGETWKLD       the OPTIONS ORIENTATION=LANDSCAPE; statement is added    
VMXG2DTE       before the ODS PDF statement.  Since ORIENTATION is an   
VMXGODSC       option in the format NAME=VALUE, which was not previously
VMXGODSO       used in VMXGOPTR, it was also revised to support it.     
VMXGOPTR      -ANALAVAI. Adds the ODSORIGTYPE and ODSORIGFILE parameters
VMXGRMFI       for VMXGODSC and corrects a macro variable resolution    
Nov  2, 2013   problem discovered in testing.                           
Dec  8, 2013  -ANALDB2B. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC.                                            
              -ANALGRID. VMXGODSO/VMXGODSC execution is now conditional 
               so you can combine the output of ANALGRID in a single    
               file with other reports and graphs, such as:             
                 %VMXGODS(TYPE=PDF,FILE=MYREPORT.PDF);                  
                 %ANALGRID(ODSTYPE=NO,other parameters);                
                   PROC SGPLOT;                                         
                   etc...                                               
                 %VMXGODSC;                                             
              -ANALHTML. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC.                                            
              -ANALID.  If you invoked ANALID without running TYPEID,   
               it would fail without really telling you why because it  
               could not find the _WTYID _LTYID datasets.  Now if it    
               detects that TYPEID has not been run it automatically    
               includes VMACID to create those macros.                  
              -ANALIDMS. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC.                                            
              -ANALINIT. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC, and some reformatting for PDF output.      
              -ANALNAT and ANALNATR.  PLOTs changed to SGPLOT. Comments 
               added to show how to create PDF output as well as HTML.  
              -ANALPKGS. PDF comments added and HTML commented so that  
               you can choose which you prefer                          
              -ANALRAID. Added ODSORIGTYPE and ODSORIGFILE parameters   
               for VMXGODSC. Modified for PDF output.                   
              -ANALRANK. Adds the ODSORIGTYPE and ODSORIGFILE parameters
               for VMXGODSC. Reduce to a single report.                 
              -ASUMRAID modified for use with VMXGODSO and VMXGODSC. Now
               makes GRAFRAID obsolete since it creates the same output 
               using HTML or PDF, but does it without SAS/GRAPH.        
              -ANALS225. Uses DB2STATS as input since the IFCID=225 data
               in completely contained in PDB.DB2STATS datasets and the 
               T102S225 is not created.  DB2 interval records are now   
               created every minute (cannot be changed) so the revised  
               report provides for summarization to any chosen interval.
               ODSORIGTYPE and ODSORIGFILE parameters added.            
              -GRAFCEC modified to use VMXGODSO and VMXGODSC for HTML   
               or PDF and to use SGPLOT when on SAS 9.3 or higher.      
              -GRAFRAID - marked as obsolete.  ASUMRAID creates the same
               output more cleanly and without requiring SAS/GRAPH if   
               you use PDF or HTML.                                     
              -GRAFRMFI modified to use VMXGODSO and VMXGODSC for HTML  
               or PDF and to use SGPLOT when on SAS 9.3 or higher.      
              -GRAFTAPE. Adds the ODORIGTYPE and ODSORIGFILE parameters 
               for VMXGODSC and adds ODS GRAPHICS if you are on SAS 9.3 
               or later, and uses SAS/GRAPH for earlier SAS and WPS.    
              -GRAFWRKX (hourly bar chart of each workload in RMFINTRV) 
               now uses and describes each of the SGPLOTs; ODSORIGTYPE  
               and ODSORIGFILE added to parameters for VMXGODSC.        
               Dec 8: ODS statement parameter ODSSTYLE added pointing at
               STYLES.MXGSTYLE1.                                        
              -VMXG2DTE. Option added to CYCLE parameter to enable tests
               at any time.  CYCLE=FORCE will override the input DD in  
               the MTD database.                                        
              -VMXGOPTR. Enhanced to handle options where the format is 
               OPTION optionname=value (LINESIZE PAGESIZE VMXGOPTR),    
               needed for ODS TYPE=PDF when landscape is desired.       
              -VGETWKLD modified to end if no workloads are found and   
               fill in all macro variables expected downstream.         
              -VMXGRMFI trend logic modified to stop if no workloads are
               found.                                                   
              -VMXGODSO Dec 8, 2013: Cleanup and realignment of code and
               added new ODSSTYLE= argument (especially for PDF output).
                                                                        
Change 31.220  Enhancement to CRYPTOGRAPHIC PROCESSOR support.          
VMAC7072      -TYPE7002 dataset variables R702ASDC R702ASDB R702ASDI    
Oct 16, 2013   were misspelled (R702AEDC,R702AEDB,R702AEDI).            
              -IBM RMF Report tokens for the OVERVIEW/EXCEPTION reports 
               are now added as variables to the crypto datasets:       
                TYPE7002 - PCCIC                                        
                 CRYCKR='COPROCESSOR*KEY-GEN*RATE'                      
                 CRYCTE='COPROCESSOR*TOTAL*AVG EXECUTE*TIME'            
                 CRYCTR='COPROCESSOR*TOTAL*RATE'                        
                 CRYCTU='COPROCESSOR*TOTAL*PCT UTILIZATION'             
                TYPE70X2 - PCICA                                        
                 CRYAC1E='ACCELERATOR*1024BIT-CRT*AVG EXECUTE*TIME'     
                 CRYAC1R='ACCELERATOR*1024BIT-CRT*RATE'                 
                 CRYAC1U='ACCELERATOR*1024BIT-CRT*PCT UTILIZATION'      
                 CRYAC2E='ACCELERATOR*2048BIT-CRT*AVG EXECUTE*TIME'     
                 CRYAC2R='ACCELERATOR*2048BIT-CRT*RATE'                 
                 CRYAC2U='ACCELERATOR*2048BIT-CRT*PCT UTILIZATION'      
                 CRYAC3E='ACCELERATOR*4096BIT-CRT*AVG EXECUTE*TIME'     
                 CRYAC3R='ACCELERATOR*4096BIT-CRT*RATE'                 
                 CRYAC3U='ACCELERATOR*4096BIT-CRT*PCT UTILIZATION'      
                 CRYAM1E='ACCELERATOR*1024BIT-ME*AVG EXECUTE*TIME'      
                 CRYAM1R='ACCELERATOR*1024BIT-ME*RATE'                  
                 CRYAM1U='ACCELERATOR*1024BIT-ME*PCT UTILIZATION'       
                 CRYAM2E='ACCELERATOR*2048BIT-ME*AVG EXECUTE*TIME'      
                 CRYAM2R='ACCELERATOR*2048BIT-ME*RATE'                  
                 CRYAM2U='ACCELERATOR*2048BIT-ME*PCT UTILIZATION'       
                 CRYAM3E='ACCELERATOR*4096BIT-ME*AVG EXECUTE*TIME'      
                 CRYAM3R='ACCELERATOR*4096BIT-ME*RATE'                  
                 CRYAM3U='ACCELERATOR*4096BIT-ME*PCT UTILIZATION'       
                TYPE70Y2 - CPACF                                        
                 CRYIADO='AVG TIME*COPROCESSOR*CALLS*AES*DECRYPT'       
                 CRYIADR='RATE*OF*AES*DECRYPT*SERVICE*CALLS*SENT'       
                 CRYIADS='AVG BYTES*PER*AES*DECRYPT*SERVICE*CALL'       
                 CRYIAEO='AVG TIME*COPROCESSOR*CALLS*AES*ENCRYPT'       
                 CRYIAER='RATE*OF*AES*ENCRYPT*SERVICE*CALLS*SENT'       
                 CRYIAES='AVG BYTES*PER*AES*ENCRYPT*SERVICE*CALL'       
                 CRYIH2I='INSTR*TO*HASH*DATA*SHA-224*SHA-256*ALGO'      
                 CRYIH2R='HASHING RATE*SHA-224*SHA-256*ALGORITHM'       
                 CRYIH2S='HASHING SIZE*SHA-224*SHA-256*ALGORITHM'       
                 CRYIH5R='HASHING RATE*SHA-384*SHA-512*ALGORITHM'       
                 CRYIH5S='HASHING SIZE*SHA-384*SHA-512*ALGORITHM'       
                 CRYIHAI='INSTR*TO*HASH*DATA*SHA-1*ALGORITHM'           
                 CRYIHAR='HASHING RATE*SHA-1*ALGORITHM'                 
                 CRYIHAS='HASHING SIZE*SHA-1*ALGORITHM'                 
                 CRYIMGI='INSTR*TO MAC*GENERATE'                        
                 CRYIMGR='MAC*GENERATION*RATE'                          
                 CRYIMGS='MAC*GENERATION*SIZE'                          
                 CRYIMVI='INSTR*TO MAC*VERIFY'                          
                 CRYIMVR='MAC*VERIFY*RATE'                              
                 CRYIMVS='MAC*VERIFY*SIZE'                              
                 CRYIPTR='PIN*TRANSLATION*RATE'                         
                 CRYIPVR='PIN*VERIFY*RATE'                              
                 CRYISDDI='SINGLE*DES*INSTR*DECIPHER*THE*DATA'          
                 CRYISDDR='SINGLE*DES*DECRYPT*RATE'                     
                 CRYISDDS='SINGLE*DES*DECRYPT*SIZE'                     
                 CRYISDEI='SINGLE*DES*INSTR*ENCIPHER*THE*DATA'          
                 CRYISDER='SINGLE*DES*ENCRYPT*RATE'                     
                 CRYISDES='SINGLE*DES*ENCRYPT*SIZE'                     
                 CRYITDDI='TRIPLE*DES*INSTR*TO*DECIPHER*THE*DATA'       
                 CRYITDDR='TRIPLE*DES*DECRYPT*RATE'                     
                 CRYITDDS='TRIPLE*DES*DECRYPT*SIZE'                     
                 CRYITDEI='TRIPLE*DES*INSTR*TO*ENCIPHER*THE*DATA'       
                 CRYITDER='TRIPLE*DES*ENCRYPT*RATE'                     
                 CRYITDES='TRIPLE*DES*ENCRYPT*SIZE'                     
                TYPE70Y3 - CE4XP                                        
                 CRYPAGE='GENERATION*ASYMMETRIC-KEY*AVG EXEC TIME'      
                 CRYPAGR='GENERATION*ASYMMETRIC-KEY*RATE'               
                 CRYPAGU='GENERATION*ASYMMETRIC-KEY*PCT UTILIZATION'    
                 CRYPFAE='FAST*ASYMMETRIC-KEY*AVG EXEC TIME'            
                 CRYPFAR='FAST*ASYMMETRIC-KEY*RATE'                     
                 CRYPFAU='FAST*ASYMMETRIC-KEY*PCT UTILIZATION'          
                 CRYPSAE='SLOW*ASYMMETRIC-KEY*AVG EXEC TIME'            
                 CRYPSAR='SLOW*ASYMMETRIC-KEY*RATE'                     
                 CRYPSAU='SLOW*ASYMMETRIC-KEY*PCT UTILIZATION'          
                 CRYPSCE='COMPLETE*SYMMETRIC-KEY*AVG EXEC TIME'         
                 CRYPSCR='COMPLETE*SYMMETRIC-KEY*RATE'                  
                 CRYPSCU='COMPLETE*SYMMETRIC-KEY*PCT UTILIZATION'       
                 CRYPSPE='PARTIAL*SYMMMETRIC-KEY*AVG EXEC TIME'         
                 CRYPSPR='PARTIAL*SYMMETRIC*RATE'                       
                 CRYPSPU='PARTIAL*SYMMMETRIC-KEY*PCT UTILIZATION'       
                 CRYPTE='PKCS11*COPROCESSOR*AVG EXEC TIME'              
                 CRYPTR='PKCS11*COPROCESSOR*TOTAL*RATE'                 
                 CRYPTU='PKCS11*COPROCESSOR*TOTAL*PCT UTILIZATION'      
   Thanks to David Wilbur, State of Washington CTS, USA.                
   Thanks to Steve Majerick, State of Washington CTS, USA.              
                                                                        
Change 31.219 -If you only want to know which character variable(s) in  
VMXGSRCH       which dataset(s) contains a text string, RESULTS=COUNT   
Oct 15, 2013   produces the simple report of names and counts.          
              -Specifying RESULTS=PRINT prints all variables in those   
               found observations (printing the first NOBS observations 
               with both variable name and label as heading) and now    
               also produces the COUNT report after the prints.         
              -A log message is printed when observations are found.    
              -The VALUE= argument does not need to be the exact value  
               of a variable.  VALUE=XYZ will find XYZ123 or ABCXYZ or  
               any variable that has XYZ anywhere in its value.         
                                                                        
Change 31.218  INVALID DATA FOR SCACTIME in ID=119 SUBTYPE=32 because   
VMAC119        variable SCORIGIN was overlooked and not INPUT causing   
Oct 10, 2013   the misalignment by one byte.                            
   Thanks to Thomas Heitlinger, Fiducia IT AG, GERMANY.                 
   Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.                    
   Thanks to Dennis Gaertner, Fiducia IT AG, GERMANY.                   
                                                                        
Change 31.217  Support for CICS "multi journal records" adds examples in
EXCICJRN       the EXCICJRN member to decode multiple journals to create
Oct 10, 2013   multiple datasets from different journal records.  You   
               would copy the example EXCICJRN member into your "USERID"
               MXG tailoring library, then comment out its default code 
               block, un-comment and modify its "multi" example code to 
               create and output your variables into CICSJOUR, then copy
               the MACRO _SCICJRN and MACRO _KCICJRN definitions into   
               IMACKEEP in your tailoring library, to define which of   
               the WORK.CICSJOUR variables are output into which of your
               new datasets. Then your SYSIN program would be:          
                   %LET MACFILE=                                        
                     %QUOTE( IF ID=110 AND SUBTYPE=0; );                
                   %INCLUDE SOURCLIB(TYPE110);                          
                   _SCICTRN                                             
                   RUN;                                                 
               if you ONLY want to process the Journal Records.         
   Thanks to Paul Bennett, Euroclear, BELGIUM.                          
                                                                        
Change 31.216  INVALID DATA FOR S42CSYNC because it is not an SMFSTAMP8 
VMAC42         value, instead containing a nonstandard 2013281F0916483F 
Oct 10, 2013   format that is now "hand" decoded to 08OCT2013:9:16:48.3.
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 31.215  New variables added to TYPETLMS are now supported:       
VMACTLMS         BACODLVL='ENHANCED*CODE*LEVEL*03X'                     
Oct  7, 2013     BAKEYIDX='ENCRYPTION*KEY*INDEX'                        
                 BAPCTCMP='PCT*OF COMPACT*FOR FILE'                     
                 BAPCTFIL='PCT*VOLUME*USED*BY FILE'                     
                 BAUSQFIL='USAGE*SEQUENCE*FOR FILE'                     
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
   Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.               
                                                                        
Change 31.214  CICS dataset CICSJS variables SJSMAJCP and SJSMINCP in   
VMAC110        statistics dataset CICSJS were incorrectly documented and
Oct  3, 2013   labeled as CPU time so MXG input them as such, but IBM   
               now confirms that they are elapsed time in milliseconds  
               in the record, so both are now correctly input, labeled  
               (TOTAL*ELAPSED*TIME IN MAJOR/MINOR GARBAGE COLLECTION)   
               and formatted TIME13.3 to display the millisecond as the 
               final digit in the decimal place.                        
   Thanks to Mark Wittie, Fidelity Institutional, USA.                  
   Thanks to Warren Cravey, Fidelity Institutional, USA.                
   Thanks to Paul Albrecht, Fidelity Institutional, USA.                
                                                                        
Change 31.213  MXG 31.06-31.07 only, and only if syntax of 102.xxx was  
UTILBLDP       used to select ID=102 records by IFCID/SUBTYPE.  Errors  
Oct  4, 2013   for old-style MACRO _V102xxx were printed on the log.    
               Introduced in Change 31.184.                             
                                                                        
Change 31.212  New (internal) parameters SPINTAPE and NOEXIMSG added.   
ANALDB2R      -SPINTAPE=YES will cause VGETOBS to read an input SAS data
VGETOBS        library when it is on tape/sequential format, building   
Oct 18, 2013   the MXGTABLES dataset that list all SAS datasets on the  
               tape.  Used now in ANALDB2R but available to other MXG   
               utilities.  Normally, the MXGTABLES is used and then     
               discarded by VGETOBS, but with this parameter it is kept.
               Default for SPINTAPE is NO in VGETOBS, set by caller.    
              -Option DATASET=_ALL_ will also cause MXGTABLES to be kept
               for use in subsequent internal utilities.                
              -NOEXIMSG=NO (default) added to suppress messages when the
               input datasets are on tape, after the first time that DD 
               is encountered.                                          
              -ANALDB2R exploits this new VGETOBS to snapshot a list of 
               all of the datasets found in the first libname in PDB=,  
               whether it is on tape or disk, and then builds a MACRO   
               variable with that list of available datasets, avoiding  
               the earlier design that required many executions of the  
               VGETOBS macro, potentially eliminating many tape mounts. 
                                                                        
Change 31.211  ANALHSM exploited the fact that SAS will always look for 
ANALHSM        the last dataset created when doing a SORT or PRINT. But 
Sep 26, 2013   the latest changes to VGETOBS now create a temporary     
               dataset that intervenes and disappears so the explicit   
               dataset to be sorted/printed had to be specified.        
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 31.210  Variables R744SATM,R744SDTM,R744SQTM,R744SSTM are in     
VMAC74         seconds per event, but that was not obvious.  Their label
Sep 25, 2013   now contain *SECONDS*PER....' and are formatted 8.6.     
               So a value of 0.000094 is 94 microseconds per ....       
   Thanks to Cesar V Cocco, CitiCorp, USA.                              
                                                                        
Change 31.209 -If you specified PDB=YES and used the LDB2xxxx parameters
READDB2        to reroute the output datasets, there was a failure when 
CLEARDB2       looking for the YES DDNAME in VGETOBS.  Should have been 
Sep 27, 2013   pointing to the PDB2xxxx specific MACRO VARIABLE rather  
               than PDBOUT.                                             
              -Specifying STATS/STATISTICS but then Suppressing one of  
               the statistics datasets caused DATASET NOT FOUND errors; 
               now if a required dataset is not present, DB2STATS won't 
               be created but the READDB2 won't terminate with an error.
               Not all old style macros defined in VMACDB2 were cleared.
               This could cause many strange errors, but ONLY if there  
               were multiple executions of READDB2 in the same session, 
               e.g., the MXG QA Test stream.  This change was found when
               many additional %READDB2 QA tests of previously reported 
               errors were added to the QA stream.                      
              -%TRIM and %QCMPRES %MACRO functions were replaced by     
               these %SYSFUNC calls to use COMPBL as those %MACRO       
               functions did not always work correctly and caused       
               errors where macro variables exceeded the 64K limit.     
               In addition, elimination of %TRIM and %QCMPRES removes   
               the past issues with incorrect SASAUTOS allocations.     
                 %LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));           
                 %LET IDREADS=%QCMPRES(&IDREADS 102);                   
                 %LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));           
                 %LET IDREADS=%QCMPRES(&IDREADS 102);                   
                                                                        
Change 31.208 -ASUM113 variables LPARBUSY and MIPSEXEC were wrong for   
ASUM113        the zEC12 processor; they should be divided by DELTASUM  
Sep 24, 2013   and not DELTATM in those equations for the processor     
   Thanks to Andrew Hebden, Barclays, ENGLAND.                          
                                                                        
Change 31.207 -MXG 31.07.  Debugging PUT statement in VMAC6 printed     
VMAC6            SMF6LN3=162 LENLEFT=552 for every SMF 6 record.        
Sep 24, 2013                                                            
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
                                                                        
Change 31.206 -Support for IMF 5.1 (INCOMPATABLE, but only impacting the
VMACCIMS       CIMSDBDS dataset; other existing datasets are unchanged.)
EXIMFMQ       -New variables added to CIMSDBDS dataset:                 
IMACCIMS         DBTDBVER='DB*VERSION'                                  
VMXGINIT         DBTFLOVF='FALSE*OVERFLOW*OCCURRED?'                    
FORMATS       -New CIMSMQ dataset contains these MQ variables:          
Sep 23, 2013      MQSSID  ='MQSSID'   MQGET   ='MQGET*CALLS'            
                  MQBACK  ='MQBACK'   MQINQ   ='MQINQ '                 
                  MQCLOSE ='MQCLOSE'  MQOPEN  ='MQOPEN'                 
                  MQCMT   ='MQCMT'    MQPUT   ='MQPUT*CALLS'            
                  MQCOMM  ='MQCONN'   MQPUT1  ='MQPUT1*CALLS'           
                  MQDISC  ='MQDISC'   MQSET   ='MQSET*CALLS'            
                  MQFLG1  ='MQFLAG1'  MQUNKN  ='MQUNKN'                 
                                                                        
Change 31.205  A graphical analysis of Latent Demand, based on Tivoli's 
ANALATEN       discussion found at:                                     
Sep 21, 2013       HTTP://PUBLIB.BOULDER.IBM.COM/TIVIDD/TD/TDS390/      
                         SH19-6818-08/EN_US/HTML/DRLM9MST50.HTM         
               Mar 22, 2014: Check for postings in archives and try:    
                   http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/
                                 /BOOKS/DRL5FS09/3.3.3?DT=20100105101315
                                                                        
====== Changes thru 31.204 were in MXG 31.07 dated Sep 20, 2013=========
                                                                        
Change 31.204  Change 31.200 (VGETOBS enhancement) stumbles with PDB=PDB
ANALDB2R       if the data library that contains all of the DB2 datasets
Sep 19, 2013   is on tape.  While that is, in general, bad practice, as 
               a mount and read is required for EVERY dataset needed by 
               your ANALDB2R request, it previously worked and will in  
               the near future, but for now, if your PDB is on tape and 
               you used ANALDB2R(PDB=PDB), this circumvention will avoid
               the error (UNINIT variables messages, then other errors).
                  %ANALDB2R(PDB=WORK,DB2ACCT=PDB,USEACCT=YES,PMSTA02=NO,
                            PMSPR01=NO);                                
                  %ANALDB2R(PDB=PDB,STATSUSE=DETAIL,PMACC01=NO,         
                            PMACC02=NO);                                
               Please contact support@mxg.com to request CHANGE 31.204  
               when it is available.                                    
               This change is only documentation as of this date.       
   Thanks to John Schoenbeck, IBM Global Services, USA.                 
   Thanks to Larry Stahl, IBM Global Services, USA.                     
                                                                        
Change 31.203 -TYPE70 calculations of SHARE values were wrong if there  
VMAC7072       were IFL engines in the CEC, because MXG output those IFL
VMXG70PR       engines in TYPE70EN/EC/FORRMFI datasets and those SHAREs 
Sep 23, 2013   values for the IFLs were incorrectly included in the z/OS
               SHARE calculations.  Only if IFLs are shared are there   
               non-zero SHARE values.                                   
              -ASUM70PR count of LPARIFLS in PDB.ASUM70LP/PDB.ASUMCELP  
               was wrong (larger than NRIFLCPU) if there were multiple  
               RMF intervals for the same summary INTERVAL, as when RMF 
               was stopped/started/changed.                             
   Thanks to Andrew Petersen, CSC, AUSTRALIA.                           
                                                                        
Change 31.202 -Variable SM120AD4 was a missing value because AD3 and AD4
VMAC120        are 16-byte fields with 8-low order bytes of nulls and   
Sep 18, 2013   MXG did not skip the AD3 low order bytes.                
              -But my data does not match the documentation.  Following 
               SM120AD4 there is an 8-byte undocumented field containing
               'FFFFB62000000000'X (-19830.66931 decimal) that looked to
               be a GMT OFFset, but SM120ACD 'FFFFBCF10CC00000'X has the
               correct value of -18000.85 for the -5 hour timezone so I 
               have no idea what that value actual is; it is input into 
               SM120TZX but not kept nor used.  After that field there  
               are 24 reserved bytes.                                   
   Thanks to Mark Wittie, Fidelity Institutional, USA.                  
                                                                        
Change 31.201  Support for APAR OA40376 for z/OS 1.3 adds variables to  
VMAC74         SMF 74 Subtype 5 RAID Rank/Extent Pool data; these vars  
Sep 18, 2013   were added in z/OS 2.1 but overlooked previously:        
                  R7451ZHL='ZHPF*LIST PREFETCH I/O REQUESTS'            
                  R7451ZHH='ZHPF*LIST PREFETCH I/O HITS'                
                  R7451GSF='GLOBAL*MIRROR*COLLISIONS*SIDEFILE'          
                  R7451GSS='GLOBAL*MIRROR*COLLISIONS*SYNCHRONOUS'       
               APAR OA42682 adds BIT 4 value to R744FFLG.               
   Thanks to Lou Horton, NYS Office of Info Technology, USA.            
                                                                        
Change 31.200  MXG 31.06 READDB2 could still fail on z/OS only, mostly  
VGETOBS        due to the IFCID=225 which has a unique requirement to   
VMXGWORL       use VMXGWORL, but recent changes to VGETOBS, which now   
Sep 18, 2013   always returns the DSN of all sequential format datasets,
               confused VMXGWORL which incorrectly used the _L102225    
               token instead of _W102225.  Now, VGETOBS passes SEQ back 
               in the VGETMTYP macro variable, which, when detected,    
               redirects VMXGWORL to use the _W rather than the _L, that
               might not exist.  If the _W doesn't exist, then the _L   
               will be used, but if it does not exist, then there will  
               be a dataset not found failure.                          
              -The incorrect note in comments in 31.06 READDB2 that the 
               PDB=XXX option of READDB2 required DISK was incorrect    
               and has been removed.                                    
              -Perhaps in our defense of this error:                    
                The 31.06 VGETOBS solved two very different problems:   
                1. WPS failed when there was no LIBNAME when there was a
                   WHERE clause on PROC SQL read of DICTIONARY.TABLES.  
                   Solved by looking at DICTIONARY.FILENAMES without a  
                   WHERE first to see if the DD even exists.            
                2. SAS mounting and rereading every tape with every     
                   execution of VGETOBS reading DICTIONARY.TABLES, even 
                   when there was NO where clause.                      
                   Solved by keeping track of tape DDs and excluding    
                   them from DICTIONARY.TABLES searches with a WHERE    
                   CLAUSE NE.                                           
              -Solving problem 2 cut tape mounts in daily CICS/DB2 job  
               at one site from over 90 to less than 20.                
   Thanks to John Schoenbeck, IBM Global Services, USA.                 
                                                                        
Change 31.199  Variable S17NNDM was added to the BY list _B117NOD macro 
VMAC117        to order by NODE name and to fully remove duplicates.    
Sep 17, 2013   I missed this because my test data had only one value.   
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
Change 31.198 -This JCL example changes the DSCB of a z/OS dataset from 
JCLVBS2U       RECFM=VBS to RECFM=U, WITHOUT copying the data, saving   
Sep 17, 2013   the CPU and I/O and time for the copy.  The changed file 
               can then be downloaded with ftp (the RECFM=U preserves   
               BDWs and RDWs) for sites that want to archive AND process
               the file on the download platform (using RECFM=S370VBS & 
               LRECL=32760 on the FILENAME statement to read).          
                 //JCLVBS2U  EXEC PGM=IEBGENER                          
                 //SYSIN DD DUMMY                                       
                 //SYSPRINT DD SYSOUT=*                                 
                 //SYSUT2  DD DSN=ZOS.VBS.FILE.TO.CHANGE,               
                 //     DISP=MOD,DCB=RECFM=U                            
                 //SYSUT1  DD DSN=NULLFILE,DCB=*.SYSUT2                 
               The key is to use DISP=MOD and to copy NULLFILE which    
               ONLY changes the DSCB attributes and does NOT touch      
               the actual data in the original file.                    
              -Note: if you ONLY want to READ the data and do not need  
               to archive, you would use the SAS ftp Access method that 
               is documented in the INSTALL member to directly read the 
               z/OS data over ftp without prior download, only writing  
               the SAS datasets on the download platform.               
              -While the technique can also change RECFM=U to VBS, and  
               while you can create a RECFM=VBS file on ASCII and upload
               to z/OS, you cannot simply upload that file into RECFM=U 
               and then change the RECFM; you must upload the VBS data  
               into a RECFM=U,BLKSIZE=32760 file on z/OS, and then use  
               either the SAS UDEBLOCK or the ASM ASMDBLKU program to   
               reconstruct legitimate VBS data to read on z/OS.         
   Thanks to Dan Kaberon, EMC, USA.                                     
                                                                        
Change 31.197  After MXG 30.30, for IDMS 17, dataset IDMSINS had zero   
VMACIDMS       obs because only SEQN=1 exists in version 17, but MXG    
Sep 12, 2013   update expected SEQN=2 and did not output.               
   Thanks to Gitta Janssens, ColruytGroup, BELGIUM                      
                                                                        
Change 31.196  Support for APAR PM67806 adds new QW0225DMH with total   
VMACDB2        DMH GETM storage, for both DB2 V9 and DB2 V10.           
Sep 11, 2013   Today's change only supports V9 pending V10 APAR doc.    
   Thanks to Kerry J. Sommers, John Deere, USA.                         
                                                                        
Change 31.195A Cosmetic.  DEBUGGING PUT statement TY50xxxx= in line 306 
VMAC50         is now commented out.                                    
Sep 10, 2013                                                            
   Thanks to Dan Case, Mayo Clinic, USA.                                
                                                                        
Change 31.195  Cosmetic. Missing values messages for TASSYTI-TASENTI    
VMACIDMS       division by 4096 are eliminated by making the INPUT and  
Sep  9, 2013   calculation inside a conditional DO group.               
                                                                        
Change 31.194  31.02-31.06, z/VM 6.2.12 BROKEN CONTROL RECORD error. The
VMACVMXA       MXG input INCORRECTLY expected 120 bytes in STOSHD (3.16)
Sep  9, 2013   record, but this record had only 112 so the INPUT of     
               ASCCTRSV and ASCDSRSV are now conditional and corrected. 
   Thanks to David Campbell, SunTrust, USA.                             
                                                                        
Change 31.193 -An undocumented change in z/OS 2.1 increased the length  
VMAC0          of ID=0 records to 68 bytes, which caused the MXG ERROR  
Sep  9, 2013   message that the ID=0 record was invalid and was deleted.
Sep 19, 2013   MXG 31.06 eliminated that ERROR message and the DELETE;  
               31.07 creates these two new variables in TYPE0 dataset:  
                 SMF0MSWT='SWT STC*WAIT TIME*LIMIT*MINUTES'             
                 SMF0MTWT='TWT TSO*WAIT TIME*LIMIT*MINUTES'             
               These fields are non-zero only if the corresponding new  
               SWT or TWT keywords are specified in your SMFPRMxx.      
              -That length test for the TYPE 0 record is ancient, from  
               the days when a TYPE 0 WAS an IPL event; many times when 
               a SYSPROG attempted to create a USER SMF record they had 
               accidentally created a record with ID=0, which then was  
               reported as an IPL, when there had been no IPL.  Now, as 
               BUILDPDB creates the PDB.IPLS dataset from ID=90 that    
               DOES report an IPL event, the erroneous deletion of these
               valid ID=0 records should not impact your IPL reporting. 
               But, because some sites still treat a zero as an IPL,    
               I chose to leave the length check in place for future    
               a SYSPROG to trigger!                                    
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.                
                                                                        
Change 31.192  Cosmetic.  Comments for IMACICE1/E2/EZ tailoring now cite
UTILEXCL       REPORT THREEA to find the counts of fields in those      
Sep  9, 2013   optional members.                                        
                                                                        
Change 31.191  READDB2 did not handle PDBOUT=WORK nor PDBOUT=XXX as     
READDB2        documented, and could need an unneeded //PDB DD.         
Sep 11, 2013  -PDBOUT=WORK, or PDBOUT=, was unintentionally changed by  
               Change 31.128 (MXG 31.05), writing DB2ACCT to the //PDB  
               LIBNAME instead of to //WORK, which caused an ABEND if   
               there was no //PDB DD in the JOB (and one is not needed  
               with PDBOUT=WORK).  Circumvention: add a temporary DD;   
                 //PDB DD UNIT=SYSDA,SPACE=(CYL,(500,500))              
              -PDBOUT=XXXXX (for some time) only wrote the T102Sxxx data
               to the XXXXX LIBNAME; all DB2xxxxx Account and Statistics
               datasets were instead written to their default (PDB).    
              -Now, PDBOUT= null, WORK, or XXXXX will create all output 
               only in the expected LIBNAMEs; as has been documented in 
               READDB2, with those PDBOUT vaLUES, you can not change the
               output libnames, neither with a %LET Pdddddd=DDNAME nor  
               nor by using READDB2's LDB2ddd=DDNAME option.            
              -ACCIDENTALLY, if your PDBOUT=XXX was PDBOUT=PDB, almost  
               everything DID work as you expected.                     
   Thanks to Otto Burgess, ATPCO, USA.                                  
                                                                        
Change 31.190 -New variables are now INPUT and kept in TMMQQU dataset:  
VMACTMMQ        QUACCT   QUAPPLNM QUAPPLTY QUASID   QUBROWSE QUCCONNM   
Sep  6, 2013    QUCFSTR  QUCHNL   QUCLWPRI QUCLWRNK QUCLWUSQ QUHSTAT    
Oct 14, 2013    QUINPUT  QUINQUR  QULGD    QULGT    QULPD    QULPT      
                QUMEDLGE QUMSGAGE QUMSGQTL QUMSGQTS QUNPMCLS QUOPENOP   
                QUOUTPUT QUPID    QUPSBN   QUPSID   QUPSTID  QUQMON     
                QUQMONST QUQMURID QUQSGD   QUSET    QUSTATQ  QUTASKNO   
                QUTID    QUTPIPE  QUTRANID QUUNCOM  QUURID   QUURTYPE   
                QUUSERID QUALTDTE                                       
              -A new message reports record counts and bytes of both    
               compressed and uncompressed input.                       
              -BY List macros have been revised to remove duplicates.   
                                                                        
Change 31.189  Format $MGRMFCX for Crypto Coprocessor type expected     
FORMATS        '10'X for CEX41, but the value in the RMF record is an   
Sep  6, 2013   '0A'x, so that value is now used for R7023CT/R7024CT.    
   Thanks to Michael Creech, Lender Processing Services, Inc., USA      
                                                                        
Change 31.188  Change 31.120 added support for MQ SMF 115 ST2 SMDS/QESD 
EXTY115S       data new in MQ 7.1.0, but output only the first segment  
IMAC115        and output it in incorrectly in MQMMSGDM, an interval    
VMAC115        dataset.  Since there are many structures, now, the SMDS 
VMXGINIT       data is output in new TYPE115S dataset with one obs for  
Sep  4, 2013   for each application structure.                          
                 The IBM doc in CSQDQESD is incorrect, showing a length 
                 of 328, but that includes the 8-bytes of the ID/EYEC,  
                 and so only 320 bytes of data is documented.  However, 
                 the LQ length is 328, and IBM has added 8 bytes at the 
                 end of each segment. but then, that first entry is 332!
                 MXG recognizes the IBM error and circumvents in code.  
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
====== Changes thru 31.187 were in MXG 31.06 dated Sep  3, 2013=========
                                                                        
Change 31.187  MXG 31.05. After Change 31.156, z/OS under VM only, zero 
VMAC7072       obs in PDB.TYPE70. Variable VMSYSTEM is now set from the 
Sep  2, 2013   NRCPUID if that APAR is not installed and then used to   
               force the output.                                        
   Thanks to Frank Lund, Evry AS, NORWAY.                               
                                                                        
Change 31.186 -Variable LSPRWKLD was incorrectly set to 'HIGH' instead  
ASUM113        of 'LOW' when 3 LE L1MP LE 6 AND RNI LT 0.6.             
Sep  2, 2013  -Cosmetic.  LENGTH DEFAULT=&MXGLEN added Sep 17.          
   Thanks to Wayne Montefiore, CSC, AUSTRALIA.                          
                                                                        
Change 31.185  Original 31.06 VGETOBS member was not the final update.  
VGETOBS        See Change 31.180 for the final documentation.           
Sep  3, 2013                                                            
                                                                        
====== Changes thru 31.184 were in MXG 31.06 dated Sep  1, 2013=========
                                                                        
Change 31.184 -Multiple executions of BLDSMPDB after UTILBLDP now works.
BLDSMPDB       Old-style macros _SPINCNT _SPINUOW and _TIMEDIF, (and,   
UTILBLDP       with USERADD=, _VARUSER and _CDEUSER and any generated   
Aug 31, 2013   _CDE _VAR macros are now cleared when BUILDPDB=YES is    
Sep 17, 2013   specified, AFTER any generated code has been executed,   
               with   MACRO _xxxxxx _xxxxxx % syntax to redefine an     
               old-style macro for reuse. This part of this change is   
               really likely needed only for the MXG QA job since it    
               is unlikely actual use would need multiple executions    
               of BLDSMPDB in the same SAS session, but now can be done.
              -BLDSMPDB is now protected and will fail if the option to 
               use the "INSTREAM" SAS code created by UTILBLDP does not 
               exist, i.e., if that INSTREAM file has zero records.     
              -Other errors were found in testing on zOS with RUNDAY=PDB
               which suppressed running weeklies.  The logic looking for
               the WEEK FILENAME failed with missing SUBSTR values.     
              -On zOS BUILDPDB may now point at a dataset name rather   
               than a DDNAME/FILENAME as it always could on ASCII.      
                                                                        
Change 31.183  TYPE50 OSA-EXPRESS READ variables were incorrectly INPUT 
VMAC50           TY50REDE /*OSA-EXP*REPLN*DEFR*FOR RD*/                 
Aug 30, 2013     TY50RDEX /*OSA-EXPREADS*EXH*FOR RD*/                   
                 TY50SBRD /*OSA-EXP*SBAL*COUNT*FOR RD*/                 
                 TY50PKCN /*OSA-EXP*PACKET*COUNT*/                      
               and these Write variables are now created                
                 TY50PKAC='OSA-EXPRESS*ACCELERATED*PACKET*COUNT'        
                 TY50BYAC='OSA-EXPRESS*ACCELERATED*BYTE*COUNT'          
   Thanks to John M. McLaughlin, Bank of America, USA.                  
                                                                        
Change 31.182 -The MXG message SUCCESSFULLY COMPLETED READING SMF now   
VMACSMF        has new text that reports (mostly for MXG diagnostics) if
Aug 28, 2013     *** THE INPUT SMF FILE DID NOT END WITH ID=3, BUT      
                 *** THIS CAN BE NORMAL - SEE CHANGE 31.182 TEXT.       
               which MIGHT be an indication that SMF data was lost.     
               Each SMF file created OR copied by IFASMFDP/IFASMFDL ends
               with an SMF ID=3 record, and so even concatenations of   
               SMF dumps will end with an ID=3 (in fact, each copy with 
               or subset adds yet another ID=3 at the end of output).   
               So if the last record is not ID=3, it could be a problem.
               For example, a disconnect using the ftp access method, or
               during download, or an overlooked out-of-disk-space issue
               could be detected by its absence.                        
                                                                        
              -BUT THIS CAN BE NORMAL: If your data has been sorted, or 
               if you used a utility program that removes type 2 and 3  
               SMF records (e.g., SMFUTIL, but it could be any program  
               that processes the SMF data before you read it), or if   
               you used SAS (AND NOT IFASMFDP, which writes a 2 and 3   
               when used to copy SMF) and either selected records or    
               used OPTIONS OBS=nnn; to limit the number of SMF records 
               read when testing: THESE ARE NOT ERRORS AND THE MESSATE  
               HAS NO IMPACT.                                           
                                                                        
              -If the last record is the ID=3, that text then reads     
                *** AND THE INPUT SMF FILE ENDED WITH EXPECTED ID=3.*** 
               If absence of that ID=3 would be an error in your SMF    
               processing, where you ALWAYS expect complete dumped data,
               variable ENDISID3 can be used in your IMACFILE/&MACFILE  
               tailoring to take more aggressive action.                
                                                                        
Change 31.181 -RMF III Support for z/OS 2.1 plus Enhancements and Fixes.
ADOCRMFV      -Support for z/OS 2.1 changes to the ASI, CFI, CPDCB, and 
ASMRMFV        GEI RMF III tables.                                      
EXZRBCHP      -Two new CFI table sections CFICHPAS (Channel Path) and   
EXZRBSCM       CFISSCMS (Storage Class Memory) added with z/OS 2.1 are  
JCLCRMFV       now created by ASMRMFV, and VMACRMFV creates datasets:   
JCLDRMFV          dddddd     dataset     description                    
JCLRMFV           ZRBCHP     ZRBCHP       CFICHPAS CHANNEL PATH         
VMACRMFV          ZRBSCM     ZRBSCM       CFISSCMS STORAGE CLASS MEMORY 
VMXGINIT      -New ZRBCHP dataset variables (20):                       
ZASMRMFV       ZDATE   ='ZEE DATE*ZEE OBS*WAS CREATED'                  
Aug 30, 2013   CFICHAID='HOST CHANNEL ADAPTER ID'                       
               CFICHAPN='HOST CHANNEL ADAPTER PORT NUMBER'              
               CFICHEIN='INDEX OF CFI TABLE ENTRY'                      
               CFICHFLAGS1='1ST*CHANNEL PATH VALIDITY FLAG'             
               CFICHLAT='CHANNEL PATH LATENCY TIME'                     
               CFICHOPM='CHANNEL PATH OPERATION MODE'                   
               CFICHPCP='PHYSICAL*CHANNEL*PATH*ID'                      
               CFICHPID='CHANNEL*PATH*ID'                               
               CFICHSAP='SAP-S TO WHICH CHP IS ACCESSIABLE'             
               CFICHSTA='CHANNEL PATH STATUS FLAGS'                     
               CFICHTYPE='CHANNEL PATH TYPE'                            
               CFIENNAM='NAME OF*COUPLING*FACILITY'                     
               CFIENSYS='NAME OF*SYSTEM'                                
               SSHGOMNT='GATHERER*MINTIME*OPTION'                       
               SSHRMFVN='RMF*VERSION*NUMBER'                            
               SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'               
               SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'            
               SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'              
               SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'                    
               SYSTEM  ='SYSTEM*ID'                                     
               SHIFT   ='SHIFT*OF*START'                                
              -New ZRBSCM dataset variables (21):                       
               ZDATE   ='ZEE DATE*ZEE OBS*WAS CREATED'                  
               CFISCALG='SCM*ALGORITHM*TYPE'                            
               CFISCEMA='EST MAX*AUSMENTED*SPACE*4K BLOCKS'             
               CFISCEME='EST MAX*LIST ELEMENTS*RESIDE*IN SCM'           
               CFISCEML='EST MAX*LIST ENTRIES*RESIDE*IN SCM'            
               CFISCENE='EXIST STRUCT*LIST ELEMENTS*RESIDE*SCM'         
               CFISCENL='EXIST STRUCT*LIST ENTRIES*RESIDE*IN SCM'       
               CFISCFAU='FIXED*AUGMENTED*SPACE*4K BLOCKS'               
               CFISCIUA='AUGMENTED*SPACE IN USE*4K BLOCKS'              
               CFISCIUS='SCM MEMORY*IN USE*4K BLOCKS'                   
               CFISCMAX='MAX*SCM*STRUCTURE*CAN USE*4K BLOCKS'           
               CFISCNAM='NAME OF CONNECTED STRUCTURE'                   
               CFISCVER='STRUCTURE*VERSION*NUMBER'                      
               CFIENNAM='NAME OF*COUPLING*FACILITY'                     
               CFIENSYS='NAME OF*SYSTEM'                                
               SSHGOMNT='GATHERER*MINTIME*OPTION'                       
               SSHRMFVN='RMF*VERSION*NUMBER'                            
               SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'               
               SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'            
               SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'              
               SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'                    
               SYSTEM  ='SYSTEM*ID'                                     
               SHIFT   ='SHIFT*OF*START'                                
              -ASMRMFV now exploits z/Architecture (zSeries)            
               instructions to relieve 4K base register addressing      
               constraints and improve performance.  ASMRMFV should run 
               without error on this hardware.  zSeries machines have   
               been available since 2000.                               
              -MXG users with only pre-z/Architecture machines available
               can install the legacy version of ASMRMFV called         
               ZASMRMFV.  Contact MXG Technical Support for details.    
              -ZASMRMFV includes all Change 31.181 features for z/OS 2.1
               support, but is functionally stabilized and will not be  
               further enhanced.                                        
              -ASMRMFV WTO messages RMFV099S and Abend U0998 will be    
               issued if execution is attempted on a non-zSeries        
               processor.  This prevents an abrupt and unexplained S0C1 
               Abend that would otherwise occur.  If this occurs either 
               run ASMRMFV on a zSeries machine or use ZASMRMFV instead.
              -Initial message RMFV000I will indicate whether the       
               current ASMRMFV or legacy version ZASMRMFV is being used.
              -Four internal ASMRMFV subroutines have been migrated into
               mainline code to eliminate the entry/exit linkage CPU    
               overhead required for each call.                         
              -ASMRMFV now supports keywords up to 10 characters in     
               length.                                                  
              -ASI table bit string field ASIMSTS (Miscellaneous States)
               is now decoded into 8 new Y/N valued variables in the    
               ZRBASI data set.                                         
              -New ZRBASI dataset variables (10):                       
               ASI1MBFF='1MB*FIXED FRAMES*PAGEABLE*DREF-MEM OBJS'       
               ASI1MBPF='PAGEABLE*PAGEABLE*DREF-MEM OBJS'               
               ASICICST='CICS TOR*MANAGED TO*REGION GOALS?'             
               ASICPUPR='CPU*PROTECTION*ASSIGNED?'                      
               ASIIOPGH='I/O PRIORITY*GROUP HIGH*ASSIGNED?'             
               ASIMAOSC='MANAGE AS*TO GOALS*OTH SERV CLASSES?'          
               ASIOMVS ='ADDRESS*SPACE*IS OMVS*RELATED?'                
               ASIPRMRT='PREVENT*REGN MGT*BY RESPTIME*GOALS?'           
               ASISDCAS='SERVICE TRANS*IN DIFF CLASS*THAN AS?'          
               ASISTGPR='STORAGE*PROTECTION*ASSIGNED?'                  
              -CPC table bit string field LCPUCHIN (Processor Status    
               Indicators) is now decoded into 7 new Y/N valued         
               variables in the ZRBLCP data set.                        
              -New ZRBLCP dataset variables (21):                       
               CPCCAPG ='LPAR*BELONGS TO*CAPACITY GROUP?'               
               CPCHOME ='THIS IS*THE HOME*PARTITION?'                   
               CPCLPARI='LPAR DATA*INVALID?'                            
               CPCLPMAX='LPAR PROCESSORS*DEFINED*EXCEED*LIMIT?'         
               CPCUPIDV='USER*PARTITION ID*IS VALID?'                   
               CPCUSEIW='USE INIT WEIGHT*FOR CAP GROUP*PROJECT?'        
               CPCWMGT ='WLM WEIGHT*MANAGEMENT*ENABLED?'                
               LCPUABSL='ABSOLUTE LIMIT*ON LPAR USAGE*CHANGED?'         
               LCPUDED ='PROCESSOR DEDICATED?'                          
               LCPUHIPD='HIPERDISPATCH*MODE IS ACTIVE?'                 
               LCPUHWCL='ABS LIMIT*LPAR USAGE*THIS TYPE'                
               LCPUICAP='INITIAL*CAPPING*ON?'                           
               LCPUICST='INITIAL CAPPING*STATUS CHANGED?'               
               LCPUMAWC='MAXIMUM*WEIGHT*CHANGED?'                       
               LCPUONL ='PROCESSOR*ONLINE?'                             
               LCPUONOF='PROC*ONLINE TO*OFFLINE OR*VICE-VERSA?'         
               LCPUPRNA='PROCESSOR*NOT AVAILABLE*IN MINTIME?'           
               LCPUSD  ='PROC*SHARED TO*DEDICATED OR*VICE-VERSA?'       
               LCPUWCCH='WAIT*COMPLETION*CHANGED?'                      
               LCPUWCN ='WAIT*COMPLETION*NO?'                           
               LCPUWCY ='WAIT*COMPLETION*YES?'                          
              -CPC table bit string field LCPUSTIN (Processor Status    
               Change Indicators) is now decoded into 6 new Y/N valued  
               variables in the ZRBLCP data set.                        
              -Part of the GEI table was not being processed by VMACRMFV
               and new fields added by z/OS 2.1 are now also supported  
               in the ZRBGEI dataset.                                   
              -The PDB build for the ZRBGEI dataset variable            
               GEICPUOL='AVERAGE*OF ONLINE*PROCESSORS' was inputting    
               from a GEI table field that has been reserved since z/OS 
               1.1 and was always zero.  GEICPUOL and derived variable  
               PCTCPUBY will now both always be set to missing for      
               compatibility with any existing user reports.  Use the   
               ZRBCPU and/or ZRBLCP datasets for equivalent data.       
              -New ZRBGEI dataset variables (36):                       
               GEICASL ='64-BIT*COMMON*AUX STORAGE*SLOTS'               
               GEICFFR ='64-BIT*COMMON*FRAMES*FIXED IN REAL'            
               GEICFR  ='64-BIT*COMMON*FRAMES*BACKED IN REAL'           
               GEICMO  ='64-BIT*COMMON*OBJECTS*ALLOCATED'               
               GEICSIZ ='HIGH*COMMON*AREA*SIZE'                         
               GEICUSE ='HIGH*VIRTUAL*COMMON PAGES*IN-USE'              
               GEIEHIAL='LSQA/SWA/229/230*ALLOCATED*ABOVE 16M'          
               GEIELOAL='USER REGION*ALLOCATED*ABOVE 16M'               
               GEIHIAL ='LSQA/SWA/229/230*ALLOCATED*BELOW 16M'          
               GEILCMO ='FIXED*MEMOBJECTS*ALLOC IN*COMMON*STORAGE'      
               GEILCMU ='1MB HIGHVIRT*COMMON OBJECTS*OWNER GONE'        
               GEILCPR ='1MB HIGHVIRT*COMMON PAGES*BACKED*IN REAL'      
               GEILCPU ='1MB HIGHVIRT*COMMON PAGES*OWNER GONE'          
               GEILF4K ='1MB FIXED*FRAMES USED*BY 4K*PAGE REQS'         
               GEILFPF ='1MB FRAMES*IN LFAREA*SATISFY*1MB REQS'         
               GEILFUSE='1MB FRAMES*USED BY*FIXED*MEMORY OBJECTS'       
               GEILOAL ='REGION*ALLOCATED*BELOW 16M'                    
               GEILP4K ='1MB PAGEABLE*PAGES USED*BY 4K*PAGE REQS'       
               GEILPAG ='1MB FRAMES*USABLE*PAGEABLE*DREF'               
               GEILPFCI='DEMOTED 1MB*PAGEABLE PAGES*CVRT TO 4K'         
               GEILPFRI='FAILED 1MB*PAGEABLE PAGES*REQUESTED'           
               GEILPUSE='1MB FRAMES*USED BY PAGE/DREF MEMOBJECTS'       
               GEILSIZ ='MAXIMUM*LARGE*FRAME*SIZE'                      
               GEIRBFIX='FIXED*FRAMES*BELOW 16 MB*IN REAL'              
               GEIRLMO ='LARGE*MEMORY*OBJECTS*ALLOCATED'                
               GEIRLPR ='1 MB FRAMES*BACKED IN*REAL STORAGE'            
               GEIRSTRF='HIGH VIRT*COMMON*PAGES*IN-USE'                 
               GEIRTFIX='TOTAL*FIXED FRAMES'                            
               GEISASL ='HIGH VIRT*SHARED MEMORY*AUXSTORAGE*SLOTS'      
               GEISEQ  ='CPC*SEQUENCE*NUMBER'                           
               GEISFR  ='HIGHVIRT*SHAREDMEM*FRAMES*BACKED IN REAL'      
               GEISLTA ='CURRENTLY*AVAILABLE*SLOTS'                     
               GEISMO  ='HIGHVIRT*SHAREDMEM*OBJECTS*ALLOCATED'          
               GEISSIZ ='SHARED*AREA*SIZE'                              
               GEISUSE ='HIGH*VIRTUAL*SHARED PAGES*IN-USE'              
               GEITOTPI='TOTAL*NUMBER OF*PAGED-IN PAGES'                
              -The ASMRMFV Dynamic Method will now detect empty RMF     
               Monitor III VSAM data sets and NOT dynamically allocate  
               them.  Prior to this change the condition was not        
               detected until the file was opened, but the dynamic      
               allocation and subsequent open overhead was unnecessary. 
              -ASMRMFV CSI search summary message RMFV065I now includes 
               the count of empty data sets found.                      
              -New ASMRMFV message RMFV054* will be issued for any empty
               data sets found during CSI scan or VSAM open.  (*=I,A,W).
              -New ASMRMFV message RMFV055* will be issued for          
               "imposter" VSAM data sets that have the correct RMF      
               Monitor III CISIZE and RECSIZE, but do not have a valid  
               DSH table id of 'DSIG3'.  (*=I,A,W).                     
              -New ASMRMFV message RMFV051* is issued for all data set  
               type errors (not a VSAM RRDS) during a CSI scan or VSAM  
               open and always includes the DDNAME.  (*=I,A,W).         
              -New ASMRMFV message RMFV067* now directs users to IBM    
               message IDC3009I for non-zero Catalog Management Return  
               and Reason Codes produced during a CSI search.           
               (*=I,A,W).                                               
              -Show ASMRMFV error message RMFV066E during Dynamic       
               Allocation abend.                                        
              -Show ASMRMFV message RMFV067E during Catalog/Dsname CSI  
               search error abend.                                      
              -ASMRMFV message RMFV007S could have incorrect Return     
               and/or Reason Codes shown.                               
              -ASMRMFV message RMFV038* is now message RMFV052*         
               (*=I,A,W).                                               
              -ASMRMFV message RMFV039* is now message RMFV053*         
               (*=I,A,W).                                               
              -ASMRMFV message RMFV037I REPORT= and OUTPUT= settings are
               now aligned in output for better readability.            
              -Multi-severity ASMRMFV error messages controlled by *ERR=
               parameter settings and used for a single purpose are now 
               tailored only once during initialization instead of every
               time issued.                                             
              -Assemblies of ASMRMFV will no longer print the source    
               code documentation as this is available to browse in the 
               ASMRMFV member as well as in ADOCRMFV.                   
              -The ASMRMFV/ZASMRMFV source prologues as well as         
               ADOCRMFV, JCLRMFV, JCLCRMFV, and JCLDRMFV documentation  
               members are updated appropriately.                       
              -New variables added to RMF III dataset ZRBLCP:           
                CPCHOME CPCLPARI CPCLPMAX CPCUPIDV CPCCAPG CPCWMGT      
                CPCUSEIW LCPUPRNA LCPUONL LCPUDED LCPUWCY LCPUWCN       
                LCPUICAP LCPUHIPD LCPUONOF LCPUSD LCPUDED LCPUICST      
                LCPUWCCH LCPUMAXW LCPUABSL LCPUHWCL                     
              -REQUIREMENT: In order to receive these improvements the  
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.        
                                                                        
Change 31.180  Detection that a LIBNAME points to a SAS z/OS TAPE-FORMAT
VGETOBS        or sequential-format-on-DASD dataset is NOW done by macro
Aug 26, 2013   VGETOBS, so that we can bypass a performance issue, but  
Aug 31, 2013   WPS ABENDed with the original VGETOBS because WPS did not
               exactly clone the SAS behavior:                          
                 When there is a WHERE clause with PROC SQL's search of 
                 DICTIONARY.TABLES, SAS opens the LIBNAME and scans it, 
                 but WPS ABENDED if the LIBNAME was tape/sequential.    
                 The exposure to this ABEND under WPS occurs when an    
                 input tape/sequential LIBNAME not been OPENed and      
                 VGETOBS's PROC SQL is invoked, for example, when       
                 ASUMUOW is executed standalone.  If ASUMUOW instead is 
                 %INCLUDEd as part of the BUILDPDB step, where the input
                 LIBNAMES to be opened by ASUMUOW are already OPEN,     
                 there is no ABEND.                                     
             - History:                                                 
               When a PROC SQL is issued against DICTIONARY.TABLES that 
               uses a WHERE clause referencing a LIBNAME that has not   
               yet been opened or scanned, SAS reads that LIBNAME to    
               find all SAS Datasets (MEMNAME) in that data library, to 
               populate that table.  But, if the LIBNAME is on tape,    
               then every tape volume must be mounted and read, since   
               there is no directory of MEMNAMEs on tape data libraries.
               To eliminate that waste of CPU and I/O and the elongated 
               elapsed time, VGETOBS was enhanced to detect that the    
               LIBNAME is on tape so it can bypass the multi-vol read.  
                                                                        
               So while the ABEND is a WPS issue, but because we can, to
               help MXG users to keep their jobs (and to keep their JOBS
               running without ABENDs), the algorithm was revised to get
               around the WPS issue and eliminate the multi-tape read.  
                                                                        
               FOR MXG EXECUTION ON Z/OS ONLY:                          
                                                                        
               VGETOBS now reads the DICTIONARY.TABLES and writes all   
               of those names to a temporary table, MXGTABLES, which is 
               then searched for the LIBNAME & MEMNAME (DDNAME & SAS    
               dataset).  Removing the WHERE clause from the first PROC 
               SQL prevents that first complete READ of the tape.       
                                                                        
               If BOTH the LIBNAME and MEMNAME are found in MXGTABLES,  
               then the LIBNAME was already open and VGETOBS passes back
               to its caller the MEMNAME, number of OBS, the create date
               and the member type, which is the normal information that
               is returned by VGETOBS, and VGETOBS was successful.      
                                                                        
               If the LIBNAME/MEMNAME is NOT found in MXGTABLES, then   
               DICTIONARY.LIBNAMES is searched, again without a WHERE   
               clause creating MXGLIBNAMES, which is then searched for  
               the LIBNAME.  If the LIBNAME is NOW found, and if that   
               libname is NOT tape format, then that LIBNAME does NOT   
               contain the MEMNAME we are seeking, and MXG will politely
               terminate with an explanatory message on the SAS log.    
               However, if we determine the LIBNAME is a tape-format    
               library, we assume you know what you are doing and that  
               the dataset does exists in that LIBNAME and continue.    
                                                                        
               If the LIBNAME is not found in MXGLIBNAMES or MXGTABLES  
               then EXTFILES table is searched for the FILEREF=DDNAME,  
               and if that DDNAME is found to exist, then it has been   
               allocated in this step, so we execute a DATA _NULL_ step 
               that reads the first block in that DDNAME, and examine   
               the text in that first block for the "SAS" or "WPS" text 
               that uniquely identifies if this is a SAS or WPS dataset 
               and whether it is disk or tape format.                   
                                                                        
               If we search EXTFILES and do NOT find the DDNAME or we   
               find that it is NOT a SAS or WPS sequential dataset, then
               WE FORCE YOUR JOB TO ABEND WITH A U1950 ABEND:           
          IEF450I JOBNAME MXGSAS STEP - ABEND=S000 U1950 REASON=00000000
                                                                        
               ==> NOTE, PREVIOUSLY WE ONLY PRINTED A WARNING MESSAGE.  
                                                                        
               If it is a disk dataset, then a LIBNAME command is       
               issued with either the V9 or WPD engine as appropriate   
               and then we reinvoke VGETOBS, since executing the LIBNAME
               statement populates DICTIONARY.TABLES.                   
                                                                        
               But if instead it is a SEQUENTIAL tape-format library (on
               tape OR on disk) we look for that MEMNAME in that first  
               block, and if found, then the LIBNAME/MEMNAME are valid; 
               normally, VGETOBS is called by VMXGSUM (or a similar MXG 
               program) so the next SET statement or reference will open
               the LIBNAME without spinning the entire tape. A global   
               MACRO variable VGETTAPES is populated with the now known 
               tape DDNAME so that for subsequent VGETOBS executions we 
               will ALWAYs assume the existence of the dataset rather   
               than looking for it and possibly causing an unneeded spin
               of the tape dataset.                                     
                                                                        
               But, if the dataset name is NOT on that first record     
               then, we gamble that you know what you are doing by      
               telling us to use that LIBNAME and MEMNAME, so we assume 
               it must exist further into that tape, so we allow the    
               processing of the dataset to continue, but we print      
               MXGWARN messages so you'll know why the job took so long.
               Of course, if you lied and the dataset does NOT exist in 
               that DDNAME, then the job will ABEND ungracefully.       
                                                                        
              -There are two situations that will cause VGETOBS to issue
               a USER ABEND 1950 when executing on z/OS:                
                - DDNAME is NOT in the EXTFILES list of allocated DDs   
                - DDNAME exists but the first record does not identify  
                         it as a SAS or WPS data library.               
                                                                        
               FOR MXG EXECUTION ON ASCII ONLY:                         
               For ASCII, a LIBNAME statement must have been issued for 
               any LIBNAME, since there's no "JCL", and as there are no 
               tape-format libraries on ASCII, the WHERE clause is used.
               If the search in DICTIONARY.TABLES is unsuccessful, then 
               it doesn't exist, and with no other place to look,       
               VGETOBS prints an MXGERROR: message that the dataset does
               not exist.                                               
                                                                        
               FOR THE HISTORICAL RECORD:                               
               The first implementation of the new algorithm removed the
               WHERE clause in the first search.  After the functional  
               tests on both ASCII and z/OS were successful, the primary
               QA test step run time jumped from 8 to 155 minutes, due  
               to that removal of the WHERE clause, but also due to the 
               unique QA environment that allocates every MXG LIBNAME   
               and every INFILE that has ever been used in MXG, and     
               creates every MXG dataset that has ever been created from
               every input data source MXG has ever supported, so there 
               are hundreds of LIBNAMEs and thousands of DATASETs, and  
               with thousands of VGETOBS calls, that small increase in  
               the search time of a few LIBNAMEs is magnified.  In any  
               real job there will only be a few of LIBNAMEs, and only  
               those that are already open are searched without the     
               WHERE, and typically there is only one VGETOBS call per  
               JCL step, so there is no issue.  But, since the only need
               for the removal of the WHERE clause is for the z/OS      
               environment, the final implementation reinstates the use 
               of the WHERE clause when executing under ASCII.          
                                                                        
Change 31.179  Support for Websphere MQ 7.1.0 new subtype 5, 6, and 7:  
EXTY1155        DDDDDD  DATASET    DESCRIPTION                   SUBTYPE
EXTY1156        TY1155  TYPE1155   SMC POOL HEADER STATISTICS       5   
EXTY1157        TY1156  TYPE1156   SMC GETMAIN MANAGER STATISTICS   6   
IMAC115         TY1157  TYPE1157   SMC REGION SUMMARY STATISTICS    7   
VMAC115                                                                 
VMXGINIT                                                                
AUG 26, 2013                                                            
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
Change 31.178  WARNING: MULTIPLE LENGTH CAPIFART and more variables when
VMXGRMFI      TRNDRMFI was executed the second time because first TRND  
AUG 22, 2013  had length 8 but the WEEK.RMFINTRV still had length 5/6.  
              Now, the variables in RMFINTRV and TRNDRMFI are expanded  
              to 8 bytes by relocating the LENGTH statement to prevent  
              that warning (when VARLENCHK=WARN is specified in 9.3).   
              See Change 31.174.                                        
                                                                        
Change 31.177  SHADOW variable SM01ADCT='ADABAS*COMMAND*COUNT' was INPUT
VMACSHDW      incorrectly as an 8-byte duration, but it is 4-byte count.
AUG 27, 2013 -SQL text variable increased to 32000.                     
SEP  4, 2013                                                            
   Thanks to Stuart Wildey, MorganStanley, ENGLAND.                     
                                                                        
Change 31.176  Unused Change Number.                                    
                                                                        
Change 31.175  WARNING: MULTIPLE LENGTHS for PACKNAME corrected, was due
ANALDB2R      to a mismatch in compiler faker variable's lengths.       
Aug 22, 2013  See Change 31.174.                                        
                                                                        
Change 31.174  WARNING: MULTIPLE LENGTHS for IFAUPTM and ZIPUPTM, with  
VMAC7072      RETURN CODE 4 set, can occur with MXG 31.05 because the   
Aug 21, 2013  option / INHERIT was not specified when a new PROC MEANS  
              was used to create the new SUMSTYPE70EN dataset.          
                                                                        
              Tutorial:  WARNING: MULTIPLE LENGTHS message:             
              This warning message that sets CC=4 was introduced in the 
              first SAS 9.2 (TS1M0), but there were so many complaints  
              that a Hot Fix for TS1M0 was created to reverted to SAS   
              9.1.3 no-warn behavior, and then in SAS 9.2 (TS1M0) the   
              new VARLENCHK=NOWARN/WARM option, with NOWARN default was 
              added.  So you should not normally see these warnings.    
              But since there is an underlying issue, VARLENCHK=WARN is 
              now enabled for the MXG QA stream, and the existing cases 
              are fixed in the several preceding changes, and will be   
              caught and corrected in future releases.                  
   Thanks to Don Shelton, Time Customer Service, Inc., USA.             
                                                                        
Change 31.173  New variables added to TYPETPMX dataset:                 
VMACTPMX         DBS_I214='DBS_STK*AUTOMATED*3490_SD3'                  
Aug 20, 2013     DBS_I215='DBS_STK*AUTOMATED*3490_9840'                 
                 INCLA   ='INCLA*CLASS'                                 
                 JCL_D   ='JCL_D'                                       
                 OUTCL   ='OUTPUT*CLASS'                                
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.172  The SMF 113 counters have different metrics for each CPU 
VMAC113       type (z/10, z/196-z/114, and zEC12), but MXG's labels were
Aug 19, 2013  those of the newest processor type.  That is unchanged by 
              default, still, but this change allows you to change those
              counter labels if you don't have the zEC12.  You only need
              to change the old-style macro _XLA113 to the desired token
              for the labels, _XLA113A (z/10), _XLA113B (z/196-z/114)   
              or _XLA113C (zEC12), using this syntax for a z/114:       
                %LET MACKEEP=  MACRO _XLA113  _XLA113B  %               
   Thanks to Perry Lim, Union Bank, USA.                                
                                                                        
Change 31.171  The use of VIEWs in SMFSRCH, with this straight-forward  
VMXGSRCH      invocation:                                               
Aug 18, 2013     %SMFSRCH(LOOKFOR=BWM.ABC.LOADLIB,SMFOUT=SMFOUT);       
Aug 30, 2013  resulted in this message on the log:                      
                 ERROR:UNABLE TO CREATE WORK.TABLES.DATA BECAUSE        
                       WORK.TABLES.VIEW ALREADY EXISTS.                 
              which terminated the search of SMF data in SAS 9.3 & 9.4. 
              The error is circumvented by changing the temporary table 
              name to TABLE1 and by removal of all VIEWs, since they are
              not needed for this ad hoc, occasionally run program. The 
              actual SQL Table Cleanup issue will be addressed later.   
   Thanks to Dan Case, Mayo Clinic, USA.                                
                                                                        
Change 31.170  Variable SM1209BK (Short Server Name) is added to subtype
VMAC120        9 datasets TYP1209C, TYP1209S and TYPE1209U to permit the
Aug 17, 2013   selection of those records to limit volume when merging. 
                                                                        
Change 31.169 -New variables SM1132MT and SM1132MM, machine type and the
ASUM113        model were not input because line 919 should be SM113DLN 
VMAC113        instead of SM113DON.                                     
Aug 15, 2013  -For the zEC12, MXG's equations for DWINSORM and DWDASORM 
               were not updated from the z196/z114 equations causing    
               large negative values.  The equations were updated and   
               now only a few obs with small negative values are seen.  
   Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.                          
   Thanks to Don Deese, Computer Management Sciences, USA.              
                                                                        
Change 31.168 -New variables added by Version 3 to the BVIR02 dataset:  
VMACBVIR         HOSTHROT='HOST*THROTTLE'                               
Aug 14, 2013     (no 02 records with which to validate).                
Aug 25, 2013  -New variables added by Version 3 to the BVIR10 dataset:  
                 AVGCPUSE 'CPU*USAGE*PERCENT*AT END OF*INTERVAL'        
                 MAXDCUPC 'MAX*DISK CACHE*USAGE*PERCENT'                
                 REAHOSTH 'HOST*WRITE*THROTTLE*REASON'                  
                 REACPYTH 'COPY*THROTTLE*REASON'                        
                 READEFTH 'DEFERRED*COPY*THROTTLE*REASON'               
                 (no 10 records with which to validate).                
              -New variable2 added by Version 3 to the BVIR20 dataset:  
                 DEVMAXDL='MAXIMUM*DELAY'                               
                 DEVAVGDL='AVERAGE*DELAY'                               
                 DEVINTDL='DELAY*INTERVAL*PERCENTAGE'                   
              -New variables added by Version 3 to the BVIR30 dataset:  
                 MAXCPUSE 'MAX*CPU*USAGE*PERCENT'                       
                 AVGCPMAX 'AVG*MAX*DISK*USAGE*PERCENT'                  
                 MAXDSKPC 'MAX*DISK*USAGE*PERCENT'                      
                 REAHOSTH 'HOST*WRITE*THROTTLE*REASON'                  
                 REACPYTH 'COPY*THROTTLE*REASON'                        
                 READEFTH 'DEFERRED*COPY*THROTTLE*REASON'               
               Aug 25: +64 corrected to +54 for misalignment in styp 7. 
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
Change 31.167A VOLTAGE Release 4.2 subtype 5 records with their triplet 
VMACZPRO       claiming more segments than can fit in the record have   
Aug 13, 2013   only a few unreadable segments at the end of each record,
               so this circumvention reads those segments that can be   
               read based on record length and warns that segments were 
               skipped.  Release 4.3.0 corrects this error, and with    
               that version installed, this MXG change is NOT required. 
               (Yes, this is the 2nd Change 31.167, too late to change.)
   Thanks to Gennady Katsnelson, IBM Global Technology Services, USA.   
                                                                        
Change 31.167  DB2 V8 ONLY. %READDB2(IFCIDS=STATS 225) did not read the 
READDB2        V8-only ID=102 Subtype=225 records, causing all QW0225xx 
Aug 13, 2013   variables in PDB.DB2STATS for DB2 V8 records observations
               to be missing values.  Several old tests for NE 225 were 
               removed to allow T102S225 to be populated.               
              -DB2 V8 ONLY.  Missing value messages from VMACDB2H for V8
               records which don't contain QWHCLOTC/QWHCLORO/QWHCLOAU   
               are eliminated.  Important only because they had to be   
               identified to eliminate them as the cause of zero obs.   
   Thanks to John Leyland, HP Enterprise Services UK Ltd, ENGLAND.      
                                                                        
Change 31.166  Support for IFCID=380 STORED PROCEDURE DETAIL RECORD     
EX102380       creates new T102S380 dataset.                            
IMAC102       -Typo PIB.2 corrected to &PIB.2. for syntax consistency in
VMAC102        IFCID=358, but fortunately had no actual impact on value.
VMXGINIT      -Typos QWT02R2-zero instead of -OH in IFCID=196 caused    
Aug 12, 2013   second and subsequent segments, if they existed, to be   
Sep 12, 2013   re-inputs of the first segment impacting T102S106 data.  
   Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.                          
                                                                        
Change 31.165  MXG 31.05, PDB.DB2STAT1 not created if READDB2 STATISTICS
READDB2        option was used, because a typo in Change 31.128 had only
Aug 11, 2013   one period in line 3112, where two were required:        
                 MACRO _LDB2ST1 &PDB2ST1..DB2STAT1 %                    
               With only one period, SAS did what it was told and wrote 
               the data to the dataset named WORK.PDBDB2STAT1.          
               Note that the %READDB2 STATISTICS option is archaic and  
               the STATS option instead has been strongly recommended,  
               at least in the comments in READDB2:                     
                      STATS        READ ID=100 SMF RECORD TO CREATE     
                                   DB2STATS, DB2STATR DB2GBPST AND      
                                   DB2STATB, DB2STAT5                   
                      STATISTICS   ARCHAIC.  READ ID=100 TO CREATE      
                                   DB2STATS, DB2STATR AND DB2GBPST,     
                                   BUT ALSO WRITES THE REDUNDANT STATS  
                                   DATASETS (DB2STAT0/1/2/4/225/B)      
                                   THAT ARE ALREADY IN DB2STATS.        
               Since IBM has created additional DB2 stats IFCIDS over   
               time, any new interval statistics subtypes will be added 
               only into the PDB.DB2STATS dataset.                      
   Thanks to Larry Stahl, IBM Global Services, USA.                     
                                                                        
Change 31.164  Error messages DISKxxxx HAS X NRCOUNTERS BUT DSKSEQ HAS Y
VMACNMON       followed by INVALID DO CONTROL error ABEND was caused by 
Aug 12, 2013   truly invalid NMON data.  The DISKxxxx descriptor records
               defined 66 disks, but interval T0166 created a pair of   
               DISKBUSY/DISKBUSY1 with 185 device's data, but without a 
               clue that the hardware configuration changed.  The DO    
               Control ERROR is now eliminated, but the bad data can't  
               be validly processed.  Up to 20 messages per HOST will be
               printed when DSKSEQNR NE NRDSKSEQ.  This text will be    
               revised if/when a correction from IBM has been tested.   
   Thanks to Xiaobo Zhang, Fiserv, USA.                                 
                                                                        
Change 31.163  WPS ONLY.  The WPS Compiler failed to correctly resolve  
ANALDB2R       an old-style macro _S102&IFC deep inside READDB2 when it 
READDB2        was invoked by ANALDB2R that should have generated the   
Aug  8, 2013   _S102023 token for IFCID=023 but instead created _S102004
               which is NOT a dataset created by this %ANALDB2R, which  
               caused  ERROR: DATASET WORK.T102S004.  We have provided  
               a detail trace to our customer to open a problem with WPS
               support, which appeared to be an incorrect order of macro
               resolution between old-style and new-style %macros, but  
               but we found that by replacing the _S102&IFC token that  
               was not correctly resolved, with this alternative syntax 
                 %LET IFCSTRING=S102&IFC;                               
                 _&IFCSTRING                                            
               the WPS error appears to be circumvented.                
               This is the %ANALDB2R invocation that failed, even with  
               //SMF DD DUMMY because it's a compiler issue and not data
               driven:                                                  
                %ANALDB2R(DB2=ADSN DSN,                                 
                   PDB=SMF,PMACC01=NO,PMACC02=NO,PMAUD01=NO,SORTBY=DB2, 
                   PMAUD02=YES,PMAUD03=NO,                              
                   AUDIT=AUTHFAIL AUTHCNTL DDL DML BIND AUTHCHG UTILITY,
                   PMSTA02=NO);                                         
                                                                        
Change 31.162 -Variables JOB, the job creating the list, and BETAJOBN,  
VMACBETA       the job name of the BETA task, were inconsistent/wrong as
Aug  5, 2013   both variables do not always exist, although both were   
               kept in all datasets.  This table identifies which will  
               exist in each subtype (?? - not yet validated with data):
                Subtype   BETAJOBN    JOB                               
                  0         yes       yes                               
                  1         no        yes                               
                  2         ??        ??                                
                  3         ??        ??                                
                  4         ??        ??                                
                  5         yes       NO                                
                  6         ??        ??                                
                  7         ??        ??                                
                  8         ??        ??                                
                 20         yes       yes                               
                 21         yes       yes                               
                 22         ??        ??                                
                 25         yes       yes                               
                 40         ??        yes                               
                 41         ??        yes                               
                 42         ??        yes                               
                 49         no        yes                               
                 50         yes       no                                
                 51         no        yes                               
              -Variable BETAJOB was only kept in BETA20 and should not  
               have been created, since JOB is the normal variable, but 
               it is kept to prevent variable not found errors.         
              -Variable BETALJOB was kept in BETA21/25/40/41/42 but as  
               it contains the JOB value, those datasets variable JOB   
               is now correctly populated from BETALJOB variable, which 
               is also still kept to prevent variable not found errors. 
              -This change now correctly inputs BETAJOBI for BETAJOBN or
               inputs JCTJOBID for JOB in the header, based on subtype, 
               but only the records above with yes or no are validated. 
               If you create obs in those other datasets, please send   
               your SMF data so I can validate and update with data.    
   Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.                          
                                                                        
Change 31.161  Cosmetic.  Three UNINITIALIZED variable messages removed 
VMACRMFV       and debugging PUTLOG COL= N statement removed.           
Aug  1, 2013                                                            
                                                                        
Change 31.160  Support for Velocity Software new segments that create   
EXXAMCSH       these new datasets (This MAY have been zVPS 4.2.)        
EXXAMCTY                                                                
EXXAMHPP         DDDDDD  DATASET   DESCRIPTION  INFILE                  
EXXAMSPT                                                                
EXXMUDIO         XAMCSH  XMCPSHAR    CPSHAR     XAMSYS                  
EXXMVCPU         XAMCTY  XMCPTYPE    CPTYPE     XAMSYS                  
IMACXAM          XAMHPP  XMIODHPP    IODHPP     XAMDEV                  
VMACXAM          XMUDIO  XMUCDDIO    UCDDIO     XAMTCP                  
VMXGINIT         XMVCPU  XMVSICPU    VSICPU     XAMTCP                  
Aug 20, 2013     XAMSPT  XMSYTSPT    SYTSPT     XAMSYS                  
Aug 21, 2013   and add new variables to many existing XAM datasets.     
              -All datasets are created and all tokens defined.         
              -Large VM systems can create multiple XAMSYS records for  
               each interval, but since only that first record contains 
               all of the 'single-instance-per-interval' segments that  
               are all output into dataset XAMSYS, those additional     
               records created an observation in XAMSYS with all values 
               a missing value.  Now, only that first record is output  
               in XAMSYS (and, of course, those other multiple-instance 
               segments are output to their unique MXG dataset.         
              -VSICPU: There is one set of counters per Virtual CPU, and
               SEGLEN is used to calculate the number of segments.      
              -SYTCPM: Rather than creating one obs for each channel in 
               the XMSYTCPM dataset, the 256 channel busy variables     
               PCTCHPBUSY00-PCTCHPBUSYFF are now output in XAMSYS and   
               dataset XMSYTCPM is no longer created, and references to 
               to dddddd token SYTCPM are removed from VMACXAM and the  
               EXSYTCPM member is deleted.                              
              -The SYTCPM segment NCHAN field does not count the number 
               of channel busy metrics in the record; instead, it is the
               the highest channel number.  And while SEGLEN does count 
               the actual number of metrics in the record, it is wrong  
               in current XAM records with an extra four bytes:         
                a. NCHANS='FF'x (255), SEGLEN=1140 => 257 actual metrics
                b. NCHANS='FB'x (251), SEGLEN=1124 => 253 actual metrics
               and that 257 value raised an ARRAY SUBSCRIPT error with  
               only 256 possible metrics expected.  While Barton will   
               fix SYTCPM so the SEGLEN is correct, this                
               change/circumvention simply increases the array size to  
               257 but only the first 256 variables are kept, so you    
               won't have to change MXG when Barton makes his change.   
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
   Thanks to Douglas C. Walter, Citigroup, USA.                         
                                                                        
Change 31.159  Mostly cosmetic; HOLDxxxx variables are DROPped and the  
ANAL42DS       TASKTYPE typo was corrected to TYPETASK.                 
Jul 30, 2013                                                            
                                                                        
Change 31.158  Circumvention for added fields in TMQQAA that caused the 
VMACTMMQ       2nd and subsequent observations from the same record to  
Jul 30, 2013   be misaligned.                                           
                                                                        
Change 31.157  Examples in JCLUOW, JCLMQMCI & ASUMUOW were inconsistent 
JCLUOW         and in some cases incorrect, and created unneeded data.  
JCLMQMCI        JCLUOW   - Creates CICSTRAN,DB2ACCT, then PDB.ASUMUOW   
ASUMUOW         JCLMQMCI - Adds MQMACCT,MQMACCTQ, creates PDB.ASUMUOW.  
Jul 29, 2013                                                            
   Thanks to Thomas Kelman, Xerox, USA.                                 
                                                                        
====== Changes thru 31.156 were in MXG 31.05 dated Jul 29, 2013=========
                                                                        
Change 31.156 -MACROs _N70, _N72, _S70, and S72 are created so that you 
VMAC7072       can create only datasets from ID=70 or ID=72 RMF records.
Jul 25, 2013   (Members TYPE7072/TYPS7072 process both records because  
               early RMF required passing CPUTYPE from the 70 to the 72 
               so that CPU could be calculated from service units with a
               table lookup to get SU_SEC.  Yep, I said EARLY!)         
               While most will always create both suites of datasets,   
               you can use these new macro tokens to process only one of
               the two record; for example:                             
                  //SYSIN DD *                                          
                    %LET MACKEEP=                                       
                       _N72                                             
                       MACRO _S72  %                                    
                    ;                                                   
                    %INCLUDE SOURCLIB(TYPS7072);                        
               will only create the PDB.TYPE70xx datasets:              
                _N72  Nulls the creation and OUTPUT of TYPE72xx datasets
                _S72  Blanks/Nulls the SORTs of TYPE72xx datasets.      
              -MACRO _DROP70 lists the TYPE70 per-engine variables      
               so you can ignore them  using                            
                  %INCLUDE SOURCLIB(VMAC7072);                          
                  PROC PRINT DATA=PDB.TYPE70 (DROP- _DROP70);           
               or drop them from a new dataset using:                   
                  %INCLUDE SOURCLIB(VMAC7072);                          
                  DATA WANT;SET PDB.TYPE70; DROP _DROP70;               
              -TYPE70 only keeps the first 102 per-engine variables.    
               Dataset TYPE70EN has all 255 possible per-engines.       
                                                                        
Change 31.155 -Protection for INVALID DATA FOR RVPERCEN when IBM stored 
VMACEDGR       '***' EBCDIC for the numeric VOLUME*PERCENTAGE*FULL.     
Jul 25, 2013   The double question-mark-modifier was added to RVPERCEN  
               INPUT to suppress the ERROR message and the hex dump.    
               With or without this protection, the value in RVPERCEN   
               is a missing value.  If I can find out what those three  
               asterisks mean, I'll update this note.                   
              -Change 31.118 failed to input RVMEDTY causing subsequent 
               RVxxxxx variables to be trashed in EDGRXEXT dataset.     
   Thanks to Paul Volpi, UHC, USA.                                      
                                                                        
Change 31.154  By default, ASUMHSM summarizes all HSM systems, but you  
ANALHSM        can use   MACRO _HSMPLEX   HSMPLEX=SYSTEM;  %  in  a     
ASUMHSM        %LET MACKEEP= in your SYSIN to create a separate summary 
TRNDHSM        for each system, ANALHSM was updated to allow HSMPLEX to 
Jul 25, 2013   be used to report each SYSTEM/LPAR, and variable HSMPLEX 
               (default is blank) is added to the SUMBY= in TRNDHSM.    
   Thanks to Rick Ralston, Humana, USA.                                 
                                                                        
Change 31.153  Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH IBM DATA
BUIL3005      -z/OS 2.1 Compressed Log Stream can only be read with     
BUILD005       IFASMFDL running on a z/OS 2.1 system with zEnterprise   
EXT11941       Data Compress (zEDC) Express.  Otherwise, IFASMFDL will  
EXT11942       fail with Return Code 4, unless you have enabled         
EXT11943       SOFTINFLATE option of IFASMFDL, which will decompress,   
EXT11944       but at higher CPU cost than zEDC Express.                
EXT1194L      -"You can specify LRECL=32760 instead of 32767" (default) 
EXT11971       is finally now stated in the SMF manual, but 32767 should
EXTY42VC       NEVER have been used for the LRECL.  It can never be     
EXTY9036       greater than 32760 and 32767 has caused many programs to 
FORMATS        fail (BUT NOT SAS!!).  And, of course, IBM is reluctant  
VMAC104        to change ANY default, even those they recommend that you
VMAC113        should change!                                           
VMAC119       -New SMFPRMxx PERMFIX parameter sets minimum (1MB) to     
VMAC1415       maximum (2GB) page fixed real storage that is set aside  
VMAC23         for zEDC Express decompression services for compressed   
VMAC26J2       SMF data.  NOPERMFIX default, but up to 2MB pages can be 
VMAC30         fixed for zEDC Express.                                  
VMAC30        -New SMF30 Instruction Counters variables are added to ALL
VMAC42         MXG datasets derived from SMF 30s that contain CPUTCBTM: 
VMAC6           TYPE30_V,SMFINTRV,TYPE30_4,TYPE30_5,PDB.STEPS,PDB.JOBS; 
VMAC60        -IBM now recommends these 30 hardware instruction counters
VMAC7072       should be used for chargeback instead of processor time: 
VMAC71     SMF30_INST_CP_TASK            =SMF30*INST*CP*TASK            
VMAC73     SMF30_INST_CP_NONPREEMPTSRB   =SMF30*INST*CP*NONPREEMPTSRB   
VMAC74     SMF30_INST_CP_PREEMPTSRB      =SMF30*INST*CP*PREEMPTSRB      
VMAC90     SMF30_INST_OFFLOAD            =SMF30*INST*OFFLOAD            
VMACDCOL   SMF30_INST_OFFLOADONCP        =SMF30*INST*OFFLOADONCP        
VMXGINIT   SMF30_INST_CP_ENCLAVE         =SMF30*INST*CP*ENCLAVE         
EXTY749    SMF30_INST_OFFLOAD_ENCLAVE    =SMF30*INST*OFFLOAD*ENCLAVE    
           SMF30_INST_OFFLOADONCP_ENCLAVE=SMF30*INST*OFFLOADONCP*ENCLAVE
           SMF30_INST_CP_DEPENC          =SMF30*INST*CP*DEPENC          
           SMF30_INST_OFFLOAD_DEPENC     =SMF30*INST*OFFLOAD*DEPENC     
           SMF30_INST_OFFLOADONCP_DEPENC =SMF30*INST*OFFLOADONCP*DEPENC 
Jul 23, 2013  -Sums of subsets of these counts create new variables that
               correspond to the existing CPU time variables:           
                CPU_INST     = Total ALL ENGINES INSTRUCTION COUNT      
                CPUTCBTM_INST= SMF30_INST_CP_TASK+    /*CPT_INST*/      
                               SMF30_INST_CP_PREEMPTSRB+                
                               SMF30_INST_OFFLOADONCP+                  
                               SMF30_INST_CP_ENCLAVE+                   
                               SMF30_INST_OFFLOADONCP_ENCLAVE+          
                               SMF30_INST_CP_DEPENC+                    
                               SMF30_INST_OFFLOADONCP_DEPENC;           
                CPUSRBTM_INST= SMF30_INST_CP_NONPREEMPTSRB; /*CPS_INST*/
                CPUASRTM_INST= SMF30_INST_CP_PREEMPTSRB; /*ASR_INST*/   
                CPUENCTM_INST= SMF30_INST_CP_ENCLAVE+    /*ENC_INST*/   
                               SMF30_INST_OFFLOADONCP_ENCLAVE;          
                CPUDETTM_INST= SMF30_INST_CP_DEPENC+     /*DET_INST*/   
                               SMF30_INST_OFFLOADONCP_DEPENC;           
              -IBM notes originally had ONLY the _OFFLOAD counter for   
               the zIIP+zAAP counts, but data with _OFFLOAD zero and    
               non-zero _OFFLOAD_DEPENC confirmed the note was wrong,   
               and IBM has confirmed these calculations are correct:    
                CPUZIPTM_CPUIFATM_INST=SMF30_INST_OFFLOAD-              
                                       SMF30_INST_OFFLOAD_DEPENC-       
                                       SMF30_INST_OFFLOAD_ENCLAVE;      
                 (i.e. total instructions on zIIP/zAAP)                 
                CPUTM_INST            =CPU_INST -                       
                                       CPUZIPTM_CPUIFATM_INST;          
                 (i.e. total instructions on CP engines).               
              -TYPE30_V,_4,_5,_6 new variable:                          
                 SMF30_RCMTADJN='NOMINAL*CPU*RATE*ADJUSTMENT'           
                 These new INSTRUCTION COUNTs require SMF30COUNT be     
                 specified in SMFPRMxx, and HIS (SMF 113) must have     
                 enabled ehe Basic Counter Set.                         
              -SMF 6 Printway record adds new JOB ACCOUNTing fields in  
               extended mode (INDC=7) records.   See Change 32.236.     
              -TYPE1415 new SM14DSTYPE identifies Extended Format       
               Type 0/1, or Version 2 decoded by $MG014EF format.       
              -TYPE23, new variables:                                   
                SMF23CWN='COMPRESSED*LOG*BLOCKS*WRITTEN'                
                SMF23NCN='NON-COMPRESSED*LOG BLOCKS*WRITTEN'            
                SMF23PFH='PERMFIX*HWM USED*BY SMF'                      
                SMF23PFM='PERMFIX*MAXIMUM*ALLOWED'                      
                SMF23PFT='PERMFIX*STORAGE*USED*BY*SMF'                  
              -TYPE26J2, New Sub-subtype, not documented in SMF manual  
                yet, will update this note when the new manual is out.  
              -TYPE42 VCC Virtual Concurrent Copy segment (previously   
               existed, but overlooked) creates new TYPE42VC dataset:   
                 S42VCCTK='TRACKS*USING*CONCURRENT*COPY'                
                 S42VCDSP='TRACKS*USING*VIRTUAL*CCOPY'                  
                 S42VCEIT='INITIALIZATION*END*TODSTAMP'                 
                 S42VCID ='VCC*LOGICAL*SESSION*ID'                      
                 S42VCRQS='REQUEST*TYPE VCC*=VIRT CONCUR COPY'          
                 S42VCSET='SESSION*END*TODSTAMP'                        
                 S42VCSSL='LENGTH*OF*SSIDS*FOR SESSION'                 
                 S42VCSSN='NUMBER*OF*SSIDS*FOR SESSION'                 
                 S42VCSSO='OFFSET*TO FIRST*SSID'                        
                 S42VCSST='SESSION*START*TODSTAMP'                      
                 S42VCTS ='TERMINATION*STATUS*N=NORMAL*A=ABNORM'        
              -TYPE60 new SMF60ELP elapsed duration which can be        
               subtracted from SMFTIME to get the START time.           
              -TYPE70, new variables:                                   
               SMF70MCP           =MAXIMUM*CPU*ADDRESS*AVAILABLE        
               SMF70ICP           =HIGHEST*CPUID*INSTALLED*AT IPL       
               SMF70CCP           =HIGHEST*CPUID*CURRENTLY*INSTALLED    
               SMF70CPA_ACTUAL         =PHYSICAL*CPU*ADJUSTMENT*FACTOR  
               SMF70CPA_SCALING_FACTOR =SMF70CPA_ACTUAL*SCALING*FACTOR  
               SMF70UIW='SHOULD*USE*INITIAL*WEIGHT?'                    
               SMF70HW_CAP_LIMIT=ABS LIMIT*PARTITION*USAGE*IN NR ENGINES
                    Note: field contains hundredths of "CPUs", but MXG  
                          converts to count "CPUs", so 1.5 would be one 
                          and one half engines of type SMF70CIX.        
                    Note: APAR OA40539 added this field to z/OS 1.13.   
              -TYPE71, new variables:                                   
               SMF71S7M='MIN SHARED*PAGE GROUPS*ON SCM'                 
               SMF71S7X='MAX SHARED*PAGE GROUPS*ON SCM'                 
               SMF71S7A='AVG SHARED*PAGE GROUPS*ON SCM'                 
              -TYPE72, new dataset TYPE725N='GRS QSCAN STATISTICS':     
               R725QSAS='ADDRESS SPACE ID'                              
               R725QSJN='NAME OF THE JOB'                               
               R725QSRC='START*RESUME*REQUESTS'                         
               R725QSRQ='SUM OF SQUARES*RESOURCES*RETURNED'             
               R725QSRR='RESOURCES*RETURNED*FOR THESE*REQUESTS'         
               R725QSSC='GQSCAN*ISGQUERY*SPECIFIC*REQUESTS'             
               R725QSSN='SERVICE CLASS NAME'                            
               R725QSSP='SERVICE CLASS PERIOD'                          
               R725QSST='ADDRESS SPACE STOKEN'                          
               R725QSTI='EXECUTION*TIME IN*GRS*THESE*REQUESTS'          
               R725QSTQ='SUM OF SQUARES*EXECUTION*TIME'                 
              -TYPE73, new variables:                                   
               SMF73MSC='CHANNEL*PATH*POWER'                            
               SMF73SPD='CHANNEL*SPEED*BITS PER*SECOND'                 
              -TYPE74, new variables:                                   
               FICONDEV='FICON*DEVICE?'                                 
               AVG74CUQ='AVERAGE*CU*QUEUE*PER IO'                       
               SMF74CUQ='CONTROL*UNIT*QUEING*TIME'                      
               SMF74NM2='DEVICE*NUMBER'                                 
               SMF74SCS='SUBCHANNEL*SET*ID'                             
              -TYPE74CF, new variables:                                 
               R744GTSC='CF*SCM*MAY BE USED*EXTENSIONS'                 
               R744GFSC='FREE*CF*SCM*MEMORY'                            
               R744GISC='SCM*INCREMENT'                                 
              -TYPE74MO, new dataset: STORAGE CLASS MEMORY              
               See Change 33.155. SCM data is now in TYPE74ST dataset.  
               R744MAEC='SCM*AUXILIARY*ENABLED*COMMANDS'                
               R744MALG='SCM*ALGORITHM*TYPE'                            
               R744MCPI='CHANNEL*PATH*IDENTIFIER'                       
               R744MEMA='EST MAX*ASSIGNED*AUGMENTM SPACE'               
               R744MEME='EST MAX*LIST*ELEMENTS*IN SCM'                  
               R744MEML='EST MAX*LIST*ENTRIES*IN SCM'                   
               R744MENE='EXISTING*LIST*ELEMENTS*IN SCM'                 
               R744MENL='EXISTING*LIST*ENTRIES*IN SCM'                  
               R744MFAU='FIXED*AUGMENTED*SPACE'                         
               R744MIUA='AUGMENTED*SPACE*IN USE*BY THIS STRUCTURE'      
               R744MIUS='SCM*IN USE*BY THIS*STRUCTURE'                  
               R744MMBE='MAX*LIST ELEMENTS*PER SCM*BUFFER'              
               R744MMBL='MAX*LIST ENTRIES*PER SCM*BUFFER'               
               R744MRBT='SCM*READ*BYTES*TRANSFERRED'                    
               R744MRFC='SCM*READ OPS*LIST*REFERENCE'                   
               R744MRPC='SCM*READ OPS*PREFETCH OP'                      
               R744MRSQ='SQUARES OF*R744MRST'                           
               R744MRST='SCM*READ OPS*SERVICE*TIME'                     
               R744MSLR='PCT*LIST COUNTS*LOWER*REGULATOR'               
               R744MSLT='PCT*LIST COUNTS*LOWER*THRESHOLD'               
               R744MSMA='MAX*SCM*STRUCTURE*CAN USE'                     
               R744MSRL='SCM*REFERENCES*LIST*STRUCTURE'                 
               R744MSRM='SCM*REFERENCES*MIGRATION'                      
               R744MSRR='SCM*REFERENCES*LIST*HASHING'                   
               R744MSUR='PCT*LIST COUNTS*UPPER*REGULATOR'               
               R744MSUT='PCT*LIST COUNTS*UPPER*THRESHOLD'               
               R744MSWC='SCM LIST WRITES'                               
               R744MWBT='SCM*WRITE*BYTES*TRANSFERRED'                   
               R744MWSQ='SQUARES OF*R744MWST'                           
               R744MWST='SCM*WRITE OPS*SERVICE*TIME'                    
              -TYPE749, new dataset: RMF III PCIE STATISTICS, but zero  
               observations are created, awaiting test data; it's very  
               possible multiple new dataset may ultimately be created. 
               All variables are created for QA comparisons.            
              -TYPE90.  New subtype 36 creates new dataset              
                  dddddd dataset   Description                  ST      
                  TY9036 TYPE9036  SET CON COMMAND              36      
               Subtype 35 was not documented.                           
              -TYPE99EH.  New variables:                                
                  S99EEHMAXAFF='MAXIMUM*AFFINITY*INDEX'                 
                  S99EEHMAXCPU='MAXIMUM*CPU*ID'                         
              -New SMF104 record captures CIM data for AIX, LINUX, and  
               WINDOWS, creating 37 new TYP104nn datasets with nn the   
               record subtype.  Some of the memory metrics in the raw   
               record are in bytes, or KiloBytes, or MegaBytes: ALL are 
               converted in MXG variables to bytes and then formatted   
               MGBYTES to document they contain memory metrics and to   
               display in B/KB/MB/GB/TB etc.  Some "accumulated" fields 
               are documented, but until data is available, I can't tell
               if they really need deaccumulation or not, which would be
               an update to their _ST104xx dataset sort macro.          
                  dddddd dataset   Description                       ST 
                  T10401 TYP10401  AIX_ACTIVE MEMORY EXPANONMETRICS  01 
                  T10402 TYP10402  AIX_PROCESSOR METRICS             02 
                  T10403 TYP10403  AIX_COMPUTER SYSTEM METRICS       03 
                  T10404 TYP10404  AIX_DISK METRICS                  04 
                  T10405 TYP10405  AIX_NETWORK PORT METRICS          05 
                  T10406 TYP10406  AIX_FILE SYSTEM METRICS           06 
                  T10407 TYP10407  AIX_MEMORY METRICS                07 
                  T10408 TYP10408  AIX_OPERATING SYSTEM METRICS      08 
                  T10409 TYP10409  AIX PROCESS METRICS               09 
                  T10410 TYP10410  AIX_SHARED ETHERNET ADAERMETRICS  10 
                  T10411 TYP10411  AIX_ACTIVE MEMORY SHARIMETRICS    11 
                  T10412 TYP10412  AIX_VIRTUAL TARGET DEVICEMETRICS  12 
                  T10420 TYP10420  LINUX_IP PROTOCO LENDPOT METRICS  20 
                  T10421 TYP10421  LINUX_LOCAL FILE SYSTE METRICS    21 
                  T10422 TYP10422  LINUX_NETWORK PORT METRICS        22 
                  T10423 TYP10423  LINUX_OPERATING SYSTE METRICS     23 
                  T10424 TYP10424  LINUX_PROCESSOR METRICS           24 
                  T10425 TYP10425  LINUX_UNIX PROCESS METRICS        25 
                  T10426 TYP10426  LINUX_STORAGE METRICS             26 
                  T10430 TYP10430  LINUX_KVM METRICS                 30 
                  T10431 TYP10431  LINUX_XEN METRICS                 31 
                  T10440 TYP10440  LINUX_IP PROTOCOL ENDPOT METRICS  40 
                  T10441 TYP10441  LINUX_LOCAL FILE SYSTE METRICS    41 
                  T10442 TYP10442  LINUX_NETWORK PORT METRICS        42 
                  T10443 TYP10443  LINUX_OPERATING SYSTEM METRICS    43 
                  T10444 TYP10444  LINUX_PROCESSOR METRICS           44 
                  T10445 TYP10445  LINUX_UNIX PROCESS METRICS        45 
                  T10446 TYP10446  LINUX_STORAGE METRICS             46 
                  T10450 TYP10450  LINUX_ZCEC METRICS                50 
                  T10451 TYP10451  LINUX_ZLPAR METRICS               51 
                  T10452 TYP10452  LINUX_ZCHANNEL METRICS            52 
                  T10453 TYP10453  LINUX_ZECKD METRICS               53 
                  T10460 TYP10460  WINDOWS_LOCAL FILESYSTEM METRICS  60 
                  T10461 TYP10461  WINDOWS_NETWORK PORT METRICS      61 
                  T10462 TYP10462  WINDOWS_OPERATING SYSTEM METRICS  62 
                  T10463 TYP10463  WINDOWS_PROCESSOR METRICS         63 
                  T10464 TYP10464  WINDOWS_STORAGE METRICS           64 
              -TYPE113 Subtype 1 is documented and variables defined,   
               but will not be read until data records exist for the    
               validation.                                              
              -TYPE119.  Six new datasets, with all variables defined,  
               but no observations will be created; INPUT is bypassed   
               until test records are available for validation.         
                 dddddd  Dataset   Description                          
                 T11941  TYP11941  SMC-R LINK GROUP STATISTICS          
                 T1194L  TYP1194L  SMC-R LINK SPECIFIC STATISTICS       
                 T11942  TYP11942  SMC-R LINK STATE START               
                 T11943  TYP11943  SMC-R LINK STATE END                 
                 T11944  TYP11944  RDMA RNIC INTERFACE STATISTICS       
                 T11971  TYP11971  FTP DAEMON CONFIGURATION             
              -TYPEDCOL.                                                
               New variable in DCOLDSET:                                
                  DCDXPSEV='PS*EXTND*FORMAT*VERSION'                    
               New variable in DCOLDC:                                  
                  DDCRMODE='VSAM*SMB*RMODE31*VALUE'                     
               New variable in DCOLDC:                                  
                  DBSEPNM ='SEPARATION*NAME'                            
               THIS CHANGE WAS IN MXG 31.04 BUT WAS NOT DOCUMENTED.     
                                                                        
Change 31.152  TYPE70 corrections/enhancements to zIIP and zAAP metrics.
VMAC7072       Variables ZIPUPTM/IFAUPTM, Up-Time, now excludes parked  
Jul 24, 2013   time (like CP engines in PDB.TYPE70 and like ALL engines 
               in ASUM70PR-created datasets - it was only the specialty 
               engines in PDB.TYPE70 that still included parked time.). 
               so variables PCTZIPBY and PCTIFABY will be larger.       
                                                                        
               New counts of the Online-but-not-Parked zIIP/zAAP engines
               and clarification of the variables with INSTALLED counts 
               are added, as are online and parked durations for the    
               zIIPs and zAAPs:                                         
                                                                        
               Engine  INSTALLED  AVAILABLE UP-TIME  ONLINE    PARKED   
                                                                        
                IFA    NRIFAS     IFACPUS   IFAUPTM  IFAONTTM  IFAPATTM 
                       SMF70IFA                                         
                       PARTNIFA                                         
                                                                        
                ZIP    NRZIPCPU   ZIPCPUS   ZIPUPTM  ZIPONTTM  ZIPPATTM 
                       SMF70SUP                                         
                       PARTNZIP                                         
                                                                        
                CP     NRCPCPU    NRCPUS    CPUUPTM  SMF70ONT  SMF70PAT 
                       PARTNCPU                                         
                                                                        
                New and revised labels:                                 
                PARTNICF='INSTALLED*NUMBER OF*ICF*ENGINES'              
                PARTNIFA='INSTALLED*NUMBER OF*ZAAP*ENGINES'             
                PARTNIFL='INSTALLED*NUMBER OF*IFL*ENGINES'              
                PARTNZIP='INSTALLED*NUMBER OF*ZIIP*ENGINES'             
                                                                        
                NRCPUS  ='ONLINE*NON-PARKED*CP ENGINES'                 
                IFACPUS ='ONLINE*NON-PARKED*IFA ENGINES'                
                ZIPCPUS ='ONLINE*NON-PARKED*ZIP ENGINES'                
                                                                        
                CPUUPTM ='CP ENGINE*AVAILABLE*(UP) TIME'                
                IFAUPTM ='IFA ENGINE*AVAILABLE*(UP) TIME'               
                ZIPUPTM ='ZIP ENGINE*AVAILABLE*(UP) TIME'               
                                                                        
                SMF70PAT='CP*SMF70PAT*PARKED*TIME'                      
                IFAPATTM='IFA*SMF70PAT*PARKED*TIME'                     
                ZIPPATTM='ZIP*SMF70PAT*PARKED*TIME'                     
                                                                        
                SMF70ONT='CP*SMF70ONT*ONLINE*TIME'                      
                IFAONTTM='IFA*SMF70ONT*ONLINE*TIME'                     
                ZIPONTTM='ZIP*SMF70ONT*ONLINE*TIME'                     
                                                                        
   zIIP Example:  PARTNZIP=12  ZIPCPUS=8.01  DURATM=15:00               
                                                                        
   |--------------------ZIPONTTM  2:59:59.74---------------------------|
   |                                                                   |
   |-----------ZIPUPTM 2:00:09.21------------|---ZIPPATTM   59:50.53---|
   |                                         |                          
   |-ZIPACTTM 1:16:48.85-|-ZIPWAITM 42:33.59-|                          
                                                                        
                                                                        
Change 31.151 -Support for zVM 6.3 MONWRITE. INCOMPAT DUE TO MXG CODE,  
VMACVMXA       which didn't SKIP new data compatibly added to SYTCUP and
Feb 20, 2013   and didn't correctly detect the extra 32 bytes in PRCAPM 
Mar 26, 2013   subtype 8, and printed ERROR PROBABLE DATA LOSS DUE TO...
Apr 16, 2013   and BROKEN CONTROL RECORD: NO 8709X, with large _N_=.    
VMXGINIT       This change was made in VMACVMXA at 30.30.               
Apr 24, 2013     -Before _ESYTCUP statement near line 11567, insert:    
Jul 23, 2013        SKIP=CALCPULN-40;IF SKIP GT 0 THEN INPUT +SKIP @;   
               This change was made in VMACVMXA at 31.02.               
                 -Replace (For 5.10 Record showstopper):                
                    IF PRCAPMCT IN (4,8) THEN DO; line 19028 with       
                    IF SUBSTR(PRCAPMV,1,1) NE 'F0'X THEN DO;            
                 -Two instances of ENDTIME=.; lines 8633,8907 are now   
                  comments, just in case, as they are archaic and not   
                  needed (to force detection of a new interval) but in  
                  some cases caused ENDTIME to be missing in startup    
                  records.                                              
              -With those changes, records were read with no execution  
               errors with MXG 31.02; support was NOT announced.        
              -These new variables and/or datasets are now created:     
                                                   SKIP LEN _N_ RECSTART
              -Dataset VXSYTPRP (0.02) new variables:   12  152 101  373
                CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'             
                PFXPRKWT='PARKED*WAIT*TIME'                             
              -Dataset VXSYTASG (0.06) new variables:    8   92 106  493
                CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'             
                PFXPRKWT='PARKED*WAIT*TIME'                             
              -Dataset VXSYTUSR (0.08) new variables:    8  108 106  657
                RLOIB   ='INBOUND*LIVE*GUEST*RELOCATIONS'               
                RLOOB   ='OUTBOUND*LIVE*GUEST*RELOCATIONS'              
              -Dataset VXSYTCUP (0.16) new variables:    8 1216 107 1605
                LCXCCWT ='CURRENT*LPAR*WEIGHT'                          
                LCXCTYCP='CPU*TYPE*CAP'                                 
                CALCAPV ='MAX*PHYSICAL*CPS*THIS TYPE'                   
              -Dataset VXSYTSYG (0.19) new variables:   +12 132 110 2413
                NCPCAPAB='NOMINAL*CAPABILITY*OF A*CPU'                  
                FXRDONE ='ZHPF DCW*TRANSLATE*SUCCESSFUL'                
                FXRWRITE='WRITE CHAN*PRESENTED*TO ZHPF DSW'             
              -Dataset VXSYTSPT (0.24) new variables:  308  364 106 2169
                -PROTECTED: MRHDRLEN=364 ONLY 56 DOCUMENTED.            
              -Dataset VXMTRPRP (1.05) new variables:   12   56   4  433
                CALENTMT='VERTICAL*CPU*ENTITLEMENT='                    
                OFFTOPDS='OFFSET TO RCCTOPDS ARRAY='                    
                PFXPOLAR='CURRENT*POLARIZATION='                        
                RCCTOPDI='DISPATCH*VECTOR*BLOCK='                       
                RCCTOPDS='TOPOLOGY*DESCRIPTOR*IDS='                     
                SIZTOPDS='SIZE OF*RCCTOPDS*FIELD='                      
              -Dataset VXMTRMEM (1.07) new variables:    8  168  84 2497
                RSACKMB2G='FRAMES*LT 2G*FOR SAD*CRASHKERNEL'            
                RSACKMA2G='FRAMES*GT 2G*FOR SAD*CRASHKERNEL'            
              -Dataset VXMTRSCH (1.16) new DATA UNKEPT. 40  132  94 1345
                SRXCPPAD and SRXEXUSE decoded but not kept.             
                -PROTECTED: SRXEXUSE is 8 bytes when PUMAX is 6.        
              -Dataset VXMTRSSI (1.25) only read SYSPLXNR, in use slots,
               but there are SYSPLXNS, configured slots, segments in the
               record. All are now input; not-in-use have blank name.   
              -Dataset VXSCLSTP (2.08) new variables:    4   84  98 3133
                SYSFPGRAT='SYSTEM*PAGE*READ IN*RATE*PERSEC'             
              -Dataset VXSTORSG (3.01) new variables:  300  764 114  121
                RSAAGEPC       ='TGT SIZE*GLOBAL*AGING LIST*PCT DPA'    
                RSAAGEFL       ='FLAG*BYTE'                             
                RSARSDMX       ='SET RESERVED SYSMAX VALUE FRAMES'      
                RSAAGESZ       ='TGT SIZE OF GLOBAL AGING LIST*FRAMES'  
                RSAAGINC       ='FRAMES*ON THE*GLOBAL*AGING*LIST'       
                RSAEWNDD       ='GAL*CHANGED PAGES*MUST BE*WRITTEN'     
                RSAEWRFO       ='GAL*REF ONLY*NOT HAVE*BE WRITTEN'      
                RSAEWCIF       ='GAL*CHANGED*PAGES*BEING*PROCESSED'     
                RSAEWRIF       ='GAL*REF ONLY*PAGES*BEING*PROCESSED'    
                RSAAGRDY       ='GAL*FRAMES*READY FOR*RECLAIM'          
                RSAAGRDYREFWRT ='GAL*REF ONLY*READY FOR*RECLAIM*YES AUX'
                RSAAGRDYREFNW  ='GAL*REF ONLY*READY FOR*RECLAIM*NO AUX' 
                RSADSTMACT     ='DEMAND*SCAN*WAS*RUNNING'               
                RSACHGWRTOLD   ='CHANGED*PAGES*WRITTEN TO*OLD AUX SLOT' 
                RSAREFWRTBYPASS='REF ONLY*PAGES*NOT REWRITTEN*TO AUX'   
                RSACHGWRTNEW   ='CHANGED*PAGES*WRITTEN TO*NEW AUX SLOT' 
                RSAREFWRTNEW   ='REF ONLY*PAGES*WRITTEN TO*NEW AUX SLOT'
                RSAAGRECLM     ='PAGES*RECLAIMED*FROM GLOBAL*AGING LIST'
                RSAEXMET       ='DEMAND SCAN*STOPS*WHEN NEED*WAS MET'   
                RSAEXTIM       ='DEMAND SCAN*STOPS*MAX*ALLOWABLE*TIME'  
                RSAEXCPU       ='DEMAND SCAN*STOPS*CPU*SUBOPTIMAL'      
                RSAINVUFO      ='PRIVATE*PAGES*INVALIDATED'             
                RSAINVVUFO     ='PRIVATE*VDISK*PAGES*INVALIDATED'       
                RSAINVSUFO     ='SHARED*PAGES*INVALIDATED'              
                RSARVLUFO      ='PRIVATE*PAGES*REVALIDATED'             
                RSARVLVUFO     ='PRIVATE*VDISK*PAGES*REVALIDATED'       
                RSARVLSUFO     ='SHARED*PAGES*REVALIDATED'              
                RSARVLAGL      ='GAL*PAGES*REVALIDATED'                 
                RSAWRTONDMD    ='DEMAND SCAN*WRITE-ON-DEMAND*FRAMES'    
                RSADSCYCLE     ='ITERATIONS*DEMAND SCAN*MADE'           
                RSAUSRVISIT    ='USERS*VISITED*PAGES WERE*MADE IBR'     
                RSAUSRSKIP     ='USERS*SKIPPED*SERIAL/NET*SETTINGS'     
                RSAALSKL       ='GAL FRAMES*NOT RECLAIMED*PINNED'       
                RSAALSKF       ='GAL FRAMES*NOT RECLAIMED*FRAME*SERIAL' 
                RSAALSKP       ='GAL FRAMES*NOT RECLAIMED*PAGE*SERIAL'  
                RSAALSKR       ='GAL FRAMES*REQUEUED*NOT*RECLAIMED'     
                RSAAGRVLREFNW  ='GAL REF ONLY*REVALIDATIONS*NO AUX'     
                RSAAGRVLREFWRT ='GAL REF ONLY*REVALIDATIONS*YES AUX'    
                RSAAGRVLCHGNW  ='GAL CHG PAGES*REVALIDATIONS*NO AUX'    
                RSAAGRVLCHGWRT ='GAL CHG PAGES*REVALIDATIONS*YES AUX'   
                RSAAVAILCNTB2GS='FRAMES ON*LT 2G*SINGLES*AVAILABLE*LIST 
                RSAAVAILCNTB2GC='FRAMES ON*LT 2G*CONTIG*AVAILABLE*LIST' 
                RSAAVAILCNTA2GS='FRAMES ON*GT 2G SINGLES*AVAILABLE*LIST 
                RSAAVAILCNTA2GC='FRAMES ON*GT 2G*CONTIG*AVAILABLE*LIST' 
                RSAAVAILREQB2GS='REQUESTS*LT 2G*SINGLE*FRAMES'          
                RSAAVAILREQA2GS='REQUESTS*GT 2G*SINGLE*FRAMES'          
                RSAAVAILREQB2GC='REQUESTS*LT 2G*CONTIGUOUS*FRAMES'      
                RSAAVAILREQA2GC='REQUESTS*GT 2G*CONTIGUOUS*FRAMES'      
                RSAAVAILRETB2GS='RETURNS*LT 2G*SINGLE*FRAMES'           
                RSAAVAILRETA2GS='RETURNS*GT 2G*SINGLE*FRAMES'           
                RSAAVAILRETB2GC='RETURNS*LT 2G*CONTIGUOUS*FRAMES'       
                RSAAVAILRETA2GC='RETURNS*GT 2G*CONTIGUOUS*FRAMES'       
                RSAAVAILPTB2GC ='PROTECT*THRESH*CONTIG*LT 2G'           
                RSAAVAILPTA2GC ='PROTECT THRESH*CONTIG*GT 2G'           
                RSAAVAILPTB2GS ='PROTECT THRESH*SINGLES*LT 2G'          
              -Dataset VXSTORSP (3.02) new variables:   76  440 114  973
                PFXAFOBC='LOCAL LIST*(LL)*FOBS'                         
                PLSFOBLO='LL*LOW*THRESHOLD'                             
                PLSFOBHI='LL*HIGH*THRESHOLD'                            
                PLSFOB1E='LL*FOUND*EMPTY'                               
                PLSFOB1T='TOD 1ST*TRIM REQUEST*FOR LL'                  
                PLSFOBTM='TOD*MOST RECENT*TRIM REQ*FOR LL'              
                PLSSTPAG='IBR PAGES FOUND*CMM*ZERO STATE'               
              -Dataset VXSTOSHR (3.03) new variables:    8  120 114    1
                ASCCTRSV='FRAMES*RESERVED*VIA*SET RESERVED'             
                ASCDSRSV='DEMAND*SCAN*NO MOVE*SET RSVD*PER SEC'         
              -Dataset VXSTOASI (3.14) new variables:   60  196 120 1809
                ASCCTINS     ='SHARED*INSTANTIATED*PAGES'               
                ASCCTIBRB2G  ='SHARED*IBR PAGES*ON UFO*BACKED LT 2G'    
                ASCCTIBRA2G  ='SHARED*IBR PAGES*ON UFO*BACKED GT 2G'    
                ASCCTAGLB2G  ='SHARED*IBR PAGES*GAL*BACKED LT 2G'       
                ASCCTAGLA2G  ='SHARED*IBR PAGES*GAL*BACKED GT 2G'       
                ASCCTRABISB2G='SHARED*NON-FAULT*IBR UFO*BACKED LT 2G'   
                ASCCTRABISA2G='SHARED*NON-FAULT*IBR UFO*BACKED GT 2G'   
                ASCCSINT     ='SHARED*INSTANTIATED*PAGES'               
                ASCCSREL     ='SHARED*RECLAIMED*GUEST*PAGE*STATE'       
                ASCCSINV     ='SHARED*PAGES*MADE*IBR'                   
                ASCCSPFI     ='SHARE*IBR PAGES*REVALIDATED*ON UFO'      
                ASCCSPFA     ='SHARED*IBR PAGES*REVALIDATED*ON GAL'     
                ASCCSFRY     ='SHARED*IBR PAGES*ON GAL*BACK*RECLAIM'    
                ASCCSFNR     ='SHARED*IBR PAGES*ON UFO*WRIT TO AUX'     
                ASCCSXRL     ='XSTORE*BLOCKS*RELEASED*MIGRATION'        
              -Dataset VXSTOSHD (3.16) new variables:   20  120 164    1
                ASCCTPRG='RESIDENT*PAGES GT 2G*THIS*SAVEDSEG'           
                ASCHLLC ='PAGES*LOCKED*HOST LOGICAL'                    
                ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'                  
                ASCCTRSV='FRAMES*RESERVED*VIA SET*RESERVED'             
                ASCDSRSV='TIMES*DS NO MOVE*FRAMES*TO GLL'               
              -Dataset VXUSELON (4.01) new variables:    4  180 386 2889
                VMDLOGFG='FLAG*BITS*SET AT*LOGON'                       
                LCLFLAG3='GENERAL*FLAGS'                                
              -Dataset VXUSELOF (4.02) new variables:  404  844 121   61
                CALCPFNR    ='UFO IBR*PAGES*WRITTEN*TO XSTORE'          
                CALCPFRY    ='GAL IBR*PAGES*ALREADY*BACKED'             
                CALCPINT    ='PRIVATE*INSTANTIATED*PAGES'               
                CALCPINV    ='PRIVATE*PAGES*MADE*IBR'                   
                CALCPPFA    ='PRIVATE*IBR GAL*PAGES*REVALIDATED'        
                CALCPPFI    ='PRIVATE*IBR UFO*PAGES*REVALIDATED'        
                CALCPREL    ='PRIVATE*RECLAIMED*GUEST PAGE'             
                CALCPXRL    ='XSTORE*BLOCKS*RELEASED*MIGRATION'         
                CALCTAGLA2G ='GAL IBR*PAGES*BACKED*GT 2G'               
                CALCTAGLB2G ='GAL IBR*PAGES*BACKED*LE 2G'               
                CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'           
                CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'           
                CALCTINS    ='PRIVATE*INSTANTIATED*PAGES'               
                CALCTRABISA2G  ='UFO/GAL*NONFAULT*IBR*GT 2G'            
                CALCTRABISB2G  ='UFO/GAL*NONFAULT*IBR*LT 2G'            
                CALCTXBK    ='EXPANDED*STORAGE*PAGING*BLOCKS'           
                LCLFLAGS='GENERAL*FLAGS'                                
                MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'              
                OFFPLTL ='OFFSET TO THE VMUPLTL ARRAY'                  
                OFFSTLTL='OFFSET TO THE VMUSTLTL ARRAY'                 
                OFFTOPDA='OFFSET TO THE VMUTOPDA ARRAY'                 
                OFFVMTL ='OFFSET TO THE VMUVMTL ARRAY'                  
                VMDDSRSV    ='DEMAND*SCAN*NOT MOVE*SET RESERVED'        
                VMDDTPLX='-USER ISSUED*DETACH COMMAND*CONSULTED SSI'    
                VMDDTTOD='TTIME*DETACH COMMANDS*CONSULTING SSI'         
                VMDDTTOT='-USER ISSUED*DETACH*COMMAND'                  
                VMDLKPLX='-USER ISSUED*LINK COMMAND*CONSULTED SSI'      
                VMDLKTOD='TTIME*LINK COMMANDS*CONSULTING SSI'           
                VMDLKTOT='-USER ISSUED*LINK COMMAND'                    
                VMDSTFHW    ='HWM*STEAL*WEIGHT*FACTOR'                  
                VMDSTLFC    ='STEAL*WEIGHT*FACTOR'                      
                VMDUFACTC   ='UFO*ACTIVE*SECTION*FRAMES'                
                VMDUFIBRC   ='IBR*SECTION*FRAMES'                       
                VMDWASTE    ='GAL*PRIVATE*PAGE FAULTS*IN AUX'           
                VMDWKPLX='-USER USED*WRKALLEG*CONSULTED SSI'            
                VMDWKTOD='TTIME*WRKALLEG*CONSULTING SSI'                
                VMDWKTOT='-USER USED*WRKALLEG'                          
                VMUNRBAL='-CONFIGURATION*REBALANCES'                    
                VMUREBAL    ='RCCREBAL*COUNT*LAST*REBALANCE'            
                VMUTOPDX='INDEX*INTO*VMUTOPDA*ARRAY'                    
                VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'          
                VMUTOPNS='SIZE *ONE ELEMENT*VMUTOPDA ARRAY'             
              -Dataset VXUSEACT (4.03) new variables:  404  844 121   61
                 CALCPFNR ='UFO IBR*PAGES*WRITTEN*TO XSTORE'            
                 CALCPFRY ='GAL IBR*PAGES*ALREADY*BACKED'               
                 CALCPINT ='PRIVATE*INSTANTIATED*PAGES'                 
                 CALCPINV ='PRIVATE*PAGES*MADE*IBR'                     
                 CALCPPFA ='PRIVATE*IBR GAL*PAGES*REVALIDATED'          
                 CALCPPFI ='PRIVATE*IBR UFO*PAGES*REVALIDATED'          
                 CALCPREL ='PRIVATE*RECLAIMED*GUEST PAGE'               
                 CALCPXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'           
                 CALCTAGLA2G  ='GAL IBR*PAGES*BACKED*GT 2G'             
                 CALCTAGLB2G  ='GAL IBR*PAGES*BACKED*LE 2G'             
                 CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'          
                 CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'          
                 CALCTINS  ='PRIVATE*INSTANTIATED*PAGES'                
                 CALCTRABISA2G ='UFO/GAL*NONFAULT*IBR*GT 2G'            
                 CALCTRABISB2G ='UFO/GAL*NONFAULT*IBR*LT 2G'            
                 CALCTXBK ='EXPANDED*STORAGE*PAGING*BLOCKS'             
                 MAXTOPO ='TOPOLOGY*LEVELS*CURRENTLY*ARCHITECTED'       
                 RDMMMASK='RELOCATION DOMAIN*MEMBER*MASK'               
                 RDMNAME ='GUESTS*RELOCATION*DOMAIN*NAME'               
                 VMDCTSTA='CPU*STARTS'                                  
                 VMDCTSTO='CPU*STOPS'                                   
                 VMDDSRSV ='DEMAND*SCAN*NOT MOVE*SET RESERVED'          
                 VMDDTPLX='DETACH*COMMAND*SSI*CONSULTED'                
                 VMDDTTOD='VIRTUAL TIME*DETACT*COMMANDS*SSI'            
                 VMDDTTOT='DETACH*COMMANDS*ISSUED'                      
                 VMDLKPLX='LINK*COMMANDS*SSI*CONSULTED'                 
                 VMDLKTOD='VIRTUAL TIME FOR LINK*COMMANDS*SSI'          
                 VMDLKTOT='LINK*COMMANDS*ISSUED'                        
                 VMDRLLST='LAST*RELOCATION*THIS*USER'                   
                 VMDSTFHW  ='HWM*STEAL*WEIGHT*FACTOR'                   
                 VMDSTLFC  ='STEAL*WEIGHT*FACTOR'                       
                 VMDUFACTC ='UFO*ACTIVE*SECTION*FRAMES'                 
                 VMDUFIBRC ='IBR*SECTION*FRAMES'                        
                 VMDWASTE ='GAL*PRIVATE*PAGE FAULTS*IN AUX'             
                 VMDWKPLX='WRKALLEG*COMMANDS*SSI*CONSULTED'             
                 VMDWKTOD='VIRTUAL*TIME*WRKALLED*COMMANDS*SSI'          
                 VMDWKTOT='WRKALLEG*COMMANDS*USED'                      
                 VMUNRBAL='CONFIGURATION*REBALANCES'                    
                 VMUPLTL0='REBALANCES*EQUIVALENT*NL1'                   
                 VMUPLTL1='REBALANCES*DIFF NL1*SAME NL2'                
                 VMUPLTL2='REBALANCES*DIFF NL2*SAME NL3'                
                 VMUPLTL3='REBALANCES*DIFF NL3*SAME NL4'                
                 VMUPLTL4='REBALANCES*DIFF NL4*SAME NL5'                
                 VMUPLTL5='REBALANCES*DIFF NL5'                         
                 VMUREBAL  ='RCCREBAL*COUNT*LAST*REBALANCE'             
                 VMUSTLT0='STEALS*EQUIVALENT*NL1'                       
                 VMUSTLT1='STEALS*DIFF NL1*SAME NL2'                    
                 VMUSTLT2='STEALS*DIFF NL2*SAME NL3'                    
                 VMUSTLT3='STEALS*DIFF NL3*SAME NL4'                    
                 VMUSTLT4='STEALS*DIFF NL4*SAME NL5'                    
                 VMUSTLT5='STEALS*DIFF NL5'                             
                 VMUTOPDD='TOPOLOGY*DESCRIPTOR'                         
                 VMUTOPDI='DISPATCH*VECTOR*ID'                          
                 VMUTOPDX='ZERO-BASED*INDEX INTO*VMUTOPDA'              
                 VMUTOPLU='PCT CPU*FOR HOME*DSVBK*ASSIGNMENT'           
                 VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'         
                 VMUTOPNS='ELEMENT*SIZE*VMUTOPDA*ARRAY'                 
                 VMUVMTL0='MOVES*EQUIVALENT*NL1'                        
                 VMUVMTL1='MOVES*DIFF NL1*SAME NL2'                     
                 VMUVMTL2='MOVES*DIFF NL2*SAME NL3'                     
                 VMUVMTL3='MOVES*DIFF NL3*SAME NL4'                     
                 VMUVMTL4='MOVES*DIFF NL4*SAME NL5'                     
                 VMUVMTL5='MOVES*DIFF NL5'                              
              -Dataset VXUSEINT (4.04) new variables:    8  248 121  905
                 VMDRLLST='LAST*RELOCATION*OF THIS*USER'                
              -Dataset VXUSERLE (4.12) new variables:    8  248 121  905
                 LCLFLAGS ='LOCAL*RELOCATION*INFO*FLAGS'                
                 RLOAIOCT ='ACTIVE*I/OS*ENCOUNTERED'                    
                 RLOCLNTM ='COMPLETION*DATETIME*FINAL*CLEAN UP'         
                 RLOCONTM ='COMPLETION*DATETIME*INITIAL*ISFC CONNECT'   
                 RLOCPCNT ='GUEST*PAGES*XFERED*FINAL PASS'              
                 RLOCRETM ='COMPLETION*DATETIME*CREATION*SKELETON VMDBK'
                 RLOCRYTM ='COMPLETION*DATETIME*ENQUEUED*CRYPTO'        
                 RLODSTRSV='RESERVED FRAME COUNT DESTINATION'           
                 RLODSTSYS='DESTINATION*SYSTEM'                         
                 RLOELGTM ='COMPLETION*DATETIME*INITIAL*ELIG CHECKS'    
                 RLOFCPTM ='COMPLETION*DATETIME*FCP I/O*DELAY'          
                 RLOFINCD ='RELOCATION*ENDED*REASON*CODE'               
                 RLOIOCTM ='COMPLETION*DATETIME*I/O CONFIG*RELOCATION'  
                 RLOIOETM ='COMPLETION*DATETIME*FINAL I/O*ELIG CHECKS'  
                 RLOISSUER='VMRELOCATE*CMD*ISSUER'                      
                 RLOLSTTM ='COMPLETION*DATETIME*LAST*MEMORY'            
                 RLOMAXQ  ='MAXQUIESCE*TIME'                            
                 RLOMAXT  ='MAXTOTAL*TIME'                              
                 RLOMEMPS ='MEMORY*PASSES*DURING*RELOCATION'            
                 RLOMEMTM ='COMPLETION*DATETIME*MEMORY*TRANSFER-2'      
                 RLOMVOPT ='FLAG BYTE*FOR CMD*OPTIONS'                  
                 RLONQDCT ='NON-QDIO*TYPE*I/OS*CLEARED'                 
                 RLOPASSA ='GUEST*PAGES*XFERED*FIRST PASS'              
                 RLOPASSY ='GUEST*PAGES*XFERED*PENULTIMATE*PASS'        
                 RLOPENTM ='COMPLETION*DATETIME*PENULTIMATE*MEMORY'     
                 RLOPSAVG ='AVERAGE*GUEST*PAGES*XFERED*2 THRU N-2'      
                 RLOQDCT  ='QDIO*TYPE*I/OS*CLEARED'                     
                 RLOQUITM ='COMPLETION*DATETIME*GUEST*QUIECE'           
                 RLORESTM ='COMPLETION*DATETIME*RESUMPTION*GUEST'       
                 RLOSETTM ='COMPLETION*DATETIME*STMGT*SET UP'           
                 RLOSMETM ='COMPLETION*DATETIME*STMGT*ELIG CHECKS'      
                 RLOSRCRSV='RESERVED*FRAME*COUNT*SOURCE'                
                 RLOSRCSYS='SOURCE*SYSTEM'                              
                 RLOSTARTM='DATETIME*START OF*RELOCATION'               
                 RLOSTATM ='COMPLETION*DATETIME*VIRT STATE*RELOCATION'  
                 RLOUSER  ='USERID OF*RELOCATION*TARGET'                
                 RLOVDXCT ='VIRTUAL*DEVICES*TRANSFERRED'                
                 RLOVSETM ='COMPLETION*DATETIME*VSIM*ELIG CHECKS'       
                 VMDSTRLO ='SET*VMRELOCATE*FLAGS'                       
              -Dataset VXIODDEV (6.03) new variables:  200  180  76    1
                 RDEVSKSM64='CUM*DASD*ACCESS*MOVEMENT'                  
                 RDEVFCXM  ='MASK OF*PATHS*SUPPORT*ZHPF'                
                 CUIFCXP   ='ZHPF*FEATURES*SUPPORTED'                   
                 RDEVMAXD  ='SMALLEST*ZHPF*MAX*DATA COUNT'              
                 RDEVWXCT  ='TM(ZHPF)*WRITE*CHAN*PROGRAMS'              
                 RDEVRXCT  ='TM(ZHPF)*READ*CHAN*PROGRAMS'               
                 SCMIDTIM  ='SCM*INTERRUPT*DELAY*TIME'                  
                 SCMPDTIM  ='SCM*I/O*PRIORITY*DELAY*TIME'               
                 PAVIDTIM  ='ACCUMULATED*INTERRUPT*DELAY*TIME'          
                 PAVPDTIM  ='I/O*PRIORITY*DELAY*TIME'                   
              -Dataset VXIODCAD (6.04) new variables:   52  312 190 2665
                 Short length record doesn't input CALPSF due to this   
                 PROTECTED: Segment Length is 312.                      
                        Fixed 68 bytes, 192 CALDATA 4 CALSSS2 leave only
                        48 bytes but CALPSF is documented as 192 bytes, 
                        so Segment Length should be 576 vs 312.         
              -Dataset VXIODVSW (6.21) new variables:  212  344 185 1185
                 LANTRID  ='ACTIVE TRACE IDS'                           
                 LANSUSR  ='USERS IN LINUX*SNIFFER*MODE'                
                 LANMGIPA ='LAN MANAGEMENT IP ADDRESS'                  
                 MGSWIEUSER='LAN MANAGEMENT USER ID'                    
                 MGNICMAC ='VSWITCH MAC ADDRESS'                        
                 OSAMAC   ='OSA DEVICE MAC ADDR'                        
                 NICTRANP ='SESSION LAYER(2 OR 3)'                      
                 LANID    ='LAN*OWNER*NAME'                             
                 LOCKREQS ='LOCK REQUESTS*FOR LANLKWRD*NETWORKLOCK'     
                 LANDEFER ='WAITS FOR*NETWORK*LANLKWRD*LOCK'            
                 TXDEFERS ='WAITS FOR*LOCK WHEN*SENDING FROM*THIS PORT' 
                 RXDEFERS ='WAITS FOR*LOCK WHEN*RECEIVING*ON THIS PORT' 
                 NICTXPKT64='PACKETS*SENT*REAL DEVICE*VIRTUAL SWITCH'   
                 NICTXDSC64='VALID*OUTBOUND*PACKETS*DISCARDED'          
                 NICTXERR64='INVALID*OUTBOUND*PACKETS*DISCARDED'        
                 NICRXPKT64='PACKETS*RECEIVED*REALDEVICE*VIRTUAL SWITCH'
                 NICRXDSC64='VALID*RECEIVED*PACKETS*DISCARDED'          
                 NICRXERR64='RECEIVED*PACKETS*DISCARDED*INVALID*FORMAT' 
                 SWPGROUP ='LINK AGG*PORT GROUP*IN USE*VIRT SWITCH'     
                 VQSOMLVL ='OSA*DEVICE*MICROCODE*LEVEL'                 
                 SWPINTSC ='SECONDS*BETWEEN*LOAD*BALANCING*OPERATIONS'  
                 VQSDVMAC ='OSA DEVICE*VIRTUAL*MAC ADDRESS'             
                 VQSMRKCT ='MARKER*PDUS*SENT TO*THIS PORT'              
                 VQSMRPCT ='MARKER*RESPONSES*RECEIVED'                  
                 VQSMRRCT ='MARKER*RESPONSES*PDUS SENT TO'              
                 VQSMTOCT ='TIME OUTS*FOR MARKER*RESPONSE*WAITS'        
                 VQSLCSCT ='LACP PDUS*SENT ON*THIS PORT'                
                 VQSLCRCT ='LACP PDUS*RECEIVED ON*THIS PORT'            
                 TXREQS   ='LOCK REQUESTS*MADE WHEN*SENDING'            
                 RXREQS   ='LOCK REQUESTS*MADE WHEN*RECEIVING'          
                 STKREQS  ='REQUESTS*TO STACK OR*TO UNSTACK*WORK'       
                 STKDEFERS='TIMES*MULTIPLE*ATTEMPTES*TO STACK'          
                 VQSPATTR1='PARTNER*SWITCH*BYTE 1'                      
                 VQSPATTR2='PARTNER*SWITCH*BYTE 2'                      
                 VQSPATTR3='PARTNER*SWITCH*BYTE 3'                      
                 VQSPATTR4='PARTNER*SWITCH*BYTE 4'                      
              -Dataset VXIODMDE (6.31) new variables:    4  84 2048 1385
  RDE           RDEVDEV ='REAL*DEVICE*NUMBER'                           
              -Dataset VXVNDSES (8.01) new variables:   12  304 289  889
                 VMDRLLST='LAST*RELOCATION*THIS*USER'                   
                 NICMGPOR='PORT*VALUE*FOR GUEST*CONNECTION'             
              -Dataset VXISFNOD (9.04) new variables:    4  304 897  156
                 LNKCAPCT='NOT-FULL*PACKAGES*CLOSED*TIMEOUT'            
              -Dataset VXAPLTC0(10.02) new variables:   28  636 301    1
                 Corrections made:                                      
                 APLSDT segments with undocumented new fields:          
                 for MDGPROD='5735FALST'-'00'x-'054000'    +28    636   
                 for MDGPROD='5735FALST'-'00'x-'061000'     +4    612   
                 The documentation for APPLDATA is here:                
                   http://www.vm.ibm.com/perf/docs/appldata.html        
              -New Datasets Created:                                    
              -Dataset VXPRCPUP (5.16) new dataset:    520  500 386  625
                 CALFCONF='CONFIDENCE*PERCENTAGE*FLOOR*PROJECTION'      
                 CALFLAG ='FLAG*BYTE'                                   
                 CALFLALG='ALGORITHM*USED*FLOOR*PROJECTION'             
                 CALUCALG='ALGORITHM*USED FOR*CEILING*PROJECTION'       
                 CPUTYPE ='CPU*TYPE'                                    
                 MAXRPROC='VALID*BITS*IN*MASKS'                         
                 OFSLCPUA='OFFSET TO*SRXLCPUA FIELD'                    
                 OFSONLIN='OFFSET TO*CALONLIN FIELD'                    
                 OFSUPKMK='OFFSET TO*RCCUPKMK FIELD'                    
                 RCCNUPK ='CPUS*REQUESTED*TO BE IN*UNPARKED*STATE'      
                 RCCSIGCT='-SUCCESSFUL*SIGP*RESTARTS'                   
                 RCCSIGTD='-TIME SPENT*IN*SIGP*RESTARTS'                
                 SCOUNT  ='STANZAS*IN THIS*RECORD'                      
                 SOFFSET ='OFFSET TO FIRST STANZA'                      
                 SRXCPPAD='CPU*CAPACITY*ADDED*TO CEILING'               
                 SRXNOTVH='CAPACITY*ASSIGNED*CPUS NOT*VERTICAL HIGH'    
                 SRXPMAX ='MAX NUMBER*CPUS THAT*CAN BE*PARKED'          
                 SRXWRKCI='CONFIDENCE*PERCENTAGE*CEILING*PREDICTION'    
                 SSIZE   ='STANZA*SIZE'                                 
                 WHIOCECE='EXCESS*PROCESSOR*CAPACITY*AVAILABLE'         
                 WHIOCUTI='NUMBER OF*PHYSICAL*CPUS*CONSUMED'            
                 WHIOCXC ='SHARE OF*EXTRA*CAPACITY'                     
                 WHIOENT ='CPU*RESOURCE*ENTITLEMENT'                    
                 WHIOFLG ='FLAGS FOR THIS PARTITION'                    
                 WHIOPUTI='CEILING*PREDICTION*OF CPU*UTILIZATION'       
                 WHIOPXC ='UNENTITLED*CAPACITY*FLOOR*PROJECTION'        
                 WHIOUCT ='VALID*SAMPLES FOR*CEILING*PREDICTION'        
                 WHIOXCT ='VALID*SAMPLES FOR*FLOOR*PROJECTION'          
                 WHIUCT  ='VALID*SAMPLES*CEILING*PREDICTION'            
                 WHIXCT  ='VALID*SAMPLES*FLOOR*PROJECTION'              
                 Corrections made:                                      
                         a. Undocumented 8 bytes after RCCSIGTD.        
                         b. SSIZE is 92 bytes but only 52 bytes are     
                            documented for CPUTYPE-SRXNOTVH fields.     
                         c. OFFSET SOFFSET is 60 from start of record   
                            for 92 bytes, but these other offset values 
                            OFSUPKMK=68, OFSONLIN=76, OFSLCPUA=84, all  
                            point inside those 92 bytes.                
                         d. And, RCCUPKMK, CALONLIN, and SRXLCPU are all
                            shown as one byte fields, but those offsets 
                            indicate they are all 8 bytes separated.    
                            the fields are 8 bytes but only first used  
                            and the remaining 7 should have been rsvd.  
              -Dataset VXPRCRCD (5.17) new dataset:     88   68  74 3601
                 CALENTMT='VERTICAL*CPU*ENTITLEMENT'                    
                 CALMNEST='CONFIG*TOPOLOGY*FACILITY*SELECTOR'           
                 MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'             
                 OFFSTLTL='OFFSET TO*PLSSTLTL*ARRAY'                    
                 OFFTOPDS='OFFSET TO*RCCTOPDS*FIELD'                    
                 PFXCPUAD='PROCESSOR ADDRESS'                           
                 PFXPOLAR=' CURRENT*POLARIZATION'                       
                 RCCTOPDI='DSVBK*INDEX*FOR CPU'                         
                 RCCTOPDS='TOPOLOGY*DESCRIPTOR*CONTAINER*IDS'           
                 SIZTOPDS='SIZE*OF*RCCTOPDS*FIELD'                      
                 Corrections made:                                      
                    a. MRHCRLEN=88 but DOC shows 60 bytes fixed and doc 
                       RCCTOPDS Length is 32, but only 28 bytes are left
                       in the record.                                   
                    b. Offset OFFTOPDS=60, but OFFSTLTL=64 which would  
                       be four bytes into the RCCTOPDS field.           
              -Dataset VXPRCDHF (5.18) new dataset:     88   68  74 3601
                 CALDSVID='DSVBK*ID'                                    
                 CPUTYPE ='CPU*TYPE'                                    
                 HFCOUNT ='HIGH*FREQUENCY*SAMPLES*THIS DSVBK            
                 HFUSERC ='-VMDBKS*IN DSVBK*WHEN NOT*EMPTY'             
                 HFUSERZ ='TIMES WHEN*DSVBK*HAD NO*VMDBKS'              
                 MAXRPROC='VALID*BITS*IN*MASKS'                         
                 OFSASSOC='OFFSET TO*DSVASSOC*FIELD'                    
                 OFSUNPRK='OFFSET TO*DSVUNPRK*FIELD'                    
                 RCCDSVCH='CPU-TO-DSVBK*ASSIGNMENT*CHANGES'             
                 SCOUNT  ='STANZAS*IN THIS*RECORD'                      
                 SOFFSET ='OFFSET TO FIRST STANZA'                      
                 SSIZE   ='STANZA*SIZE'                                 
                 SYSDVENT='MAX USERS*ALLOWED IN*A DSVBK'                
                 Corrections made:                                      
                      a. PRCHDF_STANZA is documented with 16 bytes      
                         but SSIZE=32.                                  
                      b. Similar to preceding, the SOFFSET=40 but       
                         OFSASSOC=16 and OFSUNPRK=24 which I don't      
                         understand, since they would precede the       
                         STANZA data.                                   
                                                                        
Change 31.150  RMF III Enhancements, Fixes, new DYNAMIC METHOD.         
ADOCRMFV      -A new procedure for executing ASMRMFV is now available   
ASMRMFV        called the Dynamic Method.  This approach combines the   
JCLCRMFV       simplicity of the current Direct JCL method with the     
JCLDRMFV       convenience of catalog lookup and dynamic allocation     
JCLRMFV        provided by the current TSO Clist method. See JCLDRMFV.  
VMACRMFV      -A new INDSNAME= keyword parameter (aliases INDSN=, INDS=,
Jul 23, 2013   IDS=, I=) is now supported that allows the specification 
Jul 26, 2013   of 1 to 256 data set name patterns.  The patterns are    
               used to retrieve matching VSAM cluster entries by the    
               Catalog Search Interface (CSI), an IBM supported and     
               documented program service.                              
                 NOTE: The CSI call is set to only retrieve VSAM        
                 Clusters (and related Data and Index components).      
                 Non-VSAM data sets and other VSAM entry types are not  
                 returned.  Only a very small fraction of the data in a 
                 Cluster entry is returned (Type, CISIZE, RECSIZE).     
              -Each returned data set name entry is validated as being  
               a VSAM RRDS data set with the correct CISIZE and RECSIZE 
               for an RMF Monitor III data set.  Then each in turn is   
               dynamically allocated to an RMFD* DDNAME beginning with  
               RMFD0000.  Later each is opened in turn for further      
               processing by ASMRMFV.  But the TESTCSI parameter (see   
               below) can modify this behavior.                         
                 NOTE: Static RMFV* style DD statements may still be    
                 hard coded in JCL even when the Dynamic Method is used 
                 and will be processed as usual.  However, this tends   
                 to defeat the intent and value of the Dynamic Method.  
              -INDSNAME= pattern masking characters include the use of  
               ** and * as multiple character substitutes and % (percent
               sign) as a single character placeholder.                 
              -Pattern coding rules and examples are fully provided in  
               both the ASMRMFV source code prologue and in the updated 
               ADOCRMFV member.  They are also documented in the IBM    
               DFSMS Managing Catalogs manual for your z/OS release, in 
               the section Catalog Search Interface User's Guide.       
                 NOTE: Be careful to avoid overlapping data set patterns
                 using INDSNAME= which could cause duplicate data to be 
                 processed into ASMRMFV.  The TESTCSI parameter (see    
                 below) can help check for this in advance.  ASMRMFV    
                 does NOT check for or exclude duplicate data.  The same
                 issue could exist using static JCL DD allocation as    
                 well and is NOT exclusive to the Dynamic Method.       
              -A new parameter TESTCSI/NOTESTCSI (default NOTESTCSI)    
               controls pattern testing that is especially useful when  
               setting up the Dynamic Method for the first time.        
              -TESTCSI (alias TESTC) only retrieves data from catalogs  
               using CSI and the INDSNAME= patterns.  No dynamic        
               allocation or file processing occurs.  TESTCSI thus      
               provides a preview of search results with the user       
               pattern settings.  This can prevent the retrieval of     
               large numbers of unneeded data sets that are not RMF     
               Monitor III files.                                       
              -NOTESTCSI (alias NOTESTC) retrieves data from catalogs   
               using CSI and the INDSNAME= patterns, dynamically        
               allocates valid found files, and allows full normal      
               processing by ASMRMFV.                                   
              -WARNING: Users are strongly recommended NOT to use the   
               all inclusive search pattern INDSNAME=** as that will    
               retrieve all VSAM Clusters in their catalogs.  This will 
               likely return thousands of entries and can result in a   
               possible performance impact on the catalog management    
               function while in progress that could affect other work. 
              -The ADOCRMFV member which contained mostly development   
               notes from 2008 and earlier has been completely replaced 
               with the ASMRMFV source documentation.  This was made    
               much more readable by the removal of many embedded       
               assembler language statements.  The ASMRMFV prologue     
               documentation in source remains available as before.     
              -A new documentation member JCLDRMFV contains ASMRMFV     
               execution examples using the new Dynamic Method.         
              -JCLRMFV, JCLCRMFV, and JCLDRMFV documentation members now
               all contain a table that compares and contrasts the 3    
               available methods to execute ASMRMFV.                    
              -The MXG00 table version is raised from X'02' to X'03 and 
               adds the maximum number of entries supported in the new  
               DSN Pattern Table (currently 256).                       
              -When an invalid parameter length is detected message     
               RMFV004E will now also display the invalid length.       
              -When a date or time parameter related error is detected  
               ASMRMFV will no longer abend immediately but instead     
               postpone the abend until all parameters are processed.   
               This will permit all parameter errors to be found in a   
               single run.                                              
              -When the RCD table is selected the unnecessary selection 
               of the SVP table will no longer be automatically forced. 
               ASMRMFV will still read the SVP to obtain required data, 
               but will not output the SVP unless specifically selected.
              -Ten new ASMRMFV parameters are added for consistent user 
               directed control of error conditions (see more below).   
              -Each has 3 possible values of ABEND (alias A), IGNORE    
               (alias I), or WARN (alias W).  Before control of these   
               conditions was inconsistent, difficult to alter, or      
               simply not available.                                    
              -ASMRMFV messages RMFV004*, RMFV016*, RMFV017*, RMFV029*, 
               RMFV033*, RMFV048*, and RMFV049* (*=I,W,E,S) are now     
               multi-severity based on the settings of these error      
               control parameters.                                      
              -ABEND causes ASMRMFV to issue an error message RMFV***E  
               and immediately terminate with a U0998 Abend.            
              -WARN results in an RMFV***W warning message then sets a  
               return code of 4 and execution continues.                
              -IGNORE issues an informational message RMFV***I, leaves  
               the return code unchanged and execution also continues.  
              -ALLOCERR=ABEND/IGNORE/WARN directs ASMRMFV when a dynamic
               allocation of an RMF Monitor III data set fails (default 
               WARN).                                                   
                 NOTE: Look for messages on the Job JESLOG for more     
                 details on dynamic allocation errors.                  
              -ATTRERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM    
               RRDS found during a CSI search has an attribute error for
               an RMF Monitor III data set either an invalid CISIZE not 
               32768 or an invalid LRECL not 32752 (default WARN).      
              -CATERR=ABEND/IGNORE/WARN directs ASMRMFV when a catalog  
               entry retrieval error occurs during a CSI search (default
               WARN).  Catalog damage is possible.                      
                 NOTE: For Return and Reason Code details on a catalog  
                 retrieval error consult the IBM documentation for      
                 message IDC3009I for the same respective codes.        
              -DEADERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF III
               data set has probable dead space due to high usage of    
               indexes (default WARN).  Reallocation to a smaller size  
               may be appropriate.                                      
              -DSIGERR=ABEND/IGNORE/WARN directs ASMRMFV when the table 
               ID for an RMF III data set header/index record is not    
               'DSIG3' as expected (default WARN).  This can be due to  
               an "imposter" data set, a VSAM RRDS with correct CISIZE  
               and RECSIZE for an RMF III file but does in fact NOT     
               contain valid RMF III data.                              
              -DSNERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set 
               entry retrieval error occurs during a CSI search (default
               WARN).  Data set damage is possible.                     
                 NOTE: For Return and Reason Code details on a data set 
                 retrieval error consult the IBM documentation for      
                 message IDC3009I for the same respective codes.        
              -EMPTYERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF   
               Monitor III data set opened during processing contains no
               data (default IGNORE).  This can validly occur for       
               several reasons.  See documentation for this parm.       
              -PATTERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set
               name pattern error is detected for the INDSNAME=         
               parameter (default WARN).  This is usually a user error. 
              -READERR=ABEND/IGNORE/WARN directs ASMRMFV when a read I/O
               error occurs processing an RMF III Monitor data set      
               (default ABEND).  Can be due to a truncated file.        
              -TYPEERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM    
               data set type other than a RRDS is found during a CSI    
               search (default WARN).  The INDSNAME= pattern may be too 
               general causing retrieval of many non-RMF III files.     
              -The old ASMRMFV parameter ABREAD is now equivalent to    
               READERR=ABEND and is still supported.                    
              -The old ASMRMFV parameter NOABREAD is now equivalent to  
               READERR=WARN and is still supported.                     
              -12 new messages RMFV040I to RMFV051I are added to support
               Catalog Search Interface usage and results.              
              -7 new messages RMFV060I to RMFV066W are added to support 
               dynamic allocation usage and results.                    
              -New message RMFV036I shows selection settings for all RMF
               III tables at ASMRMFV initialization.                    
              -New message RMFV037I shows selection settings for all    
               other ASMRMFV parameters at initialization including the 
               new error condition keywords.                            
              -CSI work area buffer statistics are shown when the       
               BUFFERS parameter is used.                               
              -A new parameter CSISTAT/NOCSISTAT controls statistics    
               information about the CSI user work area buffer (default 
               NOCSISTAT).  CSISTAT (alias CSIS) shows the total size   
               and size used of the buffer for each CSI call in message 
               RMFV047I.  NOCSISTAT (alias NOCSIS) suppresses the       
               message.                                                 
                 NOTE: Starting with an initial CSI workarea size of 64K
                 ASMRMFV will dynamically increase the size of the CSI  
                 work area up to a maximum of 1 MB when a RESUME CSI    
                 call is needed because the buffer was too small for the
                 number of entries retrieved.                           
              -When a GETMAIN/FREEMAIN storage error occurs severe      
               message RMFV007S now includes the number of bytes and    
               subpool involved.  This should be a rare event but always
               results in an abend.                                     
              -When the BUFFERS parameter was active the Summary report 
               did not include the final program FREEMAINs at program   
               termination.                                             
              -ASMRMFV will no longer attempt to process RMF Monitor III
               data sets that are not CISIZE 32768 or RECSIZE (LRECL)   
               32752.  IBM messages ERB824I and ERB825I document that   
               only the CISIZE and RECSIZE values used in ERBVSDEF Clist
               to DEFINE RMF III data sets are correct.                 
              -Performance:  ASMRMFV was incorrectly freeing and        
               allocating a new buffer for every MINTIME sample.        
              -Performance:  Sample buffer adjustment factor of 1 in    
               &MULTS symbolic parameter was ineffective in reducing    
               additional GETMAINs, so has been lowered to 0 to avoid   
               wasting unused buffer space.                             
              -Performance:  Policy buffer adjustment factor of 1 in    
               &MULTP symbolic parameter was ineffective in reducing    
               additional GETMAINs, so has been lowered to 0 to avoid   
               wasting unused buffer space.                             
              -Four internal ASMRMFV message tables have been           
               consolidated into a single table to relieve message      
               addition restrictions.                                   
              -Message RMFV016* generated when an expected versus actual
               RMF III table id mismatch occurs now includes the actual 
               found table id in both character and hexadecimal.        
              -ASMRMFV prologue documentation has been updated for all  
               new parameters, for details on pattern match usage, and  
               expanded for return code 4.                              
                 NOTE: The TSO Clist method is not planned for any      
                 further enhancement and may become archaic.  TSO Clist 
                 Method users are encouraged to trial and migrate to the
                 Dynamic Method which should be vastly superior in ease 
                 of use and likely in performance as well.              
              -REQUIREMENT: In order to receive these improvements the  
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.        
                                                                        
Change 31.149  Change 30.203 broke the ability to use _GRPMNNM/_GRPMNCD 
ASUMTAPE       to define an additional variable (e.g., LOCATION) causing
Jul 22, 2013     ERROR: VARIABLE LOCATION NOT FOUND.                    
               The KEEPs= for JES3MNT, JES510, and JES5918 needed macro 
               _GRPMNNM added, and _GRPMNCD was needed in the logic for 
               JES3MNT, even though this was a JES2 site.               
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA 
                                                                        
Change 31.148  Documentation.  The denominator D1 in NORM1=A B / D1 in  
VMXGSUM        your VMXGSUM invocation must be a variable, and can not  
Jul 22, 2013   be an expression.  Unfortunately, while some earlier     
               VMXGSUM releases did permit NORM1=A B /(C+D) syntax, that
               was NEVER intended and is NOT supported; it's just too   
               deep in working logic to risk the exposure, when you can 
               use this logic in your VMXGSUM to create a variable with 
               an expression: INCODE=E=C+D; and then NORM1=A B/E.       
   Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA 
                                                                        
Change 31.147  Support for CANPROD4, CANPROD5, and CANPROD6 optional    
IMACICVC       CICS segments creates same-named variables:              
IMACICVD          CMODHEAD                                              
IMACICVE            and         Tailor                                  
IMACAAAA          Variable:     Member                                  
UTILEXCL          CANPROD4      IMACICVC                                
VMAC110           CANPROD5      IMACICVD                                
Jul 19, 2013      CANPROD6      IMACICVE                                
Jul 29, 2013  -UTILEXCL wasn't updated until Jul 29, after 31.05 was GA.
                                                                        
Change 31.146 -INPUT STATEMENT EXCEEDED RACF UNLOAD 0506 short record.  
EXRAC206       The documented length is 534 bytes, including two "user" 
IMACRACF       fields documented in fixed locations (bytes 270-525 and  
VMACRACF       527-534) but this record was only 285 bytes. The first   
VMXGINIT       269 bytes contained valid/expected data, but the two user
Jul 22, 2013   fields did not exist as documented.  However, the record 
               does contain three fields of 3,8,4 bytes, so this change 
               detects the short record and only inputs what's left in  
               the record into variable USERDATA.                       
              -INPUT STATEMENT EXCEEDED RACF UNLOAD 0510 short record.  
               Unlike the above short 0506, this one instance was only  
               262 bytes long, ending after CLASS with no user segment. 
              -Support for RACF UNLOAD 0206 RSAF DATA record creates new
               RACF0206 dataset.                                        
              -Missing value messages were eliminated by improved logic.
   Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.     
                                                                        
Change 31.145  INPUT STATEMENT EXCEEDED for QAPMHDWR infile because the 
VMACQACS       two fields SWTMOD and DORESR do not exist in V5.4.0 data 
Jul 18, 2013   records.  Their INPUT is now conditional on being there. 
   Thanks to Clayton Buck, UNIGROUP, USA.                               
                                                                        
Change 31.144  Updates for SMF 83 Subtypes 2 thru 6.                    
VMAC83         Incomplete, await data records.                          
Jul 20, 2013                                                            
                                                                        
Change 31.143 -ID=120 ST=9 WebSphere TYP1209E variables are accumulated 
VMAC120        if there is more than one observation per enclave token, 
Jul 19, 2013   a not-documented-feature observed in the data.  TYP1209E 
Jul 26, 2013   is now sorted by  SYSTEM,SM1209CR,CY,CV,CH,SM1209CM and  
               variables SM1209DA/DB/DC/DD/DE/SM1209DF are deaccumulated
               if the obs is NOT (FIRST.SM1209CH AND LAST.SM1209CH), as 
               those are single-instance-per-enclave-token observations 
               whose CPU time is not accumulated.  Use TYPS120 instead  
               of TYPE120 so that TYP1209E data is deaccumulated, or    
               %INCLUDE SOURCLIB(TYPE120); _ST1209E ; RUN; to invoke    
               the dataset sort macro, where MXG does deaccumulation.   
              -ID=120 ST=9 WebSphere variable SM1209DI, zAAP CPU time,  
               is now normalized by SM1209DG/256.  While the zIIP time  
               in SM1209DF returned by WLM is normalized, and the part  
               of SM1209DH from zIIP and zAAP is normalized, SM1209DI   
               is returned by WLM in raw time units.                    
              -ID=120 ST=9 WebSphere variable SM1209CI is now labeled   
                SM1209CI=TOTAL*CP+ZIIP+ZAAP*TCB CPU*TIME as it contains 
               TOTAL CPU time on all engines.  Variable SM1209CX is the 
               portion of SM1209CI that was executed on the zIIP or zAAP
               Specialty engine.  If your CP engines are knee-capped,   
               i.e., slower than the zIIP speed, then the CPU time in   
               SM1209CX for the zIIP time (which is also included in    
               SM1290CI) will be the normalized (LARGER) CPU time value,
               since that's what applications return for CPU time on    
               specialty engines.  (E.g., documented that the CPUTM in  
               CICSTRAN can be greater than ELAPSTM for transactions    
               using zIIP/zAAP with slow CP engines.)                   
 See this white paper, by David Follis, looking at WAS 120-9 analysis:  
 http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP102311  
   Thanks to Joe Faska, Depository Trust, USA.                          
                                                                        
Change 31.142  Support for User CICS Fields listed below.               
IMACICV6         New Variable   CMODHEAD   CMODNAME                     
IMACICV7          IMACICV6      MSG@       MSG/APPL                     
IMACICV8          IMACICV7      EGTBS      EGTBS                        
IMACICV9          IMACICV8      FROMCORR   FROMCORR                     
IMACICVA          IMACICV9      TOCORR     TOCORR                       
IMACICVB          IMACICVA      EGMSGID    EGMSGID                      
UTILEXCL          IMACICVB      PROGNAME   PROGNAME                     
VMAC110                                                                 
Jul 18, 2013                                                            
                                                                        
Change 31.141  DIVISION BY ZERO in ANALPRTR. One of the two calculations
ANALPRTR       of printer THRUPUT didn't test THRUTM, the denominator,  
Jul 17, 2013   for a non-zero value before a divide.  Since a zero is a 
               valid value, there was no actual error; variable THRUPUT 
               is a missing value, with or without the test added by    
               this change before the divide that prevents that message.
   Thanks to Jessie Gonzales, California State Controller's Office, USA.
                                                                        
Change 31.140  MXG 31.03-31.04, SMF70GNM, Group Name variable was always
VMAC7072       blank in PDB.TYPE70PR dataset, causing Group Capacity    
Jul 17, 2013   datasets ASUM70GC/ASUM70GO to have zero observations.    
               MXG's bit 1 test in SMF70PFL was incorrectly changed in  
               31.03 causing group name to be replaced with blanks.     
   Thanks to Don Shelton, Time Customer Service, Inc., USA.             
                                                                        
Change 31.139  Support for RACF TOKDANAM='UNAME' creates new variable   
VMAC80A        TOKUNAME in dataset TYPE80TK.                            
Jul 17, 2013                                                            
   Thanks to Clayton Buck, UNIGROUP, USA.                               
                                                                        
Change 31.138  If you have multi-period workloads defined in RMFINTRV,  
VMXGRMFI       the period 1 RSP TRN SWP variables were mislabeled with  
Jul 16, 2013   the workload name (BAT1) rather than the label (BATHI).  
   Thanks to Patricia J. Jones, DST Systems, USA.                       
                                                                        
Change 31.137  IMF TRANSACTION EXTENSION variables TRXZxxxx were wrongly
VMACCIMS       INPUT @TRXPTIMO but are now INPUT @TRNEXTEN+TRXPTIMO, and
Jul 16, 2013   TRX1FL1,TRX1FL2, and TRX1_LDS variables are now correctly
               input and kept in CICSTRAN data.se.                      
   Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.                    
                                                                        
Change 31.136 -IIS Log with unexpected ' ... ' COOKIE value caused CPU  
VMACWWW        loop; MXG expected an equal sign in COOKIE text, now     
Jul 16, 2013   protects for no equal sign.  Browser was Mozilla/5.0.    
Jul 26, 2013  -Mozilla browser created unexpected URIQUERY value,       
               with a leading equal sign and without a URIQNAME that    
               also caused MXG to loop.                                 
   Thanks to Xiaobo Zhang, Fiserv, USA.                                 
                                                                        
Change 31.135  If you used the _GRPALNM macro to subset ASUMTALO, the   
ASUMTALO       time range of the data could be limited to the time range
Jul 15, 2013   of a single system (if SYSTEM is what was added).  Now,  
               if we detect that you have used _GRPALNM, then all data  
               will be input to ASUMTALO.                               
   Thanks to Jorge Fong, NYC Information Technology, USA.               
                                                                        
Change 31.134  The TIMESTAMP, BEGINTIME, ENDTIME values were wrong for  
VMACXDFG       HH of 12 with PM suffix (only PM hours 1-11 need +12),   
VMACXDNS       or for HH 12 with AM suffix (must reset HH=00).          
VMACXDSP                                                                
Jul 16, 2013                                                            
                                                                        
Change 31.133  Support for TMON for DB2 Version 5 second iteration.     
VMACTMD2      -DA and DB records were INCOMPATIBLY changed with removal 
Jul 16, 2013   of 11660 and 5680 uncompressed reserved bytes, but there 
               was no change in the variables created in TMD2DA/TMD2DB  
               datasets.  Fields DALHRECC/DBLHRECC are used to identify 
               and transparently process both record formats.           
               Note: Jul 2014, dataset TMD2DB replaced TMDBDB2 dataset. 
              -IG record was COMPATIBLY changed creating 2 new variables
                  IGGBGR1C='CURRENT*DIRECTORY*ENTRY'                    
                  IGGBGR2C='PENDING*DIRECTORY*ENTRY'                    
               in TMD2IG dataset from previously reserved areas.        
              -Three TMON PTFs: TE03897, TEO3904, and TE03910 make these
               changes in the TMON for DB2 records.                     
                                                                        
Change 31.132  Change 31.077 (PRCMFC 5.13 z/VM 6.2) was tested, sent,   
VMACVMXA       and validated, but that VMACVMXA was NOT moved into the  
Jul 10, 2013   master MXG source, causing BROKEN CONTROL RECORD ERROR.  
               CFVN=1 CSVN=3 SKIP= still had 1708 instead of 1664.      
   Thanks to David J. Schumann, BCBS of Minnesota, USA.                 
                                                                        
Change 31.131  Using EXUTILEX to create a tailored IMACEXCL no longer   
UTILEXCL       works with recent UTILEXCL (31.02 for example) when there
EXUTILEX       are two triplets with that CMODHEAD name, and it's not   
IMACICUS       yet clear why nor when it stopped working.  If you have  
Jul  9, 2013   an EXUTILEX member and its associated IMACICUS member,   
               please send them to support@mxg.com so they can be added 
               with a new IMACICxx member, which is now the correct way 
               to support user segments in CICSTRAN records.            
              -I will try to resolve and reinstate EXUTILEX support     
               and will update this note if/when that is accomplished.  
               At present, however, the second instance causes a SYNTAX 
               error citing the first variable in the EXUTILEX INPUT.   
   Thanks to Kim Nguyen-Thi, IBM, AUSTRALIA.                            
   Thanks to Paul Gillis, IBM, AUSTRALIA.                               
                                                                        
Change 31.130  Corrections to zIIP/zAAP SHARE WEIGHTS in RMF 70 data.   
VMAC7072       Change 30.106 did not correctly calculate the initial and
VMXG70PR       current SHAREs for the zIIP engines, didn't create SHAREd
Jul 20, 2013   variables for the zAAP engines, and revisions to labels  
               now identify  CP, ZAAP, or ZIP metrics.                  
               TYPE70 dataset: the "LPAR" values are for this zOS system
               while the "TOTAL" values are for the entire CEC.         
                 TYPE70 SHARE WEIGHT variables in TYPE70:               
                 TOTSHARC='TOTAL*CURRENT*CP SHARE*WEIGHT'               
                 TOTSHARE='TOTAL*INITIAL*CP SHARE*WEIGHT'               
                 ZIPSHARC='TOTAL*CURRENT*ZIIP SHARE*WEIGHT'             
                 ZIPSHARE='TOTAL*INITIAL*ZIIP SHARE*WEIGHT'             
                 IFASHARC='TOTAL*CURRENT*ZAAP SHARE*WEIGHT'             
                 IFASHARE='TOTAL*INITIAL*ZAAP SHARE*WEIGHT'             
                 LPARSHAC='LPAR*CURRENT*CP SHARE*WEIGHT'                
                 LPARSHAR='LPAR*INITIAL*CP SHARE*WEIGHT'                
                 LZIPSHAC='LPAR*ZIIP SHARE*CURRENT*WEIGHT*PCT'          
                 LZIPSHAR='LPAR*ZIIP SHARE*INITIAL*WEIGHT*PCT'          
                 LIFASHAC='LPAR*ZAAP SHARE*CURRENT*WEIGHT*PCT'          
                 LIFASHAR='LPAR*ZAAP SHARE*INITIAL*WEIGHT*PCT'          
               ASUM70PR and ASUMCEC variables exist per LPAR:           
                LPnSHARC='LPAR  n*SHARE*CURRENT*CP WEIGHT*PCT'          
                LPnSHARE='LPAR  n*SHARE*INITIAL*CP WEIGHT*PCT'          
                LPnZIPSC='LPAR  n*ZIIP SHARE*CURRENT*WEIGHT*PCT'        
                LPnZIPSH='LPAR  n*ZIIP SHARE*INITIAL*WEIGHT*PCT'        
                LPnIFASC='LPAR  n*ZAAP SHARE*CURRENT*WEIGHT*PCT'        
                LPnIFASH='LPAR  n*ZAAP SHARE*INITIAL*WEIGHT*PCT'        
   Thanks to Lindholm Orjan, VOLVO, SWEDEN.                             
                                                                        
Change 31.129  Support for CICS User CIFAUDIT field.                    
IMACICV5                                                                
UTILEXCL                                                                
VMAC110                                                                 
Jul  8, 2013                                                            
                                                                        
Change 31.128  If you tried to use the LDB2*** parameters to reroute a  
READDB2        dataset to a different DDNAME/LIBNAME, it was not honored
Jul  4, 2013   and fails when trying to write to the PDBOUT destination.
               READDB2 was using PDBOUT when it should have been using  
               the PDB2*** macro variables to change output DDNAMEs.    
   Thanks to David Bernhardt, Verizon, USA.                             
                                                                        
Change 31.127  Variables R783DCTM and R783DDTM (Control Unit Connect and
VMAC78         Disconnect Times) were added by z/OS 1.10 but were not   
Jul  2, 2013   flagged with the expected vertical bar for new fields so 
               they were overlooked. They are added to Dataset TYPE78CU.
   Thanks to Erling Andersen, SMTDATA, DENMARK.                         
                                                                        
Change 31.126  Variable XPTRVERS is now kept in all XPTR dataset.       
VMACXPTR                                                                
Jul  1, 2013                                                            
   Thanks to Robert Corballo, Xerox, USA.                               
                                                                        
====== Changes thru 31.125 were in MXG 31.04 dated Jun 26, 2013=========
                                                                        
Change 31.125  If you correctly asked for only DB2ST225 using syntax of 
READDB2          %READDB2(IFCIDS=STATISTICS,WANTONLY=DB2ST25);          
Jun 25, 2013   DIFFDB2 failed on the DB2STAT4 dataset due to a missing  
               ELSE clause, causing 0 observations to be created.       
    Thanks to Neil Ervin, Wells Fargo, USA                              
                                                                        
Change 31.124  MXG 31.03 only, INVALID DO LOOP CONTROL ERROR for ID=72  
VMAC7072       SUBTYPE=5 record because MXG did not test SMF72QSN for a 
Jun 25, 2013   missing value.  Fortunately, since it was missing, there 
Jun 27, 2013   was no impact, except for the error message and hex dump!
Aug 22, 2013   Correction was made in the undocumented refresh in 31.04 
               that was made on Jun 27.  Check the 2nd line of VMAC7072 
               for Jun 27 to verify you have the final 31.04.           
   Thanks to Cletus McGee, ALFA Insurance, USA.                         
                                                                        
Change 31.123  Using the archaic EXITCICS version 1 for DB2 compressed  
Jun 26, 2013   records caused INPUT STATEMENT EXCEEDED RECORD LENGTH due
VMACDB2H       to a truncated DB2 Data Sharing Header, with only four   
               bytes and an invalid QWHSLEN (1439 decimal), printing an 
               incorrect message that APAR PM32425 was needed.  Using   
               the current EXITCICS solved the truncation, but MXG now  
               detects this truncation with a revised error message and 
               prevents the STOPOVER ABEND.                             
   Thanks to Michael Toole, AAA Michigan, USA.                          
                                                                        
Change 31.122  Long variable names caused 49, 388, and "quoted string"  
VMXGSRCH       errors.  The string length was insufficient but now is   
Jun 23, 2013   increased to 72 which will support names up to 50 bytes  
               (although SAS variable names have a 32 byte maximum).    
                                                                        
Change 31.121  MXG Logic did not "unhex" CONDCODE for ABEND='COND=J' as 
VMAC30         it does for USER and RETURN codes, causing the value to  
Jun 23, 2013   be CONDCODE='000C', when it should be CONDOCD='0012'.    
   Thanks to Robert Bardos, Next Stride AG, SWITZERLAND.                
                                                                        
Change 31.120  Support for QESD segment added in MQ Series 7.1 adds     
VMAC115        variables to MQMMSGS dataset:                            
Jun 22, 2013                                                            
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
Change 31.119 -Variables IPCSTIME and character TIMEZONE (CDT/EDT/etc.) 
VMACNMON       are added to NMONBBBP dataset.                           
Jun 23, 2013  -New RECTYPE='DISKWAIT1' now supported correctly; this    
Jul  1, 2013   update was NOT in MXG 31.04, but is in 31.05.            
              -In adding support for DISKWAIT1 it was discovered that   
               the PDB.NMONDISK dataset could be missing observations   
               if there were more than 150 disk volumes on the system;  
               NMON writes 150 disks per record, and spills more disks  
               into the DISKxxxx1 tag, but MXG logic incorrectly used   
               the count in the LAST tag, so in this case, there were   
               150 disks in the first record, then 53 in the second, but
               MXG used that count of 53 and output only the FIRST 53.  
   Thanks to Xiaobo Zhang, FISERV, USA.                                 
                                                                        
Change 31.118  Support for new EDGR variables added to EDGRXEXT dataset 
VMACEDGR       (COMPATIBLY) by z/OS 1.13:                               
Jun 22, 2013     RDCOMPRAT ='FILE*COMPRESSION*RATIO'                    
Jul 15, 2013     RDESB     ='EXPDT*SET BY*DATASET'                      
                 RDPHYSIZE ='ACTUAL*DATA ON*TAPE*AFTER'                 
                 RDUCDATE  ='DATASET*LAST*USER*CHANGE*DATE'             
                 RDUCTIME  ='DATASET*LAST*USER*CHANGE*TIME'             
                 RDVEX     ='VRSEL*EXCLUDE?'                            
                 RVCOMPRAT ='VOLUME*COMPRESSION*RATIO'                  
                 RVESB     ='EXPDT*SET BY*VOLUME'                       
                 RVHOLD    ='VOLUME*HOLD?'                              
                 RVPHYSUSED='ACTUAL*SPACE*AFTER*COMPACTION'             
                 RVRETMET  ='RETENTION*METHOD'                          
                 RVRMSB    ='RETENTION*METHOD*SET BY'                   
                 RVUCDATE  ='VOLUME*LAST*USER*CHANGE*DATE'              
                 RVUCTIME  ='VOLUME*LAST*USER*CHANGE*TIME'              
                                                                        
   Thanks to Clayton Buck, UNIGROUP, USA.                               
                                                                        
Change 31.117  DB2 V10.  All QLSTxxxx numerics (in DB2STATR,DB2STATS)   
VMACDB2        are wrong.  IBM inserted QLSTPRID in the second iteration
Jun 20, 2013   of DB2 V10 right after QLSTLOCN, but I missed that change
               so all subsequent variables were misaligned by 8 bytes.  
               My thanks to DB2 Support at Computer Associates whose    
               reports were correct and were used to correct my error.  
   Thanks to Paul Walters, Navy Federal Credit Union, USA.              
                                                                        
Change 31.116  TYPETPMX variable JOBNUM was truncated from the left when
VMACTPMX       it was 6 digits long; an INPUT JOBNUM $VARYING7. is      
Jun 20, 2013   (pretty obviously) needed for seven digits.              
   Thanks to Scott Barry, SBBWorks Inc, USA.                            
                                                                        
Change 31.115 -Reading COMPRESSED DB2 SMF 102 records using the internal
READDB2        SAS-code decompression algorithm set SUBTYPE=0 instead of
VMACSMF        storing the IFCID in SUBTYPE.  If you used %READDB2 and  
Jun 19, 2013   listed any numerics in IFCIDS= argument, NO OBSERVATIONS 
               were created in those T102Snnn datasets, because READDB2 
               incorrectly tested SUBTYPE instead of QWHSIID.           
                 Note: If you use the EXITCICS SAS INFILE EXIT on z/OS  
                 to decompress DB2 records as they are read, or if you  
                 use IBM PGM=DSNTSMFD on z/OS to decompress before you  
                 read them, the SUBTYPE value is correctly set to the   
                 IFCID, which is why the SUBTYPE test usually worked!   
               Now, QWHSIID is tested in READDB2 to correct this error. 
              -Because IBM DB2 does not populate the IFCID value into   
               the SMF Header SUBTYPE Field, MXG logic in VMACSMF gets  
               IFCID from the DB2 Product Segment to put into SUBTYPE,  
               when the data is uncompressed or the CICSIFUE is used,   
               but with the internal MXGDECOM, the record has not yet   
               been decompressed when the SMF header is processed, so   
               the offset to the Product Segment is wrong and the IFCID 
               cannot be INPUT, and SUBTYPE is zero (except for IFCIDs  
               105,106,196,258 and maybe others that aren't compressed).
               and so ANALID reports 102.000 for those IFCIDs that can't
               be known due to comressed records with MXGDECOM.         
              -After Change 32.175, the DB2 Subsystem is ALWAYS decoded 
               in the SMF Header Processing; the SMF SUBSYS field is the
               DB2 Subsystem, but that was not realized in 31.115.      
               This Change Text was revised AFTER CHANGE 32.175.        
              -However, with compressed records and the internal decomp,
               the DB2 version will be blank, since that, like IFCID, is
               only in the product segment.                             
              -The UTILGETM/VMXGGETM utility to extracts records of each
               ID and Subtype to create the SMFSMALL dataset or report  
               on SMF record counts will also lump all those ID=102     
               IFCIDs as SUBTYPE=0 with compressed/internal.            
              -EXITCICS and DSNTSMFD are members in MXG Source Library. 
              -VMACSMF was revised to bypass reading the Product Segment
               with compressed data and the internal code is used.      
   Thanks to Paul Walters, Navy Federal Credit Union, USA.              
                                                                        
====== Changes thru 31.114 were in MXG 31.03 dated Jun 17, 2013=========
                                                                        
Change 31.114  SMF70NCA, PERCENT*WHEN*CAPPING*DELAYED*WORK is added to  
VMXG70PR       ASUM70PR ASUM70LP ASUMCEC  ASUMCELP datasets, and the    
Jun 17, 2013   maximum Group MAX70NCA is added to ASUM70GL.             
   Thanks to Helene BARDON, Silica Production Information, FRANCE.      
                                                                        
Change 31.113  Discovered during QA. TRNDing RMFINTRV created workload  
VMXGRMFI       variables in TRNDRMFI/MNTHRMFI datasets with suffixes TRN
Jun 17, 2013   RSP SWP for TSO1/TSO2/TSO3 that should not have been     
               created nor kept, as the actual TSOn TRAN RESP SWAP were 
               created.  Because of the original 8-byte variable name   
               restriction, and because you can specify Workload prefix 
               with five characters, the OTHER multi-period workload    
               variable names ARE suffixed with TRN RSP and SWP, which  
               is a regrettable inconsistency in MXG names that we'll   
               have to live with.  Also, workload variables that are    
               used only for normalizing (suffix CNT) are not kept.     
                                                                        
Change 31.112   MXG support for ODS graphics executes PROC TEMPLATE when
FORMATS         FORMATS is run (during install of a new MXG Version) and
GRAFWRKX        the MXGSTYL1 style is stored in the //LIBRARY DD/LIBNAME
MXGSTYL1        and VMXGINIT adds LIBRARY to the ODS Path so that style,
VMXGINIT        used initially in GRAFWRKX, can be retrieved and used.  
Jun 16, 2013    GRAFWRKX comments show how to use the ODS graphics code.
                                                                        
Change 31.111  -RMF III Enhancements and Notes                          
ASMRMFV        -RMF III SVP (Service Policy) tables over 32K in length  
SENDVSAM        are now supported.  Prior versions of ASMRMFV would skip
VMACRMFV        the entire SVP table if it exceeded 32K because that was
Jun 15, 2013    beyond the maximum output LRECL possible.  Now when     
                needed this table is segmented and output to RMFBSAM as 
                several records.  This was a long standing documented   
                ASMRMFV program restriction that is now lifted.  This is
                the last RMF Monitor III table that had a size support  
                restriction.  Users with Service Policies less than or  
                equal to 32K in size will have a single SVP record      
                output to RMFBSAM as before.                            
               -VMACRMFV has been upgraded to accept segmented SVP table
                records when present as input in the RMFBSAM file; these
                variables are now RETAINed from the header and are kept 
                in ZRBSVPC ZRBSVPG ZRBSVPR ZRBSVPW ZRBSVPZ datasets:    
                   SVPDSP   SVPIDD   SVPIDN   SVPIDU   SVPIPU           
                   SVPNSP   SVPSNA   SVPTDI   SVPTIB   SVPTPA           
               -Note: Users most likely to be affected by this change   
                are those with large number of Service Classes and/or   
                Report Classes in their WLM Service Policy.  Their      
                ZRBSVPP, ZRBSVPW, ZRBSVPC, ZRBSVPZ, ZRBSVPR, and ZRBSVPG
                data sets will now be populated in the RMF III PDB if   
                the SVP table is selected in ASMRMFV processing.        
               -When the POLICY parameter is in effect (NOPOLICY is the 
                default), a second RMFV024I message will now appear in  
                ASMRMFV SYSPRINT showing the Name and Description of the
                Service Definition.  This is in addition to the Name and
                Description of the Service Policy already displayed.    
               -Also when the POLICY parameter is in effect, the        
                RMFV027I message in ASMRMFV SYSPRINT will now display   
                the total length of the SVP table.  When this value     
                exceeds 32760 then the RMFBSAM output will be segmented 
                into several records instead of a single record to avoid
                skipping the table.  The segmentation behavior occurs   
                regardless of whether POLICY or NOPOLICY is in effect.  
               -The Service Policy itself is now counted as an entry in 
                the ENTRIES COUNT column for SVP tables.  This is added 
                to the total number of Workloads, Service Classes,      
                Service Class Periods, Report Classes, and Resource     
                Groups defined in the Service Policy already included in
                that value.                                             
               -ASMRMFV prologue source documentation has been updated  
                to remove documentation on the skipping of the SVP table
                if greater than 32K in size.                            
               -Minor corrections made to SENDVSAM sample JCL member    
                used to send RMF III VSAM file to MXG support.          
               -REQUIREMENT: In order to receive these improvements the 
                current ASMRMFV utility program from this MXG change    
                must be installed.  See MXG SOURCLIB member JCLASM3 for 
                sample JCL for the assembly and link-edit install steps.
     Thanks to Warren Cravey, FMR Corporation, USA                      
                                                                        
Change 31.110  CICS/TS 5.1 only, MNSEGCL=5 (RESOURCE class FILE segment)
VMAC110        ID=110 Subtype 1 INPUT STATEMENT EXCEEDED RECORD LENGTH  
Jun 13, 2013   because 16 bytes were inserted but not protected in MXG. 
               New variables                                            
                  FCFIXCTM='FILE*EXCLUSIVE WAIT*DURATION'               
                  FCFIXCCN='FILE*EXCLUSIVE WAIT*COUNT'                  
                  FCFIVSTM='FILE*VSAM STRING*WAIT*DURATION'             
                  FCFIVSCN='FILE*VSAM STRING*WAIT*COUNT'                
               are now created in CICSRDFI.  Fortunately (for ME!), only
               leading edge CICS sites have enabled the RESOURCE class  
               segments, so the exposure is (hopefully) small for most. 
   Thanks to Tom Buie, Southern California Edison, USA.                 
                                                                        
Change 31.109  Documentation only, to create an uncompressed record for 
VMAC110        technical support.  The comment block is revised to show 
Jun 11, 2013   how to print a hex dump of a single uncompressed record. 
                                                                        
Change 31.108  DB2STAT1 variables QXSTCWLP/QXSTCW?R/QXSTCWLM/QXSTCWLD   
VMACDB2        were not deaccumulated, were incorrectly kept in DB2STAT0
Jun  7, 2013   and QISTWMXU should not have been deaccumulated.  Real   
               data with non-zero variables is required to validate if  
               fields are accumulated or not; the DSECTS are frequently 
               insufficient to clearly identify field contents.         
   Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.           
                                                                        
Change 31.107  These TYPE120 variables are now correctly labeled:       
VMAC120           SM1209DD='ENCLAVE*ZIIP*ELIGIBLE*ON CP*CPU TIME'       
Jun  7, 2013      SM1209DE='ENCLAVE*ZIIP*ELIGIBLE*CPU TIME'             
                  SM1209DF='ENCLAVE*ZIIP*TIME*ON ZIIP'                  
   Thanks to Mark Wittie, Fidelity Investments, USA.,                   
                                                                        
Change 31.106 -Variable TYPETASK in dataset TYPE6 was inconsistent for  
VGETJESN       PSF and Printway records, and did not identify Printway  
VMAC6          Basic from Extended mode.  Now, TYPETASK and SUBSYS6 will
BUILD005       contain 'PSF ' for PSF, and 'TCP ' for Printway Basic or 
BUIL3005       'TCPE' for Printway Extended format records.             
Jun  4, 2013  -BUILDPDB logic revised so these TYPE6 TYPETASK values are
May 14, 2014   NOT accidentally used for PDB.JOBS.  HOWEVER: this can   
               cause TYPETASK to be blank in PDB.JOBS for any job for   
               which ONLY the PRINT record was found. And that will not 
               likely happen in full BUILDPDB production with the SPIN  
               library populated.  It is when you have not populated the
               SPIN library, and read "today's" SMF, it will have those 
               type 6 record for jobs that executed prior to today, and 
               that is the primary source of jobs with only TYPE6 obs.  
               Once you've populated the SPIN library, there should be  
               very few cases of only a type 6 record so TYPETASK should
               normally be populated in production BUILDPDBs            
               This paragraph revised May 14, 2014.                     
              -IP PrintWay fills in the page count (variable PAGECNT,   
               SMF6PGE) when it uses the direct sockets protocol to send
               data to the printer and ONLY IF "Record pages printed for
               accounting" option is selected in the Printer Inventory. 
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.    
   Thanks to Jeff Fracas, WIPRO, USA.                                   
                                                                        
Change 31.105  ASMTAPEE ML-51 update corrects MXGC010E error message.   
ASMTAPEE       Note that if the HSC exit is not installed, STKX=NO must 
Jun  1, 2013   be specified as a PARM when ASMTAPEE is executed.        
                //MXGTMNT  EXEC  PGM=MXGTMNT,PARM='STKX=NO'             
   Thanks to Scott Barry, SBBworks, Inc., USA.                          
                                                                        
Change 31.104  Change 30.250 was incorrectly made in ANALCAPD.  The code
ANALCAPD       should have had PDB=&PDBMXG, in the Macro Definition, but
ANAL72GO       this discovery caused examination and correction of these
ANALAVAI       other members.  Many cases of lower case variable names  
ANALBLSR       were upper cased for consistency.                        
ANALCISH                                                                
ANALDB2R                                                                
ANALDBTR                                                                
ANALDMON                                                                
ANALNPMR                                                                
ANALRAID                                                                
ANALWHO                                                                 
May 31, 2013                                                            
   Thanks to Randy Shumate, Reed-Elsevier, USA.                         
                                                                        
Change 31.103  Variable QACCN is now kept in TMMQQAA dataset.           
VMACTMMQ                                                                
May 30, 2013                                                            
   Thanks to Homayoun Riazi, UHC, USA.                                  
                                                                        
Change 31.102  IMS 13 inserted new DLRAZAAP field in the 07 Log Record  
VMACIMS        nearly at the front, that was overlooked, and caused all 
VMACIMSA       subsequent variables to be invalid, but error messages of
May 28, 2013   invalid data were only rarely printed.                   
   Thanks to Daniel Erikols, Handelsbanken, SWEDEN.                     
                                                                        
Change 31.101  PDB.JOBS new variables HICPUPGM and HICPUPCT were wrong, 
BUILD005       as the job-level values were taken incorrectly from the  
BUIL3005       last step.  They are now populated from the TYPE30_5 job 
May 23, 2013   record, (using SPIN30_5 names HICPUPG5/HICPUPC5 because  
               they come from multiple records).  With this change,     
               HICPUPCT is the maximum value of any step or interval    
               record, and HICPUPGM is the corresponding program that   
               recorded that HICPUPCT.                                  
                 Note:  These variables were one of the last of the late
                 Bernie Pierce's implementations, and they exist so that
                 IBM might be able identify single threaded programs.   
                 With all processor vendors acknowledging that processor
                 speed is now limited by physics, and unlikely to be    
                 increased significantly, applications that are single  
                 threaded need to be identified for possible revision so
                 they don't become bottlenecks in the future, and these 
                 variables provide a POSSIBLE candidate identification. 
                 addition.  Many IBM customers provided data, and I was 
                 contacted because the MXG program, ASMRMFV, was flagged
                 as likely single-threaded, and it is!  That program    
                 decompresses the RMF III monitor data, and we had      
                 previously examined with STROBE, which reported that   
                 96% of the CPU time was inside the IBM-provided code   
                 ERB3RDEC that does the decompression, which kicked this
                 ball back in to IBM field of play!                     
   Thanks to Scott Barry, SBBWorks, Inc., USA.                          
                                                                        
Change 31.100  Member ASUMUOW executed twice because lines 214 following
ASUMUOW        were duplicates of the first 214 lines, in MXG 30.06 thru
May 23, 2013   MXG 31.02.                                               
   Thanks to Mike George, Northern Territory Government, AUSTRALIA.     
                                                                        
Change 31.099  Unused Change Number                                     
                                                                        
Change 31.098  Support for local CICS variables TUXTRAP and UMBPROG.    
IMACICV3                                                                
IMACICV4                                                                
UTILEXCL                                                                
VMAC110                                                                 
May 22, 2013                                                            
   Thanks to Jim Polleti, Edward Jones, USA.                            
                                                                        
Change 31.097 -CICS Statistics SMF ID=110 subtypes 2-5 contain multiple 
VMAC110        segments per record, each identified by its "STID" value,
May 14, 2013   which controls which dataset is output, but MXG didn't   
               identify which SUBTYPEs had which STIDS to create which  
               datasets.  These comments in VMAC110 are updated to list 
               CICS Statistics Subtypes 3-5 that contain STIDs 121-129: 
                                                                        
            CICS RECORD SUBTYPES AND CORRESPONDING MXG DATASETS CREATED:
             0=JOURNAL SEGMENT                                          
                          CICSJOUR (DEFAULT IF UNKNOWN JOURNAL).        
                          CICSSAP  (IF IMACICSA ENABLED FOR SAP).       
                          CICSSMED (IF IMACICSM ENABLED FOR SHAREDMED). 
             1=MONITOR/TRANSACTION                                      
               MNSEGCL=1    DICTIONARY RECORD: CICSDICT ONLY IN UTILEXCL
               MNSEGCL=2    CICSACCT  (ZERO OBS ALWAYS, WAS PRE ESA)    
               MNSEGCL=3    PERFORMANCE CLASS: CICSBAD, CICSTRAN        
               MNSEGCL=4    EXCEPTION:   CICSEXCE                       
               MNSEGCL=5    RESOURCE:    CICSRDS,CICSRDFI,CICSRDQU      
               MNSEGCL=6    IDENTITY:    CICSIDNT,CICSIDND              
             2=STATISTICS: ALL OTHER STIDS, ALL OTHER CICXXXXX DATASETS 
             3=TS DATA SHARING STATS:    CICXQ1,CICXQ2,CICXQ3           
                               STID:       121    122    123            
             4=CF DATA TABLE STATS:      CICFS6D,CICSF7D,CICFS8D,CICFS9D
                               STID:       126     127     128     129  
             5=NAMED COUNTER STATS:      CICNS4D,CICNS5D                
                               STID:       124     125                  
              -TYPE110 processing always examines subtypes 2-5 for all  
               possible STIDs, which control which dataset is output,   
               but the example in comments in CICINTRV to build from raw
               SMF selected only subtype 2 in its IMACFILE tailoring, so
               that example would not populate those nine datasets. That
               example now selects SUBTYPE GE 2.                        
   Thanks to Richard Schwartz, IBM Global Services, USA.                
                                                                        
Change 31.096  Example summarizes ENTIREX data to 15 minute intervals.  
ASUMENTX                                                                
May 11, 2013                                                            
                                                                        
Change 31.095  Variable CA_XIIS  /* GET CACHE DATA ACCESS XI'S */ now   
ANALRMFR       includes R744CXFW /* XI WRITE */ to match IBM RMF report.
May 11, 2013                                                            
   Thanks to Marvin Silverman, ???, USA.                                
                                                                        
Change 31.094  BUILDPDB/BUILDPD3 enhancement: create your own accounting
BUILD005       variables for PDB.JOBS/PDB.STEPS/PDB.SMFINTRV, especially
BUIL3005       useful when converting from MICS to MXG.  While IMACACCT 
EXPDBACC       allows you to create account variables, and the _KTY30Ux 
VMXGINIT       tailoring macros, placed in member IMACKEEP, will add    
May 11, 2013   them to the TYPE30xx datasets, this new EXPDBACC exit    
               lets you create additional account variables for BUILDPDB
               and, similar to other PDB "ADDxxxx" macro variables, use 
                 %LET ADDACCT= ACCTBITS ACCTNo1-ACCTNo5;                
               and your new variables will be kept in the PDB datasets. 
   Thanks to Randall Schlueter, First Data, USA.                        
                                                                        
Change 31.093 -The DB2 "INVALID" IFCID=369 ID=100 SUBTYPE=5 DB2STAT5 SMF
CLEARDB2       record, cited and purportedly protected by Change 31.088,
READDB2        is more accurately described (in fairness to IBM DB2) as 
VMACDB2        "UNDOCUMENTED" or "UNEXPECTED", but not INVALID, although
May 14, 2013   it caused MXG to take a floating point exception or INPUT
               STATEMENT EXCEEDED error that ABENDED the JOB. (Older MXG
               Versions print the 'CALL HOME" message 1440 times per DB2
               Subsystem, but fortunately, with no actual impact on the 
               other existing DB2 datasets).                            
                                                                        
               The UNEXPECTED subtype 5 record is now diagnosed as a    
               startup record, written when IFCID 0369 is enabled, and  
               it contains only two segments (PROD and OFF3691), with   
               only QW0369ST (enabled datetimestamp) populated, so MXG  
               sets QW0369CN='ENABLED' (or, for a record with QW0369SP  
               populated, MXG sets QW0369CN='DISABLED').  Since DB2STAT5
               is a per-connection-type statistics, I presumed all five 
               segments would be present, but now test for QWHSNSDA=2 to
               identify this record.                                    
                                                                        
               There was one record written with impossible DB2TCBTM of 
               152 minutes for a 1 minute interval for BATCH connection,
               not possible, but the peak sum of DB2TCBTM recorded 38   
               minutes on a machine with XX CP engines.                 
                                                                        
               Support for Subtype 5 was not in the original 31.02; it  
               was at least 5 minutes after I posted the GA announcement
               before Joe Babcock sent me the CALL HOME message about   
               the new DB2 subtype, and Change 31.081 updated VMACDB2 to
               create DB2STAT5, since it tested fine with a day's data  
                (other than the separate internal invalid data issue)   
               and because, without that updated VMACDB2, there would be
               1440 "CALL HOME" log messages per DB2 subsystem printed  
               each day  While in no way impacting the actual execution,
               those messages can ONLY waste user's time in asking about
               them, so the updated VMACDB2 at 31.081 was moved into the
               redated MXG 31.02 on May 5.  Unfortunately, by then, the 
               short record had been found, Change 31.088 detected and  
               protected, but the VMACDB2 in 31.02 of May 5 was still at
               Change 31.081.  This change, now does recognize and read 
               and output these records to DB2STAT5 without error.      
              -READDB2 is updated to create DB2STAT5 when STATISTICS or 
               IFCID=369 is requested.  DB2STAT5 is NOT combined into   
               DB2STATS because STAT5 is per connection-type metrics.   
              -CLEARDB2 is updated to add DB2ST5 tokens to be redefined.
                                                                        
Change 31.092  Reserved Change Number.                                  
May  8, 2013                                                            
                                                                        
Change 31.091  Instructions for updating IMACSMFF to add the description
FORMATS        for user SMF records for the ANALID report and SMFRECNT  
May  7, 2013   dataset didn't state that the syntax that is required is 
               'III.SSS' (III=ID with SSS=SUBTYPE) if the record has the
               a subtype in the SMF header, or 'III.000' if not.        
                                                                        
Change 31.090  Default LENUSRCH=32 was left behind from debugging that  
IMACICUS       should be LENUSRCH=0; this could cause EXCLUDED field    
May  7, 2013   error messages even though you had tailored IMACEXCL.    
   Thanks to Scott Barry, SBBWorks, Inc., USA.                          
                                                                        
Change 31.089  Installation JCL example had inconsistent DSNAMEs for the
JCLINSTT       TERSED dataset.                                          
May  7, 2013                                                            
   Thanks to Donald Williams, UNC Health Care, USA.                     
                                                                        
====== Changes thru 31.088 were in MXG 31.02 dated May  5, 2013=========
                                                                        
Change 31.088  New DB2 V10 ID=100 SUBTYPE=5 DB2STAT5 INPUT EXCEEDED     
VMACDB2        error because of an UNDOCUMENTED short record with only  
May  4, 2013   two segments.  See Change 31.093 for the correction.     
               The original May 4 change to VMACDB2 detected and deleted
               records with large OFF3692 offset values.  The DB2STAT5  
               data is the DB2 IFCID=0369 and must be enabled to create 
               the exposure.  See Change 31.093.                        
                                                                        
Change 31.087  MXG 31.02. Debugging PROC PRINT of DATA=MGTMSVL was left 
TYPETMS5       after it helped diagnose Change 31.078.  Now removed, but
May  4, 2013   it could create a massive print output dataset.          
   Thanks to Scott Barry, SBBWorks, Inc., USA.                          
                                                                        
Change 31.086 -SMF Audit Report Enhanced for DB2 SMF to report if the   
ANALID         ACCUMAC ZPARM option was enabled (NON-ZERO VALUE combines
VMACID         multiple 101-1 records into one Rollup record with all   
VMACSMF        detail summarized).  Variable DB2PARTY='R' in DB2ACCT    
May  4, 2013   flags the summary records, which can be confusing if you 
Jun 26, 2013   do not know what to look for, and ACCUMAC=10 is default. 
               A column is added and new FOOTNOTE2 explains.  Note that 
               if ACCUMAC is on and off, statistics for both conditions 
               are reported.                                            
              -CICS 110.2 records are never compressed but MXG didn't   
               select only subtype 1 records, so the report could have  
               incorrectly indicated compressed for subtype 2 records.  
              -Jun 26, 2013: Comments revised in IMACSMFF.              
                                                                        
Change 31.085  Format $MGCICDS for SMF/SMT/SMS CICS Statistics values   
FORMATS        11/12/13x are now replaced in CICS/TS 5.1:               
May  3, 2013     '11'X='11X:GCDSA'  /* WAS ESDSA PRE 5.1.0 */           
                 '12'X='12X:GUDSA'  /* WAS ERDSA PRE 5.1.0 */           
                 '13'X='13X:GSDSA'  /* WAS ETDSA PRE 5.1.0 */           
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
                                                                        
Change 31.084  MXG 31.02, RMF III INPUT STATEMENT EXCEEDED if an LPAR   
VMACRMFV       had no engines; the SKIP logic to skip the nonexistent   
May  3, 2013   segments was incorrect with unexpected zero engines.     
   Thanks to James Sterling, DST Systems, USA.                          
                                                                        
Change 31.083  Reserved Change Number.                                  
May 10, 2013                                                            
                                                                        
Change 31.082 -ASCII only. Character variable SMFDSAIN with $HEX format 
VMAC110        must be input as $CHAR instead of $EBCDIC when MXG runs  
Apr 30, 2013   on ASCII.  Two of three incorrect instances corrected.   
   Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.  
   Thanks to Glen Bowman, Wakefern Food Corp.                           
                                                                        
Change 31.081  Support for DB2 V10 ID=100 SUBTYPE 5 Statistics Record,  
EXDB2ST5       IFCID=369, created when you enable that trace record, now
IMACDB2        creates new DB2STAT5 dataset with LOTS of CPU and WAIT   
VMACDB2        times (ALL QBAC and QWAX variables) by connection type,  
VMXGINIT       with these connection types defined:                     
Apr 30, 2013      MASS    -  IMS attach                                 
                  SASS    -  CICS attach                                
                  RRSAF   -  RRSAF attach                               
                  UTILITY -  Utility                                    
                  BATCH   -  Batch                                      
                  DIST    -  DDF connection                             
               From IBM:                                                
                 1.Statistics collection will become enabled when both  
                   IFCID 369 and IFCID 3 is enabled on the system.      
                 2.All counters will be reset to zeroes when DB2 is     
                   restarted                                            
                 3.Statistics are aggregated by connection type. If no  
                   agents for that connection type have executed since  
                   the 369 collection in enabled, no data will be       
                   externalized for that connection type.               
                 4.QWACPCNT indicates the number of transactions        
                   aggregated for a given connection type.              
               The MXG -  ERROR: UNEXPECTED DB2 SUBTYPE. CALL HOME.     
               shows how long ago this code to detect new subtypes was  
               added to MXG: BEFORE THERE WAS AN INTERNET!  The message 
               now references SUPPORT@MXG.COM.                          
                                                                        
               There is no direct impact on ITRM by the creation of the 
               new DB2STAT5 dataset.  When DB2STAT4/DB2ST225 datasets   
               were created MXG did impact ITRM, with NOT SORTED errors 
               (that were immediately corrected with a one line insert),
               but that was because those datasets were merged into the 
               PDB.DB2STATS where sorts had to match; this new DB2STAT5 
               dataset is NOT combined into the interval PDB.DB2STATS,  
               at least not yet and not until it's errors are fixed,    
               because it is a per-connection-type-per interval dataset.
               See Change 31.093.                                       
                                                                        
               Sep 2014 Note: If you have tailored TYPEDB2/TYPSDB2 code,
               you will have to modify your code to create the DB2STAT5 
               dataset.  If you uses _NDB2 to null all datasets, then   
               you will need to add MACRO _WDB2ST5 DB2STAT5 %  so that  
               that dataset is created.  Otherwise, you will get        
                 ERROR: No data set open to look up variables           
               printed before                                           
                 "The data set WORK.ZZDB2ST5 may be incomplete/"        
   Thanks to Joe Babcock, JPM Chase, USA.                               
   Thanks to John Hornor, JPM Chase, USA.                               
                                                                        
Change 31.080 -RMF III Enhancements, Fixes, and Notes                   
ASMRMFV       -Change 31.021 increased the number of ENC table triplets 
May 28, 2013   processed from 1 up to 6.  However, later analysis of    
               data from several installations confirmed that triplets  
               2-6 all have zero token values for every enclave and no  
               identification information.  Therefore, processing is    
               reverting back to only processing the first triplet as   
               before.                                                  
              -Note: Users who have implemented change 31.021 or 31.062 
               will see the number of observations in the ZRBENC dataset
               significantly reduced with this change.                  
              -Validity checking for most RMF Monitor III tables has    
               improved.  This is intended to detect malformed RMF III  
               tables that could cause abends or bad data in the PDB    
               build later.  For example, table headers cannot have a   
               zero or excessive length.  However, users should not see 
               a general increase in skipped records.  Table skipping   
               should be a rare event.                                  
              -ASMRMFV was inconsistent in handling tables with entry   
               counts of zero.  Most tables with this condition were    
               already ignored with no output to any file.  However, for
               some tables the header only was output.  Now all such    
               tables are ignored by default.                           
              -Note: RMF Monitor III table headers only contain control 
               information such as header length, total record length,  
               and the number of entries, entry length, and table offset
               for triplet groups.  So there is no loss of useful       
               analysis data by excluding headers only from the RMFBSAM 
               file.  It is the entries themselves that contain relevant
               information for reporting.                               
              -Because headers only for tables with zero entries are no 
               longer output, the ZEROENC/NOZEROENC parameters (and     
               their aliases) for ENC table processing are now OBSOLETE.
               If coded they will be accepted without error, but will be
               ignored.                                                 
              -ZEROENC/NOZEROENC will no longer be displayed in filters 
               message RMFV006I.                                        
              -New parameters SKIPTAB/NOSKIPTAB are now supported.      
               NOSKIPTAB is the default and says to ignore any tables   
               with zero entries.  This is the behavior of prior ASMRMFV
               versions.  SKIPTAB says to output these as skipped       
               records.  SKIPTAB is intended for possible diagnostic use
               only and the default NOSKIPTAB should be adequate for all
               users.                                                   
              -Note: SKIPTAB/NOSKIPTAB applies only to the following RMF
               Monitor III tables: ASI, CFI, CPD, CSR, DVT, ENC, ENT,   
               OPD, SPG.                                                
              -When the POLICY option (alias POL) is in effect a second 
               RMFV027I message will now be produced showing the SRM    
               coefficients for CPU, IOC, MSO, and SRB for that Service 
               Policy.                                                  
              -Error message RMFV007S had incorrect values for DDNAME   
               and Reason Code when a BLDVRP failure occurred.          
              -ASMRMFV prologue source documentation has been updated   
               for the new SKIPTAB/NOSKIPTAB parameters, the obsolete   
               ZEROENC/NOZEROENC parameters, and has more information on
               the checks used to determine skipped records.            
              -REQUIREMENT: In order to receive these improvements the  
               current ASMRMFV utility program from this MXG change must
               be installed.  See MXG SOURCLIB member JCLASM3 for sample
               JCL for the assembly and link-edit install steps.        
               There are NO CHANGES to VMACRMFV for this enhancement.   
     Thanks to Rodger Foreman, Trans Union, USA                         
                                                                        
====== Changes thru 31.079 were in MXG 31.02 dated Apr 29, 2013=========
                                                                        
Change 31.079  Dataset TYPE42 variables  S42CCSST S42CCEIT S42CCSET     
VMAC42         were on GMT rather than local, and there is no GMT offset
Apr 26, 2013   in that subtype, but SMFTIME was used to derive and use  
               the offset to convert those datetimes to local zone.     
               This caused me to examine and find that all of the TYPE42
               datasets with STARTIME and ENDTIME also had GMT values,  
               but these datasets were corrected in this change:        
                 42D1 42D2 42D3 42D4 42EX 42L1 42L2 42S1 42S2 42S3      
                 42S4 42SR 42VT 42X1 42X2 42X3 42X4.                    
               Either no one uses these datasets, or they recognized the
               SMFTIME was local and could visually convert!            
   Thanks to Paul Naddeo, Fiserv, USA.                                  
   Thanks to Edward Petka, Fiserv, USA.                                 
                                                                        
Change 31.078  PROC FORMAT failed with "FORMAT NAME $MGTMSVL" IS INVALID
VMACTMS5       that was NOT repeatable here with either z/OS or Windows,
ANAL30         because this was an NLSCOMPATMODE issue for non-US site. 
ANALCPUV       The $ is a variant character and was the culprit, but it 
ANALDB2P       turns out that the $ is NOT required in the FORMAT NAME, 
ANALZPCR       since the PROC FORMAT sets the CHAR/NUM nature, so all of
GRAFLPAR       the PROC FORMATS that create 'on the fly' formats were   
TIMEBILD       revised to remove the $ character from variable FMTNAME. 
TRNDTALO       NOTE: ALL NLS ISSUES ARE ELIMINATED IF YOU USE THE NEW   
VFMT102           // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'           
VFMT102        documented in Change 27.356 and recommended in INSTALL,  
Apr 26, 2013   or if CONFIGN9 (instead of CONFIGV9) is used in your site
               MXGSASV9 JCL, as CONFIGN9 does NOT change the site's     
               NLSCOMPATMODE option value.                              
   Thanks to Frank Lund, Evry AS, NORWAY.                               
   Thanks to Rich Anderson, SAS Technical Support, USA.                 
                                                                        
Change 31.077  z/VM 6.2 PRCMFC 5.13  (SMF 113-like) record has 384 extra
VMACVMXA       bytes added that exposed BROKEN CONTROL RECORD ERROR, due
Apr 27, 2013   to MXG code (1664 bytes read for the 208 counters, but   
               1728 subtracted).  No new counters exist (yet?) in z/OS  
               SMF 113 so these new bytes are (presumably) for the      
               future, but I will confirm with IBM VM support and update
               this note if there is another explanation.               
   Thanks to David J. Schumann, BCBS of Minnesota, USA.                 
                                                                        
Change 31.076  Support for USER CICS fields INFRASTR CSGNTAIP FDRTRRCP  
IMACICUY       and FDRICPTI.                                            
IMACICUZ                                                                
IMACICV1                                                                
IMACICV2                                                                
UTILEXCL                                                                
VMAC110                                                                 
Apr 25, 2013                                                            
   Thanks to Mayer Rosenthal, WIPRO, USA.                               
   Thanks to Jeff Fracas, WIPRO, USA.                                   
                                                                        
Change 31.075  ASCII execution only.  Variables RTYPE and RRTYPE were   
VMAC110        incorrectly input as $CHAR instead of $EBCDIC in current 
Apr 23, 2013   CICS versions' code.  Older versions were correct.       
               And there was NO error if you used UTILEXCL to create a  
               tailored IMACEXCL; that code did use $EBCDIC.            
   Thanks to Erling Andersen, SMTDATA, DENMARK.                         
                                                                        
Change 31.074  Dataset ZRBLCP had incorrect values for these variables  
VMACRMFV        LCPUPOLR LCPUCHIN LCPUCHIX due to misaligned INPUT.     
Apr 23, 2013                                                            
   Thanks to Sterling James, DST Systems, USA.                          
                                                                        
Change 31.073  Variable TYPETASK added to ASUMSMFI and TRNDSMFI         
ASUMSMFI       datasets.                                                
TRNDSMFI                                                                
Apr 28, 2013                                                            
   Thanks to Frank Lund, Evry AS, NORWAY.                               
                                                                        
Change 31.072  Format MG0748L decodes variable R748LTYP; new value for  
FORMATS        16 GB/S Link Type is now decoded.                        
Apr 23, 2013                                                            
   Thanks to "Bustia REPORTING", La CAIXA, SPAIN.                       
                                                                        
Change 31.071  Cosmetic.  PAGEBY SYSTEM added so each system starts on a
ANALID         new page.                                                
Apr 23, 2013                                                            
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.    
                                                                        
Change 31.070  PMSTA01 Report. Cosmetic.  If DB2STATS had only one obs, 
ANALDB2R       and always for the last observation, page headers for    
Apr 19, 2013   the report were suppressed.                              
                                                                        
Change 31.069  Reserved Change Number.                                  
Apr 28, 2013                                                            
                                                                        
Change 31.068  See Change 31.018. This is IDMS EXIT code, contributed by
ADOCIDMP       Blake Leggett, Pace Applied Technology, that creates the 
ASMIDMPA       SMF records with IDMS resources that are processed with  
ASMIDMPJ       TYPEIDMP/TYPSIDMP MXG programs.                          
ASMIDMPS      -See ADOCIDMP for details for installing the exit.        
ASMIDMPU      -The assembly source members for the Account Information  
JCLIDMPA       exit, Journal Exit, Task Statistics Exit, and User Exit  
JCLIDMPJ       for IDMS are now included.                               
JCLIDMPS      -Sample JCL members for these exits are provided with     
JCLIDMPU       documentation on what each exit does and how to install  
Apr 13, 2013   them.                                                    
              -NOTE: Some tailoring of the sample JCL is required for   
               data set names particular to the user installation.      
              -NOTE: These exits are intended for use with IDMS V12.0   
               and up.                                                  
    Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.        
                                                                        
Change 31.067  A new way to map DBID/OBID to their database and object  
ANALDB2R       names by first using JCLSQLID to extract those names at  
JCLSQLID       a point-in-time, from SYSIBM.SYSTABLESPACE which has the 
VFMT102        complete mappings, rather than reading 105/107 IFCIDS    
Apr 13, 2013   that has been problematic, and then the POINTIME= option 
               added in ANALDB2R POINTINTIME= can be used to read that  
               dataset created by JCLSQLID:                             
                -POINTINTIME=YES reads JCLSQLID output from a static    
                  //OBID DD DSNAME= you provide.                        
                -POINTINTIME=DSNAME allocates DSNAME to FILENAME OBID   
                  and reads that file of JCLSQLID output.               
                -POINTINTIME=NO reverts to the prior technique using the
                  IFCID 105/107 records, but neither technique is 100%  
                  perfect as mappings can be changed after the snapshot 
                  was taken.  This method has been more complete in     
                  mapping.                                              
                                                                        
Change 31.066  Support for z/OS 2.1.                                    
VMAC7072      -Up to 256 engines are supported, but no new variables are
Apr 12, 2013   kept in TYPE70.  Individual engine data for all engines  
               are output in TYPE70EN dataset.                          
                                                                        
Change 31.065  If there was no PDB in PDB= argument, ANALDBTR failed:   
ANALDBTR       ERROR: NO BY STATEMENT USED OR NO BY VARIABLES EXISTED.  
Apr 11, 2013   The substitution style macros all specify &PDBMXG as the 
               input DD to be used in the sorts (that is the MXG default
               value) but ANALDBTR and ANALDB2R could be pointing at    
               other DDNAMEs including WORK.  This change sets the value
               of &PDBMXG to the PDB= parameter that was specified when 
               ANALDBTR is called, after storing the original value so  
               it can be restored at the end of ANALDBTR.               
                                                                        
Change 31.064  DSGI Data Set Graphics is not officially supported by SAS
ANALACTM       after SAS 9.3, but it does work in SAS 9.4, and it will  
Apr 11, 2013   likely continue to execute in future releases, as it is  
Jun 15, 2013   not actually being removed, but is no longer documented  
               and is no longer supported if errors occur. With SAS 9.4 
               this note is printed on the SAS log, but it still works: 
                NOTE: DSGI will no longer be supported after SAS 9.3.   
               Also, option CHART=NONE will suppress the DSGI code.     
               And, the Graphic portion of the report does require that 
               you have SAS/GRAPH - that code automatically skipped if  
               we see that you do NOT have SAS/GRAPH, but the formatted 
               hierarchical report of your WLM policy is still created. 
                                                                        
Change 31.063  Cosmetic.  Page spacing for Header 2 was different than  
ANALRMFR       Header 1; the extra // in Header 2 was removed.          
Apr 10, 2013                                                            
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.    
                                                                        
Change 31.062 -RMF III Enhancements and Notes                           
ASMRMFV       -The RMF Monitor III Processor Data Control Block (CPU)   
VMACRMFV       and CPC Data Control Block (CPCDB) tables are now handled
Apr 11, 2013   as two distinct tables just as they are documented in the
               RMF Programmer's Guide.  Before they were logically      
               handled as one table (CPU).                              
              -The CPCDB table will appear as a new table entry CPC in  
               ASMRMFV RMFV105I messages.  Each LPAR entry is counted as
               an entry in the output.                                  
              -Note: The CPU table generally contains physical processor
               data while the CPC table contains LPAR and logical       
               processor data.  CPU table data is output to the ZRBCPU  
               dataset while CPC table data is output to the ZRBLCP     
               dataset by VMACRMFV.  The number and content of variables
               in those datasets is unchanged from prior releases with  
               the exception of 2 minor variables CPUCPOFF and CPUTOTLN 
               in the ZRBCPU file.                                      
              -The CPU and new CPC table selection parameters in ASMRMFV
               are co-dependent because the tables are so closely       
               related.  When one is selected, so is the other.  For    
               example, the CPU parameter when coded also selects The   
               CPC table.  Conversely, when one is deselected, so is the
               other.  For example, NOCPU when coded will also result in
               NOCPC.  Thus you do not need to alter any existing       
               CPU/NOCPU parameter settings you may currently have to   
               include or exclude the CPC.  The ALL parameter (default) 
               also selects both tables.                                
              -When the CPC table is selected in ASMRMFV the LPAR and   
               Logical Processor entries are now blocked up to use as   
               much as possible of a 32K logical record.  The much      
               shorter CPU table is unblocked.                          
              -ASMRMFV/VMACRMFV will now support up to 680 Logical      
               Processors per LPAR (based on current section data       
               lengths) before the entire CPC table is skipped.         
              -VMACRMFV is updated to support the CPCDB table and       
               blocking of its LPAR/Logical Processor sections.         
              -ASMRMFV will now show the Average LRECL output for each  
               RMF Monitor III table in detail and summary RMFV105I     
               messages as a potential aid to sizing the RMFBSAM file.  
              -Redundant code in ASMRMFV to skip various tables when    
               invalid lengths or errors are encountered has been       
               consolidated into a single internal subroutine.          
              -ASMRMFV prologue source documentation has been updated on
               CPC/NOCPC parameters, the co-dependency with CPU/NOCPU   
               parameters, and other items related to this change.      
              -REQUIREMENT: In order to receive the performance benefits
               from CPC entry blocking the current ASMRMFV utility      
               program from this MXG change must be installed.  See MXG 
               SOURCLIB member JCLASM3 for sample JCL for the assembly  
               and link-edit install steps.                             
              -Tutorial: This item has been mentioned before, but with  
               the CPC table blocking the use of the EXZRBLCP exit is   
               affected.  Your tailoring logic in EXdddddd dataset exits
               to control output of an MXG dataset needs this structure 
               to always be safe:                                       
                                                                        
                 IF something THEN DO;                                  
                   OUTPUT _Wdddddd;                                     
                 END;                                                   
                                                                        
               and can't use a DELETE, RETURN, nor "IF something;" logic
               because when "something" is true, they stop the read of  
               this current record, skipping any un-read segments from  
               being tested for "something".                            
                                                                        
               This consideration applies in particular to the          
               following RMF III tables that have blocked input data to 
               a PDB build and to their respective output exits:        
                                                                        
               RMF III Table       Output Exit                          
               -------------       -----------                          
                   ASI              EXZRBASI                            
                   CPC              EXZRBLCP                            
                   CPD              EXZRBCPD                            
                   CSR              EXZRBCSR                            
                   DVT              EXZRBDVT                            
                   ENC              EXZRBENC                            
                   ENT              EXZRBENT                            
                   OPD              EXZRBOPD                            
                   RED              EXZRBRED                            
                   SHD              EXZRBSHD                            
                   SPG              EXZRBSPG                            
                   UWD              EXZRBUWD                            
                                                                        
Change 31.061  New MXGACC03 report uses ANALCNCR to create average and  
ANALDB2R       maximum concurrent threads/DBATs for each chosen INTERVAL
Apr  4, 2013   for each Subsystem and AUTHID, tabulated by QWHCATYP, the
               Attachment Type (TSO,CICS,DDR...), with a tabular report.
               You can tailor using existing ANALDB2R report parameters 
               to select data,  or all DB2ACCT data will be reported.   
                                                                        
               BUT IT IS NOT POSSIBLE TO COUNT THREADS/DBATS WITH ROLLUP
               DB2PARTY='R' ACCUMAC DB2 Accounting Records.  If five    
               one-second transactions ran sequentially from minute 1 to
               minute 6, their rollup record would report five minutes  
               with QLACRLNU=5 concurrently active when there was one.  
               We could calculate an average of 1 in this case, but if  
               the first minute was a peak of 50 and there were then    
               four minutes of 1, we would calculate an average of 11.  
   Thanks to Paul Walters, Navy Federal Credit Union, USA.              
                                                                        
Change 31.060  These CA-Dispatch variables that can be added to TYPE6   
IMACCADI       and PDB.PRINT, CADIDPLX CADIJDEI CADIJDLI CADIATYP, were 
VMAC6          all wrong and equal to CADIXFRM, variable CADIACCT now   
Apr  4, 2013   has nulls converted to blanks, and new variable CADIJBID 
               contains the JCTJOBID from the CADI segment in SMF 6.    
   Thanks to Randy Schlueter, First Data Corporation, USA.              
                                                                        
Change 31.059 -The System Parameter Report produced many pages, six     
ANALDB2R       pages per subsystem per interval generated.  The report  
Apr  3, 2013   did not anticipate an IFCID=106 record written every 15  
               minutes.  Now, only the first observation for each       
               subsystem, or the first record after a restart will be   
               printed by PMSPR01=YES.                                  
              -Cosmetic.  Page Number printing in DB2PM-like reports did
               not align when there were five digits of page number.    
   Thanks to Jennifer D. Ayers, West Virginia State Government, USA.    
                                                                        
Change 31.058 -The last NMON record, 'BBBP ENDING UPTIME' was not read  
VMACNMON       but now it is read into variables BBBP0049-BBBP0056.     
Mar 29, 2013  -Records SEA, SEAPACKET, DONATE are supported.            
   Thanks to Lennon L. Merchant, Coca-Cola, USA.                        
                                                                        
Change 31.057 -When variable STARTIME was in SORTBY= argument, some of  
ASUM4HRS       the xxxx_4HRS_AVG variables were zero or missing for the 
ANAL4HRS       first four hours of each subsequent day.  Comments that  
VGETFMT        tried to communicate "don't use STARTIME in SUMBY="      
Mar 27, 2013    SORTBY- VARIABLES BY WHICH THE DATASET IS SORTED NOT    
                        INCLUDING THE STARTIME (ASSUMED TO BE THE LAST  
                        VARIABLE IN THE SORT)                           
               were revised to be clearer.                              
              -The prior requirement for the input data to be pre-sorted
               is removed; ASUM4HRS will do the sort in its processing. 
              -ANAL4HRS was an accident from an early ASUM4HRS iteration
               that shouldn't have been kept; now it is only comments to
               use ASUM4HRS.                                            
              -Argument NONOTES was not UPCASED and was not recognized  
               when the argument was typed in low case, now corrected.  
   Thanks to Michael Marcus, FUJITSU, USA.                              
                                                                        
Change 31.056  Variable THREADS was created only in ASUMDB2A and used in
ASUMDB2A       ANALDB2R, by setting THREADS=1 for each DB2ACCT obs, but 
VMACDB2        for RollUp DB2PARTY='R' records, THREADS=QLACRLNU; is now
Mar 26, 2013   used to count the number of threads in each rollup.      
               And variable THREADS is now similarly created in DB2ACCT.
   Thanks to Robb Hermes, Sentry Insurance, USA.                        
                                                                        
Change 31.055  Cosmetic.  Variable CIFROM is formatted $MGNDMNT and     
VMACNDM        variable NDMNODET='FLAG1*FIELD' is formatted $HEX2. and  
Mar 29, 2013   re-labeled correctly.                                    
              -Variable NDMRTYPE now kept in NDMGO as multiple subtypes 
               are output into that dataset.                            
   Thanks to Michael Oujesky, Bank of America, USA.                     
                                                                        
Change 31.054  Corrections for '1031' record to populate JOBNAME and    
VMACPRPR       FIELDNAME.                                               
Mar 24, 2013   Corrections for '1061' record, to use the original INPUT.
Apr 11, 2013   CUST_ACC changed to character variable as it must be.    
   Thanks to Geert Debatselier, KBC, BELGIUM                            
                                                                        
Change 31.053  MXGWARN: QWACBSC IS NOT A VALID SORTBY VARIABLE is fixed.
ANALDB2R                                                                
Mar 24, 2013                                                            
                                                                        
Change 31.052  IIS Weblog decoding URIQUERY than ended with &=1 with no 
VMACWWW        URIQNAME before the equal sign caused INVALID SUBSTR note
Mar 22, 2013   that is now eliminated.                                  
   Thanks to Dennis Longnecker, State of Washington Courts, USA.        
                                                                        
Change 31.051 -Support for user field CHARGE creates variable USCHARGE  
IMACICUX       in CICSTRAN when comment block in IMACICUX is removed.   
UTILEXCL      -Change 30.283 (30.30/30.01) "***UNKNOWN FIELD" protection
VMAC110        was still insufficient, and the IMACEXCL created failed  
VMACSMF        with a 180 syntax error due to missing @;.  Circumvention
Mar 22, 2013   logic updated yet again, hopefully, but sending the full 
               UTILEXCL log is all that is needed for MXG to add UNKNOWN
               fields optionally to your CICSTRAN dataset.              
   Thanks to Mayer Rosenthal, WIPRO, USA.                               
   Thanks to Denise Willers, WIPRO, USA.                                
   Thanks to Jeff Fracas, WIPRO, USA.                                   
                                                                        
Change 31.050  STOPOVER abend with ancient CICS Version '03' ID=110 in  
VMACSMF        new-in-30.30 VMACSMF code to get ID and SUBSYSTEM during 
Mar 19, 2013   header processing was complicated by a subtype 0 record  
               that was actually a subtype 1, so the correction code in 
               VMAC110 was used in the VMACSMF processing logic.        
   Thanks to Rudolf Sauer, T-Systems, GERMANY.                          
                                                                        
Change 31.049  Support for WAS XD (WebSphere Extended Deployment) under 
EXXDFGLG       z/linux under z/VM reads 6 virtualization log files - see
EXXDNSLG       IBM 2007 "Best Practices" Red Bok SG24-7343 - to create: 
EXXDSPLG                                                                
EXXDSSLG         DDDDDD DATASET  Description                            
EXXDTILG                                                                
EXXDTSLG         XDNSLG WASXDNS  Node Statistics Historic Cache         
IMACXDFG         XDSPLG WASXDSP  Server Power Consumption Stats Cache   
IMACXDNS         XDSSLG WASXDSS  Server Stats Cache                     
IMACXDSP         XDTILG WASXDTI  TC Module Instance Stats Cache         
IMACXDSS         XDTSLG WASXDTS  TC Module Stats Cache                  
IMACXDTI                                                                
IMACXDTS       and this dataset which IBM recommends for Chargeback     
TYPEXDFG                                                                
TYPEXDNS         XDFGLG WASXDFG  Fine Grained Power Consumption Stats   
TYPEXDSP                                                                
TYPEXDSS       These MXG variables are created in "Fine Grained" data:  
TYPEXDTI                                                                
TYPEXDTS         APPNAME            APPLICATION*NAME                    
TYPSXDFG         BEGINTIME          INTERVAL*BEGIN*DATETIME             
TYPSXDNS         CELL               CELL*NAME                           
TYPSXDSP         CELLPOWER          TOTAL*CELL*POWER*PER SECOND         
TYPSXDSS         CELLWORKPOTENTIAL  MAXIMUM*CELLPOWER*PER*INTERVAL      
TYPSXDTI         CLUSTER            CLUSTER*NAME                        
TYPSXDTS         ENDTIME            INTERVAL*END*DATETIME               
VMACXDFG         GWID               GATEWAY*ID                          
VMACXDNS         INTRVLTM           INTERVAL*DURATION                   
VMACXDSP         MODULENAME         J2EE*MODULE*NAME                    
VMACXDSS         NODE               NODE*NAME                           
VMACXDTI         NODEGROUP          NODE*GROUP*NAME                     
VMACXDTS         NODEPOWER          TOTAL*NODE*POWER*PER SECOND         
VMXGINIT         NODEWORKPOTENTIAL  MAXIMUM*NODEPOWER*PER*INTERVAL      
Mar 31, 2013     NUMSERVICED        REQUESTS*SERVICED*OF THIS*TYPE      
                 ODR                ON*DEMAND*ROUTER*NAME               
                 POWERCONSUMED      POWER*CONSUMPTION*RATE*PER SECOND   
                 SERVER             SERVER*NAME                         
                 SERVICEPOLICY      SERVICE*POLICY*NAME                 
                 TCMODNAME          TRAN CLASS*APPLICATION*MODULE*NAME  
                 TCNAME             TRANSACTION*CLASS*NAME              
                 TIMESTAMP          WAS XD FG*DATETIME*STAMP            
                 WORKCOMPLETED      WORK*COMPLETED                      
                 WORKFACTOR         ESTIMATED*WORK*FACTOR               
                 ZDATE              ZEE DATE*ZEE OBS*WAS CREATED        
               Note: This new code will not execute under SAS 9.1.3; the
               'M' operand to the SCAN function required when there are 
               duplicated delimiters, did not exist back then.          
   Thanks to Sally Jordan, Insurance Services Office, Inc., USA.        
                                                                        
Change 31.048  MXG 31.01 only. CICS STID=29 (CICSMDSA dataset) was wrong
VMAC110        because I inserted a "cosmetic" comment documenting the  
Mar 16, 2013   IBM field name in an INPUT statement, but its end-comment
               was missing, causing MXG to be mis-aligned, so CICSMDSA  
               was "trashed" - easy to see since DSANAME was blank - and
               printed WARNING CICS STID=0 STILEN=0 message on the log. 
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
                                                                        
Change 31.047  New ESS GEPARMKY=0039 value for PRTOPTNS creates new     
IMAC6ESS       ESSOPTNS variable in TYPE6 dataset if you edit IMAC6ESS  
VMAC6          to cause it to not be DROPed.  See IMAC6ESS comments.    
Mar 15, 2013                                                            
   Thanks to Jessie Gonzales, California State Controller's Office, USA.
                                                                        
Change 31.046  New format $MG120HX was missing quotes on the right side;
FORMATS        but SAS didn't detect the syntax error in member FORMATS,
Mar 15, 2013   until FORMATS was accidentally run without a //LIBRARY,  
               and only then did SAS flag the invalid syntax.           
                                                                        
Change 31.045  ID=90 records subtype 6 and 7 "EVENTIME" is not the time 
VMAC90         of the SWITCH/HALT but is the IPLTIME of this SYSTEM.  So
VMAC90A        variable IPLTIME is now kept in the TYPE9006 dataset and 
Mar 14, 2013   both the archaic TYPE90 and recommended TYPE90A members  
               store EVENTIME into IPLTIME, but I kept EVENTIME since it
               might already be in use in your reports.                 
   Thanks to Perry Lim, Union Bank, USA.                                
                                                                        
====== Changes thru 31.044 were in MXG 31.01 dated Mar 13, 2013=========
                                                                        
Change 31.044  NMON (AIX/LINUX) dataset NMONBBBP variables BBBP028/029  
VMACNMON       were wrong because the INDEX test was underspecified and 
Mar 13, 2013   satisfied multiple times, so the last match was used.    
Mar 14, 2013  -Mar 14: BBBP029 still wrong, new "POWER SAVINGS MODE"    
Mar 15, 2013   for MODE.  Realized all groups of IF INDEX tests could be
               replaced with ELSE IF INDEX tests for ordered testing and
               to improve performance.  Added BBBP147-BBBP149 variables.
              -Mar 15: BBBP029 still wrong, new "MEMORY MODE" used, so  
               new BBBP150-BBBP158 are created for all new entries and  
               the test for 'MODE ' is ELSE IF after the above tests.   
   Thanks to Steve Dyck, CDS, CANADA.                                   
   Thanks to G. Delvecchio, Canadian Depository for Securities, CANADA  
                                                                        
Change 31.043 -The example in comments in UTILEXCL that reads CICS SMF  
IMACEXCL       with UTILEXCL to create your tailored IMACEXCL, and then 
UCICSCNT       uses TYPE110 to re-read the CICS SMF data using that new 
UTILEXCL       IMACEXCL code, works on z/OS because the example's JCL   
Mar 12, 2013    //IMACEXCL DD DSN=MXG.USERID.USERID(IMACEXCL),DISP=SHR  
               writes the IMACEXCL code to your "USERID" tailoring PDS  
               that is in your //SOURCLIB concatenation, so the %INCLUDE
               of IMACEXCL in TYPE110 finds and uses the new IMACEXCL.  
                                                                        
               However, on ASCII, the FILENAME IMACEXCL must be written 
               to a file named imacexcl.sas (suffixed with .sas) and on 
               unix, in lower case, and,  similarly, the file must be   
               written to a "tailoring" directory that is in the        
               FILENAME SOURCLIB concatenation on ASCII.                
                                                                        
               When  FILENAME IMACEXCL 'c:\wherever\IMACEXCL' was used  
               with no suffix, UTILEXCL wrote to that filename, but when
               TYPE110 was included, there were the same errors and no  
               observations, because the new IMACEXCL was not %INCLUDEd,
               because it did not have the ASCII-required .sas suffix.  
                                                                        
               So, how could I tell the new IMACEXCL was not read? :    
               In MXG 30.30 (Change 30.283) UTILEXCL was enhanced for   
               diagnostics: when an IMACEXCL (created by new UTILEXCL)  
               is %INCLUDEd, a new MXGNOTE is printed on the SAS log:   
                 177043   %INCLUDE SOURCLIB(TYPE110);                   
                 MXGNOTE: SITE IMACEXCL CREATED AT 11MAR2013:21:07:59.09
                 207431  RUN;                                           
               It was the absence of that MXGNOTE when I ran the user's 
               program to diagnose why no observations were created that
               reminded me of the ASCII syntax requirement.  Adding .sas
               to the filename caused the new IMACEXCL to be error-free.
               Examples in UTILEXCL were updated with ASCII syntax.     
              -The UCICSCNT program that reads SMF to count CICS record 
               types (transaction, statistics, dictionary), from each   
               APPLID and VERSION, is enhanced to count dictionary by   
               "triplet" values MCTSSDCN and MCTSSDRL, which matches the
               existing transaction count details.  This can be very    
               useful when MXG doesn't find the records your CICS guru  
               told you were enabled, by showing him/her what records   
               are ACTUALLY being created.  So useful, that I added a   
               %INCLUDE SOURCLIB(UCICSCNT); statement to each example in
               UTILEXCL that reads SMF data, since it would be useful to
               support@mxg.com if there is a perceived UTILEXCL problem.
   Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.                    
                                                                        
Change 31.042  Change 30.275 added support for a USER FORMAT library but
MXGNAMES       the last line added in MXGNAMES was typo'd; it should be 
VMXGCNFG          LET MXGFORMU=YOUR.HLQ.MXG.USER.FORMATS;  /*OPTIONAL*/ 
Jan 22, 2013   instead of MXGFORMT, and MXGNAMES wasn't listed.         
                                                                        
Change 31.041 -Support for SHADOW USER SMF subtype 21 record creates new
                                                                        
EXSHDW21         DDDDDD   DATASET    DESCRIPTION                        
IMACSHDW                                                                
VMACSHDW         SHDW21   SHADOW21   SHADOW MAPS                        
VMXGINIT      -Mar 19: added support for subtype 4 record.              
Mar 11, 2013  -Mar 23: corrected _BSHDW04 and _BSHDW21.                 
Mar 23, 2013                                                            
   Thanks to Stuard Wildey, MorganStanley, ENGLAND.                     
                                                                        
Change 31.040 -Cosmetic. These harmless messages, from MXG housekeeping 
READDB2        to minimize the //WORK library disk space requirement    
Mar  9, 2013   NOTE: THE FILE WORK.DB2STATB (MEMTYPE=DATA) WAS NOT FOUND
                     BUT APPEARS ON A DELETE STATEMENT.                 
               WARNING: NO MATCHING MEMBERS IN DIRECTORY.               
               are no longer printed.                                   
              -Also cosmetic: Change 30.257 didn't note that the use of 
               each _S102nnn sort macro creates 23 lines of messages on 
               the SAS log, or 9,320 more SYSOUT lines for IFCIDS=ALL.  
   Thanks to Jerry Massey, Compuware, USA.                              
                                                                        
Change 31.039 -The IBM TS7700 BVIR data does not contain a SYSTEM name; 
VMACBVIR       variable SYSTEM is now created and populated using       
Mar  8, 2013      // EXEC MXGSAS,                                       
                  // OPTIONS='SYSPARM="ASYS"'                           
               with one, then eight, then five single quotes on z/OS,   
               or you can set SYSPARM in your SYSIN stream with:        
                  OPTIONS SYSPARM='ASYS';                               
              -Discovered subtype 32x caused INPUT STATEMENT EXCEEDED   
               with BVIRLEN=8256; tests added in Change 31.016 for the  
               LENGTH 8256 should have tested BVIRLEN instead.          
   Thanks to Scott Barry, SBBWorks, Inc., USA.                          
                                                                        
Change 31.038  Cosmetic.  Variable NAME should not have been kept in the
VMACRACF       RACF0120 dataset.                                        
Mar  8, 2013                                                            
   Thanks to Bill Arrowsmith, Euroclear, BELGIUM.                       
                                                                        
Change 31.037  Documentation enhancements for installing MXG on unix,   
AUTOEXEU       AIX, Linux, etc.                                         
INSTALL                                                                 
Mar  7, 2013                                                            
   Thanks to Al Sherkow, I/S Management Strategies, Ltd.                
                                                                        
Change 31.036  BETA93 Version 4.2.0 and 4.3.0 had invalid data values in
VMACBETA       dataset BETA1 and 4.2.0 had invalid large NRACCTFL value 
Mar  8, 2012   that also caused "DATA ERROR. CODE IN IMACACCT ....".    
               Variables INPUT after the accounting fields were invalid.
   Thanks to Rudolf Sauer, T-Systems, GERMANY.                          
                                                                        
Change 31.035  The _STY74ID macro incorrectly specified TYPE74ID as the 
VMAC74         input dataset rather than the correct _WTY74ID macro     
Mar  7, 2013   name so if you modified the destination of the dataset   
               using the WTY74ID macro variable, the sort failed.       
   Thanks to Mike Georte, Northern Territory Government, AUSTRALIA.     
                                                                        
Change 31.034  MXG 30.10 thru MXG 30.30.  Change 30.279 reverted VFMT102
ANALDB2R       to the PROC SORT NODUP removal algorithm, but ANALDB2R   
Mar  7, 2013   wasn't tested with PMAUD02, which was not reverted:      
                 ERROR: The keyword parameter SYSTEM DBNAME OBNAME      
                 was not defined with the macro.                        
                                                                        
Change 31.033  COMPANY= added to allow the insertion of a company       
ANALCOMP       name in titles.                                          
Mar  7, 2013                                                            
                                                                        
Change 31.032  Large page frame variables added to TRND71 dataset:      
TRND71                                                                  
Mar  7, 2013                      Min       Max       Avg               
                 Frames in Pool   SMF71L1M  SMF71L1X  SMF71L1A          
                 Frames Not Used  SMF71L2M  SMF71L2X  SMF71L2A          
                 Frames In Use    SMF71L3M  SMF71L3X  SMF71L3A          
                 Objects Alloc    SMF71LOM  SMF71LOX  SMF71LOA          
   Thanks to Wayne Bell, UniGroup, USA.                                 
                                                                        
Change 31.031  Cosmetic.  Label for SMF64RLM is corrected from ESDS to  
VMAC64         SMF64RLM='CA-S*RECLAIMED*IN KSDS*SINCE CLOSE/EOV'.       
Mar  6, 2013                                                            
   Thanks to Karl Lasecki, Chemical Abstracts Service, USA.             
                                                                        
Change 31.030  Support for 12 new NTSMF objects and MANY new variables  
EXNTD064       added for existing objects. Find "ADDED BY CHANGE 31.030"
EXNTD065       in VMACNTSM to identify the new variables.  There are now
EXNTD066       513 MXG datasets created from Windows NTSMF data.        
EXNTD067                                                                
EXNTD068      -New Objects now supported:                               
EXNTD069                                                                
EXNTD070           DDDDDD     Dataset/Object                            
EXNTD071           NTD064     HYPER-V_VIRTUAL_SWITCH_PROCESSOR          
EXNTD072           NTD065     MSRS_2011_WINDOWS_SERVICE                 
EXNTD073           NTD066     MSSQL_BATCH_RESP_STATISTICS               
EXNTD074           NTD067     MSSQL_FILETABLE                           
EXNTSQSV           NTD068     MSSQL_MEMORY_BROKER_CLERKS                
IMACNTSM           NTD069     MSSQL_MEMORY_NODE                         
VMACNTSM           NTD070     MSSQL_QUERY_EXECUTION                     
VMXGINIT           NTD071     NUMA_NODE_MEMORY                          
Feb 26, 2013       NTD072     NETWORK_ADAPTER                           
                   NTD073     PHYSICAL_NETWORK_INTERFACE_CARD           
                   NTD074     SMB_SERVER_SHARES                         
                                                                        
               -These objects were updated with new variables:          
                   NTACSR     ACTVSRVR  NT ACTIVE SERVER PAGES          
                   NTASPN     ASPNET    ASP.NET                         
                   NTNETI     NETWINTR  NT NETWORK INTERFACE            
                   NTPPAC     PPNETACC  PER PROCESSOR NETWORK ACTIVITY  
                   NTPRIN     PROCINFO  PROCESSOR INFORMATION           
                   NTQLAM     MSQACCES  NT MSSQL:ACCESS METHODS         
                   NTQLBM     MSQBUFMG  NT MSSQL:BUFFER MANAGER         
                   NTQLBN     MSQBUFND     MSSQL:BUFFER NODE            
                   NTQLDA     MSQDATAB  NT MSSQL:DATABASES              
                   NTQLMM     MSQMEMMG  NT MSSQL:MEMORY MANAGER         
                   NTSERV     SERVER    NT SERVER                       
                   NTSQSV     SQLSSISV  SQLSERVER:SSIS SERVICE 11.0     
                   NTD011     CLUSTER_RESOURCE_CONTROL_MANAGER          
                   NTD015     HYPER_V_DYNAMIC_MEMORY_BALANCER           
                   NTD016     HYPER_V_DYNAMIC_MEMORY_VM                 
                   NTD018     HYPER_V_HYPERVISOR_LOGICAL_PROCE          
                   NTD019     HYPER_V_HYPERVISOR_PARTITION              
                   NTD020     HYPER_V_HYPERVISOR_ROOT_PARTITIO          
                   NTD021     HYPER_V_HYPERVISOR_ROOT_VIRTUAL           
                   NTD030     HYPER_V_VM_VID_PARTITION                  
                   NTD035     HYPER_V_VIRTUAL_NETWORK_ADAPTER           
                   NTD037     HYPER_V_VIRTUAL_SWITCH                    
                   NTD038     HYPER_V_VIRTUAL_SWITCH_PORT               
               -Corrections diagnosed and corrected by Phil:            
                 QLGS - NRDATA=24 supported                             
                 QLAM - MSEXCART removed from INPUT, not kept, not there
                 ASPA - ASPARWTB removed from NRDATA=85 INPUT, not there
               -Additional records changed:                             
                 QLDA - NRDATA=26 supported.                            
   Thanks to Phil Henninge, Demand Technology, USA.                     
                                                                        
Change 31.029  Test added to ensure GDGLEN GT 9 before SUBSTR function, 
VMAC6156       to protect for INVALID SECOND ARGUMENT when the SMF 66   
Feb 26, 2013   record for a RENAME of DSN=X.Y to DSN=A.B.G0002V00 had   
               an entry name too short to be tested for a GOOVO.        
   Thanks to Rudolf Sauer, T-Systems, GERMANY.                          
                                                                        
Change 31.028 -All of these members used VIEWs which are not supported  
ANALCOMP       by WPS.  Code was added to the macros to make the use of 
VGETLIBS       views conditional depending on the value of MXGVIEW that 
VGETWKLD       is set by VMXGINIT based on the version of SAS or WPS    
VMXGFIND       being run.                                               
VMXGSRCH      -In the case of VGETWKLD, it was not correctly gathering  
Feb 24, 2013   the number of periods for TSO workloads because there    
               are differences in the names of the response time vars   
               between the older TSO workload and any new workloads you 
               may have created with RMFINTRV.  For these newer         
               workloads, at the time VMXGRMFI was written the limit on 
               variable names was 8 characters so a name like DB2P1RESP 
               would not have been possible so RSP was used rather than 
               RESP to keep the variable names down to 8 bytes.  That   
               limit no longer applies but changing old variable names  
               would be a bad thing to do to you so VGETWKLD now checks 
               correctly for the old TSO variable names.                
                                                                        
Change 31.027  Variable QWHCEUWN has been added to the all T102Sxxx DB2 
VMAC102        trace datasets.                                          
Feb 22, 2013                                                            
   Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.     
                                                                        
Change 31.026  SAS 9.1.4 SP4 ONLY: Note 33063 states that SASHELP.VEXTFL
PREINIT        dataset only has the FIRST external file reference, if an
VMXGINIT       AUTOCALL is issued, which happens by design in VMXGINIT, 
Feb 22, 2013   so any subsequent reference to SASHELP.VEXTFL has only   
               that first DDNAME/LIBREF.  There is NO FIX for 9.1.3:    
               "The only known solution is to process the dictionary    
               table SASHELP.VEXTFL prior to any system AUTOCALL."      
               You can use  DATA WORK.VEXTFL; SET SASHELP.VEXTFL; in    
               PREINIT to save the VEXTFL table into //WORK.            
                                                                        
Change 31.025  See Change 31.151.                                       
Feb 20, 2013                                                            
                                                                        
Change 31.024  Format $MGSMFID had "DEFINE" rather than "DEVICE" in the 
FORMATS        description of the ID=11 SMF record.                     
Feb 20, 2013                                                            
   Thanks to Mike Mayne, HHSYS, USA.                                    
                                                                        
Change 31.023  Support for Software Diversified Services VFTP product   
EXVFTP01       user SMF record creates these four new datasets:         
EXVFTP02                                                                
EXVFTP03          DDDDDD  MXG       MXG                                 
EXVFTP04          DATASET DATASET   DATASET                      RECORD 
IMACVFTP          SUFFIX  NAME      LABEL                       SUBTYPE 
TYPEVFTP                                                                
TYPSVFTP          VFTP01  VFTPST01  VFTP01:SESSION AND TRANSFER       01
VMACVFTP          VFTP02  VFTPST02  VFTP02:LOGIN FAILURE              02
VMXGINIT          VFTP03  VFTPST03  VFTP03:SERVER REJECTED            03
Feb 18, 2013      VFTP04  VFTPST04  VFTP04:SUMMARY ACTIVITY           04
                                                                        
               The start and end times in VFTPST01 dataset are on GMT   
               but there is no GMT Offset in the record, and the delta  
               between the End time and the SMF time is as much as 2100 
               seconds which I believe is in error, and that prevents me
               from using that delta to heuristically create the offset.
               This is being discussed with the vendor, but you can use 
                  %LET MXGGMTOFF=-6*3600;                               
                  %INCLUDE SOURCLIB(....);                              
               to circumvent and set your GMT Offset (remembering to    
               change each Spring Forward and Fall Backward).           
                                                                        
Change 31.022 -Support for Software Diversified Services VIP Product SMF
EXVIPAPL       USER record creates these datasets:                      
EXVIPDLR                                                                
EXVIPDLW      SDS   DDDDDD  MXG       MXG                               
EXVIPEEC    DATASET DATASET DATASET   DATASET                  RECORD   
EXVIPEEX      NAME  SUFFIX  NAME      LABEL                    SUBTYPE  
EXVIPFRM                                                                
EXVIPHPR      DLC1R VIPDLR  VIPDLR    VIPDLR:DLC READ QUEUE      222    
EXVIPHPX      DLC1W VIPDLW  VIPDLW    VIPDLW:DLC WRITE QUEUE     222    
EXVIPIFC      HPR1  VIPHPR  VIPHPR    VIPHPR:HPR                 228    
EXVIPLUG      HPR1  VIPHPX  VIPHPX    VIPHPR:HPR EXTENSION       228    
EXVIPOSA      RTM1  VIPRTM  VIPRTM    VIPRTM:TCP TAPM OR TN3270  229,231
EXVIPOSX      FRM1  VIPFRM  VIPFRM    VIPFRM:FRAG MONITOR        230    
EXVIPRTM      LUG1  VIPLUG  VIPLUG    VIPLUG:LU GROUP            232    
EXVIPSTK      OSA1  VIPOSA  VIPOSA    VIPOSA:OSA                 239    
FORMATS       OSA1  VIPOSX  VIPOSX    VIPOSA:OSA EXTENSION       239    
IMACVIP       APL1  VIPAPL  VIPAPL    VIPAPL:APPLICATION         242    
TYPEVIP       IFC1  VIPIFC  VIPIFC    VIPIFC:INTERFACE           243    
TYPSVIP       STK1  VIPSTK  VIPSTK    VIPSTK:STACK               244    
VMACVIP       EEC1  VIPEEC  VIPEEC    VIPEEC:ENTERPRISE EXTENDER 245    
VMXGINIT      EEC1  VIPEEX  VIPEEX    VIPEEC:EE ROUTES           245    
Feb 22, 2013 -The variable names in these datasets are the same as the  
              names in the SDS-provided example SAS programs and the MXG
              dataset names are similar so the SDS-provided SAS reports 
              should be easily adapted to use the MXG datasets. The MXG 
              code is structured so all records can be processed in one 
              pass (the SDS example program processed one subtype per   
              program) and the MXG "dddddd" tokens are created to permit
              standard MXG tailoring of datasets and contents.          
             -The SDS-example variable names are long with underscores  
              embedded; the MXG label replaced the underscore with the  
              normal asterisk character so you will almost always want  
              to use PROC PRINT SPLIT='*' with VIP datasets to get nice 
              column headings and alignment.                            
                                                                        
Change 31.021 -RMF III Enhancements and Notes                           
ASMRMFV       -NOTE: Since MXG V30.03 it is required that SYS1.MODGEN   
JCLASM3        also appear in the SYSLIB DD concatenation for the       
JCLRMFV        ASMRMFV assemble step as follows (use JCLASM3 example):  
JCLCRMFV                                                                
VMACRMFV         //SYSLIB   DD DSN=SYS1.MACLIB,DISP=SHR                 
Feb 15, 2013     //         DD DSN=SYS1.MODGEN,DISP=SHR                 
Feb 26, 2013                                                            
Mar 10, 2013   ASMRMFV displays execution environment data that needs   
               the macros in SYS1.MODGEN to map certain z/OS control    
               blocks.  Omission of SYS1.MODGEN in the assembly step    
               will result in ASMA prefixed error messages and the      
               assembly will fail.                                      
              -ASMRMFV and VMACRMFV must be at the same level; do not   
               expect the old VMACRMFV to read RMFBSAM files created    
               by the new ASMRMFV, and vice versa.                      
              -When the ASI table is selected in ASMRMFV the entries    
               are now blocked up to use as much as possible of a 32K   
               logical record.  The number of ASI records output was    
               reduced by up to 96% during testing.                     
              -The example members JCLRMFV and JCLCRMFV for building an 
               RMF III PDB have been improved by adding a new example of
               using the SIZE parameter to examine RMF III VSAM data set
               disk space and index usage.  Additional information about
               use of ASMRMFV parameter aliases is also now included.   
              -VMACRMFV is upgraded to support blocked ASI entry input. 
              -VMACRMFV now displays a message about ASMRMFV level and  
               execution environment that created the RMFBSAM file.     
              -MISSING VALUES message on SASLOG for CPUDTIME variable   
               is removed in VMACRMFV.  Input logic for CPUDTIME is     
               improved.                                                
              -NOTE: The use of archival RMFBSAM files as input to      
               TYPSRMFV or TYPERMFV is NOT recommended as many missing  
               values and other undesirable results can occur in the PDB
               since VMACRMFV is expecting data in the current input    
               format.  The RMFBSAM file is intended only as temporary  
               work file for the PDB build process and should not be    
               retained for future use.  A better alternative is to     
               instead restore the archived RMF III VSAM file and read  
               it with the current ASM/VMAC RMFV program pair.          
              -NOTE: If intending to include the UWD table datasets in  
               the RMF III PDB %INCLUDE SOURCLIB(TYPSRMFV) not TYPERMFV 
               should be used in PDB build step.  There are naturally   
               occurring duplicates in the UWD table that need to be    
               removed by the sorting process.                          
              -When the ENC table is selected in ASMRMFV the entries are
               now blocked up to use as much as possible of a 32K       
               logical output record.                                   
              -VMACRMFV is upgraded to support blocked ENC entry input. 
              -ASMRMFV now inputs all 6 ENC table entry triplets instead
               of only the first one.  Each offset/length/count triplet 
               points to a separate group of ENC table enclave entries. 
               Users including the ENC table in their RMF III PDB can   
               expect 5 times as many observations in ZRBENC dataset;   
               documentation on the number of ENC triplets was unclear  
               until actual data provided the actual documentation that 
               that there were 6 triplets and not just 1.               
              -Note: The total number of ENC table records output will  
               now be at least 6 times the number of tables input since 
               each of the 6 triplets causes a new record to be output. 
              -REQUIREMENT: In order to receive the performance benefits
               from ASI and ENC entry blocking, the current ASMRMFV     
               utility program with this MXG change must be installed.  
               See MXG SOURCLIB member JCLASM3 for sample JCL for the   
               assembly and link-edit install steps.                    
              -Tutorial: This item has been mentioned before, but with  
               the ASI and ENC blocking and increase in observations,   
               you may need to use the EXdddddd dataset exit to filter  
               which observations are created, and your logic in those  
               exits should always use this code structure:             
                                                                        
                 IF something THEN DO;                                  
                   OUTPUT _Wdddddd;                                     
                 END;                                                   
                                                                        
               and can't use a DELETE, RETURN, nor "IF something;" logic
               because when "something" is true, they stop the read of  
               this current record, skipping any un-read segments from  
               being tested for "something".                            
                                                                        
               This consideration applies in particular to the following
               RMF III tables that have blocked input data to a PDB     
               build and to their respective output exits:              
                                                                        
               RMF III Table       Output Exit                          
               -------------       -----------                          
                   ASI              EXZRBASI                            
                   CPD              EXZRBCPD                            
                   CSR              EXZRBCSR                            
                   DVT              EXZRBDVT                            
                   ENC              EXZRBENC                            
                   ENT              EXZRBENT                            
                   OPD              EXZRBOPD                            
                   RED              EXZRBRED                            
                   SHD              EXZRBSHD                            
                   SPG              EXZRBSPG                            
                   UWD              EXZRBUWD                            
   Thanks to Perry Lim, Union Bank, USA                                 
   Thanks to Betty Wong, Bank of America, USA                           
                                                                        
Change 31.020  Support for TMON/MQ Version 2.5 which added a number of  
VMACTMMQ       new variables to the TMMQQA dataset.                     
Feb 15, 2013                                                            
   Thanks to Paul Volpi, UHC, USA.                                      
   Thanks to Homayoun Riazi, UHC, USA.                                  
                                                                        
Change 31.019  Option PDBOUT= lets you output the PLOT and MSU datasets 
ANALCAPD       to your PDB library.  By default they were temporary and 
Feb 13, 2013   are deleted by ANALCAPD.  This change deletes the delete 
               but this text will be updated when the PDBOUT= option is.
   Thanks to Ralph Belamy, ???, ???                                     
                                                                        
Change 31.018  Support for PACE's IDMS 17.0 User Exit SMF Record.       
ASMIDMPA          DDDDDD   DATASET   DESCRIPTION                        
EXIDMPAC          IDMPAC   PACEIDMS  PACE IDMS USER SMF RECORD          
IMACIDMP       The SMF record is created in an IDMS Exit by ASM code    
TYPEIDMP       contributed by Blake Leggett, PACE Applied Technology,   
TYPSIDMP       their product KOMAND IDMS Charging System, KOMAND/IDMS.  
VMACIDMP       See the ASMIDMPx members documented in Change 31.068.    
VMXGINIT       However, neither PACE nor MERRILL will guarantee ASMIDMP 
Feb 20, 2013   exit code will always work with future IDMS changes; this
Mar  9, 2013   now works fine, but your IDMS staff must be prepared to  
ASMIDMPJ       investigate and repair any exit problems in the future.  
ASMIDMPS       If your guru can fix the exit, I can update the SAS code!
ASMIDMPU                                                                
   Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.         
   Thanks to Trevor Rowe, Bell Alliant, CANADA.                         
                                                                        
Change 31.017  Change 29.167 enhanced VXMGRMFI by creating the VGETWKLD 
ANALCOMP       member used when TRNDRMFI is invoked; VGETWKLD extracts  
VGETLIBS       your workload names by reading DICTIONARY.TABLES to get  
VGETWKLD       your variable names from PDB.RMFINTRV by using           
VMXGFIND            PROC SQL;                                           
VMXGSRCH            CREATE VIEW VGETWKLD AS SELECT NAME,LABEL           
Feb 12, 2013              FROM DICTIONARY.COLUMNS. . . .                
               and then reading dataset VGETWKLD with this logic        
                    POINT=LENGTH(NAME)-2;                               
                    IF SUBSTR(NAME,POINT,3)='ZIP';                      
               but that logic failed with WPS, perhaps due to the VIEW, 
               as views are not yet supported in WPS, or perhaps because
               WPS created a different LENGTH value, but in either case 
                 POINT1=INDEX(NAME,'FRTM');                             
                 IF POINT1;                                             
               now circumvents the error, even with "VIEW" in the code. 
               The FRTM suffix test was used in place of ZIP as not all 
               sites create a xxxxZIP workload variable.   And just to  
               be safe, the "VIEW" text was removed from VGETWKLD and   
               the other four members.                                  
                                                                        
Change 31.016 -Support for BVIR Version 2.0, 2.0a, and 2.1.             
VMACBVIR      -BVIR30 adds two new variables:                           
Feb 11, 2013     SYLVMT00='00*SYNC*LEVEL*MOUNTS'                        
                 AVLVMT00='00*AVERAGE*SYNC*LEVEL*MOUNT*TIME'            
              -BVIR32 documentation: IBM change how they count bytes:   
                 "TVCSIZE: increments of 1000MB (1024*1024*1000). A TVC 
                  that is 1.7TB in size will be reported as x000006A4   
                  which is 1700 decimal."                               
                  MXG did not format TVCSIZE with MGBYTES but 6A4 is the
                  decimal TVCSIZE=1700 with the label "TVCSIZE IN GB".  
                 -IBM confirmed that variable LIBSEQNR is now always    
                  blank or nulls - see ADOCBVIR.                        
                 -Variable DLIBDEQN can contain hex rather than EBCDIC, 
                  or it can be blank.                                   
              -BVIR32 variable AVGCPUSE is labeled as                   
                  AVGCPUSE  'CPU*USAGE*PERCENT*AT END OF*INTERVAL'      
                  but it contains the AVERAGE CPU PER TAPE VOLUME CACHE 
                  and its documentation clarified by IBM in the manual: 
                  This 1 byte field indicates the larger of CPU usage   
                  percentage OR Tape Volume (TVC) usage percentage at   
                  the end of the interval.  The TVC busy value is based 
                  on IO activity where 100% is when the disks are being 
                  accessed 100% of the time.  This value can be used to 
                  indicate how busy the system was during the interval. 
                  It is updated every 30 seconds.  The TVC percentage is
                  an average of 30 one second intervals.                
              -BVIR31 new variables are documented and created:         
                  BYTESEXP='AMOUNT*OF DATA*EXPORTED'                    
                  BYTESIMP='AMOUNT*OF DATA*IMPORTED'                    
                  LOGVOLEX='LOGICAL*VOLUMES*EXPORTED'                   
                  LOGVOLIM='LOGICAL*VOLUMES*IMPORTED'                   
                  PHYVOLEX='PHYSICAL*VOLUMES*EXPORTED'                  
                  PHYVOLIM='PHYSICAL*VOLUMES*IMPORTED'                  
              -BVIR33 has eight sets of new variables G1 thru G8 with   
                  G1DEFRBY='1ST DATA*FROM*DEFERRED*COPY'                
                  G1DEFRCY='1ST DATA*FROM*DEFERRED*COPIES'              
                  G1IMEDBY='1ST DATA*FROM*IMMEDIATE*COPY'               
                  G1IMEDBY='1ST DATA*FROM*SYNC MODE*COPY'               
                  G1IMEDCY='1ST DATA*FROM*IMMEDIATE*COPIES'             
                  G1IMEDCY='1ST DATA*FROM*SYNC MODE*COPIES'             
                                                                        
Change 31.015 -These five DB2 V10 SMF 101 Subtype 1 DB2ACCTP variables  
VMACDB2         QPACLOCN,QPACCOLN,QPACPKID,QPACASHC,QPACAANM, can be    
Feb 10, 2013   wrong, but only when they are "truncated":               
                 "IBM-truncated" fields previously had a fixed length   
                 (QPACLOCN was 16 bytes) but now can be variable length 
                 for data like URLs and IPV6 addresses from our open    
                 systems gurus.  Each field has an offset to a one-byte 
                 length field followed by that many bytes of the field. 
                 These offsets are NOT populated when the value fits in 
                 the original fixed length field that was already INPUT.
                                                                        
               There are two independent errors, one mine, one not mine.
                                                                        
              -The MXG code for the offsets to LOCN COLN PKID and AANM  
               used OFFQPAC+offset, but LOCQPAC should have been used as
               it is incremented for each QPAC segment; OFFQPAC isn't.  
               So those four variable's values were only valid for the  
               first DB2ACCTP observation in each SMF 101 record.       
                                                                        
              -One site sent SMF data with invalid values for the offset
               to those "truncated" fields.  The offset values for each 
               field is 10 more than it should be.  Decimal values:     
               Segment 5 out of 7 in record 3222:                       
                                                                        
                   OFFQPAC  LENQPACX Len of PACX     Next QPAC          
                    @1777     451       +2            2228              
                    @2228     451       +2                              
                                                                        
                  But the two-byte OFFSET to QPACAANM is @2169 with a   
                  '01B8'x or 440 decimal.  Adding 1777+440 is 2217, but 
                  the field's length and text are visible in  2207, and 
                  the static portion of this segment ended in 2206.     
                                                                        
               This change compares the location of the first offset to 
               the end of the static fields and corrects the offset by  
               subtraction when they are different.                     
                                                                        
              -Variable QPACRUSM was not reset to blank after it was    
               set to 'Y' in an SMF record because it was coded as RUSN.
                                                                        
                                                                        
Change 31.014  One user claims MXG's SMF HEADER/TRAILER messages printed
VMACSMF        on the SASLOG have caused LINES EXCEEDED messages that he
VMXGINIT       doesn't like. I disagree COMPLETELY, and would NEVER turn
Feb  8, 2013   them off, since they can be EXTREMELY useful (albeit in  
               only rare cases) in problem determination: they print the
               begin and end time of each "data chunk" in each SMF Dump.
               But it is trivial to create a macro variable SMFPUTHD    
               that will suppress their printing, using:                
                 //SYSIN DD *                                           
                  %LET SMFPUTHD=NO;                                     
                  %INCLUDE ....                                         
               And, if after turning them off you realize you need them,
               you can read the same SMF file and print them, using:    
                 //SYSIN DD *                                           
                  %LET SMFPUTHD=YES;                                    
                  %INCLUDE SOURCLIB(VMACSMF);                           
                  DATA _NULL_; _SMF; RUN;                               
               Clearly, my MXG default is %LET SMFPUTHD=YES;            
                                                                        
Change 31.013  Variables NDMCNF1, NDMCNF2, & NDMCPEA were set to '00'x  
VMACNDM        when they should not have been (and I have no notes as to
Feb  7, 2013   why I set them to null).                                 
   Thanks to Randy Schlueter, First Data, USA.                          
                                                                        
Change 31.012  Change 30.170 output CICLDR observations only when LDRFC,
EXCICLDR       Fetch count, is non-zero, but with interval statistics,  
Feb  6, 2013   a program can be fetched after the region starts up and  
               then be continually used afterwards, with LDRFC=0, so    
               those observations were not output.  The CICLDR dataset  
               exit member EXCICLDR is changed to output when LDRTU, the
               Times used Since Last Reset, is non-zero, as that is a   
               better indicator that the program was used.              
   Thanks to Tony Hirst, Wells Fargo, USA.                              
                                                                        
Change 31.011  If you specified WEEKKEEP=TYPE42: that colon caused the  
BLDSMPDB       the length of the compare to detect what data sets should
Feb  5, 2013   be kept to be incorrectly set to &complen, which was the 
               length of the input name, but instead is now set to &dlen
               which is the correct length for comparison with or       
               without the colon modifier.                              
   Thanks to Jim S. Horne, Lowe's Companies, USA.                       
                                                                        
Change 31.010  MXG 30.08-MXG 30.30.  If you selected SYSLOG MSGIDs to be
VMACTMNT       written as SMF Subtype=9 by MXGTMNT (Tape Mount Monitor),
Feb  2, 2013   reading them caused zero obs in TYPESYSL and log messages
                 MSGID NOT FOUND IN RECORD N= . . . .                   
               Change 30.230 enhanced ASMTAPE to write some JES3 event  
               SYSLOG messages as Subtype=8 so they would be output to  
               TYPESYMT, but for testing they were created as subtype 9 
               with the old ASMTAPE, and my test in VMACTMNT to output  
               them to TYPESYMT was temporarily changed to read them    
               with ELSE IF TMNTTYPE=8 OR TMNTTYPE=9, but that should   
               have been changed back to just ESLE IF TMNTTYPE=8.       
   Thanks to Paul Naddeo, Fiserv, USA.                                  
                                                                        
Change 31.009  The _STYBETF dataset sort macro was not in the _SBETA    
VMACBETA       product sort macro, so dataset BETA25 was not copied into
Jan 31, 2013   the PDB data library when TYPSBETA was used.             
                                                                        
Change 31.008 -Change 30.250 replaced hardcoded "PDB." with "&PDBMXG.." 
ANAL120        (so MXG default DDNAME is used by also easily changed,)  
Jan 30, 2013   but ANAL120 was wrong before and after, as some of its   
               datasets were expected to be in //PDB while others were  
               read from //WORK.  This change expects ALL of the TYPE120
               datasets will be in the //PDB DD data library before the 
                 %INCLUDE SOURCLIB(ANAL120);                            
               is executed, but new examples in comments show how to    
               read SMF data to create just reports or to create both a 
               WebSphere PDB and these example reports.  But these are  
               all simple PROC PRINTs and PROC MEANS and the primary    
               value is the suggested variables that might be useful as 
               a STARTING POINT for your own reports                    
                 (which I'd be happy to add to the ANAL120 member if    
                 you have a contribution to share with other MXGers).   
   Thanks to Scott Barry, SBBWorks, Inc., USA.                          
                                                                        
Change 31.007 -VMACVMXA and VMAC113.  The HIS CPU Counter variables in  
VMAC113        z/VM dataset VXPRCMFC should match those variables in the
VMACVMXA       z/OS HIS TYPE113/ASUM113 dataset, but new counters       
Jan 28, 2013   EXTND157-EXTND207 in VMACVMXA were not labeled, weren't  
               deaccumulated with DIF() function, and weren't tested for
               RESETCTR+1, and the INPUT thru 255 was changed to the    
               known maximum counter EXTND207. But then in VMAC113, I   
               discovered that variables EXTND183-EXTND207 were not     
               tested for RESETCTR+1. So the MXG QA now ensures counters
               match in TYPE113, ASUM113 and VXPRCMFC datasets.         
                                                                        
Change 31.006  Support for OAM SMF ID=85 Subtypes 90,91,92 and 93 create
EXTY8590          DDDDDD   DATASET    DESCRIPTION                       
FORMATS           TY8590   TYPE8590   LCS FILE SYSTEM ACTION            
IMAC85         Variable R859SUB contains the subtype and is formatted to
VMAC85         identify 90:WRITE, 91:READ, 92:DELETE, 93:CLEANUP events.
VMXGINIT                                                                
Jan 28, 2013                                                            
    Thanks to Neil Ervin, Wells Fargo, USA                              
                                                                        
Change 31.005 -Cosmetic.  These percentage variables in TYPE72GO        
VMAC7072        PCTDLACO PCTDLAPR PCTDLAXM PCTDLCCA PCTDLCDE PCTDLCHS   
Jan 26, 2013    PCTDLHSP PCTDLIDL PCTDLIOD PCTDLMPL PCTDLNDI PCTDLPDE   
                PCTDLPQU PCTDLQ   PCTDLSHS PCTDLSMP PCTDLSPV PCTDLSSW   
                PCTDLSVI PCTDLSWI PCTDLTDQ PCTDLTOT                     
               are now formatted 5.1 to print pretty.                   
                                                                        
Change 31.004 -RMF III, z/OS 1.13, but only with APAR OA38660, all ASI  
ASMRMFV        extensions (Service Class, Report Class, Resource Group  
VMACRMFV       and Workload) are incorrect, because that APAR inserted  
Jan 28, 2013   72 at the end of the base segment; record version is now 
               '16'x, but only '12'x is in RMF Programmers Guide, so it 
               took SYS1.EYEBALL of a hex record dump to determine what 
               had been added.  Adding data at the end of a segment is  
               INCOMPAT in this case in MXG because ASMRMFV appends the 
               extensions to its record, and those new bytes moved the  
               offset to the extensions.  This circumvention corrects:  
                 IF ASIVERG3='16'x THEN INPUT +72 @;                    
               but it requires a code change and a new member.          
              -But, we see a better way: ASMRMFV will put ASIBASNL, the 
               base segment length, into the top two bytes of ASIENTMX, 
               with ASIENTMX in the low two bytes, so that VMACRMFV can 
               use ASIBASLN to locate the extensions and a future insert
               won't require an updated MXG code member nor a new value 
               for the record version test.  Using the length fields are
               almost always more robust than using product or record   
               version values in tests for existence.                   
              -NOTE: It is still possible to have missing values for    
               variables from one or more of these extensions for       
               some address spaces.  For example, address spaces with   
               no Reporting Class defined will have variable ASIRNM     
               missing and those with no Resource Group defined will    
               have variable ASIGNM missing (blank).                    
    Thanks to Warren Cravey, FMR Corporation, USA                       
                                                                        
Change 31.003  Message UNINITIALIZED VARIABLE SM1132MM: minimal impact. 
ASUM113        A test for SM1132MM was added by Change 30.274 to detect 
VMAC113        single book machines so negative values could be zeroed, 
Jan 25, 2013     IF SM1132MM='M10' OR L4RP LE 0 THEN DO; /*SINGLE BOOK*/
               but SM1132MM was only added to ID= in VMAC113, it was not
               added in ASUM113 so it was uninitialized when referenced.
               But, as I just discovered in assessing the actual impact 
               of my error, even when SM1132MM is uninitialized, that OR
               in that IF statement causes the expression to be TRUE if 
               L4RP is zero or a missing  value, which is actually a    
               stronger test for single book than the "Machine Model."  
   Thanks to Chris Weston, SAS ITRM Development, USA.                   
                                                                        
Change 31.002  The CICTSQ dataset is merged into PDB.CICINTRV dataset   
VMXGCICI       but these "newish" variables in CICTSQ were not included:
Jan 24, 2013    A12SHPDF A12SHPCN A12SHRDS A12SHWTS                     
                A12TSLHT A12TSMLM A12TSMUS A12TSMAX                     
                A12TSQDL A12TSCTR                                       
   Thanks to Doug Medland, IBM Global Services, CANADA.                 
                                                                        
Change 31.001  Variable QW0141OT='AUTHORIZATION*ID*TYPE', L for ROLE or 
FORMATS        blank for User ID or Secondary Authorization ID is INPUT 
VMAC102        and kept in T102S141 Audit dataset and formatted.        
Jan 23, 2013   Formats $MGD140O now has all $MGD361O entries and formats
               MGD140P and MGD361P have the union of separate values.   
   Thanks to Tommy Grace, Nationwide Insurance, USA.                    
                                                                        
LASTCHANGE: Version 31.